[ANNOUNCE] nano-4.0 is released

Benno Schulenberg <[email protected]> Sun, 24 Mar 2019 13:34:27 +0100
Newsgroups gmane.editors.nano.announce
Message-ID <70af354d-3e42-ccc8-4e36-1b7dab052b5e__41035.2528256894$1553431986$gmane$org@telfort.nl>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============3041214397125021757==
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="bT3yOP54s26AOgBBVm8cUaIdRb3Yl7jxn"

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

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


2019.03.24 - GNU nano 4.0 "Thy Rope of Sands"

=E2=80=A2 An overlong line is no longer automatically hard-wrapped.
=E2=80=A2 Smooth scrolling (one line at a time) has become the default.
=E2=80=A2 A newline character is no longer automatically added at end of =
buffer.
=E2=80=A2 The line below the title bar is by default part of the editing =
space.
=E2=80=A2 Option --breaklonglines (-b) turns automatic hard-wrapping back=
 on.
=E2=80=A2 Option --jumpyscrolling (-j) gives the chunky, half-screen scro=
lling.
=E2=80=A2 Option --finalnewline (-f) brings back the automatic newline at=
 EOF.
=E2=80=A2 Option --emptyline (-e) leaves the line below the title bar unu=
sed.
=E2=80=A2 <Alt+Up> and <Alt+Down> now do a linewise scroll instead of a f=
indnext.
=E2=80=A2 Any number of justifications can be undone (like all other oper=
ations).
=E2=80=A2 When marked text is justified, it becomes a single, separate pa=
ragraph.
=E2=80=A2 Option --guidestripe=3D<number> draws a vertical bar at the giv=
en column.
=E2=80=A2 Option --fill=3D<number> no longer turns on automatic hard-wrap=
ping.
=E2=80=A2 When a line continues offscreen, it now ends with a highlighted=
 ">".
=E2=80=A2 The halfs of a split two-column character are shown as "[" and =
"]".
=E2=80=A2 A line now scrolls horizontally one column earlier.
=E2=80=A2 The bindable functions 'cutwordleft' and 'cutwordright' were re=
named
  to 'chopwordleft' and 'chopwordright' as they don't use the cutbuffer.
=E2=80=A2 The paragraph-jumping functions were moved from Search to Go-to=
-Line.
=E2=80=A2 Option --rebinddelete is able to compensate for more misbinding=
s.
=E2=80=A2 Options --morespace and --smooth are obsolete and thus ignored.=

=E2=80=A2 The --disable-wrapping-as-root configure option was removed.


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

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


Specific bugs that were fixed in this release:
  https://savannah.gnu.org/bugs/?44630  (cryptic configure error)
  https://savannah.gnu.org/bugs/?46900  (undoable justifications [request=
])
  https://savannah.gnu.org/bugs/?53785  (removal of deprecated options)
  https://savannah.gnu.org/bugs/?55054  (justifiable marked region [reque=
st])
  https://savannah.gnu.org/bugs/?55067  (no hard-wrapping by default [req=
uest])

  https://savannah.gnu.org/bugs/?55129  (some old URLs in the FAQ)
  https://savannah.gnu.org/bugs/?55169  (crashed upon a bad quoting regex=
)
  https://savannah.gnu.org/bugs/?55207  (all systems seem to know \< and =
\>)
  https://savannah.gnu.org/bugs/?55247  (no <Backspace> on FreeBSD)
  https://savannah.gnu.org/bugs/?55303  (-K together with -m entered junk=
)

  https://savannah.gnu.org/bugs/?55304  (two unclear error messages)
  https://savannah.gnu.org/bugs/?55305  (undoing a cut could leave a newl=
ine)
  https://savannah.gnu.org/bugs/?55315  (a guiding margin line [request])=

  https://savannah.gnu.org/bugs/?55330  (a noop ^K did add an undo item)
  https://savannah.gnu.org/bugs/?55336  ("Esc Esc [" was bindable)

  https://savannah.gnu.org/bugs/?55352  (wrong file size after redoing de=
letion)
  https://savannah.gnu.org/bugs/?55423  (invalid backup directory was acc=
epted)
  https://savannah.gnu.org/bugs/?55442  ("Esc Meta-letter" was misinterpr=
eted)
  https://savannah.gnu.org/bugs/?55535  (switching buffer canceled a regi=
