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: