[ANNOUNCE] nano-6.0 is released

Benno Schulenberg <[email protected]> Wed, 15 Dec 2021 12:56:40 +0100
Newsgroups gmane.editors.nano.announce,gmane.editors.nano.devel
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============0438641405043642841==
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="YaZGLkrvcKg4fdejWYbqikmQ1dwHyP0kY"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--YaZGLkrvcKg4fdejWYbqikmQ1dwHyP0kY
Content-Type: multipart/mixed; boundary="PYqW1fXSUPyYYQWoMQRpF3N8npCSELJCk";
 protected-headers="v1"
From: Benno Schulenberg <[email protected]>
To: [email protected], [email protected]
Cc: [email protected]
Message-ID: <[email protected]>
Subject: [ANNOUNCE] nano-6.0 is released

--PYqW1fXSUPyYYQWoMQRpF3N8npCSELJCk
Content-Type: multipart/mixed;
 boundary="------------03A41CA5918019A4BA58A97E"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------03A41CA5918019A4BA58A97E
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


2021.12.15 - GNU nano 6.0  "Humor heeft ook zijn leuke kanten"

=E2=80=A2 Option --zero hides the title bar, status bar and help lines, a=
nd
  uses all rows of the terminal as editing area.  The title bar and
  status bar can be toggled with M-Z.
=E2=80=A2 Colors can now be specified also as three-digit hexadecimal num=
bers,
  in the format #rgb.  This picks from the 216 index colors (that most
  terminals know) the color that is nearest to the given values.
=E2=80=A2 For users who dislike numbers, there are fourteen new color nam=
es:
  rosy, beet, plum, sea, sky, slate, teal, sage, brown, ocher, sand,
  tawny, brick, and crimson.
=E2=80=A2 Suspension is enabled by default, invokable with ^T^Z.  The opt=
ions
  -z, --suspendable, and 'set suspendable' are obsolete and ignored.
  (In case you want to be able to suspend nano with a single keystroke,
  you can put 'bind ^Z suspend main' in your nanorc.)
=E2=80=A2 When automatic hard-wrapping is in effect, pasting just a few w=
ords
  (without a line break) will now hard-wrap the line when needed.
=E2=80=A2 Toggling Append or Prepend clears the current filename.
=E2=80=A2 The word count as shown by M-D is now affected by option --word=
bounds;
  with it, nano counts words as 'wc' does; without it (the new default),
  words are counted in a more human way: seeing punctuation as space.
=E2=80=A2 The YAML syntax file is now actually included in the tarball.


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/v6/nano-6.0.tar.xz
  https://nano-editor.org/dist/v6/nano-6.0.tar.xz.asc

Running the attached little script will show all colors and their codes.


Specific issues that were addressed in this release:
  https://savannah.gnu.org/bugs/?56445  (add support for more colors [wis=
h])
  https://savannah.gnu.org/bugs/?61243  (clear filename when appending [w=
ish])
  https://savannah.gnu.org/bugs/?61308  (deleted answer was resurrected)
  https://savannah.gnu.org/bugs/?61316  (history could start in the middl=
e)

  https://savannah.gnu.org/bugs/?61317  (with --preserve, ^S was still sh=
own)
  https://savannah.gnu.org/bugs/?61331  (small memory leak for double opt=
ions)
  https://savannah.gnu.org/bugs/?61334  (memory leak when dots on minibar=
)
  https://savannah.gnu.org/bugs/?61344  (clunky table of contents in manu=
al)

  https://savannah.gnu.org/bugs/?61347  (email syntax miscolored final es=
ses)
  https://savannah.gnu.org/bugs/?61353  (pasting words should hard-wrap [=
wish])
  https://savannah.gnu.org/bugs/?61361  (miscolored Rust code between str=
ings)
  https://savannah.gnu.org/bugs/?61367  (M-D word count mismatched Ctrl+R=
ight)

  https://savannah.gnu.org/bugs/?61372  (unhelpful "Suspension not enable=
d")
  https://savannah.gnu.org/bugs/?61381  (syntax for SQL contained aliens)=

  https://savannah.gnu.org/bugs/?61387  (mixed quotes could miscolor thin=
gs)
  https://savannah.gnu.org/bugs/?61389  ("this\" was colored as valid str=
ing)

  https://savannah.gnu.org/bugs/?61391  (yaml.nanorc was missing in tarba=
