Changes between v4.1 and v4.2:
------------------------------

Benno Schulenberg (23):
      build: be more specific and avoid committing accidentally changed files
      bump version numbers and add a news item for the 4.2 release
      docs: put the 'set guidestripe' option into its alphabetical position
      options: make --breaklonglines work also when --ignorercfiles is used
      speller: do not crash by trying to free something that cannot be freed
      tweaks: adjust a few comments and some indentation
      tweaks: condense and improve a handful of comments
      tweaks: declare a function as const and let its allocated string leak
      tweaks: drop an unneeded saving and restoring of a variable
      tweaks: elide an unneeded intermediate variable
      tweaks: elide an unneeded parameter, as the function already assumes it
      tweaks: elide an unneeded variable
      tweaks: exclude a bit more code from a single-buffer build
      tweaks: remove an unneeded condition
      tweaks: remove a redundant, enclosed #ifdef
      tweaks: rename a function, to be distinct and fitting
      tweaks: rename another function, to be distinct and fitting
      tweaks: rename a variable, for a little more meaning
      tweaks: rename a variable, to distinguish it from a browser function
      wrapping: add a missing space only when the remainder will be prepended
      wrapping: compute the width of a succeeding line in the correct manner
      wrapping: improve the persistence of the prepending behavior
      wrapping: trim any trailing blanks when cursor goes to next line


Changes between v4.0 and v4.1:
------------------------------

Benno Schulenberg (85):
      bindings: add easier keystrokes for the linenumber and softwrap toggles
      bindings: disallow executing an external command when in view mode
      bindings: recognize the ^W^Y and ^W^V legacy keystrokes again
      bindings: remove the jumpy-scrolling toggle entirely
      build: add gnulib modules to the list of files with translatable strings
      build: add src/cut.c to the list of files with translatable strings
      build: don't do fuzzy matching when merging PO files against the POT file
      build: remove obsolete translations from the PO files after merging
      bump version numbers and add a news item for the 4.1 release
      display: report and catch a bad state, to prevent a possible hang
      docs: for two of the toggles, mention the new instead of the old option
      docs: give the FILES section in the man page its canonical title
      docs: mention that -b is the opposite of -w also in the latter's item
      docs: mention that M-S now toggles softwrap and M-N line numbers
      docs: put paths and filenames in italics, per 'man man-pages'
      docs: remove all mention of --finalnewline, and undefault --nonewlines
      docs: remove the AUTHOR section, per advice from 'man man-pages'
      docs: re-title the temporary section about the changed defaults
      feedback: replace an assert with a check plus error message at startup
      feedback: show a message while executing an external command
      feedback: spare the user a superfluous scaring when trying to exit
      gnulib: update to its current upstream state
      help: don't doubly list toggles that have two keys assigned to them
      indenting, commenting: ensure a partial line stays displayed properly
      justify: correctly compute the number of lines to take, to avoid a crash
      options: make --nowrap override again a contrary nanorc setting
      options: remove -f (--finalnewline); go back to auto-adding this newline
      rcfile: don't break a chain of 'else if'  [scan-build]
      rcfile: read the syntax files in alphabetical order when globbing
      speller: block the resizing signal again during an external spell check
      speller: block the resizing signal also during an integrated spell check
      speller: resizing can happen also when configured with --enable-tiny
      syntax: c: color as a type any lowercase word that ends with "_t"
      syntax: default: color in red also versions 4.x of nano
      syntax: man: add comments, and color all the safe lowercase macros
      syntax: man: anchor macros at start of line, as only then they are valid
      syntax: man: require the dot to be at start of line, not the comment
      syntax: nanorc: colorize also strings preceded by 'start=' or 'end='
      syntax: nanorc: require whitespace both before and after a quoted string
      tweaks: adjust the indentation after the previous change
      tweaks: condense a bit of copying code
      tweaks: consistently use .sp instead of .PP to insert a blank line
      tweaks: do a check up front instead of every time round the loop
      tweaks: don't bother copying the NUL byte -- it is set nine lines down
      tweaks: don't bother reallocating the data when a line gets hard-wrapped
      tweaks: don't bother reallocating the squeezed string, just terminate it
      tweaks: don't bother special-casing non-UTF8 when seeking a character
      tweaks: drop an assignment whose value is never used  [scan-build]
      tweaks: drop two 'const' qualifiers, to silence the compiler
      tweaks: free some memory before a possible error exit  [coverity]
      tweaks: free the copy of a linter message in all cases  [valgrind]
      tweaks: free the result string from an invocation error  [coverity]
      tweaks: initialize a boolean before it is referenced  [valgrind]
      tweaks: put the unblocking of SIGWINCHes in a better place
      tweaks: remove a function that is now unused
      tweaks: remove an unneeded check for NULL and its associated message
      tweaks: remove an unneeded check for NULL  [coverity]
      tweaks: remove an unpaired closing parenthesis from the NEWS file
      tweaks: remove a superfluous check for NULL plus the associated message
      tweaks: remove several unneeded bad-state checks and their messages
      tweaks: rename a cryptic type to something that makes a little sense
      tweaks: rename a function plus parameter, to stay closer to what it does
      tweaks: rename another variable, to be more descriptive
      tweaks: rename another variable, to be more fitting
      tweaks: rename an overshort type to something that makes some sense
      tweaks: rename a variable, to be more distinct and more apt
      tweaks: rename a variable, to be more distinct and more descriptive
      tweaks: rename a variable, to get out of the way for another rename
      tweaks: rename some variables, for more contrast and to match others
      tweaks: rename some variables, to be less repititious
      tweaks: rename two variables, for more contrast
      tweaks: rename two variables, to be more distinct and more fitting
      tweaks: rename two variables, to make more sense
      tweaks: rename two variables, to match others
      tweaks: reshuffle some lines, condense a comment and drop another
      tweaks: reshuffle some lines, to elide an 'if'
      tweaks: reshuffle two lines, and reword a comment
      tweaks: reword a comment, and drop an unneeded assert
      tweaks: shorten a comment to its essence
      tweaks: shorten and improve some comments, and reshuffle a few lines
      tweaks: simplify a message, and normalize the spelling of another one
      tweaks: stop doing tandem assignments (one passing through the other)
      tweaks: switch back from checking FINAL_NEWLINE to checking NO_NEWLINES
      tweaks: use a signed type for a result that could be negative  [coverity]
      unindent: ensure that a partial line gets displayed properly afterwards

Brand Huntsman (1):
      files: block the resizing signal while reading from an external command

Devin Hussey (1):
      files: initialize a variable before referencing it

