nano

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

ChangeLog (97053B)


      1 Changes between v8.4 and v8.5:
      2 ------------------------------
      3 
      4 Benno Schulenberg (44):
      5       anchor: change the aspect of any anchor to a dagger (†)
      6       bindings: always bind ^Q in the WriteOut menu, not only for --saveonexit
      7       bindings: do not list ^L twice (in main help text and help lines)
      8       bindings: let ^L just center the cursor, not cycle it -- let M-% cycle it
      9       bindings: lowercase an ASCII character in a locale-proof manner
     10       build: fix compilation for config with --enable-tiny --enable-histories
     11       build: fix compilation when configured with --disable-histories
     12       build: fix compilation when configured with --disable-utf8
     13       build: swap two linker arguments, to enable compilation on Cygwin
     14       bump version numbers and add a news item for the 8.5 release
     15       docs: add a suggested key combo for wiping all anchors to sample nanorc
     16       docs: in cheatsheet, equalize the spacing in three consecutive blocks
     17       docs: mention that --positionlog also saves the positions of anchors
     18       docs: reword the descriptions of --operatingdir and 'set operatingdir'
     19       feedback: change the appearance of anchors when they will be saved
     20       feedback: change the level of a certain message, to show it is special
     21       feedback: report the setting and removing of an anchor just once
     22       feedback: show in mini bar the presence of an anchor on the cursor line
     23       feedback: suppress "Jumped to anchor" when line numbers are active
     24       feedback: suppress "Removed anchor" when the mini bar is hidden
     25       gnulib: pull in the fix for a cross-compilation failure
     26       gnulib: update to its current upstream state
     27       history: always save the last cursor position, also for line=1,column=1
     28       history: always save the positions of any anchors
     29       history: reverse the order in the file-positions list, to latest first
     30       menus: reshuffle an item, to avoid truncating its help-line label
     31       moving: make cycling (M-%) independent from centering (^L)
     32       new feature: exit with an error status (2) for ^X^Q and ^O^Q
     33       new feature: save and restore anchors when the first line has an anchor
     34       options: accept --whitespacedisplay and 'set whitespacedisplay'
     35       syntax: default: show hard spaces with a lightgrey background
     36       syntaxes: add a license line to files that were created by Mike Frysinger
     37       syntaxes: use character classes instead of range expressions
     38       tweaks: avoid using toupper() and tolower() where easily possible
     39       tweaks: elide an auxiliary variable that is no longer needed
     40       tweaks: elide the unneeded passing around of three parameters
     41       tweaks: elide the unneeded use of an auxiliary function
     42       tweaks: in the browser, implement M-\ and M-/ in a slightly denser way
     43       tweaks: properly tag some keywords in texi doc, instead of using quotes
     44       tweaks: random unimportant edits here and there
     45       tweaks: rename 'use_utf8' to 'using_utf8', and make it a global variable
     46       tweaks: shorten a URL, and update it to use https
     47       tweaks: use reallocations, instead of new allocations plus frees
     48       tweaks: use the correct modifier, to avoid a warning on 32-bit machines
     49 
     50 Peter Michaux (1):
     51       build: add the 'm4/host-cpu-c-abi.m4' file to .gitignore
     52 
     53 
     54 Changes between v8.3 and v8.4:
     55 ------------------------------
     56 
     57 Benno Schulenberg (40):
     58       bump version numbers and add a news item for the 8.4 release
     59       copyright: update the years for the FSF
     60       docs: add a suggestion to the FAQ on how to configure nano for git
     61       docs: change two interface colors in the sample nanorc
     62       docs: improve the description of the `constantshow` bindable function
     63       docs: in the FAQ, replace an old item with an item about Byte Order Marks
     64       docs: replace a word that is better not used in the plural
     65       docs: use proper emdashes instead of double hyphens: "--" => "\(em"
     66       execute: retain what the user typed before a tool was invoked
     67       feedback: warn when the cursor sits on a Byte Order Mark (BOM)
     68       gnulib: update to its current upstream state
     69       input: adjust file browser and help viewer for changed bracketed pastes
     70       input: implement bracketed pastes in a different manner
     71       input: make bracketed paste more robust against loss of closing sequence
     72       input: remove a special-case workaround
     73       input: remove single-keycode detection from the bracketed-paste routine
     74       input: robustness is good, but dropping a key code is not a good idea
     75       input: wait a bit for "~" when bracketed-paste sequence is incomplete
     76       prompt: accept tabs in an external paste as literal tabs
     77       prompt: beep when an external paste contains a command code
     78       syntax: groff: highlight the zeroeth macro argument too
     79       syntax: man: highlight some escapes, like \& and \(em, specially
     80       syntax: po: colorize also a 'msgctxt' line, and the 'c++-format' flag
     81       syntax: po: colorize also format specifiers like "%.6f"
     82       syntax: po: colorize also format specifiers like "%<PRIu64>"
     83       syntax: po: colorize also Python's "%(name)x" format specifiers
     84       syntax: po: colorize also the %llu and %hhi format specifiers
     85       syntax: po: colorize also the Python-specific conversion specifier "%r"
     86       tweaks: add a translator hint for the three changed file-writing prompts
     87       tweaks: add missing closing quotes, as reported by `mandoc -T lint ...`
     88       tweaks: avoid running tolower() on an out-of-range value
     89       tweaks: change the man-page markup of options that take an argument
     90       tweaks: condense a fragment of code
     91       tweaks: consistently use "\fR" for switching back to normal, roman font
     92       tweaks: prevent some color keywords from getting hyphenated in man page
     93       tweaks: prevent some more keywords from getting hyphenated
     94       tweaks: remove an unwanted newline from a debugging message
     95       tweaks: remove three redundant pairs of parentheses from a nanorc regex
     96       tweaks: remove two commented-out lines and two unused variables
     97       tweaks: swap two fragments of code, to allow unwrapping a line
     98 
     99 Brand Huntsman (1):
    100       files: improve the wording of the normal file-writing prompts
    101 
    102 
    103 Changes between v8.2 and v8.3:
    104 ------------------------------
    105 
    106 Benno Schulenberg (16):
    107       build: fix a compilation error with gcc-15
    108       bump version numbers and add a news item for the 8.3 release
    109       docs: add Shift+PgUp/PgDown to the FAQ item about urxvt modified keys
    110       docs: clarify the possible effects of a misuse of braced function names
    111       docs: put a space after "|" and before "{enter}" in the sample nanorc
    112       gnulib: update to its current upstream state
    113       syntax: groff: correct the mistaken .rof extension to .roff
    114       syntax: groff: recognize also the .mom extension
    115       syntax: makefile: colorize also multiple targets
    116       syntax: markdown: accept also digit 0 in a list marker
    117       syntax: spec: colorize all canonical architecture names
    118       tweaks: add a small clarifying comment
    119       tweaks: add a translator hint
    120       tweaks: adjust another translator hint, and add two more
    121       tweaks: adjust a translator hint, and add another one
    122       tweaks: drop six unneeded casts
    123 
    124 LIU Hao (1):
    125       syntax: asm: add end-of-word anchors to the keywords
    126 
    127 Lukáš Zaoral (1):
    128       memory: avoid a leak when linter aborts after producing parsable output
    129 
    130 
    131 Changes between v8.1 and v8.2:
    132 ------------------------------
    133 
    134 Benno Schulenberg (22):
    135       bindings: at a Yes-No-All prompt, accept also ^A for "All"
    136       bindings: let the central numpad key (with Ctrl) center the current line
    137       bump version numbers and add a news item for the 8.2 release
    138       docs: do not quote the argument of 'include' statements in sample nanorc
    139       docs: mention former maintainership last among an author's contributions
    140       docs: mention the availability of ^Y, ^N, and ^A at a Yes-No prompt
    141       docs: trim stuff that is more than four years old from the changelog
    142       gnulib: update to its current upstream state
    143       macro: insert it in keystroke buffer without discarding latter's contents
    144       moving: for Alt+Home/Alt+End, refresh the screen when the mark is on
    145       syntax: autoconf: colorize the keywords 'case', 'esac', and 'ifelse' too
    146       syntax: awk: add a missing "|" between "\?" and ":"
    147       syntax: awk: colorize escape sequences specially
    148       syntax: awk: rewrite a regex more densely, and add the missing ~ operator
    149       syntax: man: colorize also the .MT .ME .EX .EE .SY .OP and .YS macros
    150       syntax: nanorc: an unquoted argument of 'include' may not contain blanks
    151       tweaks: delete three redundant checks from the undo/redo code
    152       tweaks: improve or rewrap six comments, and add two missing ones
    153       tweaks: move a condition to the only place that needs it
    154       tweaks: rename a symbol, away from an obscure abbreviation
    155       tweaks: reshuffle a seldom-used function to the end of an if-else series
    156       tweaks: unwrap three lines that don't need to be wrapped
    157 
    158 Collin Funk (1):
    159       build: update a symbol that was renamed in gnulib
    160 
    161 
    162 Changes between v8.0 and v8.1:
    163 ------------------------------
    164 
    165 Benno Schulenberg (56):
    166       bindings: let ^L put the cursor line at center, then top, then bottom
    167       build: check for the correct function in an #ifdef
    168       build: require version 0.20 of gettext for building nano from git
    169       build: use the standard `autoreconf` invocation
    170       bump version numbers and add a news item for the 8.1 release
    171       docs: add 'set colonparsing' to the sample nanorc
    172       docs: add the Alt+Home/Alt+End shortcuts to the cheatsheet
    173       docs: avert hyphenation of the technical words "ncurses" and "terminfo"
    174       docs: correct the description of --bold, as function tags are unaffected
    175       docs: document the new --listsyntaxes (-z) option
    176       docs: don't say any more that -z was removed, as it has been repurposed
    177       docs: explain the behavior of the new function `cycle`
    178       docs: explain the details of --colonparsing / -@ / 'set colonparsing'
    179       docs: extend the FAQ item about urxvt modified keys, with M-Home/M-End
    180       docs: properly escape a literal '@' in the texi document
    181       docs: remove the 'filename:linenumber' format from the synopsis
    182       files: avoid mistakenly setting the column number to a given line number
    183       files: look for digits and colons starting from the end of the filename
    184       files: when a filename with a colon and digits exists, open that file
    185       files: with --rectrict, prevent invoking the browser and toggling backups
    186       general: disable the type-ahead checking that ncurses normally does
    187       gnulib: update to its current upstream state
    188       help: regroup the `center` item, placing it with the new `cycle`
    189       help: show option -Y/--syntax in --help output also in restricted mode
    190       input: drop recognition of the urxvt escape sequences for M-Home/M-End
    191       input: make sure that a string-bind return value is non-negative
    192       input: provide for urxvt setting a high bit or sending an extra escape
    193       input: recognize the raw Xterm escape sequences for Alt+Home and Alt+End
    194       minibar: do not falsely report that a new, empty file is in Mac format
    195       moving: use edit_scroll() only when scrolling one row is enough
    196       new feature: add bindable function `cycle` that pushes cursor line around
    197       new feature: option -z lists the names of available syntaxes
    198       options: remove the deprecated synonym -$ of -S/--softwrap
    199       options: require --colonparsing/-@ to parse colon+number after a filename
    200       rcfile: remove old bindable function 'nowrap', alias of 'breaklonglines'
    201       startup: do not activate --modernbindings when name starts with "e"
    202       syntaxes: mention the original author of most of the syntax files
    203       syntax: man: colorize some of the things that manipulate hyphenation
    204       syntax: patch: recognize also the .rej extension
    205       text: do not check for <Tab> + mark while getting input but in do_tab()
    206       tweaks: add a space after a '+', for consistent formatting
    207       tweaks: discard a bracketed paste in the help viewer with fewer beeps
    208       tweaks: drop two redundant conditions
    209       tweaks: elide unhelpful occurrences of the word "will"
    210       tweaks: exclude the colon-parsing code from the tiny version
    211       tweaks: extend the deprecation period of 'set nowrap' and prefix 'bright'
    212       tweaks: implement do_center() with a single call instead of three
    213       tweaks: in FAQ, use 'id' attribute instead of empty anchor with 'name'
    214       tweaks: make a comment more accurate, and unabbreviate a variable name
    215       tweaks: make the inclusion condition for do_center() more strict
    216       tweaks: remove the now unneeded special keycode INDENT_KEY
    217       tweaks: reshuffle a declaration, adjust a comment, normalize indentation
    218       tweaks: reshuffle some lines, to put vaguely related things together
    219       tweaks: rewrap some lines, for more even lengths
    220       tweaks: simplify a condition, to match the same condition five lines back
    221       tweaks: slightly reword a phrase in the explanation of --colonparsing
    222 
    223 Jaroslav Fowkes (1):
    224       syntax: fortran: fix a typo (a missing backslash)
    225 
    226 
    227 Changes between v7.2 and v8.0:
    228 ------------------------------
    229 
    230 Andy Koppe (2):
    231       input: scroll on mousewheel events instead of moving the cursor
    232       rcfile: map the gray #rgb codes (#111 to #EEE) to the xterm grayscale
    233 
    234 Benjamin Valentin (1):
    235       new feature: interpret also <filename>:<linenumber> when opening a file
    236 
    237 Benno Schulenberg (155):
    238       bindings: allow speller and friends to be rebound also in restricted mode
    239       bindings: in the tiny version, bind M-6 only in main, not at the prompts
    240       bindings: let <Alt+Home/End> move the cursor to top/bottom of viewport
    241       bindings: let M-" place/remove an anchor, and let M-' jump to one
    242       bindings: let M-& show the ncurses version+patch, as a small Easter egg
    243       bindings: make ^F start a forward search by default
    244       bindings: make ^F start a forward search by default
    245       bindings: set up modern bindings also when binary's name starts with "e"
    246       bindings: show ^- instead of ^/ for 'flipgoto' when on a Linux console
    247       bindings: with --modern, do not let ^Q^Q quit nano without saving
    248       bindings: with --modern, use ^H for Help when the terminal allows it
    249       browser: report an error instead of crashing when the folder disappears
    250       browser: restore typing position at prompt after "^R name ^T ^F ^V ^C"
    251       bump version numbers and add a news item for the 8.0 release
    252       chars: add a helper function for stripping leading blanks from a string
    253       copyright: update the years for the FSF
    254       display: add a wnoutrefresh() call for NetBSD, to force a cursor update
    255       display: do not attempt to draw a line that is outside the viewport
    256       display: draw a new magic line rightaway when there are multiline regexes
    257       display: show the help lines down to the tiniest possible terminal size
    258       docs: add a caveat in the FAQ about bracketed pastes
    259       docs: add a clarifying note to the description of --tabstospaces
    260       docs: add an example binding for normalizing Unicode to the sample nanorc
    261       docs: add a reference to the 'help-nano' mailing list
    262       docs: add M-C and M-Z to the cheatsheet, and reshuffle for balance
    263       docs: add ^T^S (spell check) and M-S (softwrap) to the cheatsheet
    264       docs: add two examples of custom key bindings to the nanorc manpage
    265       docs: adjust an example help line in the README to the current state
    266       docs: adjust the cheatsheet for the changed meanings of ^F, ^B, M-F, M-B
    267       docs: clarify that a fileregex is matched against the absolute filename
    268       docs: delete a remark about libvte that is no longer relevant
    269       docs: describe nano more specifically as a text editor
    270       docs: document the <filename>:<linenumber> thing for cursor positioning
    271       docs: document the new bindable functions 'toprow' and 'bottomrow'
    272       docs: document the new --modernbindings option
    273       docs: fix a ten-year-old typo, reported by `correctmost`
    274       docs: improve the description of the 'flipexecute' bindable function
    275       docs: in a synopsis, use braces around a choice of required parts
    276       docs: in the sample nanorc, set the guidestripe to a soft grey
    277       docs: mention backreferences (for replacements with regular expressions)
    278       docs: mention how to get the old behavior of ^F, ^B, M-F, and M-B back
    279       docs: mention that a restricted nano does not access the history files
    280       docs: mention that 'light' background colors do not work on Linux console
    281       docs: mention that --modernbindings overrides --preserve
    282       docs: mention the changed meanings of ^F/^B and also in the texi manual
    283       docs: mention the missing two options that override --bold
    284       docs: say "mini bar", not "minibar", when referring to the actual bar
    285       docs: trim stuff that is more than five years old from the changelog
    286       docs: use a space after #, like everywhere else in the sample nanorc
    287       editing: adjust the mark before trimming redundant blanks
    288       execute: show "Older" and "Newer" in the help lines, to allow rebinding
    289       feedback: drop an unnecessary warning, to not bother the user
    290       feedback: lowercase a letter, as the phrase is not a full sentence
    291       feedback: raise the level of "Macro is empty", to match similar messages
    292       feedback: suppress filename and linecount when --zero is active
    293       feedback: suppress format-conversion messages for --zero and --mini
    294       files: do not allow M-U to remove text read from standard input
    295       files: run `chmod` and `chown` on the descriptor, not on the filename
    296       formatter: do not crash when the formatter command is empty
    297       general: include the Copy function (M-6 or ^C) into the tiny version
    298       general: let the constant-show toggle override the zero-interface mode
    299       gnulib: update to current upstream state, to make a fresh checkout work
    300       gnulib: update to its current upstream state
    301       help: give the "Replace with" prompt its own help text
    302       help: mention M-Home and M-End in the help text and help lines
    303       help: rebalance the help items when --preserve is used
    304       help: restore ^H and ^D as the primary shortcuts for Backspace and Delete
    305       help: show ^F/^B as primary shortcuts for search, not as secondary
    306       indicator: do not oversize the scroller when softwrapping
    307       input: avoid hanging after a 39-character paste on a VSCode terminal
    308       input: flush the keystroke buffer upon any kind of error condition
    309       input: for one bump of the mousewheel scroll two lines, not three
    310       input: intercept a spurious keycode and say what the actual problem is
    311       input: let the handler of string binds return a byte whenever possible
    312       input: neutralize two spurious keycodes from VTE terminals
    313       input: prevent 'macro_length' from underflowing when hammering M-:
    314       input: recognize certain escape sequences for F13 to F16 again
    315       input: snip the `recordmacro` and `runmacro` keystrokes in a better way
    316       input: store key codes in the macro buffer as they come in from ncurses
    317       input: store keystroke in macro buffer only when about to interpret it  [reverted]
    318       justify: keep as much of the marked region onscreen as possible
    319       justify: keep the cursor at the original end of a marked region
    320       justify: recompute the multidata for paragraphs larger than the viewport
    321       justify: set the correct starting point also with --cutfromcursor
    322       justify: set `x = 0` for the undo item, for when using --cutfromcursor
    323       linter: do not mess up the input stream when the linter command is empty
    324       linter: use a format string, to deflect format-string attacks
    325       memory: prevent a leak by freeing a possibly already existing color combo
    326       minibar: mention the file format when it's DOS or Mac
    327       moving: preserve horizontal position when jumping to top or bottom row
    328       new feature: functions that jump to the top or bottom of the viewport
    329       new feature: option --modernbindings sets up more widespread key bindings
    330       options: make --modernbindings actually override --preserve
    331       rcfile: add bindable functions for moving the cursor to top or bottom row
    332       rcfile: avoid crashing on an include path that is way too long
    333       replacing: stash the string to be replaced while asking for replacement
    334       revert the previous commit -- forget about -? as a synonym for --help
    335       screen: recalculate the multidata when detecting the need for it
    336       search: avoid a crash after a nested search, reported by `correctmost`
    337       search: avoid crashing after searching a help text during a regex replace
    338       shutdown: ignore a modified buffer when in view mode
    339       softwrap: adjust start-of-screen when the 'edittop' line is hard-wrapped
    340       softwrap: realign start-of-screen when redoing an automatic hard-wrap
    341       softwrap: remember the actual breaking point when wrapping at blanks
    342       startup: use a format string, to deflect format-string attacks
    343       syntax: c: require a preceding blank when a line comment contains a quote
    344       syntax: javascript: recognize also the .mjs extension
    345       syntax: makefile: ensure that the <Tab> key always produces a tab
    346       syntax: makefile, sh: recognize also a fresh Makefile and fresh .profile
    347       syntax: nanorc: colorize {toprow} and {bottomrow} for string binds
    348       syntax: sh: recognize more shells than `sh` on a shebang line for busybox
    349       tweaks: add a comment that refers to the VTE spurious-code issue
    350       tweaks: add a missing 'type' attribute to a <style> tag
    351       tweaks: add an extra variable, to avoid reusing one for another purpose
    352       tweaks: add another translator hint, to help avoid overlong key tags
    353       tweaks: adjust a comment for the changed handling of gray #rgb codes
    354       tweaks: avoid calling isblank()/isalpha() on what could be a signed char
    355       tweaks: condense the code that searches for a colon plus line number
    356       tweaks: delete a redundant fragment of code from do_replace_loop()
    357       tweaks: elide a redundant variable
    358       tweaks: express an 'if' more concisely, and add two blank lines
    359       tweaks: implement the fix of the previous commit somewhat differently
    360       tweaks: improve three translator hints
    361       tweaks: make two strings equal to a third, to slightly ease translation
    362       tweaks: move two static declarations to the only function that uses them
    363       tweaks: normalize the indentation after the previous change
    364       tweaks: normalize the indentation after the previous changes
    365       tweaks: pull a fragment of code a bit forward, to enable the next commit
    366       tweaks: remove two pairs of unneeded braces, and normalize a line
    367       tweaks: rename a function and variable, to describe better what they do
    368       tweaks: rename a function, for contrast, and update antiquated comments
    369       tweaks: rename a struct element, to avoid a theoretical name collision
    370       tweaks: rename a symbol (to be clearer), and add three missing comments
    371       tweaks: rename a variable, away from an abbreviation
    372       tweaks: rename a variable, away from an abbreviation
    373       tweaks: rename a variable, to be a bit more indicative
    374       tweaks: rename a variable, to be clearer when seen in context
    375       tweaks: rename a variable, to be more readable
    376       tweaks: rename a variable, to better indicate what it represents
    377       tweaks: rename two variables, to be clearer and to match others
    378       tweaks: reshuffle four lines, to allow folding some #ifdefs together
    379       tweaks: reshuffle three fragments of code, moving related things together
    380       tweaks: rewrap a comment, and reshuffle seven declarations
    381       tweaks: rewrap two old news items
    382       tweaks: shrink the set of characters recognized as line-column separator
    383       tweaks: slightly improve a comment, to be more accurate
    384       tweaks: slightly reword the help text for the Replace-With prompt
    385       tweaks: ungettextize three strings, to make a translator hint right again
    386       tweaks: use a pair of parentheses to clarify the order of operations
    387       undo: force a screen refresh also for the special case Bsp-at-EOF
    388       undo: prevent a use-after-free, reported by `correctmost`
    389       undo: recompute the multidata when a piece of text is replaced
    390       undo the prelast commit in order to redo it with a fuller commit message
    391       verbatim: avoid referencing an uninitialized value
    392       wrapping: delete only single characters, not a possibly marked region
    393 
    394 Jordi Mallach (1):
    395       docs: fix "availabilty" typo in the manual and the nanorc manpage
    396 
    397 Mateusz Kazimierczuk (1):
    398       options: add -? as a synonym of -h (--help)  [reverted]
    399 
    400 Matteo Raso (1):
    401       syntax: python: colorize decorators specially
    402 
    403 Mike Frysinger (2):
    404       build: link in $(GETRANDOM_LIB) from gnulib
    405       gnulib: import canonicalize-lgpl for realpath
    406 
    407 
    408 Changes between v7.1 and v7.2:
    409 ------------------------------
    410 
    411 Benno Schulenberg (11):
    412       bindings: let ^/ toggle between the 'search' and 'gotoline' menus
    413       bump version numbers and add a news item for the 7.2 release
    414       copyright: update the years for the FSF
    415       docs: give ^K and ^U some useful function in the alternative bindings
    416       docs: put the binding of ^Y after its unbinding, for it to be effective
    417       gnulib: update to its current upstream state
    418       input: disallow bracketed pastes when in view mode
    419       syntax: html: colorize specially the other two emphasizing tags too
    420       tweaks: avoid warnings when compiling with -Wpedantic
    421       tweaks: rewrap an old news item
    422       tweaks: separate a special thanks from the preceding ones
    423 
    424 
    425 Changes between v7.0 and v7.1:
    426 ------------------------------
    427 
    428 Benno Schulenberg (8):
    429       build: fix compilation when configured with --disable-comment
    430       bump version numbers and add a news item for the 7.1 release
    431       copyright: update the last year for significantly changed files
    432       docs: say thanks to the Albanian translator
    433       rcfile: report an error when an included file does not exist
    434       text: upon Enter, eat only lefthand blanks, not any other characters
    435       tweaks: avoid passing NULL to access()
    436       tweaks: wrap overlong lines in the Tcl syntax, to make them manageable
    437 
    438 
    439 Changes between v6.4 and v7.0:
    440 ------------------------------
    441 
    442 Benno Schulenberg (94):
    443       build: add options --disable-formatter and --disable-linter to configure
    444       build: exclude some pieces that are not needed with --disable-nanorc
    445       build: exclude two unneeded functions correctly from the tiny version
    446       build: fix compilation when configured with --enable-tiny
    447       bump version numbers and add a news item for the 7.0 release
    448       completion: search through all open buffers for possible completions
    449       docs: clarify the distinction between binding a function and "{function}"
    450       docs: describe --disable-formatter and --disable-linter configure options
    451       docs: explain how to include a double quote plus space in a nanorc regex
    452       docs: improve the legibility of an itemized list
    453       docs: mention in the man page how M-V can insert any Unicode code point
    454       docs: mention that string binds may contain function names between braces
    455       docs: replace control codes in the examples with {command} cartouches
    456       docs: suggest a key binding for snipping trailing blanks
    457       execute: show "Cancelled" instead of "Error" when the user hits ^C
    458       extra: use the whole terminal for the crawl, and quicken it a bit
    459       feedback: suppress undo/redo messages when option --zero is in effect
    460       files: before sending data to an external command, decode LF back to NUL
    461       files: improve the error handling when executing an external command
    462       filtering: terminate also the sender process when the user hits ^C
    463       filtering: when returning to a line number, ensure it is within range
    464       gnulib: update to its current upstream state
    465       goto: don't center the current line when the user specified a column only
    466       help: don't show the New-Buffer toggle when in view mode
    467       help: move the M-Del item up, so that M-PgUp and M-PgDn are paired
    468       help: prioritize the unshifted Meta keystrokes for buffer switching
    469       input: allocate a small keystroke buffer, and never free it
    470       input: allocate two small character buffers too, and never free them
    471       input: give up when the capacity of the keystroke buffer overflows
    472       input: interpret commands of the form {functionname} inside string binds
    473       memory: avoid a leak when a string bind specifies an unknown menu
    474       prompt: allow rebinding also ^N, ^Q, and ^Y at the yes-no prompt
    475       prompt: ingest queued characters before handling any subsequent function
    476       prompt: prevent execution of inadmissible functions in view mode
    477       prompt: return FALSE for non-editing functions also in the tiny version
    478       prompt: toggle the help lines only for the 'nohelp' toggle
    479       search: skip a match on the magic line, as it is a just convenience line
    480       startup: ensure that +/string centers the match also with --linenumbers
    481       startup: for +/string, center the found occurrence when possible
    482       startup: quit when standard input is not a TTY (after handling arguments)
    483       startup: report an empty search string also when there is a modifier
    484       syntax: nanorc: colorize valid function names plus surrounding braces
    485       tweaks: add parentheses for consistency, and reshuffle for conciseness
    486       tweaks: allow the linter to be used in view mode, as it makes no changes
    487       tweaks: attribute some of the features that were added in the last years
    488       tweaks: avoid iterating over the same string twice in a row
    489       tweaks: avoid sometimes calling a function three times in a row
    490       tweaks: check the multiline regexes only for Delete and Backspace
    491       tweaks: condense a comment, add two small ones, and reshuffle a line
    492       tweaks: delete a flag that is no longer used
    493       tweaks: determine in another way whether a shortcut is okay in view mode
    494       tweaks: discard a bracketed paste in the browser more efficiently
    495       tweaks: don't use a pointer when the value itself is all that is needed
    496       tweaks: drop an unneeded check for permissibility of prompt shortcuts
    497       tweaks: drop a parameter that is no longer used
    498       tweaks: drop shunting of flags by calling the needed function directly
    499       tweaks: elide a function that does not need to be a separate function
    500       tweaks: elide an assignment by iterating with the target variable
    501       tweaks: elide an intermediary variable that is no longer needed
    502       tweaks: elide an unused parameter
    503       tweaks: elide an unused return value
    504       tweaks: elide a parameter by moving the general case one level up
    505       tweaks: elide a variable, rename another, and reshuffle an assignment
    506       tweaks: fold two cases together, because they basically do the same
    507       tweaks: group the special keycodes for implanted strings together
    508       tweaks: improve two comments, and exclude two unneeded prototypes
    509       tweaks: make the crawl use the whole screen also in the tiny version
    510       tweaks: make two error messages more succinct and easier to translate
    511       tweaks: move the arrays of menu names and symbols to where they are used
    512       tweaks: move the --magic option up, so that --zero comes last
    513       tweaks: move to a given line number more efficiently
    514       tweaks: move two checks plus corresponding calls to a better place
    515       tweaks: normalize the indentation after the previous change
    516       tweaks: reduce four variations of a message to a single common form
    517       tweaks: rename a macro for clarity, and normalize some indentation
    518       tweaks: rename a variable, away from an abbreviation
    519       tweaks: rename two record elements and three parameters, for clarity
    520       tweaks: replace sizeof(char) with 1, as that is assumed anyway
    521       tweaks: reshuffle a declaration, and correct the wording of a comment
    522       tweaks: reshuffle a line, to group things better
    523       tweaks: reshuffle some code and drop some comments, for conciseness
    524       tweaks: reshuffle some code, to not determine a shortcut twice
    525       tweaks: reshuffle some lines, to be more readable instead of compact
    526       tweaks: reshuffle two lines, for conciseness and in preparation
    527       tweaks: reword and/or condense four comments
    528       tweaks: rewrap line, improve wording, and correct typo in old news item
    529       tweaks: rewrap some lines, drop a redundant call, and reshuffle a line
    530       tweaks: simplify a function now that a Unicode code can be typed quicker
    531       tweaks: simplify a pasting routine, modelling it after the injection one
    532       tweaks: use an auxiliary variable to avoid dereferences of 'shortcut'
    533       undo: make sure the current line is defined before it is referenced
    534       verbatim: allow the user to finish Unicode input with <Enter> or <Space>
    535       verbatim: do not overwrite the status bar when the code is invalid
    536       verbatim: don't show dots during Unicode input, as they give wrong idea
    537 
    538 
    539 Changes between v6.3 and v6.4:
    540 ------------------------------
    541 
    542 Benno Schulenberg (24):
    543       bump version numbers and add a news item for the 6.4 release
    544       display: remember text and column positions when softwrapping a line
    545       docs: concisely describe how the linter behaves
    546       docs: remove the two notices about the changed defaults
    547       docs: rename README.GIT to README.hacking, so it's clearer what is meant
    548       docs: stop mentioning the obsoleted keywords that were removed
    549       files: designate the root directory with a simple "/", not with "//"
    550       formatter: instead of leaving curses, use full_refresh() to wipe messages
    551       gnulib: update to its current upstream state
    552       help: reshuffle two shortcuts so that more help-line items are paired
    553       options: stop accepting -z, as --suspendable has been dropped too
    554       rcfile: remove five obsolete or deprecated keywords
    555       syntax: default: do not colorize a square or angle bracket after a URL
    556       syntax: perl: add missing keywords, and reduce the length of some lines
    557       syntax: python: mention an alternative linter in a comment
    558       tweaks: add a missing word to a news item
    559       tweaks: add a translator hint
    560       tweaks: improve a comment, and reshuffle two functions plus some lines
    561       tweaks: put each regex on separate line, to better show many keywords
    562       tweaks: rename a variable, to not be the same as a function name
    563       tweaks: rename two variables, to not contain the name of another
    564       tweaks: reshuffle a description and rewrap another
    565       tweaks: reshuffle a few lines, to group things better
    566       version: condense the copyright message, to not dominate the output
    567 
    568 LIU Hao (1):
    569       build: ignore errors from `git describe`
    570 
    571 
    572 Changes between v6.2 and v6.3:
    573 ------------------------------
    574 
    575 Benno Schulenberg (41):
    576       build: add the --disable-maintainer-mode option to ./configure
    577       build: fix compilation for --enable-{tiny,nanorc,color}
    578       build: fix compilation when configured with --disable-color
    579       build: remove an obsolete check -- the dependent code was deleted
    580       bump version numbers and add a news item for the 6.3 release
    581       display: suppress spotlight yellow and error red when NO_COLOR is set
    582       docs: add an example binding for copying text to the system clipboard
    583       execute: clear an anchor only when the whole buffer gets filtered
    584       execute: don't crash when an empty buffer is piped through a command
    585       execute: stay on the same line number when filtering the whole buffer
    586       feedback: show extra warning when writing failed due to "No space left"
    587       files: do not change to a higher directory when the working one is gone
    588       files: show a warning when the working directory is gone (when used)
    589       files: when the working directory exists, still check its accessibility
    590       filtering: close all output descriptors, so that 'xsel' will terminate
    591       formatting: change cursor position only after saving it in the undo item
    592       gnulib: pull in the workaround for a build problem on NetBSD
    593       gnulib: update to its current upstream state
    594       justify: stay at the same line number when doing a full justification
    595       painting: colorize text also after an unterminated start match
    596       painting: look for another start match only after the actual end match
    597       painting: recalculate the multidata when making large strides or changes
    598       painting: stop coloring an extremely long line after 2000 bytes
    599       painting: tighten the check for a lacking end match on a colored line
    600       syntax: xml: colorize /> properly, and colorize prolog tags differently
    601       syntax: xml: colorize user-defined entities differently
    602       tweaks: avoid a function call when two plain assignments will do
    603       tweaks: change the indentation of a list, to match other indentations
    604       tweaks: don't leave an orphaned temporary file behind when writing fails
    605       tweaks: elide an unneeded call of strlen()
    606       tweaks: exclude the extra truncation warning from the tiny version
    607       tweaks: make the triggering of the recalculation of multidata less eager
    608       tweaks: move the saving and restoring of flags to where it is needed
    609       tweaks: normalize the indentation after the previous change
    610       tweaks: prevent the adding of an unwanted newline in a different way
    611       tweaks: remove redundant braces, and add two translator hints
    612       tweaks: remove some stray spaces before a comma
    613       tweaks: simplify a bit of code, eliding two labels and three gotos
    614       tweaks: simplify a fragment of code, and fold two lines together
    615       tweaks: trim a few comments, rename a function, and reshuffle some code
    616       verbatim: with --zero, keep cursor in viewport when it was on bottom row
    617 
    618 Mike Frysinger (1):
    619       general: fix building for Windows
    620 
    621 
    622 Changes between v6.1 and v6.2:
    623 ------------------------------
    624 
    625 Benno Schulenberg (14):
    626       bump version numbers and add a news item for the 6.2 release
    627       display: suppress the bottom-bar wiping only when the user is editing
    628       linter: adjust the parsing to accommodate for a modern 'pyflakes'
    629       syntaxes: fold a couple of regexes together, and improve a few comments
    630       tweaks: change the type of a variable, to avoid a compiler warning
    631       tweaks: consistently backslash-escape the dash in M-letter keystrokes
    632       tweaks: rename a misnamed variable
    633       tweaks: rename a variable, reshuffle five lines, and snip two comments
    634       tweaks: rename a variable, to be more correct, and adjust two comments
    635       tweaks: rename a variable, to be more fitting
    636       tweaks: rename two more variables, and drop unneeded initializations
    637       tweaks: rename two variables (to get rid of a prefix), and elide a third
    638       tweaks: store a result, to avoid calling a function twice
    639       tweaks: use an intermediate variable, to avoid using one for two purposes
    640 
    641 
    642 Changes between v6.0 and v6.1:
    643 ------------------------------
    644 
    645 Benno Schulenberg (37):
    646       build: fix compilation when configured with --enable-tiny
    647       build: prevent autopoint from overwriting a newer M4 file from gnulib
    648       bump version numbers and add a news item for the 6.1 release
    649       copyright: update the last year for significantly changed files
    650       copyright: update the years for the FSF
    651       docs: mention bindable function 'zero', for toggling the interface bars
    652       docs: mention 'set guidestripe' and 'set unix' in the sample nanorc
    653       docs: remove obsolete Ctrl+Z from the cheatsheet; mention Alt+X instead
    654       files: let ^C cancel the exiting when the file on disk was changed
    655       gnulib: update to its current upstream state
    656       help: make the description of <Tab> more accurate
    657       help: update the description of M-D, to match the actual order of counts
    658       input: instead of moving waiting keycodes, just increment a pointer
    659       input: suppress any spotlighting when there are more keycodes waiting
    660       menus: don't show M-6 in the help lines of any prompt
    661       prompt: allow the user to copy the answer to the cutbuffer (with M-6)
    662       prompt: let ^K erase text after cursor (if any), otherwise whole answer
    663       tweaks: add some feedback to the autogen.sh script, to ease the wait
    664       tweaks: add some small, clarifying comments
    665       tweaks: adjust a translator hint, to fit the order in the POT file
    666       tweaks: drop foreign M-U and M-R from among the sample CUA bindings
    667       tweaks: remove a redundant check -- add a different one for symmetry
    668       tweaks: remove two redundant checks
    669       tweaks: rename a function and its two parameters, for clarity
    670       tweaks: rename a function and reshuffle its call
    671       tweaks: rename a function, to not contain the name of a variable
    672       tweaks: rename another variable, to better fit in with its sisters
    673       tweaks: rename a variable and a parameter, to be more descriptive
    674       tweaks: rename a variable, away from an abbreviation
    675       tweaks: rename a variable, for clarity and contrast
    676       tweaks: rename a variable, to make it clearer it refers to a window
    677       tweaks: rename two variables, and elide a near-enough duplicate
    678       tweaks: reshuffle some sample bindings, to group them differently
    679       tweaks: reword two comments, and rename a variable (away from an abbrev)
    680       tweaks: stop asking the terminal for its new size -- let ncurses do it
    681       tweaks: use some symbolic names instead of unclear numeric values
    682       tweaks: when discarding keycodes, don't bother parsing them
    683 
    684 
    685 Changes between v5.9 and v6.0:
    686 ------------------------------
    687 
    688 Benno Schulenberg (192):
    689       bindings: allow rebinding ^Z also on a Linux console (a VT)
    690       bindings: allow toggling line numbers (when enabled) also in tiny version
    691       bindings: let ^T in the tiny version invoke spell checker (when included)
    692       browser: with --zero, do not use the bottom row for displaying filenames
    693       build: fix compilation when configured with --disable-color
    694       build: fix compilation when configured with --disable-nanorc
    695       build: fix compilation when configured with --enable-tiny
    696       build: fix compilation with --enable-tiny --enable-nanorc
    697       build: fix compilation with --enable-tiny --enable-wrapping
    698       build: include the YAML syntax file among the distributed files
    699       bump version numbers and add a news item for the 6.0 release
    700       display: clear the status bar early enough, so that --zero can show text
    701       display: do not wipe the status bar when --zero or --minibar is active
    702       display: ensure feedback will be cleared also on a one-row terminal
    703       display: make sure there are at least as many text lines as help lines
    704       display: move some code for overwriting verbatim feedback with --zero
    705       display: redraw the screen in tiny version upon resuming from suspension
    706       display: with --zero, redraw the bottom row instead of wiping a message
    707       docs: add a hint about making ^L do just 'refresh' to the sample nanorc
    708       docs: add a meta description for the HTML rendering of the manual
    709       docs: add a suggested rebind and three suggested unbinds to the sample rc
    710       docs: avoid large Table of Contents at top of HTML version of manual
    711       docs: clarify that --enable options do not fully counteract --enable-tiny
    712       docs: correct the description of the layout -- four areas, not five
    713       docs: document the effect of --quickblank together with --zero/--minibar
    714       docs: explain the effect of --zero / -0 / 'set zero'
    715       docs: explain what it means when --rawsequences is needed
    716       docs: give more examples of things that --enable-tiny excludes
    717       docs: improve the title of the manual, away from the bare "nano"
    718       docs: list the new color names, from 'rosy' to 'crimson'
    719       docs: mark options -z, --suspendable, and 'set suspendable' as obsolete
    720       docs: mention "grey" also at the other place where color names are listed
    721       docs: mention M-Z (for toggling the interface) among the Feature Toggles
    722       docs: mention that --zero and 'set zero' hide also the help lines
    723       docs: move the chapter about editor basics into third position
    724       docs: prevent a black square in the PDF after the long synopsis line
    725       docs: reshuffle a GNU marker, to make the title clearer in search engines
    726       docs: reword several of the descriptions in the chapter on building nano
    727       docs: reword the beginning of the chapter on nanorc files
    728       docs: say thanks to the Indonesian translator
    729       feedback: give a more accurate message when the help lines won't appear
    730       feedback: refuse the --constantshow toggle (M-C) on a one-row terminal
    731       feedback: report an unbindable function key as an "Unknown sequence"
    732       feedback: report the number of inserted lines also with --zero or --mini
    733       feedback: show a relevant message for M-O when the syntax has 'tabgives'
    734       feedback: suppress chatty messages when --zero is active
    735       feedback: to have a status bar, suppress --zero while in the help viewer
    736       feedback: when reporting an unbound function key, mention its number
    737       feedback: when the user types ^Z, say they can suspend nano with ^T^Z
    738       feedback: with --mini or --zero, suppress number of lines for new buffer
    739       feedback: with --mini/--zero, suppress message when toggling whitespace
    740       feedback: with --zero, drop a message in a short while, as with --minibar
    741       files: allow inserting also when started with the --noread option
    742       files: clear original filename when the user toggles Append or Prepend
    743       gnulib: update to its current upstream state
    744       help: do not show ^S when --preserve is in effect
    745       help: ensure there is a blank line between title bar and start of text
    746       help: group the now lone mouse toggle with the "behavioral" ones
    747       help: remove an unneeded restriction for small terminals
    748       help: skip the leading blank line when the terminal is very flat
    749       help: when done, always redraw the "bottom bars", also with --zero
    750       history: process file faster by not filtering out hypothetical duplicates
    751       input: ensure that no more bytes are consumed than are available
    752       justify: correctly determine whether top-of-buffer has been reached
    753       memory: avoid a tiny leak when an option with an argument is given twice
    754       memory: avoid leaking the filename when dottifying it on the minibar
    755       new feature: option --zero for an interface without bars
    756       options: make --zero imply --nohelp, and 'set zero' imply 'set nohelp'
    757       pasting: when less than a line is pasted, allow automatic hard-wrapping
    758       prompt: avoid resetting the history pointer when the search is cancelled
    759       prompt: begin at bottom of history list when at secondary prompt
    760       prompt: keep a clear answer clear also after an excursion into history
    761       rcfile: recognize fourteen new color names, mostly for subdued shades
    762       rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keywords
    763       replacing: keep centering the occurrence, also after toggling help lines
    764       replacing: keep the spotlighted occurrence in view, also with --zero
    765       replacing: keep the spotlighting, also after toggling the help lines
    766       search: with --zero, do not obscure an occurrence on the bottom row
    767       search: with --zero, drop a message at the same time as the spotlight
    768       statusbar: count words in the way that matches how Ctrl+Right moves
    769       statusbar: overwrite a message also when using --constant with --zero
    770       suspension: enable ^Z by default -- ignore -z option and drop M-Z toggle
    771       suspension: leave ^Z unbound by default -- just ^T^Z will suspend nano
    772       syntax: debian: remove file -- Debian itself will have to handle it
    773       syntax: default: colorize comments as one of the last things
    774       syntax: default: colorize dates, URLs, and nano's release motto
    775       syntax: email: use a character class, as \s does not work inside brackets
    776       syntax: gentoo: remove file -- Gentoo itself will have to handle it
    777       syntax: nanorc: add 'execute' menu for unbind, and drop a bad constraint
    778       syntax: nanorc: avoid colorizing #rgb codes as if they were comments
    779       syntax: nanorc: colorize a trailing comment when it begins with non-hex
    780       syntax: nanorc: colorize each of the fourteen new color names as valid
    781       syntax: nanorc: improve the file-matching regex
    782       syntax: nanorc: paint arguments of 'include' and 'extendsyntax' specially
    783       syntax: nanorc: require whitespace before the start= and end= keywords
    784       syntax: python: colorize backslash escapes, such as \n and \xef
    785       syntax: ruby: colorize embedded documentation as a comment
    786       syntax: rust: do not colorize as string the text between two strings
    787       syntax: sql: add a few more missing keywords, like TRUE and FALSE
    788       syntax: sql: add more missing keywords, like INNER and OUTER JOIN
    789       syntax: sql: add some missing keywords, like ALL and ANY and OR
    790       syntax: sql: add two missing data types -- xml and tsquery
    791       syntax: sql: colorize as flow control only keywords that clearly are such
    792       syntax: sql: colorize keywords regardless of case, and tweak the colors
    793       syntax: sql: colorize only single-quoted things as strings
    794       syntax: sql: colorize strings differently than types
    795       syntax: sql: remove alien stuff -- it was copied mostly from ruby syntax
    796       syntax: texinfo: be more precise in colorizing @commands
    797       syntax: texinfo: colorize the special @-plus-punctuation commands too
    798       syntaxes: avoid coloring "this\" as if it were a valid string
    799       syntaxes: colorize hex more strictly by using character class [:xdigit:]
    800       syntaxes: drop three redundant end-of-line anchors
    801       syntaxes: undouble the backslash within bracket expressions
    802       syntaxes: use one regex for coloring quoted strings, to avoid overlap
    803       tabbing: also with --zero, stay one row away from the prompt bar
    804       tweaks: add an auxiliary variable, to prepare for handling --zero
    805       tweaks: add two spaces and two comments, and drop an internal check
    806       tweaks: adjust two values -- help lines need at least 6 rows to be shown
    807       tweaks: avoid a compiler warning with --enable-tiny --enable-linenumbers
    808       tweaks: avoid redrawing the entire window when just a 'touch' will do
    809       tweaks: condense the definitions of all the empty functions
    810       tweaks: condense the regexes for Types in the SQL syntax
    811       tweaks: don't redraw the help lines (if present), and normalize a brace
    812       tweaks: drop a fragment of code that became functionless
    813       tweaks: elevate two messages, so they get shown with --mini or --zero
    814       tweaks: elide a variable that is confusing and has just one use case
    815       tweaks: elide two functions that each were called just once
    816       tweaks: elide two parameters, as they are now always the same
    817       tweaks: exclude some hidden-interface code from the tiny version
    818       tweaks: exclude some suspension code from the tiny version
    819       tweaks: fix a parentheses mistake -- found by a warning from Clang
    820       tweaks: fix a somewhat humorous typo
    821       tweaks: fix typo, and improve description of 'set zero' in sample nanorc
    822       tweaks: fold a special case into the general one
    823       tweaks: fold some regexes together, and trim or improve some comments
    824       tweaks: frob a couple of comments, and drop two, for conciseness
    825       tweaks: improve a comment, and drop two cluttering compile conditions
    826       tweaks: invert a condition, to get an early return instead of indentation
    827       tweaks: just let do_wrap() set 'refresh_needed' instead of returning TRUE
    828       tweaks: mark keystrokes consistently with @kbd in the manual
    829       tweaks: move a translator hint to where xgettext will see it
    830       tweaks: normalize whitespace, drop unneeded prototype, condense comment
    831       tweaks: on one-row terminals, suppress the message for two toggles
    832       tweaks: place the unsetting of a flag better, and rename a variable
    833       tweaks: put three email addresses between the customary angled brackets
    834       tweaks: reassign a copy of a string to a variable more economically
    835       tweaks: reduce redundancy (--enable-color implies --enable-nanorc)
    836       tweaks: remove redundant pair of parentheses, and swap two alternatives
    837       tweaks: remove redundant parentheses, trim comments, fold some regexes
    838       tweaks: remove two unneeded unsettings
    839       tweaks: rename a function and its parameter, to be clearer
    840       tweaks: rename a function, away from using an abbreviation
    841       tweaks: rename a function, for some contrast and to get rid of a suffix
    842       tweaks: rename a function, to describe better what it does nowadays
    843       tweaks: rename a function, to make it make sense
    844       tweaks: rename a variable, to be distinctive and less confusing
    845       tweaks: rename a variable, to be easier to read and to make more sense
    846       tweaks: rename five empty functions, to get rid of a meaningless suffix
    847       tweaks: rename three functions, to better fit the general scheme
    848       tweaks: rename three parameters, away from single letters
    849       tweaks: rename two empty functions, to be more to the point
    850       tweaks: rename two functions, to get rid of another senseless suffix
    851       tweaks: rename two functions, to get rid of one more senseless suffix
    852       tweaks: rename two functions, to get rid of the senseless suffix of one
    853       tweaks: rename two more functions, to lose a senseless suffix
    854       tweaks: rename two parameters and one variable, away from single letters
    855       tweaks: rename two variables, away from abbreviations
    856       tweaks: rename two variables, to fit with the names of similar ones
    857       tweaks: replace a verbose condition with a simpler early return
    858       tweaks: replace the obscure @* with the slightly clearer @sp
    859       tweaks: replace two direct refreshes with two scheduled ones
    860       tweaks: reshuffle a coloring rule, to have related ones together
    861       tweaks: reshuffle a few lines, and rename a variable
    862       tweaks: reshuffle a few lines, for Christmas and to group things better
    863       tweaks: reshuffle a fragment of code to a better place
    864       tweaks: reshuffle a line and adjust indentation after previous change
    865       tweaks: reshuffle a line into its proper order, and improve two comments
    866       tweaks: reshuffle some conditions, so that the ifs have similar formats
    867       tweaks: reshuffle some conditions, to have more balanced lines
    868       tweaks: reshuffle some lines, one for clarity, others for conciseness
    869       tweaks: reshuffle the flag conversion into their order in the help text
    870       tweaks: reshuffle two conditions, re-indent, and rewrap a line
    871       tweaks: reword a paragraph, and use usual M- to depict Meta keystrokes
    872       tweaks: rewrap an old news item, for distraction
    873       tweaks: rewrap three old NEWS items, for esthetics, and fix a date
    874       tweaks: shorten a comment, and drop some conditionalizing
    875       tweaks: shorten the description of --zero in the manuals a bit
    876       tweaks: shorten two comments, and fold two statements together
    877       tweaks: swap two parts of specific regexes, for consistency with others
    878       tweaks: untangle two case items, and shorten a message
    879       tweaks: use a color closer to the rest of the string, to reduce contrast
    880       tweaks: use a few fewer capitals, and drop an unneeded synonym
    881 
    882 Brad Town (2):
    883       docs: add a description of the hexadecimal #rgb color specification
    884       rcfile: support #rgb format for specifying colors in 256-color terminals
    885 
    886 
    887 Changes between v5.8 and v5.9:
    888 ------------------------------
    889 
    890 Benno Schulenberg (88):
    891       browser: make the keystrokes ^W^Y and ^W^V work again
    892       build: ensure that mkstemps() is available by importing the gnulib module
    893       build: help Haiku find the header files that define mkstemps()
    894       bump version numbers and add a news item for the 5.9 release
    895       copyright: update to the current year for significantly changed files
    896       cutting: copy anchors into the cutbuffer, so that undo can restore them
    897       docs: add a paragraph at the start of the README about what nano is
    898       docs: add a simulated "screenshot" of nano to the README
    899       docs: add some details to the bug-reporting paragraph in the README
    900       docs: correct the descriptions of how to invoke the spell checker
    901       docs: don't use "light" after "bold", as the latter often implies "light"
    902       docs: improve the description of the spotlighting of a search match
    903       docs: improve the description of the 'tabstospaces' option
    904       docs: improve the descriptions of several bindable functions
    905       docs: improve the recipe in the FAQ for dealing with Alt+Up on a console
    906       docs: indent the paragraphs in the FAQ that list commands to be typed
    907       docs: list the default color combo for 'spotlightcolor' in sample nanorc
    908       docs: mention how to properly colorize all types in nano's source code
    909       docs: mention in the README which licenses cover nano's code and docs
    910       docs: move the notice in the main man page, to try and catch other eyes
    911       docs: refer to the FAQ when <Alt+Up> does nothing on a Linux console
    912       docs: replace a non-problem in the FAQ with something possibly useful
    913       docs: spell "filename" as a single word, like in most other occurrences
    914       feedback: use a smaller diamond to represent an anchor, to not overflow
    915       feedback: when not in curses mode, just skip displaying any message
    916       feedback: when not in curses mode, write error messages to the terminal
    917       files: add the original file's suffix to the name of a temporary file
    918       files: check for a fifo only when it is an existing file
    919       files: check the result of fdopen(), to avoid a possible crash
    920       files: do not call fsync() on a fifo, to avoid a spurious error message
    921       files: exclude the call of fsync() from the tiny version
    922       files: give the user time to absorb a warning about someone else editing
    923       files: making a backup of a fifo makes no sense, so do not try that
    924       files: prepending to a fifo makes no sense, so do not try that
    925       files: when the buffer is nameless, include the PID in name of dump file
    926       files: when there is a slash after the dot, then there is no extension
    927       files: write a lock file also for a freshly saved buffer
    928       general: prevent die() from getting recursed into
    929       gnulib: update to its current upstream state
    930       help: make the keystrokes ^W^Y and ^W^V work again
    931       history: emit a warning when file cannot be made private  [coverity]
    932       input: give up on the input stream only after millions of errors
    933       memory: free any allocated strings, also in the emergency code path
    934       po: delete the ancient PO files for Indonesian and Nynorsk
    935       po: permit the Indonesian PO file to come back -- there was a big update
    936       shutdown: when dying, do not install/restore a handler for Ctrl+C
    937       startup: if TERM is unset, try falling back to VT220 instead of failing
    938       syntax: nanorc: recognize also the template of the sample nanorc file
    939       syntax: rust: update the license to GPL3 or newer
    940       syntax: yaml: allow any character in tags except whitespace
    941       syntax: yaml: allow double colon in key & do not colorize unspaced colon
    942       syntax: yaml: allow slash and period in key names
    943       syntax: yaml: colorize backslash-escaped characters as valid or invalid
    944       syntax: yaml: colorize the question mark of complex mappings too
    945       syntax: yaml: colorize the two known directives
    946       syntax: yaml: new file -- coloring rules for YAML files
    947       tweaks: add Schiermonnikoog to the list of friendly islands
    948       tweaks: adjust a description of 'showcursor', to match the other ones
    949       tweaks: adjust three parameters -- two were mistaken, one superfluous
    950       tweaks: correct two typos and a spello  [codespell]
    951       tweaks: fix a typo
    952       tweaks: fold two lines into two others, for conciseness
    953       tweaks: harmonize the indentations in the FAQ somewhat
    954       tweaks: in comments, say "buffer" instead of "file" where appropriate
    955       tweaks: instead of "one" use "you", like in the rest of the man page
    956       tweaks: remove a redundant feedback message
    957       tweaks: rename a defined type, to fit within the general pattern
    958       tweaks: rename a function, to be more fitting
    959       tweaks: rename a parameter and invert its logic
    960       tweaks: rename a parameter, to fit better what it is used for
    961       tweaks: rename a variable and flip its logic, to avoid two negations
    962       tweaks: rename a variable, away form an abbreviation
    963       tweaks: rename a variable, to be more grammatical
    964       tweaks: rename a variable, to be more visible and to match others
    965       tweaks: rename a variable, to make more sense
    966       tweaks: rename three variables, to follow the general scheme
    967       tweaks: reshuffle a few lines, for esthetics and to elide an #ifdef
    968       tweaks: reshuffle a few lines to avoid an #ifdef and unbalanced braces
    969       tweaks: reshuffle a fragment of code, to prepare for the next change
    970       tweaks: reshuffle some code to elide a variable, and improve a comment
    971       tweaks: reshuffle some lines and adjust some indentation
    972       tweaks: reshuffle some lines to elide a variable
    973       tweaks: restore a quote that was accidentally deleted four months ago
    974       tweaks: rewrap three lines, for esthetics
    975       tweaks: slightly reword or rewrap some comments in the sample nanorc
    976       tweaks: try chmodding a dump file only when it was actually written
    977       tweaks: use five symbolic names, to make eight function calls clearer
    978       usage: improve the description of the --positionlog option
    979 
    980 David Michael (2):
    981       syntax: gentoo: highlight additional EAPI 7/8 variables
    982       syntax: gentoo: remove some obsolete keywords and add some new ones
    983 
    984 Hussam al-Homsi (3):
    985       docs: correct the default value of the errorcolor option
    986       syntax: perl, ruby: remove arbitrary highlighting of here documents
    987       tweaks: change 'return ++var;' to 'return var + 1;'
    988 
    989 
    990 Changes between v5.7 and v5.8:
    991 ------------------------------
    992 
    993 Benno Schulenberg (53):
    994       bindings: show either "^/" or "^-" in the help lines, instead of "^_"
    995       bump version numbers and add a news item for the 5.8 release
    996       display: when a message gets overwritten, note that it is cleared
    997       docs: add a relevant item to the news for the 4.3 release
    998       docs: add example bindings for uppercasing and lowercasing a word
    999       docs: improve the contact info and some line spacing in the PDF
   1000       docs: make ^E access the Execute menu in the example CUA bindings
   1001       docs: mention that "grey"/"gray" may be used as a synonym of "lightblack"
   1002       docs: mention the new 'set minicolor' option
   1003       docs: say thanks to the Icelandic and Slovak translators
   1004       feedback: ensure that the reporting of DOS/Mac format is truthful
   1005       gnulib: update to its current upstream state
   1006       help: use smaller triangles for the arrows
   1007       linter: block the resizing signal while reading output from the linter
   1008       linter: strip filename and line plus column number from the message
   1009       memory: move the correct number of bytes, and not one too many
   1010       memory: prevent a leak when copying the leading quoting to the next line
   1011       minibar: stay out of sight when the terminal has just one row
   1012       options: accept 'set minicolor' for setting the color of the minibar
   1013       rcfile: allow using "grey" or "gray" as a synonym for "lightblack"
   1014       rcfile: do not allow color name "normal" to have a prefix
   1015       replacing: report the number of replacements also on a one-row terminal
   1016       search: automatically drop the spotlighting after a few moments
   1017       search: show "This is the only occurrence" also on a one-row terminal
   1018       startup: allow using a bare "+" to mean put-cursor-on-last-line
   1019       startup: do not accept stray characters after a "+" on the command line
   1020       startup: skip drawing edit window when having message on one-row terminal
   1021       startup: suppress "Search Wrapped" when using +? to search from EOF
   1022       statusbar: ensure that "No further matches" does not get overwritten
   1023       statusbar: on a one-row terminal, drop light messages after a few moments
   1024       statusbar: suppress --constantshow when the terminal has just one row
   1025       statusbar: suppress the cursor when the terminal has just one row
   1026       syntax: nanohelp: avoid colorizing M-) in (M-) and M-" in "M-"
   1027       syntax: nanorc: colorize "light" as valid only for the eight basic colors
   1028       syntax: nanorc: colorize literal control codes, to make them stand out
   1029       syntax: php: colorize the full short tag for echo (<?=)
   1030       tweaks: avoid the subtraction of two size_t variables becoming negative
   1031       tweaks: condense and correct a comment, and move another
   1032       tweaks: condense some code by putting all color names in a single array
   1033       tweaks: drop an assignment that is already part of the called function
   1034       tweaks: frob some whitespace, and rewrap a line
   1035       tweaks: improve a comment, remove unneeded braces, reshuffle some lines
   1036       tweaks: normalize the indentation after the previous change
   1037       tweaks: prevent two more size_t subtractions from going negative
   1038       tweaks: redraw only the affected line instead of doing a full refresh
   1039       tweaks: remove a check that has become superfluous
   1040       tweaks: remove a check that is not needed
   1041       tweaks: rename a variable, for contrast with the function name
   1042       tweaks: rename two functions, to get rid of an ugly _void suffix
   1043       tweaks: reshuffle the coloring of color names, to remove some duplication
   1044       tweaks: use a symbol instead of a hard-coded number
   1045       tweaks: use two symbolic names instead of TRUE and FALSE, for clarity
   1046       wrapping: when copying the quoting part, adjust the file size accordingly
   1047 
   1048 Hussam al-Homsi (1):
   1049       bindings: allow copying text (with M-6) also when in view mode
   1050 
   1051 
   1052 Changes between v5.6.1 and v5.7:
   1053 --------------------------------
   1054 
   1055 Benno Schulenberg (62):
   1056       build: drop the check for two functions that we don't use any more
   1057       build: fix compilation for --enable-tiny plus --enable-multibuffer
   1058       build: fix compilation when configured with --disable-multibuffer
   1059       build: fix compilation when configured with --enable-tiny
   1060       bump version numbers and add a news item for the 5.7 release
   1061       chars: implement mblen() ourselves, for efficiency
   1062       chars: implement mbtowc() ourselves, for more efficiency
   1063       chars: work around a UTF-8 bug in glibc, to display invalid codes right
   1064       chars: work around the wrong private-use-character widths on OpenBSD
   1065       display: avoid determining twice from and until where to draw each row
   1066       display: make the output of --constantshow less jittery
   1067       editing: prevent the pointer for the top row from becoming dangling
   1068       feedback: upon first switch to a buffer, show its error message (if any)
   1069       files: always register the format, also when the file is unwritable
   1070       files: create a new buffer earlier, so that error messages can be stored
   1071       files: when Mac format has been detected, stay with it
   1072       gnulib: pull in the fix for a build problem on older Debian
   1073       gnulib: update to its current upstream state
   1074       indicator: adjust the size to the number of visible lines, not chunks
   1075       input: accept Unicode codes for non-characters as valid, since they are
   1076       memory: do not allocate space for multidata when it's already allocated
   1077       memory: fix an off-by-one error to free also the last line in a group
   1078       memory: prevent a use-after-free when the user respects a lock file
   1079       oops: that doesn't work -- you can't break out of two for loops at once
   1080       options: retire the obsolete 'smooth', 'morespace', and 'nopauses'
   1081       softwrap: avoid time-consuming computations, to burden large files less
   1082       startup: do not crash when trying to open a device or directory
   1083       startup: do not store an error message in the record of another buffer
   1084       startup: save the compiled file-matching regexes, to avoid recompiling
   1085       startup: show the helpful message only when ^G has not been rebound
   1086       syntax: c: colorize also labels that contain digits, and uncolorize colon
   1087       syntax: po: improve the coloring of format specifiers
   1088       syntaxes: replace [[:space:]] with [[:blank:]] to exclude carriage return
   1089       tweaks: adjust and improve one comment, and frob another
   1090       tweaks: adjust two comments, and reshuffle two fragments
   1091       tweaks: avoid a warning on newer compilers, by writing an extra byte
   1092       tweaks: avoid calling extra_chunks_in() when not softwrapping
   1093       tweaks: avoid converting a file name for more than will fit on screen
   1094       tweaks: avoid parsing a multibyte character twice
   1095       tweaks: condense three comments, drop another, and rewrap a line
   1096       tweaks: drop unneeded braces and adjust indentation after previous change
   1097       tweaks: elide a call of strlen() for every row
   1098       tweaks: elide a function that is now basically just two lines
   1099       tweaks: elide an unneeded resetting NULL call to wctomb()
   1100       tweaks: elide a small function that is used just once
   1101       tweaks: elide the pointless is_valid_unicode() function
   1102       tweaks: elide two more instances of useless character copying
   1103       tweaks: improve a couple of comments
   1104       tweaks: morph a function into what it is actually used for
   1105       tweaks: normalize the indentation after an earlier change
   1106       tweaks: put the most likely condition first, for a quicker return
   1107       tweaks: reduce the maximum character length from six bytes to four
   1108       tweaks: remove a misplaced (and nested) #ifdef
   1109       tweaks: rename a variable, away from an abbreviation
   1110       tweaks: rename a variable, for contrast with another
   1111       tweaks: reshuffle a comment, and put the main extension first
   1112       tweaks: reshuffle a fragment of code, to prepare for the next change
   1113       tweaks: reshuffle two conditions, to have the most unlikely one first
   1114       tweaks: set the file format only when unset, so it doesn't need saving
   1115       tweaks: shorten a comment and trim an #ifdef
   1116       tweaks: simplify two fragments of code
   1117       tweaks: simplify two fragments of code, eliding useless character copying
   1118 
   1119 Hussam al-Homsi (1):
   1120       syntax: c: make the highlighting of '#include <...>' more compliant
   1121 
   1122 Mike Frysinger (1):
   1123       syntax: tcl: support Expect scripts too
   1124 
   1125 
   1126 Changes between v5.6 and v5.6.1:
   1127 --------------------------------
   1128 
   1129 Benno Schulenberg (4):
   1130       bump version numbers and add a news item for the 5.6.1 release
   1131       options: rename 'highlightcolor' to the more distinct 'spotlightcolor'
   1132       search: correctly colorize a match also when softwrapping is active
   1133       tweaks: rename a symbol, to better match the corresponding option
   1134 
   1135 
   1136 Changes between v5.5 and v5.6:
   1137 ------------------------------
   1138 
   1139 Benno Schulenberg (52):
   1140       build: avoid a warning about duplicate symbol when building from tarball
   1141       build: detect a build from git also when building out of tree
   1142       build: include a workaround only for versions of ncurses that need it
   1143       bump version numbers and add a news item for the 5.6 release
   1144       color: do not look for another 'end' match after already finding one
   1145       color: give highlighted text its own color, to not look like marked text
   1146       color: recompile the file-probing regexes a little faster with REG_NOSUB
   1147       color: use bright yellow to highlight a search match
   1148       color: use inverse video for highlighting when there are no colors
   1149       debug: add timing instruments to cache precalculation and screen refresh
   1150       display: for a large paste or insertion, recalculate the multiline cache
   1151       docs: correct the description of --quickblank for the changed base value
   1152       docs: correct the formatting of a comment in the sample nanorc
   1153       docs: correct the word order for Alt+D in the cheat sheet -- it changed
   1154       docs: mention the new 'set highlightcolor' option
   1155       docs: remove all mentions of --markmatch and 'set markmatch'
   1156       docs: say that --minibar is modified by --constantshow and --stateflags
   1157       feedback: make Full Justify show a message also when using --minibar
   1158       gnulib: update to its current upstream state
   1159       minibar: show a message a little longer when --quickblank isn't used
   1160       minibar: show cursor position + character code only with --constantshow
   1161       minibar: show the state flags only when --stateflags is used
   1162       minibar: suppress the toggling feedback for M-C, but show it for M-Y/M-P
   1163       options: remove --markmatch and 'set markmatch', as the behavior is gone
   1164       painting: always do backtracking for the first row of the screen
   1165       painting: trigger a refresh when a second start match appears on a line
   1166       painting: trigger fewer unneeded full-screen refreshes
   1167       painting: when finding an end match, set its multidata right away
   1168       scrolling: keep centering after large paste, also when line numbers widen
   1169       search: just highlight the found occurrence, instead of marking it
   1170       search: make highlighting the standard, non-changeable behavior
   1171       tweaks: avoid the vague possibility of advancing beyond end-of-line
   1172       tweaks: be slightly more efficient in marking lines as WOULDBE
   1173       tweaks: call wattron()/wattroff() only when actually painting something
   1174       tweaks: correct a comment, improve another, and trim some verbosity
   1175       tweaks: don't bother comparing virgin multidata with current situation
   1176       tweaks: don't bother initializing freshly allocated multidata
   1177       tweaks: don't bother wiping the multidata before recomputing it
   1178       tweaks: elide a function that is now just one line
   1179       tweaks: frob a condition, to be more concise, and reshuffle another
   1180       tweaks: frob some comments, and adjust indentation after previous change
   1181       tweaks: frob some comments, and reshuffle two fragments of code
   1182       tweaks: frob two fragments of code, to be more readable
   1183       tweaks: make a skipping condition more precise
   1184       tweaks: remove an old fix that was made superfluous by a recent fix
   1185       tweaks: remove a strangely placed warning
   1186       tweaks: rename six symbols, to be more straightforward
   1187       tweaks: reshuffle some code, and reduce the scope of a variable
   1188       tweaks: reshuffle three conditions into a better order
   1189       tweaks: rewrap and reindent a few lines
   1190       tweaks: rewrap two lines, for esthetics
   1191       tweaks: stop evaluating a rule when the match is offscreen to the right
   1192 
   1193 
   1194 Changes between v5.4 and v5.5:
   1195 ------------------------------
   1196 
   1197 Benno Schulenberg (84):
   1198       build: fix compilation for --enable-{tiny,help,multibuffer}
   1199       build: fix compilation when configured with --disable-utf8
   1200       build: fix compilation when configured with --enable-tiny
   1201       build: remove the '--with-slang' configure option
   1202       bump version numbers and add a news item for the 5.5 release
   1203       chars: short-circuit determining the width of characters under U+0300
   1204       chars: speed up the handling of invalid UTF-8 starter bytes
   1205       copyright: update the years for the FSF
   1206       display: add code for showing minimal state-information bar at the bottom
   1207       display: do not show the state flags in the help viewer or file browser
   1208       docs: explain the effect of --minibar / -_ / 'set minibar'
   1209       docs: explain the purpose of --markmatch / -^ / 'set markmatch'
   1210       docs: insert links to the mailing-list archives into the README
   1211       docs: mention in NEWS that some workarounds were removed
   1212       docs: mention the new 'set promptcolor' option
   1213       docs: remove all mentions of Slang
   1214       feedback: differentiate between remarks, mistakes, and information
   1215       feedback: wipe the status bar by default after 20 keystrokes
   1216       files: when truncating a file name, give an indication of this
   1217       general: remove support for Slang
   1218       gnulib: update to its current upstream state
   1219       input: intercept ^Z also when --minibar is active
   1220       input: interpret a keystroke as Meta only when an earlier escape was solo
   1221       memory: avoid leaking the speller or linter command string, when invoked
   1222       minibar: add an [x/y] "counter" when multiple files are open
   1223       minibar: add a percentage that shows how far the cursor is into the file
   1224       minibar: allow the number-of-lines to overrule also the state flags
   1225       minibar: allow the number-of-lines to overrule location + character code
   1226       minibar: drop the side spaces before suppressing the state flags
   1227       minibar: represent bytes as 0xNN and valid Unicode code points as U+NNNN
   1228       minibar: show the info bar again some 0.8 seconds after a message
   1229       minibar: show the line count in the bar (at startup and when saving)
   1230       minibar: show Unicode codes when in a UTF-8 locale
   1231       minibar: suppress some elements when there is no room to show them
   1232       minibar: when the next character has zero width, show its code too
   1233       minibar: when the overnext character has zero width too, show its code
   1234       mouse: do not offset the shortcuts by 'margin' when using --linenumbers
   1235       oops: use the correct condition for checking the last line will change
   1236       options: accept 'set promptcolor' for setting the color of the prompt bar
   1237       options: add --markmatch and -^ for activating the select-match behavior
   1238       options: add --minibar and -_ for activating basic state-information bar
   1239       prompt: restore a workaround for a cursor misplacement bug in ncurses
   1240       prompt: suppress the ">" character always when exactly at the right edge
   1241       rcfile: rename 'nowrap' toggle to 'breaklonglines', to match the option
   1242       search: set the mark at the end of a found match so it gets highlighted
   1243       search: suppress the cursor when highlighting a match
   1244       speller: do an internal spell check when --speller is an empty string
   1245       speller: strip leading whitespace from command, to avoid a sneaky crash
   1246       syntax: go: add author and license line
   1247       syntax: nanorc: colorize 'bookstyle' as a valid option
   1248       syntax: nanorc: colorize 'set promptcolor' as valid
   1249       syntax: sh: recognize shebangs with any shell after 'env', not just 'sh'
   1250       tweaks: adjust the indentation after the previous change
   1251       tweaks: avoid compilation warnings on 32-bit machine plus newer compiler
   1252       tweaks: avoid computing the cursor column twice, and the "page" too
   1253       tweaks: avoid hitting negative values when using size_t
   1254       tweaks: change an intermediate variable to a better one
   1255       tweaks: clean up after the previous change
   1256       tweaks: condense the description of how to report a bug
   1257       tweaks: correct a translator hint
   1258       tweaks: correct two comments after the previous changes
   1259       tweaks: do not change the pointer, but move the content of the string
   1260       tweaks: drop a small optimization for invalid UTF-8 starter bytes
   1261       tweaks: elide a variable, by using a reallocation instead
   1262       tweaks: fold some conditions into bitwise masks, for efficiency
   1263       tweaks: fold two similar and three identical cases together
   1264       tweaks: move 'set indicator' to its alphabetical place in the manual
   1265       tweaks: move the displaying of the state letters into a separate function
   1266       tweaks: push back the deprecation of the 'set nowrap' option
   1267       tweaks: put the new options in a consistent order in the code
   1268       tweaks: reduce the scope of a static variable
   1269       tweaks: remove some #ifdefs that were there only for Slang
   1270       tweaks: rename a variable, to be similar to its sister
   1271       tweaks: reshuffle a condition, to probably avoid an unneeded calculation
   1272       tweaks: reshuffle an option, to have two related ones grouped together
   1273       tweaks: reshuffle some lines, to group things better
   1274       tweaks: reshuffle some lines, to have most #includes near the beginning
   1275       tweaks: reshuffle some more lines, to have most #defines together
   1276       tweaks: reshuffle two lines, and rename a variable to a plain word
   1277       tweaks: reword the description of an option
   1278       tweaks: simplify a bit of logic
   1279       tweaks: use a boolean instead of an enumeration of two values
   1280       undo: remove the added magic line when a replacement caused one
   1281       weeding: remove some obsolete information from the README
   1282 
   1283 OIX (1):
   1284       mouse: update title bar (the M flag) when the click is on the cursor
   1285 
   1286 
   1287 Changes between v5.3 and v5.4:
   1288 ------------------------------
   1289 
   1290 Benno Schulenberg (31):
   1291       bindings: accept b for scrolling back up in help viewer and file browser
   1292       build: exclude a workaround for VTE/Konsole when using a recent ncurses
   1293       build: include a workaround for VTE only when using an older libvte
   1294       bump version numbers and add a news item for the 5.4 release
   1295       copyright: update to the current year for significantly changed files
   1296       docs: adjust for the changed name of the header-file package on Debian
   1297       docs: use standard-compliant HTML entities for the four arrows
   1298       feedback: abort when user tries to open multiple files in tiny version
   1299       gnulib: update to its current upstream state
   1300       help: allow the penultimate item extra space when the number is uneven
   1301       help: show all valid help items also in the Write-Out menu
   1302       linting: avoid putting the cursor beyond the end of the line
   1303       moving: skip combining characters and other zero-width characters
   1304       options: do not spew out the help text when an option is not recognized
   1305       prompt: skip over combining characters also when editing a search string
   1306       rcfile: stop accepting 'set view' in a nanorc file, and undocument it
   1307       statusbar: properly pluralize the line+word+character count report
   1308       tweaks: avoid copying an option's argument when there is no need
   1309       tweaks: normalize the formatting after the previous two changes
   1310       tweaks: rename two variables and improve two comments
   1311       tweaks: rename two variables, one for contrast, another for visibility
   1312       tweaks: reshuffle a fragment of code, for clarity
   1313       tweaks: reshuffle a line, elide two braces, and adjust the indentation
   1314       tweaks: reshuffle three lines and elide braces after the previous change
   1315       tweaks: slightly shorten a loop, to place the actual action outside of it
   1316       tweaks: use the standard symbols for the three standard file descriptors
   1317       utils: die when trying to allocate zero bytes
   1318       weeding: remove another unneeded workaround for VTE
   1319       weeding: remove a workaround for early versions of ncurses-6.0
   1320       weeding: remove a workaround for versions of ncurses before 5.9
   1321       weeding: remove a workaround for VTE that is not needed
   1322 
   1323 
   1324 Changes between v5.2 and v5.3:
   1325 ------------------------------
   1326 
   1327 Arturo Borrero González (1):
   1328       syntax: nftables: include author and license lines
   1329 
   1330 Benno Schulenberg (92):
   1331       browser: make M-W/M-Q functional right after startup, if there is history
   1332       browser: sort names that differ only in case with uppercase first
   1333       browser: wipe the status bar before searching again with M-W or M-Q
   1334       build: abort the update script if a PO file contains a control character
   1335       build: avoid two compiler warnings when gnulib has been ripped out
   1336       build: do not accept --enable-libmagic when not having color support
   1337       build: do not let Slang translate escape sequences to key codes
   1338       build: exclude bunches of raw escape sequences from the tiny version
   1339       build: exclude --emptyline, --jumpyscrolling, and --noread from tiny nano
   1340       build: exclude excessive version information from the tiny version
   1341       build: exclude option --tabsize (-T) from the tiny version
   1342       build: exclude reading a file from standard input from the tiny version
   1343       build: exclude the three --help column headers from the tiny version
   1344       build: include some raw sequences for the graphical Debian installer
   1345       build: stop using an obsolete macro, and use 'void' for signal handlers
   1346       build: to verify wide curses, probe for a function that cannot be a macro
   1347       bump version numbers and add a news item for the 5.3 release
   1348       chars: reduce searching time with roughly 85 percent for plain ASCII
   1349       display: do not unnecessarily wipe the status bar
   1350       display: do not wipe the status bar when the terminal has just one row
   1351       display: force the cursor to reappear after a message (when using Slang)
   1352       display: force the cursor to reappear in a better way (when using Slang)
   1353       display: skip a special-case refresh when a message was written
   1354       docs: add a link to the website also to the info manual
   1355       docs: add the customary (1) after the name of command-line programs
   1356       docs: condense the descriptions of cutting and pasting
   1357       docs: explain the purpose of -! / --magic / 'set magic'
   1358       docs: explain the 'set scrollercolor' option, for coloring the indicator
   1359       docs: explain what the options --stateflags (-%) and 'set stateflags' do
   1360       docs: improve two wordings in the sample nanorc
   1361       docs: mention that syntax definitions are available in /usr/share/nano/
   1362       feedback: don't give a hint for <Bsp>, and not after an Alt+key was used
   1363       feedback: in the tiny version, let M-H show the helpful hint too
   1364       feedback: make an "Unbound key" message disappear on the next keystroke
   1365       feedback: show a helpful message for ^G even when there is no help
   1366       feedback: show helpful message for the first ^H at the top of the file
   1367       gnulib: update to its current upstream state
   1368       help: do not leave the cursor on the status bar after a search
   1369       help: do not show "^G Help" in the tiny version when there is no help
   1370       help: ensure the help lines are always drawn, also when using Slang
   1371       help: in the tiny version, show Prev/Next Word before Backward/Forward
   1372       help: nicely pair menu items also when built with just --disable-help
   1373       new feature: option --stateflags to show some states in top-right corner
   1374       options: add -? as a synonym of -h (--help), but leave it undocumented
   1375       options: move --stateflags (-%) and --magic (-!) to the end of the list
   1376       options: require --magic or 'set magic' to enable the use of libmagic
   1377       rcfile: add 'set scrollercolor', for changing the color of the indicator
   1378       suspension: do not enter an invalid byte upon resume (when using Slang)
   1379       suspension: properly resume from an external SIGSTOP
   1380       suspension: resume properly from an external SIGSTOP (when using Slang)
   1381       suspension: switch off flow control at the right moment (for Slang)
   1382       syntaxes: add author and license lines to four of the files
   1383       syntax: nanorc: stop coloring 'morespace' and 'smooth' as valid
   1384       syntax: nanorc: stop coloring 'nopauses' and 'nowrap' as valid
   1385       syntax: nanorc: stop coloring 'quiet' and 'backwards' and 'finalnewline'
   1386       syntax: po: do not leave the occasional tab with a red background color
   1387       syntax: po: highlight embedded control codes that shouldn't be there
   1388       syntax: sh: recognize some shell scripts by their Emacs modeline
   1389       tweaks: add a hint for translators
   1390       tweaks: add some comments to the C syntax, and sort some keywords
   1391       tweaks: adjust some whitespace in the docs, and improve a comment
   1392       tweaks: avoid a compiler warning when compiling with more than -O1
   1393       tweaks: condense a bit of code
   1394       tweaks: condense a bit of code after the previous change
   1395       tweaks: drop the unneeded saving and restoring of a global variable
   1396       tweaks: dummy commit, to add some info about the previous one
   1397       tweaks: elide a one-line function, after reducing it to a single call
   1398       tweaks: fold one function into another, to elide an unneeded return value
   1399       tweaks: harmonize the spelling of a compound word, and rewrap a section
   1400       tweaks: harmonize the style of error messages and warnings in ./configure
   1401       tweaks: make two of the changes that 'autoupdate' suggests
   1402       tweaks: move three functions, to before the ones that call them
   1403       tweaks: move two more functions, to before the ones that call them
   1404       tweaks: move two more functions, to before the one that calls them
   1405       tweaks: normalize the indentation after the previous change
   1406       tweaks: remove an inconsistent newline from the end of an error message
   1407       tweaks: remove an unused element from 'funcstruct', saving 8 more bytes
   1408       tweaks: remove mistaken escape sequences for function keys on xterm
   1409       tweaks: remove two stray comments and two lines that were commented out
   1410       tweaks: rename another variable, away from being misnamed
   1411       tweaks: rename four variables, reshuffle them, and correct one type
   1412       tweaks: rename two elements of history struct, away from abbreviations
   1413       tweaks: rename two variables, to be more distinct
   1414       tweaks: replace two more occurrences of 'AC_TRY_RUN' with 'AC_RUN_IFELSE'
   1415       tweaks: reshuffle a condition, to elide a blank string
   1416       tweaks: reshuffle some lines after the previous change
   1417       tweaks: reshuffle some lines and adjust indentation after previous change
   1418       tweaks: reshuffle two lines and a function name, for a consistent order
   1419       tweaks: rewrap nine more old NEWS items, for balanced line lengths
   1420       tweaks: rewrap three NEWS items, for more balanced line lengths
   1421       tweaks: stop 'autoupdate' from failing with "end of file in string"
   1422       version: remove URL and email address from the --version output
   1423 
   1424 Hussam al-Homsi (5):
   1425       syntax: c: colorize also one-character constants, and the null directive
   1426       syntax: c: colorize also the keywords that start with an underscore
   1427       syntax: c: colorize also the 'restrict' keyword, and the #line directive
   1428       tweaks: reorder a member of 'funcstruct', to save 8 bytes of padding
   1429       tweaks: stop casting the return of malloc() and friends
   1430 
   1431 Ryan Westlund (1):
   1432       syntax: markdown: add author and license line
   1433 
   1434 
   1435 Changes between v5.1 and v5.2:
   1436 ------------------------------
   1437 
   1438 Benno Schulenberg (30):
   1439       build: stop distributing the README.GIT file
   1440       build: stop mentioning Slang in two ./configure messages
   1441       bump version numbers and add a news item for the 5.2 release
   1442       display: restore the ability to resize the screen while searching
   1443       docs: add a cross-reference from 'findbracket' to 'set matchbrackets'
   1444       docs: adjust description of ^T in cheatsheet, and mention M-Bsp
   1445       docs: mention in the FAQ how to change the escape sequences of urxvt
   1446       docs: reshuffle the section about the file browser to a better place
   1447       gnulib: back away from a commit that causes trouble when using clang
   1448       gnulib: update to its current upstream state
   1449       history: do not interpret a failing stat() as an error
   1450       input: allow also a Meta keystroke to abort a Search command
   1451       input: dawdle after an ESC also when --rawsequences is used
   1452       input: discard any multibyte character when <Alt> is being held
   1453       input: do not enter invalid bytes when holding down both Alt keys
   1454       input: hold on to a shift-selected region when an unbound key is struck
   1455       rcfile: make sure that "bright"/"light" are prefixes, not separate words
   1456       replacing: do not try to wipe nonexistent multidata, to avoid crashing
   1457       search: poll the input stream directly, not nano's own keystroke buffer
   1458       search: retain the current answer when something is toggled
   1459       tweaks: adjust a comment, and reshuffle the setting of a boolean
   1460       tweaks: condense two declarations
   1461       tweaks: condense two fragments of code, for compactness
   1462       tweaks: elide an unneeded variable
   1463       tweaks: improve three comments and an indentation
   1464       tweaks: move the keyboard-checking code to the end of the search loop
   1465       tweaks: remove a variable and two functions that have become redundant
   1466       tweaks: rename a variable, to not seem to refer to the scrollbar
   1467       tweaks: reshuffle four declarations, and rename two variables
   1468       verbatim: reserve enough space for the result also in non-UTF-8 locales
   1469 
   1470 
   1471 Changes between v5.0 and v5.1:
   1472 ------------------------------
   1473 
   1474 Benno Schulenberg (55):
   1475       anchor: in a UTF-8 locale, show an anchor as a diamond, for visibility
   1476       anchor: show an anchor also when the line is horizontally scrolled
   1477       bindings: make <Alt+Backspace> delete a word backwards, like in Bash
   1478       build: fix compilation for --enable-tiny --enable-nanorc --enable-color
   1479       build: fix compilation when configured with --enable-tiny
   1480       build: stop distributing the two old Changelogs
   1481       bump version numbers and add a news item for the 5.1 release
   1482       display: show the cursor position also right after the screen is resized
   1483       docs: fix a closing tag in the FAQ  [tidy]
   1484       docs: mention that anchors are visible when line numbers are shown
   1485       feedback: add the reason to the error message when forking fails
   1486       feedback: use three dots to indicate processing, like everywhere else
   1487       feedback: when creating a pipe fails, report also the reason
   1488       files: do not try writing to the status bar while not in curses mode
   1489       formatter: force the mark off, to not crash by accessing empty cutbuffer
   1490       gnulib: update to its current upstream state
   1491       help: list again the keystroke for toggling the help lines (M-X)
   1492       input: understand M-Bsp also when terminfo does not match the terminal
   1493       moving: make <Ctrl+Up> go to the top when above the cursor all is blank
   1494       rcfile: allow to bind M-[  (even though it is an escape-sequence starter)
   1495       softwrap: initialize the 'extrarows' value for the magic line correctly
   1496       speller: give proper feedback when the user tries to check emptiness
   1497       speller: give startup feedback (relevant when running on a Linux console)
   1498       speller: re-enter curses mode before trying to report an error
   1499       syntax: css: differentiate pseudo-classes (now cyan) from comments (blue)
   1500       syntax: default: colorize also "GNU nano 5.x"
   1501       tweaks: adjust the indentation after the previous change
   1502       tweaks: adjust the indentation after the previous change
   1503       tweaks: avoid a maybe-uninitialized-variable warning from gcc
   1504       tweaks: elide an unneeded variable, by transforming the key code directly
   1505       tweaks: elide two variables that are no longer needed, and update comment
   1506       tweaks: exclude old and mistaken "Esc O" sequences from the tiny version
   1507       tweaks: make a few more direct returns, and reshuffle another bit of code
   1508       tweaks: make a misplaced call of statusline() more obvious by crashing
   1509       tweaks: normalize the indentation after the previous change
   1510       tweaks: normalize the indentation, and regroup two lines
   1511       tweaks: optimize for byte-range characters, and shorten some comments
   1512       tweaks: parse the escape-sequence bytes without copying them first
   1513       tweaks: pass first byte of sequence directly to the decoding function
   1514       tweaks: print error message directly instead of passing it to the caller
   1515       tweaks: read keycodes from the keystroke buffer without copying them
   1516       tweaks: remove an unneeded beep, and reshuffle the lines for compactness
   1517       tweaks: reshuffle a few lines, to condense the code, and improve comment
   1518       tweaks: reshuffle four lines, for esthetics
   1519       tweaks: reshuffle some fragments, to make the next change easier
   1520       tweaks: reshuffle the zeroing of a counter, to allow some direct returns
   1521       tweaks: simplify two functions, as they now return always NULL
   1522       tweaks: split a function into two, one for "Esc O" and one for "Esc ["
   1523       tweaks: stop using a 'switch' when there are just three possibilities
   1524       verbatim: discard entire keystroke when it's not valid for Unicode Input
   1525       verbatim: do not report "Invalid code" when a Unicode character is typed
   1526       verbatim: do not report "Invalid code" when the terminal is resized
   1527       verbatim: insert the full code sequence when <Alt+Backspace> is pressed
   1528       verbatim: pause a little after an ESC, to not miss a succeeding code
   1529       verbatim: report and ignore an invalid keystroke for Unicode input
   1530 
   1531 Michalis Kokologiannakis (2):
   1532       build: avoid compilation warnings by using memcpy() instead of strncpy()
   1533       files: ignore only EPERM when fchmod() or fchown() fails
   1534 
   1535 
   1536 ======================================================================
   1537 For older changes, see in https://ftp.gnu.org/gnu/nano/nano-5.0.tar.xz
   1538 ======================================================================