[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Info-nano] [ANNOUNCE] nano-4.8 is released

From: Benno Schulenberg
Subject: [Info-nano] [ANNOUNCE] nano-4.8 is released
Date: Fri, 7 Feb 2020 11:56:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

2020.02.07 - GNU nano 4.8  "Jaška"

• When something is pasted into nano, auto-indentation is suppressed,
  and the paste can be undone as a whole with a single M-U.
• When a lock file is encountered during startup, pressing ^C/Cancel
  quits nano.  (Pressing 'No' just skips the file and continues.)
• Shift+Meta+letter key combos can be bound with 'bind Sh-M-letter'.
  Making any such binding dismisses the default behavior of ignoring
  Shift for all Meta+letter keystrokes.
• The configuration option --with-slang (to be avoided when possible)
  can now be used only together with --enable-tiny.
• A custom nanorc file can be specified on the command line, with
  -f filename or --rcfile=filename.

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

A concise overview of nano's shortcut keystrokes:

The tarball and its signature are here:

Specific bugs that were addressed in this release:  (no auto-indent during paste  [request])  (saved new buffer had no lock file)  (line could overflow on console)  (lock file was not renamed)  (bindable modified Alt+X keys  
[request])  (undo a paste as a whole  [request])  (unbinding ^/ was ineffective)  (wrapping descriptions made help ugly)  (untrue description of 'set fill')  (Shift+Fx was unknown with --raw)  (Shift+Fx inserted ";2~" with --raw)  (Shift+Fx inserted ";" with Slang)  (first byte after suspend was eaten)  (no cursor when suspending with Slang)  (read nanorc from custom path  
[request])  (M-J was shown in Search in View mode)  (shifted Meta key could select text)  (help and browser accepted a paste)  (invalid key did not beep in linter)  (nano could paste before the mark)  (guiding stripe could be doubled)  (^C failed after suspend with Slang)  (Shift affected macro on a console)  (unneeded warning with --view + --lock)  (messy message for invalid lock file)  (unreadable lock file prevented edit)  (theoretical error could crash nano)  (bad locale could mess up screen)

Changes between v4.7 and v4.8:

Brand Huntsman (2):
      input: recognize the start and stop sequences of a bracketed paste
      input: beep when invalid key is pressed at yesno prompt or in linter menu