on)
  https://savannah.gnu.org/bugs/?55571  (highlight the ">" character [req=
uest])

  https://savannah.gnu.org/bugs/?55620  (mishandled two-column characters=
)
  https://savannah.gnu.org/bugs/?55638  (two-column characters pushed off=
 row)
  https://savannah.gnu.org/bugs/?55655  (messed-up help lines in file bro=
wser)
  https://savannah.gnu.org/bugs/?55657  (differentiate split from continu=
ation)
  https://savannah.gnu.org/bugs/?55679  (more mishandled two-column chara=
cters)

  https://savannah.gnu.org/bugs/?55716  (don't show placeholder under cur=
sor)
  https://savannah.gnu.org/bugs/?55759  (zero-width character pushed stuf=
f off)
  https://savannah.gnu.org/bugs/?55792  (using multiple nanos could crash=
 one)
  https://savannah.gnu.org/bugs/?55912  (reading from '-' lamed modified =
keys)


Changes between v3.2 and v4.0:
------------------------------

David Lawrence Ramsey (34):
      display: correctly trim an overshooting character from a prompt ans=
wer
      display: correct the logic for making room for the ">" character
      display: properly handle double-width characters when spotlighting
      display: properly trim double-width characters at the edit window's=
 edge
      display: show the guide stripe for double-width/multi-byte characte=
rs
      docs: remove references to not being able to undo justifications
      input: properly handle <Escape>s followed by a shifted Meta+letter
      justify: handle the leading part when justifying a marked region
      justify: initialize a variable before making use of its value
      justify: put a mid-line marked region onto separate lines
      justify: when justifying a marked region, strip whitespace after th=
e lead
      moving: make the generic paragraph movement functions work on any b=
uffer
      new feature: marked text gets justified into a single, new paragrap=
h
      options: exit on a bad quoting regex, instead of crashing later
      text: hook the new justify mechanism up to the undo system
      text: make do_justify() use the cutbuffer
      text: make find_paragraph() work on any buffer
      text: make justify_format() work on any buffer
      text: make justify_paragraph() work on any buffer
      text: prepare to make find_paragraph() work on any buffer
      text: properly check again for no paragraphs after the current line=

      text: remove the old unjustify mechanism, to prepare for the new ju=
stify
      tweaks: adapt find_paragraph()/justify_paragraph() for multiple quo=
tes
      tweaks: adjust indentation after the previous commit
      tweaks: adjust some indentation after the previous change
      tweaks: normalize the indentation, and remove unneeded braces
      tweaks: remove unnecessary variable initializations
      tweaks: rename a variable, to prepare for its new role
      tweaks: split justify_paragraph() into three separate functions
      tweaks: swap the names of the variables 'wrap_at' and 'fill'
      tweaks: use proper variable types in the word-completion functions
      undo: after undoing a cut, don't remove the magicline if we're on i=
t
      undo: set and check 'xflags' in a bitwise manner
      undo: when undoing a cut, remove also the magicline if it added one=


Brand Huntsman (1):
      history: use an unfreed 'position_history' to avoid a possible cras=
h

Benno Schulenberg (193):
      bindings: change the action of <Alt+Up>/<Alt+Down> to 'scroll linew=
ise'
      bindings: hard-bind ASCII code 0x08 (BS) to the backspace function
      bindings: make the normal scrolling keystrokes work also in help vi=
ewer
      bindings: provide usable shortcuts for prevword/nextword in tiny ve=
rsion
      bindings: rename 'cutwordleft' to 'chopwordleft', and similar for r=
ight
      browser, help: make <Bsp> page up also when terminfo mismatches ter=
minal
      browser: say "Close" instead of "Exit" for the ^X shortcut
      browser: show the ^G item again in the help lines
      build: ensure that also new PO files are committed to git
      build: eradicate the --disable-wrapping-as-root configure option
      build: fix compilation when configured with --disable-utf8
      build: stop using the --disable-wrapping-as-root configure option
      build: use wget over https (instead of plain rsync) to fetch PO fil=
es
      build: verify that 'pkg.m4' is available when building from git
      bump version numbers and add a news item for the 4.0 release
      copyright: update the years for significantly changed files
      copyright: update the years for the FSF
      copyright: update the years for the FSF in the documentation too
      cutting: cover the corner cases where cut commands do not cut anyth=
