[ANNOUNCE] nano-5.1 is released

Benno Schulenberg <[email protected]> Wed, 12 Aug 2020 08:48:41 +0200
Newsgroups gmane.editors.nano.announce
Message-ID <1ab6c6df-4f93-87ee-463c-225e0320257f__6559.97189912654$1597214950$gmane$org@telfort.nl>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============5615479465053738894==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="jNlm4b1sK3IWiemAwbeiGFE07z9yjMkGy"

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

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


2020.08.12 - GNU nano 5.1  "Cantabria"

=E2=80=A2 M-Bsp (Alt+Backspace) deletes a word backwards, like in Bash.
=E2=80=A2 M-[ has become bindable.  (Be careful, though: as it is the
  starting combination of many escape sequences, avoid gluing
  it together with other keystrokes, like in a macro.)
=E2=80=A2 With --indicator and --softwrap, the first keystroke in an
  empty buffer does not crash.
=E2=80=A2 Invoking the formatter while text is marked does not crash.
=E2=80=A2 In UTF-8 locales, an anchor is shown as a diamond.


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.1.tar.xz
  https://nano-editor.org/dist/latest/nano-5.1.tar.xz.asc


Specific issues that were addressed in this release:
  https://savannah.gnu.org/bugs/?58709  (let M-Bsp delete word backwards =
[wish])
  https://savannah.gnu.org/bugs/?58820  (make M-[ bindable [wish])
  https://savannah.gnu.org/bugs/?58855  (main help text did not list M-X)=

  https://savannah.gnu.org/bugs/?58856  (^T^S gave no feedback on Linux c=
onsole)

  https://savannah.gnu.org/bugs/?58861  (compilation warnings with gcc-10=
=2E1.0)
  https://savannah.gnu.org/bugs/?58864  (theoretical bad error message)
  https://savannah.gnu.org/bugs/?58865  (checking empty file gave no feed=
back)
  https://savannah.gnu.org/bugs/?58868  (^C while piping could cause mayh=
em)

  https://savannah.gnu.org/bugs/?58879  (invoking the formatter could cra=
sh)
  https://savannah.gnu.org/bugs/?58884  (anchor was not shown for scrolle=
d line)
  https://savannah.gnu.org/bugs/?58890  (first keystroke with -Sq could c=
rash)
  https://savannah.gnu.org/bugs/?58909  (M-V plus M-Bsp entered nothing)

  https://savannah.gnu.org/bugs/?58921  (typing <Ctrl+Up> could move down=
)
  https://savannah.gnu.org/bugs/?58923  (resizing during Unicode Input gr=
iped)
  https://savannah.gnu.org/bugs/?58927  (letter at Unicode Input entered =
junk)
  https://savannah.gnu.org/bugs/?58928  (M-V plus accented letter complai=
ned)


Changes between v5.0 and v5.1:
------------------------------

Michalis Kokologiannakis (2):
      build: avoid compilation warnings by using memcpy() instead of strn=
cpy()
      files: ignore only EPERM when fchmod() or fchown() fails

Benno Schulenberg (57):
      anchor: in a UTF-8 locale, show an anchor as a diamond, for visibil=
ity
      anchor: show an anchor also when the line is horizontally scrolled
      bindings: make <Alt+Backspace> delete a word backwards, like in Bas=
h
      build: fix compilation for --enable-tiny --enable-nanorc --enable-c=
olor
      build: fix compilation when configured with --enable-tiny
      build: stop distributing the two old Changelogs
      bump version numbers and add a news item for the 5.1 release
      display: show the cursor position also right after the screen is re=
sized
      docs: fix a closing tag in the FAQ  [tidy]
      docs: mention that anchors are visible when line numbers are shown
      feedback: add the reason to the error message when forking fails
      feedback: use three dots to indicate processing, like everywhere el=
se
      feedback: when creating a pipe fails, report also the reason
      files: do not try writing to the status bar while not in curses mod=
e
      formatter: force the mark off, to not crash by accessing empty cutb=
uffer
      gnulib: update to its current upstream state
      help: list again the keystroke for toggling the help lines (M-X)
      input: understand M-Bsp also when terminfo does not match the termi=
nal
      moving: make <Ctrl+Up> go to the top when above the cursor all is b=
