commit bdd8920081974d72f71fe421acee5deb7f9d4c1c
parent ae9ec6d4ad801bb1122fc77764decca8cdd5cab3
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Thu, 1 Mar 2018 10:55:04 +0100
bindings: make a key defined as string work also in browser and viewer
Diffstat:
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/browser.c b/src/browser.c
@@ -303,6 +303,10 @@ char *do_browser(char *path)
/* Try opening and reading the selected directory. */
path = mallocstrcpy(path, filelist[selected]);
goto read_directory_contents;
+#ifdef ENABLE_NANORC
+ } else if (func == (void *)implant) {
+ implant(first_sc_for(MBROWSER, func)->expansion);
+#endif
} else if (func == do_exit) {
/* Exit from the file browser. */
break;
diff --git a/src/help.c b/src/help.c
@@ -215,6 +215,10 @@ void do_help(void)
do_findprevious();
} else if (func == do_findnext) {
do_findnext();
+#ifdef ENABLE_NANORC
+ } else if (func == (void *)implant) {
+ implant(first_sc_for(MHELP, func)->expansion);
+#endif
} else if (kbinput == KEY_WINCH) {
; /* Nothing to do. */
#endif
diff --git a/src/rcfile.c b/src/rcfile.c
@@ -458,7 +458,7 @@ void parse_binding(char *ptr, bool dobind)
/* Now limit the given menu to those where the function exists. */
if (is_universal(newsc->func))
- menu = menu & MMOST;
+ menu = menu & (MMOST | (newsc->func == (void *)implant ? MHELP : 0));
else
menu = menu & mask;