fputs (buf, f); col = pad (f, 12, strlen (buf));
static void dump_menu (FILE *f, int menu){  struct keymap_t *map;  struct binding_t *b;  char buf[SHORT_STRING];  int col;  /* browse through the keymap table */  for (map = Keymaps[menu]; map; map = map->next)  {    if (map->op != OP_NULL)    {      km_expand_key (buf, sizeof (buf), map);      fputs (buf, f);      col = pad (f, 12, strlen (buf));      if (map->op == OP_MACRO)      {	if (map->descr == NULL)	{	  fputs ("macro ", f);	  col = pad (f, 35, col + 6);	  print_macro (f, COLS - col, map->macro);	}	else	{	  fputs ("macro: ", f);	  col += 7;	  if (strlen (map->macro) < (34 - col))	  {	    col += print_macro (f, 34 - col, map->macro);	    col = pad (f, 35, col);	  }	  else	  {	    if (col < 31)	      col += print_macro (f, 31 - col, map->macro);	    fputs ("... ", f);	    col += 4;	  }	  print_macro (f, COLS - col, map->descr);	}	fputc ('\n', f);      }      else      {	b = help_lookupFunction (map->op, menu);	fprintf (f, "%-22s %s\n", b ? b->name : "UNKNOWN",	      b ? _(HelpStrings[b->op]) : _("ERROR: please report this bug"));      }    }  }}