[ANNOUNCE] nano-5.0 is released

Benno Schulenberg <[email protected]> Wed, 29 Jul 2020 11:02:47 +0200
Newsgroups gmane.editors.nano.announce
Message-ID <8e258147-0335-a823-45ff-b912eb322bc3__17131.2379579589$1596014214$gmane$org@telfort.nl>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============9042830020088300340==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="WK0DZLafS2jYSbb292xj4x2MAQUpJ0dJ4"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--WK0DZLafS2jYSbb292xj4x2MAQUpJ0dJ4
Content-Type: multipart/mixed; boundary="H189dIk5Ba2TzYAu2e1T5A0KsLnDBRKj4"

--H189dIk5Ba2TzYAu2e1T5A0KsLnDBRKj4
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable


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

=E2=80=A2 With --indicator (or -q or 'set indicator') nano will show a ki=
nd
  of scrollbar on the righthand side of the screen to indicate where
  in the buffer the viewport is located and how much it covers.
=E2=80=A2 With <Alt+Insert> any line can be "tagged" with an anchor, and
  <Alt+PageUp> and <Alt+PageDown> will jump to the nearest anchor.
  When using line numbers, an anchor is shown as "+" in the margin.
=E2=80=A2 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.
=E2=80=A2 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.
=E2=80=A2 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.
=E2=80=A2 All color names can be preceded with "bold," and/or "italic,"
  (in that order) to get a bold and/or italic typeface.
=E2=80=A2 With --bookstyle (or -O or 'set bookstyle') nano considers any
  line that begins with whitespace as the start of a paragraph.
=E2=80=A2 Refreshing the screen with ^L now works in every menu.
=E2=80=A2 In the main menu, ^L also centers the line with the cursor.
=E2=80=A2 Toggling the help lines with M-X now works in all menus except
  in the help viewer and the linter.
=E2=80=A2 At a filename prompt, the first <Tab> lists the possibilities,
  and these are listed near the bottom instead of near the top.
=E2=80=A2 Bindable function 'curpos' has been renamed to 'location'.
=E2=80=A2 Long option --tempfile has been renamed to --saveonexit.
=E2=80=A2 Short option -S is now a synonym of --softwrap.
=E2=80=A2 The New Buffer toggle (M-F) has become non-persistent.  Options=

  --multibuffer and 'set multibuffer' still make it default to on.
=E2=80=A2 Backup files will retain their group ownership (when possible).=

=E2=80=A2 Data is synced to disk before "... lines written" is shown.
=E2=80=A2 The raw escape sequences for F13 to F16 are no longer recognize=
d.
=E2=80=A2 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.
=E2=80=A2 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 blank=
s)
  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 repeated=
ly)
  https://savannah.gnu.org/bugs/?58130  (syntax for Markdown and Haskell =
[wish])
  https://savannah.gnu.org/bugs/?58357  (lone CR in DOS file mistreated a=
s LF)
  https://savannah.gnu.org/bugs/?58383  (backup always had user's default=
 group)

  https://savannah.gnu.org/bugs/?58410  (poor error message on undeletabl=
e file)
  https://savannah.gnu.org/bugs/?58424  ('chan' in Go file was not highli=
ghted)
  https://savannah.gnu.org/bugs/?58439  (backup file could get appended t=
o)
  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 repla=
cement)
  https://savannah.gnu.org/bugs/?58489  (cursor could sit on status bar i=
n help)
  https://savannah.gnu.org/bugs/?58490  (unknown sequence was silent at p=
rompt)

  https://savannah.gnu.org/bugs/?58503  (separate 'bold' from 'bright' [w=
ish])
  https://savannah.gnu.org/bugs/?58619  (<Tab> pointlessly showed . and .=
=2E)
  https://savannah.gnu.org/bugs/?58620  (let <Tab> show list near bottom =
[wish])
  https://savannah.gnu.org/bugs/?58627  (show the list after one <Tab> [w=
ish])
  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 feedb=
ack)
  https://savannah.gnu.org/bugs/?58730  (pasting at Unicode prompt did no=
