nano/ChangeLog

3107 lines
197 KiB
Plaintext

Changes between v8.0 and v8.1:
------------------------------
Benno Schulenberg (56):
bindings: let ^L put the cursor line at center, then top, then bottom
build: check for the correct function in an #ifdef
build: require version 0.20 of gettext for building nano from git
build: use the standard `autoreconf` invocation
bump version numbers and add a news item for the 8.1 release
docs: add 'set colonparsing' to the sample nanorc
docs: add the Alt+Home/Alt+End shortcuts to the cheatsheet
docs: avert hyphenation of the technical words "ncurses" and "terminfo"
docs: correct the description of --bold, as function tags are unaffected
docs: document the new --listsyntaxes (-z) option
docs: don't say any more that -z was removed, as it has been repurposed
docs: explain the behavior of the new function `cycle`
docs: explain the details of --colonparsing / -@ / 'set colonparsing'
docs: extend the FAQ item about urxvt modified keys, with M-Home/M-End
docs: properly escape a literal '@' in the texi document
docs: remove the 'filename:linenumber' format from the synopsis
files: avoid mistakenly setting the column number to a given line number
files: look for digits and colons starting from the end of the filename
files: when a filename with a colon and digits exists, open that file
files: with --rectrict, prevent invoking the browser and toggling backups
general: disable the type-ahead checking that ncurses normally does
gnulib: update to its current upstream state
help: regroup the `center` item, placing it with the new `cycle`
help: show option -Y/--syntax in --help output also in restricted mode
input: drop recognition of the urxvt escape sequences for M-Home/M-End
input: make sure that a string-bind return value is non-negative
input: provide for urxvt setting a high bit or sending an extra escape
input: recognize the raw Xterm escape sequences for Alt+Home and Alt+End
minibar: do not falsely report that a new, empty file is in Mac format
moving: use edit_scroll() only when scrolling one row is enough
new feature: add bindable function `cycle` that pushes cursor line around
new feature: option -z lists the names of available syntaxes
options: remove the deprecated synonym -$ of -S/--softwrap
options: require --colonparsing/-@ to parse colon+number after a filename
rcfile: remove old bindable function 'nowrap', alias of 'breaklonglines'
startup: do not activate --modernbindings when name starts with "e"
syntaxes: mention the original author of most of the syntax files
syntax: man: colorize some of the things that manipulate hyphenation
syntax: patch: recognize also the .rej extension
text: do not check for <Tab> + mark while getting input but in do_tab()
tweaks: add a space after a '+', for consistent formatting
tweaks: discard a bracketed paste in the help viewer with fewer beeps
tweaks: drop two redundant conditions
tweaks: elide unhelpful occurrences of the word "will"
tweaks: exclude the colon-parsing code from the tiny version
tweaks: extend the deprecation period of 'set nowrap' and prefix 'bright'
tweaks: implement do_center() with a single call instead of three
tweaks: in FAQ, use 'id' attribute instead of empty anchor with 'name'
tweaks: make a comment more accurate, and unabbreviate a variable name
tweaks: make the inclusion condition for do_center() more strict
tweaks: remove the now unneeded special keycode INDENT_KEY
tweaks: reshuffle a declaration, adjust a comment, normalize indentation
tweaks: reshuffle some lines, to put vaguely related things together
tweaks: rewrap some lines, for more even lengths
tweaks: simplify a condition, to match the same condition five lines back
tweaks: slightly reword a phrase in the explanation of --colonparsing
Jaroslav Fowkes (1):
syntax: fortran: fix a typo (a missing backslash)
Changes between v7.2 and v8.0:
------------------------------
Andy Koppe (2):
input: scroll on mousewheel events instead of moving the cursor
rcfile: map the gray #rgb codes (#111 to #EEE) to the xterm grayscale
Benjamin Valentin (1):
new feature: interpret also <filename>:<linenumber> when opening a file
Benno Schulenberg (155):
bindings: allow speller and friends to be rebound also in restricted mode
bindings: in the tiny version, bind M-6 only in main, not at the prompts
bindings: let <Alt+Home/End> move the cursor to top/bottom of viewport
bindings: let M-" place/remove an anchor, and let M-' jump to one
bindings: let M-& show the ncurses version+patch, as a small Easter egg
bindings: make ^F start a forward search by default
bindings: make ^F start a forward search by default
bindings: set up modern bindings also when binary's name starts with "e"
bindings: show ^- instead of ^/ for 'flipgoto' when on a Linux console
bindings: with --modern, do not let ^Q^Q quit nano without saving
bindings: with --modern, use ^H for Help when the terminal allows it
browser: report an error instead of crashing when the folder disappears
browser: restore typing position at prompt after "^R name ^T ^F ^V ^C"
bump version numbers and add a news item for the 8.0 release
chars: add a helper function for stripping leading blanks from a string
copyright: update the years for the FSF
display: add a wnoutrefresh() call for NetBSD, to force a cursor update
display: do not attempt to draw a line that is outside the viewport
display: draw a new magic line rightaway when there are multiline regexes
display: show the help lines down to the tiniest possible terminal size
docs: add a caveat in the FAQ about bracketed pastes
docs: add a clarifying note to the description of --tabstospaces
docs: add an example binding for normalizing Unicode to the sample nanorc
docs: add a reference to the 'help-nano' mailing list
docs: add M-C and M-Z to the cheatsheet, and reshuffle for balance
docs: add ^T^S (spell check) and M-S (softwrap) to the cheatsheet
docs: add two examples of custom key bindings to the nanorc manpage
docs: adjust an example help line in the README to the current state
docs: adjust the cheatsheet for the changed meanings of ^F, ^B, M-F, M-B
docs: clarify that a fileregex is matched against the absolute filename
docs: delete a remark about libvte that is no longer relevant
docs: describe nano more specifically as a text editor
docs: document the <filename>:<linenumber> thing for cursor positioning
docs: document the new bindable functions 'toprow' and 'bottomrow'
docs: document the new --modernbindings option
docs: fix a ten-year-old typo, reported by `correctmost`
docs: improve the description of the 'flipexecute' bindable function
docs: in a synopsis, use braces around a choice of required parts
docs: in the sample nanorc, set the guidestripe to a soft grey
docs: mention backreferences (for replacements with regular expressions)
docs: mention how to get the old behavior of ^F, ^B, M-F, and M-B back
docs: mention that a restricted nano does not access the history files
docs: mention that 'light' background colors do not work on Linux console
docs: mention that --modernbindings overrides --preserve
docs: mention the changed meanings of ^F/^B and also in the texi manual
docs: mention the missing two options that override --bold
docs: say "mini bar", not "minibar", when referring to the actual bar
docs: trim stuff that is more than five years old from the changelog
docs: use a space after #, like everywhere else in the sample nanorc
editing: adjust the mark before trimming redundant blanks
execute: show "Older" and "Newer" in the help lines, to allow rebinding
feedback: drop an unnecessary warning, to not bother the user
feedback: lowercase a letter, as the phrase is not a full sentence
feedback: raise the level of "Macro is empty", to match similar messages
feedback: suppress filename and linecount when --zero is active
feedback: suppress format-conversion messages for --zero and --mini
files: do not allow M-U to remove text read from standard input
files: run `chmod` and `chown` on the descriptor, not on the filename
formatter: do not crash when the formatter command is empty
general: include the Copy function (M-6 or ^C) into the tiny version
general: let the constant-show toggle override the zero-interface mode
gnulib: update to current upstream state, to make a fresh checkout work
gnulib: update to its current upstream state
help: give the "Replace with" prompt its own help text
help: mention M-Home and M-End in the help text and help lines
help: rebalance the help items when --preserve is used
help: restore ^H and ^D as the primary shortcuts for Backspace and Delete
help: show ^F/^B as primary shortcuts for search, not as secondary
indicator: do not oversize the scroller when softwrapping
input: avoid hanging after a 39-character paste on a VSCode terminal
input: flush the keystroke buffer upon any kind of error condition
input: for one bump of the mousewheel scroll two lines, not three
input: intercept a spurious keycode and say what the actual problem is
input: let the handler of string binds return a byte whenever possible
input: neutralize two spurious keycodes from VTE terminals
input: prevent 'macro_length' from underflowing when hammering M-:
input: recognize certain escape sequences for F13 to F16 again
input: snip the `recordmacro` and `runmacro` keystrokes in a better way
input: store key codes in the macro buffer as they come in from ncurses
input: store keystroke in macro buffer only when about to interpret it [reverted]
justify: keep as much of the marked region onscreen as possible
justify: keep the cursor at the original end of a marked region
justify: recompute the multidata for paragraphs larger than the viewport
justify: set the correct starting point also with --cutfromcursor
justify: set `x = 0` for the undo item, for when using --cutfromcursor
linter: do not mess up the input stream when the linter command is empty
linter: use a format string, to deflect format-string attacks
memory: prevent a leak by freeing a possibly already existing color combo
minibar: mention the file format when it's DOS or Mac
moving: preserve horizontal position when jumping to top or bottom row
new feature: functions that jump to the top or bottom of the viewport
new feature: option --modernbindings sets up more widespread key bindings
options: make --modernbindings actually override --preserve
rcfile: add bindable functions for moving the cursor to top or bottom row
rcfile: avoid crashing on an include path that is way too long
replacing: stash the string to be replaced while asking for replacement
revert the previous commit -- forget about -? as a synonym for --help
screen: recalculate the multidata when detecting the need for it
search: avoid a crash after a nested search, reported by `correctmost`
search: avoid crashing after searching a help text during a regex replace
shutdown: ignore a modified buffer when in view mode
softwrap: adjust start-of-screen when the 'edittop' line is hard-wrapped
softwrap: realign start-of-screen when redoing an automatic hard-wrap
softwrap: remember the actual breaking point when wrapping at blanks
startup: use a format string, to deflect format-string attacks
syntax: c: require a preceding blank when a line comment contains a quote
syntax: javascript: recognize also the .mjs extension
syntax: makefile: ensure that the <Tab> key always produces a tab
syntax: makefile, sh: recognize also a fresh Makefile and fresh .profile
syntax: nanorc: colorize {toprow} and {bottomrow} for string binds
syntax: sh: recognize more shells than `sh` on a shebang line for busybox
tweaks: add a comment that refers to the VTE spurious-code issue
tweaks: add a missing 'type' attribute to a <style> tag
tweaks: add an extra variable, to avoid reusing one for another purpose
tweaks: add another translator hint, to help avoid overlong key tags
tweaks: adjust a comment for the changed handling of gray #rgb codes
tweaks: avoid calling isblank()/isalpha() on what could be a signed char
tweaks: condense the code that searches for a colon plus line number
tweaks: delete a redundant fragment of code from do_replace_loop()
tweaks: elide a redundant variable
tweaks: express an 'if' more concisely, and add two blank lines
tweaks: implement the fix of the previous commit somewhat differently
tweaks: improve three translator hints
tweaks: make two strings equal to a third, to slightly ease translation
tweaks: move two static declarations to the only function that uses them
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous changes
tweaks: pull a fragment of code a bit forward, to enable the next commit
tweaks: remove two pairs of unneeded braces, and normalize a line
tweaks: rename a function and variable, to describe better what they do
tweaks: rename a function, for contrast, and update antiquated comments
tweaks: rename a struct element, to avoid a theoretical name collision
tweaks: rename a symbol (to be clearer), and add three missing comments
tweaks: rename a variable, away from an abbreviation
tweaks: rename a variable, away from an abbreviation
tweaks: rename a variable, to be a bit more indicative
tweaks: rename a variable, to be clearer when seen in context
tweaks: rename a variable, to be more readable
tweaks: rename a variable, to better indicate what it represents
tweaks: rename two variables, to be clearer and to match others
tweaks: reshuffle four lines, to allow folding some #ifdefs together
tweaks: reshuffle three fragments of code, moving related things together
tweaks: rewrap a comment, and reshuffle seven declarations
tweaks: rewrap two old news items
tweaks: shrink the set of characters recognized as line-column separator
tweaks: slightly improve a comment, to be more accurate
tweaks: slightly reword the help text for the Replace-With prompt
tweaks: ungettextize three strings, to make a translator hint right again
tweaks: use a pair of parentheses to clarify the order of operations
undo: force a screen refresh also for the special case Bsp-at-EOF
undo: prevent a use-after-free, reported by `correctmost`
undo: recompute the multidata when a piece of text is replaced
undo the prelast commit in order to redo it with a fuller commit message
verbatim: avoid referencing an uninitialized value
wrapping: delete only single characters, not a possibly marked region
Jordi Mallach (1):
docs: fix "availabilty" typo in the manual and the nanorc manpage
Mateusz Kazimierczuk (1):
options: add -? as a synonym of -h (--help) [reverted]
Matteo Raso (1):
syntax: python: colorize decorators specially
Mike Frysinger (2):
build: link in $(GETRANDOM_LIB) from gnulib
gnulib: import canonicalize-lgpl for realpath
Changes between v7.1 and v7.2:
------------------------------
Benno Schulenberg (11):
bindings: let ^/ toggle between the 'search' and 'gotoline' menus
bump version numbers and add a news item for the 7.2 release
copyright: update the years for the FSF
docs: give ^K and ^U some useful function in the alternative bindings
docs: put the binding of ^Y after its unbinding, for it to be effective
gnulib: update to its current upstream state
input: disallow bracketed pastes when in view mode
syntax: html: colorize specially the other two emphasizing tags too
tweaks: avoid warnings when compiling with -Wpedantic
tweaks: rewrap an old news item
tweaks: separate a special thanks from the preceding ones
Changes between v7.0 and v7.1:
------------------------------
Benno Schulenberg (8):
build: fix compilation when configured with --disable-comment
bump version numbers and add a news item for the 7.1 release
copyright: update the last year for significantly changed files
docs: say thanks to the Albanian translator
rcfile: report an error when an included file does not exist
text: upon Enter, eat only lefthand blanks, not any other characters
tweaks: avoid passing NULL to access()
tweaks: wrap overlong lines in the Tcl syntax, to make them manageable
Changes between v6.4 and v7.0:
------------------------------
Benno Schulenberg (94):
build: add options --disable-formatter and --disable-linter to configure
build: exclude some pieces that are not needed with --disable-nanorc
build: exclude two unneeded functions correctly from the tiny version
build: fix compilation when configured with --enable-tiny
bump version numbers and add a news item for the 7.0 release
completion: search through all open buffers for possible completions
docs: clarify the distinction between binding a function and "{function}"
docs: describe --disable-formatter and --disable-linter configure options
docs: explain how to include a double quote plus space in a nanorc regex
docs: improve the legibility of an itemized list
docs: mention in the man page how M-V can insert any Unicode code point
docs: mention that string binds may contain function names between braces
docs: replace control codes in the examples with {command} cartouches
docs: suggest a key binding for snipping trailing blanks
execute: show "Cancelled" instead of "Error" when the user hits ^C
extra: use the whole terminal for the crawl, and quicken it a bit
feedback: suppress undo/redo messages when option --zero is in effect
files: before sending data to an external command, decode LF back to NUL
files: improve the error handling when executing an external command
filtering: terminate also the sender process when the user hits ^C
filtering: when returning to a line number, ensure it is within range
gnulib: update to its current upstream state
goto: don't center the current line when the user specified a column only
help: don't show the New-Buffer toggle when in view mode
help: move the M-Del item up, so that M-PgUp and M-PgDn are paired
help: prioritize the unshifted Meta keystrokes for buffer switching
input: allocate a small keystroke buffer, and never free it
input: allocate two small character buffers too, and never free them
input: give up when the capacity of the keystroke buffer overflows
input: interpret commands of the form {functionname} inside string binds
memory: avoid a leak when a string bind specifies an unknown menu
prompt: allow rebinding also ^N, ^Q, and ^Y at the yes-no prompt
prompt: ingest queued characters before handling any subsequent function
prompt: prevent execution of inadmissible functions in view mode
prompt: return FALSE for non-editing functions also in the tiny version
prompt: toggle the help lines only for the 'nohelp' toggle
search: skip a match on the magic line, as it is a just convenience line
startup: ensure that +/string centers the match also with --linenumbers
startup: for +/string, center the found occurrence when possible
startup: quit when standard input is not a TTY (after handling arguments)
startup: report an empty search string also when there is a modifier
syntax: nanorc: colorize valid function names plus surrounding braces
tweaks: add parentheses for consistency, and reshuffle for conciseness
tweaks: allow the linter to be used in view mode, as it makes no changes
tweaks: attribute some of the features that were added in the last years
tweaks: avoid iterating over the same string twice in a row
tweaks: avoid sometimes calling a function three times in a row
tweaks: check the multiline regexes only for Delete and Backspace
tweaks: condense a comment, add two small ones, and reshuffle a line
tweaks: delete a flag that is no longer used
tweaks: determine in another way whether a shortcut is okay in view mode
tweaks: discard a bracketed paste in the browser more efficiently
tweaks: don't use a pointer when the value itself is all that is needed
tweaks: drop an unneeded check for permissibility of prompt shortcuts
tweaks: drop a parameter that is no longer used
tweaks: drop shunting of flags by calling the needed function directly
tweaks: elide a function that does not need to be a separate function
tweaks: elide an assignment by iterating with the target variable
tweaks: elide an intermediary variable that is no longer needed
tweaks: elide an unused parameter
tweaks: elide an unused return value
tweaks: elide a parameter by moving the general case one level up
tweaks: elide a variable, rename another, and reshuffle an assignment
tweaks: fold two cases together, because they basically do the same
tweaks: group the special keycodes for implanted strings together
tweaks: improve two comments, and exclude two unneeded prototypes
tweaks: make the crawl use the whole screen also in the tiny version
tweaks: make two error messages more succinct and easier to translate
tweaks: move the arrays of menu names and symbols to where they are used
tweaks: move the --magic option up, so that --zero comes last
tweaks: move to a given line number more efficiently
tweaks: move two checks plus corresponding calls to a better place
tweaks: normalize the indentation after the previous change
tweaks: reduce four variations of a message to a single common form
tweaks: rename a macro for clarity, and normalize some indentation
tweaks: rename a variable, away from an abbreviation
tweaks: rename two record elements and three parameters, for clarity
tweaks: replace sizeof(char) with 1, as that is assumed anyway
tweaks: reshuffle a declaration, and correct the wording of a comment
tweaks: reshuffle a line, to group things better
tweaks: reshuffle some code and drop some comments, for conciseness
tweaks: reshuffle some code, to not determine a shortcut twice
tweaks: reshuffle some lines, to be more readable instead of compact
tweaks: reshuffle two lines, for conciseness and in preparation
tweaks: reword and/or condense four comments
tweaks: rewrap line, improve wording, and correct typo in old news item
tweaks: rewrap some lines, drop a redundant call, and reshuffle a line
tweaks: simplify a function now that a Unicode code can be typed quicker
tweaks: simplify a pasting routine, modelling it after the injection one
tweaks: use an auxiliary variable to avoid dereferences of 'shortcut'
undo: make sure the current line is defined before it is referenced
verbatim: allow the user to finish Unicode input with <Enter> or <Space>
verbatim: do not overwrite the status bar when the code is invalid
verbatim: don't show dots during Unicode input, as they give wrong idea
Changes between v6.3 and v6.4:
------------------------------
Benno Schulenberg (24):
bump version numbers and add a news item for the 6.4 release
display: remember text and column positions when softwrapping a line
docs: concisely describe how the linter behaves
docs: remove the two notices about the changed defaults
docs: rename README.GIT to README.hacking, so it's clearer what is meant
docs: stop mentioning the obsoleted keywords that were removed
files: designate the root directory with a simple "/", not with "//"
formatter: instead of leaving curses, use full_refresh() to wipe messages
gnulib: update to its current upstream state
help: reshuffle two shortcuts so that more help-line items are paired
options: stop accepting -z, as --suspendable has been dropped too
rcfile: remove five obsolete or deprecated keywords
syntax: default: do not colorize a square or angle bracket after a URL
syntax: perl: add missing keywords, and reduce the length of some lines
syntax: python: mention an alternative linter in a comment
tweaks: add a missing word to a news item
tweaks: add a translator hint
tweaks: improve a comment, and reshuffle two functions plus some lines
tweaks: put each regex on separate line, to better show many keywords
tweaks: rename a variable, to not be the same as a function name
tweaks: rename two variables, to not contain the name of another
tweaks: reshuffle a description and rewrap another
tweaks: reshuffle a few lines, to group things better
version: condense the copyright message, to not dominate the output
LIU Hao (1):
build: ignore errors from `git describe`
Changes between v6.2 and v6.3:
------------------------------
Benno Schulenberg (41):
build: add the --disable-maintainer-mode option to ./configure
build: fix compilation for --enable-{tiny,nanorc,color}
build: fix compilation when configured with --disable-color
build: remove an obsolete check -- the dependent code was deleted
bump version numbers and add a news item for the 6.3 release
display: suppress spotlight yellow and error red when NO_COLOR is set
docs: add an example binding for copying text to the system clipboard
execute: clear an anchor only when the whole buffer gets filtered
execute: don't crash when an empty buffer is piped through a command
execute: stay on the same line number when filtering the whole buffer
feedback: show extra warning when writing failed due to "No space left"
files: do not change to a higher directory when the working one is gone
files: show a warning when the working directory is gone (when used)
files: when the working directory exists, still check its accessibility
filtering: close all output descriptors, so that 'xsel' will terminate
formatting: change cursor position only after saving it in the undo item
gnulib: pull in the workaround for a build problem on NetBSD
gnulib: update to its current upstream state
justify: stay at the same line number when doing a full justification
painting: colorize text also after an unterminated start match
painting: look for another start match only after the actual end match
painting: recalculate the multidata when making large strides or changes
painting: stop coloring an extremely long line after 2000 bytes
painting: tighten the check for a lacking end match on a colored line
syntax: xml: colorize /> properly, and colorize prolog tags differently
syntax: xml: colorize user-defined entities differently
tweaks: avoid a function call when two plain assignments will do
tweaks: change the indentation of a list, to match other indentations
tweaks: don't leave an orphaned temporary file behind when writing fails
tweaks: elide an unneeded call of strlen()
tweaks: exclude the extra truncation warning from the tiny version
tweaks: make the triggering of the recalculation of multidata less eager
tweaks: move the saving and restoring of flags to where it is needed
tweaks: normalize the indentation after the previous change
tweaks: prevent the adding of an unwanted newline in a different way
tweaks: remove redundant braces, and add two translator hints
tweaks: remove some stray spaces before a comma
tweaks: simplify a bit of code, eliding two labels and three gotos
tweaks: simplify a fragment of code, and fold two lines together
tweaks: trim a few comments, rename a function, and reshuffle some code
verbatim: with --zero, keep cursor in viewport when it was on bottom row
Mike Frysinger (1):
general: fix building for Windows
Changes between v6.1 and v6.2:
------------------------------
Benno Schulenberg (14):
bump version numbers and add a news item for the 6.2 release
display: suppress the bottom-bar wiping only when the user is editing
linter: adjust the parsing to accommodate for a modern 'pyflakes'
syntaxes: fold a couple of regexes together, and improve a few comments
tweaks: change the type of a variable, to avoid a compiler warning
tweaks: consistently backslash-escape the dash in M-letter keystrokes
tweaks: rename a misnamed variable
tweaks: rename a variable, reshuffle five lines, and snip two comments
tweaks: rename a variable, to be more correct, and adjust two comments
tweaks: rename a variable, to be more fitting
tweaks: rename two more variables, and drop unneeded initializations
tweaks: rename two variables (to get rid of a prefix), and elide a third
tweaks: store a result, to avoid calling a function twice
tweaks: use an intermediate variable, to avoid using one for two purposes
Changes between v6.0 and v6.1:
------------------------------
Benno Schulenberg (37):
build: fix compilation when configured with --enable-tiny
build: prevent autopoint from overwriting a newer M4 file from gnulib
bump version numbers and add a news item for the 6.1 release
copyright: update the last year for significantly changed files
copyright: update the years for the FSF
docs: mention bindable function 'zero', for toggling the interface bars
docs: mention 'set guidestripe' and 'set unix' in the sample nanorc
docs: remove obsolete Ctrl+Z from the cheatsheet; mention Alt+X instead
files: let ^C cancel the exiting when the file on disk was changed
gnulib: update to its current upstream state
help: make the description of <Tab> more accurate
help: update the description of M-D, to match the actual order of counts
input: instead of moving waiting keycodes, just increment a pointer
input: suppress any spotlighting when there are more keycodes waiting
menus: don't show M-6 in the help lines of any prompt
prompt: allow the user to copy the answer to the cutbuffer (with M-6)
prompt: let ^K erase text after cursor (if any), otherwise whole answer
tweaks: add some feedback to the autogen.sh script, to ease the wait
tweaks: add some small, clarifying comments
tweaks: adjust a translator hint, to fit the order in the POT file
tweaks: drop foreign M-U and M-R from among the sample CUA bindings
tweaks: remove a redundant check -- add a different one for symmetry
tweaks: remove two redundant checks
tweaks: rename a function and its two parameters, for clarity
tweaks: rename a function and reshuffle its call
tweaks: rename a function, to not contain the name of a variable
tweaks: rename another variable, to better fit in with its sisters
tweaks: rename a variable and a parameter, to be more descriptive
tweaks: rename a variable, away from an abbreviation
tweaks: rename a variable, for clarity and contrast
tweaks: rename a variable, to make it clearer it refers to a window
tweaks: rename two variables, and elide a near-enough duplicate
tweaks: reshuffle some sample bindings, to group them differently
tweaks: reword two comments, and rename a variable (away from an abbrev)
tweaks: stop asking the terminal for its new size -- let ncurses do it
tweaks: use some symbolic names instead of unclear numeric values
tweaks: when discarding keycodes, don't bother parsing them
Changes between v5.9 and v6.0:
------------------------------
Benno Schulenberg (192):
bindings: allow rebinding ^Z also on a Linux console (a VT)
bindings: allow toggling line numbers (when enabled) also in tiny version
bindings: let ^T in the tiny version invoke spell checker (when included)
browser: with --zero, do not use the bottom row for displaying filenames
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 active
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 lines
display: move some code for overwriting verbatim feedback with --zero
display: redraw the screen in tiny version upon resuming from suspension
display: with --zero, redraw the bottom row instead of wiping a message
docs: add a hint about making ^L do just 'refresh' to the sample nanorc
docs: add a meta description for the HTML rendering of the manual
docs: add a suggested rebind and three suggested unbinds to the sample rc
docs: avoid large Table of Contents at top of HTML version of manual
docs: clarify that --enable options do not fully counteract --enable-tiny
docs: correct the description of the layout -- four areas, not five
docs: document the effect of --quickblank together with --zero/--minibar
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 obsolete
docs: mention "grey" also at the other place where color names are listed
docs: mention M-Z (for toggling the interface) among the Feature Toggles
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 line
docs: reshuffle a GNU marker, to make the title clearer in search engines
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 appear
feedback: refuse the --constantshow toggle (M-C) on a one-row terminal
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 'tabgives'
feedback: suppress chatty messages when --zero is active
feedback: to have a status bar, suppress --zero while in the help viewer
feedback: when reporting an unbound function key, mention its number
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 buffer
feedback: with --mini/--zero, suppress message when toggling whitespace
feedback: with --zero, drop a message in a short while, as with --minibar
files: allow inserting also when started with the --noread option
files: clear original filename when the user toggles Append or Prepend
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 text
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 duplicates
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 minibar
new feature: option --zero for an interface without bars
options: make --zero imply --nohelp, and 'set zero' imply 'set nohelp'
pasting: when less than a line is pasted, allow automatic hard-wrapping
prompt: avoid resetting the history pointer when the search is cancelled
prompt: begin at bottom of history list when at secondary prompt
prompt: keep a clear answer clear also after an excursion into history
rcfile: recognize fourteen new color names, mostly for subdued shades
rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keywords
replacing: keep centering the occurrence, also after toggling help lines
replacing: keep the spotlighted occurrence in view, also with --zero
replacing: keep the spotlighting, also after toggling the help lines
search: with --zero, do not obscure an occurrence on the bottom row
search: with --zero, drop a message at the same time as the spotlight
statusbar: count words in the way that matches how Ctrl+Right moves
statusbar: overwrite a message also when using --constant with --zero
suspension: enable ^Z by default -- ignore -z option and drop M-Z toggle
suspension: leave ^Z unbound by default -- just ^T^Z will suspend nano
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 brackets
syntax: gentoo: remove file -- Gentoo itself will have to handle it
syntax: nanorc: add 'execute' menu for unbind, and drop a bad constraint
syntax: nanorc: avoid colorizing #rgb codes as if they were comments
syntax: nanorc: colorize a trailing comment when it begins with non-hex
syntax: nanorc: colorize each of the fourteen new color names as valid
syntax: nanorc: improve the file-matching regex
syntax: nanorc: paint arguments of 'include' and 'extendsyntax' specially
syntax: nanorc: require whitespace before the start= and end= keywords
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 strings
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 are such
syntax: sql: colorize keywords regardless of case, and tweak the colors
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 syntax
syntax: texinfo: be more precise in colorizing @commands
syntax: texinfo: colorize the special @-plus-punctuation commands too
syntaxes: avoid coloring "this\" as if it were a valid string
syntaxes: colorize hex more strictly by using character class [:xdigit:]
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 overlap
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-linenumbers
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 brace
tweaks: drop a fragment of code that became functionless
tweaks: elevate two messages, so they get shown with --mini or --zero
tweaks: elide a variable that is confusing and has just one use case
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 nanorc
tweaks: fold a special case into the general one
tweaks: fold some regexes together, and trim or improve some comments
tweaks: frob a couple of comments, and drop two, for conciseness
tweaks: improve a comment, and drop two cluttering compile conditions
tweaks: invert a condition, to get an early return instead of indentation
tweaks: just let do_wrap() set 'refresh_needed' instead of returning 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 comment
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 brackets
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 alternatives
tweaks: remove redundant parentheses, trim comments, fold some regexes
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 suffix
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 sense
tweaks: rename five empty functions, to get rid of a meaningless suffix
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 suffix
tweaks: rename two functions, to get rid of one more senseless suffix
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 letters
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 better
tweaks: reshuffle a fragment of code to a better place
tweaks: reshuffle a line and adjust indentation after previous change
tweaks: reshuffle a line into its proper order, and improve two comments
tweaks: reshuffle some conditions, so that the ifs have similar formats
tweaks: reshuffle some conditions, to have more balanced lines
tweaks: reshuffle some lines, one for clarity, others for conciseness
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 keystrokes
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 others
tweaks: untangle two case items, and shorten a message
tweaks: use a color closer to the rest of the string, to reduce contrast
tweaks: use a few fewer capitals, and drop an unneeded synonym
Brad Town (2):
docs: add a description of the hexadecimal #rgb color specification
rcfile: support #rgb format for specifying colors in 256-color terminals
Changes between v5.8 and v5.9:
------------------------------
Benno Schulenberg (88):
browser: make the keystrokes ^W^Y and ^W^V work again
build: ensure that mkstemps() is available by importing the gnulib module
build: help Haiku find the header files that define mkstemps()
bump version numbers and add a news item for the 5.9 release
copyright: update to the current year for significantly changed files
cutting: copy anchors into the cutbuffer, so that undo can restore them
docs: add a paragraph at the start of the README about what nano is
docs: add a simulated "screenshot" of nano to the README
docs: add some details to the bug-reporting paragraph in the README
docs: correct the descriptions of how to invoke the spell checker
docs: don't use "light" after "bold", as the latter often implies "light"
docs: improve the description of the spotlighting of a search match
docs: improve the description of the 'tabstospaces' option
docs: improve the descriptions of several bindable functions
docs: improve the recipe in the FAQ for dealing with Alt+Up on a console
docs: indent the paragraphs in the FAQ that list commands to be typed
docs: list the default color combo for 'spotlightcolor' in sample nanorc
docs: mention how to properly colorize all types in nano's source code
docs: mention in the README which licenses cover nano's code and docs
docs: move the notice in the main man page, to try and catch other eyes
docs: refer to the FAQ when <Alt+Up> does nothing on a Linux console
docs: replace a non-problem in the FAQ with something possibly useful
docs: spell "filename" as a single word, like in most other occurrences
feedback: use a smaller diamond to represent an anchor, to not overflow
feedback: when not in curses mode, just skip displaying any message
feedback: when not in curses mode, write error messages to the terminal
files: add the original file's suffix to the name of a temporary file
files: check for a fifo only when it is an existing file
files: check the result of fdopen(), to avoid a possible crash
files: do not call fsync() on a fifo, to avoid a spurious error message
files: exclude the call of fsync() from the tiny version
files: give the user time to absorb a warning about someone else editing
files: making a backup of a fifo makes no sense, so do not try that
files: prepending to a fifo makes no sense, so do not try that
files: when the buffer is nameless, include the PID in name of dump file
files: when there is a slash after the dot, then there is no extension
files: write a lock file also for a freshly saved buffer
general: prevent die() from getting recursed into
gnulib: update to its current upstream state
help: make the keystrokes ^W^Y and ^W^V work again
history: emit a warning when file cannot be made private [coverity]
input: give up on the input stream only after millions of errors
memory: free any allocated strings, also in the emergency code path
po: delete the ancient PO files for Indonesian and Nynorsk
po: permit the Indonesian PO file to come back -- there was a big update
shutdown: when dying, do not install/restore a handler for Ctrl+C
startup: if TERM is unset, try falling back to VT220 instead of failing
syntax: nanorc: recognize also the template of the sample nanorc file
syntax: rust: update the license to GPL3 or newer
syntax: yaml: allow any character in tags except whitespace
syntax: yaml: allow double colon in key & do not colorize unspaced colon
syntax: yaml: allow slash and period in key names
syntax: yaml: colorize backslash-escaped characters as valid or invalid
syntax: yaml: colorize the question mark of complex mappings too
syntax: yaml: colorize the two known directives
syntax: yaml: new file -- coloring rules for YAML files
tweaks: add Schiermonnikoog to the list of friendly islands
tweaks: adjust a description of 'showcursor', to match the other ones
tweaks: adjust three parameters -- two were mistaken, one superfluous
tweaks: correct two typos and a spello [codespell]
tweaks: fix a typo
tweaks: fold two lines into two others, for conciseness
tweaks: harmonize the indentations in the FAQ somewhat
tweaks: in comments, say "buffer" instead of "file" where appropriate
tweaks: instead of "one" use "you", like in the rest of the man page
tweaks: remove a redundant feedback message
tweaks: rename a defined type, to fit within the general pattern
tweaks: rename a function, to be more fitting
tweaks: rename a parameter and invert its logic
tweaks: rename a parameter, to fit better what it is used for
tweaks: rename a variable and flip its logic, to avoid two negations
tweaks: rename a variable, away form an abbreviation
tweaks: rename a variable, to be more grammatical
tweaks: rename a variable, to be more visible and to match others
tweaks: rename a variable, to make more sense
tweaks: rename three variables, to follow the general scheme
tweaks: reshuffle a few lines, for esthetics and to elide an #ifdef
tweaks: reshuffle a few lines to avoid an #ifdef and unbalanced braces
tweaks: reshuffle a fragment of code, to prepare for the next change
tweaks: reshuffle some code to elide a variable, and improve a comment
tweaks: reshuffle some lines and adjust some indentation
tweaks: reshuffle some lines to elide a variable
tweaks: restore a quote that was accidentally deleted four months ago
tweaks: rewrap three lines, for esthetics
tweaks: slightly reword or rewrap some comments in the sample nanorc
tweaks: try chmodding a dump file only when it was actually written
tweaks: use five symbolic names, to make eight function calls clearer
usage: improve the description of the --positionlog option
David Michael (2):
syntax: gentoo: highlight additional EAPI 7/8 variables
syntax: gentoo: remove some obsolete keywords and add some new ones
Hussam al-Homsi (3):
docs: correct the default value of the errorcolor option
syntax: perl, ruby: remove arbitrary highlighting of here documents
tweaks: change 'return ++var;' to 'return var + 1;'
Changes between v5.7 and v5.8:
------------------------------
Benno Schulenberg (53):
bindings: show either "^/" or "^-" in the help lines, instead of "^_"
bump version numbers and add a news item for the 5.8 release
display: when a message gets overwritten, note that it is cleared
docs: add a relevant item to the news for the 4.3 release
docs: add example bindings for uppercasing and lowercasing a word
docs: improve the contact info and some line spacing in the PDF
docs: make ^E access the Execute menu in the example CUA bindings
docs: mention that "grey"/"gray" may be used as a synonym of "lightblack"
docs: mention the new 'set minicolor' option
docs: say thanks to the Icelandic and Slovak translators
feedback: ensure that the reporting of DOS/Mac format is truthful
gnulib: update to its current upstream state
help: use smaller triangles for the arrows
linter: block the resizing signal while reading output from the linter
linter: strip filename and line plus column number from the message
memory: move the correct number of bytes, and not one too many
memory: prevent a leak when copying the leading quoting to the next line
minibar: stay out of sight when the terminal has just one row
options: accept 'set minicolor' for setting the color of the minibar
rcfile: allow using "grey" or "gray" as a synonym for "lightblack"
rcfile: do not allow color name "normal" to have a prefix
replacing: report the number of replacements also on a one-row terminal
search: automatically drop the spotlighting after a few moments
search: show "This is the only occurrence" also on a one-row terminal
startup: allow using a bare "+" to mean put-cursor-on-last-line
startup: do not accept stray characters after a "+" on the command line
startup: skip drawing edit window when having message on one-row terminal
startup: suppress "Search Wrapped" when using +? to search from EOF
statusbar: ensure that "No further matches" does not get overwritten
statusbar: on a one-row terminal, drop light messages after a few moments
statusbar: suppress --constantshow when the terminal has just one row
statusbar: suppress the cursor when the terminal has just one row
syntax: nanohelp: avoid colorizing M-) in (M-) and M-" in "M-"
syntax: nanorc: colorize "light" as valid only for the eight basic colors
syntax: nanorc: colorize literal control codes, to make them stand out
syntax: php: colorize the full short tag for echo (<?=)
tweaks: avoid the subtraction of two size_t variables becoming negative
tweaks: condense and correct a comment, and move another
tweaks: condense some code by putting all color names in a single array
tweaks: drop an assignment that is already part of the called function
tweaks: frob some whitespace, and rewrap a line
tweaks: improve a comment, remove unneeded braces, reshuffle some lines
tweaks: normalize the indentation after the previous change
tweaks: prevent two more size_t subtractions from going negative
tweaks: redraw only the affected line instead of doing a full refresh
tweaks: remove a check that has become superfluous
tweaks: remove a check that is not needed
tweaks: rename a variable, for contrast with the function name
tweaks: rename two functions, to get rid of an ugly _void suffix
tweaks: reshuffle the coloring of color names, to remove some duplication
tweaks: use a symbol instead of a hard-coded number
tweaks: use two symbolic names instead of TRUE and FALSE, for clarity
wrapping: when copying the quoting part, adjust the file size accordingly
Hussam al-Homsi (1):
bindings: allow copying text (with M-6) also when in view mode
Changes between v5.6.1 and v5.7:
--------------------------------
Benno Schulenberg (62):
build: drop the check for two functions that we don't use any more
build: fix compilation for --enable-tiny plus --enable-multibuffer
build: fix compilation when configured with --disable-multibuffer
build: fix compilation when configured with --enable-tiny
bump version numbers and add a news item for the 5.7 release
chars: implement mblen() ourselves, for efficiency
chars: implement mbtowc() ourselves, for more efficiency
chars: work around a UTF-8 bug in glibc, to display invalid codes right
chars: work around the wrong private-use-character widths on OpenBSD
display: avoid determining twice from and until where to draw each row
display: make the output of --constantshow less jittery
editing: prevent the pointer for the top row from becoming dangling
feedback: upon first switch to a buffer, show its error message (if any)
files: always register the format, also when the file is unwritable
files: create a new buffer earlier, so that error messages can be stored
files: when Mac format has been detected, stay with it
gnulib: pull in the fix for a build problem on older Debian
gnulib: update to its current upstream state
indicator: adjust the size to the number of visible lines, not chunks
input: accept Unicode codes for non-characters as valid, since they are
memory: do not allocate space for multidata when it's already allocated
memory: fix an off-by-one error to free also the last line in a group
memory: prevent a use-after-free when the user respects a lock file
oops: that doesn't work -- you can't break out of two for loops at once
options: retire the obsolete 'smooth', 'morespace', and 'nopauses'
softwrap: avoid time-consuming computations, to burden large files less
startup: do not crash when trying to open a device or directory
startup: do not store an error message in the record of another buffer
startup: save the compiled file-matching regexes, to avoid recompiling
startup: show the helpful message only when ^G has not been rebound
syntax: c: colorize also labels that contain digits, and uncolorize colon
syntax: po: improve the coloring of format specifiers
syntaxes: replace [[:space:]] with [[:blank:]] to exclude carriage return
tweaks: adjust and improve one comment, and frob another
tweaks: adjust two comments, and reshuffle two fragments
tweaks: avoid a warning on newer compilers, by writing an extra byte
tweaks: avoid calling extra_chunks_in() when not softwrapping
tweaks: avoid converting a file name for more than will fit on screen
tweaks: avoid parsing a multibyte character twice
tweaks: condense three comments, drop another, and rewrap a line
tweaks: drop unneeded braces and adjust indentation after previous change
tweaks: elide a call of strlen() for every row
tweaks: elide a function that is now basically just two lines
tweaks: elide an unneeded resetting NULL call to wctomb()
tweaks: elide a small function that is used just once
tweaks: elide the pointless is_valid_unicode() function
tweaks: elide two more instances of useless character copying
tweaks: improve a couple of comments
tweaks: morph a function into what it is actually used for
tweaks: normalize the indentation after an earlier change
tweaks: put the most likely condition first, for a quicker return
tweaks: reduce the maximum character length from six bytes to four
tweaks: remove a misplaced (and nested) #ifdef
tweaks: rename a variable, away from an abbreviation
tweaks: rename a variable, for contrast with another
tweaks: reshuffle a comment, and put the main extension first
tweaks: reshuffle a fragment of code, to prepare for the next change
tweaks: reshuffle two conditions, to have the most unlikely one first
tweaks: set the file format only when unset, so it doesn't need saving
tweaks: shorten a comment and trim an #ifdef
tweaks: simplify two fragments of code
tweaks: simplify two fragments of code, eliding useless character copying
Hussam al-Homsi (1):
syntax: c: make the highlighting of '#include <...>' more compliant
Mike Frysinger (1):
syntax: tcl: support Expect scripts too
Changes between v5.6 and v5.6.1:
--------------------------------
Benno Schulenberg (4):
bump version numbers and add a news item for the 5.6.1 release
options: rename 'highlightcolor' to the more distinct 'spotlightcolor'
search: correctly colorize a match also when softwrapping is active
tweaks: rename a symbol, to better match the corresponding option
Changes between v5.5 and v5.6:
------------------------------
Benno Schulenberg (52):
build: avoid a warning about duplicate symbol when building from tarball
build: detect a build from git also when building out of tree
build: include a workaround only for versions of ncurses that need it
bump version numbers and add a news item for the 5.6 release
color: do not look for another 'end' match after already finding one
color: give highlighted text its own color, to not look like marked text
color: recompile the file-probing regexes a little faster with REG_NOSUB
color: use bright yellow to highlight a search match
color: use inverse video for highlighting when there are no colors
debug: add timing instruments to cache precalculation and screen refresh
display: for a large paste or insertion, recalculate the multiline cache
docs: correct the description of --quickblank for the changed base value
docs: correct the formatting of a comment in the sample nanorc
docs: correct the word order for Alt+D in the cheat sheet -- it changed
docs: mention the new 'set highlightcolor' option
docs: remove all mentions of --markmatch and 'set markmatch'
docs: say that --minibar is modified by --constantshow and --stateflags
feedback: make Full Justify show a message also when using --minibar
gnulib: update to its current upstream state
minibar: show a message a little longer when --quickblank isn't used
minibar: show cursor position + character code only with --constantshow
minibar: show the state flags only when --stateflags is used
minibar: suppress the toggling feedback for M-C, but show it for M-Y/M-P
options: remove --markmatch and 'set markmatch', as the behavior is gone
painting: always do backtracking for the first row of the screen
painting: trigger a refresh when a second start match appears on a line
painting: trigger fewer unneeded full-screen refreshes
painting: when finding an end match, set its multidata right away
scrolling: keep centering after large paste, also when line numbers widen
search: just highlight the found occurrence, instead of marking it
search: make highlighting the standard, non-changeable behavior
tweaks: avoid the vague possibility of advancing beyond end-of-line
tweaks: be slightly more efficient in marking lines as WOULDBE
tweaks: call wattron()/wattroff() only when actually painting something
tweaks: correct a comment, improve another, and trim some verbosity
tweaks: don't bother comparing virgin multidata with current situation
tweaks: don't bother initializing freshly allocated multidata
tweaks: don't bother wiping the multidata before recomputing it
tweaks: elide a function that is now just one line
tweaks: frob a condition, to be more concise, and reshuffle another
tweaks: frob some comments, and adjust indentation after previous change
tweaks: frob some comments, and reshuffle two fragments of code
tweaks: frob two fragments of code, to be more readable
tweaks: make a skipping condition more precise
tweaks: remove an old fix that was made superfluous by a recent fix
tweaks: remove a strangely placed warning
tweaks: rename six symbols, to be more straightforward
tweaks: reshuffle some code, and reduce the scope of a variable
tweaks: reshuffle three conditions into a better order
tweaks: rewrap and reindent a few lines
tweaks: rewrap two lines, for esthetics
tweaks: stop evaluating a rule when the match is offscreen to the right
Changes between v5.4 and v5.5:
------------------------------
Benno Schulenberg (84):
build: fix compilation for --enable-{tiny,help,multibuffer}
build: fix compilation when configured with --disable-utf8
build: fix compilation when configured with --enable-tiny
build: remove the '--with-slang' configure option
bump version numbers and add a news item for the 5.5 release
chars: short-circuit determining the width of characters under U+0300
chars: speed up the handling of invalid UTF-8 starter bytes
copyright: update the years for the FSF
display: add code for showing minimal state-information bar at the bottom
display: do not show the state flags in the help viewer or file browser
docs: explain the effect of --minibar / -_ / 'set minibar'
docs: explain the purpose of --markmatch / -^ / 'set markmatch'
docs: insert links to the mailing-list archives into the README
docs: mention in NEWS that some workarounds were removed
docs: mention the new 'set promptcolor' option
docs: remove all mentions of Slang
feedback: differentiate between remarks, mistakes, and information
feedback: wipe the status bar by default after 20 keystrokes
files: when truncating a file name, give an indication of this
general: remove support for Slang
gnulib: update to its current upstream state
input: intercept ^Z also when --minibar is active
input: interpret a keystroke as Meta only when an earlier escape was solo
memory: avoid leaking the speller or linter command string, when invoked
minibar: add an [x/y] "counter" when multiple files are open
minibar: add a percentage that shows how far the cursor is into the file
minibar: allow the number-of-lines to overrule also the state flags
minibar: allow the number-of-lines to overrule location + character code
minibar: drop the side spaces before suppressing the state flags
minibar: represent bytes as 0xNN and valid Unicode code points as U+NNNN
minibar: show the info bar again some 0.8 seconds after a message
minibar: show the line count in the bar (at startup and when saving)
minibar: show Unicode codes when in a UTF-8 locale
minibar: suppress some elements when there is no room to show them
minibar: when the next character has zero width, show its code too
minibar: when the overnext character has zero width too, show its code
mouse: do not offset the shortcuts by 'margin' when using --linenumbers
oops: use the correct condition for checking the last line will change
options: accept 'set promptcolor' for setting the color of the prompt bar
options: add --markmatch and -^ for activating the select-match behavior
options: add --minibar and -_ for activating basic state-information bar
prompt: restore a workaround for a cursor misplacement bug in ncurses
prompt: suppress the ">" character always when exactly at the right edge
rcfile: rename 'nowrap' toggle to 'breaklonglines', to match the option
search: set the mark at the end of a found match so it gets highlighted
search: suppress the cursor when highlighting a match
speller: do an internal spell check when --speller is an empty string
speller: strip leading whitespace from command, to avoid a sneaky crash
syntax: go: add author and license line
syntax: nanorc: colorize 'bookstyle' as a valid option
syntax: nanorc: colorize 'set promptcolor' as valid
syntax: sh: recognize shebangs with any shell after 'env', not just 'sh'
tweaks: adjust the indentation after the previous change
tweaks: avoid compilation warnings on 32-bit machine plus newer compiler
tweaks: avoid computing the cursor column twice, and the "page" too
tweaks: avoid hitting negative values when using size_t
tweaks: change an intermediate variable to a better one
tweaks: clean up after the previous change
tweaks: condense the description of how to report a bug
tweaks: correct a translator hint
tweaks: correct two comments after the previous changes
tweaks: do not change the pointer, but move the content of the string
tweaks: drop a small optimization for invalid UTF-8 starter bytes
tweaks: elide a variable, by using a reallocation instead
tweaks: fold some conditions into bitwise masks, for efficiency
tweaks: fold two similar and three identical cases together
tweaks: move 'set indicator' to its alphabetical place in the manual
tweaks: move the displaying of the state letters into a separate function
tweaks: push back the deprecation of the 'set nowrap' option
tweaks: put the new options in a consistent order in the code
tweaks: reduce the scope of a static variable
tweaks: remove some #ifdefs that were there only for Slang
tweaks: rename a variable, to be similar to its sister
tweaks: reshuffle a condition, to probably avoid an unneeded calculation
tweaks: reshuffle an option, to have two related ones grouped together
tweaks: reshuffle some lines, to group things better
tweaks: reshuffle some lines, to have most #includes near the beginning
tweaks: reshuffle some more lines, to have most #defines together
tweaks: reshuffle two lines, and rename a variable to a plain word
tweaks: reword the description of an option
tweaks: simplify a bit of logic
tweaks: use a boolean instead of an enumeration of two values
undo: remove the added magic line when a replacement caused one
weeding: remove some obsolete information from the README
OIX (1):
mouse: update title bar (the M flag) when the click is on the cursor
Changes between v5.3 and v5.4:
------------------------------
Benno Schulenberg (31):
bindings: accept b for scrolling back up in help viewer and file browser
build: exclude a workaround for VTE/Konsole when using a recent ncurses
build: include a workaround for VTE only when using an older libvte
bump version numbers and add a news item for the 5.4 release
copyright: update to the current year for significantly changed files
docs: adjust for the changed name of the header-file package on Debian
docs: use standard-compliant HTML entities for the four arrows
feedback: abort when user tries to open multiple files in tiny version
gnulib: update to its current upstream state
help: allow the penultimate item extra space when the number is uneven
help: show all valid help items also in the Write-Out menu
linting: avoid putting the cursor beyond the end of the line
moving: skip combining characters and other zero-width characters
options: do not spew out the help text when an option is not recognized
prompt: skip over combining characters also when editing a search string
rcfile: stop accepting 'set view' in a nanorc file, and undocument it
statusbar: properly pluralize the line+word+character count report
tweaks: avoid copying an option's argument when there is no need
tweaks: normalize the formatting after the previous two changes
tweaks: rename two variables and improve two comments
tweaks: rename two variables, one for contrast, another for visibility
tweaks: reshuffle a fragment of code, for clarity
tweaks: reshuffle a line, elide two braces, and adjust the indentation
tweaks: reshuffle three lines and elide braces after the previous change
tweaks: slightly shorten a loop, to place the actual action outside of it
tweaks: use the standard symbols for the three standard file descriptors
utils: die when trying to allocate zero bytes
weeding: remove another unneeded workaround for VTE
weeding: remove a workaround for early versions of ncurses-6.0
weeding: remove a workaround for versions of ncurses before 5.9
weeding: remove a workaround for VTE that is not needed
Changes between v5.2 and v5.3:
------------------------------
Arturo Borrero González (1):
syntax: nftables: include author and license lines
Benno Schulenberg (92):
browser: make M-W/M-Q functional right after startup, if there is history
browser: sort names that differ only in case with uppercase first
browser: wipe the status bar before searching again with M-W or M-Q
build: abort the update script if a PO file contains a control character
build: avoid two compiler warnings when gnulib has been ripped out
build: do not accept --enable-libmagic when not having color support
build: do not let Slang translate escape sequences to key codes
build: exclude bunches of raw escape sequences from the tiny version
build: exclude --emptyline, --jumpyscrolling, and --noread from tiny nano
build: exclude excessive version information from the tiny version
build: exclude option --tabsize (-T) from the tiny version
build: exclude reading a file from standard input from the tiny version
build: exclude the three --help column headers from the tiny version
build: include some raw sequences for the graphical Debian installer
build: stop using an obsolete macro, and use 'void' for signal handlers
build: to verify wide curses, probe for a function that cannot be a macro
bump version numbers and add a news item for the 5.3 release
chars: reduce searching time with roughly 85 percent for plain ASCII
display: do not unnecessarily wipe the status bar
display: do not wipe the status bar when the terminal has just one row
display: force the cursor to reappear after a message (when using Slang)
display: force the cursor to reappear in a better way (when using Slang)
display: skip a special-case refresh when a message was written
docs: add a link to the website also to the info manual
docs: add the customary (1) after the name of command-line programs
docs: condense the descriptions of cutting and pasting
docs: explain the purpose of -! / --magic / 'set magic'
docs: explain the 'set scrollercolor' option, for coloring the indicator
docs: explain what the options --stateflags (-%) and 'set stateflags' do
docs: improve two wordings in the sample nanorc
docs: mention that syntax definitions are available in /usr/share/nano/
feedback: don't give a hint for <Bsp>, and not after an Alt+key was used
feedback: in the tiny version, let M-H show the helpful hint too
feedback: make an "Unbound key" message disappear on the next keystroke
feedback: show a helpful message for ^G even when there is no help
feedback: show helpful message for the first ^H at the top of the file
gnulib: update to its current upstream state
help: do not leave the cursor on the status bar after a search
help: do not show "^G Help" in the tiny version when there is no help
help: ensure the help lines are always drawn, also when using Slang
help: in the tiny version, show Prev/Next Word before Backward/Forward
help: nicely pair menu items also when built with just --disable-help
new feature: option --stateflags to show some states in top-right corner
options: add -? as a synonym of -h (--help), but leave it undocumented
options: move --stateflags (-%) and --magic (-!) to the end of the list
options: require --magic or 'set magic' to enable the use of libmagic
rcfile: add 'set scrollercolor', for changing the color of the indicator
suspension: do not enter an invalid byte upon resume (when using Slang)
suspension: properly resume from an external SIGSTOP
suspension: resume properly from an external SIGSTOP (when using Slang)
suspension: switch off flow control at the right moment (for Slang)
syntaxes: add author and license lines to four of the files
syntax: nanorc: stop coloring 'morespace' and 'smooth' as valid
syntax: nanorc: stop coloring 'nopauses' and 'nowrap' as valid
syntax: nanorc: stop coloring 'quiet' and 'backwards' and 'finalnewline'
syntax: po: do not leave the occasional tab with a red background color
syntax: po: highlight embedded control codes that shouldn't be there
syntax: sh: recognize some shell scripts by their Emacs modeline
tweaks: add a hint for translators
tweaks: add some comments to the C syntax, and sort some keywords
tweaks: adjust some whitespace in the docs, and improve a comment
tweaks: avoid a compiler warning when compiling with more than -O1
tweaks: condense a bit of code
tweaks: condense a bit of code after the previous change
tweaks: drop the unneeded saving and restoring of a global variable
tweaks: dummy commit, to add some info about the previous one
tweaks: elide a one-line function, after reducing it to a single call
tweaks: fold one function into another, to elide an unneeded return value
tweaks: harmonize the spelling of a compound word, and rewrap a section
tweaks: harmonize the style of error messages and warnings in ./configure
tweaks: make two of the changes that 'autoupdate' suggests
tweaks: move three functions, to before the ones that call them
tweaks: move two more functions, to before the ones that call them
tweaks: move two more functions, to before the one that calls them
tweaks: normalize the indentation after the previous change
tweaks: remove an inconsistent newline from the end of an error message
tweaks: remove an unused element from 'funcstruct', saving 8 more bytes
tweaks: remove mistaken escape sequences for function keys on xterm
tweaks: remove two stray comments and two lines that were commented out
tweaks: rename another variable, away from being misnamed
tweaks: rename four variables, reshuffle them, and correct one type
tweaks: rename two elements of history struct, away from abbreviations
tweaks: rename two variables, to be more distinct
tweaks: replace two more occurrences of 'AC_TRY_RUN' with 'AC_RUN_IFELSE'
tweaks: reshuffle a condition, to elide a blank string
tweaks: reshuffle some lines after the previous change
tweaks: reshuffle some lines and adjust indentation after previous change
tweaks: reshuffle two lines and a function name, for a consistent order
tweaks: rewrap nine more old NEWS items, for balanced line lengths
tweaks: rewrap three NEWS items, for more balanced line lengths
tweaks: stop 'autoupdate' from failing with "end of file in string"
version: remove URL and email address from the --version output
Hussam al-Homsi (5):
syntax: c: colorize also one-character constants, and the null directive
syntax: c: colorize also the keywords that start with an underscore
syntax: c: colorize also the 'restrict' keyword, and the #line directive
tweaks: reorder a member of 'funcstruct', to save 8 bytes of padding
tweaks: stop casting the return of malloc() and friends
Ryan Westlund (1):
syntax: markdown: add author and license line
Changes between v5.1 and v5.2:
------------------------------
Benno Schulenberg (30):
build: stop distributing the README.GIT file
build: stop mentioning Slang in two ./configure messages
bump version numbers and add a news item for the 5.2 release
display: restore the ability to resize the screen while searching
docs: add a cross-reference from 'findbracket' to 'set matchbrackets'
docs: adjust description of ^T in cheatsheet, and mention M-Bsp
docs: mention in the FAQ how to change the escape sequences of urxvt
docs: reshuffle the section about the file browser to a better place
gnulib: back away from a commit that causes trouble when using clang
gnulib: update to its current upstream state
history: do not interpret a failing stat() as an error
input: allow also a Meta keystroke to abort a Search command
input: dawdle after an ESC also when --rawsequences is used
input: discard any multibyte character when <Alt> is being held
input: do not enter invalid bytes when holding down both Alt keys
input: hold on to a shift-selected region when an unbound key is struck
rcfile: make sure that "bright"/"light" are prefixes, not separate words
replacing: do not try to wipe nonexistent multidata, to avoid crashing
search: poll the input stream directly, not nano's own keystroke buffer
search: retain the current answer when something is toggled
tweaks: adjust a comment, and reshuffle the setting of a boolean
tweaks: condense two declarations
tweaks: condense two fragments of code, for compactness
tweaks: elide an unneeded variable
tweaks: improve three comments and an indentation
tweaks: move the keyboard-checking code to the end of the search loop
tweaks: remove a variable and two functions that have become redundant
tweaks: rename a variable, to not seem to refer to the scrollbar
tweaks: reshuffle four declarations, and rename two variables
verbatim: reserve enough space for the result also in non-UTF-8 locales
Changes between v5.0 and v5.1:
------------------------------
Benno Schulenberg (55):
anchor: in a UTF-8 locale, show an anchor as a diamond, for visibility
anchor: show an anchor also when the line is horizontally scrolled
bindings: make <Alt+Backspace> delete a word backwards, like in Bash
build: fix compilation for --enable-tiny --enable-nanorc --enable-color
build: fix compilation when configured with --enable-tiny
build: stop distributing the two old Changelogs
bump version numbers and add a news item for the 5.1 release
display: show the cursor position also right after the screen is resized
docs: fix a closing tag in the FAQ [tidy]
docs: mention that anchors are visible when line numbers are shown
feedback: add the reason to the error message when forking fails
feedback: use three dots to indicate processing, like everywhere else
feedback: when creating a pipe fails, report also the reason
files: do not try writing to the status bar while not in curses mode
formatter: force the mark off, to not crash by accessing empty cutbuffer
gnulib: update to its current upstream state
help: list again the keystroke for toggling the help lines (M-X)
input: understand M-Bsp also when terminfo does not match the terminal
moving: make <Ctrl+Up> go to the top when above the cursor all is blank
rcfile: allow to bind M-[ (even though it is an escape-sequence starter)
softwrap: initialize the 'extrarows' value for the magic line correctly
speller: give proper feedback when the user tries to check emptiness
speller: give startup feedback (relevant when running on a Linux console)
speller: re-enter curses mode before trying to report an error
syntax: css: differentiate pseudo-classes (now cyan) from comments (blue)
syntax: default: colorize also "GNU nano 5.x"
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: avoid a maybe-uninitialized-variable warning from gcc
tweaks: elide an unneeded variable, by transforming the key code directly
tweaks: elide two variables that are no longer needed, and update comment
tweaks: exclude old and mistaken "Esc O" sequences from the tiny version
tweaks: make a few more direct returns, and reshuffle another bit of code
tweaks: make a misplaced call of statusline() more obvious by crashing
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation, and regroup two lines
tweaks: optimize for byte-range characters, and shorten some comments
tweaks: parse the escape-sequence bytes without copying them first
tweaks: pass first byte of sequence directly to the decoding function
tweaks: print error message directly instead of passing it to the caller
tweaks: read keycodes from the keystroke buffer without copying them
tweaks: remove an unneeded beep, and reshuffle the lines for compactness
tweaks: reshuffle a few lines, to condense the code, and improve comment
tweaks: reshuffle four lines, for esthetics
tweaks: reshuffle some fragments, to make the next change easier
tweaks: reshuffle the zeroing of a counter, to allow some direct returns
tweaks: simplify two functions, as they now return always NULL
tweaks: split a function into two, one for "Esc O" and one for "Esc ["
tweaks: stop using a 'switch' when there are just three possibilities
verbatim: discard entire keystroke when it's not valid for Unicode Input
verbatim: do not report "Invalid code" when a Unicode character is typed
verbatim: do not report "Invalid code" when the terminal is resized
verbatim: insert the full code sequence when <Alt+Backspace> is pressed
verbatim: pause a little after an ESC, to not miss a succeeding code
verbatim: report and ignore an invalid keystroke for Unicode input
Michalis Kokologiannakis (2):
build: avoid compilation warnings by using memcpy() instead of strncpy()
files: ignore only EPERM when fchmod() or fchown() fails
Changes between v4.9 and v5.0:
------------------------------
Andreas K. Foerster (1):
syntax: ada: new file -- coloring rules for Ada 2012 files
Benno Schulenberg (374):
anchor: do not let a full justification transfer an anchor to the top
anchor: do not let piping and spelling transfer an anchor to the top
anchor: during full justification preserve anchors as during single ones
backup: do not understand ^C as "Yes" when asking whether to continue
backup: when rereading the original file fails, ask the user what to do
bindings: add mistakenly removed M-J (Full Justify) back to the main menu
bindings: add ^Z (Suspend) to the "Execute Command" menu
bindings: allow toggling the help lines at several prompts and in browser
bindings: allow typing digits on the numeric keypad by holding Shift
bindings: make ^L (Refresh) work at all the prompts too
bindings: make ^T invoke the "Execute Command" menu, and ^T^T the Speller
bindings: remove the Full-Justify function from the Search menu
bindings: stop <Alt+operator> on the keypad from entering spurious letter
bindings: stop supporting <Esc> <Esc> <numeric slash> without NumLock
build: allow compilation to succeed on curses without italic support
build: do not let --disable-speller exclude also the formatter code
build: fix compilation for --enable-tiny --enable-color --enable-nanorc
build: fix compilation when configured with --disable-color
build: fix compilation when configured with --disable-speller
build: fix compilation when configured with --enable-tiny
build: fix compilation when configured with --enable-tiny
build: fix miscompilation for --enable-{tiny,color,nanorc}
build: fix the Makefile after two header files were renamed
build: make a deeper clone of gnulib (when building from git)
build: make ./configure report which global nanorc file will be used
build: replace the non-standard backslash escape "\e" with "\x1B"
build: stop distributing a nano.spec file
build: use a more dependable method for detecting a build from git
bump version numbers and add a news item for the 5.0 release
color: avoid allocating emptiness when there are no multiline regexes
color: when syntax coloring is toggled back on, calculate multiline data
colors: move purple one step away from magenta, and use a darker mauve
copying: change the implementation, away from cutting plus copying back
copying: do not forget to update the screen when M-6 is pressed
copying: when using M-6, copy the final line in the buffer just once
copying: with --nonewlines, don't add a final newline to the cutbuffer
counting: count words and characters without partitioning the file
counting: count words correctly also when --wordchars is used
cutting: change the implementation of cutting to not use partitioning
cutting: overhaul the pasting routine, to not make use of partitioning
display: avoid an additional redrawing when redrawing the screen
display: blank the status bar for a copy operation, like for cut & paste
display: do not try to draw content when there is no open buffer yet
display: reposition the cursor after an error message also in a help text
docs: complete the renaming of 'tempfile' to 'saveonexit'
docs: copy the 4.9.1 news item from the release branch
docs: copy the 4.9.2 news item from the release branch
docs: copy the 4.9.3 news item from the release branch
docs: document the --indicator (-q) and 'set indicator' options
docs: document the new -O/--bookstyle and 'set bookstyle' options
docs: explain how anchors work, and document their bindable functions
docs: improve some descriptions concerning the file browser
docs: in the sample nanorc file, refer instead of duplicating
docs: mention that doing a full-buffer operation wipes away all anchors
docs: mention that M-X toggle is special, because available in most menus
docs: mention that the dedicated cursor-moving keys are not rebindable
docs: mention the nine new color names, and "bold" plus "italic"
docs: note Marco as the original author of the bookmarking code
docs: reduce the TODO file to a reference to the bug tracker on Savannah
docs: stop mentioning that --wordchars overrides --wordbounds
docs: use 'bold' and 'light' instead of 'bright' in the sample nanorc
feedback: beep also at a prompt when receiving an unknown escape sequence
feedback: do not list "." and ".." as possible <Tab><Tab> completions
feedback: indicate an anchor with a "+" in the line-number margin
feedback: show a message also when trying to copy an empty region
feedback: show the cursor position also at startup in an empty buffer
feedback: skip wiping the prompt bar when the shortcut printed a message
files: also when creating a backup fails, ask the user whether to proceed
files: ask the user whether to proceed every time a backup fails
files: before prompting, show also the reason why the backup failed
files: disallow tabbing when in restricted mode
files: do not append but truncate when allowing insecure backups
files: do not let a stray CR in a DOS file trigger Mac format
files: do not make a failsafe backup when in restricted mode
files: give a more precise warning when deleting an existing backup fails
files: ignore errors when calling chmod() on a backup file
files: ignore errors when calling chown() on a backup file
files: ignore errors when calling futimens() on a backup file
files: list possible completions after just one <Tab> instead of two
files: make a backup only when requested, not an unrequested failsafe one
files: make better use of the last row when there are many completions
files: make filtering of the entire buffer into a new buffer work again
files: never report a file as being of mixed format
files: reinitialize the palette only when the syntax actually changed
files: remove two superfluous calls for shielding temp files from others
files: show a warning when writing a backup fails, before prompting
files: show possible tab completions near the bottom of the edit window
files: take into account that also closing a backup file can fail
files: trigger the Easter egg only when "zzy" is typed at the prompt
files: warn the root user when all the write bits are missing
files: write out a marked region without partitioning the buffer
general: make five tools accessible through the "Execute Command" menu
general: rename "bookmark" to "anchor", to sound less permanent
gnulib: update to its current upstream state
help: describe what has been added to the "Execute Command" menu
help: pair the items in the two bottom lines better in the tiny version
help: put the two toggles first in the "Execute Command" menu
history: don't send error messages to the screen; store them in the queue
history: take into account that closing a file can fail
history: take into account that statting a file can fail too
indicator: recompute the extra rows also for cut/paste/split/join
indicator: recompute the extra rows also when justifying and resizing
indicator: rework how the "scrollbar" is computed when softwrapping
input: interpret an escape sequence only when it starts with "[" or "O"
input: reset the counters when a three-digit sequence is not completed
input: stop recognizing the raw escape sequences for F13 to F16
locking: ignore the insecure-backup flag when creating a lock file
locking: prevent a symlink attack by not opening an existing lock file
memory: plug a leak, by freeing the cutbuffer after a bracketed paste
menus: remove unneeded words and shortenings from key labels
new feature: a position-plus-portion indicator on the right-hand side
oops -- restore an accidentally changed file
options: add --indicator and -q for switching on the scroll-bar thing
options: add -O/--bookstyle to make leading whitespace mean new paragraph
options: let --afterends affect also the deleting of words (Ctrl+Delete)
options: make -S the short synonym of --softwrap
options: rename --tempfile to --saveonexit, to be far clearer
options: stop recognizing the obsolete --morespace and --smooth
prompt: at Yes-No, do not treat a screen resize as an invalid keystroke
rcfile: accept prefix "light" to make a color brighter without bolding it
rcfile: add bindable function 'execute', for access to "Execute Command"
rcfile: allow specifying a bright background color (with prefix "light")
rcfile: complain when an essential key binding is missing
rcfile: do not complain when "bright" is used with a background color
rcfile: introduce nine new named colors, from "pink" to "latte"
rcfile: introduce the modifier "bold", for specifying bolding separately
rcfile: introduce the modifier 'italic', for slanted text
rcfile: rename bindable function 'curpos' to 'location'
rcfile: rename 'extcmd' to 'execute', to be more readable and fitting
rcfile: report the first bad color element, not a later one that is okay
rcfile: restore terminal settings when exiting upon excessive unbindings
replacing: recalculate the multiline coloring info when needed
scrolling: add a function and a key binding to center the cursor line
speller: take into account that statting a file can fail [coverity]
startup: allow presetting case-sensitive search also in the tiny version
startup: check stdout instead of stdin when probing for a Linux console
startup: enter curses mode before reading the nanorc files
startup: initialize colors only when the terminal is capable of colors
syntax: css: color multiline comments correctly
syntax: default: colorize embedded control codes
syntax: email: rename file and syntax, away from the mistaken 'mutt'
syntax: markdown: do not colorize text between two bold words as italic
syntax: markdown: new file -- coloring rules for Markdown files
syntax: mgp: drop the almost-empty MagicPoint file and syntax
syntax: move distro-specific files down to a subdirectory, syntax/extra/
syntax: nanorc: colorize 'bright' anyway, so existing syntaxes look okay
syntax: nanorc: colorize the new named colors too, from "mint" to "mauve"
syntax: nanorc: stop colorizing 'bright', even though it's still accepted
syntax: sql: condense some regexes, and reduce their number
syntax: sql: rename the file to match the name of the syntax
syntaxes: move the rules for Fortran and Povray files down to extra/
syntaxes: remove some stuff that has been commented out for a long time
syntaxes: remove some superfluous outer parentheses from regexes
syntaxes: remove unneeded backslash escapes before quotes
syntaxes: uniformize the initial comment
tabbing: beep at the first listing, and when there are zero possibilities
tabbing: properly terminate the answer when the sole match is a folder
text: retain a bookmark when two lines are joined or something is cut
tweaks: add a condition, so that two ifs can be elided
tweaks: add a helpful message for when pkg.m4 is missing during a build
tweaks: add a helping variable, in order to unwrap three lines
tweaks: add a helping variable, to slightly condense the code
tweaks: add a symbol, in order to condense three function calls
tweaks: add four early returns for read/write errors of history files
tweaks: add four more translator hints
tweaks: add two comments, and improve another
tweaks: adjust comments and indentation after the previous change
tweaks: adjust the conditional help-item pairing for absence of speller
tweaks: adjust the file format indicator in a quicker way
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: avoid a compiler warning
tweaks: avoid a function call when a simple boolean will do
tweaks: avoid an unnecessary refresh for zero or just one completion
tweaks: avoid a warning about an unused variable in the tiny version
tweaks: avoid checking a variable three times for each pass in the loop
tweaks: avoid unneeded calls of free() by reallocating the full name
tweaks: call init_pair() just once for each pair number
tweaks: call the spotlighting routines only for the relevant line
tweaks: call use_default_colors() just once for each run
tweaks: cascade the ifs properly: without increasing the indentation
tweaks: change a helping variable, to make two blocks still more similar
tweaks: change a 'switch' to 'if', to elide a dummy 'return'
tweaks: close opened files when something goes wrong [coverity]
tweaks: condense a bit of code, by reusing an existing variable
tweaks: condense a comment, and express a condition in a different way
tweaks: condense a comment, and reshuffle a few lines
tweaks: condense a comment, and reshuffle some conditions
tweaks: condense and improve some comments
tweaks: condense some cases to a single line, for more clarity
tweaks: condense the code a little further, by grouping things better
tweaks: correct a comment, and avoid third repetition of some conditions
tweaks: correct a comment, and drop a redundant (because nested) #ifdef
tweaks: correct some comments, as VT100 and such have smaller keypads
tweaks: correct two spelling mistakes [codespell]
tweaks: delete a ChangeLog that is no longer updated and is incomplete
tweaks: delete another pointless ChangeLog
tweaks: delete a now-unused function
tweaks: delete some unneeded code, and rename the function accordingly
tweaks: delete the now-unused partitioning and unpartitioning routines
tweaks: delete two functions that are never executed
tweaks: do not use 'switch' when there are just two possibilities
tweaks: do not use the string "stat()" in any of the comments
tweaks: don't bother overwriting a CR -- decreasing the length is enough
tweaks: don't bother statting the lock file before unlinking it
tweaks: don't bother using the exclusive flag when creating a lock file
tweaks: don't check for escape sequences that start with a lowercase "o"
tweaks: don't use a symbol for other purposes
tweaks: do the conversion of -1 to a specific color just once
tweaks: do the saving of histories in a single place
tweaks: drop an unneeded assignment, and reshuffle a few lines
tweaks: drop a superfluous check for a non-zero length
tweaks: drop obsolete 'nano.spec' from .gitignore file, and reshuffle
tweaks: drop two redundant conditions, and improve three comments
tweaks: drop two unneeded assignments
tweaks: drop two unneeded wnoutrefresh() calls in the spotlight routines
tweaks: elide a function that is called just once
tweaks: elide a function that is too sparse
tweaks: elide another parameter, relevant in just three menus
tweaks: elide a now-unused parameter -- it is always FALSE
tweaks: elide an unneeded call of strlen(), and copy NUL byte with string
tweaks: elide an unneeded global variable
tweaks: elide an unneeded parameter, and rename the other
tweaks: elide an unneeded variable, as there is nothing beyond '*place'
tweaks: elide an unused parameter, and rename the other and a variable
tweaks: elide a parameter, by calling the relevant function beforehand
tweaks: elide a parameter that is relevant for only one menu (Goto Dir)
tweaks: elide a redundant intermediate function
tweaks: elide a variable and be more direct, and rename another
tweaks: elide a variable, and shortcircuit a return
tweaks: elide a variable, by returning the result directly
tweaks: elide a wrapper function, by checking a precondition earlier
tweaks: elide three functions that are called just once
tweaks: elide three parameters, as they are the same for both calls
tweaks: elide two ifs for the most likely case, when defaults are allowed
tweaks: elide two redundant calls of strchr()
tweaks: exclude a bit of bracketed-paste code from the tiny version
tweaks: exclude an unneeded fragment of code from the tiny version
tweaks: exit from the writing loop as soon as the last line is reached
tweaks: fix twenty typos, in old Changelogs and in some comments
tweaks: fold translation of all modified keypad keystrokes together
tweaks: fold two blocks into each other, to elide three overlapping cases
tweaks: for each version, mention the changes to the PO files last
tweaks: get rid of a bunch of annoying casts, and thus condense the code
tweaks: group the exiting routines together, and condense the comments
tweaks: handle the double escapes directly, instead of going round again
tweaks: handle two similar things in the same way
tweaks: implement the anchor routines in a different way
tweaks: improve a comment, rename a function, and elide a parameter
tweaks: improve a comment, reshuffle a scroll command, elide a variable
tweaks: improve four comments
tweaks: improve several comments, and rewrap two lines
tweaks: improve some comments, and reshuffle an assignment
tweaks: improve some comments and whitespace, and reshuffle a few lines
tweaks: improve three comments, drop one, and unwrap a line
tweaks: improve two comments, and reshuffle some lines for conciseness
tweaks: invert a condition, to have two clauses in a more logical order
tweaks: invert a condition, to see the similarity between the two modes
tweaks: make an early return for zero matches, and rename a variable
tweaks: make an error message more accurate and reduce it to its essence
tweaks: make three hard-bindings of special keys more efficiently
tweaks: move a copyright notice to a better place, and improve it
tweaks: move a fragment of code to the one branch that needs it
tweaks: move a function to a more logical place
tweaks: move a function to before the one that calls it
tweaks: move a function to before the one that calls it
tweaks: move a function, to be in the order in which they are called
tweaks: move a function to the file where it is used the most
tweaks: move an 'if', to not call leftedge_for() when not softwrapping
tweaks: move an initialization function to before the one that calls it
tweaks: move two functions, to have them in a more logical order
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: order three menu names in the documentation slightly better
tweaks: plug a leak, by always freeing the full filename [valgrind]
tweaks: rake a common statement to the end of the case
tweaks: recalculate the multiline info just once when doing "Replace All"
tweaks: reduce the indentation after the previous change
tweaks: remove an incorrect mention of umask() from a comment
tweaks: remove an unneeded call of wnoutrefresh()
tweaks: remove an unneeded cursor movement, and rename a variable
tweaks: remove an unneeded element from the openfilestruct
tweaks: remove a redundant cursor movement, remove a redundant condition
tweaks: remove a superfluous check on the length of the key buffer
tweaks: remove a superfluous global variable
tweaks: remove some superfluous conditions
tweaks: remove three unneeded while loops from two input routines
tweaks: remove two calls of umask() by specifying permissions directly
tweaks: remove two redundant conditions, and make a more direct return
tweaks: remove two superfluous assignments
tweaks: remove unneeded variables after the previous change
tweaks: rename a function, and move it to before the one that calls it
tweaks: rename a function, and move it to before the one that calls it
tweaks: rename a function, to be more correct
tweaks: rename a function, to be more general and clearer
tweaks: rename a function, to be more precise, and reshuffle it
tweaks: rename a function, to be more precise, and reshuffle some things
tweaks: rename a function, to better describe what it does
tweaks: rename a function, to leave the old names behind
tweaks: rename a function, to match with the boolean that guards it
tweaks: rename a function, to not shadow a variable, and elide parameter
tweaks: rename a parameter and a variable, to be more meaningful
tweaks: rename a struct element, to be shorter and preciser
tweaks: rename a symbol, and actually use it where it is needed
tweaks: rename a symbol, away from a double abbreviation
tweaks: rename a symbol, from a phrase to a noun
tweaks: rename a symbol, to be more accurate, and reshuffle two lines
tweaks: rename a symbol, to better suit its purpose, and reduce its scope
tweaks: rename a variable, and condense a comment
tweaks: rename a variable, and normalize the indentation
tweaks: rename a variable, and reduce the scope of two others
tweaks: rename a variable, for more contrast with the function name
tweaks: rename a variable, for shortness and contrast
tweaks: rename a variable, improve a comment, and reshuffle a few things
tweaks: rename a variable, to avoid overrepetition of 'backup'
tweaks: rename a variable, to better describe what it holds
tweaks: rename a variable, to better fit related ones
tweaks: rename a variable, to make more sense
tweaks: rename a variable, to not refer to a row as a "line"
tweaks: rename one of the flag symbols, to be clearer
tweaks: rename two functions and a variable, and improve two comments
tweaks: rename two functions, and rename and reshuffle a parameter
tweaks: rename two functions, to better indicate what they do
tweaks: rename two header files, to be distinct and not an abbreviation
tweaks: rename two labels, for brevity
tweaks: rename two parameters, away from abbreviations
tweaks: rename two parameters, away from an abbreviation
tweaks: rename two parameters, to be more fitting
tweaks: rename two variables, and reduce the scope of a third
tweaks: rename two variables, away from abbreviations
tweaks: rename two variables, to avoid a repetitive prefix
tweaks: rename two variables, to be shorter and without abbreviations
tweaks: reshuffle a bit of code, to elide an #ifndef
tweaks: reshuffle a condition, for symmetry
tweaks: reshuffle a condition, to avoid a repetition of code
tweaks: reshuffle a condition, to make a little more sense
tweaks: reshuffle a declaration and six calls of free(), to avoid a leak
tweaks: reshuffle a few lines, and remove a few unneeded comments
tweaks: reshuffle a few lines, for conciseness
tweaks: reshuffle a few lines, to elide an 'if' from the most common path
tweaks: reshuffle a fragment of code, to elide a 'goto'
tweaks: reshuffle an assignment, for conciseness, and rename a variable
tweaks: reshuffle and trim a comment, and remove unneeded pair of braces
tweaks: reshuffle a statement, to have major initialization in nano.c
tweaks: reshuffle some code, to avoid needlessly calling a function
tweaks: reshuffle some conditions, to straighten the logic
tweaks: reshuffle some lines, for esthetics
tweaks: reshuffle some lines, to better separate the three cases
tweaks: rewrap a few lines in old news items, for more balanced lines
tweaks: separate a symbol from its definition by two spaces
tweaks: shorten an error message, to be appropriate in all situations
tweaks: shorten the name of a symbol, to match its bindable function
tweaks: simplify an error message, by mentioning just the main point
tweaks: simplify the counting of characters in a section
tweaks: skip the conversion to multibyte for plain ASCII codes
tweaks: slightly improve a comment and the ordering of some lines
tweaks: slightly improve the grouping of shortcuts in some help texts
tweaks: three escapes is the same as either zero escapes or one escape
tweaks: trim an ASCII case, as the function is called only for UTF-8
tweaks: trim some oververbose comments -- they overshadow the code
tweaks: uniformize some old translator credits
tweaks: update a translator hint, and add another
tweaks: update three translator hints, add two, and frob three strings
tweaks: use a better symbol than 'ERR' to signify a valid hex digit
tweaks: use knowledge of Unicode to skip the general multibyte conversion
tweaks: use three switches instead of cascading ifs, for brevity
undo: choose the proper x positions to place the cursor and rejoin lines
undo: when undoing a line cut, place the cursor back where it was
usage: unabbreviate option arguments where possible
verbatim: show an error message when an invalid Unicode code is entered
verbatim: turn bracketed-paste mode off while waiting for input
Marco Diego Aurélio Mesquita (4):
bindings: hard-bind the bookmark functions to M-Ins and M-PgUp/M-PgDn
display: support the position indicator also when --softwrap is used
files: make the M-F (New Buffer) toggle non-persistent
new feature: bindable functions for toggling and jumping to "bookmarks"
Michalis Kokologiannakis (3):
files: improve the backup procedure to ensure no data is lost
tweaks: adjust some indentation after the previous change
tweaks: move the backup code to a separate function
Pedro Victor de Brito Cordeiro (1):
tweaks: make parameter names in prototypes match those in the definitions
Ryan Westlund (2):
syntax: go: highlight the chan keyword, and the special +build comment
syntax: haskell: new file -- coloring rules for Haskell programs
Changes between v4.8 and v4.9:
------------------------------
Benno Schulenberg (209):
bindings: remove the translation of ^H to Backspace on the BSDs
build: fix compilation for --enable-tiny --enable-justify
build: restore non-UTF8 fallbacks, to allow compiling with --disable-utf8
build: update the conditional placement of the "Go To Line" menu item
bump version numbers and add a news item for the 4.9 release
chars: optimize a function for the most common blanks: space and tab
copyright: update to the current year for significantly changed files
cutting: let M-T cut a trailing empty line, but not nothing at all
cutting: with --cutfromcursor, allow ^K to cut the penultimate empty line
display: do not show a "[" double-width placeholder when softwrapping
display: keep the help items aligned, by not writing too many characters
docs: improve the descriptions of --softwrap and 'set softwrap'
docs: mark bracketed pasting as done in the TODO list
docs: mention that ^[ (Esc) is unbindable, and explain why
docs: remove the note saying that nanorc files must be in Unix format
docs: trim some TODO items, and condense several others
docs: update the form of an option, --suspendable / 'set suspendable'
docs: update the missed occurrences of --suspendable / 'set suspendable'
feedback: give a clearer message when trying to justify an empty region
feedback: make sure that a later message can overwrite a short warning
files: be consistent in which code means "New File"
files: don't check uninitialized memory when writing new file [valgrind]
files: when piping, always pipe whatever was cut to the external command
gnulib: update to its current upstream state
help: do not break a line inside the 17-column keystrokes area
help: increase the minimum help-text width from 32 to 40 columns
input: accommodate silly emulators that have LF instead of CR in a paste
input: after reallocating a string, do not write to its old address
input: allocate sufficient bytes for entering a Unicode codepoint
input: keep a multibyte character together during verbatim entry
justify: do not copy too many bytes when trimming leading whitespace
justify: do not crash when the user attempts to justify an empty region
justify: do not take an empty line as template for first-line indentation
justify: give the first line of a marked region its proper indentation
justify: never break a line in leading whitespace
justify: restore a region properly when it was marked backwards
justify: skip over blanks after the region, to not skew the indentation
justify: skip over in-line whitespace only, not over leading whitespace
justify: trim prefixed whitespace when justifying a marked region
justify: trim the leading blanks of a marked region at the right moment
justify: when appropriate, move end point of marked region forward
justify: when the cursor is at the left edge, keep it there
locking: do not open an empty buffer when respecting the first lock file
moving: do not put the cursor at end-of-line when in a help text
options: rename --suspend to --suspendable, to make more sense
prompt: insert a burst of bytes in one go instead of characterwise
rcfile: allow alternate line endings in nanorc files
rcfile: do not allow a regex for name, header, or magic to be empty
rcfile: don't store a coloring rule before it is complete
rcfile: rename bindable function 'suspendenable' to 'suspendable'
rcfile: when a start= is not matched with an end=, abandon the whole rule
rcfile: when finding a mistake, skip the rest of the line
shutdown: don't refer to an open file when there aren't any
softwrap: when typing goes beyond the bottom row, scroll just one row
syntax: nanorc: colorize 'rawsequences', not the obsolete 'rebindkeypad'
syntax: spec: add two missing % signs, and colorize also "%triggerprein"
syntax: spec: colorize the date and author of changelog items differently
syntax: spec: drop invalid parentheses after "Summary"
tweaks: abort in three situations that should never occur
tweaks: add a COUPLE_END undo item a bit later, instead of updating it
tweaks: add a different helping variable
tweaks: add a supporting variable, in order to condense some statements
tweaks: add calls of die() for five theoretical programming mistakes
tweaks: adjust some whitespace, reshuffle two ifs, and remove two braces
tweaks: adjust the indentation after the previous change
tweaks: always determine the second lead, to simplify the rewrap call
tweaks: avoid a complaint about uninitialized memory [valgrind]
tweaks: call add_undo() before the character is actually added
tweaks: change a function to return the name of the lock file on success
tweaks: change a function with two possible results to boolean
tweaks: change an integer to a short, and reshuffle it for better packing
tweaks: change another function with two possible results to boolean
tweaks: check for a starting quote in one place instead of three
tweaks: combine two ifs into one
tweaks: condense a comment, reshuffle conditions, and remove unwanted one
tweaks: condense a fragment of code
tweaks: condense two fragments of code
tweaks: convert integers to bytes in one place instead of two
tweaks: copy and store a deleted character in a conciser manner
tweaks: correct a typo, improve two indentations, and rewrap a line
tweaks: correct two typos in a changelog, and drop a doubled word
tweaks: create an undo item earlier, and discard it when needed
tweaks: don't bother reallocating the line data when undoing a line join
tweaks: do some text alignments properly: with spaces, not tabs
tweaks: drop a check for something that will not occur
tweaks: drop two comments that contain variable names
tweaks: elide a function call, by copying a byte directly
tweaks: elide an intermediate copy of a character during injection, twice
tweaks: elide an intermediate copy of an added character
tweaks: elide a parameter, and rename a variable
tweaks: elide a supporting variable, to make four loops slightly faster
tweaks: elide a variable and an unneeded iteration
tweaks: elide one variable and three gotos
tweaks: elide three unneeded #defines
tweaks: elide two variables and their two assignments
tweaks: exclude a function when compiled without spell-checking support
tweaks: extend the undo data for deleting and backspacing more directly
tweaks: factor out a three-line condition into a separate function
tweaks: frob a statement, rewrap two lines, and remove a pair of braces
tweaks: frob two statements, condense another, and add a comment
tweaks: highlight keystrokes in the documentation more consistently
tweaks: improve four comments, and condense two fragments of code
tweaks: improve three comments, and reshuffle two declarations
tweaks: improve two comments
tweaks: improve two comments, and remove an unneeded one
tweaks: inject the entire burst of bytes at once into the edit buffer
tweaks: instead of swapping the end points later, assign them correctly
tweaks: invert the logic of a symbol, to make more sense
tweaks: make prompt-bar input more similar to edit-buffer input
tweaks: make two conditions more direct, and thus elide two functions
tweaks: mesh two bits of code together
tweaks: move a function to after the one that it calls
tweaks: move a function to before the one that calls it
tweaks: move a function to before the one that calls it
tweaks: move a function to its proper place in the order of things
tweaks: move a function to where it is used
tweaks: move another function to where it is used
tweaks: move some definitions closer to where they are used
tweaks: move two functions to before the ones that call them
tweaks: normalize a translator hint, update one, and add another
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous two changes
tweaks: pull the NUL-terminating of a string into a function
tweaks: rearrange a case item, so that PASTE is always after CUT
tweaks: rearrange some conditions, for compactness
tweaks: relocate a function to before its callers
tweaks: relocate eleven functions to before they are called
tweaks: remove a now-unused helper function
tweaks: remove an unneeded indirection
tweaks: remove a redundant assignment
tweaks: remove a redundant statement, a spurious reference to 'cutbottom'
tweaks: remove a superfluous assignment, and reshuffle a call
tweaks: remove non-UTF-8 code from three more functions
tweaks: remove some redundant filtering, and thus elide a parameter
tweaks: remove some unneeded braces, not used elsewhere either
tweaks: remove two redundant case labels
tweaks: remove two superfluous checks
tweaks: remove two superfluous conditions
tweaks: rename a constant, and rename and relocate a function
tweaks: rename a function, and condense a few comments
tweaks: rename a function, and split a variable into two separate ones
tweaks: rename a function, to be more fitting, and improve some comments
tweaks: rename a function, to remove an obscuring abbreviation
tweaks: rename another function, to remove the obscuring abbreviation
tweaks: rename a parameter and a variable, and reword two comments
tweaks: rename a symbol, to match the corresponding renamed option
tweaks: rename a variable, and add a helping one
tweaks: rename a variable, and reshuffle a declaration
tweaks: rename a variable, away from a single letter
tweaks: rename a variable, away from a single letter
tweaks: rename a variable, for aptness
tweaks: rename a variable, reshuffle an assignment, and change a code
tweaks: rename a variable, to be a bit clearer
tweaks: rename a variable, to get out of the way of a later rename
tweaks: rename a variable, to not be a substring of a function name
tweaks: rename four more functions, to get rid of an abbreviation
tweaks: rename four parameters, to be more distinct and telling
tweaks: rename four variables, to be a bit more telling
tweaks: rename to the same name two variables that have the same role
tweaks: rename two elements of an undo record, to be more telling
tweaks: rename two functions, for shortness
tweaks: rename two functions, to match the style of others
tweaks: rename two more elements of an undo record, for symmetry
tweaks: rename two more functions, to match the style of others
tweaks: rename two more variables, to harmonize with two others
tweaks: rename two parameters, to not overlap with other names
tweaks: rename two symbols, to be more precise
tweaks: rename two variables, and frob four comments
tweaks: rename two variables, and reshuffle a few things
tweaks: rename two variables, for distinctiveness
tweaks: rename two variables, to be different or for more contrast
tweaks: rename two variables, to harmonize with two others
tweaks: rename two variables, to suit both the marked and unmarked case
tweaks: reorder a case item, to have SPLIT_BEGIN always before SPLIT_END
tweaks: reshuffle a condition, for compacter code
tweaks: reshuffle a condition, for compactness
tweaks: reshuffle a few declarations and assignments
tweaks: reshuffle an assignment and a free()
tweaks: reshuffle some code, in preparation for improving it
tweaks: reshuffle some stuff, to have related things together
tweaks: reshuffle the setting of the starting point of a cut
tweaks: reshuffle the trimming of leading whitespace, for compactness
tweaks: reshuffle two declarations plus a fragment of code
tweaks: simplify the undoing and redoing of an <Enter>
tweaks: strip a parameter that is equivalent to 'openfile' for both calls
tweaks: strip a parameter that is TRUE for both calls
tweaks: swap the use of 'head' and 'tail' for CUT and PASTE undo items
tweaks: trim an unnecessary detail from an error message
tweaks: unabbreviate the name of a variable
tweaks: unwrap four lines, and use explicit codes where possible
tweaks: update several comments after the previous changes
tweaks: update some comments after the previous changes
tweaks: use a symbol instead of a number, and drop two unneeded casts
tweaks: use spaces when aligning things, not tabs
tweaks: use the variable that suits 'END' better
tweaks: weld two fragments together, twice, by eliding an unneeded 'if'
tweaks: when appropriate, move starting point of justified region back
tweaks: when extending the marked region, include also exotic blanks
tweaks: when undoing an addition or redoing a deletion, do not reallocate
undo: do not mark the buffer as modified when pasting back nothing
undo: do not try to copy a cutbuffer that is NULL
undo: do not try to paste back an empty cutbuffer
undo: for an automatic hard-wrap, store the correct previous buffer size
undo: store the cursor row, for redoing filtering & justification better
undo: treat a cut-until-end-of-buffer like a backward marked region
undo: use the correct original fusion point when unjoining two lines
undo: when undoing a paste or an insertion, remove an added magic line
usage: improve the description of --softwrap
Neal Gompa (1):
syntax: spec: add some keywords that were added in RPM 4.15 and 4.13
Saagar Jha (1):
rcfile: fix an out-of-bounds read on empty lines
Changes between v4.7 and v4.8:
------------------------------
Benno Schulenberg (166):
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 bulleted 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
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 tighter
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
Brand Huntsman (2):
input: beep when invalid key is pressed at yesno prompt or in linter menu
input: recognize the start and stop sequences of a bracketed paste
Changes between v4.6 and v4.7:
------------------------------
Benno Schulenberg (39):
build: add the uploading of PDF and cheatsheet to the release script
build: avoid three compiler warnings when using gcc-9.2 or newer
build: fix compilation for --enable-tiny --enable-wrapping
build: fix compilation on macOS, where 'st_mtim' is unknown
build: fix compilation when configured with --disable-justify
bump version numbers and add a news item for the 4.7 release
display: don't color the space that separates line numbers from text
docs: add or improve the 'description' meta tag in the two HTML pages
docs: add the 'lang' attribute in the right place to the two HTML pages
docs: mention that all keywords in a nanorc file should be in lowercase
docs: mention that a negative number after "+" counts from the end
gnulib: update to its current upstream state
input: make <Tab> indent only when mark and cursor are on different lines
justify: distinguish between tabs and spaces when comparing indentation
justify: treat consecutive indentations that look the same as the same
linter: beep when trying to go beyond first or last message
rcfile: accept also function names and menu names only in lowercase
rcfile: accept only keywords in all lowercase, for speed of comparison
rcfile: demand that function 'exit' is bound in the file browser
syntax: nanohelp: colorize also ^/ as a possible keystroke
syntax: sh: recognize shell rc files also in dedicated directories
tweaks: avoid using strlen() where it is not needed
tweaks: drop M-Space and ^Space from the browser's key list
tweaks: improve two comments and the ordering of some operands
tweaks: move three functions to the file where they are used
tweaks: optimize the trimming of trailing whitespace
tweaks: remove a stray space
tweaks: rename a function, to get out of the way for another rename
tweaks: rename a function, to get rid of a useless suffix
tweaks: reshuffle a few lines, for brevity or speed or consistency
tweaks: reshuffle a few lines, for symmetry with the preceding function
tweaks: reshuffle a fragment of code, for efficiency
tweaks: reshuffle and rename a few things, to elide duplication
tweaks: reshuffle an item, to avoid a lone 'else'
tweaks: reshuffle two declarations, for compactness
tweaks: slightly streamline the search for a possible wrapping point
tweaks: trim or adjust some whitespace in HTML, and add two keywords
tweaks: unwrap a few lines, and move some strings to among their peers
wrapping: never break in the quoting part nor in the indentation part
Changes between v4.5 and v4.6:
------------------------------
Benno Schulenberg (128):
bindings: allow to rebind ^/, even though it is synonymous with ^_
bindings: don't hard-bind ^H in the help viewer or the file browser
bindings: the 'all' keyword should encompass the browser menu too
bindings: the 'all' keyword should include the browser menu always
build: fix compilation for --enable-tiny --enable-histories
build: fix compilation when configured with --disable-color
build: slightly speed up the compilation of the tiny version
bump version numbers and add a news item for the 4.6 release
chars: add a faster version of the character-parsing function
commands: rename 'fixer' to 'formatter', to be less misleading
cutting: do nothing when trying to chop a word leftward at start of file
display: do refresh the edit window when exiting from the help viewer
docs: add a note saying that rebinding ^M or ^I is not advisable
docs: add the M-F and M-N keystrokes to the cheatsheet
docs: adjust the compilation instructions to two-digit version numbers
docs: correct the description of the 'spell' menu
docs: document the 'fixer' command, a per-syntax content arranger
docs: mention that color rules are applied in the order they are listed
docs: mention that 'hunspell' is now the first default spelling program
docs: mention that the 'nopauses' option is obsolete
docs: remove some excessive detail from the sample nanorc file
docs: remove the note about the formatter having been removed
feedback: say it when spell check or manipulation did not change anything
files: distinguish between read error and write error when prepending
files: don't mention the name of the temp file when reading goes wrong
files: when opening a file for copying, it should NOT be created
formatter: accept the formatted result also upon a nonzero exit status
formatter: don't let output from the program pollute the screen
gnulib: update to its current upstream state
history: don't wait when there is something wrong with the history files
linter: report it as an error when running the linting program fails
rcfile: allow binding also F17...F24
rcfile: process extensions to file-matching commands straightaway
restored feature: a per-syntax 'fixer' command that processes the buffer
softwrap: when switching to another buffer, re-align the starting column
speller: prefer 'hunspell' over 'spell', because it can handle UTF-8
speller: when 'spell' is not found, try running 'hunspell -l' instead
statusbar: show only the first error message, with dots to indicate more
syntax: c: recognize some C++ header files by their Emacs modeline
syntax: default: don't colorize stuff between two pairs of brackets
syntax: html: add a formatter command, making use of 'tidy'
syntax: html: colorize only full attributes, and colorize strings later
syntax: javascript: colorize also special values 'null' and 'undefined'
syntax: javascript: colorize the boolean values 'true' and 'false' too
syntax: nanorc: colorize all arguments of 'fixer' and 'linter' as valid
syntax: nanorc: colorize in bright red everything that is invalid
syntax: nanorc: colorize only lowercase keywords as valid
syntax: nanorc: colorize the 'fixer' command as valid
syntax: ruby: colorize also lowercase global/instance variables
syntaxes: put the 'linter' and 'formatter' commands on a separate line
tweaks: add a helper function without the ubiquitous NULL argument
tweaks: add a local variable, for clarity, to not preuse another one
tweaks: add some "fall-through" comments, and reshuffle some breaks
tweaks: add two translator hints
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change, and another
tweaks: adjust two comments, to better fit the actual functions
tweaks: avoid setting and resetting a variable when there is no need
tweaks: avoid three unneeded calls of umask() in the normal case
tweaks: be explicit about which program complained
tweaks: check the return value of copy_file() also after its other uses
tweaks: close the unused reading ends of two more output pipes
tweaks: condense a fragment of code by making use of a helper function
tweaks: condense or improve some comments
tweaks: condense two comments, and rename two parameters
tweaks: condense two comments, and rewrap a line
tweaks: correct a comment, and retype a variable
tweaks: die on an impossible condition -- to be removed later
tweaks: don't do in the parent something that only the child needs
tweaks: don't wrap calls of statusline() that slightly overshoot 80 cols
tweaks: drop the unneeded closing of descriptors when exiting anyway
tweaks: elide a duplicate opening of the existing file when prepending
tweaks: elide a function call for the plain ASCII case
tweaks: elide another two calls of umask(), and rename two variables
tweaks: elide an unneeded and leaky function
tweaks: elide an unneeded check when making a backup
tweaks: elide a variable, and add a condition to elide an assignment
tweaks: elide a variable that is the same as another
tweaks: exclude two fragments of code from the tiny version
tweaks: fuse two regexes into one
tweaks: group the closing of descriptors together, for compactness
tweaks: group the closing of two descriptors, and reword two comments
tweaks: harmonize a message with another
tweaks: improve some comments, and trim some repetitive ones
tweaks: make a function do a check so its calls don't need to
tweaks: mark two strings for translation
tweaks: move a call of umask() closer to where it is relevant
tweaks: move two functions to after the one that they make use of
tweaks: normalize the indentation after the previous change
tweaks: order two functions more sensibly
tweaks: pass an empty string as an answer instead of a NULL pointer
tweaks: pass an empty string for copying instead of a non-existent one
tweaks: pass any special undo/redo messages to the add_undo() function
tweaks: remove a pointless updating of the title bar
tweaks: remove a redundant check for an existing emergency file
tweaks: remove the superfluous closing of a file descriptor
tweaks: remove two pointless re-inclusion guards
tweaks: remove two superfluous conditions when prepending
tweaks: rename a function and add a parameter, so it becomes more general
tweaks: rename a function, and elide a parameter that is always NULL
tweaks: rename a function and elide its first parameter
tweaks: rename a local variable, to not shadow another
tweaks: rename a variable, to be a bit more fitting
tweaks: rename a variable, to be distinct and visible
tweaks: rename three variables, and reshuffle some lines
tweaks: rename three variables, to be consistent with other linestructs
tweaks: rename three variables, to be more descriptive
tweaks: rename three variables, to match others elsewhere
tweaks: rename two parameters, for contrast and to match others
tweaks: rename two parameters plus a variable, to match others
tweaks: rename two variables, and add a third, for more contrast
tweaks: reshuffle a few declarations, and reduce the scope of one
tweaks: reshuffle a fragment of code into two alternatives
tweaks: reshuffle an 'if' to avoid a negation, and improve a comment
tweaks: reshuffle some declarations, and rename a variable
tweaks: reword an undo/redo string that was overlooked during the rename
tweaks: silence a warning when configured with --enable-tiny
tweaks: simplify the opening of files when prepending
tweaks: slightly reword some fragments in the manual's rebinding section
tweaks: use a better variable name for the argument of an option
tweaks: use a literal NULL instead of a variable that is NULL
tweaks: use a simpler positive/negative check for after copy_file()
tweaks: use a string-copy function that checks for out-of-memory
tweaks: use the given string instead of the found match, for clarity
undo: don't try to copy a string that doesn't exist
undo: put the cursor back on the original row for a full-buffer operation
utils: don't accept NULL for the string to be copied
Jeroen Roovers (1):
syntax: gentoo: highlight the BDEPEND variable as well
Changes between v4.4 and v4.5:
------------------------------
Benno Schulenberg (60):
bindings: add a dedicated keycode for <Tab> for when a region is marked
bump version numbers and add a news item for the 4.5 release
color: don't concatenate an absolute path with the working directory
docs: add two examples of the 'tabgives' command to the sample nanorc
docs: describe the new syntax-specific 'tabgives' command
docs: mark the undoing of justifications as done in the TODO list
docs: mention that gcc must be at least version 5.0
gnulib: update to its current upstream state
mouse: make the clickable width of menu items more consistent
new feature: a 'tabgives' command to define what the Tab key produces
search: after search-at-startup, store the column (for vertical movement)
tweaks: add a translator hint, and correct two others
tweaks: add some translator hints, be more precise on permissible length
tweaks: add two hints for translators, to try and help avoid mistakes
tweaks: adjust indentation after previous change, reshuffle declarations
tweaks: avoid a comparison between signed and unsigned [coverity]
tweaks: avoid leaking memory when finding an invalid string [coverity]
tweaks: avoid recomputing a maximum value every time round the loop
tweaks: don't burden all menus with something meant for the WriteOut menu
tweaks: elide a function from a non-UTF8 build
tweaks: elide two multiplications with something that is always 1
tweaks: frob a few comments
tweaks: improve a bunch of comments, and reshuffle some declarations
tweaks: improve a handful of comments, and reduce the needed padding
tweaks: mark as 'const' a parameter that takes fixed strings [coverity]
tweaks: meld two calls of free() into a single one, to elide an 'else'
tweaks: move a fragment of common code into the appropriate function
tweaks: move a function to a better file, to be amongst its kind
tweaks: move a function to before its callers and next to its kind
tweaks: move two functions to after the ones that they call
tweaks: remove some timing code that has served its purpose
tweaks: remove two superfluous macros, as sizeof(char) is always 1
tweaks: rename a function, to be a bit more fitting
tweaks: rename another type, again to better fit the general pattern
tweaks: rename another type, to also better fit the general pattern
tweaks: rename another variable, for a better fit
tweaks: rename a type, to better fit the general pattern
tweaks: rename a variable, normalize a comment, and reshuffle a free()
tweaks: rename a variable, to be more compact
tweaks: rename three variables, for contrast and more sense
tweaks: rename three variables, for more contrast
tweaks: rename three variables, to better indicate what they hold
tweaks: rename two variables, away from single letters
tweaks: rename two variables, to better describe what they contain
tweaks: reshuffle a fragment, to group some toggles together
tweaks: reshuffle a line, to group things better
tweaks: reshuffle some lines, to elide an unneeded assignment
tweaks: reshuffle some lines, to have the same order as elsewhere
tweaks: reshuffle two fragments, to group things better
tweaks: rewrap a line, reshuffle a declaration, and improve some comments
tweaks: simplify a calculation, as done elsewhere
tweaks: simplify the determination of a canonical path
tweaks: sort two keywords strictly alphabetically
tweaks: speed up determining the width of plain ASCII characters
tweaks: speed up the counting of the menu entries to be shown
tweaks: use a more efficient way to skip storing an empty file name
tweaks: use an early return when there is no tilde
tweaks: use 'void' in prototypes of parameterless functions [coverity]
usage: mark the -J/--guidestripe option plus argument as translatable
usage: properly align --help output also when it has accented characters
Brand Huntsman (1):
search: accept a match at start of file when searching from command line
Dirkjan Ochtman (1):
syntax: rust: add the words reserved in 2018, and remove unreserved ones
Changes between v4.3 and v4.4:
------------------------------
Benno Schulenberg (53):
browser: draw a bar of spaces only where needed -- for the selected item
build: exclude the search-at-startup feature from the tiny version
bump version numbers and add a news item for the 4.4 release
copying: do not prevent M-6 from copying emptiness into the cutbuffer
display: blank the status bar on a successful cut or paste
display: clear the remainder of a row only when there actually is some
display: don't clear a row beforehand -- just clear the remainder
display: use a somewhat faster method to clear a row
display: when linenumbering, correctly spotlight text that spans two rows
display: where needed, use slow blanking, but elsewhere do it much faster
docs: change a few URLs over to https, and rewrap a couple of NEWS items
docs: document the search-at-startup feature (+/string or +?string)
docs: make the synopsis of --speller and 'set speller' more accurate
docs: mention the M-N toggle instead of the obsolete M-# one
docs: slightly reword some of the descriptions around syntax highlighting
docs: slightly reword the descriptions of most configure options
docs: stop mentioning the 'unjustify' function, as it no longer exists
gnulib: update to its current upstream state
new document: a condensed overview of nano's shortcut keystrokes
new feature: allow specifying a search string to "jump to" at startup
rcfile: properly handle an empty syntax before an 'include' statement
scrolling: don't overscroll when the edit window has just one row
search: don't wipe the status bar at startup when there was an error
search: wipe the status bar before searching again (M-W / M-Q)
syntax: c: allow an underscore in lowercase type names
syntax: default: colorize bracketed section headers in some config files
syntaxes: change some unneeded 'icolor' commands to 'color' commands
syntaxes: recognize .ctp extension as a PHP file, and .cu as a C/C++ file
syntax: perl: avoid recognizing embedded hash signs as a comment starter
syntax: perl: avoid upsetting older glibcs with crafty range expression
syntax: perl: don't color the character after a variable name
syntax: po: colorize numbers only when they form a self-contained word
text: copy leading quote characters when automatic hard-wrapping occurs
tweaks: add a translator hint, to clarify four short words
tweaks: call the correct lighting function directly when softwrapping
tweaks: condense some comments, and drop two unneeded initializations
tweaks: drop two parameters that are no longer needed
tweaks: improve a comment, and drop a superfluous one
tweaks: improve a handful of comments
tweaks: make a function name unique, to not overlap with others
tweaks: move a call from two different places to a single place
tweaks: move a function to before the first one that calls it
tweaks: move a general function to a better place
tweaks: remove a saving and restoring that has become superfluous
tweaks: rename a function, to suit better, and reshuffle its parameters
tweaks: rename a parameter in three functions, to say what it points to
tweaks: reshuffle an assignment, and trim some excessive blank lines
tweaks: reshuffle an 'if' out of a function, and rename the function
tweaks: reword and condense two comments, and correct another
tweaks: rewrap two lines, and reshuffle some logic to make more sense
tweaks: shorten two messages that translators tend to make too long
tweaks: try the allocation of a multidata cache just once per line
tweaks: when precalculating, allocate all the cache space upfront
Brand Huntsman (3):
rcfile: for an empty syntax, show the line number of the 'syntax' command
rcfile: report the correct command location for an invalid 'include'
search: accept toggles for case and regex when searching at startup
Changes between v4.2 and v4.3:
------------------------------
Benno Schulenberg (235):
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 viewer
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 character
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 ASCII
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 copying
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 justifying
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.0
feedback: don't clear off possible error messages after a spell check
feedback: don't try to represent keys outside of the seven-bit range
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 interrupted
feedback: show an appropriate message when reading a file was cut short
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 count
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 Ctrl+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 append
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 file
files: try matching a syntax after scooping data from standard input
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-text 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 console
help: make the column for the first keystroke a little wider
help: write the text directly into a new buffer, without using a tempfile
justify: remove "--" from the quoting regex, to avoid false paragraphs
oops: apparently the line numbers in the cutbuffer do matter
rcfile: at terminating points, verify that a defined syntax is not empty
rcfile: check for missing color commands only when a syntax is still open
rcfile: close off a syntax when a non-syntax command is encountered
rcfile: disallow extending a syntax that is defined in a main nanorc
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 opened
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 input
startup: resave the terminal's state only when there were no signals
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 lines
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 label
tweaks: consistently report failures to fork (and the like) as errors
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 shrunk
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 regexes
tweaks: drop most of the remaining debugging code, and some timing code
tweaks: drop some checks that were made redundant by the previous commit
tweaks: drop two checks that were made redundant by the previous commit
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 braces
tweaks: elide two unneeded variables
tweaks: enforce the minimum 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 handler
tweaks: improve a couple of comments
tweaks: improve a handful of comments
tweaks: improve some comments, reshuffle a line, and rename a variable
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 others
tweaks: make better use of two variables, and reshuffle two comments
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 forward
tweaks: move a syntax check to a better place, to reduce duplication
tweaks: move the tidying-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 single 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 it
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 symmetry
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 abbrev
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 consistently
tweaks: rename a variable, reshuffle declarations, and drop an assert
tweaks: rename a variable, to be shorter
tweaks: rename a variable, to better indicate it contains two characters
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 contrast
tweaks: rename some single-letter variables to the same significant word
tweaks: rename three variables, to get rid of a suffix or an underscore
tweaks: rename three variables, to use full words instead of abbrevs
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 alike
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 first
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 handler
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 byte
tweaks: stop allocating and freeing a holder struct for every cut/paste
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 help)
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 size
zapping: disjoin a zap command from earlier ones when the mark is set
zapping: use the 'keep_cutbuffer' logic to keep undo items apart
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
Changes between v4.1 and v4.2:
------------------------------
Benno Schulenberg (23):
build: be more specific and avoid committing accidentally changed files
bump version numbers and add a news item for the 4.2 release
docs: put the 'set guidestripe' option into its alphabetical position
options: make --breaklonglines work also when --ignorercfiles is used
speller: do not crash by trying to free something that cannot be freed
tweaks: adjust a few comments and some indentation
tweaks: condense and improve a handful of comments
tweaks: declare a function as const and let its allocated string leak
tweaks: drop an unneeded saving and restoring of a variable
tweaks: elide an unneeded intermediate variable
tweaks: elide an unneeded parameter, as the function already assumes it
tweaks: elide an unneeded variable
tweaks: exclude a bit more code from a single-buffer build
tweaks: remove an unneeded condition
tweaks: remove a redundant, enclosed #ifdef
tweaks: rename a function, to be distinct and fitting
tweaks: rename another function, to be distinct and fitting
tweaks: rename a variable, for a little more meaning
tweaks: rename a variable, to distinguish it from a browser function
wrapping: add a missing space only when the remainder will be prepended
wrapping: compute the width of a succeeding line in the correct manner
wrapping: improve the persistence of the prepending behavior
wrapping: trim any trailing blanks when cursor goes to next line
Changes between v4.0 and v4.1:
------------------------------
Benno Schulenberg (85):
bindings: add easier keystrokes for the linenumber and softwrap toggles
bindings: disallow executing an external command when in view mode
bindings: recognize the ^W^Y and ^W^V legacy keystrokes again
bindings: remove the jumpy-scrolling toggle entirely
build: add gnulib modules to the list of files with translatable strings
build: add src/cut.c to the list of files with translatable strings
build: don't do fuzzy matching when merging PO files against the POT file
build: remove obsolete translations from the PO files after merging
bump version numbers and add a news item for the 4.1 release
display: report and catch a bad state, to prevent a possible hang
docs: for two of the toggles, mention the new instead of the old option
docs: give the FILES section in the man page its canonical title
docs: mention that -b is the opposite of -w also in the latter's item
docs: mention that M-S now toggles softwrap and M-N line numbers
docs: put paths and filenames in italics, per 'man man-pages'
docs: remove all mention of --finalnewline, and undefault --nonewlines
docs: remove the AUTHOR section, per advice from 'man man-pages'
docs: re-title the temporary section about the changed defaults
feedback: replace an assert with a check plus error message at startup
feedback: show a message while executing an external command
feedback: spare the user a superfluous scaring when trying to exit
gnulib: update to its current upstream state
help: don't doubly list toggles that have two keys assigned to them
indenting, commenting: ensure a partial line stays displayed properly
justify: correctly compute the number of lines to take, to avoid a crash
options: make --nowrap override again a contrary nanorc setting
options: remove -f (--finalnewline); go back to auto-adding this newline
rcfile: don't break a chain of 'else if' [scan-build]
rcfile: read the syntax files in alphabetical order when globbing
speller: block the resizing signal again during an external spell check
speller: block the resizing signal also during an integrated spell check
speller: resizing can happen also when configured with --enable-tiny
syntax: c: color as a type any lowercase word that ends with "_t"
syntax: default: color in red also versions 4.x of nano
syntax: man: add comments, and color all the safe lowercase macros
syntax: man: anchor macros at start of line, as only then they are valid
syntax: man: require the dot to be at start of line, not the comment
syntax: nanorc: colorize also strings preceded by 'start=' or 'end='
syntax: nanorc: require whitespace both before and after a quoted string
tweaks: adjust the indentation after the previous change
tweaks: condense a bit of copying code
tweaks: consistently use .sp instead of .PP to insert a blank line
tweaks: do a check up front instead of every time round the loop
tweaks: don't bother copying the NUL byte -- it is set nine lines down
tweaks: don't bother reallocating the data when a line gets hard-wrapped
tweaks: don't bother reallocating the squeezed string, just terminate it
tweaks: don't bother special-casing non-UTF8 when seeking a character
tweaks: drop an assignment whose value is never used [scan-build]
tweaks: drop two 'const' qualifiers, to silence the compiler
tweaks: free some memory before a possible error exit [coverity]
tweaks: free the copy of a linter message in all cases [valgrind]
tweaks: free the result string from an invocation error [coverity]
tweaks: initialize a boolean before it is referenced [valgrind]
tweaks: put the unblocking of SIGWINCHes in a better place
tweaks: remove a function that is now unused
tweaks: remove an unneeded check for NULL and its associated message
tweaks: remove an unneeded check for NULL [coverity]
tweaks: remove an unpaired closing parenthesis from the NEWS file
tweaks: remove a superfluous check for NULL plus the associated message
tweaks: remove several unneeded bad-state checks and their messages
tweaks: rename a cryptic type to something that makes a little sense
tweaks: rename a function plus parameter, to stay closer to what it does
tweaks: rename another variable, to be more descriptive
tweaks: rename another variable, to be more fitting
tweaks: rename an overshort type to something that makes some sense
tweaks: rename a variable, to be more distinct and more apt
tweaks: rename a variable, to be more distinct and more descriptive
tweaks: rename a variable, to get out of the way for another rename
tweaks: rename some variables, for more contrast and to match others
tweaks: rename some variables, to be less repetitious
tweaks: rename two variables, for more contrast
tweaks: rename two variables, to be more distinct and more fitting
tweaks: rename two variables, to make more sense
tweaks: rename two variables, to match others
tweaks: reshuffle some lines, condense a comment and drop another
tweaks: reshuffle some lines, to elide an 'if'
tweaks: reshuffle two lines, and reword a comment
tweaks: reword a comment, and drop an unneeded assert
tweaks: shorten a comment to its essence
tweaks: shorten and improve some comments, and reshuffle a few lines
tweaks: simplify a message, and normalize the spelling of another one
tweaks: stop doing tandem assignments (one passing through the other)
tweaks: switch back from checking FINAL_NEWLINE to checking NO_NEWLINES
tweaks: use a signed type for a result that could be negative [coverity]
unindent: ensure that a partial line gets displayed properly afterwards
Brand Huntsman (1):
files: block the resizing signal while reading from an external command
Devin Hussey (1):
files: initialize a variable before referencing it
Liu Hao (1):
syntax: c: change the highlighting of preprocessor directives
Changes between v3.2 and v4.0:
------------------------------
Benno Schulenberg (190):
bindings: change the action of <Alt+Up>/<Alt+Down> to 'scroll linewise'
bindings: hard-bind ASCII code 0x08 (BS) to the backspace function
bindings: make the normal scrolling keystrokes work also in help viewer
bindings: provide usable shortcuts for prevword/nextword in tiny version
bindings: rename 'cutwordleft' to 'chopwordleft', and similar for right
browser, help: make <Bsp> page up also when terminfo mismatches terminal
browser: say "Close" instead of "Exit" for the ^X shortcut
browser: show the ^G item again in the help lines
build: eradicate the --disable-wrapping-as-root configure option
build: fix compilation when configured with --disable-utf8
build: use wget over https (instead of plain rsync) to fetch PO files
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 anything
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 stripe
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 VTE bug
display: ensure that spotlighted text is not treated as a prompt answer
display: highlight the ">"/"<" continuation characters in reverse video
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 softwrapping
display: show it in title bar when starting up in restricted mode
display: use non-breaking space instead of dot for VTE-bug workaround
docs: add notes to draw attention to the changed defaults
docs: adjust and extend the Pico-compatibility section in the manual
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 nowrap
docs: describe breaklonglines, emptyline, finalnewline, jumpyscrolling
docs: describe the four new options (-b, -f, -j, -e)
docs: describe the new options -J, --guidestripe, and 'set stripecolor'
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 ignored
docs: mention that 'quotestr' enables the rewrapping of comment blocks
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 <Delete>
docs: stop implying that nano wants to be fully compatible with Pico
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 buffers
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 output
help: don't list the unbound <Alt+Up> and <Alt+Down> in the tiny version
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-Line
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 junk
options: rename long version of -K from --rebindkeypad to --rawsequences
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
prompt: trim a double-width character at the screen's edge
rcfile: add 'stripecolor' for changing the color of the guiding stripe
rcfile: add the options that correspond to -b, -f, -j, and -e
rcfile, docs: remove deprecated forms of two options and five bindables
rcfile: don't report an error when the globbing pattern matches nothing
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 function
startup: check again for a Linux console after reading all files
startup: check that a backup directory is valid also when backups are off
startup: improve two error messages by mentioning the invalid operand
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 parameter
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 blank
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 justify
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 clarity
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 elsewhere
tweaks: move declaration of variable that does not need to be global
tweaks: move the character/word-deletion functions to a better location
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 variable
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 shortness
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 word
tweaks: rename a parameter plus a variable, and reshuffle an assignment
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 word
tweaks: rename some variables, to match others that have the same task
tweaks: rename three functions and two symbols, to match the new wording
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 comparisons
tweaks: reshuffle a bit of code, to have the exit point near the end
tweaks: reshuffle a few lines, and condense some comments
tweaks: reshuffle and frob a couple of comments, and reindent two lines
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 directly
tweaks: slightly indent warnings and errors during the configure phase
tweaks: slightly reword, for esthetics of the resulting Info document
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_SCROLLING
tweaks: switch from referencing NO_NEWLINES to referencing FINAL_NEWLINE
tweaks: switch from referencing NO_WRAP to referencing BREAK_LONG_LINES
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
Brand Huntsman (1):
history: use an unfreed 'position_history' to avoid a possible crash
David Lawrence Ramsey (34):
display: correctly trim an overshooting character from a prompt answer
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 characters
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 the lead
moving: make the generic paragraph movement functions work on any buffer
new feature: marked text gets justified into a single, new paragraph
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 justify
tweaks: adapt find_paragraph()/justify_paragraph() for multiple quotes
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 it
undo: set and check 'xflags' in a bitwise manner
undo: when undoing a cut, remove also the magicline if it added one
======================================================================
For older changes, see in https://ftp.gnu.org/gnu/nano/nano-5.0.tar.xz
======================================================================