ll)
  https://savannah.gnu.org/bugs/?61397  (toggling help lost focus)
  https://savannah.gnu.org/bugs/?61398  (toggling help lost the spotlight=
)
  https://savannah.gnu.org/bugs/?61419  (some unbind was colored as inval=
id)

  https://savannah.gnu.org/bugs/?61420  (some binds were colored as inval=
id)
  https://savannah.gnu.org/bugs/?61438  (a full justification could segfa=
ult)
  https://savannah.gnu.org/bugs/?61441  (--enable-linenumbers did not giv=
e M-N)
  https://savannah.gnu.org/bugs/?61445  (M-C blanked screen on tiny termi=
nal)

  https://savannah.gnu.org/bugs/?61458  (--noread disallowed inserting fi=
les)
  https://savannah.gnu.org/bugs/?61460  (could not spell check in tiny ve=
rsion)
  https://savannah.gnu.org/bugs/?61487  ('\x=C4=8D=C4=87' was colored as =
valid hex)
  https://savannah.gnu.org/bugs/?61496  (misleading feedback from M-O)

  https://savannah.gnu.org/bugs/?61509  (--minibar gave no feedback for i=
nsert)
  https://savannah.gnu.org/bugs/?61573  (rebinding ^Z failed on Linux con=
sole)
  https://savannah.gnu.org/bugs/?61574  (poor feedback for Ctrl+Shift+Fx)=



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

Brad Town (2):
      rcfile: support #rgb format for specifying colors in 256-color term=
inals
      docs: add a description of the hexadecimal #rgb color specification=


Benno Schulenberg (193):
      bindings: allow rebinding ^Z also on a Linux console (a VT)
      bindings: allow toggling line numbers (when enabled) also in tiny v=
ersion
      bindings: let ^T in the tiny version invoke spell checker (when inc=
luded)
      browser: with --zero, do not use the bottom row for displaying file=
names
      build: fix compilation when configured with --disable-color
      build: fix compilation when configured with --disable-nanorc
      build: fix compilation when configured with --enable-tiny
      build: fix compilation with --enable-tiny --enable-nanorc
      build: fix compilation with --enable-tiny --enable-wrapping
      build: include the YAML syntax file among the distributed files
      bump version numbers and add a news item for the 6.0 release
      display: clear the status bar early enough, so that --zero can show=
 text
      display: do not wipe the status bar when --zero or --minibar is act=
ive
      display: ensure feedback will be cleared also on a one-row terminal=

      display: make sure there are at least as many text lines as help li=
nes
      display: move some code for overwriting verbatim feedback with --ze=
ro
      display: redraw the screen in tiny version upon resuming from suspe=
nsion
      display: with --zero, redraw the bottom row instead of wiping a mes=
sage
      docs: add a hint about making ^L do just 'refresh' to the sample na=
norc
      docs: add a meta description for the HTML rendering of the manual
      docs: add a suggested rebind and three suggested unbinds to the sam=
ple rc
      docs: avoid large Table of Contents at top of HTML version of manua=
l
      docs: clarify that --enable options do not fully counteract --enabl=
e-tiny
      docs: correct the description of the layout -- four areas, not five=

      docs: document the effect of --quickblank together with --zero/--mi=
nibar
      docs: explain the effect of --zero / -0 / 'set zero'
      docs: explain what it means when --rawsequences is needed
      docs: give more examples of things that --enable-tiny excludes
      docs: improve the title of the manual, away from the bare "nano"
      docs: list the new color names, from 'rosy' to 'crimson'
      docs: mark options -z, --suspendable, and 'set suspendable' as obso=
lete
      docs: mention "grey" also at the other place where color names are =
listed
      docs: mention M-Z (for toggling the interface) among the Feature To=
ggles
      docs: mention that --zero and 'set zero' hide also the help lines
      docs: move the chapter about editor basics into third position
      docs: prevent a black square in the PDF after the long synopsis lin=
e
      docs: reshuffle a GNU marker, to make the title clearer in search e=
ngines
      docs: reword several of the descriptions in the chapter on building=
 nano
      docs: reword the beginning of the chapter on nanorc files
      docs: say thanks to the Indonesian translator
      feedback: give a more accurate message when the help lines won't ap=
pear
      feedback: refuse the --constantshow toggle (M-C) on a one-row termi=
