From 895d2b8e9c5c21f624b6cb5a45dc24677c534e39 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Mon, 17 Jun 2019 12:07:45 +0200 Subject: [PATCH] bump version numbers and add a news item for the 4.3 release --- ChangeLog | 249 ++++++++++++++++++++++++++++++++++++++++++++++ IMPROVEMENTS | 1 + NEWS | 8 ++ 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, 268 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 22691975..05567f09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,252 @@ +Changes between v4.2 and v4.3: +------------------------------ + +Benno Schulenberg (235): + bindings: at a Yes-No prompt, accept also ^N and ^Q for "No" + bindings: at a Yes-No prompt, accept also ^Y for "Yes" + bindings: bind the Alt+arrow keystrokes also in non-UTF-8 locales + browser: don't show a mistaken message when exiting from help viewer + build: avoid a warning on FreeBSD, OpenBSD, and Alpine + build: avoid a warning when using --disable-utf8 + build: exclude the ability to open a FIFO from the tiny version + build: fix compilation on another system + build: fix compilation when configured with --disable-color + build: fix compilation when configured with --enable-tiny + build: move an #include to where it is needed + build: remove two #includes that don't seem to be needed + bump version numbers and add a news item for the 4.3 release + chars: create a dedicated function for getting the length of a character + chars: redo the speedup for plain ASCII from three commits ago + chars: speed up case-insensitive searching by roughly one percent + chars: speed up the determination of length and width for plain ASCII + copying: let a copy command break a chain of cut or zap commands + copying: make M-6 do nothing when at end of buffer + copying: scroll just one line when M-6 is pressed on the bottom row + cutting: clear the cutbuffer when the previous operation was copying + cutting: ignore the mark when a word is deleted + display: properly show all characters in a non-UTF-8 build + docs: add a light warning to the explanation of --nonewlines + docs: adjust the wording of the README to be factually correct + docs: clarify that in nano regexes are extended regular expressions + docs: mention the default value for 'errorcolor' + docs: note Brand as the author of the delayed syntax parsing + docs: note David as author of undoable indenting and undoable justifying + docs: remove "--" from the default value of 'quotestr' + docs: say thanks to the Korean translator, and trim a double space + docs: show double quotes where they are needed + docs: slightly reword the notice about the changed defaults since 4.0 + feedback: don't clear off possible error messages after a spell check + feedback: don't try to represent keys outside of the seven-bit range + feedback: make an error check work also when curses hasn't started yet + feedback: print helpful message only when data comes from keyboard + feedback: show a more fitting message when opening a FIFO is interrupted + feedback: show an appropriate message when reading a file was cut short + feedback: treat statusline() being called outside of curses mode as a bug + feedback: when the last line is empty, don't include it in the count + files: allow a given file to be a special file but not a directory + files: allow to abort the reading of slow files with Ctrl+C + files: allow to interrupt the opening of a FIFO for writing with Ctrl+C + files: allow to interrupt the opening of a FIFO with Ctrl+C + files: check for writability by the access bits, not by trying to append + files: don't close a newly-created buffer when it is the only one + files: don't save the state of the terminal a second time + files: don't say "Error...: Success" when aborting after resizing + files: give feedback while waiting for a FIFO to open up + files: suppress feedback when writing an emergency or temporary file + files: try matching a syntax after scooping data from standard input + files: when needed, reconnect the keyboard and reenter curses mode + gnulib: update to its current upstream state + help: don't check for confinement when opening a temporary help-text file + help: don't cycle through the buffers for every resizing step + help: don't show Alt+Left and Alt+Right when running on a Linux console + help: make the column for the first keystroke a little wider + help: write the text directly into a new buffer, without using a tempfile + justify: remove "--" from the quoting regex, to avoid false paragraphs + oops: apparently the line numbers in the cutbuffer do matter + rcfile: at terminating points, verify that a defined syntax is not empty + rcfile: check for missing color commands only when a syntax is still open + rcfile: close off a syntax when a non-syntax command is encountered + rcfile: disallow extending a syntax that is defined in a main nanorc + rcfile: fully read each included file, so all its syntaxes are seen + search: stay in the Search menu when trying to Replace in view mode + softwrap: use smooth scrolling when softwrapping is toggled on + speller: be more concise and to the point when something goes wrong + speller: don't crash when the spell-checked tempfile cannot be opened + speller: ensure that a Shift-selected region is retained + speller: when something goes wrong with 'sort', do not blame 'spell' + startup: remove the now-unneeded workaround for a SIGWINCH during input + startup: resave the terminal's state only when there were no signals + syntax: po: colorize also escaped hex and octal codes + syntax: python: avoid miscoloring stuff between two empty strings + tweaks: add a missing forward declaration of make_new_buffer() + tweaks: add a pair of braces, to silence a compiler warning + tweaks: add a warning for something that shouldn't occur + tweaks: adjust a comment and drop two others, and reshuffle two lines + tweaks: adjust some indentation after the previous change + tweaks: adjust some whitespace and rewrap a few lines + tweaks: adjust the indentation after the previous change + tweaks: adjust the indentation after the previous change + tweaks: avoid an unneeded, extra stat() for temporary files + tweaks: avoid parsing a character twice + tweaks: be more sparing in redrawing things when exiting from help viewer + tweaks: change a function to void, to make things more direct + tweaks: check in a single place for files that should not be opened + tweaks: close a buffer differently and elide a parameter + tweaks: condense a comment and reshuffle a couple of lines + tweaks: condense a couple of comments, and reshuffle a line + tweaks: condense the setup of the two signal handlers for Ctrl+C + tweaks: condense two comments, and normalize the whitespace of a label + tweaks: consistently report failures to fork (and the like) as errors + tweaks: delete a leftover + tweaks: delete a now-unused function + tweaks: delete a now-unused function + tweaks: don't bother calling mblen() in a non-UTF-8 build + tweaks: don't bother checking the return value of wait() + tweaks: don't bother keeping track of whether a squeezed line has shrunk + tweaks: don't bother renumbering the lines in the cutbuffer + tweaks: don't bother saving and restoring 'cutbottom' all the time + tweaks: don't bother to free the content of 'extendsyntax' commands + tweaks: don't check the user's nanorc file for accessibility twice + tweaks: drop an unneeded parameter from open_file() + tweaks: drop a useless tidying-up call, as spelling does not use regexes + tweaks: drop most of the remaining debugging code, and some timing code + tweaks: drop some checks that were made redundant by the previous commit + tweaks: drop two checks that were made redundant by the previous commit + tweaks: elide a function that is an amalgam of three others + tweaks: elide a function that is called in just one place + tweaks: elide a function that is used just once + tweaks: elide another parameter, and rename the function to match + tweaks: elide an unneeded, duplicate stat() for the FIFO check + tweaks: elide an unneeded 'if' and 'break' + tweaks: elide an unneeded variable + tweaks: elide a parameter and a return value + tweaks: elide a pre-processor #else clause, by using braces instead + tweaks: elide a variable, drop a comment, and remove unneeded braces + tweaks: elide two unneeded variables + tweaks: enforce the miminum amount of scrolling in a simpler way + tweaks: exclude a bug check from the tiny version + tweaks: exclude another bug check from the tiny version + tweaks: factor out a fragment of code that is repeated three times + tweaks: factor out the installing and restoring of the ^C signal handler + tweaks: improve a couple of comments + tweaks: improve a handful of comments + tweaks: improve some comments, reshuffle a line, and rename a variable + tweaks: include the enabling of SIGINT into the tiny version + tweaks: invert a condition, in order to return earlier + tweaks: invert two conditions, in order to elide an extra variable + tweaks: just mark four rcfile errors for translation, like the others + tweaks: make better use of two variables, and reshuffle two comments + tweaks: merge two functions, as the first is called just once + tweaks: merge two functions, as the one is used only by the other + tweaks: merge two very similar functions into a single one + tweaks: move a bit of timing code to where it will be needed + tweaks: move a function to the file where it is used + tweaks: move an assignment that is useful only when searching forward + tweaks: move a syntax check to a better place, to reduce duplication + tweaks: move the tyding-up-after-a-search to a single exit point + tweaks: normalize the indentation after the previous two changes + tweaks: place a function better, and reduce some comments to a single one + tweaks: put some timing code back into the search function + tweaks: really don't bother renumbering the lines in the cutbuffer + tweaks: reduce a bit of mark-adjusting code to its essence + tweaks: reduce the scope of a variable, and let the compiler zero it + tweaks: remove a bit of redundant code + tweaks: remove a check that is no longer relevant + tweaks: remove a condition that has become superfluous + tweaks: remove an unneeded "closing" of a syntax after extending it + tweaks: remove an unneeded setting and unsetting of a flag + tweaks: remove a superfluous and ineffective assignment + tweaks: remove a superfluous condition, in three places + tweaks: remove four unneeded pre-processor directives + tweaks: remove some unneeded braces, and reshuffle for more symmetry + tweaks: remove the two remaining handfuls of asserts + tweaks: remove two more unneeded assignments + tweaks: remove two unneeded assignments, and improve a comment + tweaks: remove two unneeded checks for NULL + tweaks: rename a bunch of variables, to become identical to others + tweaks: rename a function and a variable, for contrast and variety + tweaks: rename a function and its parameters, to be more fitting + tweaks: rename a function, to be clearer and to stop using an old abbrev + tweaks: rename a function, to be more fitting + tweaks: rename a function, to better indicate what it does + tweaks: rename a function, to better suit what it does + tweaks: rename a parameter and a variable, to be more distinct + tweaks: rename a struct element, to be distinct + tweaks: rename a type, for more contrast + tweaks: rename a type, to make more sense + tweaks: rename a variable, reduce its scope, and use it consistently + tweaks: rename a variable, reshuffle declarations, and drop an assert + tweaks: rename a variable, to be shorter + tweaks: rename a variable, to better indicate it contains two characters + tweaks: rename a variable, to better suit its counterpart + tweaks: rename a variable, to fit a bit better + tweaks: rename a variable, to fit a little better + tweaks: rename a variable, to get out of the way of the next commit + tweaks: rename a variable, to match another with the same meaning + tweaks: rename a variable, to match the style of its brothers + tweaks: rename four elements of the holder struct, for more contrast + tweaks: rename some single-letter variables to the same significant word + tweaks: rename three variables, to get rid of a suffix or an underscore + tweaks: rename three variables, to use full words instead of abbrevs + tweaks: rename two functions, to be simpler + tweaks: rename two functions, to better describe what they do + tweaks: rename two functions, to get rid of the "mb" abbreviation + tweaks: rename two more functions, to be simpler too + tweaks: rename two parameters, away from single letters + tweaks: rename two parameters, for more contrast, and elide another + tweaks: rename two parameters, to differentiate them from function names + tweaks: rename two variables, and frob some comments + tweaks: rename two variables, and reshuffle their declarations + tweaks: rename two variables, away from a single letter + tweaks: rename two variables, for more contrast + tweaks: rename two variables, for more contrast with the partition stuff + tweaks: rename two variables, to be less cryptic + tweaks: rename two variables, to be unique + tweaks: rename two variables, to not be abbreviations + tweaks: reorder some code, to further optimize display_string() for ASCII + tweaks: reshuffle a bit of code, to be less intertwined + tweaks: reshuffle a couple of lines and adjust a few comments + tweaks: reshuffle a few lines, to be more straightforward + tweaks: reshuffle a few things, partly to make two chunks more alike + tweaks: reshuffle an assignment, to be able to return earlier + tweaks: reshuffle some closing and switching to a better place + tweaks: reshuffle some code to the one place that needs it + tweaks: reshuffle some lines and frob some comments + tweaks: reshuffle some lines, to group things more sensibly + tweaks: reshuffle some lines, to put the most likely candidate first + tweaks: reshuffle some lines, to reduce duplication + tweaks: reshuffle two #ifdefs, to avoid an unpaired brace + tweaks: reuse the install and restore functions for a signal handler + tweaks: set a boolean directly, instead of using a function call + tweaks: set a boolean directly, instead of using a function call + tweaks: sort three translator names better + tweaks: specifically refer to the manual of GNU grep for more regex info + tweaks: speed up the counting of characters in mbstrlen() + tweaks: squeeze excess spaces out of a line in situ + tweaks: step away one character from the current bracket, not one byte + tweaks: stop allocating and freeing a holder struct for every cut/paste + tweaks: stop checking for a NULL result from line_from_number() + tweaks: stop passing 'cutbuffer' and 'cutbottom' back and forth + tweaks: switch to the preceding buffer in a cheaper way (when in help) + tweaks: use a cheaper way to switch between buffers where possible + tweaks: use a more direct call when a single linestruct is deleted + tweaks: use a slightly faster function where appropriate + tweaks: use a symbol instead of zero to refer to standard input + tweaks: use FALSE for booleans instead of zero + tweaks: when OR'ing, put the most likely condition first + usage: make the --help output independent from the terminal's tab size + zapping: disjoin a zap command from earlier ones when the mark is set + zapping: use the 'keep_cutbuffer' logic to keep undo items apart + +Brand Huntsman (6): + files: block SIGWINCH while opening a FIFO for reading or writing + rcfile: compile the color regexes just once + rcfile: fully parse a syntax file only when needed + rcfile: store errors and display them when nano terminates + startup: prevent a crash when no applicable syntax is found + tweaks: remove an unneeded pre-processor '#else' clause + + Changes between v4.1 and v4.2: ------------------------------ diff --git a/IMPROVEMENTS b/IMPROVEMENTS index 0074fc6c..f3afdd23 100644 --- a/IMPROVEMENTS +++ b/IMPROVEMENTS @@ -2,6 +2,7 @@ Improvements in GNU nano ======================== Since 4.0: + - The ability to both read from and write to a FIFO. - Automatic hard-wrapping is no longer the default. - Addition of --guidestripe to draw a helpful vertical bar. - Meta-Up and Meta-Down scroll the screen linewise. diff --git a/NEWS b/NEWS index 98328077..1096c31e 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +2019.06.18 - GNU nano 4.3 "Musa Kart" +• The ability to read from and write to a FIFO has been regained. +• Startup time is reduced by fully parsing a syntax only when needed. +• Asking for help (^G) when using --operatingdir does not crash. +• The reading of a huge or slow file can be stopped with ^C. +• Cut, zap, and copy operations are undone separately when intermixed. +• M-D reports the correct number of lines (zero for an empty buffer). + 2019.04.24 - GNU nano 4.2 "Tax the rich, pay the teachers" • The integrated spell checker does not crash when 'spell' is missing. • Option --breaklonglines works also when --ignorercfiles is used. diff --git a/configure.ac b/configure.ac index d4d955b5..1b8d7c2e 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.2], [nano-devel@gnu.org], [nano]) +AC_INIT([GNU nano], [4.3], [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 c7fc6ff8..791f8dd6 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -85,7 +85,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.2. 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.3. 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 9124644b..04cfff66 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.2" "April 2019" +.TH NANO 1 "version 4.3" "June 2019" .SH NAME nano \- Nano's ANOther editor, inspired by Pico diff --git a/doc/nano.texi b/doc/nano.texi index f47017ff..6f3a2748 100644 --- a/doc/nano.texi +++ b/doc/nano.texi @@ -8,8 +8,8 @@ @smallbook @set EDITION 0.5 -@set VERSION 4.2 -@set UPDATED April 2019 +@set VERSION 4.3 +@set UPDATED June 2019 @dircategory Editors @direntry @@ -23,7 +23,7 @@ @titlepage @title GNU @command{nano} @subtitle a small and friendly text editor -@subtitle version 4.2 +@subtitle version 4.3 @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.2. +This manual documents the GNU @command{nano} editor, version 4.3. @menu * Introduction:: diff --git a/doc/nanorc.5 b/doc/nanorc.5 index 4207e659..3950da23 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.2" "April 2019" +.TH NANORC 5 "version 4.3" "June 2019" .SH NAME nanorc \- GNU nano's configuration file diff --git a/doc/rnano.1 b/doc/rnano.1 index f3a850be..e37ffb3d 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.2" "April 2019" +.TH RNANO 1 "version 4.3" "June 2019" .SH NAME rnano \- a restricted nano diff --git a/roll-a-release.sh b/roll-a-release.sh index 11caa203..5310754a 100755 --- a/roll-a-release.sh +++ b/roll-a-release.sh @@ -1,6 +1,6 @@ #!/bin/bash -VERSION="4.2" +VERSION="4.3" ./configure -C --enable-tiny && make && ./configure -C &&