News: 0000827347

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GNU nano 5.0 released

([Development] Jul 29, 2020 14:25 UTC (Wed) (corbet))


Version 5.0 of the GNU nano text editor is out; it contains a number of improvements to the editing experience. " With --indicator (or -q or 'set indicator') nano will show a kind of scrollbar on the righthand side of the screen to indicate where in the buffer the viewport is located and how much it covers. "

From :

Benno Schulenberg <bensberg-AT-telfort.nl>

To :

nano-devel-AT-gnu.org, info-nano-AT-gnu.org

Subject :

[ANNOUNCE] nano-5.0 is released

Date :

Wed, 29 Jul 2020 11:02:47 +0200

Message-ID :

<8e258147-0335-a823-45ff-b912eb322bc3__43832.6199118578$1596031893$gmane$org@telfort.nl>

Cc :

info-gnu-AT-gnu.org

2020.07.29 - GNU nano 5.0 "Among the fields of barley"

• With --indicator (or -q or 'set indicator') nano will show a kind

of scrollbar on the righthand side of the screen to indicate where

in the buffer the viewport is located and how much it covers.

• With any line can be "tagged" with an anchor, and

and will jump to the nearest anchor.

When using line numbers, an anchor is shown as "+" in the margin.

• The Execute Command prompt is now directly accessible from the

main menu (with ^T, replacing the Spell Checker). The Linter,

Formatter, Spell Checker, Full Justification, Suspension, and

Cut-Till-End functions are available in this menu too.

• On terminals that support at least 256 colors, nine new color

names are available: pink, purple, mauve, lagoon, mint, lime,

peach, orange, and latte. These do not have lighter versions.

• For the color names red, green, blue, yellow, cyan, magenta,

white, and black, the prefix 'light' gives a brighter color.

Prefix 'bright' is deprecated, as it means both bold AND light.

• All color names can be preceded with "bold," and/or "italic,"

(in that order) to get a bold and/or italic typeface.

• With --bookstyle (or -O or 'set bookstyle') nano considers any

line that begins with whitespace as the start of a paragraph.

• Refreshing the screen with ^L now works in every menu.

• In the main menu, ^L also centers the line with the cursor.

• Toggling the help lines with M-X now works in all menus except

in the help viewer and the linter.

• At a filename prompt, the first lists the possibilities,

and these are listed near the bottom instead of near the top.

• Bindable function 'curpos' has been renamed to 'location'.

• Long option --tempfile has been renamed to --saveonexit.

• Short option -S is now a synonym of --softwrap.

• The New Buffer toggle (M-F) has become non-persistent. Options

--multibuffer and 'set multibuffer' still make it default to on.

• Backup files will retain their group ownership (when possible).

• Data is synced to disk before "... lines written" is shown.

• The raw escape sequences for F13 to F16 are no longer recognized.

• Distro-specific syntaxes, and syntaxes of less common languages,

have been moved down to subdirectory syntax/extra/. The affected

distros and others may wish to move wanted syntaxes one level up.

• Syntaxes for Markdown, Haskell, and Ada were added.

GNU nano is a simple and easy-to-use editor for on the terminal.

https://nano-editor.org/

https://nano-editor.org/manual.html

A concise overview of nano's shortcut keystrokes:

https://nano-editor.org/cheatsheet.html

The tarball and its signature are here:

https://nano-editor.org/dist/latest/nano-5.0.tar.xz

https://nano-editor.org/dist/latest/nano-5.0.tar.xz.asc

Specific issues that were addressed in this release:

https://savannah.gnu.org/bugs/?56226 (cutting "touched" next line)

https://savannah.gnu.org/bugs/?56525 (allow using 'italic' in syntax [wish])

https://savannah.gnu.org/bugs/?57061 (print baked-in nanorc path [wish])

https://savannah.gnu.org/bugs/?57402 (justifying ignored leading blanks)

https://savannah.gnu.org/bugs/?57577 (a kind of bookmarks [wish])

https://savannah.gnu.org/bugs/?57956 (some kind of scrollbar [wish])

https://savannah.gnu.org/bugs/?58088 (with -L, M-6 could copy repeatedly)

