2026.04.08 - GNU nano 9.0  "Le bonheur est dans le pré"

• When the cursor almost goes offscreen to the right, all lines are
  now scrolled sideways together, by just the amount needed to keep
  the cursor in view.  Use --solosidescroll or 'set solosidescroll'
  to get back the old, jerky, single-line horizontal scrolling.
• The viewport can be scrolled sideways (in steps of one tabsize)
  with M-< and M->.  See `man nanorc` if M-< and M-> should switch
  between buffers (as they did earlier).
• M-Left, M-Right, M-Up, and M-Down have become rebindable.
• Stopping the recording of a macro immediately after starting it
  cancels the recording and leaves an existing macro in place.
• Feature toggles no longer break a chain of ^K cuts or M-6 copies,
  except the M-K cut-from-cursor toggle.
• With --mouse and --indicator, one can click in the scrollbar area
  to roughly navigate within the buffer.



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

A concise overview of nano's command keystrokes:
  https://nano-editor.org/cheatsheet.html

The tarball and its signature are here:
  https://nano-editor.org/dist/v9/nano-9.0.tar.xz
  https://nano-editor.org/dist/v9/nano-9.0.tar.xz.asc



Syntax highlighting for AsciiDoc files:
  https://nano-editor.org/more-syntaxes/adoc.nanorc
Syntax highlighting for TOML files:
  https://nano-editor.org/more-syntaxes/toml.nanorc



Specific issues that were addressed in this release:
  https://savannah.gnu.org/bugs/?68046  (`runmacro` caused cutbuffer clearing)
  https://savannah.gnu.org/bugs/?68050  (all toggles caused cutbuffer clearing)
  https://savannah.gnu.org/bugs/?68109  (uncolored end-of-line groff comments)
  https://savannah.gnu.org/bugs/?68117  (no config for reading /etc/nanorc)
  https://bugzilla.redhat.com/2455314   (too broad permissions for ~/.local)



Changes between v8.7 and v9.0:
------------------------------

Charles Mirabile (1):
      macro: cancel the recording if nothing was entered between start and stop

Benno Schulenberg (93):
      bindings: assign M-< and M-> to the sideways-scrolling functions
      build: add move.c to the list of files that contain translatable strings
      build: avoid three warnings when compiling against glibc-2.43
      build: exclude whole-window sideways scrolling from the tiny version
      bump version numbers and add a news item for the 9.0 release
      copyright: update the years for significantly changed files
      copyright: update the years for significantly changed files
      copyright: update the years for the FSF
      display: add extra variable, to avoid one-way toggling of SOLO_SIDESCROLL
      display: begin looking for new start matches at the correct place
      display: correct the previous commit -- the -1 is needed when going left
      display: draw the "<" marker only if part of the line is onscreen
      display: for narrow windows, fall back to single-line sidescrolling
      display: let option --jumpyscrolling affect also sideways scrolling
      display: put cursor at CUSHION columns from edge when scrolling sideways
      display: redraw the screen also when 'brink' is not what it should be
      display: store `brink` per buffer, to keep the viewport stable
      display: when scrolling sideways, refresh edit window only if mark is on
      docs: add an Exit Status section to the man page and the manual
      docs: add a notice about the changed sideways scrolling behavior
      docs: add a section about the recording and replaying of keyboard macros
      docs: add ^B among the list of keystrokes for --modernbindings
      docs: add notices about the reassignment of the M-< and M-> keystrokes
      docs: adjust the cheatsheet for the new functions and changed bindings
      docs: adjust the description of `scrollright` for the changed behavior
      docs: adjust the description of `scrollright` for the improved behavior
      docs: advise the use of --sysconfdir=/etc when configuring nano
      docs: copy the 8.7.1 news item from the release branch
      docs: document the new bindable `scrollleft` and `scrollright` functions
      docs: document the new --solosidescroll and 'set solosidescroll' options
      docs: explain what "overlong" means for --breaklonglines
      docs: in the cheatsheet, place Ctrl+L in the Special movement section
      docs: mention that M-Left, M-Right, M-Up, and M-Down are valid keynames
      docs: reshuffle the --solosidescroll option to match the order in --help
      docs: trim stuff that is more than four years old from the changelog
      docs: use rebindable names M-Up and M-Down instead of Alt+Up and Alt+Down
      feedback: prevent interpretation of %s and similar in a filename
      files: include also the slash when re-adding the filename to the path
      gnulib: update to a recent version, to allow compiling against glibc-2.43
      gnulib: update to its current upstream state
      help: group the sideways scrolling keystrokes with the horizontal movers
      history: create the ~/.local directory with limited access rights
      input: allow `recordmacro` and `runmacro` to continue cuts and copies
      input: prevent also a string bind from breaking a chain of cuts or copies
      input: prevent most toggles from breaking a series of cuts or copies
      mouse: allow clicking before the answer to place cursor at its beginning
      moving: ignore `scrollleft` and `scrollright` when softwrapping
      moving: ignore `scrollleft` and `scrollright` with --solosidescroll too
      moving: make the minimum step for sideways scrolling two cells
      moving: stay in the viewport when stepping to a longer line
      moving: when scrolling sideways, search also upward for a longer line
    * new default feature: smooth whole-window sideways scrolling
    * new feature: bindable functions for scrolling a tabsize left or right
    * new feature: clicking in the scrollbar jumps to the corresponding line
      options: accept --solosidescroll and 'set solosidescroll'
      po: update translations and regenerate POT file and PO files
      rcfile: allow rebinding M-Left, M-Right, M-Up, and M-Down
      syntax: elisp: remove file -- something specific to Emacs is not for nano
      syntax: groff, man: colorize also \" tail comments and \# line comments
      syntax: guile: colorize more syntax words and procedure names
      syntax: nanorc: colorize M-Left, M-Right, M-Up, M-Down as valid keynames
      syntax: python: colorize also the `match` and `case` keywords
      syntax: python: require a blank after the keyword `match`
      syntaxes: add a license line to the files created by Mark Oteiza
      tweaks: add a comment for an unclear fragment of code
      tweaks: avoid having to restore the original click coordinates
      tweaks: condense the Python coloring rules, and reword a comment
      tweaks: condense two oververbose comments
      tweaks: correct a comment
      tweaks: correct and simplify the logic from the previous two commits
      tweaks: defend against hypothetical format specifiers
      tweaks: give the three "debugging" feedback messages a more unusual color
      tweaks: lowercase subsequent words in section titles, to be less pompous
      tweaks: move a function to a more logical place
      tweaks: no need to be overpolite when giving directions
      tweaks: normalize brace placement after the previous change
      tweaks: reduce the scope of two variables
      tweaks: refer to two renamed gnulib modules with their adjusted names
      tweaks: remove an unneeded parameter from get_mouseinput()
      tweaks: rename a type, away from a double abbreviation
      tweaks: rename a variable, away from a double abbreviation
      tweaks: rename a variable, for contrast, and to be more fitting
      tweaks: rename a variable, to be more fitting
      tweaks: rename a variable, to be more fitting and away from an abbrev
      tweaks: rename a variable whose function has changed over time
      tweaks: rename three functions, to be more accurate
      tweaks: rename two functions, reword some comments, rewrap a line
      tweaks: rename two variables, away from abbreviations
      tweaks: reorder a list of keys, starting with singles, ending with group
      tweaks: replace the three instances of impersonal "one" with direct "you"
      tweaks: reshuffle or transmute a few lines, to elide an 'if'
      tweaks: slightly adjust a wording
      tweaks: slightly improve three comments in the sample nanorc


--

Benno

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to