nano

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

commit 154742c5e3c4bab98b568304285a2a8ed73a16ea
parent ec569b4bd00ac21126cbdbbc9e7c2a362032d6ed
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Thu, 28 Nov 2019 10:12:04 +0100

bump version numbers and add a news item for the 4.6 release

Diffstat:
MChangeLog | 137+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MNEWS | 9+++++++++
Mconfigure.ac | 2+-
Mdoc/faq.html | 2+-
Mdoc/nano.1 | 2+-
Mdoc/nano.texi | 8++++----
Mdoc/nanorc.5 | 2+-
Mdoc/rnano.1 | 2+-
Mroll-a-release.sh | 2+-
9 files changed, 156 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,140 @@ +Changes between v4.5 and v4.6: +------------------------------ + +Benno Schulenberg (128): + bindings: allow to rebind ^/, even though it is synonymous with ^_ + bindings: don't hard-bind ^H in the help viewer or the file browser + bindings: the 'all' keyword should encompass the browser menu too + bindings: the 'all' keyword should include the browser menu always + build: fix compilation for --enable-tiny --enable-histories + build: fix compilation when configured with --disable-color + build: slightly speed up the compilation of the tiny version + bump version numbers and add a news item for the 4.6 release + chars: add a faster version of the character-parsing function + commands: rename 'fixer' to 'formatter', to be less misleading + cutting: do nothing when trying to chop a word leftward at start of file + display: do refresh the edit window when exiting from the help viewer + docs: add a note saying that rebinding ^M or ^I is not advisable + docs: add the M-F and M-N keystrokes to the cheatsheet + docs: adjust the compilation instructions to two-digit version numbers + docs: correct the description of the 'spell' menu + docs: document the 'fixer' command, a per-syntax content arranger + docs: mention that color rules are applied in the order they are listed + docs: mention that 'hunspell' is now the first default spelling program + docs: mention that the 'nopauses' option is obsolete + docs: remove some excessive detail from the sample nanorc file + docs: remove the note about the formatter having been removed + feedback: say it when spell check or manipulation did not change anything + files: distinguish between read error and write error when prepending + files: don't mention the name of the temp file when reading goes wrong + files: when opening a file for copying, it should NOT be created + formatter: accept the formatted result also upon a nonzero exit status + formatter: don't let output from the program pollute the screen + gnulib: update to its current upstream state + history: don't wait when there is something wrong with the history files + linter: report it as an error when running the linting program fails + rcfile: allow binding also F17...F24 + rcfile: process extensions to file-matching commands straightaway + restored feature: a per-syntax 'fixer' command that processes the buffer + softwrap: when switching to another buffer, re-align the starting column + speller: prefer 'hunspell' over 'spell', because it can handle UTF-8 + speller: when 'spell' is not found, try running 'hunspell -l' instead + statusbar: show only the first error message, with dots to indicate more + syntax: c: recognize some C++ header files by their Emacs modeline + syntax: default: don't colorize stuff between two pairs of brackets + syntax: html: add a formatter command, making use of 'tidy' + syntax: html: colorize only full attributes, and colorize strings later + syntax: javascript: colorize also special values 'null' and 'undefined' + syntax: javascript: colorize the boolean values 'true' and 'false' too + syntax: nanorc: colorize all arguments of 'fixer' and 'linter' as valid + syntax: nanorc: colorize in bright red everything that is invalid + syntax: nanorc: colorize only lowercase keywords as valid + syntax: nanorc: colorize the 'fixer' command as valid + syntax: ruby: colorize also lowercase global/instance variables + syntaxes: put the 'linter' and 'formatter' commands on a separate line + tweaks: add a helper function without the ubiquitous NULL argument + tweaks: add a local variable, for clarity, to not preuse another one + tweaks: add some "fall-through" comments, and reshuffle some breaks + tweaks: add two translator hints + tweaks: adjust the indentation after the previous change + tweaks: adjust the indentation after the previous change + tweaks: adjust the indentation after the previous change, and another + tweaks: adjust two comments, to better fit the actual functions + tweaks: avoid setting and resetting a variable when there is no need + tweaks: avoid three unneeded calls of umask() in the normal case + tweaks: be explicit about which program complained + tweaks: check the return value of copy_file() also after its other uses + tweaks: close the unused reading ends of two more output pipes + tweaks: condense a fragment of code by making use of a helper function + tweaks: condense or improve some comments + tweaks: condense two comments, and rename two parameters + tweaks: condense two comments, and rewrap a line + tweaks: correct a comment, and retype a variable + tweaks: die on an impossible condition -- to be removed later + tweaks: don't do in the parent something that only the child needs + tweaks: don't wrap calls of statusline() that slightly overshoot 80 cols + tweaks: drop the unneeded closing of descriptors when exiting anyway + tweaks: elide a duplicate opening of the existing file when prepending + tweaks: elide a function call for the plain ASCII case + tweaks: elide another two calls of umask(), and rename two variables + tweaks: elide an unneeded and leaky function + tweaks: elide an unneeded check when making a backup + tweaks: elide a variable, and add a condition to elide an assignment + tweaks: elide a variable that is the same as another + tweaks: exclude two fragments of code from the tiny version + tweaks: fuse two regexes into one + tweaks: group the closing of descriptors together, for compactness + tweaks: group the closing of two descriptors, and reword two comments + tweaks: harmonize a message with another + tweaks: improve some comments, and trim some repetitive ones + tweaks: make a function do a check so its calls don't need to + tweaks: mark two strings for translation + tweaks: move a call of umask() closer to where it is relevant + tweaks: move two functions to after the one that they make use of + tweaks: normalize the indentation after the previous change + tweaks: order two functions more sensibly + tweaks: pass an empty string as an answer instead of a NULL pointer + tweaks: pass an empty string for copying instead of a non-existent one + tweaks: pass any special undo/redo messages to the add_undo() function + tweaks: remove a pointless updating of the title bar + tweaks: remove a redundant check for an existing emergency file + tweaks: remove the superfluous closing of a file descriptor + tweaks: remove two pointless re-inclusion guards + tweaks: remove two superfluous conditions when prepending + tweaks: rename a function and add a parameter, so it becomes more general + tweaks: rename a function, and elide a parameter that is always NULL + tweaks: rename a function and elide its first parameter + tweaks: rename a local variable, to not shadow another + tweaks: rename a variable, to be a bit more fitting + tweaks: rename a variable, to be distinct and visible + tweaks: rename three variables, and reshuffle some lines + tweaks: rename three variables, to be consistent with other linestructs + tweaks: rename three variables, to be more descriptive + tweaks: rename three variables, to match others elsewhere + tweaks: rename two parameters, for contrast and to match others + tweaks: rename two parameters plus a variable, to match others + tweaks: rename two variables, and add a third, for more contrast + tweaks: reshuffle a few declarations, and reduce the scope of one + tweaks: reshuffle a fragment of code into two alternatives + tweaks: reshuffle an 'if' to avoid a negation, and improve a comment + tweaks: reshuffle some declarations, and rename a variable + tweaks: reword an undo/redo string that was overlooked during the rename + tweaks: silence a warning when configured with --enable-tiny + tweaks: simplify the opening of files when prepending + tweaks: slightly reword some fragments in the manual's rebinding section + tweaks: use a better variable name for the argument of an option + tweaks: use a literal NULL instead of a variable that is NULL + tweaks: use a simpler positive/negative check for after copy_file() + tweaks: use a string-copy function that checks for out-of-memory + tweaks: use the given string instead of the found match, for clarity + undo: don't try to copy a string that doesn't exist + undo: put the cursor back on the original row for a full-buffer operation + utils: don't accept NULL for the string to be copied + +Jeroen Roovers (1): + syntax: gentoo: highlight the BDEPEND variable as well + + Changes between v4.4 and v4.5: ------------------------------ diff --git a/NEWS b/NEWS @@ -1,3 +1,12 @@ +2019.11.29 - GNU nano 4.6 "" +• The 'formatter' command has returned, bound by default to M-F. + It allows running a syntax-specific command on the contents of + the buffer. +• ^T will try to run 'hunspell' before 'spell', because it checks + spellling for the locale's language and understands UTF-8. +• Multiple errors or warnings on startup will no longer slow nano + down but will be indicated on the status bar with trailing dots. + 2019.10.04 - GNU nano 4.5 "Košice" • The new 'tabgives' command allows you to specify per syntax what the <Tab> key should produce: some spaces, a hard TAB, ... diff --git 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.5], [nano-devel@gnu.org], [nano]) +AC_INIT([GNU nano], [4.6], [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 @@ -85,7 +85,7 @@ <h3><a name="1.3"></a>1.3. Why the name change from TIP?</h3> <blockquote><p>On January 10, 2000, TIP was officially renamed to nano because of a namespace conflict with another program called 'tip'. The original 'tip' program &quot;establishes a full duplex terminal connection to a remote host&quot;, 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).</p></blockquote> <h3><a name="1.4"></a>1.4. What is the current version of nano?</h3> -<blockquote><p>The current version of nano <i>should</i> be <b>4.5</b>. Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote> +<blockquote><p>The current version of nano <i>should</i> be <b>4.6</b>. Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote> <h3><a name="1.5"></a>1.5. I want to read the man page without having to download the program!</h3> <blockquote><p>Jeez, demanding, aren't we? Okay, look <a href="https://nano-editor.org/dist/latest/nano.1.html">here</a>.</p></blockquote> <hr width="100%"> diff --git a/doc/nano.1 b/doc/nano.1 @@ -16,7 +16,7 @@ .\" Documentation License along with this program. If not, see .\" <https://www.gnu.org/licenses/>. .\" -.TH NANO 1 "version 4.5" "October 2019" +.TH NANO 1 "version 4.6" "November 2019" .SH NAME nano \- Nano's ANOther editor, inspired by Pico diff --git a/doc/nano.texi b/doc/nano.texi @@ -8,8 +8,8 @@ @smallbook @set EDITION 0.5 -@set VERSION 4.5 -@set UPDATED October 2019 +@set VERSION 4.6 +@set UPDATED November 2019 @dircategory Editors @direntry @@ -23,7 +23,7 @@ @titlepage @title GNU @command{nano} @subtitle a small and friendly text editor -@subtitle version 4.5 +@subtitle version 4.6 @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.5. +This manual documents the GNU @command{nano} editor, version 4.6. @menu * Introduction:: diff --git a/doc/nanorc.5 b/doc/nanorc.5 @@ -16,7 +16,7 @@ .\" Documentation License along with this program. If not, see .\" <https://www.gnu.org/licenses/>. .\" -.TH NANORC 5 "version 4.5" "October 2019" +.TH NANORC 5 "version 4.6" "November 2019" .SH NAME nanorc \- GNU nano's configuration file diff --git a/doc/rnano.1 b/doc/rnano.1 @@ -16,7 +16,7 @@ .\" Documentation License along with this program. If not, see .\" <https://www.gnu.org/licenses/>. .\" -.TH RNANO 1 "version 4.5" "October 2019" +.TH RNANO 1 "version 4.6" "November 2019" .SH NAME rnano \- a restricted nano diff --git a/roll-a-release.sh b/roll-a-release.sh @@ -1,6 +1,6 @@ #!/bin/bash -VERSION="4.5" +VERSION="4.6" ./configure -C --enable-tiny && make && ./configure -C &&