-
Paul Eggert authored
Fix infinite loops in keyboard.c when a circular list is found in a hook, or in help-event-list, or in the argument of event-convert-list, or in a keymap where a Lucid event type list is expected, or in a menu or tab spec. * src/keyboard.c (safe_run_hooks_error, menu_bar_items) (parse_menu_item, parse_tab_bar_item, parse_tool_bar_item): Use FOR_EACH_TAIL to avoid infloop on circular lists. (help_char_p, Fevent_convert_list, lucid_event_type_list_p): Use FOR_EACH_TAIL_SAFE to avoid infloop on circular lists, when the action is idempotent so a circular list can be treated as a noncircular one.
581601e6