https://savannah.gnu.org/bugs/?58130 (syntax for Markdown and Haskell [wish])

https://savannah.gnu.org/bugs/?58357 (lone CR in DOS file mistreated as LF)

https://savannah.gnu.org/bugs/?58383 (backup always had user's default group)

https://savannah.gnu.org/bugs/?58410 (poor error message on undeletable file)

https://savannah.gnu.org/bugs/?58424 ('chan' in Go file was not highlighted)

https://savannah.gnu.org/bugs/?58439 (backup file could get appended to)

https://savannah.gnu.org/bugs/?58442 (user could not change mind after "No")

https://savannah.gnu.org/bugs/?58443 (^C was mistakenly understood as "Yes")

https://savannah.gnu.org/bugs/?58469 (^L did not work at a prompt)

https://savannah.gnu.org/bugs/?58471 (let M-X work nearly everywhere [wish])

https://savannah.gnu.org/bugs/?58481 (possible miscoloring after replacement)

https://savannah.gnu.org/bugs/?58489 (cursor could sit on status bar in help)

https://savannah.gnu.org/bugs/?58490 (unknown sequence was silent at prompt)

https://savannah.gnu.org/bugs/?58503 (separate 'bold' from 'bright' [wish])

https://savannah.gnu.org/bugs/?58619 ( pointlessly showed . and ..)

https://savannah.gnu.org/bugs/?58620 (let show list near bottom [wish])

https://savannah.gnu.org/bugs/?58627 (show the list after one [wish])

https://savannah.gnu.org/bugs/?58632 (restricted mode could leak info)

https://savannah.gnu.org/bugs/?58642 (potential data loss upon crash)

https://savannah.gnu.org/bugs/?58685 (warn about read-only file [wish])

https://savannah.gnu.org/bugs/?58714 (invalid Unicode gave wrong feedback)

https://savannah.gnu.org/bugs/?58730 (pasting at Unicode prompt did not work)

https://savannah.gnu.org/bugs/?58731 ( entered letter)

https://savannah.gnu.org/bugs/?58788 ( sequence not always reset)

https://savannah.gnu.org/bugs/?58799 (older compilers do not know "\e")

https://savannah.gnu.org/bugs/?58818 ( sequence failed in macro)

Changes between v4.9 and v5.0:

------------------------------

Marco Diego Aurélio Mesquita (4):

new feature: bindable functions for toggling and jumping to "bookmarks"

bindings: hard-bind the bookmark functions to M-Ins and M-PgUp/M-PgDn

display: support the position indicator also when --softwrap is used

files: make the M-F (New Buffer) toggle non-persistent

Michalis Kokologiannakis (3):

files: improve the backup procedure to ensure no data is lost

tweaks: adjust some indentation after the previous change

tweaks: move the backup code to a separate function

Ryan Westlund (2):

syntax: go: highlight the chan keyword, and the special +build comment

syntax: haskell: new file -- coloring rules for Haskell programs

Andreas K. Foerster (1):

syntax: ada: new file -- coloring rules for Ada 2012 files

Pedro Victor de Brito Cordeiro (1):

tweaks: make parameter names in prototypes match those in the definitions

Benno Schulenberg (375):

anchor: do not let a full justification transfer an anchor to the top

anchor: do not let piping and spelling transfer an anchor to the top

anchor: during full justification preserve anchors as during single ones

backup: do not understand ^C as "Yes" when asking whether to continue

backup: when rereading the original file fails, ask the user what to do

bindings: add mistakenly removed M-J (Full Justify) back to the main menu

bindings: add ^Z (Suspend) to the "Execute Command" menu

bindings: allow toggling the help lines at several prompts and in browser

bindings: allow typing digits on the numeric keypad by holding Shift

bindings: make ^L (Refresh) work at all the prompts too

bindings: make ^T invoke the "Execute Command" menu, and ^T^T the Speller

bindings: remove the Full-Justify function from the Search menu

bindings: stop on the keypad from entering spurious letter

bindings: stop supporting without NumLock

build: allow compilation to succeed on curses without italic support

build: do not let --disable-speller exclude also the formatter code