Benno Schulenberg (167):
      bindings: allow to bind shifted Meta+letter combinations with Sh-M-X
      bindings: allow to rebind also ^`, although it is synonymous with ^Space
      bindings: do not show the Full-Justify keystroke when in View mode
      bindings: force the first letter in a key name to uppercase
      build: exclude bracketed pasting from the tiny version
      build: exclude option '-g' when configured without browser and help
      build: exclude the escape sequences for F13...F16 from the tiny version
      build: fix compilation for --enable-{tiny,help,multibuffer}
      build: restrict the use of --with-slang to together with --enable-tiny
      bump version numbers and add a news item for the 4.8 release
      copyright: update the years for significantly changed files
      copyright: update the years for the FSF
      display: adjust line and column count upon a resize also when using Slang
      display: clear the help lines before a briefly shown warning
      display: don't let a message write over the second help line
      display: ensure the guiding stripe can be shown when not softwrapping
      display: exclude a bit of feedback from the tiny version
      display: show the cursor during suspension also when built with Slang
      display: skip zero-width characters on a Linux console, to avoid a mess
      docs: add a FAQ item about a self-compiled nano not reading /etc/nanorc
      docs: document the new -f/--rcfile option
      docs: document the new Sh-M-X format for binding <Shift+Meta+letter>
      docs: for the alternative bindings, rebind ^C only in the main menu
      docs: improve the description of which rc-files are read during startup
      docs: mention in the FAQ that auto-indentation is suppressed when pasting
      docs: mention that -D/--boldtext gets overridden by some nanorc options
      docs: put the three new behaviors in a bulletted list, to catch the eye
      docs: stop saying that 'set fill' enables hard-wrapping -- it does not
      docs: use more generally available arrows in the cheatsheet
      feedback: ask a clearer question when a valid lock file is encountered
      feedback: report Ctrl+Alt keystrokes as unbindable
      feedback: restore a message that can occur in help viewer or file browser
      files: alert the user afterward when an overwritten file is being edited
      files: revert the previous commit, as the extra warning is annoying
      files: warn doubly when the user is about to overwrite an existing file
      files: write a lock file also for a new file and when the name changed
      gnulib: update to its current upstream state
      help: don't waste the last column in the help viewer on narrow terminals
      help: increase the minimum help-text width from 24 to 32 columns
      help: prevent double spaces from protruding across the right edge
      help: when a key description wraps, indent its wrapped part
      input: consume and ignore the raw escape sequences for F17 to F24
      input: correct the escape sequence for PageUp/PageDown on Eterm/Urxvt
      input: Ctrl+arrow is "Esc O x" on Eterm, as on rxvt -- not "Esc o x"
      input: discard partial sequences that Slang produces for F17 to F24
      input: do not auto-indent when something is pasted into nano from outside
      input: don't discard the first keystroke after a resize when using Slang
      input: filter out Ctrl+Meta keystrokes, as they can never be shortcuts
      input: ignore bracketed pastes in help viewer and file browser
      input: ignore modifiers on a VT while executing a macro or a string bind
      input: prevent unintentional marking of text for shifted Meta keystrokes
      input: read in an external paste in one go, to allow undoing with one M-U
      input: recognize the raw escape sequences for F13 to F16 on xterm too
      locking: accept a minimal amount of data, enough for PID plus username
      locking: avoid crashing when there is a problem writing the lock file
      locking: check two magic bytes, to verify that it is a lock file
      locking: do not write a lock file when in view mode
      locking: when a lock file is unreadable, open the file itself anyway
      locking: when finding a lock file at startup, quit when user cancels
      new feature: allow specifying a custom nanorc file on the command line
      pasting: retain the mark's position when it was set at the cursor
      po: update translations and regenerate POT file and PO files
      prompt: for a Yes-No-All, accept the first character of an external paste
      rcfile: do set the meta flag for plain <Meta+ASCII> combinations
      rcfile: require "bright", "start=", and "end=" to be in lowercase too
      rcfile: unbind keys by their key code instead of by their key string
      softwrap: suppress the guiding stripe on unaffected chunks
      speller: avoid messing up the screen when an unknown locale is used
      suspension: put in an extra terminal-initialization call for Slang
      syntax: nanohelp, nanorc: colorize the Sh-M-X format as a valid key name
      syntax: nanorc: colorize all-lowercase Meta key binds as valid too
      tweaks: add a little change that was overlooked in the previous commit
      tweaks: add an error message for something that should never occur
      tweaks: adjust or reword a few items in the FAQ
      tweaks: adjust the indentation after the previous change
      tweaks: allocate the lock data only when ready to write them
      tweaks: avoid analyzing the key string when the target key code is known
      tweaks: avoid determining the key code from the key string twice
      tweaks: avoid fiddling with the keybuffer when it's not needed
      tweaks: comment fully, so that all handled escape sequences are findable
      tweaks: condense a fragment of code
      tweaks: condense five more fragments of repetitious code
      tweaks: condense three comments to one, and do the masking more directly
      tweaks: condense three fragments of repetitious code
      tweaks: condense two comments, and reshuffle an #endif
      tweaks: correct a comment
      tweaks: correct a couple of comments about escape sequences
      tweaks: correct the description of what nano writes into the lock file
      tweaks: delete some fragments of code that have become irrelevant
      tweaks: do not leak a file descriptor when fdopen() fails
      tweaks: don't bother including Haiku escape sequences in the tiny version
      tweaks: don't enable bracketed pasting when not handling such pastes
      tweaks: drop a message that will never be seen
      tweaks: drop an unneeded call of keypad() -- we never read from topwin
      tweaks: drop a pointless suffix from two function names
      tweaks: elide a function that has become too small for its two calls
      tweaks: elide a helper function, in preparation for an improvement
      tweaks: elide an 'if', by moving the relevant code to a better place
      tweaks: elide a small function, as it's in fact needed just once
      tweaks: elide a somewhat costly call by remembering some state
      tweaks: elide a variable, and rename its sister
      tweaks: elide three checks of a shortcut's meta flag
      tweaks: ensure that editor name and user name are NUL terminated
      tweaks: exclude an unneeded fragment of code from the tiny version
      tweaks: exclude two unneeded fragments of code from the tiny version
      tweaks: free two strings as soon as they are no longer needed
      tweaks: frob a couple of indentations and white lines
      tweaks: fuse two nearly identical functions into a single one
      tweaks: gather four calls that are always done together into a function
      tweaks: harmonize the amount of lock data that we read and write
      tweaks: improve a comment by indirectly referring to the ncurses docs
      tweaks: in comments, reword "titlebar" and "statusbar" to two words each
      tweaks: initialize three booleans straightaway, when they are declared
      tweaks: initialize three more booleans straightaway, at declaration
      tweaks: judge from the key code itself whether it is a Meta keystroke
      tweaks: make a couple of comments more precise
      tweaks: move a function to after the one that it calls
      tweaks: move a function to be before the ones that call it
      tweaks: move a function to before the one that calls it
      tweaks: move a function to related ones, and after one that it calls
      tweaks: move a function to right before the one that calls it
      tweaks: move another function to after the one that it calls
      tweaks: move another function to before the one that calls it
      tweaks: move another function, to group the deleting ones together
      tweaks: move three functions to the file where they are mainly used
      tweaks: rearrange a few global variables, to group things better
      tweaks: recompute the wrapping point just once
      tweaks: reduce the scope of a variable, and reshuffle a declaration
      tweaks: reduce the scope of two constants and of four variables
      tweaks: reformat a comment, and resuffle a line to match byte order
      tweaks: remove a feedback message that is never shown
      tweaks: remove a redundant call, as there is nothing to free there
      tweaks: remove a superfluous check
      tweaks: remove some superfluous conditions for rewriting a lock file
      tweaks: remove the now-unneeded code related to bracketed pasting
      tweaks: remove the now-unused meta flag from 'keystruct'
      tweaks: remove two superfluous assignments, and rename a variable
      tweaks: rename a function and its parameter, to be more fitting
      tweaks: rename a function, to be a bit more expressive
      tweaks: rename a function, to make it not contain the name of another
      tweaks: rename a parameter and invert its logic, and correct a comment
      tweaks: rename five variables, away from a single letter
      tweaks: rename two functions, to make more sense
      tweaks: rename two parameters, to be more general and to sound shorter
      tweaks: rename two variables, to make more sense
      tweaks: renumber some FAQ items in preparation for adding another
      tweaks: reorder two symbols
      tweaks: reshuffle some assignments for a return value
      tweaks: reshuffle some declarations
      tweaks: reshuffle some declarations, and expand a few variable names
      tweaks: reshuffle some lines, to avoid tallying the menus when not needed
      tweaks: reshuffle some lines, to group all ignored keystrokes together
      tweaks: reshuffle three lines, to make the grouping tighther
      tweaks: reshuffle two lines, to do the linking first, then the content
      tweaks: reword two comments, and rewrap another
      tweaks: rewrap a comment and a line, and reshuffle a fragment of code
      tweaks: rewrap two lines, for consistency with similar lines
      tweaks: rewrite the same file name into the lock file as the first time
      tweaks: slightly condense a function by conflating case
      tweaks: stop recognizing escape sequences for a key without meaning
      tweaks: suggest a few more alternative key bindings and unbindings
      tweaks: take just one shot at reading the lock file, and correct a type
      tweaks: trim some excessive error checking and key-name frobbing
      tweaks: tumble three conditions, for consistency in comparisons
      tweaks: unabbreviate "argument" in the documentation
      tweaks: use a simple subtraction instead of a function call
      usage: improve the description of --restricted and --quickblank



Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]