t work)
  https://savannah.gnu.org/bugs/?58731  (<Alt+numeric operator> entered l=
etter)

  https://savannah.gnu.org/bugs/?58788  (<Esc><Esc> sequence not always r=
eset)
  https://savannah.gnu.org/bugs/?58799  (older compilers do not know "\e"=
)
  https://savannah.gnu.org/bugs/?58818  (<Esc><Esc> sequence failed in ma=
cro)


Changes between v4.9 and v5.0:
------------------------------

Marco Diego Aur=C3=A9lio Mesquita (4):
      new feature: bindable functions for toggling and jumping to "bookma=
rks"
      bindings: hard-bind the bookmark functions to M-Ins and M-PgUp/M-Pg=
Dn
      display: support the position indicator also when --softwrap is use=
d
      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 comm=
ent
      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 defin=
itions

Benno Schulenberg (375):
      anchor: do not let a full justification transfer an anchor to the t=
op
      anchor: do not let piping and spelling transfer an anchor to the to=
p
      anchor: during full justification preserve anchors as during single=
 ones
      backup: do not understand ^C as "Yes" when asking whether to contin=
ue
      backup: when rereading the original file fails, ask the user what t=
o do
      bindings: add mistakenly removed M-J (Full Justify) back to the mai=
n menu
      bindings: add ^Z (Suspend) to the "Execute Command" menu
      bindings: allow toggling the help lines at several prompts and in b=
rowser
      bindings: allow typing digits on the numeric keypad by holding Shif=
t
      bindings: make ^L (Refresh) work at all the prompts too
      bindings: make ^T invoke the "Execute Command" menu, and ^T^T the S=
peller
      bindings: remove the Full-Justify function from the Search menu
      bindings: stop <Alt+operator> on the keypad from entering spurious =
letter
      bindings: stop supporting <Esc> <Esc> <numeric slash> without NumLo=
ck
      build: allow compilation to succeed on curses without italic suppor=
t
      build: do not let --disable-speller exclude also the formatter code=

      build: fix compilation for --enable-tiny --enable-color --enable-na=
norc
      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 use=
d
      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 regex=
es
      color: when syntax coloring is toggled back on, calculate multiline=
 data
      colors: move purple one step away from magenta, and use a darker ma=
uve
      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 onc=
e
      copying: with --nonewlines, don't add a final newline to the cutbuf=
fer
      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 partitioni=
ng
      cutting: overhaul the pasting routine, to not make use of partition=
ing
      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 ye=
t
      display: reposition the cursor after an error message also in a hel=
p 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 functio=
ns
      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 anc=
hors
      docs: mention that M-X toggle is special, because available in most=
 menus
      docs: mention that the dedicated cursor-moving keys are not rebinda=
ble
      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 Sav=
annah
      docs: stop mentioning that --wordchars overrides --wordbounds
      docs: use 'bold' and 'light' instead of 'bright' in the sample nano=
rc
      feedback: beep also at a prompt when receiving an unknown escape se=
quence
      feedback: do not list "." and ".." as possible <Tab><Tab> completio=
ns
      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 buff=
er
      feedback: skip wiping the prompt bar when the shortcut printed a me=
ssage
      files: also when creating a backup fails, ask the user whether to p=
roceed
      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 <Tab> instead of tw=
o
      files: make a backup only when requested, not an unrequested failsa=
fe one
      files: make better use of the last row when there are many completi=
ons
      files: make filtering of the entire buffer into a new buffer work a=
gain
      files: never report a file as being of mixed format
      files: reinitialize the palette only when the syntax actually chang=
ed
      files: remove two superfluous calls for shielding temp files from o=
thers
      files: show a warning when writing a backup fails, before prompting=

      files: show possible tab completions near the bottom of the edit wi=
ndow
      files: take into account that also closing a backup file can fail
      files: trigger the Easter egg only when "zzy" is typed at the promp=
t
      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" m=
enu
      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 ver=
sion
      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 resizi=