ing
      cutting: give feedback when otherwise nothing happens
      cutting: when ^K does not actually cut anything, do not add an undo=
 item
      display: account for horizontal scrolling when drawing the guide st=
ripe
      display: account for zero-width characters when reserving space for=
 '>'
      display: change the "$" continuation character to ">" and "<"
      display: dot the stripe when it's in the last column, to defeat a V=
TE bug
      display: ensure that spotlighted text is not treated as a prompt an=
swer
      display: highlight the ">"/"<" continuation characters in reverse v=
ideo
      display: represent half of a double-width character with "[" and "]=
"
      display: scroll horizontally one column earlier
      display: show "[" for half of two-column character also when softwr=
apping
      display: show it in title bar when starting up in restricted mode
      display: use non-breaking space instead of dot for VTE-bug workarou=
nd
      docs: add notes to draw attention to the changed defaults
      docs: adjust and extend the Pico-compatibility section in the manua=
l
      docs: adjust for the enhancement of the default quoting regex
      docs: correct the descriptions of 'speller' and 'linter' functions
      docs: deprecate the use of morespace, smooth, nonewlines, and nowra=
p
      docs: describe breaklonglines, emptyline, finalnewline, jumpyscroll=
ing
      docs: describe the four new options (-b, -f, -j, -e)
      docs: describe the new options -J, --guidestripe, and 'set stripeco=
lor'
      docs: harmonize the style of bindable-function descriptions
      docs: mention nano's major features directly instead of referring
      docs: mention that 'cutwordleft' is bound to <Shift+Ctrl+Delete>
      docs: mention that --morespace and --smooth are obsolete and ignore=
d
      docs: mention that 'quotestr' enables the rewrapping of comment blo=
cks
      docs: mention three features in their proper place
      docs: remove from the FAQ some items that are no longer relevant
      docs: remove the mentioning of --disable-wrapping-as-root from the =
FAQ
      docs: reword and reshuffle the description of --rawsequences
      docs: say that --rebinddelete can correct both <Backspace> and <Del=
ete>
      docs: stop implying that nano wants to be fully compatible with Pic=
o
      docs: stop saying that --fill switches on automatic hard-wrapping
      docs: suggest a setting for 'stripecolor' in the sample nanorc
      docs: update the links in the FAQ to the mailing-list info pages
      feedback: complete the removal of some superfluous words
      feedback: make two error messages better match the option
      feedback: remove some superfluous words from Undid/Redid messages
      files: retain a Shift-selected region when switching between buffer=
s
      gnulib: update to its current upstream state
      help, docs: say "Delete" when things don't go into the cutbuffer
      help: don't advertise ^S and ^Q when --preserve is used
      help: don't list the obsoleted -O and -S options in the --help outp=
ut
      help: don't list the unbound <Alt+Up> and <Alt+Down> in the tiny ve=
rsion
      help: in the tiny version, don't list an option that is the default=

      help: reword the description of ^U to avoid the impression of "Undo=
"
      help: reword the tags for deleting a word left and right
      justify: correctly detect when we've reached end of buffer
      justify: extend the quoting regex, to cover more types of comments
      justify: move the check for a bad quoting regex to a better place
      menus: don't show ^S and ^Q in the help lines in the tiny version
      menus: move the paragraph-jumping functions from Search to Goto-Lin=
e
      menus: put the ^T toggle in Search in the same position as in Goto-=
Line
      menus: remove the ^Y and ^V shortcuts from the Search menus
      new feature: option --guidestripe that shows a vertical guiding bar=

      options: actually rename --rebindkeypad to --rawsequences (-K)
      options: add -b, --breaklonglines, the counterpart of --nowrap
      options: add -e, --emptyline, the counterpart of --morespace
      options: add -f, --finalnewline, the counterpart of --nonewlines
      options: add -j, --jumpyscrolling, the counterpart of --smooth
      options: disable hard-wrapping and automatic newlines by default
      options: let --fill no longer imply automatic hard-wrapping
      options: make -d (--rebinddelete) work without -K (--rebindkeypad)
      options: make --rawsequences disable --mouse, to prevent entering j=
unk
      options: rename long version of -K from --rebindkeypad to --rawsequ=