lank
      po: update translations and regenerate POT file and PO files
      rcfile: allow to bind M-[  (even though it is an escape-sequence st=
arter)
      softwrap: initialize the 'extrarows' value for the magic line corre=
ctly
      speller: give proper feedback when the user tries to check emptines=
s
      speller: give startup feedback (relevant when running on a Linux co=
nsole)
      speller: re-enter curses mode before trying to report an error
      syntax: css: differentiate pseudo-classes (now cyan) from comments =
(blue)
      syntax: default: colorize also "GNU nano 5.x"
      tweaks: adjust the indentation after the previous change
      tweaks: adjust the indentation after the previous change
      tweaks: avoid a maybe-uninitialized-variable warning from gcc
      tweaks: baptize the release
      tweaks: elide an unneeded variable, by transforming the key code di=
rectly
      tweaks: elide two variables that are no longer needed, and update c=
omment
      tweaks: exclude old and mistaken "Esc O" sequences from the tiny ve=
rsion
      tweaks: make a few more direct returns, and reshuffle another bit o=
f code
      tweaks: make a misplaced call of statusline() more obvious by crash=
ing
      tweaks: normalize the indentation after the previous change
      tweaks: normalize the indentation, and regroup two lines
      tweaks: optimize for byte-range characters, and shorten some commen=
ts
      tweaks: parse the escape-sequence bytes without copying them first
      tweaks: pass first byte of sequence directly to the decoding functi=
on
      tweaks: print error message directly instead of passing it to the c=
aller
      tweaks: read keycodes from the keystroke buffer without copying the=
m
      tweaks: remove an unneeded beep, and reshuffle the lines for compac=
tness
      tweaks: reshuffle a few lines, to condense the code, and improve co=
mment
      tweaks: reshuffle four lines, for esthetics
      tweaks: reshuffle some fragments, to make the next change easier
      tweaks: reshuffle the zeroing of a counter, to allow some direct re=
turns
      tweaks: simplify two functions, as they now return always NULL
      tweaks: split a function into two, one for "Esc O" and one for "Esc=
 ["
      tweaks: stop using a 'switch' when there are just three possibiliti=
es
      verbatim: discard entire keystroke when it's not valid for Unicode =
Input
      verbatim: do not report "Invalid code" when a Unicode character is =
typed
      verbatim: do not report "Invalid code" when the terminal is resized=

      verbatim: insert the full code sequence when <Alt+Backspace> is pre=
ssed
      verbatim: pause a little after an ESC, to not miss a succeeding cod=
e
      verbatim: report and ignore an invalid keystroke for Unicode input

--=20

Benno


--4qlPNHTCpriAM0s5spAaKV3Y6DAwkaEXv--

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

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

iQIzBAEBCgAdFiEEv9AJBh5TUFKtDfIVDSjU0qCs6IQFAl8zkNIACgkQDSjU0qCs
6IS1ag/6Als0AMkKDwKVw2YRQpfXO0BRAXqDSdiJ75T65enLoDwIk8k0T+yYInxo
d9Tcp0nIeHIpNDIDkkcPAoXAu91FjpNDdjXG6Ad9l1Di1f6HzXc2EL521RQu6Xno
nP0+Xqi9t9KUQhLX0+kq/omBTK6IG3j7o5AAaPjQvhf8jlf6dLZeAMEB/Of4Ld/M
iAZiKv2HVnpDuhTXe8j2MfCbS+fgr/1PDfnTPMSNsYWayWlZI6RiGIVKo0+WHfoR
CM7oOddPSGdEwqeYxcV47h5zi1Xo0v8tfcOAxjOC4pc01cPSRAjNlmS3KPzyx8QT
Dxf5kj+o098q6WyjV24w5i6Ah3uTtAeCtkjSYvfpDnxWNezF58z+tq3okfqcQrdm
lQx4upZw+Q2G3GDBUGzL900Gn6uqpdHTLzmyAnX/CMdyG7CblwXw6t64UADxt7SQ
PqQ2Bea0mFjmkI/vjSF3Ya/OrWDcOW/Qjn7oantGHhS2ko+PfoQOTdfTR5SU2Wj+
BBlah2vbzxtGesZIR9HiZc/eT5Vp5EQT0+qVBSdzUe1tuqqihoYghx0LnAoJZCB3
Xm8sHtzYyP8jvPDPzJlI0GP480g9qjw+mhO5ALq4F/cFZvOZKOCI1obK7ujM7sFP
keJoB3e0ckUUAkau8BJ8eF4vjJhR5gJ4vMiIZkejvvKTUZiS0OY=
=rjkg
-----END PGP SIGNATURE-----

--jNlm4b1sK3IWiemAwbeiGFE07z9yjMkGy--


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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW5mby1uYW5v
IG1haWxpbmcgbGlzdApJbmZvLW5hbm9AZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFp
bG1hbi9saXN0aW5mby9pbmZvLW5hbm8K

--===============5615479465053738894==--