build: fix compilation for --enable-tiny --enable-color --enable-nanorc

build: fix compilation when configured with --disable-color

build: fix compilation when configured with --disable-speller

build: fix compilation when configured with --enable-tiny

build: fix compilation when configured with --enable-tiny

build: fix miscompilation for --enable-{tiny,color,nanorc}

build: fix the Makefile after two header files were renamed

build: make a deeper clone of gnulib (when building from git)

build: make ./configure report which global nanorc file will be used

build: replace the non-standard backslash escape "\e" with "\x1B"

build: stop distributing a nano.spec file

build: use a more dependable method for detecting a build from git

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

color: avoid allocating emptiness when there are no multiline regexes

color: when syntax coloring is toggled back on, calculate multiline data

colors: move purple one step away from magenta, and use a darker mauve

copying: change the implementation, away from cutting plus copying back

copying: do not forget to update the screen when M-6 is pressed

copying: when using M-6, copy the final line in the buffer just once

copying: with --nonewlines, don't add a final newline to the cutbuffer

counting: count words and characters without partitioning the file

counting: count words correctly also when --wordchars is used

cutting: change the implementation of cutting to not use partitioning

cutting: overhaul the pasting routine, to not make use of partitioning

display: avoid an additional redrawing when redrawing the screen

display: blank the status bar for a copy operation, like for cut & paste

display: do not try to draw content when there is no open buffer yet

display: reposition the cursor after an error message also in a help text

docs: complete the renaming of 'tempfile' to 'saveonexit'

docs: copy the 4.9.1 news item from the release branch

docs: copy the 4.9.2 news item from the release branch

docs: copy the 4.9.3 news item from the release branch

docs: document the --indicator (-q) and 'set indicator' options

docs: document the new -O/--bookstyle and 'set bookstyle' options

docs: explain how anchors work, and document their bindable functions

docs: improve some descriptions concerning the file browser

docs: in the sample nanorc file, refer instead of duplicating

docs: mention that doing a full-buffer operation wipes away all anchors

docs: mention that M-X toggle is special, because available in most menus

docs: mention that the dedicated cursor-moving keys are not rebindable

docs: mention the nine new color names, and "bold" plus "italic"

docs: note Marco as the original author of the bookmarking code

docs: reduce the TODO file to a reference to the bug tracker on Savannah

docs: stop mentioning that --wordchars overrides --wordbounds

docs: use 'bold' and 'light' instead of 'bright' in the sample nanorc

feedback: beep also at a prompt when receiving an unknown escape sequence

feedback: do not list "." and ".." as possible completions

feedback: indicate an anchor with a "+" in the line-number margin

feedback: show a message also when trying to copy an empty region

feedback: show the cursor position also at startup in an empty buffer

feedback: skip wiping the prompt bar when the shortcut printed a message

files: also when creating a backup fails, ask the user whether to proceed

files: ask the user whether to proceed every time a backup fails

files: before prompting, show also the reason why the backup failed

files: disallow tabbing when in restricted mode

files: do not append but truncate when allowing insecure backups

files: do not let a stray CR in a DOS file trigger Mac format

files: do not make a failsafe backup when in restricted mode

files: give a more precise warning when deleting an existing backup fails

files: ignore errors when calling chmod() on a backup file

files: ignore errors when calling chown() on a backup file

files: ignore errors when calling futimens() on a backup file

files: list possible completions after just one instead of two

files: make a backup only when requested, not an unrequested failsafe one

files: make better use of the last row when there are many completions

files: make filtering of the entire buffer into a new buffer work again

files: never report a file as being of mixed format

files: reinitialize the palette only when the syntax actually changed

files: remove two superfluous calls for shielding temp files from others

files: show a warning when writing a backup fails, before prompting

files: show possible tab completions near the bottom of the edit window

files: take into account that also closing a backup file can fail

files: trigger the Easter egg only when "zzy" is typed at the prompt

files: warn the root user when all the write bits are missing

files: write out a marked region without partitioning the buffer

general: make five tools accessible through the "Execute Command" menu

general: rename "bookmark" to "anchor", to sound less permanent

gnulib: update to its current upstream state

help: describe what has been added to the "Execute Command" menu

help: pair the items in the two bottom lines better in the tiny version

help: put the two toggles first in the "Execute Command" menu

history: don't send error messages to the screen; store them in the queue

history: take into account that closing a file can fail

history: take into account that statting a file can fail too

indicator: recompute the extra rows also for cut/paste/split/join

indicator: recompute the extra rows also when justifying and resizing

indicator: rework how the "scrollbar" is computed when softwrapping

input: interpret an escape sequence only when it starts with "[" or "O"

input: reset the counters when a three-digit sequence is not completed

input: stop recognizing the raw escape sequences for F13 to F16

locking: ignore the insecure-backup flag when creating a lock file

locking: prevent a symlink attack by not opening an existing lock file

memory: plug a leak, by freeing the cutbuffer after a bracketed paste

menus: remove unneeded words and shortenings from key labels

new feature: a position-plus-portion indicator on the righthand side

oops -- restore an accidentally changed file

options: add --indicator and -q for switching on the scroll-bar thing

options: add -O/--bookstyle to make leading whitespace mean new paragraph

options: let --afterends affect also the deleting of words (Ctrl+Delete)

options: make -S the short synonym of --softwrap

options: rename --tempfile to --saveonexit, to be far clearer

options: stop recognizing the obsolete --morespace and --smooth

po: update translations and regenerate POT file and PO files

prompt: at Yes-No, do not treat a screen resize as an invalid keystroke

rcfile: accept prefix "light" to make a color brighter without bolding it

rcfile: add bindable function 'execute', for access to "Execute Command"

rcfile: allow specifying a bright background color (with prefix "light")

rcfile: complain when an essential key binding is missing

rcfile: do not complain when "bright" is used with a background color

rcfile: introduce nine new named colors, from "pink" to "latte"

rcfile: introduce the modifier "bold", for specifying bolding separately

rcfile: introduce the modifier 'italic', for slanted text

rcfile: rename bindable function 'curpos' to 'location'

rcfile: rename 'extcmd' to 'execute', to be more readable and fitting

rcfile: report the first bad color element, not a later one that is okay

rcfile: restore terminal settings when exiting upon excessive unbindings

replacing: recalculate the multiline coloring info when needed

scrolling: add a function and a key binding to center the cursor line

speller: take into account that statting a file can fail [coverity]

startup: allow presetting case-sensitive search also in the tiny version

startup: check stdout instead of stdin when probing for a Linux console

startup: enter curses mode before reading the nanorc files

startup: initialize colors only when the terminal is capable of colors

syntax: css: color multiline comments correctly

syntax: default: colorize embedded control codes

syntax: email: rename file and syntax, away from the mistaken 'mutt'

syntax: markdown: do not colorize text between two bold words as italic

syntax: markdown: new file -- coloring rules for Markdown files

syntax: mgp: drop the almost-empty MagicPoint file and syntax

syntax: move distro-specific files down to a subdirectory, syntax/extra/

syntax: nanorc: colorize 'bright' anyway, so existing syntaxes look okay

syntax: nanorc: colorize the new named colors too, from "mint" to "mauve"

syntax: nanorc: stop colorizing 'bright', even though it's still accepted

syntax: sql: condense some regexes, and reduce their number

syntax: sql: rename the file to match the name of the syntax

syntaxes: move the rules for Fortran and Povray files down to extra/

syntaxes: remove some stuff that has been commented out for a long time

syntaxes: remove some superfluous outer parentheses from regexes

syntaxes: remove unneeded backslash escapes before quotes

syntaxes: uniformize the initial comment

tabbing: beep at the first listing, and when there are zero possibilities

tabbing: properly terminate the answer when the sole match is a folder

text: retain a bookmark when two lines are joined or something is cut

tweaks: add a condition, so that two ifs can be elided

tweaks: add a helpful message for when pkg.m4 is missing during a build

tweaks: add a helping variable, in order to unwrap three lines

tweaks: add a helping variable, to slightly condense the code

tweaks: add a symbol, in order to condense three function calls

tweaks: add four early returns for read/write errors of history files

tweaks: add four more translator hints

tweaks: add two comments, and improve another

tweaks: adjust comments and indentation after the previous change

tweaks: adjust the conditional help-item pairing for absence of speller

tweaks: adjust the file format indicator in a quicker way

tweaks: adjust the indentation after the previous change

tweask: adjust the indentation after the previous change

tweaks: avoid a compiler warning

tweaks: avoid a function call when a simple boolean will do

tweaks: avoid an unnecessary refresh for zero or just one completion

tweaks: avoid a warning about an unused variable in the tiny version

tweaks: avoid checking a variable three times for each pass in the loop

tweaks: avoid unneeded calls of free() by reallocating the full name

tweaks: call init_pair() just once for each pair number

tweaks: call the spotlighting routines only for the relevant line

tweaks: call use_default_colors() just once for each run

tweaks: cascade the ifs properly: without increasing the indentation

tweaks: change a helping variable, to make two blocks still more similar

tweaks: change a 'switch' to 'if', to elide a dummy 'return'

tweaks: close opened files when something goes wrong [coverity]

tweaks: condense a bit of code, by reusing an existing variable

tweaks: condense a comment, and express a condition in a different way

tweaks: condense a comment, and reshuffle a few lines

tweaks: condense a comment, and reshuffle some conditions

tweaks: condense and improve some comments

tweaks: condense some cases to a single line, for more clarity

tweaks: condense the code a little further, by grouping things better

tweaks: correct a comment, and avoid third repetition of some conditions

tweaks: correct a comment, and drop a redundant (because nested) #ifdef

tweaks: correct some comments, as VT100 and such have smaller keypads

tweaks: correct two spelling mistakes [codespell]

tweaks: delete a ChangeLog that is no longer updated and is incomplete

tweaks: delete another pointless ChangeLog

tweaks: delete a now-unused function

tweaks: delete some unneeded code, and rename the function accordingly

tweaks: delete the now-unused partitioning and unpartitioning routines

tweaks: delete two functions that are never executed

tweaks: do not use 'switch' when there are just two possibilities

tweaks: do not use the string "stat()" in any of the comments

tweaks: don't bother overwriting a CR -- decreasing the length is enough

tweaks: don't bother statting the lock file before unlinking it

tweaks: don't bother using the exclusive flag when creating a lock file

tweaks: don't check for escape sequences that start with a lowercase "o"

tweaks: don't use a symbol for other purposes

tweaks: do the conversion of -1 to a specific color just once

tweaks: do the saving of histories in a single place

tweaks: drop an unneeded assignment, and reshuffle a few lines

tweaks: drop a superfluous check for a non-zero length

tweaks: drop obsolete 'nano.spec' from .gitignore file, and reshuffle

tweaks: drop two redundant conditions, and improve three comments

tweaks: drop two unneeded assignments

tweaks: drop two unneeded wnoutrefresh() calls in the spotlight routines

tweaks: elide a function that is called just once

tweaks: elide a function that is too sparse

tweaks: elide another parameter, relevant in just three menus

tweaks: elide a now-unused parameter -- it is always FALSE

tweaks: elide an unneeded call of strlen(), and copy NUL byte with string

tweaks: elide an unneeded global variable

tweaks: elide an unneeded parameter, and rename the other

tweaks: elide an unneeded variable, as there is nothing beyond '*place'

tweaks: elide an unused parameter, and rename the other and a variable

tweaks: elide a parameter, by calling the relevant function beforehand

tweaks: elide a parameter that is relevant for only one menu (Goto Dir)

tweaks: elide a redundant intermediate function

tweaks: elide a variable and be more direct, and rename another

tweaks: elide a variable, and shortcircuit a return

tweaks: elide a variable, by returning the result directly

tweaks: elide a wrapper function, by checking a precondition earlier

tweaks: elide three functions that are called just once

tweaks: elide three parameters, as they are the same for both calls

tweaks: elide two ifs for the most likely case, when defaults are allowed

tweaks: elide two redundant calls of strchr()

tweaks: exclude a bit of bracketed-paste code from the tiny version

tweaks: exclude an unneeded fragment of code from the tiny version

tweaks: exit from the writing loop as soon as the last line is reached

tweaks: fix twenty typos, in old Changelogs and in some comments

tweaks: fold translation of all modified keypad keystrokes together

tweaks: fold two blocks into each other, to elide three overlapping cases

tweaks: for each version, mention the changes to the PO files last

tweaks: get rid of a bunch of annoying casts, and thus condense the code

tweaks: group the exiting routines together, and condense the comments

tweaks: handle the double escapes directly, instead of going round again

tweaks: handle two similar things in the same way

tweaks: implement the anchor routines in a different way

tweaks: improve a comment, rename a function, and elide a parameter

tweaks: improve a comment, reshuffle a scroll command, elide a variable

tweaks: improve four comments

tweaks: improve several comments, and rewrap two lines

tweaks: improve some comments, and reshuffle an assignment

tweaks: improve some comments and whitespace, and reshuffle a few lines

tweaks: improve three comments, drop one, and unwrap a line

tweaks: improve two comments, and reshuffle some lines for conciseness

tweaks: invert a condition, to have two clauses in a more logical order

tweaks: invert a condition, to see the similarity between the two modes

tweaks: make an early return for zero matches, and rename a variable

tweaks: make an error message more accurate and reduce it to its essence

tweaks: make three hard-bindings of special keys more efficiently

tweaks: move a copyright notice to a better place, and improve it

tweaks: move a fragment of code to the one branch that needs it

tweaks: move a function to a more logical place

tweaks: move a function to before the one that calls it

tweaks: move a function to before the one that calls it

tweaks: move a function, to be in the order in which they are called

tweaks: move a function to the file where it is used the most

tweaks: move an 'if', to not call leftedge_for() when not softwrapping

tweaks: move an initialization function to before the one that calls it

tweaks: move two functions, to have them in a more logical order

tweaks: normalize the indentation after the previous change

tweaks: normalize the indentation after the previous change

tweaks: normalize the indentation after the previous change

tweaks: normalize the indentation after the previous change

tweaks: normalize the indentation after the previous change

tweaks: order three menu names in the documentation slightly better

tweaks: plug a leak, by always freeing the full filename [valgrind]

tweaks: rake a common statement to the end of the case

tweaks: recalculate the multiline info just once when doing "Replace All"

tweaks: reduce the indentation after the previous change

tweaks: remove an incorrect mention of umask() from a comment

tweaks: remove an unneeded call of wnoutrefresh()

tweaks: remove an unneeded cursor movement, and rename a variable

tweaks: remove an unneeded element from the openfilestruct

tweaks: remove a redundant cursor movement, remove a redundant condition

tweaks: remove a superfluous check on the length of the key buffer

tweaks: remove a superfluous global variable

tweaks: remove some superfluous conditions

tweaks: remove three unneeded while loops from two input routines

tweaks: remove two calls of umask() by specifying permissions directly

tweaks: remove two redundant conditions, and make a more direct return

tweaks: remove two superfluous assignments

tweaks: remove unneeded variables after the previous change

tweaks: rename a function, and move it to before the one that calls it

tweaks: rename a function, and move it to before the one that calls it

tweaks: rename a function, to be more correct

tweaks: rename a function, to be more general and clearer

tweaks: rename a function, to be more precise, and reshuffle it

tweaks: rename a function, to be more precise, and reshuffle some things

tweaks: rename a function, to better describe what it does

tweaks: rename a function, to leave the old names behind

tweaks: rename a function, to match with the boolean that guards it

tweaks: rename a function, to not shadow a variable, and elide parameter

tweaks: rename a parameter and a variable, to be more meaningful

tweaks: rename a struct element, to be shorter and preciser

tweaks: rename a symbol, and actually use it where it is needed

tweaks: rename a symbol, away from a double abbreviation

tweaks: rename a symbol, from a phrase to a noun

tweaks: rename a symbol, to be more accurate, and reshuffle two lines

tweaks: rename a symbol, to better suit its purpose, and reduce its scope

tweaks: rename a variable, and condense a comment

tweaks: rename a variable, and normalize the indentation

tweaks: rename a variable, and reduce the scope of two others

tweaks: rename a variable, for more contrast with the function name

tweaks: rename a variable, for shortness and contrast

tweaks: rename a variable, improve a comment, and reshuffle a few things

tweaks: rename a variable, to avoid overrepetition of 'backup'

tweaks: rename a variable, to better describe what it holds

tweaks: rename a variable, to better fit related ones

tweaks: rename a variable, to make more sense

tweaks: rename a variable, to not refer to a row as a "line"

tweaks: rename one of the flag symbols, to be clearer

tweaks: rename two functions and a variable, and improve two comments

tweaks: rename two functions, and rename and reshuffle a parameter

tweaks: rename two functions, to better indicate what they do

tweaks: rename two header files, to be distinct and not an abbreviation

tweaks: rename two labels, for brevity

tweaks: rename two parameters, away from abbreviations

tweaks: rename two parameters, away from an abbreviation

tweaks: rename two parameters, to be more fitting

tweaks: rename two variables, and reduce the scope of a third

tweaks: rename two variables, away from abbreviations

tweaks: rename two variables, to avoid a repetitive prefix

tweaks: rename two variables, to be shorter and without abbreviations

tweaks: reshuffle a bit of code, to elide an #ifndef

tweaks: reshuffle a condition, for symmetry

tweaks: reshuffle a condition, to avoid a repetition of code

tweaks: reshuffle a condition, to make a little more sense

tweaks: reshuffle a declaration and six calls of free(), to avoid a leak

tweaks: reshuffle a few lines, and remove a few unneeded comments

tweaks: reshuffle a few lines, for conciseness

tweaks: reshuffle a few lines, to elide an 'if' from the most common path

tweaks: reshuffle a fragment of code, to elide a 'goto'

tweaks: reshuffle an assignment, for conciseness, and rename a variable

tweaks: reshuffle and trim a comment, and remove unneeded pair of braces

tweaks: reshuffle a statement, to have major initialization in nano.c

tweaks: reshuffle some code, to avoid needlessly calling a function

tweaks: reshuffle some conditions, to straighten the logic

tweaks: reshuffle some lines, for esthetics

tweaks: reshuffle some lines, to better separate the three cases

tweaks: rewrap a few lines in old news items, for more balanced lines

tweaks: separate a symbol from its definition by two spaces

tweaks: shorten an error message, to be appropriate in all situations

tweaks: shorten the name of a symbol, to match its bindable function

tweaks: simplify an error message, by mentioning just the main point

tweaks: simplify the counting of characters in a section

tweaks: skip the conversion to multibyte for plain ASCII codes

tweaks: slightly improve a comment and the ordering of some lines

tweaks: slightly improve the grouping of shortcuts in some help texts

tweaks: three escapes is the same as either zero escapes or one escape

tweaks: trim an ASCII case, as the function is called only for UTF-8

tweaks: trim some oververbose comments -- they overshadow the code

tweaks: uniformize some old translator credits

tweaks: update a translator hint, and add another

tweaks: update three translator hints, add two, and frob three strings

tweaks: use a better symbol than 'ERR' to signify a valid hex digit

tweaks: use knowledge of Unicode to skip the general multibyte conversion

tweaks: use three switches instead of cascading ifs, for brevity

undo: choose the proper x positions to place the cursor and rejoin lines

undo: when undoing a line cut, place the cursor back where it was

usage: unabbreviate option arguments where possible

verbatim: show an error message when an invalid Unicode code is entered

verbatim: turn bracketed-paste mode off while waiting for input

--

Benno

--

If you have a working or partly working program that you'd like

to offer to the GNU project as a GNU package,

see https://www.gnu.org/help/evaluation.html.

Fortune Documents the Great Legal Decisions:

We think that we may take judicial notice of the fact that the term "bitch"
may imply some feeling of endearment when applied to a female of the canine
species but that it is seldom, if ever, so used when applied to a female
of the human race. Coming as it did, reasonably close on the heels of two
revolver shots directed at the person of whom it was probably used, we think
it carries every reasonable implication of ill-will toward that person.
-- Smith v. Moran, 193 N.E. 2d 466.