ences
      options: stop recognizing and ignoring -b, -e, -f, -j, and -q
      options: stop recognizing and mentioning --quiet and 'set quiet'
      options: warn when option -O or -S is given, and ignore them
      po: update translations and regenerate POT file and PO files
      prompt: trim a double-width character at the screen's edge
      rcfile: add 'stripecolor' for changing the color of the guiding str=
ipe
      rcfile: add the options that correspond to -b, -f, -j, and -e
      rcfile, docs: remove deprecated forms of two options and five binda=
bles
      rcfile: don't report an error when the globbing pattern matches not=
hing
      rcfile: reject an attempt to bind ^[
      rcfile: when a keystroke is rebound, don't bother unbinding it
      rcfile: when an old flag is unset, set the corresponding new flag
      rcfile: when rebound, DO unbind a keystroke from its earlier functi=
on
      startup: check again for a Linux console after reading all files
      startup: check that a backup directory is valid also when backups a=
re off
      startup: improve two error messages by mentioning the invalid opera=
nd
      syntax: nanorc: stop coloring 'unset fill ...' as if it were valid
      syntax: tcl: colorize comments normally, not with a background hue
      text: turn the mark off when justifying, to not confuse an undo
      tweaks: add a consistency check plus a corresponding warning
      tweaks: add an alias for a string variable, so the code makes more =
sense
      tweaks: add deprecation comments to the four superseded options
      tweaks: add two comments, and reduce the scope of another variable
      tweaks: adjust indentation after previous change, and rename a para=
meter
      tweaks: adjust the indentation after the previous change
      tweaks: avoid parsing the same character twice
      tweaks: calculate the length of a completion word in a more direct =
way
      tweaks: change do_para_end() to not step beyond end of paragraph
      tweaks: condense a comment, and drop two others
      tweaks: condense a couple of comments and rewrap a few lines
      tweaks: condense a handful of comments
      tweaks: condense and correct a comment
      tweaks: condense and improve a couple of comments
      tweaks: condense and improve a handful of comments, and rewrap two =
lines
      tweaks: condense the logic of find_paragraph()
      tweaks: condense two regexes in the Tcl syntax, and add a comment
      tweaks: correct a comment typo, and trim a few other comments
      tweaks: don't bother executing two functions that are empty
      tweaks: don't bother special-casing non-UTF8 when checking for a bl=
ank
      tweaks: don't bother trying to draw characters beyond the screen's =
edge
      tweaks: don't bother zeroing the x position when doing a full justi=
fy
      tweaks: don't pass a pointer when a boolean is expected
      tweaks: elide a function that is called just once
      tweaks: elide an unneeded intermediate variable
      tweaks: elide a one-line function that is used just twice
      tweaks: elide a parameter -- do the NULL checks in the caller
      tweaks: elide a parameter that is always TRUE
      tweaks: elide a tiny function by making a variable global
      tweaks: elide a variable that is a copy of another
      tweaks: elide two unneeded intermediate variables
      tweaks: escape hyphens that must be hard hyphens in the man pages
      tweaks: exclude the guide-stripe code from the tiny version
      tweaks: hard-bind ASCII DEL in a slightly more economical way
      tweaks: improve a comment, and add an intermediate variable for cla=
rity
      tweaks: improve a comment, to better match the changed code
      tweaks: improve and condense some comments, and remove an unneeded =
one
      tweaks: make an assignment only when the option is valid, like else=
where
      tweaks: move declaration of variable that does not need to be globa=
l
      tweaks: move the character/word-deletion functions to a better loca=
tion
      tweaks: move the check for beginning-of-paragraph to a better place=

      tweaks: move the checks for git and gettext to a far earlier point
      tweaks: reduce a bunch of repetitious comments to their essence
      tweaks: reduce the scope of a variable, and rename it
      tweaks: reduce the scope of two variables, and rename one of them
      tweaks: reduce two parameters to a single one by summing them
      tweaks: refer to the magic line as "magic line", not as "magicline"=

      tweaks: remove a superfluous check for a special case
      tweaks: remove a superfluous incrementing and decrementing of a var=
iable
      tweaks: remove a variable that is no longer used
      tweaks: remove two tag definitions that are no longer needed
      tweaks: rename a function for aptness, and two variables for shortn=
ess
      tweaks: rename a function, to be simpler and more accurate
      tweaks: rename and invert a function, to avoid double negatives
      tweaks: rename an overlooked variable from a single letter to a wor=
d
      tweaks: rename a parameter plus a variable, and reshuffle an assign=
ment
      tweaks: rename a struct element, to make sense
      tweaks: rename a symbol, to match its corresponding option
      tweaks: rename a type, to make more sense
      tweaks: rename a variable, because it also serves as "last line"
      tweaks: rename a variable, elide another, and adjust two comments
      tweaks: rename a variable, to be more distinct
      tweaks: rename four functions, to make more sense
      tweaks: rename some variables from a single letter to meaningful wo=
rd
      tweaks: rename some variables, to match others that have the same t=
ask
      tweaks: rename three functions and two symbols, to match the new wo=
rding
      tweaks: rename three variables, and reshuffle two declarations
      tweaks: rename two parameters to be more descriptive
      tweaks: rename two variables, to be less confusing
      tweaks: rename two variables, to be more descriptive
      tweaks: rename two variables, to indicate better what they mean
      tweaks: renumber some FAQ items, to compensate for the deleted ones=

      tweaks: reorder some ifs, to reduce the average number of compariso=
ns
      tweaks: reshuffle a bit of code, to have the exit point near the en=
d
      tweaks: reshuffle a few lines, and condense some comments
      tweaks: reshuffle and frob a couple of comments, and reindent two l=
ines
      tweaks: reshuffle some code, to require two fewer ifs
      tweaks: reword the description of the disadvantages of Pico
      tweaks: rewrap a line and improve a few comments
      tweaks: schedule a call of edit_refresh() instead calling it direct=
ly
      tweaks: slightly indent warnings and errors during the configure ph=
ase
      tweaks: slightly reword, for esthetics of the resulting Info docume=
nt
      tweaks: split a variable into two, as they have different roles
      tweaks: switch from checking MORE_SPACE to checking EMPTY_LINE
      tweaks: switch from checking SMOOTH_SCROLL to checking JUMPY_SCROLL=
ING
      tweaks: switch from referencing NO_NEWLINES to referencing FINAL_NE=
WLINE
      tweaks: switch from referencing NO_WRAP to referencing BREAK_LONG_L=
INES
      tweaks: word some comments more concisely
      undo: set the correct file size for a redo of a character deletion
      utils: retire the fixbounds() function -- it is no longer needed

--=20

Benno


--jDNA8FfjUKBhbdzP34TAxzVDT5hQpSQht--

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

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

iQIzBAEBCgAdFiEEv9AJBh5TUFKtDfIVDSjU0qCs6IQFAlyXeV0ACgkQDSjU0qCs
6IQhAA//ebEf9j4LbJ6HjVUxjtmOyQrA2oyTA8yY9Uu1gW0GU0tMjD0esjf22mBh
u+ZXjl5kSgqj2aVgXWrEMSVvsTnlMJeCakGA8LoyxLDX/OzM/lYrSvTMKHbngcry
uEwdH2B+YWioIXr/ogoqz57GtcLTNWxUIz2oOifDchSo2UynTMcl22qnODBeZEMx
Oblmir76ul+us3BS+ROPkikF8fxch+t02aYjb9oXoLpwhLWNRZndZIKYuz3QqFj7
o2Sb/0rXQR9WlV2K0kfUlZLmqD0iNlzDHYtgq9a1DRtyCaBjK5tcY/JhkvDg1CxS
4VFEvjs2SaCCCJW92noktkl+NwM6aoD88Mfxytc52xVOduJbb8yGgs8NgpluGX6a
KXeMtMAIMogST/jrTui9RNB1EbM7Md/KpxIXHEulNgLGdLA3sZsUdPRWifl7AKhS
wwRWuAePF7hzw3/MSdVFf8JWPuVy9RzB8J4yjnZ2TCiiCPJ/QyyRklbXeTWsTI1l
JCc1fYR4tBwtFtQ1CiWYYbhglsqR+QMQ0tSPrDxGUaGD1Nl+YfO9+BUgU7VcfnOr
R+hDVP8D9K8cndd/oJU15iWY9o1epwwLS36+F9VXfJ9tJ7pmvosEwIhZBdv0Zbu5
Y76d3B9bQFBM+40lkC+qAPC813xbLlP6k8f61ojhvlTy3odcQJ8=
=rmbh
-----END PGP SIGNATURE-----

--bT3yOP54s26AOgBBVm8cUaIdRb3Yl7jxn--


--===============3041214397125021757==
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

--===============3041214397125021757==--