Liu Hao (1):
      syntax: c: change the highlighting of preprocessor directives


Changes between v3.2 and v4.0:
------------------------------

Benno Schulenberg (190):
      bindings: change the action of <Alt+Up>/<Alt+Down> to 'scroll linewise'
      bindings: hard-bind ASCII code 0x08 (BS) to the backspace function
      bindings: make the normal scrolling keystrokes work also in help viewer
      bindings: provide usable shortcuts for prevword/nextword in tiny version
      bindings: rename 'cutwordleft' to 'chopwordleft', and similar for right
      browser, help: make <Bsp> page up also when terminfo mismatches terminal
      browser: say "Close" instead of "Exit" for the ^X shortcut
      browser: show the ^G item again in the help lines
      build: eradicate the --disable-wrapping-as-root configure option
      build: fix compilation when configured with --disable-utf8
      build: use wget over https (instead of plain rsync) to fetch PO files
      build: verify that 'pkg.m4' is available when building from git
      bump version numbers and add a news item for the 4.0 release
      copyright: update the years for significantly changed files
      copyright: update the years for the FSF
      copyright: update the years for the FSF in the documentation too
      cutting: cover the corner cases where cut commands do not cut anything
      cutting: give feedback when otherwise nothing happens
      cutting: when ^K does not actually cut anything, do not add an undo item
      display: account for horizontal scrolling when drawing the guide stripe
      display: account for zero-width characters when reserving space for '>'
      display: change the "$" continuation character to ">" and "<"
      display: dot the stripe when it's in the last column, to defeat a VTE bug
      display: ensure that spotlighted text is not treated as a prompt answer
      display: highlight the ">"/"<" continuation characters in reverse video
      display: represent half of a double-width character with "[" and "]"
      display: scroll horizontally one column earlier
      display: show "[" for half of two-column character also when softwrapping
      display: show it in title bar when starting up in restricted mode
      display: use non-breaking space instead of dot for VTE-bug workaround
      docs: add notes to draw attention to the changed defaults
      docs: adjust and extend the Pico-compatibility section in the manual
      docs: adjust for the enhancement of the default quoting regex
      docs: correct the descriptions of 'speller' and 'linter' functions
      docs: deprecate the use of morespace, smooth, nonewlines, and nowrap
      docs: describe breaklonglines, emptyline, finalnewline, jumpyscrolling
      docs: describe the four new options (-b, -f, -j, -e)
      docs: describe the new options -J, --guidestripe, and 'set stripecolor'
      docs: harmonize the style of bindable-function descriptions
      docs: mention nano's major features directly instead of referring
      docs: mention that 'cutwordleft' is bound to <Shift+Ctrl+Delete>
      docs: mention that --morespace and --smooth are obsolete and ignored
      docs: mention that 'quotestr' enables the rewrapping of comment blocks
      docs: mention three features in their proper place
      docs: remove from the FAQ some items that are no longer relevant
      docs: remove the mentioning of --disable-wrapping-as-root from the FAQ
      docs: reword and reshuffle the description of --rawsequences
      docs: say that --rebinddelete can correct both <Backspace> and <Delete>
      docs: stop implying that nano wants to be fully compatible with Pico
      docs: stop saying that --fill switches on automatic hard-wrapping
      docs: suggest a setting for 'stripecolor' in the sample nanorc
      docs: update the links in the FAQ to the mailing-list info pages
      feedback: complete the removal of some superfluous words
      feedback: make two error messages better match the option
      feedback: remove some superfluous words from Undid/Redid messages
      files: retain a Shift-selected region when switching between buffers
      gnulib: update to its current upstream state
      help, docs: say "Delete" when things don't go into the cutbuffer
      help: don't advertise ^S and ^Q when --preserve is used
      help: don't list the obsoleted -O and -S options in the --help output
      help: don't list the unbound <Alt+Up> and <Alt+Down> in the tiny version
      help: in the tiny version, don't list an option that is the default
      help: reword the description of ^U to avoid the impression of "Undo"
      help: reword the tags for deleting a word left and right
      justify: correctly detect when we've reached end of buffer
      justify: extend the quoting regex, to cover more types of comments
      justify: move the check for a bad quoting regex to a better place
      menus: don't show ^S and ^Q in the help lines in the tiny version
      menus: move the paragraph-jumping functions from Search to Goto-Line
      menus: put the ^T toggle in Search in the same position as in Goto-Line
      menus: remove the ^Y and ^V shortcuts from the Search menus
      new feature: option --guidestripe that shows a vertical guiding bar
      options: actually rename --rebindkeypad to --rawsequences (-K)
      options: add -b, --breaklonglines, the counterpart of --nowrap
      options: add -e, --emptyline, the counterpart of --morespace
      options: add -f, --finalnewline, the counterpart of --nonewlines
      options: add -j, --jumpyscrolling, the counterpart of --smooth
      options: disable hard-wrapping and automatic newlines by default
      options: let --fill no longer imply automatic hard-wrapping
      options: make -d (--rebinddelete) work without -K (--rebindkeypad)
      options: make --rawsequences disable --mouse, to prevent entering junk
      options: rename long version of -K from --rebindkeypad to --rawsequences
      options: stop recognizing and ignoring -b, -e, -f, -j, and -q
      options: stop recognizing and mentioning --quiet and 'set quiet'
      options: warn when option -O or -S is given, and ignore them
      prompt: trim a double-width character at the screen's edge
      rcfile: add 'stripecolor' for changing the color of the guiding stripe
      rcfile: add the options that correspond to -b, -f, -j, and -e
      rcfile, docs: remove deprecated forms of two options and five bindables
      rcfile: don't report an error when the globbing pattern matches nothing
      rcfile: reject an attempt to bind ^[
      rcfile: when a keystroke is rebound, don't bother unbinding it
      rcfile: when an old flag is unset, set the corresponding new flag
      rcfile: when rebound, DO unbind a keystroke from its earlier function
      startup: check again for a Linux console after reading all files
      startup: check that a backup directory is valid also when backups are off
      startup: improve two error messages by mentioning the invalid operand
      syntax: nanorc: stop coloring 'unset fill ...' as if it were valid
      syntax: tcl: colorize comments normally, not with a background hue
      text: turn the mark off when justifying, to not confuse an undo
      tweaks: add a consistency check plus a corresponding warning
      tweaks: add an alias for a string variable, so the code makes more sense
      tweaks: add deprecation comments to the four superseded options
      tweaks: add two comments, and reduce the scope of another variable
      tweaks: adjust indentation after previous change, and rename a parameter
      tweaks: adjust the indentation after the previous change
      tweaks: avoid parsing the same character twice
      tweaks: calculate the length of a completion word in a more direct way
      tweaks: change do_para_end() to not step beyond end of paragraph
      tweaks: condense a comment, and drop two others
      tweaks: condense a couple of comments and rewrap a few lines
      tweaks: condense a handful of comments
      tweaks: condense and correct a comment
      tweaks: condense and improve a couple of comments
      tweaks: condense and improve a handful of comments, and rewrap two lines
      tweaks: condense the logic of find_paragraph()
      tweaks: condense two regexes in the Tcl syntax, and add a comment
      tweaks: correct a comment typo, and trim a few other comments
      tweaks: don't bother executing two functions that are empty
      tweaks: don't bother special-casing non-UTF8 when checking for a blank
      tweaks: don't bother trying to draw characters beyond the screen's edge
      tweaks: don't bother zeroing the x position when doing a full justify
      tweaks: don't pass a pointer when a boolean is expected
      tweaks: elide a function that is called just once
      tweaks: elide an unneeded intermediate variable
      tweaks: elide a one-line function that is used just twice
      tweaks: elide a parameter -- do the NULL checks in the caller
      tweaks: elide a parameter that is always TRUE
      tweaks: elide a tiny function by making a variable global
      tweaks: elide a variable that is a copy of another
      tweaks: elide two unneeded intermediate variables
      tweaks: escape hyphens that must be hard hyphens in the man pages
      tweaks: exclude the guide-stripe code from the tiny version
      tweaks: hard-bind ASCII DEL in a slightly more economical way
      tweaks: improve a comment, and add an intermediate variable for clarity
      tweaks: improve a comment, to better match the changed code
      tweaks: improve and condense some comments, and remove an unneeded one
      tweaks: make an assignment only when the option is valid, like elsewhere
      tweaks: move declaration of variable that does not need to be global
      tweaks: move the character/word-deletion functions to a better location
      tweaks: move the check for beginning-of-paragraph to a better place
      tweaks: move the checks for git and gettext to a far earlier point
      tweaks: reduce a bunch of repetitious comments to their essence
      tweaks: reduce the scope of a variable, and rename it
      tweaks: reduce the scope of two variables, and rename one of them
      tweaks: reduce two parameters to a single one by summing them
      tweaks: refer to the magic line as "magic line", not as "magicline"
      tweaks: remove a superfluous check for a special case
      tweaks: remove a superfluous incrementing and decrementing of a variable
      tweaks: remove a variable that is no longer used
      tweaks: remove two tag definitions that are no longer needed
      tweaks: rename a function for aptness, and two variables for shortness
      tweaks: rename a function, to be simpler and more accurate
      tweaks: rename and invert a function, to avoid double negatives
      tweaks: rename an overlooked variable from a single letter to a word
      tweaks: rename a parameter plus a variable, and reshuffle an assignment
      tweaks: rename a struct element, to make sense
      tweaks: rename a symbol, to match its corresponding option
      tweaks: rename a type, to make more sense
      tweaks: rename a variable, because it also serves as "last line"
      tweaks: rename a variable, elide another, and adjust two comments
      tweaks: rename a variable, to be more distinct
      tweaks: rename four functions, to make more sense
      tweaks: rename some variables from a single letter to meaningful word
      tweaks: rename some variables, to match others that have the same task
      tweaks: rename three functions and two symbols, to match the new wording
      tweaks: rename three variables, and reshuffle two declarations
      tweaks: rename two parameters to be more descriptive
      tweaks: rename two variables, to be less confusing
      tweaks: rename two variables, to be more descriptive
      tweaks: rename two variables, to indicate better what they mean
      tweaks: renumber some FAQ items, to compensate for the deleted ones
      tweaks: reorder some ifs, to reduce the average number of comparisons
      tweaks: reshuffle a bit of code, to have the exit point near the end
      tweaks: reshuffle a few lines, and condense some comments
      tweaks: reshuffle and frob a couple of comments, and reindent two lines
      tweaks: reshuffle some code, to require two fewer ifs
      tweaks: reword the description of the disadvantages of Pico
      tweaks: rewrap a line and improve a few comments
      tweaks: schedule a call of edit_refresh() instead calling it directly
      tweaks: slightly indent warnings and errors during the configure phase
      tweaks: slightly reword, for esthetics of the resulting Info document
      tweaks: split a variable into two, as they have different roles
      tweaks: switch from checking MORE_SPACE to checking EMPTY_LINE
      tweaks: switch from checking SMOOTH_SCROLL to checking JUMPY_SCROLLING
      tweaks: switch from referencing NO_NEWLINES to referencing FINAL_NEWLINE
      tweaks: switch from referencing NO_WRAP to referencing BREAK_LONG_LINES
      tweaks: word some comments more concisely
      undo: set the correct file size for a redo of a character deletion
      utils: retire the fixbounds() function -- it is no longer needed

Brand Huntsman (1):
      history: use an unfreed 'position_history' to avoid a possible crash

David Lawrence Ramsey (34):
      display: correctly trim an overshooting character from a prompt answer
      display: correct the logic for making room for the ">" character
      display: properly handle double-width characters when spotlighting
      display: properly trim double-width characters at the edit window's edge
      display: show the guide stripe for double-width/multi-byte characters
      docs: remove references to not being able to undo justifications
      input: properly handle <Escape>s followed by a shifted Meta+letter
      justify: handle the leading part when justifying a marked region
      justify: initialize a variable before making use of its value
      justify: put a mid-line marked region onto separate lines
      justify: when justifying a marked region, strip whitespace after the lead
      moving: make the generic paragraph movement functions work on any buffer
      new feature: marked text gets justified into a single, new paragraph
      options: exit on a bad quoting regex, instead of crashing later
      text: hook the new justify mechanism up to the undo system
      text: make do_justify() use the cutbuffer
      text: make find_paragraph() work on any buffer
      text: make justify_format() work on any buffer
      text: make justify_paragraph() work on any buffer
      text: prepare to make find_paragraph() work on any buffer
      text: properly check again for no paragraphs after the current line
      text: remove the old unjustify mechanism, to prepare for the new justify
      tweaks: adapt find_paragraph()/justify_paragraph() for multiple quotes
      tweaks: adjust indentation after the previous commit
      tweaks: adjust some indentation after the previous change
      tweaks: normalize the indentation, and remove unneeded braces
      tweaks: remove unnecessary variable initializations
      tweaks: rename a variable, to prepare for its new role
      tweaks: split justify_paragraph() into three separate functions
      tweaks: swap the names of the variables 'wrap_at' and 'fill'
      tweaks: use proper variable types in the word-completion functions
      undo: after undoing a cut, don't remove the magicline if we're on it
      undo: set and check 'xflags' in a bitwise manner
      undo: when undoing a cut, remove also the magicline if it added one


Changes between v3.1 and v3.2:
------------------------------

Benjamin Mintz (1):
      syntax: python: do not highlight 'print' and 'exec' in Python 3

Benno Schulenberg (87):
      bindings: allow using <Enter> to exit from the linter
      bindings: allow using ^X to exit from the linter
      bindings: drop M-| as a keystroke for 'cutwordleft' -- set it free again
      bindings: in tiny version with help, don't show unfunctional M-◀ and M-▶
      bindings: make <Alt+Up> and <Alt+Down> work also on a Linux console
      bindings: make the linter separately accessible, through M-B by default
      bindings: make the Shift+arrow keys work by default on more terminals
      bindings: no longer bind F13 and F14 and F15
      bindings: recognize ASCII DEL as backspace also in viewer and browser
      bindings: recognize <Ctrl+Shift+Delete> also on a Linux console
      bindings: rename 'prevhistory' to 'older' and 'nexthistory' to 'newer'
      bindings: stop binding <Bsp> to do_backspace() in the browser menu
      bindings: when implanting a string, make sure to use positive values
      build: exclude scrolling functions only from tiny version without help
      build: fix compilation again when configured with --enable-tiny
      build: fix compilation when configured with --disable-multibuffer
      build: verify that --enable-tiny compiles before allowing a release
      bump version numbers and add a news item for the 3.1 release
      debug: report for which modified editing keys ncurses has no keycode
      display: correct a mistaken label in the help lines of the browser
      display: ensure that the help lines are shown when in linting mode
      display: let the title bar show when nano is in linting mode
      display: show the cursor also in a help text (when --showcursor is used)
      display: use a different color when showing a linting message
      docs: document the slightly changed workings of the --view option
      docs: give suggestions for alternative key bindings in the sample nanorc
      docs: remove a no-longer-needed suggestion from the sample nanorc
      docs: update the description of -R/--restricted, as it now reads nanorc
      docs, usage: mention that --showcursor now covers help texts too
      feedback: give proper message for ^R when combining --view & --restricted
      gnulib: update to its current upstream state
      help: add a relevant explanatory text for the linter
      help: move the linter to the end, to restore pairing in the help lines
      help: pull "Older" and "Newer" into view on an 80-column terminal
      help: restore the blank line between manipulation and position stuff
      help: show <PgUp> and <PgDn> instead of F7 and F8 for pagewise scrolling
      help: show the keystroke <Ctrl+Shift+Delete> as "Sh-^Del"
      linter: allow using <Ctrl+Up> and <Ctrl+Down> to jump to other message
      linter: do not pause when there are no messages for unopened files
      linter: for "first"/"last", reshow actual message after a short pause
      options: --ignorercfiles is now available in restricted mode
      options: let view mode activate "multibuffer" to allow viewing more files
      speller: remove a pointless message -- it is never seen
      startup: allow reading nanorc in restricted mode, to permit customization
      syntaxes: remove several redundant end-of-line anchors from regexes
      tweaks: add a comment, and correct an indentation
      tweaks: add two more translator hints
      tweaks: capitalize the word "nano" when at the start of a sentence
      tweaks: change a bunch of URLs to use 'https' instead of 'http'
      tweaks: condense a handful of comments, and drop an assert
      tweaks: condense another bit of code
      tweaks: define a symbol to make the code itself a little simpler
      tweaks: don't bother asking ncurses for keycodes for shifted Left/Right
      tweaks: drop a check for the needle (the search string) being empty
      tweaks: drop the checking of two flags that can no longer be toggled
      tweaks: elide a function that is used just once and is a oneliner
      tweaks: elide a wrapper function that is no longer useful
      tweaks: exclude word-deletion keystrokes from the tiny version
      tweaks: fold a few pairs of regexes into each other
      tweaks: group a series of related variables together
      tweaks: improve two comments, and reshuffle a line for consistency
      tweaks: include an extra function call only where it is needed
      tweaks: move all the function keys to the end of the shortcuts list
      tweaks: move some calls of edit_redraw() to where they are needed
      tweaks: redefine MMOST to exclude MBROWSER, to simplify the bindings
      tweaks: reduce some repetitious and superfluous comments to just one
      tweaks: remove a check that was made redundant by the previous commit
      tweaks: remove a now-unused parameter from four functions
      tweaks: remove an unneeded check for NULL, and rename a parameter
      tweaks: remove a stray file that was accidentally comitted
      tweaks: remove some old debugging code
      tweaks: rename a bunch of variables, to make it clearer what they contain
      tweaks: rename a flag, to match the name of the option
      tweaks: rename a variable, to be a bit more fitting
      tweaks: renumber a couple of symbols, and reshuffle a bit of code
      tweaks: reorder some code to put backward motion before the forward one
      tweaks: reshuffle a couple of conditions, to group things better
      tweaks: reshuffle some conditions, putting the least likely one first
      tweaks: reshuffle some lines to get standard order (first up, then down)
      tweaks: reshuffle some lines, to put things in order of option name
      tweaks: snip trailing whitespace that ended with a non-breaking space
      tweaks: stop setting and requiring the Meta flag for special keycodes
      tweaks: swap and reword two bullet points in the rnano manpage
      tweaks: there is no reason to block SIGWINCHes while waiting for speller
      undo: move another piece of checking to the two places that need it
      undo: move some special checking code to the one place that needs it
      wrapping: make the --fill option override 'set fill' again

Brand Huntsman (5):
      bindings: hard-bind the zap function to M-Del (Alt+Delete)
      display: make all dying messages end in a newline
      linter: throttle "first"/"last" message on repeated key presses
      new feature: a bindable 'zap', to erase text without changing cutbuffer
      options: add --zap, that makes <Bsp> and <Del> erase a marked region

David Lawrence Ramsey (16):
      display: do spotlighting as part of drawing the screen
      docs: update rnano manpage, as -R/--restricted now reads nanorc
      input: don't detect <Ctrl+Shift+Delete> on Linux console in tiny version
      input: properly consume a modified Delete key also in the tiny version
      input: properly recognize Alt+Delete when using -K/--rebindkeypad
      input: recognize some escape sequences for <Shift+Delete>
      speller: restore the mark coordinates slightly later
      syntax: nanohelp: properly color the keystroke "Sh-^Del"
      tweaks: don't define controldelete or controlshiftdelete in tiny version
      tweaks: join two lines, and add a clarifying comment
      tweaks: move the justifying of a single paragraph into its own function
      tweaks: normalize the indentation of the shuffled code
      tweaks: reshuffle some code to avoid several checks for having justified
      tweaks: simplify by using a 'do/while' loop instead of 'while (TRUE)'
      weeding: remove the 'active' parameter from spotlight()
      wrapping: make relative fill values work again also for screen resizes


Changes between v3.0 and v3.1:
------------------------------

Benno Schulenberg (13):
      bindings: bind ASCII DEL during startup instead of repeatedly at runtime
      bindings: make ^H rebindable also on NetBSD, FreeBSD and macOS
      bindings: when Ctrl+Shift+Delete has no keycode, don't use KEY_BSP
      bump version numbers and add a news item for the 3.1 release
      input: keep the cursor in edit window after message, also on NetBSD
      input: recognize the sequences for Ctrl+Shift+Delete on xterm and urxvt
      main: allow toggling all editor features when in view mode
      suspension: don't try to show the cursor position when going to sleep
      syntax: sh: let the header regex match also busybox shell scripts
      tweaks: condense a bit of code
      tweaks: remove a superfluous comment and a redundant assignment
      tweaks: rename a variable to be special and distinct
      tweaks: sharpen an optimization, to allow DEL to be a shortcut

Liu Hao (1):
      search: disallow switching to the Replace prompt when in view mode


Changes between v2.9.8 and v3.0:
--------------------------------

Benno Schulenberg (113):
      bindings: bind M-Q to 'findprevious' by default, and M-W to 'findnext'
      bindings: hard-bind <Ctrl+Shift+Delete> to 'cutwordleft'
      bindings: make ^Q and M-Q available also in the help viewer
      bindings: move the noconvert toggle from the main to the insert menu
      bindings: reassign the M-| keystroke to 'cutwordleft' by default
      bindings: remove backup and new-buffer toggles (M-B, M-F) from main menu
      bindings: remove the More-Space toggle entirely
      bindings: remove the 'searchagain' function entirely
      bindings: rename two bindable functions: copytext to copy, uncut to paste
      bindings: unassign the M-? keystroke, to free it up for future use
      build: add the release script to the repository
      build: fix compilation again when configured with --enable-tiny
      build: fix compilation when configured with --enable-tiny
      build: verify that 'msgfmt' is available when building from git
      bump version numbers and add a news item for the 3.0 release
      chars: make the UTF-8 case ever so slightly faster by eliding an 'if'
      chars: speed up the counting of string length for the plain ASCII case
      chars: speed up the parsing of a character for the plain ASCII case
      completion: when the cursor is not after a word fragment, say so
      cut: concentrate the logic for clearing the cutbuffer mostly in one place
      cutting: when deleting whole words, don't join lines unexpectedly
      debug: add some code to time the performance of get_totsize()
      docs: improve a comment about rebinding <Backspace>
      docs: mention that also Ctrl increases the stride when selecting text
      docs: mention that "normal" can be used to give things the default color
      docs: mention that the 'formatter' command has been superseded
      docs: reshuffle a bindable function to a slightly better position
      docs: say that 'cutwordright' is now bound to <Ctrl+Delete> by default
      docs: slightly reword the description of four bindable functions
      docs: the 'noconvert' bindable function was renamed to 'flipconvert'
      dropping a feature: remove the ability to use the 'formatter' command
      easter: show the crawl only when there is room enough for the lines
      files: add the file format on the status bar when switching buffers
      filtering: wait for the data-sending process to terminate too
      gnulib: update to its current upstream state
      help: for ^R^X, mention that the buffer can be piped to the command
      help: move "Search Again" away from "Find Next" and "Find Previous"
      input: consume the whole escape sequence for modified PgUp and PgDn keys
      input: fully consume modified PgUp and PgDn keys also in the tiny version
      input: ignore any <Escape>s before a valid command keystroke
      input: stop <Alt+Insert> from entering "3~" into the buffer
      input: stop a modified Delete key from entering stuff into the buffer
      mouse: put the row/column arguments in the proper order  [coverity scan]
      prompt: concentrate manipulations of 'statusbar_x' into a single file
      prompt: remove redundant redrawings of the prompt bar
      rcfile: allow to rebind the Cancel function in the yesno menu
      rcfile, docs: no longer recognize nor mention 'set backwards'
      rcfile: do not accept rebinding F0 nor function keys above F16
      rcfile: ensure that in the yesno menu Cancel is bound to some keystroke
      rcfile: explicitly check for disallowed keywords in included files
      rcfile: reject things like "M-Del" and "^{" as invalid key names
      rcfile: when a vital function is not mapped, mention in which menu
      search: include 'findprevious' and 'findnext' in the tiny version
      signals: don't call a print routine in a signal handler
      speller: do not replace the text when the temporary file did not change
      startup: don't overwrite rcfile error messages on a Linux console
      startup: show the correct number of lines when opening multiple files
      syntax: awk: recognize any {g,m,n,}awk script also by its shebang line
      syntax: default: colorize also two-digit and capitalized nano versions
      syntaxes: remove all traces of the 'formatter' command
      syntax: nanorc: recognize 'yesno' as a valid menu to bind/unbind keys in
      syntax: nanorc: show ^@ as validly rebindable, but not any ^digit
      syntax: python: avoid coloring the three special values inside strings
      text: add auto-whitespace to the file size after creating the undo item
      tweaks: adjust indentation after the previous change
      tweaks: adjust one more translator hint, for removed toggles
      tweaks: adjust some translator hints for past changes, and add two more
      tweaks: adjust two comments, to be more accurate and general
      tweaks: avoid dereferencing a pointer when it is NULL  [coverity scan]
      tweaks: close a temp file only when descriptor is valid  [coverity scan]
      tweaks: correct a comment, rewrap a line, and drop some debugging stuff
      tweaks: delete some old debugging code that no longer seems useful
      tweaks: don't bother having debug code that deallocates all memory
      tweaks: don't call va_start() without calling va_end()  [coverity scan]
      tweaks: drop a condition that has been made redundant two commits ago
      tweaks: drop some old debugging code
      tweaks: elide a bunch of unneeded constant strings
      tweaks: elide a function that is used just once
      tweaks: elide another function that is used just once
      tweaks: elide an unneeded/duplicate variable
      tweaks: elide a one-line function -- no, a half-line function
      tweaks: elide a subfunction that is used just once
      tweaks: exclude a global flagging variable when it is not needed
      tweaks: exclude the file-prepending code from the tiny version
      tweaks: fix a pasting error from a month ago
      tweaks: implement the name-to-menu function in another manner
      tweaks: improve a couple of comments in the sample nanorc
      tweaks: improve a translator hint and some other comments
      tweaks: move a call to where it will be executed  [coverity scan]
      tweaks: normalize the indentation after the previous change
      tweaks: properly escape "\" in a man page and "@" in a texi document
      tweaks: recognize escape sequences of modified Ins/Del more precisely
      tweaks: reduce the counting of characters to just the needed function
      tweaks: remove a redundant "struct" word, and replace it in comments
      tweaks: remove a superfluous condition and a redundant refresh
      tweaks: remove redundant braces and conditions after the previous change
      tweaks: remove some braces that are now superfluous
      tweaks: remove some ineffectual parts from header-line regexes
      tweaks: remove the superfluous calls that reset the mbtowc() state
      tweaks: remove two needless words, and split up a changed text further
      tweaks: remove two superfluous assignments
      tweaks: rename a constant, to match what it actually means
      tweaks: rename a function and place its call better
      tweaks: rename a function to better match its counterpart
      tweaks: rename a function, to better state what it does
      tweaks: rename a variable and a function, for more clarity
      tweaks: rename a variable, to better match its task
      tweaks: reshuffle some lines, in order to elide one
      tweaks: reshuffle the order of the bindings, for help-line esthetics
      tweaks: show "Space" and "Bsp" in the help text of the browser
      tweaks: slightly improve error message when vital function is unmapped
      tweaks: use a shorter message, because when the screen is small...
      undo: differentiate between general filtering and spell checking

Brand Huntsman (4):
      input: give feedback for all unbound keys also in the help viewer
      statusbar: elevate three messages to an ALERT, to make them more visible
      tweaks: correct four spaces of indentation to a tab, in two places
      tweaks: remove the 'bright' field from the colortype struct

David Lawrence Ramsey (13):
      bindings: make "n" work again in file browser and help viewer
      bindings: make ^Q start a backward search also in the file browser
      docs: mention that "Ins" and "Del" are valid rebindable keys
      justify: verify being in a paragraph before trying to find its beginning
      speller: hook up a full alternative spellcheck to the undo system
      speller: hook up a marked-text alternative spellcheck to the undo system
      speller: make replace_buffer() use the cutting functions directly
      speller: make replace_marked_buffer() use the cutting functions directly
      undo: actually enable undoing/redoing an alternative spellcheck
      undo: always initialize the 'newsize' element in the undo struct
      undo: position the cursor properly when undoing/redoing magicline cuts
      undo: restore the cursor position when a cut and paste are paired
      undo: store the correct cursor position after a paired cut+insert

Devin Hussey (2):
      files: speed up reading by using getc_unlocked() instead of getc()
      syntax: sh: recognize more file extensions and header lines

Marco Diego Aurélio Mesquita (1):
      input: erase the next word when Ctrl is held while pressing Delete

Mark-Weston (2):
      build: fix compilation when CC=tcc
      syntax: lua: do not color strings inside comments, and add a linter


Changes between v2.9.7 and v2.9.8:
----------------------------------

Benno Schulenberg (64):
      build: fix compilation failure when configured with --enable-tiny
      build: fix compilation when configured with --disable-justify
      build: fix compilation when configured with --disable-multibuffer
      build: fix compilation with --enable-{tiny,help,multibuffer}
      bump version numbers and add a news item for the 2.9.8 release
      copyright: update the years for significantly changed files
      credits: sort the names roughly according to amount of influence
      docs: add a missing double quote in the default brackets string
      docs: describe what constitutes a paragraph
      docs: improve description of 'speller' and related bindable functions
      docs: improve the description of --nonewlines, and properly sort it
      docs: improve the description of the --autoindent option
      docs: make quotes around regexes bold, as they are part of the command
      docs: mark the filtering of text through an external command as done
      docs: register Marco as the author of the filtering feature
      docs: remove mention of the quotestr for when regex support is lacking
      docs: remove quotes around the name of a syntax -- they are not needed
      docs: thank Kamil for his bug fixes, and update an email address
      docs, usage: make it clear that the argument of --quotestr is a regex
      files: give feedback during writeout also when prepending or appending
      filtering: pair the cut and the insert, so they can be undone together
      gnulib: update to its current upstream state
      justification: find the beginning of a paragraph in a better way
      justification: limit the amount of recursion to prevent a stack overflow
      justification: recognize indented paragraphs also without --autoindent
      justification: when leading whitespace exceeds fill width, wrap anyway
      linter: don't try to access absent stat info, as that gives a crash
      linter: make sure that the margin is updated before displaying a buffer
      linter: make sure the shortcuts bar will redrawn when exiting early
      main: add "/" to the quoting regex, to allow justifying //-comments
      main: interpret only a double slash (//) as quoting, not a single one
      rcfile: don't crash when a bind to a string lacks the closing quote
      startup: provide a hint for people unfamiliar with the ^char convention
      syntaxes: condense and/or correct some extension regexes
      syntax: makefile: color all keywords that GNU make recognizes
      tweaks: adjust a translator hint
      tweaks: avoid an unused-variable warning with --enable-tiny
      tweaks: avoid a warning with --enable-{tiny,help,multibuffer}
      tweaks: condense a comment, and elide an unneeded 'if'
      tweaks: condense some repetitious comments, and check before assigning
      tweaks: condense two statements into one, and elide a 'break'
      tweaks: elide a function that is called just once
      tweaks: elide another function that is called just once
      tweaks: exclude an unneeded 'if' from the single-buffer version
      tweaks: frob a couple of comments
      tweaks: frob some comments, and rename two parameters to make sense
      tweaks: give some continuation lines a more obvious indentation
      tweaks: improve a couple of comments, and reshuffle a group of lines
      tweaks: make better use of an existing variable
      tweaks: make better use of an intermediate variable
      tweaks: reduce the abundance of the word 'toggle' in the Info manual
      tweaks: remove a superfluous assignment -- the lead length never changes
      tweaks: remove two superfluous checks, after making one of them so
      tweaks: rename a function, for more aptness and extra contrast
      tweaks: rename a variable, for contrast, and improve two comments
      tweaks: rename a variable, to give it some meaning
      tweaks: rename two variables, to better fit their tasks
      tweaks: reshuffle a condition, and adjust a comment and some indentation
      tweaks: reshuffle a couple of assignments
      tweaks: simplify the determining of the prefix for justified lines
      tweaks: stop decreasing both the iterator and the limit of a loop
      tweaks: use a more meaningful variable name, and avoid a distant 'else'
      wrapping: use "smart" autoindenting only when hard-wrapping is enabled
      wrapping: when autoindenting, use indentation of next line as example

Brand Huntsman (1):
      tweaks: avoid two unused variable warnings when NLS is disabled

Cristian Caloghera (1):
      syntax: makefile: recognize also an all-lowercase makefile name

David Lawrence Ramsey (3):
      bindings: add the "flippipe" bindable function
      tweaks: avoid an unused variable warning with --enable-tiny
      tweaks: fix some grammar plus a typo in the comments

Marco Diego Aurélio Mesquita (2):
      linter: check all open buffers, instead of just the next one
      new feature: allow piping (selected) text to an external command


Changes between v2.9.6 and v2.9.7:
----------------------------------

Benno Schulenberg (21):
      bindings: add the 'linenumbers' bindable function
      bindings: rename constupdate to constantshow, cuttoend to cutfromcursor
      bump version numbers and add a news item for the 2.9.7 release
      docs: add notes about deprecated options and function names
      docs: break down some old improvements further per version
      docs: note a small difference with Pico in the default hard-wrapping
      docs: say thanks to three recent translators, and re-sort two others
      docs: slightly improve the description of the file browser in the manual
      main: clear a spurious error number, to avoid irrelevant messages later
      prompt: when asking for Yes/No/All, recognize also UTF-8 letters
      scrolling: only do a scroll when the edit window has more than one row
      signals: don't trap segfault/abort when envvar NANO_NOCATCH is defined
      signals: exclude the crash handler from the tiny version
      startup: suggest using ^D to finish reading from standard input
      tweaks: improve a couple of comments
      tweaks: normalize indentation and whitespace after previous changes
      tweaks: put check for -h and -l options in their alphabetical positions
      tweaks: put Yes/No/All in a consistent order (for the translators)
      tweaks: rename two variables, to be more descriptive
      tweaks: sort an option better, and reschedule a removal
      tweaks: use symbolic names instead of puzzling TRUE and FALSE

Devin Hussey (1):
      signals: upon a crash, save changed buffers and reset terminal state

Mark-Weston (1):
      new feature: an option to make the 'nextword' function stop at word ends


Changes between v2.9.5 and v2.9.6:
----------------------------------

Benno Schulenberg (39):
      build: do not prefix an alternative rcfilename with a dot
      build: fix compilation when configured with --disable-help
      bump version numbers and add a news item for the 2.9.6 release
      command-execution: do not crash when opening the pipe would fail
      completion: correctly do a signed comparison, to avoid a segfault
      files: prevent a hang when a call to sigaction() would fail
      formatting, linting: redetermine the argument list for every run
      gnulib: update to its current upstream state
      memory: use a reallocation to reduce the amount of leakage
      prompt: recognize Yes/No/All in English when the locale gives no match
      rcfile: skip color commands where some color name is invalid
      scrolling: don't redraw entire edit window when cursor goes offscreen
      search: always go forward by default, also when coming from Goto-Line
      search: use a better value to mean "nothing was typed"
      speller: don't add an extra newline when saving the text to a tempfile
      syntax: po: highlight also other escaped characters, not just \n
      syntax: sh: colorize options only when they are preceded by whitespace
      tweaks: adjust the translator hint about Yes/No/All
      tweaks: correct or improve a couple of comments
      tweaks: elide a function that is called just once
      tweaks: fix a typo, remove a blank line, and improve some comments
      tweaks: frob a couple of comments
      tweaks: group some more of the empty functions together
      tweaks: improve some comments, and exit with nonzero status upon error
      tweaks: improve the ordering of a couple of functions
      tweaks: invert two conditions and reshuffle, to reduce duplication
      tweaks: move a function to its proper location
      tweaks: move a function to its proper location
      tweaks: rearrange a few if statements more symmetrically
      tweaks: remove the group handling for undoing/redoing (un)indents
      tweaks: rename a function, to be more distinct from its caller
      tweaks: rename a function, to be more fitting and descriptive
      tweaks: rename a variable, for clarity
      tweaks: rename a variable, to be a bit more fitting
      tweaks: rename a variable, to be more clear and to match another
      tweaks: rename a variable, to match another and to be more visible
      tweaks: reshuffle two declarations
      tweaks: set the correct flags just once for each spell-fixing session
      tweaks: use meaningful names instead of puzzling values

Liu Hao (1):
      replacing: always clear the backwards flag for ^\, just like for ^W


Changes between v2.9.4 and v2.9.5:
----------------------------------

Benno Schulenberg (45):
      build: exclude more things when configured with --disable-multibuffer
      build: fix compilation again when configured with --enable-tiny
      build: fix compilation when configured with --disable-multibuffer
      build: fix compilation with --enable-{tiny,help,multibuffer}
      bump version numbers and add a news item for the 2.9.5 release
      cut: avoid calling renumber() on what might be NULL
      docs: clarify how the Linux console is deficient: in the arrow keys
      docs: clarify what the scrollup and scrolldown bindable functions do
      docs: document the newly added color name "normal"
      docs: mention in the FAQ that <Shift+Insert> pastes from the clipboard
      files: prevent an infinite loop when reading from standard input fails
      files: prevent the undo of reading a file into a new buffer
      help: describe the Scroll-Up and Scroll-Down commands more precisely
      help: do not reserve space for line numbers, as they are absent
      linting: drop messages for other files when configured for one buffer
      memory: plug a leak, by actually freeing a discarded undo struct
      scrolling: first move the cursor before pushing current chunk offscreen
      scrolling: let Scroll-Up/Down keep the cursor in the same text position
      selecting: don't cancel a softmark when just scrolling the screen
      small addition: understand color name "normal" to mean the default color
      syntax: sh: color also the 'cut', 'head', 'tail', and 'sort' commands
      syntax: sh: color options distinctively, and color also long options
      syntax: sh: uncolor "tar" when it's part of a filename
      tweaks: adjust a couple of types, to reduce the number of warnings
      tweaks: adjust or correct some comments, and rename a function
      tweaks: adjust the indentation after the previous changes
      tweaks: bundle some settings for a new buffer
      tweaks: change a parameter of open_buffer() and invert its logic
      tweaks: condense some code, to remove a bit of duplication
      tweaks: drop a handful of unhelpful asserts
      tweaks: elide an unneeded and shadowing variable
      tweaks: elide a parameter, as it's always the inverse of another
      tweaks: elide a parameter that is always 1
      tweaks: elide two parameters and thus a pair of wrapper functions
      tweaks: factor out the check for 'viewok' into its own function
      tweaks: fix a typo and adjust some wording and formatting in the FAQ
      tweaks: frob some comments plus miscellaneous other stuff
      tweaks: fuse two ifs into one
      tweaks: move an 'if' and then remove an unneeded label
      tweaks: reduce the font size of the questions in the FAQ
      tweaks: remove an inconsistent space from two pointer declarations
      tweaks: remove unneeded settings and unsettings of MULTIBUFFER
      tweaks: reshuffle some movement code, to reduce the number of conditions
      tweaks: revert commit c88a2fd9 -- the extra variable is needed
      tweaks: rewrap and amend some lines in the NEWS file

David Lawrence Ramsey (1):
      tweaks: correct several parameter types

Kamil Dudka (1):
      input: do not crash if sctofunc() returns NULL

Liu Hao (1):
      build: fix compilation error when configured with --disable-justify


Changes between v2.9.3 and v2.9.4:
----------------------------------

Benno Schulenberg (65):
      bindings: make a key defined as string work also in browser and viewer
      bindings: rename the bindable function 'gototext' to 'flipgoto'
      bindings: revert the ^/ changes, as ^/ is not always Go-To-Line
      bindings: show ^/ instead of ^_ for Go-To-Line
      build: fix compilation when configured with --enable-tiny
      bump version numbers and add a news item for the 2.9.4 release
      docs: mention that a key can be bound to a string
      docs: note also in the Info manual that text can be selected with Shift
      editing: when --smooth is used, make <Enter>-at-bottom scroll one row
      general: detect in a better way whether we're running on a Linux console
      gnulib: update to its current upstream state
      goto: avoid a segfault, by initializing 'answer' when it is NULL
      help: mention that some keys work on a region when the mark is on
      help: tweak the descriptions of ^X and ^R
      input: handle the implant() function separately also for the prompt
      input: handle the implant() function separately, as it is special
      memory: avoid a leak when toggling from Search to Goto
      memory: squeal when there is something wrong, instead of stumbling on
      new feature: allow binding a key to a string (in a nanorc file)
      prompt: disallow pasting when in restricted mode
      rcfile: allow a syntax name to be unquoted
      search: clear the existing answer when starting a new search
      search: get rid of some unneeded recursion when just toggling things
      selecting: cancel the softmark upon any attempt to move the cursor
      small addition: allow customizing the color of an error message
      syntax: color also ^/ in nano's help texts and in nanorc files
      syntaxes: remove quotes from each syntax name, and color it differently
      syntax: nanorc: color also bindings to a string as valid
      tweaks: adjust comments and indentation after the previous change
      tweaks: adjust two comments, move two declarations, rewrap three lines
      tweaks: appease valgrind concerning syscalls with uninitialized values
      tweaks: condense a comment and elide an 'if'
      tweaks: correct a typo in NEWS
      tweaks: correct a typo that broke binding a key to a string
      tweaks: do not needlessly renumber the lines in the buffer
      tweaks: don't call strcmp() to determine whether a string is empty
      tweaks: drop an assert, add a warning, and change a 'for' to a 'while'
      tweaks: drop some debugging stuff, and adjust what remains of it
      tweaks: elide another variable, to call a function less often
      tweaks: elide an unneeded variable
      tweaks: elide an unneeded variable
      tweaks: elide an unneeded variable
      tweaks: elide an unused variable and parameter
      tweaks: elide two unneeded booleans
      tweaks: exclude an unlikely error message from the tiny version
      tweaks: exclude an unlikely warning from the tiny version
      tweaks: fix a copy-and-paste error
      tweaks: make the fsfromline() call only for the undo types that need it
      tweaks: plug a memory leak when using Verbatim Input at a prompt
      tweaks: refactor the implanting of a key expansion
      tweaks: remove another superfluous check
      tweaks: remove a superfluous check
      tweaks: remove two deprecated options and six rebindable function names
      tweaks: remove two superfluous checks, and restrict two others
      tweaks: rename a parameter and a variable, to be more fitting
      tweaks: rename a variable to be more distinct and greppable
      tweaks: rename two variables, to be more meaningful
      tweaks: reshuffle some code, to be slightly less ugly
      tweaks: reshuffle some of the search-and-replace cleanup calls
      tweaks: reshuffle the undo types into mostly the same order everywhere
      tweaks: shorten the name of two record elements
      tweaks: slightly rewrap the FAQ's table of contents
      tweaks: transform a 'do' to a 'while', and reshuffle a comment
      tweaks: unabbreviate two variable names
      undo: when redoing, don't try to find a line number that might not exist

Brand Huntsman (1):
      color: remove unneeded bright comparision to prevent duplicate pairs

David Lawrence Ramsey (3):
      docs: mention that errorcolor does have default colors
      input: don't stop prepending when the user adds text via a shortcut
      tweaks: fix typo in rebindable function name

Tom Levy (1):
      syntax: go: highlight also floats with leading zeroes as valid


Changes between v2.9.2 and v2.9.3:
----------------------------------

Benno Schulenberg (65):
      build: fix compilation when configured with --enable(tiny,color,nanorc}
      build: fix compilation with --enable-tiny --enable-justify
      build: let ./configure fail (not just warn) when curses.h is missing
      bump version numbers and add a news item for the 2.9.3 release
      copyright: update the years for the FSF
      display: wipe the status bar when doing a total refresh
      docs: remove the note about needing a recent ncurses for macros to work
      docs: update the FAQ for the changed default location of history files
      docs: update the TODO file to the current state of affairs
      gnulib: update to its current upstream state
      help: don't get stuck when there is an unwrappable piece of text
      input: consume only the actual length of an escape sequence
      input: fully reset state when a three-digit character code is cut short
      input: make <Shift+Tab> do an unindent also on a Manjaro console
      input: recognize escape sequences for <Shift+PageUp> and <Shift+PageDown>
      input: recognize more escape sequences for <Shift+Home> and <Shift+End>
      input: recognize the deviant keycode for <Ctrl+End> in urxvt
      options: recognize -M and --trimblanks on the command line
      painting: look for an end match only after a start match, if any
      prompt: show whitespace only in the filename, not in the whole line
      replacing: don't skip the first character of a backwards-marked region
      search: suppress the occurrence at the cursor only when replacing
      startup: allow a named pipe as file argument when --noread is used
      startup: make an error message succinct and to the point
      startup: move the initialization of colors, so any error gets printed
      syntax: go: colorize only valid octal numbers
      syntax: lua: do not color debug.setinfo as it doesn't exist
      syntax: nanohelp: color also the Sh-Tab key combo
      tweaks: change a 'do' to a 'while', and return early to elide an 'if'
      tweaks: check for the type of terminal far earlier