ng
      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 comple=
ted
      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 f=
ile
      memory: plug a leak, by freeing the cutbuffer after a bracketed pas=
te
      menus: remove unneeded words and shortenings from key labels
      new feature: a position-plus-portion indicator on the righthand sid=
e
      oops -- restore an accidentally changed file
      options: add --indicator and -q for switching on the scroll-bar thi=
ng
      options: add -O/--bookstyle to make leading whitespace mean new par=
agraph
      options: let --afterends affect also the deleting of words (Ctrl+De=
lete)
      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 keyst=
roke
      rcfile: accept prefix "light" to make a color brighter without bold=
ing it
      rcfile: add bindable function 'execute', for access to "Execute Com=
mand"
      rcfile: allow specifying a bright background color (with prefix "li=
ght")
      rcfile: complain when an essential key binding is missing
      rcfile: do not complain when "bright" is used with a background col=
or
      rcfile: introduce nine new named colors, from "pink" to "latte"
      rcfile: introduce the modifier "bold", for specifying bolding separ=
ately
      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 fitti=
ng
      rcfile: report the first bad color element, not a later one that is=
 okay
      rcfile: restore terminal settings when exiting upon excessive unbin=
dings
      replacing: recalculate the multiline coloring info when needed
      scrolling: add a function and a key binding to center the cursor li=
ne
      speller: take into account that statting a file can fail  [coverity=
]
      startup: allow presetting case-sensitive search also in the tiny ve=
rsion
      startup: check stdout instead of stdin when probing for a Linux con=
sole
      startup: enter curses mode before reading the nanorc files
      startup: initialize colors only when the terminal is capable of col=
ors
      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 it=
alic
      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/e=
xtra/
      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 ac=
cepted
      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 possibi=
lities
      tabbing: properly terminate the answer when the sole match is a fol=
der
      text: retain a bookmark when two lines are joined or something is c=
ut
      tweaks: add a condition, so that two ifs can be elided
      tweaks: add a helpful message for when pkg.m4 is missing during a b=
uild
      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 fil=
es
      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 spe=
ller
      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 completio=
n
      tweaks: avoid a warning about an unused variable in the tiny versio=
n
      tweaks: avoid checking a variable three times for each pass in the =
loop
      tweaks: avoid unneeded calls of free() by reallocating the full nam=
e
      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 indentatio=
n
      tweaks: change a helping variable, to make two blocks still more si=
milar
      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 bett=
er
      tweaks: correct a comment, and avoid third repetition of some condi=
tions
      tweaks: correct a comment, and drop a redundant (because nested) #i=
fdef
      tweaks: correct some comments, as VT100 and such have smaller keypa=
ds
      tweaks: correct two spelling mistakes  [codespell]
      tweaks: delete a ChangeLog that is no longer updated and is incompl=
ete
      tweaks: delete another pointless ChangeLog
      tweaks: delete a now-unused function
      tweaks: delete some unneeded code, and rename the function accordin=
gly
      tweaks: delete the now-unused partitioning and unpartitioning routi=
nes
      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 e=
nough
      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 lowercas=
e "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 reshuff=
le
      tweaks: drop two redundant conditions, and improve three comments
      tweaks: drop two unneeded assignments
      tweaks: drop two unneeded wnoutrefresh() calls in the spotlight rou=
tines
      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 '*pl=
ace'
      tweaks: elide an unused parameter, and rename the other and a varia=
ble
      tweaks: elide a parameter, by calling the relevant function beforeh=
and
      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 earlie=
r
      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 a=
llowed
      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 reac=
hed
      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 comme=
nts
      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 vari=
able
      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 l=
ines
      tweaks: improve three comments, drop one, and unwrap a line
      tweaks: improve two comments, and reshuffle some lines for concisen=
ess
      tweaks: invert a condition, to have two clauses in a more logical o=
rder
      tweaks: invert a condition, to see the similarity between the two m=
odes
      tweaks: make an early return for zero matches, and rename a variabl=
e
      tweaks: make an error message more accurate and reduce it to its es=
sence
      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 calle=
d
      tweaks: move a function to the file where it is used the most
      tweaks: move an 'if', to not call leftedge_for() when not softwrapp=
ing
      tweaks: move an initialization function to before the one that call=
s 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 "Replac=
e 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 cond=
ition
      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 direc=
tly
      tweaks: remove two redundant conditions, and make a more direct ret=
urn
      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 t=
hings
      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 para=
meter
      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 lin=
es
      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 t=
hings
      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 commen=
ts
      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 abbrevia=
tion
      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 abbreviatio=
ns
      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 commo=
n path
      tweaks: reshuffle a fragment of code, to elide a 'goto'
      tweaks: reshuffle an assignment, for conciseness, and rename a vari=
able
      tweaks: reshuffle and trim a comment, and remove unneeded pair of b=
races
      tweaks: reshuffle a statement, to have major initialization in nano=
=2Ec
      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 lin=
es
      tweaks: separate a symbol from its definition by two spaces
      tweaks: shorten an error message, to be appropriate in all situatio=
ns
      tweaks: shorten the name of a symbol, to match its bindable functio=
n
      tweaks: simplify an error message, by mentioning just the main poin=
t
      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 tex=
ts
      tweaks: three escapes is the same as either zero escapes or one esc=
ape
      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 stri=
ngs
      tweaks: use a better symbol than 'ERR' to signify a valid hex digit=

      tweaks: use knowledge of Unicode to skip the general multibyte conv=
ersion
      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 ent=
ered
      verbatim: turn bracketed-paste mode off while waiting for input

--=20

Benno


--H189dIk5Ba2TzYAu2e1T5A0KsLnDBRKj4--

--WK0DZLafS2jYSbb292xj4x2MAQUpJ0dJ4
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEv9AJBh5TUFKtDfIVDSjU0qCs6IQFAl8hO0AACgkQDSjU0qCs
6IQNpQ/5AQQH4zD+QTyNTwmUIdXFBCqJ785UNvLAYl0aS6x4kxfRf2jxGUCPdlKb
5SQODRerV+3LqTlCVAd84BfVDArm4twa+f4m73NOq0wIfqWyrV2QrQ6j4eIKFR/d
TPCJSvx9hmQC9OyfeC3qRrupvEEg2CrdBXbAOn/K0N4/fcNNzprxZWVOOb3Ug/YD
cdHGmEDgIGk0EJjuJumBM7y8KvNy1lX31P6er42Lc2kKULwlaliOHE2h3cyReYx4
j+UNhd+NvlijDv90CV3UNGCvYv8WmcnutDf0xIWwUlm4Nx8GsLJMlXNlQu2K/wEF
5Pg0BrRa5oi0tVCORJEyit37YqRyXdFascQOcmdBMlaBk1UJnHVKAM5WufWvW6iU
S7qne3c4iw+s4CbfHgcnGgUHAbw2Y4rLb3jiILW8tqBVoDpr4MAxdVDHQHGjFLNC
mXOwk7n3AqiLMOegEVbTNJIO3R/QaZZUcm3R0FgbMSNzmVIEJRM0CLLX9o9x0MBa
hvNYq8Ny5yQpZwaEJZUGks0gP4pitFE0YIEGybmet3niUj48442pe/oGyQU5tRtb
6YWgkQ9+enod2niquoF8tiYPtZJzxpS/kmA5BNEuqKruPwBsoDlKW4fLTbYZfYcJ
m1PeYuNDD0tTEIgRVVIgCbbRH4boM4dKKz+jdQCR5K9FB3rO5c4=
=n2l/
-----END PGP SIGNATURE-----

--WK0DZLafS2jYSbb292xj4x2MAQUpJ0dJ4--


--===============9042830020088300340==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW5mby1uYW5v
IG1haWxpbmcgbGlzdApJbmZvLW5hbm9AZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFp
bG1hbi9saXN0aW5mby9pbmZvLW5hbm8K

--===============9042830020088300340==--