From f2ae08ab19ca8f9810b1cfb25255d3acf902faf6 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Fri, 7 Feb 2020 10:42:06 +0100 Subject: [PATCH] bump version numbers and add a news item for the 4.8 release --- ChangeLog | 176 ++++++++++++++++++++++++++++++++++++++++++++++ IMPROVEMENTS | 4 ++ NEWS | 13 ++++ configure.ac | 2 +- doc/faq.html | 2 +- doc/nano.1 | 2 +- doc/nano.texi | 8 +-- doc/nanorc.5 | 2 +- doc/rnano.1 | 2 +- roll-a-release.sh | 2 +- 10 files changed, 203 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2a45590d..fe15827c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,179 @@ +Changes between v4.7 and v4.8: +------------------------------ + +Benno Schulenberg (166): + bindings: allow to bind shifted Meta+letter combinations with Sh-M-X + bindings: allow to rebind also ^`, although it is synonymous with ^Space + bindings: do not show the Full-Justify keystroke when in View mode + bindings: force the first letter in a key name to uppercase + build: exclude bracketed pasting from the tiny version + build: exclude option '-g' when configured without browser and help + build: exclude the escape sequences for F13...F16 from the tiny version + build: fix compilation for --enable-{tiny,help,multibuffer} + build: restrict the use of --with-slang to together with --enable-tiny + bump version numbers and add a news item for the 4.8 release + copyright: update the years for significantly changed files + copyright: update the years for the FSF + display: adjust line and column count upon a resize also when using Slang + display: clear the help lines before a briefly shown warning + display: don't let a message write over the second help line + display: ensure the guiding stripe can be shown when not softwrapping + display: exclude a bit of feedback from the tiny version + display: show the cursor during suspension also when built with Slang + display: skip zero-width characters on a Linux console, to avoid a mess + docs: add a FAQ item about a self-compiled nano not reading /etc/nanorc + docs: document the new -f/--rcfile option + docs: document the new Sh-M-X format for binding + docs: for the alternative bindings, rebind ^C only in the main menu + docs: improve the description of which rc-files are read during startup + docs: mention in the FAQ that auto-indentation is suppressed when pasting + docs: mention that -D/--boldtext gets overridden by some nanorc options + docs: put the three new behaviors in a bulletted list, to catch the eye + docs: stop saying that 'set fill' enables hard-wrapping -- it does not + docs: use more generally available arrows in the cheatsheet + feedback: ask a clearer question when a valid lock file is encountered + feedback: report Ctrl+Alt keystrokes as unbindable + feedback: restore a message that can occur in help viewer or file browser + files: alert the user afterward when an overwritten file is being edited + files: revert the previous commit, as the extra warning is annoying + files: warn doubly when the user is about to overwrite an existing file + files: write a lock file also for a new file and when the name changed + gnulib: update to its current upstream state + help: don't waste the last column in the help viewer on narrow terminals + help: increase the minimum help-text width from 24 to 32 columns + help: prevent double spaces from protruding across the right edge + help: when a key description wraps, indent its wrapped part + input: consume and ignore the raw escape sequences for F17 to F24 + input: correct the escape sequence for PageUp/PageDown on Eterm/Urxvt + input: Ctrl+arrow is "Esc O x" on Eterm, as on rxvt -- not "Esc o x" + input: discard partial sequences that Slang produces for F17 to F24 + input: do not auto-indent when something is pasted into nano from outside + input: don't discard the first keystroke after a resize when using Slang + input: filter out Ctrl+Meta keystrokes, as they can never be shortcuts + input: ignore bracketed pastes in help viewer and file browser + input: ignore modifiers on a VT while executing a macro or a string bind + input: prevent unintentional marking of text for shifted Meta keystrokes + input: read in an external paste in one go, to allow undoing with one M-U + input: recognize the raw escape sequences for F13 to F16 on xterm too + locking: accept a minimal amount of data, enough for PID plus username + locking: avoid crashing when there is a problem writing the lock file + locking: check two magic bytes, to verify that it is a lock file + locking: do not write a lock file when in view mode + locking: when a lock file is unreadable, open the file itself anyway + locking: when finding a lock file at startup, quit when user cancels + new feature: allow specifying a custom nanorc file on the command line + pasting: retain the mark's position when it was set at the cursor + prompt: for a Yes-No-All, accept the first character of an external paste + rcfile: do set the meta flag for plain combinations + rcfile: require "bright", "start=", and "end=" to be in lowercase too + rcfile: unbind keys by their key code instead of by their key string + softwrap: suppress the guiding stripe on unaffected chunks + speller: avoid messing up the screen when an unknown locale is used + suspension: put in an extra terminal-initialization call for Slang + syntax: nanohelp, nanorc: colorize the Sh-M-X format as a valid key name + syntax: nanorc: colorize all-lowercase Meta key binds as valid too + tweaks: add a little change that was overlooked in the previous commit + tweaks: add an error message for something that should never occur + tweaks: adjust or reword a few items in the FAQ + tweaks: adjust the indentation after the previous change + tweaks: allocate the lock data only when ready to write them + tweaks: avoid analyzing the key string when the target key code is known + tweaks: avoid determining the key code from the key string twice + tweaks: avoid fiddling with the keybuffer when it's not needed + tweaks: comment fully, so that all handled escape sequences are findable + tweaks: condense a fragment of code + tweaks: condense five more fragments of repetitious code + tweaks: condense three comments to one, and do the masking more directly + tweaks: condense three fragments of repetitious code + tweaks: condense two comments, and reshuffle an #endif + tweaks: correct a comment + tweaks: correct a couple of comments about escape sequences + tweaks: correct the description of what nano writes into the lock file + tweaks: delete some fragments of code that have become irrelevant + tweaks: do not leak a file descriptor when fdopen() fails + tweaks: don't bother including Haiku escape sequences in the tiny version + tweaks: don't enable bracketed pasting when not handling such pastes + tweaks: drop a message that will never be seen + tweaks: drop an unneeded call of keypad() -- we never read from topwin + tweaks: drop a pointless suffix from two function names + tweaks: elide a function that has become too small for its two calls + tweaks: elide a helper function, in preparation for an improvement + tweaks: elide an 'if', by moving the relevant code to a better place + tweaks: elide a small function, as it's in fact needed just once + tweaks: elide a somewhat costly call by remembering some state + tweaks: elide a variable, and rename its sister + tweaks: elide three checks of a shortcut's meta flag + tweaks: ensure that editor name and user name are NUL terminated + tweaks: exclude an unneeded fragment of code from the tiny version + tweaks: exclude two unneeded fragments of code from the tiny version + tweaks: free two strings as soon as they are no longer needed + tweaks: frob a couple of indentations and white lines + tweaks: fuse two nearly identical functions into a single one + tweaks: gather four calls that are always done together into a function + tweaks: harmonize the amount of lock data that we read and write + tweaks: improve a comment by indirectly referring to the ncurses docs + tweaks: in comments, reword "titlebar" and "statusbar" to two words each + tweaks: initialize three booleans straightaway, when they are declared + tweaks: initialize three more booleans straightaway, at declaration + tweaks: judge from the key code itself whether it is a Meta keystroke + tweaks: make a couple of comments more precise + tweaks: move a function to after the one that it calls + tweaks: move a function to be before the ones that call it + tweaks: move a function to before the one that calls it + tweaks: move a function to related ones, and after one that it calls + tweaks: move a function to right before the one that calls it + tweaks: move another function to after the one that it calls + tweaks: move another function to before the one that calls it + tweaks: move another function, to group the deleting ones together + tweaks: move three functions to the file where they are mainly used + tweaks: rearrange a few global variables, to group things better + tweaks: recompute the wrapping point just once + tweaks: reduce the scope of a variable, and reshuffle a declaration + tweaks: reduce the scope of two constants and of four variables + tweaks: reformat a comment, and resuffle a line to match byte order + tweaks: remove a feedback message that is never shown + tweaks: remove a redundant call, as there is nothing to free there + tweaks: remove a superfluous check + tweaks: remove some superfluous conditions for rewriting a lock file + tweaks: remove the now-unneeded code related to bracketed pasting + tweaks: remove the now-unused meta flag from 'keystruct' + tweaks: remove two superfluous assignments, and rename a variable + tweaks: rename a function and its parameter, to be more fitting + tweaks: rename a function, to be a bit more expressive + tweaks: rename a function, to make it not contain the name of another + tweaks: rename a parameter and invert its logic, and correct a comment + tweaks: rename five variables, away from a single letter + tweaks: rename two functions, to make more sense + tweaks: rename two parameters, to be more general and to sound shorter + tweaks: rename two variables, to make more sense + tweaks: renumber some FAQ items in preparation for adding another + tweaks: reorder two symbols + tweaks: reshuffle some assignments for a return value + tweaks: reshuffle some declarations + tweaks: reshuffle some declarations, and expand a few variable names + tweaks: reshuffle some lines, to avoid tallying the menus when not needed + tweaks: reshuffle some lines, to group all ignored keystrokes together + tweaks: reshuffle three lines, to make the grouping tighther + tweaks: reshuffle two lines, to do the linking first, then the content + tweaks: reword two comments, and rewrap another + tweaks: rewrap a comment and a line, and reshuffle a fragment of code + tweaks: rewrap two lines, for consistency with similar lines + tweaks: rewrite the same file name into the lock file as the first time + tweaks: slightly condense a function by conflating case + tweaks: stop recognizing escape sequences for a key without meaning + tweaks: suggest a few more alternative key bindings and unbindings + tweaks: take just one shot at reading the lock file, and correct a type + tweaks: trim some excessive error checking and key-name frobbing + tweaks: tumble three conditions, for consistency in comparisons + tweaks: unabbreviate "argument" in the documentation + tweaks: use a simple subtraction instead of a function call + usage: improve the description of --restricted and --quickblank + +Brand Huntsman (2): + input: beep when invalid key is pressed at yesno prompt or in linter menu + input: recognize the start and stop sequences of a bracketed paste + + Changes between v4.6 and v4.7: ------------------------------ diff --git a/IMPROVEMENTS b/IMPROVEMENTS index 194e721f..5e2d484d 100644 --- a/IMPROVEMENTS +++ b/IMPROVEMENTS @@ -2,6 +2,10 @@ Improvements in GNU nano ======================== Since 4.0: + - Pasting from outside into nano suppresses auto-indentation. + - Such an external paste can be undone with a single M-U. + - Shift+Meta+letter key combos can be bound with 'bind Sh-M-letter ...'. + - A custom nanorc file may be specified with -f / --rcfile. - What the key produces can be specified per syntax with 'tabgives'. - The ability to perform a search at startup with +/string or +?string. - Comment characters are copied when automatic hard-wrapping occurs. diff --git a/NEWS b/NEWS index ef8d13ef..d59d3188 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +2020.02.07 - GNU nano 4.8 "Jaška" +• When something is pasted into nano, auto-indentation is suppressed, + and the paste can be undone as a whole with a single M-U. +• When a lock file is encountered during startup, pressing ^C/Cancel + quits nano. (Pressing 'No' just skips the file and continues.) +• Shift+Meta+letter key combos can be bound with 'bind Sh-M-letter'. + Making any such binding dismisses the default behavior of ignoring + Shift for all Meta+letter keystrokes. +• The configuration option --with-slang (to be avoided when possible) + can now be used only together with --enable-tiny. +• A custom nanorc file can be specified on the command line, with + -f filename or --rcfile=filename. + 2019.12.23 - GNU nano 4.7 "Havikskruid" • A will indent a marked region only when mark and cursor are on different lines. diff --git a/configure.ac b/configure.ac index c9a5127b..3aaffd49 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], [4.7], [nano-devel@gnu.org], [nano]) +AC_INIT([GNU nano], [4.8], [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 f3987390..9f7a4862 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -89,7 +89,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 4.7. 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 4.8. 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 5f8e5239..4e99458e 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 4.7" "December 2019" +.TH NANO 1 "version 4.8" "February 2020" .SH NAME nano \- Nano's ANOther editor, inspired by Pico diff --git a/doc/nano.texi b/doc/nano.texi index d0e51eff..264da4f0 100644 --- a/doc/nano.texi +++ b/doc/nano.texi @@ -8,8 +8,8 @@ @smallbook @set EDITION 0.5 -@set VERSION 4.7 -@set UPDATED December 2019 +@set VERSION 4.8 +@set UPDATED February 2020 @dircategory Editors @direntry @@ -23,7 +23,7 @@ @titlepage @title GNU @command{nano} @subtitle a small and friendly text editor -@subtitle version 4.7 +@subtitle version 4.8 @author Chris Allegretta @page @@ -63,7 +63,7 @@ e-mail: @email{chrisa@@asty.org}@* @node Top @top -This manual documents the GNU @command{nano} editor, version 4.7. +This manual documents the GNU @command{nano} editor, version 4.8. @menu * Introduction:: diff --git a/doc/nanorc.5 b/doc/nanorc.5 index cc131249..eaf033f5 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 4.7" "December 2019" +.TH NANORC 5 "version 4.8" "February 2020" .SH NAME nanorc \- GNU nano's configuration file diff --git a/doc/rnano.1 b/doc/rnano.1 index a5296223..b00f07a2 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 4.7" "December 2019" +.TH RNANO 1 "version 4.8" "February 2020" .SH NAME rnano \- a restricted nano diff --git a/roll-a-release.sh b/roll-a-release.sh index c699048a..4abc53f9 100755 --- a/roll-a-release.sh +++ b/roll-a-release.sh @@ -1,6 +1,6 @@ #!/bin/bash -VERSION="4.7" +VERSION="4.8" ./configure -C --enable-tiny && make && ./configure -C &&