nal
      feedback: report an unbindable function key as an "Unknown sequence=
"
      feedback: report the number of inserted lines also with --zero or -=
-mini
      feedback: show a relevant message for M-O when the syntax has 'tabg=
ives'
      feedback: suppress chatty messages when --zero is active
      feedback: to have a status bar, suppress --zero while in the help v=
iewer
      feedback: when reporting an unbound function key, mention its numbe=
r
      feedback: when the user types ^Z, say they can suspend nano with ^T=
^Z
      feedback: with --mini or --zero, suppress number of lines for new b=
uffer
      feedback: with --mini/--zero, suppress message when toggling whites=
pace
      feedback: with --zero, drop a message in a short while, as with --m=
inibar
      files: allow inserting also when started with the --noread option
      files: clear original filename when the user toggles Append or Prep=
end
      gnulib: update to its current upstream state
      help: do not show ^S when --preserve is in effect
      help: ensure there is a blank line between title bar and start of t=
ext
      help: group the now lone mouse toggle with the "behavioral" ones
      help: remove an unneeded restriction for small terminals
      help: skip the leading blank line when the terminal is very flat
      help: when done, always redraw the "bottom bars", also with --zero
      history: process file faster by not filtering out hypothetical dupl=
icates
      input: ensure that no more bytes are consumed than are available
      justify: correctly determine whether top-of-buffer has been reached=

      memory: avoid a tiny leak when an option with an argument is given =
twice
      memory: avoid leaking the filename when dottifying it on the miniba=
r
      new feature: option --zero for an interface without bars
      options: make --zero imply --nohelp, and 'set zero' imply 'set nohe=
lp'
      pasting: when less than a line is pasted, allow automatic hard-wrap=
ping
      po: update translations and regenerate POT file and PO files
      prompt: avoid resetting the history pointer when the search is canc=
elled
      prompt: begin at bottom of history list when at secondary prompt
      prompt: keep a clear answer clear also after an excursion into hist=
ory
      rcfile: recognize fourteen new color names, mostly for subdued shad=
es
      rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keyw=
ords
      replacing: keep centering the occurrence, also after toggling help =
lines
      replacing: keep the spotlighted occurrence in view, also with --zer=
o
      replacing: keep the spotlighting, also after toggling the help line=
s
      search: with --zero, do not obscure an occurrence on the bottom row=

      search: with --zero, drop a message at the same time as the spotlig=
ht
      statusbar: count words in the way that matches how Ctrl+Right moves=

      statusbar: overwrite a message also when using --constant with --ze=
ro
      suspension: enable ^Z by default -- ignore -z option and drop M-Z t=
oggle
      suspension: leave ^Z unbound by default -- just ^T^Z will suspend n=
ano
      syntax: debian: remove file -- Debian itself will have to handle it=

      syntax: default: colorize comments as one of the last things
      syntax: default: colorize dates, URLs, and nano's release motto
      syntax: email: use a character class, as \s does not work inside br=
ackets
      syntax: gentoo: remove file -- Gentoo itself will have to handle it=

      syntax: nanorc: add 'execute' menu for unbind, and drop a bad const=
raint
      syntax: nanorc: avoid colorizing #rgb codes as if they were comment=
s
      syntax: nanorc: colorize a trailing comment when it begins with non=
-hex
      syntax: nanorc: colorize each of the fourteen new color names as va=
lid
      syntax: nanorc: improve the file-matching regex
      syntax: nanorc: paint arguments of 'include' and 'extendsyntax' spe=
cially
      syntax: nanorc: require whitespace before the start=3D and end=3D k=
eywords
      syntax: python: colorize backslash escapes, such as \n and \xef
      syntax: ruby: colorize embedded documentation as a comment
      syntax: rust: do not colorize as string the text between two string=
s
      syntax: sql: add a few more missing keywords, like TRUE and FALSE
      syntax: sql: add more missing keywords, like INNER and OUTER JOIN
      syntax: sql: add some missing keywords, like ALL and ANY and OR
      syntax: sql: add two missing data types -- xml and tsquery
      syntax: sql: colorize as flow control only keywords that clearly ar=
e such
      syntax: sql: colorize keywords regardless of case, and tweak the co=
lors
      syntax: sql: colorize only single-quoted things as strings
      syntax: sql: colorize strings differently than types
      syntax: sql: remove alien stuff -- it was copied mostly from ruby s=
yntax
      syntax: texinfo: be more precise in colorizing @commands
      syntax: texinfo: colorize the special @-plus-punctuation commands t=
oo
      syntaxes: avoid coloring "this\" as if it were a valid string
      syntaxes: colorize hex more strictly by using character class [:xdi=
git:]
      syntaxes: drop three redundant end-of-line anchors
      syntaxes: undouble the backslash within bracket expressions
      syntaxes: use one regex for coloring quoted strings, to avoid overl=
ap
      tabbing: also with --zero, stay one row away from the prompt bar
      tweaks: add an auxiliary variable, to prepare for handling --zero
      tweaks: add two spaces and two comments, and drop an internal check=

      tweaks: adjust two values -- help lines need at least 6 rows to be =
shown
      tweaks: avoid a compiler warning with --enable-tiny --enable-linenu=
mbers
      tweaks: avoid redrawing the entire window when just a 'touch' will =
do
      tweaks: condense the definitions of all the empty functions
      tweaks: condense the regexes for Types in the SQL syntax
      tweaks: don't redraw the help lines (if present), and normalize a b=
race
      tweaks: drop a fragment of code that became functionless
      tweaks: elevate two messages, so they get shown with --mini or --ze=
ro
      tweaks: elide a variable that is confusing and has just one use cas=
e
      tweaks: elide two functions that each were called just once
      tweaks: elide two parameters, as they are now always the same
      tweaks: exclude some hidden-interface code from the tiny version
      tweaks: exclude some suspension code from the tiny version
      tweaks: fix a parentheses mistake -- found by a warning from Clang
      tweaks: fix a somewhat humorous typo
      tweaks: fix typo, and improve description of 'set zero' in sample n=
anorc
      tweaks: fold a special case into the general one
      tweaks: fold some regexes together, and trim or improve some commen=
ts
      tweaks: frob a couple of comments, and drop two, for conciseness
      tweaks: improve a comment, and drop two cluttering compile conditio=
ns
      tweaks: invert a condition, to get an early return instead of inden=
tation
      tweaks: just let do_wrap() set 'refresh_needed' instead of returnin=
g TRUE
      tweaks: mark keystrokes consistently with @kbd in the manual
      tweaks: move a translator hint to where xgettext will see it
      tweaks: normalize whitespace, drop unneeded prototype, condense com=
ment
      tweaks: on one-row terminals, suppress the message for two toggles
      tweaks: place the unsetting of a flag better, and rename a variable=

      tweaks: put three email addresses between the customary angled brac=
kets
      tweaks: reassign a copy of a string to a variable more economically=

      tweaks: reduce redundancy (--enable-color implies --enable-nanorc)
      tweaks: remove redundant pair of parentheses, and swap two alternat=
ives
      tweaks: remove redundant parentheses, trim comments, fold some rege=
xes
      tweaks: remove two unneeded unsettings
      tweaks: rename a function and its parameter, to be clearer
      tweaks: rename a function, away from using an abbreviation
      tweaks: rename a function, for some contrast and to get rid of a su=
ffix
      tweaks: rename a function, to describe better what it does nowadays=

      tweaks: rename a function, to make it make sense
      tweaks: rename a variable, to be distinctive and less confusing
      tweaks: rename a variable, to be easier to read and to make more se=
nse
      tweaks: rename five empty functions, to get rid of a meaningless su=
ffix
      tweaks: rename three functions, to better fit the general scheme
      tweaks: rename three parameters, away from single letters
      tweaks: rename two empty functions, to be more to the point
      tweaks: rename two functions, to get rid of another senseless suffi=
x
      tweaks: rename two functions, to get rid of one more senseless suff=
ix
      tweaks: rename two functions, to get rid of the senseless suffix of=
 one
      tweaks: rename two more functions, to lose a senseless suffix
      tweaks: rename two parameters and one variable, away from single le=
tters
      tweaks: rename two variables, away from abbreviations
      tweaks: rename two variables, to fit with the names of similar ones=

      tweaks: replace a verbose condition with a simpler early return
      tweaks: replace the obscure @* with the slightly clearer @sp
      tweaks: replace two direct refreshes with two scheduled ones
      tweaks: reshuffle a coloring rule, to have related ones together
      tweaks: reshuffle a few lines, and rename a variable
      tweaks: reshuffle a few lines, for Christmas and to group things be=
