diff --git a/ChangeLog b/ChangeLog index d2cc576a..393a9582 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,205 @@ +Changes between v5.9 and v6.0: +------------------------------ + +Benno Schulenberg (192): + bindings: allow rebinding ^Z also on a Linux console (a VT) + bindings: allow toggling line numbers (when enabled) also in tiny version + bindings: let ^T in the tiny version invoke spell checker (when included) + browser: with --zero, do not use the bottom row for displaying filenames + build: fix compilation when configured with --disable-color + build: fix compilation when configured with --disable-nanorc + build: fix compilation when configured with --enable-tiny + build: fix compilation with --enable-tiny --enable-nanorc + build: fix compilation with --enable-tiny --enable-wrapping + build: include the YAML syntax file among the distributed files + bump version numbers and add a news item for the 6.0 release + display: clear the status bar early enough, so that --zero can show text + display: do not wipe the status bar when --zero or --minibar is active + display: ensure feedback will be cleared also on a one-row terminal + display: make sure there are at least as many text lines as help lines + display: move some code for overwriting verbatim feedback with --zero + display: redraw the screen in tiny version upon resuming from suspension + display: with --zero, redraw the bottom row instead of wiping a message + docs: add a hint about making ^L do just 'refresh' to the sample nanorc + docs: add a meta description for the HTML rendering of the manual + docs: add a suggested rebind and three suggested unbinds to the sample rc + docs: avoid large Table of Contents at top of HTML version of manual + docs: clarify that --enable options do not fully counteract --enable-tiny + docs: correct the description of the layout -- four areas, not five + docs: document the effect of --quickblank together with --zero/--minibar + docs: explain the effect of --zero / -0 / 'set zero' + docs: explain what it means when --rawsequences is needed + docs: give more examples of things that --enable-tiny excludes + docs: improve the title of the manual, away from the bare "nano" + docs: list the new color names, from 'rosy' to 'crimson' + docs: mark options -z, --suspendable, and 'set suspendable' as obsolete + docs: mention "grey" also at the other place where color names are listed + docs: mention M-Z (for toggling the interface) among the Feature Toggles + docs: mention that --zero and 'set zero' hide also the help lines + docs: move the chapter about editor basics into third position + docs: prevent a black square in the PDF after the long synopsis line + docs: reshuffle a GNU marker, to make the title clearer in search engines + docs: reword several of the descriptions in the chapter on building nano + docs: reword the beginning of the chapter on nanorc files + docs: say thanks to the Indonesian translator + feedback: give a more accurate message when the help lines won't appear + feedback: refuse the --constantshow toggle (M-C) on a one-row terminal + feedback: report an unbindable function key as an "Unknown sequence" + feedback: report the number of inserted lines also with --zero or --mini + feedback: show a relevant message for M-O when the syntax has 'tabgives' + feedback: suppress chatty messages when --zero is active + feedback: to have a status bar, suppress --zero while in the help viewer + feedback: when reporting an unbound function key, mention its number + feedback: when the user types ^Z, say they can suspend nano with ^T^Z + feedback: with --mini or --zero, suppress number of lines for new buffer + feedback: with --mini/--zero, suppress message when toggling whitespace + feedback: with --zero, drop a message in a short while, as with --minibar + files: allow inserting also when started with the --noread option + files: clear original filename when the user toggles Append or Prepend + gnulib: update to its current upstream state + help: do not show ^S when --preserve is in effect + help: ensure there is a blank line between title bar and start of text + help: group the now lone mouse toggle with the "behavioral" ones + help: remove an unneeded restriction for small terminals + help: skip the leading blank line when the terminal is very flat + help: when done, always redraw the "bottom bars", also with --zero + history: process file faster by not filtering out hypothetical duplicates + input: ensure that no more bytes are consumed than are available + justify: correctly determine whether top-of-buffer has been reached + memory: avoid a tiny leak when an option with an argument is given twice + memory: avoid leaking the filename when dottifying it on the minibar + new feature: option --zero for an interface without bars + options: make --zero imply --nohelp, and 'set zero' imply 'set nohelp' + pasting: when less than a line is pasted, allow automatic hard-wrapping + prompt: avoid resetting the history pointer when the search is cancelled + prompt: begin at bottom of history list when at secondary prompt + prompt: keep a clear answer clear also after an excursion into history + rcfile: recognize fourteen new color names, mostly for subdued shades + rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keywords + replacing: keep centering the occurrence, also after toggling help lines + replacing: keep the spotlighted occurrence in view, also with --zero + replacing: keep the spotlighting, also after toggling the help lines + search: with --zero, do not obscure an occurrence on the bottom row + search: with --zero, drop a message at the same time as the spotlight + statusbar: count words in the way that matches how Ctrl+Right moves + statusbar: overwrite a message also when using --constant with --zero + suspension: enable ^Z by default -- ignore -z option and drop M-Z toggle + suspension: leave ^Z unbound by default -- just ^T^Z will suspend nano + syntax: debian: remove file -- Debian itself will have to handle it + syntax: default: colorize comments as one of the last things + syntax: default: colorize dates, URLs, and nano's release motto + syntax: email: use a character class, as \s does not work inside brackets + syntax: gentoo: remove file -- Gentoo itself will have to handle it + syntax: nanorc: add 'execute' menu for unbind, and drop a bad constraint + syntax: nanorc: avoid colorizing #rgb codes as if they were comments + syntax: nanorc: colorize a trailing comment when it begins with non-hex + syntax: nanorc: colorize each of the fourteen new color names as valid + syntax: nanorc: improve the file-matching regex + syntax: nanorc: paint arguments of 'include' and 'extendsyntax' specially + syntax: nanorc: require whitespace before the start= and end= keywords + syntax: python: colorize backslash escapes, such as \n and \xef + syntax: ruby: colorize embedded documentation as a comment + syntax: rust: do not colorize as string the text between two strings + syntax: sql: add a few more missing keywords, like TRUE and FALSE + syntax: sql: add more missing keywords, like INNER and OUTER JOIN + syntax: sql: add some missing keywords, like ALL and ANY and OR + syntax: sql: add two missing data types -- xml and tsquery + syntax: sql: colorize as flow control only keywords that clearly are such + syntax: sql: colorize keywords regardless of case, and tweak the colors + syntax: sql: colorize only single-quoted things as strings + syntax: sql: colorize strings differently than types + syntax: sql: remove alien stuff -- it was copied mostly from ruby syntax + syntax: texinfo: be more precise in colorizing @commands + syntax: texinfo: colorize the special @-plus-punctuation commands too + syntaxes: avoid coloring "this\" as if it were a valid string + syntaxes: colorize hex more strictly by using character class [:xdigit:] + syntaxes: drop three redundant end-of-line anchors + syntaxes: undouble the backslash within bracket expressions + syntaxes: use one regex for coloring quoted strings, to avoid overlap + tabbing: also with --zero, stay one row away from the prompt bar + tweaks: add an auxiliary variable, to prepare for handling --zero + tweaks: add two spaces and two comments, and drop an internal check + tweaks: adjust two values -- help lines need at least 6 rows to be shown + tweaks: avoid a compiler warning with --enable-tiny --enable-linenumbers + tweaks: avoid redrawing the entire window when just a 'touch' will do + tweaks: condense the definitions of all the empty functions + tweaks: condense the regexes for Types in the SQL syntax + tweaks: don't redraw the help lines (if present), and normalize a brace + tweaks: drop a fragment of code that became functionless + tweaks: elevate two messages, so they get shown with --mini or --zero + tweaks: elide a variable that is confusing and has just one use case + tweaks: elide two functions that each were called just once + tweaks: elide two parameters, as they are now always the same + tweaks: exclude some hidden-interface code from the tiny version + tweaks: exclude some suspension code from the tiny version + tweaks: fix a parentheses mistake -- found by a warning from Clang + tweaks: fix a somewhat humorous typo + tweaks: fix typo, and improve description of 'set zero' in sample nanorc + tweaks: fold a special case into the general one + tweaks: fold some regexes together, and trim or improve some comments + tweaks: frob a couple of comments, and drop two, for conciseness + tweaks: improve a comment, and drop two cluttering compile conditions + tweaks: invert a condition, to get an early return instead of indentation + tweaks: just let do_wrap() set 'refresh_needed' instead of returning TRUE + tweaks: mark keystrokes consistently with @kbd in the manual + tweaks: move a translator hint to where xgettext will see it + tweaks: normalize whitespace, drop unneeded prototype, condense comment + tweaks: on one-row terminals, suppress the message for two toggles + tweaks: place the unsetting of a flag better, and rename a variable + tweaks: put three email addresses between the customary angled brackets + tweaks: reassign a copy of a string to a variable more economically + tweaks: reduce redundancy (--enable-color implies --enable-nanorc) + tweaks: remove redundant pair of parentheses, and swap two alternatives + tweaks: remove redundant parentheses, trim comments, fold some regexes + tweaks: remove two unneeded unsettings + tweaks: rename a function and its parameter, to be clearer + tweaks: rename a function, away from using an abbreviation + tweaks: rename a function, for some contrast and to get rid of a suffix + tweaks: rename a function, to describe better what it does nowadays + tweaks: rename a function, to make it make sense + tweaks: rename a variable, to be distinctive and less confusing + tweaks: rename a variable, to be easier to read and to make more sense + tweaks: rename five empty functions, to get rid of a meaningless suffix + tweaks: rename three functions, to better fit the general scheme + tweaks: rename three parameters, away from single letters + tweaks: rename two empty functions, to be more to the point + tweaks: rename two functions, to get rid of another senseless suffix + tweaks: rename two functions, to get rid of one more senseless suffix + tweaks: rename two functions, to get rid of the senseless suffix of one + tweaks: rename two more functions, to lose a senseless suffix + tweaks: rename two parameters and one variable, away from single letters + tweaks: rename two variables, away from abbreviations + tweaks: rename two variables, to fit with the names of similar ones + tweaks: replace a verbose condition with a simpler early return + tweaks: replace the obscure @* with the slightly clearer @sp + tweaks: replace two direct refreshes with two scheduled ones + tweaks: reshuffle a coloring rule, to have related ones together + tweaks: reshuffle a few lines, and rename a variable + tweaks: reshuffle a few lines, for Christmas and to group things better + tweaks: reshuffle a fragment of code to a better place + tweaks: reshuffle a line and adjust indentation after previous change + tweaks: reshuffle a line into its proper order, and improve two comments + tweaks: reshuffle some conditions, so that the ifs have similar formats + tweaks: reshuffle some conditions, to have more balanced lines + tweaks: reshuffle some lines, one for clarity, others for conciseness + tweaks: reshuffle the flag conversion into their order in the help text + tweaks: reshuffle two conditions, re-indent, and rewrap a line + tweaks: reword a paragraph, and use usual M- to depict Meta keystrokes + tweaks: rewrap an old news item, for distraction + tweaks: rewrap three old NEWS items, for esthetics, and fix a date + tweaks: shorten a comment, and drop some conditionalizing + tweaks: shorten the description of --zero in the manuals a bit + tweaks: shorten two comments, and fold two statements together + tweaks: swap two parts of specific regexes, for consistency with others + tweaks: untangle two case items, and shorten a message + tweaks: use a color closer to the rest of the string, to reduce contrast + tweaks: use a few fewer capitals, and drop an unneeded synonym + +Brad Town (2): + docs: add a description of the hexadecimal #rgb color specification + rcfile: support #rgb format for specifying colors in 256-color terminals + + Changes between v5.8 and v5.9: ------------------------------ diff --git a/IMPROVEMENTS b/IMPROVEMENTS index 86e29286..8118878f 100644 --- a/IMPROVEMENTS +++ b/IMPROVEMENTS @@ -1,6 +1,12 @@ Improvements in GNU nano ======================== +Since 6.0: + - Option --zero hides the interface and uses the whole terminal for editing. + - Colors can be given also in #rgb hexadecimal, to select the nearest color + from the 6x6x6 color-cube palette available on 256-color terminals. + - Fourteen new color names are available, from rosy to crimson. + Since 5.0: - A search briefly spotlights the found text, in black on yellow by default. - Option --minibar reduces the interface to a bottom bar with basic info. diff --git a/NEWS b/NEWS index 87f9ab57..4afc0754 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,26 @@ +2021.12.15 - GNU nano 6.0 "Humor heeft ook zijn leuke kanten" +• Option --zero hides the title bar, status bar and help lines, and + uses all rows of the terminal as editing area. The title bar and + status bar can be toggled with M-Z. +• Colors can now be specified also as three-digit hexadecimal numbers, + in the format #rgb. This picks from the 216 index colors (that most + terminals know) the color that is nearest to the given values. +• For users who dislike numbers, there are fourteen new color names: + rosy, beet, plum, sea, sky, slate, teal, sage, brown, ocher, sand, + tawny, brick, and crimson. +• Suspension is enabled by default, invokable with ^T^Z. The options + -z, --suspendable, and 'set suspendable' are obsolete and ignored. + (In case you want to be able to suspend nano with a single keystroke, + you can put 'bind ^Z suspend main' in your nanorc.) +• When automatic hard-wrapping is in effect, pasting just a few words + (without a line break) will now hard-wrap the line when needed. +• Toggling Append or Prepend clears the current filename. +• The word count as shown by M-D is now affected by option --wordbounds; + with it, nano counts words as 'wc' does; without it (the new default), + words are counted in a more human way: seeing punctuation as space. +• The YAML syntax file is now actually included in the tarball. + + 2021.10.06 - GNU nano 5.9 "El manicomio ha decidido: mañana sol!" • The extension of a filename is added to the name of a corresponding temporary file, so that spell checking a C file, for example, will diff --git a/README b/README index e2587334..96fd550c 100644 --- a/README +++ b/README @@ -15,7 +15,7 @@ Appearance In rough ASCII graphics, this is what nano's screen looks like: ____________________________________________________________________ - | GNU nano 5.9 filename Modified | + | GNU nano 6.0 filename Modified | -------------------------------------------------------------------- | This is the text window, displaying the contents of a 'buffer', | | the contents of the file you are editing. | diff --git a/configure.ac b/configure.ac index 23dd03c5..7c7624a3 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see https://www.gnu.org/licenses/. -AC_INIT([GNU nano], [5.9], [nano-devel@gnu.org], [nano]) +AC_INIT([GNU nano], [6.0], [nano-devel@gnu.org], [nano]) AC_CONFIG_SRCDIR([src/nano.c]) AC_CANONICAL_HOST AM_INIT_AUTOMAKE([1.14]) diff --git a/doc/faq.html b/doc/faq.html index 778c847d..0a711bca 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -92,7 +92,7 @@

