This should fix the infinite loop when extracting menu names.
(setq i (+ i 1)))
(Info-goto-node target)))
-(defconst Info-menu-entry-name-re "\\(?:[^:\n]+\\|:[^,.;() \t\n]\\)*"
+(defconst Info-menu-entry-name-re "\\(?:[^:\n]+\\|:[^:,.;() \t\n]\\)*"
"Regexp that matches a menu entry name upto but not including the colon.
Because of ambiguities, this should be concatenated with something like
`:' and `Info-following-node-name-re'.")