tter
      tweaks: reshuffle a fragment of code to a better place
      tweaks: reshuffle a line and adjust indentation after previous chan=
ge
      tweaks: reshuffle a line into its proper order, and improve two com=
ments
      tweaks: reshuffle some conditions, so that the ifs have similar for=
mats
      tweaks: reshuffle some conditions, to have more balanced lines
      tweaks: reshuffle some lines, one for clarity, others for concisene=
ss
      tweaks: reshuffle the flag conversion into their order in the help =
text
      tweaks: reshuffle two conditions, re-indent, and rewrap a line
      tweaks: reword a paragraph, and use usual M- to depict Meta keystro=
kes
      tweaks: rewrap an old news item, for distraction
      tweaks: rewrap three old NEWS items, for esthetics, and fix a date
      tweaks: shorten a comment, and drop some conditionalizing
      tweaks: shorten the description of --zero in the manuals a bit
      tweaks: shorten two comments, and fold two statements together
      tweaks: swap two parts of specific regexes, for consistency with ot=
hers
      tweaks: untangle two case items, and shorten a message
      tweaks: use a color closer to the rest of the string, to reduce con=
trast
      tweaks: use a few fewer capitals, and drop an unneeded synonym

--=20

Benno

--------------03A41CA5918019A4BA58A97E
Content-Type: text/x-python; charset=UTF-8;
 name="colorcodes.py"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="colorcodes.py"

#!/usr/bin/env python3

# Print the 216 color codes, each in its corresponding color.

values =3D [ 0, 4, 8, 0xa, 0xc, 0xe ]

thecodes =3D [ "#%1x%1x%1x" % (r, g, b)
             for r in values
             for g in values
             for b in values ]

for (index, code) in enumerate(thecodes, start=3D16):
    sequence =3D ("\033[38;5;%sm%s\033[0m") % (index, code)
    separator =3D '\n' if index % 6 =3D=3D 3 else ' '
    print (sequence, separator, end=3D'')

--------------03A41CA5918019A4BA58A97E--

--PYqW1fXSUPyYYQWoMQRpF3N8npCSELJCk--

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

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

wsF5BAABCAAjFiEEv9AJBh5TUFKtDfIVDSjU0qCs6IQFAmG51/gFAwAAAAAACgkQDSjU0qCs6IQh
DxAAm0ZRLJsp6SVOvxRT2R3rIZ9a6p1xswhQY42X+HTRvgGswZUj9hw4OyhYsYFNycSsf0NOSOHZ
rg8FLR3KAqI6Ja1koJddoRm7e0IvGgHk6wldwQWmrkUdlO0DHWYdihtJHanrnFTx6ntgecT8tTYR
lrtHQrIfq0jJ5F8hSX0uav7BwvZOoqDlnQdRL1Xwu6bktOAHZGX5YtDd+iDmX3t/gwoqxJjkWk+C
PJowuTtjeJr8oelKNit7eU14KFmf3A6CeOID6ZC8bd/2EvyBEJxpKyD/ssM72Egmxu0erhEvyM78
kiKSzdlFBMZrvxEM2eLk0o8CBiKUh71qBSrBIEhxSzooYYVfFEtdG3WZ74gPU7ZslPduw5qdBZia
vOaH2UoDm9ZhKbcWao6PRVo4GSY3nxOqDjrpCXyIyamtrJ2w4HiC2qwTw+Al9STKbQifffNH6qLt
UqtgdI/5qdz0Aq9WKwnIKlNGRXtQ1bglwAddjKTpmyfVbObbPUBF9RCHBvHX6+Q7ZExI55SHzL6B
q0pAMcXzk/aB6UuCk0/i/XDhHZrdcqPxShVsmeLUCrJlJyflQ+A3okk3eDz60O/g8Xg/U+DaQKjP
64qpkbFEAoc4oqmVOSFCt2YJwczFfvZL2u4uDVj72hBbkQPF7A1sFrjMB0leosZf1EskhCBlK2to
7BA=
=TqD5
-----END PGP SIGNATURE-----

--YaZGLkrvcKg4fdejWYbqikmQ1dwHyP0kY--


--===============0438641405043642841==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Info-nano mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/info-nano

--===============0438641405043642841==--