the last of the low-level input overhaul: make the global shortcut list
use NANO_NO_KEY to represent no key value, add the NANO_HISTORY_KEY
sentinel value, add support for many more escape sequences for those
terminals that generate them, add DB's extensibility tweaks to
do_yesno(), make ASCII 128 act like Backspace when -d is used, add
various cleanups to the low-level input functions, and make the last of
the low-level input routines use the new low-level input functions
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1599 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
diff --git a/ChangeLog b/ChangeLog
index d3fcc6b..a9eb0e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,7 @@
input, mostly adapted from the code in do_mouse() that handles
clicking on the shortcut list. New function do_mouseinput();
changes to do_mouse(). (DLR) David Benbennick: Add a few
- efficiency tweaks.
+ efficiency/extensibility tweaks.
- Modify the shortcut structure so that instead of having two
miscellaneous key values (misc1 and misc2), there is one key
value reserved for function keys (func_key) and one
@@ -18,18 +18,44 @@
readability, and eliminate use of adding 32 to values when
testing for toggles, as get_kbinput_accepted() converts toggle
values to lowercase before returning them. (DLR)
+ - Remove the workarounds for missing KEY_UP and KEY_DOWN, as
+ they appear to be holdovers of the old way of denoting the
+ search history shortcuts; if they aren't defined, KEY_LEFT and
+ KEY_RIGHT probably shouldn't work either, and all four appear
+ to be standard keys in termcap/terminfo in any case. Add new
+ special sentinel key values NANO_NO_KEY (for no shortcut key)
+ and NANO_HISTORY_KEY (for search history keys, both Up and
+ Down), modify the shortcut list to use them, and modify the
+ shortcut display routines to handle them. Also modify the
+ shortcut list code to not treat non-control character values
+ of val as Meta-sequences, and fix dependencies on that
+ behavior. (DLR)
- Hook up the verbatim input functions so that verbatim input
can be used in the edit window. New function
do_verbatim_input(); changes to do_char(). (DLR) Additional
minor tweaks to do_char() by David Benbennick.
+ - Clarify the description of the --rebinddelete option. (DLR)
- files.c:
do_writeout()
- Prompt the user if we're trying to save an existing file (and
not just a selection of it) under a different name. (DLR;
suggested by Jean-Philippe Guérard)
+ open_prevfile(), open_nextfile()
+ - For consistency with the rest of the multibuffer code, change
+ "No more open files" to "No more open file buffers". (DLR)
+ do_browser()
+ - Allow '?' to open the help browser, and readd the ability of
+ 'G'/'g' to open the "Go to Directory" prompt (which was
+ erroneously removed before), for compatibility with Pico.
+ (DLR)
- global.c:
shortcut_init()
- Allow WHEREIS_NEXT_KEY to be used in view mode. (DLR)
+- nano,c:
+ do_para_operation()
+ - Convert to use the new low-level input functions. (DLR)
+ main()
+ - Remove unused variable option_index. (DLR)
- search.c:
findnextstr(), do_replace_loop()
- Fix potential infinite loops and other misbehavior when doing
@@ -39,9 +65,40 @@
that such regexes are only found once per line. (DLR; found by
Mike Frysinger and DLR)
- winio.c:
+ get_kbinput(), get_accepted_kbinput()
+ - Don't pass in the value of the REBIND_DELETE flag anymore.
+ Instead, handle it directly inside the functions. (DLR)
get_accepted_kbinput()
- - Translate Ctrl-8 into NANO_DELETE_KEY, since it apparently is
- generated at the statusbar prompt sometimes on Linux. (DLR)
+ - Translate Ctrl-8 into NANO_DELETE_KEY (or NANO_BACKSPACE_KEY
+ if REBIND_DELETE is set), since it apparently is generated
+ sometimes even when keypad() is TRUE. (DLR)
+ - Translate KEY_SLEFT into NANO_BACK_KEY and KEY_SRIGHT into
+ NANO_FORWARD_KEY, since they are sometimes generated by
+ Shift-Left and Shift-Right. (DLR)
+ get_ascii_kbinput()
+ - Tweak to make it slightly more readable. (DLR)
+ get_verbatim_kbinput()
+ - Modify to take an extra parameter indicating if we should
+ interpret ASCII codes or not. (DLR)
+ get_escape_seq_kbinput()
+ - Expand to deal with more broken terminals that don't generate
+ keypad values. Support the escape sequences for Insert,
+ Delete, Home, End, PageUp, and PageDown, [arrow key],
+ Ctrl-[arrow key], and Shift-[arrow key] when needed in the
+ Linux console, the FreeBSD console, the Hurd console, xterm,
+ rxvt, and Eterm. Also, use get_verbatim_kbinput(), with ASCII
+ interpretation disabled, to read in the sequences. (DLR)
+ get_skip_tilde_kbinput()
+ - Removed, as it is unneeded due to the expansion of
+ get_escape_seq_kbinput(). (DLR)
+ get_mouseinput()
+ - Modify to take an extra parameter indicating if we should
+ ungetch() the key equivalents of shortcuts we click on or not.
+ (DLR)
+ do_yesno()
+ - Add a few efficiency/extensibility tweaks. (David Benbennick)
+ - Convert to use the new low-level input functions, and remove
+ two last hardcoded widths left after the above tweaks. (DLR)
- configure.ac:
- Check for glib 2.x and then 1.2.x if we need glib. (DLR)
- nano.spec.in: