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.

manager in the cable duct