1.3. Why the name change from TIP?

On January 10, 2000, TIP was officially renamed to nano because of a namespace conflict with another program called 'tip'. The original 'tip' program "establishes a full duplex terminal connection to a remote host", and was included with many older Unix systems (and newer ones like Solaris). The conflict was not noticed at first because there is no 'tip' utility included with most GNU/Linux distributions (where nano was developed).

1.4. What is the current version of nano?

-

The current version of nano should be 5.9. Of course, you should always check the nano homepage to see what the latest and greatest version is.

+

The current version of nano should be 6.0. Of course, you should always check the nano homepage to see what the latest and greatest version is.

1.5. I want to read the man page without having to download the program!

Jeez, demanding, aren't we? Okay, look here.


diff --git a/doc/nano.1 b/doc/nano.1 index 1aedd605..35718797 100644 --- a/doc/nano.1 +++ b/doc/nano.1 @@ -16,7 +16,7 @@ .\" Documentation License along with this program. If not, see .\" . .\" -.TH NANO 1 "version 5.9" "October 2021" +.TH NANO 1 "version 6.0" "December 2021" .SH NAME nano \- Nano's ANOther editor, inspired by Pico diff --git a/doc/nano.texi b/doc/nano.texi index 7510c229..3546d182 100644 --- a/doc/nano.texi +++ b/doc/nano.texi @@ -13,8 +13,8 @@ The complete manual for the GNU nano text editor. @smallbook @set EDITION 0.6 -@set VERSION 5.9 -@set UPDATED October 2021 +@set VERSION 6.0 +@set UPDATED December 2021 @dircategory Editors @direntry @@ -29,7 +29,7 @@ The complete manual for the GNU nano text editor. @title GNU @command{nano} @subtitle a small and friendly text editor -@subtitle version 5.9 +@subtitle version 6.0 @author Chris Allegretta @@ -76,7 +76,7 @@ For suggesting improvements: @email{nano-devel@@gnu.org} @node Top @top -This manual documents GNU @command{nano}, version 5.9. +This manual documents GNU @command{nano}, version 6.0. @menu * Introduction:: diff --git a/doc/nanorc.5 b/doc/nanorc.5 index 0e202a1c..82a6c0dd 100644 --- a/doc/nanorc.5 +++ b/doc/nanorc.5 @@ -16,7 +16,7 @@ .\" Documentation License along with this program. If not, see .\" . .\" -.TH NANORC 5 "version 5.9" "October 2021" +.TH NANORC 5 "version 6.0" "December 2021" .SH NAME nanorc \- GNU nano's configuration file diff --git a/doc/rnano.1 b/doc/rnano.1 index 1cca83b1..380ae189 100644 --- a/doc/rnano.1 +++ b/doc/rnano.1 @@ -16,7 +16,7 @@ .\" Documentation License along with this program. If not, see .\" . .\" -.TH RNANO 1 "version 5.9" "October 2021" +.TH RNANO 1 "version 6.0" "December 2021" .SH NAME rnano \- a restricted nano diff --git a/roll-a-release.sh b/roll-a-release.sh index 0fa0a1a7..6322c6a2 100755 --- a/roll-a-release.sh +++ b/roll-a-release.sh @@ -1,6 +1,6 @@ #!/bin/bash -VERSION="5.9" +VERSION="6.0" ./configure -C --enable-tiny && make && ./configure -C &&