nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit f4a799aaec93a6e02acd53c7e7ff9c0e847c5b42
parent 35e971354392dedc306052cb2fb2f76507880d2f
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Sat,  8 Jan 2005 06:16:19 +0000

more minor shortcut-related fixes


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2244 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 8++++++++
Msrc/winio.c | 14++++++++------
2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -182,13 +182,21 @@ CVS code - - Remove v_first parameter, and go back to the old behavior of putting back the first character of the escape sequence, as it worked just as well and was less complicated. (DLR) + get_mouseinput() + - Return TRUE instead of FALSE only when we have a control key, + a prinary meta key sequence, or both. (DLR) get_shortcut() - Add a debug message. (DLR) - Take kbinput as a reference instead of a value, so that it's translated when the key is translated to its equivalent control key or meta key shortcut. (DLR) + - Return s instead of NULL only when we have a control key, a + prinary meta key sequence, or both. (DLR) get_toggle() - Add a debug message. (DLR) + bottombars() + - Initialize foo, in case a keystroke meets none of the handled + cases. (DLR) - configure.ac: - Remove specific references to control key shortcuts. (DLR) - Check for the wide version of ncurses, without which multibyte diff --git a/src/winio.c b/src/winio.c @@ -1639,12 +1639,13 @@ bool get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts) /* And put back the equivalent key. Assume that each shortcut * has, at the very least, an equivalent control key, an * equivalent primary meta key sequence, or both. */ - if (s->ctrlval != NANO_NO_KEY) + if (s->ctrlval != NANO_NO_KEY) { unget_kbinput(s->ctrlval, FALSE, FALSE); - else if (s->metaval != NANO_NO_KEY) + return TRUE; + } else if (s->metaval != NANO_NO_KEY) { unget_kbinput(s->metaval, TRUE, FALSE); - - return TRUE; + return TRUE; + } } return FALSE; } @@ -1689,12 +1690,13 @@ const shortcut *get_shortcut(const shortcut *s_list, int *kbinput, bool *meta_key = FALSE; *func_key = FALSE; *kbinput = s->ctrlval; + return s; } else if (s->metaval != NANO_NO_KEY) { *meta_key = TRUE; *func_key = FALSE; *kbinput = s->metaval; + return s; } - return s; } return NULL; @@ -3020,7 +3022,7 @@ void bottombars(const shortcut *s) keystr = _("Up"); else { #endif - char foo[4]; + char foo[4] = ""; if (s->ctrlval == NANO_CONTROL_SPACE) strcpy(foo, "^ ");