bindings: the 'all' keyword should include the browser menu always

Also for the "universal" functions (like cursor movement) and the
special 'implant' function, the 'all' keyword should include the
browser menu.

This fully fixes https://savannah.gnu.org/bugs/?57280.

Bug existed since version 3.2, commit cc01bc3e.
master
Benno Schulenberg 2019-11-22 13:18:45 +01:00
parent 4aa1678f3b
commit 1c63bf0e38
1 changed files with 2 additions and 2 deletions

View File

@ -509,10 +509,10 @@ void parse_binding(char *ptr, bool dobind)
#endif #endif
/* Handle the special case of a key defined as a string. */ /* Handle the special case of a key defined as a string. */
if (newsc->func == (functionptrtype)implant) if (newsc->func == (functionptrtype)implant)
mask = MMOST | MHELP; mask = MMOST|MBROWSER|MHELP;
/* Now limit the given menu to those where the function exists. */ /* Now limit the given menu to those where the function exists. */
menu = menu & (is_universal(newsc->func) ? MMOST : mask); menu = menu & (is_universal(newsc->func) ? (MMOST|MBROWSER) : mask);
if (!menu) { if (!menu) {
if (!ISSET(RESTRICTED) && !ISSET(VIEW_MODE)) if (!ISSET(RESTRICTED) && !ISSET(VIEW_MODE))