[ANNOUNCE] nano-4.3 is released
Benno Schulenberg <[email protected]> Tue, 18 Jun 2019 10:57:18 +0200
| Newsgroups | gmane.editors.nano.announce |
|---|---|
| Message-ID | <778affad-068d-970d-ac23-04d5c4d35c37__24629.2932353512$1560848333$gmane$org@telfort.nl> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============0098624288415813013== Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="xqZT0yPeQNXSUewckqQwwOLPJMvQRJL6k" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --xqZT0yPeQNXSUewckqQwwOLPJMvQRJL6k Content-Type: multipart/mixed; boundary="uvFY1YICGResGcM8GhfbPqBaT1ubmnHr0"; protected-headers="v1" From: Benno Schulenberg <[email protected]> To: [email protected], [email protected] Cc: [email protected] Message-ID: <[email protected]> Subject: [ANNOUNCE] nano-4.3 is released --uvFY1YICGResGcM8GhfbPqBaT1ubmnHr0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable 2019.06.18 - GNU nano 4.3 "Musa Kart" =E2=80=A2 The ability to read from and write to a FIFO has been regained.= =E2=80=A2 Startup time is reduced by fully parsing a syntax only when nee= ded. =E2=80=A2 Asking for help (^G) when using --operatingdir does not crash. =E2=80=A2 The reading of a huge or slow file can be stopped with ^C. =E2=80=A2 Cut, zap, and copy operations are undone separately when interm= ixed. =E2=80=A2 M-D reports the correct number of lines (zero for an empty buff= er). 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-4.3.tar.xz https://nano-editor.org/dist/latest/nano-4.3.tar.xz.asc Specific bugs that were fixed in this release: https://bugs.debian.org/583196 (could not edit FIFOs anymore) https://savannah.gnu.org/bugs/?29312 (unwanted CLOSE_WRITE event) https://savannah.gnu.org/bugs/?44907 (hanged on special system files) https://savannah.gnu.org/bugs/?56054 (Alt+D showed one-off line count)= https://savannah.gnu.org/bugs/?56241 (Ctrl+Del was noop when mark is o= n) https://savannah.gnu.org/bugs/?56249 (Alt+6 near bottom scrolled halfs= creen) https://savannah.gnu.org/bugs/?56251 (Ctrl+K appended its cut to an Al= t+6) https://savannah.gnu.org/bugs/?56261 (single undo item for different z= aps) https://savannah.gnu.org/bugs/?56274 (in view mode, Ctrl+W Ctrl+R misb= ehaved) https://savannah.gnu.org/bugs/?56310 (no line count when reading from = stdin) https://savannah.gnu.org/bugs/?56313 (Alt+arrow was dead in non-UTF8 l= ocale) https://savannah.gnu.org/bugs/?56317 (Alt+S could scroll halfscreen) https://savannah.gnu.org/bugs/?56344 (always default syntax for stdin)= https://savannah.gnu.org/bugs/?56346 (wrong message on exit from help = viewer) https://savannah.gnu.org/bugs/?56348 (unneeded message when piping int= o nano) https://savannah.gnu.org/bugs/?56365 (unretained Shift-selected region= ) https://savannah.gnu.org/bugs/?56369 (with --operatingdir, ^G could cr= ash) https://savannah.gnu.org/bugs/?56372 (misaligned --help for strange ta= bsizes) https://savannah.gnu.org/bugs/?56394 (resizing could mess up terminal = state) https://savannah.gnu.org/bugs/?56411 (resizing could switch to other b= uffer) https://savannah.gnu.org/bugs/?56415 (message contained strange charac= ter) https://savannah.gnu.org/bugs/?56438 (docs unclear about regex flavor)= https://savannah.gnu.org/bugs/?56462 (lines headed by "--" confused Ju= stify) https://savannah.gnu.org/bugs/?56498 (stray color commands were not re= ported) https://savannah.gnu.org/bugs/?56501 (an empty syntax was not reported= ) Changes between v4.2 and v4.3: ------------------------------ Brand Huntsman (6): files: block SIGWINCH while opening a FIFO for reading or writing rcfile: compile the color regexes just once rcfile: fully parse a syntax file only when needed rcfile: store errors and display them when nano terminates startup: prevent a crash when no applicable syntax is found tweaks: remove an unneeded pre-processor '#else' clause Benno Schulenberg (236): bindings: at a Yes-No prompt, accept also ^N and ^Q for "No" bindings: at a Yes-No prompt, accept also ^Y for "Yes" bindings: bind the Alt+arrow keystrokes also in non-UTF-8 locales browser: don't show a mistaken message when exiting from help viewe= r build: avoid a warning on FreeBSD, OpenBSD, and Alpine build: avoid a warning when using --disable-utf8 build: exclude the ability to open a FIFO from the tiny version build: fix compilation on another system build: fix compilation when configured with --disable-color build: fix compilation when configured with --enable-tiny build: move an #include to where it is needed build: remove two #includes that don't seem to be needed bump version numbers and add a news item for the 4.3 release chars: create a dedicated function for getting the length of a char= acter chars: redo the speedup for plain ASCII from three commits ago chars: speed up case-insensitive searching by roughly one percent chars: speed up the determination of length and width for plain ASC= II copying: let a copy command break a chain of cut or zap commands copying: make M-6 do nothing when at end of buffer copying: scroll just one line when M-6 is pressed on the bottom row= cutting: clear the cutbuffer when the previous operation was copyin= g cutting: ignore the mark when a word is deleted display: properly show all characters in a non-UTF-8 build docs: add a light warning to the explanation of --nonewlines docs: adjust the wording of the README to be factually correct docs: clarify that in nano regexes are extended regular expressions= docs: mention the default value for 'errorcolor' docs: note Brand as the author of the delayed syntax parsing docs: note David as author of undoable indenting and undoable justi= fying docs: remove "--" from the default value of 'quotestr' docs: say thanks to the Korean translator, and trim a double space docs: show double quotes where they are needed docs: slightly reword the notice about the changed defaults since 4= =2E0 feedback: don't clear off possible error messages after a spell che= ck feedback: don't try to represent keys outside of the seven-bit rang= e feedback: make an error check work also when curses hasn't started = yet feedback: print helpful message only when data comes from keyboard feedback: show a more fitting message when opening a FIFO is interr= upted feedback: show an appropriate message when reading a file was cut s= hort feedback: treat statusline() being called outside of curses mode as= a bug feedback: when the last line is empty, don't include it in the coun= t files: allow a given file to be a special file but not a directory files: allow to abort the reading of slow files with Ctrl+C files: allow to interrupt the opening of a FIFO for writing with Ct= rl+C files: allow to interrupt the opening of a FIFO with Ctrl+C files: check for writability by the access bits, not by trying to a= ppend files: don't close a newly-created buffer when it is the only one files: don't save the state of the terminal a second time files: don't say "Error...: Success" when aborting after resizing files: give feedback while waiting for a FIFO to open up files: suppress feedback when writing an emergency or temporary fil= e files: try matching a syntax after scooping data from standard inpu= t files: when needed, reconnect the keyboard and reenter curses mode gnulib: update to its current upstream state help: don't check for confinement when opening a temporary help-tex= t file help: don't cycle through the buffers for every resizing step help: don't show Alt+Left and Alt+Right when running on a Linux con= sole help: make the column for the first keystroke a little wider help: write the text directly into a new buffer, without using a te= mpfile justify: remove "--" from the quoting regex, to avoid false paragra= phs oops: apparently the line numbers in the cutbuffer do matter po: update translations and regenerate POT file and PO files rcfile: at terminating points, verify that a defined syntax is not = empty rcfile: check for missing color commands only when a syntax is stil= l open rcfile: close off a syntax when a non-syntax command is encountered= rcfile: disallow extending a syntax that is defined in a main nanor= c rcfile: fully read each included file, so all its syntaxes are seen= search: stay in the Search menu when trying to Replace in view mode= softwrap: use smooth scrolling when softwrapping is toggled on speller: be more concise and to the point when something goes wrong= speller: don't crash when the spell-checked tempfile cannot be open= ed speller: ensure that a Shift-selected region is retained speller: when something goes wrong with 'sort', do not blame 'spell= ' startup: remove the now-unneeded workaround for a SIGWINCH during i= nput startup: resave the terminal's state only when there were no signal= s syntax: po: colorize also escaped hex and octal codes syntax: python: avoid miscoloring stuff between two empty strings tweaks: add a missing forward declaration of make_new_buffer() tweaks: add a pair of braces, to silence a compiler warning tweaks: add a warning for something that shouldn't occur tweaks: adjust a comment and drop two others, and reshuffle two lin= es tweaks: adjust some indentation after the previous change tweaks: adjust some whitespace and rewrap a few lines tweaks: adjust the indentation after the previous change tweaks: adjust the indentation after the previous change tweaks: avoid an unneeded, extra stat() for temporary files tweaks: avoid parsing a character twice tweaks: be more sparing in redrawing things when exiting from help = viewer tweaks: change a function to void, to make things more direct tweaks: check in a single place for files that should not be opened= tweaks: close a buffer differently and elide a parameter tweaks: condense a comment and reshuffle a couple of lines tweaks: condense a couple of comments, and reshuffle a line tweaks: condense the setup of the two signal handlers for Ctrl+C tweaks: condense two comments, and normalize the whitespace of a la= bel tweaks: consistently report failures to fork (and the like) as erro= rs tweaks: delete a leftover tweaks: delete a now-unused function tweaks: delete a now-unused function tweaks: don't bother calling mblen() in a non-UTF-8 build tweaks: don't bother checking the return value of wait() tweaks: don't bother keeping track of whether a squeezed line has s= hrunk tweaks: don't bother renumbering the lines in the cutbuffer tweaks: don't bother saving and restoring 'cutbottom' all the time tweaks: don't bother to free the content of 'extendsyntax' commands= tweaks: don't check the user's nanorc file for accessibility twice tweaks: drop an unneeded parameter from open_file() tweaks: drop a useless tidying-up call, as spelling does not use re= gexes tweaks: drop most of the remaining debugging code, and some timing = code tweaks: drop some checks that were made redundant by the previous c= ommit tweaks: drop two checks that were made redundant by the previous co= mmit tweaks: elide a function that is an amalgam of three others tweaks: elide a function that is called in just one place tweaks: elide a function that is used just once tweaks: elide another parameter, and rename the function to match tweaks: elide an unneeded, duplicate stat() for the FIFO check tweaks: elide an unneeded 'if' and 'break' tweaks: elide an unneeded variable tweaks: elide a parameter and a return value tweaks: elide a pre-processor #else clause, by using braces instead= tweaks: elide a variable, drop a comment, and remove unneeded brace= s tweaks: elide two unneeded variables tweaks: enforce the miminum amount of scrolling in a simpler way tweaks: exclude a bug check from the tiny version tweaks: exclude another bug check from the tiny version tweaks: factor out a fragment of code that is repeated three times tweaks: factor out the installing and restoring of the ^C signal ha= ndler tweaks: improve a couple of comments tweaks: improve a handful of comments tweaks: improve some comments, reshuffle a line, and rename a varia= ble tweaks: include the enabling of SIGINT into the tiny version tweaks: invert a condition, in order to return earlier tweaks: invert two conditions, in order to elide an extra variable tweaks: just mark four rcfile errors for translation, like the othe= rs tweaks: make better use of two variables, and reshuffle two comment= s tweaks: merge two functions, as the first is called just once tweaks: merge two functions, as the one is used only by the other tweaks: merge two very similar functions into a single one tweaks: move a bit of timing code to where it will be needed tweaks: move a function to the file where it is used tweaks: move an assignment that is useful only when searching forwa= rd tweaks: move a syntax check to a better place, to reduce duplicatio= n tweaks: move the tyding-up-after-a-search to a single exit point tweaks: normalize the indentation after the previous two changes tweaks: place a function better, and reduce some comments to a sing= le one tweaks: put some timing code back into the search function tweaks: really don't bother renumbering the lines in the cutbuffer tweaks: reduce a bit of mark-adjusting code to its essence tweaks: reduce the scope of a variable, and let the compiler zero i= t tweaks: remove a bit of redundant code tweaks: remove a check that is no longer relevant tweaks: remove a condition that has become superfluous tweaks: remove an unneeded "closing" of a syntax after extending it= tweaks: remove an unneeded setting and unsetting of a flag tweaks: remove a superfluous and ineffective assignment tweaks: remove a superfluous condition, in three places tweaks: remove four unneeded pre-processor directives tweaks: remove some unneeded braces, and reshuffle for more symmetr= y tweaks: remove the two remaining handfuls of asserts tweaks: remove two more unneeded assignments tweaks: remove two unneeded assignments, and improve a comment tweaks: remove two unneeded checks for NULL tweaks: rename a bunch of variables, to become identical to others tweaks: rename a function and a variable, for contrast and variety tweaks: rename a function and its parameters, to be more fitting tweaks: rename a function, to be clearer and to stop using an old a= bbrev tweaks: rename a function, to be more fitting tweaks: rename a function, to better indicate what it does tweaks: rename a function, to better suit what it does tweaks: rename a parameter and a variable, to be more distinct tweaks: rename a struct element, to be distinct tweaks: rename a type, for more contrast tweaks: rename a type, to make more sense tweaks: rename a variable, reduce its scope, and use it consistentl= y tweaks: rename a variable, reshuffle declarations, and drop an asse= rt tweaks: rename a variable, to be shorter tweaks: rename a variable, to better indicate it contains two chara= cters tweaks: rename a variable, to better suit its counterpart tweaks: rename a variable, to fit a bit better tweaks: rename a variable, to fit a little better tweaks: rename a variable, to get out of the way of the next commit= tweaks: rename a variable, to match another with the same meaning tweaks: rename a variable, to match the style of its brothers tweaks: rename four elements of the holder struct, for more contras= t tweaks: rename some single-letter variables to the same significant= word tweaks: rename three variables, to get rid of a suffix or an unders= core tweaks: rename three variables, to use full words instead of abbrev= s tweaks: rename two functions, to be simpler tweaks: rename two functions, to better describe what they do tweaks: rename two functions, to get rid of the "mb" abbreviation tweaks: rename two more functions, to be simpler too tweaks: rename two parameters, away from single letters tweaks: rename two parameters, for more contrast, and elide another= tweaks: rename two parameters, to differentiate them from function = names tweaks: rename two variables, and frob some comments tweaks: rename two variables, and reshuffle their declarations tweaks: rename two variables, away from a single letter tweaks: rename two variables, for more contrast tweaks: rename two variables, for more contrast with the partition = stuff tweaks: rename two variables, to be less cryptic tweaks: rename two variables, to be unique tweaks: rename two variables, to not be abbreviations tweaks: reorder some code, to further optimize display_string() for= ASCII tweaks: reshuffle a bit of code, to be less intertwined tweaks: reshuffle a couple of lines and adjust a few comments tweaks: reshuffle a few lines, to be more straightforward tweaks: reshuffle a few things, partly to make two chunks more alik= e tweaks: reshuffle an assignment, to be able to return earlier tweaks: reshuffle some closing and switching to a better place tweaks: reshuffle some code to the one place that needs it tweaks: reshuffle some lines and frob some comments tweaks: reshuffle some lines, to group things more sensibly tweaks: reshuffle some lines, to put the most likely candidate firs= t tweaks: reshuffle some lines, to reduce duplication tweaks: reshuffle two #ifdefs, to avoid an unpaired brace tweaks: reuse the install and restore functions for a signal handle= r tweaks: set a boolean directly, instead of using a function call tweaks: set a boolean directly, instead of using a function call tweaks: sort three translator names better tweaks: specifically refer to the manual of GNU grep for more regex= info tweaks: speed up the counting of characters in mbstrlen() tweaks: squeeze excess spaces out of a line in situ tweaks: step away one character from the current bracket, not one b= yte tweaks: stop allocating and freeing a holder struct for every cut/p= aste tweaks: stop checking for a NULL result from line_from_number() tweaks: stop passing 'cutbuffer' and 'cutbottom' back and forth tweaks: switch to the preceding buffer in a cheaper way (when in he= lp) tweaks: use a cheaper way to switch between buffers where possible tweaks: use a more direct call when a single linestruct is deleted tweaks: use a slightly faster function where appropriate tweaks: use a symbol instead of zero to refer to standard input tweaks: use FALSE for booleans instead of zero tweaks: when OR'ing, put the most likely condition first usage: make the --help output independent from the terminal's tab s= ize zapping: disjoin a zap command from earlier ones when the mark is s= et zapping: use the 'keep_cutbuffer' logic to keep undo items apart --=20 Benno --uvFY1YICGResGcM8GhfbPqBaT1ubmnHr0-- --xqZT0yPeQNXSUewckqQwwOLPJMvQRJL6k Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEv9AJBh5TUFKtDfIVDSjU0qCs6IQFAl0Ip3kACgkQDSjU0qCs 6IQp3hAAoVt+aCMaiARkUhNqcB/E2ZAxVwKUu8b6wjnYYKanttQ0Tj8RpzGKZ34A LDOXGd7s27qpwlNnxn10rJIyD9ixMWVcb9quxv6G9sXYj1jx+68MeSoWJWEgduGA TMGvCfOpWmWexuEDBPRpdCCZGRmNykPoHv6IejNGLFTga5zBAENV+xJstJvCrOAj chjN7CHP6BN6e4Ac7CznVf/RuCPqYe3YjjyVsT4Q3pplvwbK8s8CqePnybg0Jafy zB38KEi1DR5F46SFqEshispN2CaWuE0F1LeI2KV1F4ZLORI8Qte4WUhjKhDNvV8H /9HEyAZF2Ca6Y48kj05n5QxHTJOW5b4InMPS8jLBmhV0cg81npNIb4dimgk7L3N5 t/zuegAxH0O+vGg5LoFBbd3VYhMZ9Tp+LuiA7c4cx6P2Cq58wsMWO4qk5F4WlOTo 6iTVPqowsQS2hu7UCGSFaQNY9nhsX3O9ZKifWYNN4XJ0UUXo0yG7KfhH/PmnZiBS wC4JqBolH3nVcX6XDzeeKoAJPpjyRBa2PJ+hEQfakGcNRlH2KTLs6g6MieBIvG8K D/CG8Kx4IXXaULzRqrJomPeWIkXXxRIIBdTpTOUUqFsjEKVQuJ5KMwueh7sfiig8 w24joT5eBXeiNZeHiDB79dObKdKYEqOtdOq+M33rkK/M6/LCvZQ= =Dnyh -----END PGP SIGNATURE----- --xqZT0yPeQNXSUewckqQwwOLPJMvQRJL6k-- --===============0098624288415813013== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW5mby1uYW5v IG1haWxpbmcgbGlzdApJbmZvLW5hbm9AZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFp bG1hbi9saXN0aW5mby9pbmZvLW5hbm8K --===============0098624288415813013==--