commit 623ff4e1ed6fdbecf90e8a2ba6358ca905bc7684
parent 260f00c76d198c0ff491e4e0bda606c1aa9d4f41
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Sat, 9 Mar 2024 17:18:04 +0100
docs: trim stuff that is more than five years old from the changelog
A detailed list of changes is useful for a small number of users only,
and only when the changes are fairly recent.
The NEWS file, that contains a summary of user-visible changes and
will be useful for a larger number of users, is distributed in full.
Diffstat:
M | ChangeLog | | | 2364 | ------------------------------------------------------------------------------- |
1 file changed, 0 insertions(+), 2364 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -2855,2370 +2855,6 @@ David Lawrence Ramsey (34):
undo: when undoing a cut, remove also the magicline if it added one
-Changes between v3.1 and v3.2:
-------------------------------
-
-Benjamin Mintz (1):
- syntax: python: do not highlight 'print' and 'exec' in Python 3
-
-Benno Schulenberg (87):
- bindings: allow using <Enter> to exit from the linter
- bindings: allow using ^X to exit from the linter
- bindings: drop M-| as a keystroke for 'cutwordleft' -- set it free again
- bindings: in tiny version with help, don't show unfunctional M-◀ and M-▶
- bindings: make <Alt+Up> and <Alt+Down> work also on a Linux console
- bindings: make the linter separately accessible, through M-B by default
- bindings: make the Shift+arrow keys work by default on more terminals
- bindings: no longer bind F13 and F14 and F15
- bindings: recognize ASCII DEL as backspace also in viewer and browser
- bindings: recognize <Ctrl+Shift+Delete> also on a Linux console
- bindings: rename 'prevhistory' to 'older' and 'nexthistory' to 'newer'
- bindings: stop binding <Bsp> to do_backspace() in the browser menu
- bindings: when implanting a string, make sure to use positive values
- build: exclude scrolling functions only from tiny version without help
- build: fix compilation again when configured with --enable-tiny
- build: fix compilation when configured with --disable-multibuffer
- build: verify that --enable-tiny compiles before allowing a release
- bump version numbers and add a news item for the 3.1 release
- debug: report for which modified editing keys ncurses has no keycode
- display: correct a mistaken label in the help lines of the browser
- display: ensure that the help lines are shown when in linting mode
- display: let the title bar show when nano is in linting mode
- display: show the cursor also in a help text (when --showcursor is used)
- display: use a different color when showing a linting message
- docs: document the slightly changed workings of the --view option
- docs: give suggestions for alternative key bindings in the sample nanorc
- docs: remove a no-longer-needed suggestion from the sample nanorc
- docs: update the description of -R/--restricted, as it now reads nanorc
- docs, usage: mention that --showcursor now covers help texts too
- feedback: give proper message for ^R when combining --view & --restricted
- gnulib: update to its current upstream state
- help: add a relevant explanatory text for the linter
- help: move the linter to the end, to restore pairing in the help lines
- help: pull "Older" and "Newer" into view on an 80-column terminal
- help: restore the blank line between manipulation and position stuff
- help: show <PgUp> and <PgDn> instead of F7 and F8 for pagewise scrolling
- help: show the keystroke <Ctrl+Shift+Delete> as "Sh-^Del"
- linter: allow using <Ctrl+Up> and <Ctrl+Down> to jump to other message
- linter: do not pause when there are no messages for unopened files
- linter: for "first"/"last", reshow actual message after a short pause
- options: --ignorercfiles is now available in restricted mode
- options: let view mode activate "multibuffer" to allow viewing more files
- speller: remove a pointless message -- it is never seen
- startup: allow reading nanorc in restricted mode, to permit customization
- syntaxes: remove several redundant end-of-line anchors from regexes
- tweaks: add a comment, and correct an indentation
- tweaks: add two more translator hints
- tweaks: capitalize the word "nano" when at the start of a sentence
- tweaks: change a bunch of URLs to use 'https' instead of 'http'
- tweaks: condense a handful of comments, and drop an assert
- tweaks: condense another bit of code
- tweaks: define a symbol to make the code itself a little simpler
- tweaks: don't bother asking ncurses for keycodes for shifted Left/Right
- tweaks: drop a check for the needle (the search string) being empty
- tweaks: drop the checking of two flags that can no longer be toggled
- tweaks: elide a function that is used just once and is a oneliner
- tweaks: elide a wrapper function that is no longer useful
- tweaks: exclude word-deletion keystrokes from the tiny version
- tweaks: fold a few pairs of regexes into each other
- tweaks: group a series of related variables together
- tweaks: improve two comments, and reshuffle a line for consistency
- tweaks: include an extra function call only where it is needed
- tweaks: move all the function keys to the end of the shortcuts list
- tweaks: move some calls of edit_redraw() to where they are needed
- tweaks: redefine MMOST to exclude MBROWSER, to simplify the bindings
- tweaks: reduce some repetitious and superfluous comments to just one
- tweaks: remove a check that was made redundant by the previous commit
- tweaks: remove a now-unused parameter from four functions
- tweaks: remove an unneeded check for NULL, and rename a parameter
- tweaks: remove a stray file that was accidentally committed
- tweaks: remove some old debugging code
- tweaks: rename a bunch of variables, to make it clearer what they contain
- tweaks: rename a flag, to match the name of the option
- tweaks: rename a variable, to be a bit more fitting
- tweaks: renumber a couple of symbols, and reshuffle a bit of code
- tweaks: reorder some code to put backward motion before the forward one
- tweaks: reshuffle a couple of conditions, to group things better
- tweaks: reshuffle some conditions, putting the least likely one first
- tweaks: reshuffle some lines to get standard order (first up, then down)
- tweaks: reshuffle some lines, to put things in order of option name
- tweaks: snip trailing whitespace that ended with a non-breaking space
- tweaks: stop setting and requiring the Meta flag for special keycodes
- tweaks: swap and reword two bullet points in the rnano manpage
- tweaks: there is no reason to block SIGWINCHes while waiting for speller
- undo: move another piece of checking to the two places that need it
- undo: move some special checking code to the one place that needs it
- wrapping: make the --fill option override 'set fill' again
-
-Brand Huntsman (5):
- bindings: hard-bind the zap function to M-Del (Alt+Delete)
- display: make all dying messages end in a newline
- linter: throttle "first"/"last" message on repeated key presses
- new feature: a bindable 'zap', to erase text without changing cutbuffer
- options: add --zap, that makes <Bsp> and <Del> erase a marked region
-
-David Lawrence Ramsey (16):
- display: do spotlighting as part of drawing the screen
- docs: update rnano manpage, as -R/--restricted now reads nanorc
- input: don't detect <Ctrl+Shift+Delete> on Linux console in tiny version
- input: properly consume a modified Delete key also in the tiny version
- input: properly recognize Alt+Delete when using -K/--rebindkeypad
- input: recognize some escape sequences for <Shift+Delete>
- speller: restore the mark coordinates slightly later
- syntax: nanohelp: properly color the keystroke "Sh-^Del"
- tweaks: don't define controldelete or controlshiftdelete in tiny version
- tweaks: join two lines, and add a clarifying comment
- tweaks: move the justifying of a single paragraph into its own function
- tweaks: normalize the indentation of the shuffled code
- tweaks: reshuffle some code to avoid several checks for having justified
- tweaks: simplify by using a 'do/while' loop instead of 'while (TRUE)'
- weeding: remove the 'active' parameter from spotlight()
- wrapping: make relative fill values work again also for screen resizes
-
-
-Changes between v3.0 and v3.1:
-------------------------------
-
-Benno Schulenberg (13):
- bindings: bind ASCII DEL during startup instead of repeatedly at runtime
- bindings: make ^H rebindable also on NetBSD, FreeBSD and macOS
- bindings: when Ctrl+Shift+Delete has no keycode, don't use KEY_BSP
- bump version numbers and add a news item for the 3.1 release
- input: keep the cursor in edit window after message, also on NetBSD
- input: recognize the sequences for Ctrl+Shift+Delete on xterm and urxvt
- main: allow toggling all editor features when in view mode
- suspension: don't try to show the cursor position when going to sleep
- syntax: sh: let the header regex match also busybox shell scripts
- tweaks: condense a bit of code
- tweaks: remove a superfluous comment and a redundant assignment
- tweaks: rename a variable to be special and distinct
- tweaks: sharpen an optimization, to allow DEL to be a shortcut
-
-Liu Hao (1):
- search: disallow switching to the Replace prompt when in view mode
-
-
-Changes between v2.9.8 and v3.0:
---------------------------------
-
-Benno Schulenberg (113):
- bindings: bind M-Q to 'findprevious' by default, and M-W to 'findnext'
- bindings: hard-bind <Ctrl+Shift+Delete> to 'cutwordleft'
- bindings: make ^Q and M-Q available also in the help viewer
- bindings: move the noconvert toggle from the main to the insert menu
- bindings: reassign the M-| keystroke to 'cutwordleft' by default
- bindings: remove backup and new-buffer toggles (M-B, M-F) from main menu
- bindings: remove the More-Space toggle entirely
- bindings: remove the 'searchagain' function entirely
- bindings: rename two bindable functions: copytext to copy, uncut to paste
- bindings: unassign the M-? keystroke, to free it up for future use
- build: add the release script to the repository
- build: fix compilation again when configured with --enable-tiny
- build: fix compilation when configured with --enable-tiny
- build: verify that 'msgfmt' is available when building from git
- bump version numbers and add a news item for the 3.0 release
- chars: make the UTF-8 case ever so slightly faster by eliding an 'if'
- chars: speed up the counting of string length for the plain ASCII case
- chars: speed up the parsing of a character for the plain ASCII case
- completion: when the cursor is not after a word fragment, say so
- cut: concentrate the logic for clearing the cutbuffer mostly in one place
- cutting: when deleting whole words, don't join lines unexpectedly
- debug: add some code to time the performance of get_totsize()
- docs: improve a comment about rebinding <Backspace>
- docs: mention that also Ctrl increases the stride when selecting text
- docs: mention that "normal" can be used to give things the default color
- docs: mention that the 'formatter' command has been superseded
- docs: reshuffle a bindable function to a slightly better position
- docs: say that 'cutwordright' is now bound to <Ctrl+Delete> by default
- docs: slightly reword the description of four bindable functions
- docs: the 'noconvert' bindable function was renamed to 'flipconvert'
- dropping a feature: remove the ability to use the 'formatter' command
- easter: show the crawl only when there is room enough for the lines
- files: add the file format on the status bar when switching buffers
- filtering: wait for the data-sending process to terminate too
- gnulib: update to its current upstream state
- help: for ^R^X, mention that the buffer can be piped to the command
- help: move "Search Again" away from "Find Next" and "Find Previous"
- input: consume the whole escape sequence for modified PgUp and PgDn keys
- input: fully consume modified PgUp and PgDn keys also in the tiny version
- input: ignore any <Escape>s before a valid command keystroke
- input: stop <Alt+Insert> from entering "3~" into the buffer
- input: stop a modified Delete key from entering stuff into the buffer
- mouse: put the row/column arguments in the proper order [coverity scan]
- prompt: concentrate manipulations of 'statusbar_x' into a single file
- prompt: remove redundant redrawings of the prompt bar
- rcfile: allow to rebind the Cancel function in the yesno menu
- rcfile, docs: no longer recognize nor mention 'set backwards'
- rcfile: do not accept rebinding F0 nor function keys above F16
- rcfile: ensure that in the yesno menu Cancel is bound to some keystroke
- rcfile: explicitly check for disallowed keywords in included files
- rcfile: reject things like "M-Del" and "^{" as invalid key names
- rcfile: when a vital function is not mapped, mention in which menu
- search: include 'findprevious' and 'findnext' in the tiny version
- signals: don't call a print routine in a signal handler
- speller: do not replace the text when the temporary file did not change
- startup: don't overwrite rcfile error messages on a Linux console
- startup: show the correct number of lines when opening multiple files
- syntax: awk: recognize any {g,m,n,}awk script also by its shebang line
- syntax: default: colorize also two-digit and capitalized nano versions
- syntaxes: remove all traces of the 'formatter' command
- syntax: nanorc: recognize 'yesno' as a valid menu to bind/unbind keys in
- syntax: nanorc: show ^@ as validly rebindable, but not any ^digit
- syntax: python: avoid coloring the three special values inside strings
- text: add auto-whitespace to the file size after creating the undo item
- tweaks: adjust indentation after the previous change
- tweaks: adjust one more translator hint, for removed toggles
- tweaks: adjust some translator hints for past changes, and add two more
- tweaks: adjust two comments, to be more accurate and general
- tweaks: avoid dereferencing a pointer when it is NULL [coverity scan]
- tweaks: close a temp file only when descriptor is valid [coverity scan]
- tweaks: correct a comment, rewrap a line, and drop some debugging stuff
- tweaks: delete some old debugging code that no longer seems useful
- tweaks: don't bother having debug code that deallocates all memory
- tweaks: don't call va_start() without calling va_end() [coverity scan]
- tweaks: drop a condition that has been made redundant two commits ago
- tweaks: drop some old debugging code
- tweaks: elide a bunch of unneeded constant strings
- tweaks: elide a function that is used just once
- tweaks: elide another function that is used just once
- tweaks: elide an unneeded/duplicate variable
- tweaks: elide a one-line function -- no, a half-line function
- tweaks: elide a subfunction that is used just once
- tweaks: exclude a global flagging variable when it is not needed
- tweaks: exclude the file-prepending code from the tiny version
- tweaks: fix a pasting error from a month ago
- tweaks: implement the name-to-menu function in another manner
- tweaks: improve a couple of comments in the sample nanorc
- tweaks: improve a translator hint and some other comments
- tweaks: move a call to where it will be executed [coverity scan]
- tweaks: normalize the indentation after the previous change
- tweaks: properly escape "\" in a man page and "@" in a texi document
- tweaks: recognize escape sequences of modified Ins/Del more precisely
- tweaks: reduce the counting of characters to just the needed function
- tweaks: remove a redundant "struct" word, and replace it in comments
- tweaks: remove a superfluous condition and a redundant refresh
- tweaks: remove redundant braces and conditions after the previous change
- tweaks: remove some braces that are now superfluous
- tweaks: remove some ineffectual parts from header-line regexes
- tweaks: remove the superfluous calls that reset the mbtowc() state
- tweaks: remove two needless words, and split up a changed text further
- tweaks: remove two superfluous assignments
- tweaks: rename a constant, to match what it actually means
- tweaks: rename a function and place its call better
- tweaks: rename a function to better match its counterpart
- tweaks: rename a function, to better state what it does
- tweaks: rename a variable and a function, for more clarity
- tweaks: rename a variable, to better match its task
- tweaks: reshuffle some lines, in order to elide one
- tweaks: reshuffle the order of the bindings, for help-line esthetics
- tweaks: show "Space" and "Bsp" in the help text of the browser
- tweaks: slightly improve error message when vital function is unmapped
- tweaks: use a shorter message, because when the screen is small...
- undo: differentiate between general filtering and spell checking
-
-Brand Huntsman (4):
- input: give feedback for all unbound keys also in the help viewer
- statusbar: elevate three messages to an ALERT, to make them more visible
- tweaks: correct four spaces of indentation to a tab, in two places
- tweaks: remove the 'bright' field from the colortype struct
-
-David Lawrence Ramsey (13):
- bindings: make "n" work again in file browser and help viewer
- bindings: make ^Q start a backward search also in the file browser
- docs: mention that "Ins" and "Del" are valid rebindable keys
- justify: verify being in a paragraph before trying to find its beginning
- speller: hook up a full alternative spellcheck to the undo system
- speller: hook up a marked-text alternative spellcheck to the undo system
- speller: make replace_buffer() use the cutting functions directly
- speller: make replace_marked_buffer() use the cutting functions directly
- undo: actually enable undoing/redoing an alternative spellcheck
- undo: always initialize the 'newsize' element in the undo struct
- undo: position the cursor properly when undoing/redoing magicline cuts
- undo: restore the cursor position when a cut and paste are paired
- undo: store the correct cursor position after a paired cut+insert
-
-Devin Hussey (2):
- files: speed up reading by using getc_unlocked() instead of getc()
- syntax: sh: recognize more file extensions and header lines
-
-Marco Diego Aurélio Mesquita (1):
- input: erase the next word when Ctrl is held while pressing Delete
-
-Mark-Weston (2):
- build: fix compilation when CC=tcc
- syntax: lua: do not color strings inside comments, and add a linter
-
-
-Changes between v2.9.7 and v2.9.8:
-----------------------------------
-
-Benno Schulenberg (64):
- build: fix compilation failure when configured with --enable-tiny
- build: fix compilation when configured with --disable-justify
- build: fix compilation when configured with --disable-multibuffer
- build: fix compilation with --enable-{tiny,help,multibuffer}
- bump version numbers and add a news item for the 2.9.8 release
- copyright: update the years for significantly changed files
- credits: sort the names roughly according to amount of influence
- docs: add a missing double quote in the default brackets string
- docs: describe what constitutes a paragraph
- docs: improve description of 'speller' and related bindable functions
- docs: improve the description of --nonewlines, and properly sort it
- docs: improve the description of the --autoindent option
- docs: make quotes around regexes bold, as they are part of the command
- docs: mark the filtering of text through an external command as done
- docs: register Marco as the author of the filtering feature
- docs: remove mention of the quotestr for when regex support is lacking
- docs: remove quotes around the name of a syntax -- they are not needed
- docs: thank Kamil for his bug fixes, and update an email address
- docs, usage: make it clear that the argument of --quotestr is a regex
- files: give feedback during writeout also when prepending or appending
- filtering: pair the cut and the insert, so they can be undone together
- gnulib: update to its current upstream state
- justification: find the beginning of a paragraph in a better way
- justification: limit the amount of recursion to prevent a stack overflow
- justification: recognize indented paragraphs also without --autoindent
- justification: when leading whitespace exceeds fill width, wrap anyway
- linter: don't try to access absent stat info, as that gives a crash
- linter: make sure that the margin is updated before displaying a buffer
- linter: make sure the shortcuts bar will redrawn when exiting early
- main: add "/" to the quoting regex, to allow justifying //-comments
- main: interpret only a double slash (//) as quoting, not a single one
- rcfile: don't crash when a bind to a string lacks the closing quote
- startup: provide a hint for people unfamiliar with the ^char convention
- syntaxes: condense and/or correct some extension regexes
- syntax: makefile: color all keywords that GNU make recognizes
- tweaks: adjust a translator hint
- tweaks: avoid an unused-variable warning with --enable-tiny
- tweaks: avoid a warning with --enable-{tiny,help,multibuffer}
- tweaks: condense a comment, and elide an unneeded 'if'
- tweaks: condense some repetitious comments, and check before assigning
- tweaks: condense two statements into one, and elide a 'break'
- tweaks: elide a function that is called just once
- tweaks: elide another function that is called just once
- tweaks: exclude an unneeded 'if' from the single-buffer version
- tweaks: frob a couple of comments
- tweaks: frob some comments, and rename two parameters to make sense
- tweaks: give some continuation lines a more obvious indentation
- tweaks: improve a couple of comments, and reshuffle a group of lines
- tweaks: make better use of an existing variable
- tweaks: make better use of an intermediate variable
- tweaks: reduce the abundance of the word 'toggle' in the Info manual
- tweaks: remove a superfluous assignment -- the lead length never changes
- tweaks: remove two superfluous checks, after making one of them so
- tweaks: rename a function, for more aptness and extra contrast
- tweaks: rename a variable, for contrast, and improve two comments
- tweaks: rename a variable, to give it some meaning
- tweaks: rename two variables, to better fit their tasks
- tweaks: reshuffle a condition, and adjust a comment and some indentation
- tweaks: reshuffle a couple of assignments
- tweaks: simplify the determining of the prefix for justified lines
- tweaks: stop decreasing both the iterator and the limit of a loop
- tweaks: use a more meaningful variable name, and avoid a distant 'else'
- wrapping: use "smart" autoindenting only when hard-wrapping is enabled
- wrapping: when autoindenting, use indentation of next line as example
-
-Brand Huntsman (1):
- tweaks: avoid two unused variable warnings when NLS is disabled
-
-Cristian Caloghera (1):
- syntax: makefile: recognize also an all-lowercase makefile name
-
-David Lawrence Ramsey (3):
- bindings: add the "flippipe" bindable function
- tweaks: avoid an unused variable warning with --enable-tiny
- tweaks: fix some grammar plus a typo in the comments
-
-Marco Diego Aurélio Mesquita (2):
- linter: check all open buffers, instead of just the next one
- new feature: allow piping (selected) text to an external command
-
-
-Changes between v2.9.6 and v2.9.7:
-----------------------------------
-
-Benno Schulenberg (21):
- bindings: add the 'linenumbers' bindable function
- bindings: rename constupdate to constantshow, cuttoend to cutfromcursor
- bump version numbers and add a news item for the 2.9.7 release
- docs: add notes about deprecated options and function names
- docs: break down some old improvements further per version
- docs: note a small difference with Pico in the default hard-wrapping
- docs: say thanks to three recent translators, and re-sort two others
- docs: slightly improve the description of the file browser in the manual
- main: clear a spurious error number, to avoid irrelevant messages later
- prompt: when asking for Yes/No/All, recognize also UTF-8 letters
- scrolling: only do a scroll when the edit window has more than one row
- signals: don't trap segfault/abort when envvar NANO_NOCATCH is defined
- signals: exclude the crash handler from the tiny version
- startup: suggest using ^D to finish reading from standard input
- tweaks: improve a couple of comments
- tweaks: normalize indentation and whitespace after previous changes
- tweaks: put check for -h and -l options in their alphabetical positions
- tweaks: put Yes/No/All in a consistent order (for the translators)
- tweaks: rename two variables, to be more descriptive
- tweaks: sort an option better, and reschedule a removal
- tweaks: use symbolic names instead of puzzling TRUE and FALSE
-
-Devin Hussey (1):
- signals: upon a crash, save changed buffers and reset terminal state
-
-Mark-Weston (1):
- new feature: an option to make the 'nextword' function stop at word ends
-
-
-Changes between v2.9.5 and v2.9.6:
-----------------------------------
-
-Benno Schulenberg (39):
- build: do not prefix an alternative rcfilename with a dot
- build: fix compilation when configured with --disable-help
- bump version numbers and add a news item for the 2.9.6 release
- command-execution: do not crash when opening the pipe would fail
- completion: correctly do a signed comparison, to avoid a segfault
- files: prevent a hang when a call to sigaction() would fail
- formatting, linting: redetermine the argument list for every run
- gnulib: update to its current upstream state
- memory: use a reallocation to reduce the amount of leakage
- prompt: recognize Yes/No/All in English when the locale gives no match
- rcfile: skip color commands where some color name is invalid
- scrolling: don't redraw entire edit window when cursor goes offscreen
- search: always go forward by default, also when coming from Goto-Line
- search: use a better value to mean "nothing was typed"
- speller: don't add an extra newline when saving the text to a tempfile
- syntax: po: highlight also other escaped characters, not just \n
- syntax: sh: colorize options only when they are preceded by whitespace
- tweaks: adjust the translator hint about Yes/No/All
- tweaks: correct or improve a couple of comments
- tweaks: elide a function that is called just once
- tweaks: fix a typo, remove a blank line, and improve some comments
- tweaks: frob a couple of comments
- tweaks: group some more of the empty functions together
- tweaks: improve some comments, and exit with nonzero status upon error
- tweaks: improve the ordering of a couple of functions
- tweaks: invert two conditions and reshuffle, to reduce duplication
- tweaks: move a function to its proper location
- tweaks: move a function to its proper location
- tweaks: rearrange a few if statements more symmetrically
- tweaks: remove the group handling for undoing/redoing (un)indents
- tweaks: rename a function, to be more distinct from its caller
- tweaks: rename a function, to be more fitting and descriptive
- tweaks: rename a variable, for clarity
- tweaks: rename a variable, to be a bit more fitting
- tweaks: rename a variable, to be more clear and to match another
- tweaks: rename a variable, to match another and to be more visible
- tweaks: reshuffle two declarations
- tweaks: set the correct flags just once for each spell-fixing session
- tweaks: use meaningful names instead of puzzling values
-
-Liu Hao (1):
- replacing: always clear the backwards flag for ^\, just like for ^W
-
-
-Changes between v2.9.4 and v2.9.5:
-----------------------------------
-
-Benno Schulenberg (45):
- build: exclude more things when configured with --disable-multibuffer
- build: fix compilation again when configured with --enable-tiny
- build: fix compilation when configured with --disable-multibuffer
- build: fix compilation with --enable-{tiny,help,multibuffer}
- bump version numbers and add a news item for the 2.9.5 release
- cut: avoid calling renumber() on what might be NULL
- docs: clarify how the Linux console is deficient: in the arrow keys
- docs: clarify what the scrollup and scrolldown bindable functions do
- docs: document the newly added color name "normal"
- docs: mention in the FAQ that <Shift+Insert> pastes from the clipboard
- files: prevent an infinite loop when reading from standard input fails
- files: prevent the undo of reading a file into a new buffer
- help: describe the Scroll-Up and Scroll-Down commands more precisely
- help: do not reserve space for line numbers, as they are absent
- linting: drop messages for other files when configured for one buffer
- memory: plug a leak, by actually freeing a discarded undo struct
- scrolling: first move the cursor before pushing current chunk offscreen
- scrolling: let Scroll-Up/Down keep the cursor in the same text position
- selecting: don't cancel a softmark when just scrolling the screen
- small addition: understand color name "normal" to mean the default color
- syntax: sh: color also the 'cut', 'head', 'tail', and 'sort' commands
- syntax: sh: color options distinctively, and color also long options
- syntax: sh: uncolor "tar" when it's part of a filename
- tweaks: adjust a couple of types, to reduce the number of warnings
- tweaks: adjust or correct some comments, and rename a function
- tweaks: adjust the indentation after the previous changes
- tweaks: bundle some settings for a new buffer
- tweaks: change a parameter of open_buffer() and invert its logic
- tweaks: condense some code, to remove a bit of duplication
- tweaks: drop a handful of unhelpful asserts
- tweaks: elide an unneeded and shadowing variable
- tweaks: elide a parameter, as it's always the inverse of another
- tweaks: elide a parameter that is always 1
- tweaks: elide two parameters and thus a pair of wrapper functions
- tweaks: factor out the check for 'viewok' into its own function
- tweaks: fix a typo and adjust some wording and formatting in the FAQ
- tweaks: frob some comments plus miscellaneous other stuff
- tweaks: fuse two ifs into one
- tweaks: move an 'if' and then remove an unneeded label
- tweaks: reduce the font size of the questions in the FAQ
- tweaks: remove an inconsistent space from two pointer declarations
- tweaks: remove unneeded settings and unsettings of MULTIBUFFER
- tweaks: reshuffle some movement code, to reduce the number of conditions
- tweaks: revert commit c88a2fd9 -- the extra variable is needed
- tweaks: rewrap and amend some lines in the NEWS file
-
-David Lawrence Ramsey (1):
- tweaks: correct several parameter types
-
-Kamil Dudka (1):
- input: do not crash if sctofunc() returns NULL
-
-Liu Hao (1):
- build: fix compilation error when configured with --disable-justify
-
-
-Changes between v2.9.3 and v2.9.4:
-----------------------------------
-
-Benno Schulenberg (65):
- bindings: make a key defined as string work also in browser and viewer
- bindings: rename the bindable function 'gototext' to 'flipgoto'
- bindings: revert the ^/ changes, as ^/ is not always Go-To-Line
- bindings: show ^/ instead of ^_ for Go-To-Line
- build: fix compilation when configured with --enable-tiny
- bump version numbers and add a news item for the 2.9.4 release
- docs: mention that a key can be bound to a string
- docs: note also in the Info manual that text can be selected with Shift
- editing: when --smooth is used, make <Enter>-at-bottom scroll one row
- general: detect in a better way whether we're running on a Linux console
- gnulib: update to its current upstream state
- goto: avoid a segfault, by initializing 'answer' when it is NULL
- help: mention that some keys work on a region when the mark is on
- help: tweak the descriptions of ^X and ^R
- input: handle the implant() function separately also for the prompt
- input: handle the implant() function separately, as it is special
- memory: avoid a leak when toggling from Search to Goto
- memory: squeal when there is something wrong, instead of stumbling on
- new feature: allow binding a key to a string (in a nanorc file)
- prompt: disallow pasting when in restricted mode
- rcfile: allow a syntax name to be unquoted
- search: clear the existing answer when starting a new search
- search: get rid of some unneeded recursion when just toggling things
- selecting: cancel the softmark upon any attempt to move the cursor
- small addition: allow customizing the color of an error message
- syntax: color also ^/ in nano's help texts and in nanorc files
- syntaxes: remove quotes from each syntax name, and color it differently
- syntax: nanorc: color also bindings to a string as valid
- tweaks: adjust comments and indentation after the previous change
- tweaks: adjust two comments, move two declarations, rewrap three lines
- tweaks: appease valgrind concerning syscalls with uninitialized values
- tweaks: condense a comment and elide an 'if'
- tweaks: correct a typo in NEWS
- tweaks: correct a typo that broke binding a key to a string
- tweaks: do not needlessly renumber the lines in the buffer
- tweaks: don't call strcmp() to determine whether a string is empty
- tweaks: drop an assert, add a warning, and change a 'for' to a 'while'
- tweaks: drop some debugging stuff, and adjust what remains of it
- tweaks: elide another variable, to call a function less often
- tweaks: elide an unneeded variable
- tweaks: elide an unneeded variable
- tweaks: elide an unneeded variable
- tweaks: elide an unused variable and parameter
- tweaks: elide two unneeded booleans
- tweaks: exclude an unlikely error message from the tiny version
- tweaks: exclude an unlikely warning from the tiny version
- tweaks: fix a copy-and-paste error
- tweaks: make the fsfromline() call only for the undo types that need it
- tweaks: plug a memory leak when using Verbatim Input at a prompt
- tweaks: refactor the implanting of a key expansion
- tweaks: remove another superfluous check
- tweaks: remove a superfluous check
- tweaks: remove two deprecated options and six rebindable function names
- tweaks: remove two superfluous checks, and restrict two others
- tweaks: rename a parameter and a variable, to be more fitting
- tweaks: rename a variable to be more distinct and greppable
- tweaks: rename two variables, to be more meaningful
- tweaks: reshuffle some code, to be slightly less ugly
- tweaks: reshuffle some of the search-and-replace cleanup calls
- tweaks: reshuffle the undo types into mostly the same order everywhere
- tweaks: shorten the name of two record elements
- tweaks: slightly rewrap the FAQ's table of contents
- tweaks: transform a 'do' to a 'while', and reshuffle a comment
- tweaks: unabbreviate two variable names
- undo: when redoing, don't try to find a line number that might not exist
-
-Brand Huntsman (1):
- color: remove unneeded bright comparison to prevent duplicate pairs
-
-David Lawrence Ramsey (3):
- docs: mention that errorcolor does have default colors
- input: don't stop prepending when the user adds text via a shortcut
- tweaks: fix typo in rebindable function name
-
-Tom Levy (1):
- syntax: go: highlight also floats with leading zeroes as valid
-
-
-Changes between v2.9.2 and v2.9.3:
-----------------------------------
-
-Benno Schulenberg (65):
- build: fix compilation when configured with --enable(tiny,color,nanorc}
- build: fix compilation with --enable-tiny --enable-justify
- build: let ./configure fail (not just warn) when curses.h is missing
- bump version numbers and add a news item for the 2.9.3 release
- copyright: update the years for the FSF
- display: wipe the status bar when doing a total refresh
- docs: remove the note about needing a recent ncurses for macros to work
- docs: update the FAQ for the changed default location of history files
- docs: update the TODO file to the current state of affairs
- gnulib: update to its current upstream state
- help: don't get stuck when there is an unwrappable piece of text
- input: consume only the actual length of an escape sequence
- input: fully reset state when a three-digit character code is cut short
- input: make <Shift+Tab> do an unindent also on a Manjaro console
- input: recognize escape sequences for <Shift+PageUp> and <Shift+PageDown>
- input: recognize more escape sequences for <Shift+Home> and <Shift+End>
- input: recognize the deviant keycode for <Ctrl+End> in urxvt
- options: recognize -M and --trimblanks on the command line
- painting: look for an end match only after a start match, if any
- prompt: show whitespace only in the filename, not in the whole line
- replacing: don't skip the first character of a backwards-marked region
- search: suppress the occurrence at the cursor only when replacing
- startup: allow a named pipe as file argument when --noread is used
- startup: make an error message succinct and to the point
- startup: move the initialization of colors, so any error gets printed
- syntax: go: colorize only valid octal numbers
- syntax: lua: do not color debug.setinfo as it doesn't exist
- syntax: nanohelp: color also the Sh-Tab key combo
- tweaks: change a 'do' to a 'while', and return early to elide an 'if'
- tweaks: check for the type of terminal far earlier
- tweaks: condense a condition and a comment, and reshuffle a line
- tweaks: condense and rewrap some comments, and reindent two lines
- tweaks: condense the conditional compilation of shortcut reassignments
- tweaks: don't bother freeing the key buffer, just reallocate it
- tweaks: don't bother to reallocate when the keybuffer size decreases
- tweaks: drop a superfluous parameter, as it is always 1
- tweaks: drop a useless assert, and don't abort over an unhandled option
- tweaks: drop two unneeded initializations, and trim a comment
- tweaks: elide a tiny intermediate buffer, and rename two variables
- tweaks: exclude --trimblanks when no wrapping or justifying is configured
- tweaks: fully include Savefile and Wherewas in the tiny version
- tweaks: indenting text files with tabs is not a good idea
- tweaks: mark the two blocks that have a deviant indentation
- tweaks: move a bunch of comments to the lines that they refer to
- tweaks: move two functions to their proper place, orderingwise
- tweaks: remove a fragment of dead code
- tweaks: remove a handful of redundant (because always true) asserts
- tweaks: remove a superfluous case -- there can never be four digits
- tweaks: remove a superfluous check, as we insert always one code
- tweaks: rename a function, for aptness, and drop a superfluous check
- tweaks: rename a function, to be more distinct
- tweaks: rename a variable, and further condense some comments
- tweaks: rename a variable, for more contrast
- tweaks: rename a variable, to better fit its usage
- tweaks: rename two variables, and swap their declaration order
- tweaks: rename two variables, for preciseness and shortness
- tweaks: reshuffle a couple of lines
- tweaks: reshuffle a couple of lines, to make a bit more sense
- tweaks: reshuffle some stuff, and avoid a memory leak
- tweaks: reshuffle two condition series, to look better
- tweaks: rewrap a bunch of lines in the NEWS file
- tweaks: set a modifier in a single place, for conciseness
- tweaks: swap the row and col parameters to a more consistent order
- tweaks: transform a parameter, from a pointer to the value itself
- wrapping: don't trim a blank character that the user just typed
-
-Brand Huntsman (1):
- startup: parse interface colors when they are read, not when initialized
-
-
-Changes between v2.9.1 and v2.9.2:
-----------------------------------
-
-Benjamin Mintz (1):
- syntax: python: add 'async', 'await', and 'nonlocal' as keywords
-
-Benno Schulenberg (62):
- bump version numbers and add a news item for the 2.9.2 release
- display: ensure that cursor is visible when compiled with --with-slang
- docs: mention that the source code is best viewed with a tab size of 4
- docs: say thanks to some fairly recent translators, and rename one
- gnulib: pull in the fix for the missing stat include
- gnulib: update to its current upstream state
- help: show that "Tab" will indent, just like "Sh-Tab" will unindent
- help: swap the order of the Complete and Comment functions
- indenting: don't exclude last line of region when region is empty
- indenting: keep affecting last line of marked region if it was at first
- input: allow using <Tab> and <Shift+Tab> to (un)indent selected region
- input: make <Ctrl+Shift+Arrow> work also when using --rebindkeypad
- input: optimize a bit for non-shortcut keys, as they are most frequent
- options: rename 'justifytrim' to 'trimblanks', because it has morphed
- prompt: blank the bar when a "continue?" is answered with No or ^C
- syntaxes: remove redundant word-boundary markers
- syntax: javascript: add some comments, and color explicit numbers too
- syntax: javascript: add some keywords, and sort them more logically
- syntax: javascript: color strings differently from major keywords
- syntax: javascript: require that a comment is preceded by whitespace
- syntax: lua: condense some regexes, tweak comments, reorder things
- syntax: nanorc: don't color parts of valid strings as if invalid
- syntax: python: color also the special values 'False', 'None', 'True'
- text: allow unindenting when not all lines are indented
- text: keep cursor at left edge when it IS there when indenting/commenting
- text: let a Shift-selection persist when indenting and commenting
- text: let indenting/commenting skip the last line if its x is zero
- text: set and reset the Modified state correctly when undoing/redoing
- tweaks: add a separate function that actually wipes the status bar
- tweaks: avoid incrementing a variable that won't be used again later
- tweaks: condense or rewrap a bunch of repetitious comments
- tweaks: condense, reword, and rewrap a bunch of comments
- tweaks: condense some debugging code, and rewrap a line
- tweaks: convert the indentation of the NEWS file too
- tweaks: convert the indentation to use only tabs
- tweaks: drop some old debugging code plus a superfluous comment
- tweaks: elide two parameters from the get_region() function
- tweaks: elide two variables that are used just once
- tweaks: factor out a piece of common code
- tweaks: fix some whitespace errors, and convert alignment tabs to spaces
- tweaks: fold some regexes into one another, for conciseness
- tweaks: frob four comments, and rewrap two lines
- tweaks: invert the logic of a variable, and rename it
- tweaks: limit the resetting of "Modified" to writing a full buffer
- tweaks: move some frequently-used keystrokes to the top of the list
- tweaks: remove a redundant call of renumber()
- tweaks: remove a superfluous condition
- tweaks: remove a superfluous placing of a terminating nul byte
- tweaks: remove some unneeded parentheses, and shorten two function calls
- tweaks: remove two irrelevant conditions
- tweaks: rename three variables, for more contrast and variety
- tweaks: reshuffle a bit of common code, moving it to an existing function
- tweaks: reshuffle another bit of code, for conciseness
- tweaks: rewrap some lines and some comments, and trim two others
- tweaks: slightly rename four functions, for aptness and variety
- tweaks: strip some debugging stuff, and condense a bit of code
- tweaks: trim another placing of a terminating nul byte
- tweaks: use for git the more faithful "less -x1,5" suggested by Brand
- tweaks: use spaces for alignment also in the THANKS file
- wrapping: delete trailing blanks upon hardwrapping, when requested
- wrapping: keep prepending to the same next line as long as possible
- wrapping: we're still on the same line if the next line has not changed
-
-David Lawrence Ramsey (3):
- input: support backtab when Slang and/or --rebindkeypad is used
- tweaks: use printf's z modifier for (s)size_t, instead of casting
- undo: when adding text adds a magicline, an undo should remove both
-
-Liu Hao (1):
- syntax: c: increase the color contrast of reminders like FIXME
-
-Michael Francis (1):
- syntax: php: function and variable names can contain uppercase and digits
-
-Mike Frysinger (1):
- syntax: javascript: add newer keywords and string syntax
-
-Tom Levy (6):
- syntax: go: fix word boundary before dot in number literal
- syntax: go: sign of exponent in number literal is optional
- syntax: lua: add new and missing standard library functions
- syntax: lua: correct the word boundaries on standard library functions
- syntax: lua: require at least one digit for hexadecimal numbers
- syntax: lua: support fractional part and exponent for decimal and hex
-
-
-Changes between v2.9.0 and v2.9.1:
-----------------------------------
-
-Benno Schulenberg (20):
- build: fix compilation with --disable-browser --disable-tabcomp
- bump version numbers and add a news item for the 2.9.1 release
- files: always update the stat info when the entire file is written
- files: save the marked region only when we've prompted for a file name
- gnulib: update to its current upstream state
- history: create the path '~/.local/share/' when it is needed
- history: make nano's state directory accessible for the user only
- history: save the positions file also when a record was deleted
- input: make the macro key discoverable by giving feedback when undefined
- linting: switch the mark off when the linter starts
- selecting: do not cancel the softmark when the cursor is not moved
- selecting: let a justification cancel a softmark
- syntax: adjust the magic strings for the changes since file-5.10
- tweaks: adjust indentation after previous change
- tweaks: elide the 'mark_set' boolean -- the 'mark' pointer is enough
- tweaks: rename, rewrap, and reshuffle some stuff, and frob some comments
- tweaks: reshuffle a couple of lines, and frob a comment or two
- tweaks: reshuffle a couple of lines, to put similar things together
- undo: clear the Modified state when the very first edit is undone
- undo: discarding the stack does not always lose information
-
-
-Changes between v2.8.7 and v2.9.0:
-----------------------------------
-
-Benno Schulenberg (103):
- bindings: don't allow calling help when searching in the help viewer
- bindings: make ^Q and ^S do something useful by default
- bindings: make the search function rebindable again in help and browser
- bindings: make ^W start always a forward search (as there is ^Q now)
- browser: place the cursor properly on the selected file when -g is used
- build: let git ignore also the generated PDF file
- bump version numbers and add a news item for the 2.9.0 release
- copyright: update some years, and standardize on the dashed format
- display: keep the cursor switched on when resizing the screen
- display: rework the switching on and off of the cursor
- display: stop the help viewer from turning on the multibuffer indicator
- display: switch off the cursor early on during startup
- docs: make it clearer that a Signed-off-by is wanted on patches
- docs: mention that macros work correctly only on terminal emulators
- docs: remove another remark about indenting lacking undo capability
- docs: update references to the nanorc files for the XDG changes
- files: avoid an abortion when executing a command in a new buffer
- gnulib: update to its current upstream state
- help: don't fall back to other syntaxes if there is no nanohelp one
- history: after loading the lists, mark them as unchanged
- history: remove the migration service for the old searches file
- input: recognize Option+Arrow keys on iTerm2 in "xterm mode"
- moving: don't slither and slide over tabs when they are overlong
- moving: prevent the cursor sticking on or skipping over overwide tabs
- new feature: a bindable function that starts always a backward search
- options: remove '--quiet' and 'set quiet', because they hide problems
- options: retire 'set backwards' -- it's still recognized but a no-op
- organization: move all history-related stuff to its own file
- ouch: set the positions-file name also when using the legacy state dir
- painting: evade an ncurses bug by adding the A_PROTECT attribute
- search: suppress the "not found" message when replacements were made
- search: suppress the "Search Wrapped" message when doing replacements
- search: wipe reassuring feedback as soon as searching has finished
- startup: don't ask the user to press Enter upon an rcfile error
- startup: don't produce more than three consecutive beeps
- startup: when an rcfile contains errors, report this on the status bar
- syntax: default: use colors that are readable also on dark backgrounds
- titlebar: don't reshow version when dropping back to a single buffer
- titlebar: don't show nano's name and version when in the file browser
- titlebar: drop the prefix "File: " from before the filename
- tweaks: add a translator hint, and adjust two others
- tweaks: adjust a comment, and condense a fragment of code
- tweaks: adjust indentation and comments after the previous change
- tweaks: adjust two comments, and correct and a few cosmetic mistakes
- tweaks: avoid an unused-variable warning with --disable-nanorc
- tweaks: change some mayday messages, to urge the user to report a bug
- tweaks: change the arrows to triangles also for searching in file browser
- tweaks: change the help-text arrows to triangles, to be more visible
- tweaks: chuck a bunch of asserts -- they have lost their usefulness
- tweaks: chuck an assert, and then condense the code and a comment
- tweaks: constify the result strings of getenv(), as a reminder
- tweaks: correct two minor things in the documentation
- tweaks: discard another set of useless asserts
- tweaks: discard some obsolete debugging stuff
- tweaks: don't construct the positions-history filename time and again
- tweaks: drop a bunch of outdated asserts
- tweaks: drop the ineffective cgitrc -- sorting by "age" does not work
- tweaks: elide a comment, and improve a couple of others
- tweaks: elide an unneeded check
- tweaks: elide an unneeded function now that stuff is grouped together
- tweaks: elide a superfluous allocation
- tweaks: elide two variables by using a pointer instead of an index
- tweaks: fix compilation when configured with --disable-histories
- tweaks: fix compilation when configured with --enable-tiny
- tweaks: fix compilation with --enable-tiny --enable-histories
- tweaks: frob a couple of comments
- tweaks: frob some comments and rename a few variables and a function
- tweaks: get rid of some cluttering conditional compilation
- tweaks: improve some comments, and rename a variable for symmetry
- tweaks: make the switching on and off of the cursor a bit more compact
- tweaks: move a general function to the utils.c file
- tweaks: reduce a bit of code duplication
- tweaks: remove a comment from the docs that is no longer accurate
- tweaks: remove another bit of conditional compilation
- tweaks: remove a superfluous no-op function call
- tweaks: remove a useless prefix from a hundred constants
- tweaks: rename a function and swap its two parameters
- tweaks: rename a function plus two parameters, to be more fitting
- tweaks: rename a macro, to make a little more sense
- tweaks: rename a variable, to avoid a possible confusion
- tweaks: rename a variable, to make more sense
- tweaks: rename one variable once more
- tweaks: rename some constants, to follow the same underscoreless scheme
- tweaks: rename three functions, to be shorter or clearer
- tweaks: rename three variables, for more contrast
- tweaks: rename two variables, for contrast, and frob some comments
- tweaks: rename two variables, to be more indicative of what they do
- tweaks: rename two variables, to make a little more sense
- tweaks: reshuffle a bit of code and elide an unneeded variable
- tweaks: reshuffle a couple of lines, and trim some comments
- tweaks: reshuffle some code, and rename a variable
- tweaks: reshuffle some code in order to elide a variable
- tweaks: reshuffle some regexes, for order and compactness
- tweaks: strip four unneeded checks
- tweaks: transform the token DISABLE_COLOR to ENABLE_COLOR
- tweaks: transform the token DISABLE_EXTRA to ENABLE_EXTRA
- tweaks: transform the token DISABLE_HISTORIES to ENABLE_HISTORIES
- tweaks: transform the token DISABLE_JUSTIFY to ENABLE_JUSTIFY
- tweaks: transform the token DISABLE_OPERATINGDIR to ENABLE_OPERATINGDIR
- tweaks: transform the token DISABLE_SPELLER to ENABLE_SPELLER
- tweaks: transform the token DISABLE_WRAPJUSTIFY to ENABLED_WRAPORJUSTIFY
- tweaks: transform the token DISABLE_WRAPPING to ENABLE_WRAPPING
- tweaks: use mnemonic constants instead of TRUE and FALSE
-
-Brand Huntsman (3):
- bindings: allow exiting from the help viewer with F1, like with ^G
- history: prevent overwriting of positions between multiple instances
- syntax: nanohelp: colorize Up, Down, Left and Right (when not in UTF-8)
-
-David Lawrence Ramsey (18):
- build: add history.c to the list of files with translatable strings
- display: don't cut off zero-width characters at the end of a chunk
- docs: describe the bindable functions 'recordmacro' and 'runmacro'
- docs: document the more everyday names of three bindable functions
- docs: remove man page reference to indent/unindent lacking undo/redo
- files: don't change file format when inserting into an existing buffer
- help: allow firstline and lastline to work at the search prompt
- history: fix the check for an existing $HOME/.nano/ directory
- moving: set the preferred column properly when doing a smart home
- search: don't bother saving and restoring the search direction
- search: trim a failed search string for width instead of length
- softwrap: break before multi-column Unicode blanks when they overshoot
- syntax: nanorc: properly color valid arguments of 'selectedcolor'
- text: hook up indenting and unindenting to the undo/redo code
- text: move the indenting of a single line into its own function
- text: move the unindenting of a single line into its own function
- tweaks: use printf's z modifier for most of the size_t/ssize_t types
- undo: generalize update_comment_undo() into update_multiline_undo()
-
-Lion Yang (1):
- input: ensure that standard input uses blocking mode
-
-Marco Diego Aurélio Mesquita (5):
- general: do not free strings gotten from getenv(), to avoid a crash
- history: remember the commands that were executed during this session
- history: remember the list of executed commands across sessions
- new feature: show current and total number of open buffers in title bar
- new feature: the ability to record and play back a series of keystrokes
-
-Simon Ochsenreither (1):
- startup: look for nanorc and history files also in the XDG directories
-
-Viorel Bota (1):
- files: check for a changed disk file also for 'savefile' and --tempfile
-
-
-Changes between v2.8.6 and v2.8.7:
-----------------------------------
-
-Benno Schulenberg (54):
- bindings: hard-bind Alt+Up and Alt+Down to findprevious and findnext
- browser: correct the inverted search behavior for Alt+Up/Alt+Down
- bump version numbers and add a news item for the 2.8.7 release
- display: catch all cases where the cursor can be pushed offscreen
- display: don't doubly show tabs that cross a chunk boundary
- files: do not silently ignore an invalid backup directory, but die
- files: don't close a file descriptor when opening failed [coverity scan]
- files: don't try to open a negative file descriptor [coverity scan]
- gnulib: update to its current upstream state
- linting: don't try to put the cursor at a negative x position
- linting: skip the introductory message produced by 'gcc -fshow-column'
- mouse: one click of the wheel should move three lines, not three pages
- moving: don't push x forward when backward movement lands on a split tab
- moving: get <Up> unstuck when trying to pass over a sprawling tab
- moving: improve retention of the target column somewhat
- moving: the current chunk is always 0 when not in softwrap mode
- moving: use the correct formula for pushing the index forward
- rcfile: don't leak a shortcut when something goes wrong [coverity scan]
- softwrap: properly move up and down over tabs that are split over rows
- syntax: c: give labels some color too
- syntax: html: don't bother coloring tags that cross line boundaries
- syntax: python: don't require a character after an opening triple quote
- text: properly unindent lines that consist of only whitespace
- tweaks: a comma does not end a sentence, and is not part of a variable
- tweaks: adjust the indentation after the previous change
- tweaks: adjust the indentation after the previous change
- tweaks: adjust the indentation after the previous change
- tweaks: allow enough space for the Y/N/A characters [coverity scan]
- tweaks: avoid trying to stat a file that might be NULL [coverity scan]
- tweaks: close a file also in the error path [coverity scan]
- tweaks: condense or improve some comments
- tweaks: condense some logic, to elide a variable and a comment
- tweaks: do not leak the indentation when all lines are empty
- tweaks: don't close a descriptor when its stream has already been closed
- tweaks: drop some debugging stuff
- tweaks: drop some debugging stuff, and frob two comments
- tweaks: elide an unneeded pointer
- tweaks: elide the global variable 'full_operating_dir'
- tweaks: fix compilation with --enable-{tiny,help,multibuffer}
- tweaks: group all movement routines in corresponding pairs
- tweaks: keep the const qualifier of the syntax name [coverity scan]
- tweaks: remove includes that appear to be superfluous
- tweaks: rename a function, to let it make more sense
- tweaks: rename a label, to better match its task
- tweaks: renumber the special key codes, to be in sequence and grouped
- tweaks: reshuffle code and frob comments, to reduce the number of lines
- tweaks: reshuffle some code to harmonize two related functions
- tweaks: reshuffle some declarations and trim a few comments
- tweaks: restore an include that is necessary on some platforms
- tweaks: show "where is next" in the help lines of the file browser
- tweaks: simply set the proper scrolling mode, instead of imitating it
- tweaks: snip a superfluous clearing of the bottom bars after help
- tweaks: sort the includes, so it's a little easier to see what is there
- tweaks: specify more directly in what manner to move the viewport
-
-David Lawrence Ramsey (23):
- browser: allow backward/forward re-searches with Alt+Up/Alt+Down
- display: constrain line numbers on softwrapped lines with sprawling tabs
- display: do show the visible character for a tab when it starts a row
- display: revamp how screen updates are done in the movement code
- moving: redraw not just the new current line but also the prior one
- small addition: allow customizing the color of selected text
- softwrap: correctly move vertically through overwide tabs
- softwrap: don't push a straddling tab to the next chunk
- softwrap: improve left/right navigation across line boundaries
- softwrap: make sure char_len is set when a tab is wider than a chunk
- softwrap: properly update the viewport when adding text at firstcolumn
- text: make indenting add to the beginning of the line
- text: make unindenting remove from the beginning of the line
- tweaks: adjust spacing and wording in sample.nanorc
- tweaks: correct a comment typo and an indentation error
- tweaks: harmonize some prototypes with their functions
- tweaks: remove unneeded parentheses and blank line and braces
- tweaks: replace a misplaced tab with a space
- tweaks: set the target row for smooth scrolling more directly
- tweaks: use charalloc() instead of (char *)nmalloc() * sizeof(char)
- weeding: drop the forreal parameter from place_the_cursor()
- weeding: remove redundant casts of nmalloc()
- weeding: remove the unused be_clever parameter from do_home()/do_end()
-
-Rishabh Dave (1):
- new feature: allow pasting at all input prompts
-
-Urja Rannikko (1):
- bindings: hard-bind Alt+Left and Alt+Right to buffer switching
-
-
-Changes between v2.8.5 and v2.8.6:
-----------------------------------
-
-Benno Schulenberg (58):
- build: for Solaris, tell the linker to use a threading lib
- bump version numbers and add a news item for the 2.8.6 release
- display: avoid a jumpy cursor by redrawing bottom bars only when needed
- display: when back in the main loop, always redraw the help lines
- display: wipe stale messages from the status bar straightaway
- docs: add some more mark-up to the Info document
- docs: be more precise about when a dash is given instead of a filename
- docs: drop the cluttering Info-style links from the HTML manual
- docs: improve cross references and mark-up in the Info document
- docs: improve some spacing, especially of the synopsis in the PDF
- docs: make the guillemot and the middle dot appear correctly in HTML
- docs: move the descriptions of 'header' and 'magic' next to 'syntax'
- docs: remove the mention of backslashes for the argument of 'comment'
- docs: reword the explanation of the 'syntax' command
- docs: use real cross references in the Info document
- docs: use the @command and @option mark-up more consistently
- files: don't bother counting rows when opening a fresh buffer
- files: warn more conspicuously when the file on disk has changed
- gnulib: update to its current state
- input: recognize the Ctrl+Arrow key sequences from Haiku's Terminal
- options: recognize -a and --atblanks on the command line
- options: rename --cut to --cutfromcursor, to be clearer
- pasting: restore the cap on the number of chunks to move backward
- rcfile: don't require backslashing in the argument of 'comment'
- screen: defeat a VTE/Konsole bug also for the case of --constantshow
- screen: retain the same help-line tags when the window is resized
- softwrap: when possible, go back a whole bunch of chunks at a time
- startup: don't try parsing color names that were not specified
- startup: in default mode, display the tail of the file as Pico does
- suspension: prevent entering an invalid byte upon resume (with S-Lang)
- syntax: gentoo: make it clearer that the file contains two syntaxes
- syntax: man, groff: fix the string that introduces a comment
- syntax: nanorc: don't color numeric arguments specially
- syntax: nanorc: don't color the argument of 'linter' as if invalid
- syntax: texinfo: cover also some special cases like @U, @OE and @TeX
- tweaks: adjust an error message so it fits all possible cases
- tweaks: avoid a clang warning about an expression being treated as NULL
- tweaks: avoid a failure with black diamonds in a PDF
- tweaks: avoid an unused-variable warning for the tiny version
- tweaks: chuck some debugging stuff
- tweaks: chuck two useless asserts, and elide a call to strncasecmp()
- tweaks: correct two conditions for conditional compilation
- tweaks: drop a bunch of useless asserts
- tweaks: elide unneeded calls of get_last_chunk_leftedge()
- tweaks: fix compilation with --enable-tiny
- tweaks: move an include to the file that actually makes use of it
- tweaks: put declarations always first, so it will compile on Haiku
- tweaks: recognize the empty string as comment inhibitor, instead of NULL
- tweaks: remove two superfluous includes
- tweaks: rename a constant, to match the corresponding option
- tweaks: rename another constant, to be more precise
- tweaks: rename a variable, to have more contrast
- tweaks: rename four functions, to be more distinct
- tweaks: rename two variables, to make a little sense
- tweaks: reshuffle some things to condense the code
- tweaks: simplify the parsing of color combinations
- tweaks: spell an option correctly in NEWS
- tweaks: swap ^X and ^L in the help lines of the help viewer
-
-David Lawrence Ramsey (29):
- display: when converting tabs, don't go beyond the screen width
- docs: consistently describe the -U/-c and -r/-w overrides
- docs: mention that boldtext can be overridden also for function tags
- docs: mention the default values for comment and whitespace directives
- moving: fix the cursor jumping back and forth with non-smooth paging
- moving: make vertical movement account for varying chunk width
- new feature: allow lines to be softwrapped at whitespace
- replacing: make spotlight() account for varying chunk width
- softwrap: add new functions for chunks of varying width
- softwrap: don't flag EOL too early, nor break continuous text too early
- softwrap: in do_mouse(), keep the cursor before a softwrap breakpoint
- softwrap: make the changes to actually allow the chunk width to vary
- softwrap: prepare for allowing the chunk width to vary
- softwrap: remove unneeded caps on the number of chunks to move
- syntax: nanorc: properly color a "fill" option with a negative value
- text: adjust the comments in do_indent() and do_unindent()
- text: make do_unindent() an exact copy of do_indent()
- text: make sure commenting is disabled when comment "" was specified
- text: normalize the indentation in do_indent() and do_unindent()
- text: remove indent-related code from do_unindent()
- text: remove the last usage of cols in do_indent() and do_unindent()
- text: remove unindent-related code from do_indent()
- text: remove unneeded references to cols from the indentation routines
- text: update placewewant properly when indenting/unindenting
- tweaks: correct a parameter type, and correct two empty initializations
- tweaks: fix a typo in NEWS
- tweaks: only compensate for a partially-offscreen line in softwrap mode
- tweaks: remove unneeded braces, and mark empty parameter list as void
- usage: a dash doesn't have to come first among the filenames
-
-
-Changes between v2.8.4 and v2.8.5:
-----------------------------------
-
-Benno Schulenberg (35):
- bindings: in the tiny version exclude word jumping from the prompts
- bump version numbers and add a news item for the 2.8.5 release
- display: don't let a SIGCONT write anything to the screen
- display: don't show the cursor while we are busy calculating its position
- display: redraw title bar and edit window only when needed
- display: show the cursor position also when searching took a while
- docs: avoid a double "see" for cross references in the HTML manual
- docs: spell "title bar" and "status bar" correctly
- gnulib: update to its current state
- input: give an appropriate message when there are too many errors
- startup: allow negative line and column numbers on the command line
- startup: allow positioning the cursor also when reading standard input
- startup: always open with the file that was mentioned first
- startup: don't crash when opening standard input would fail
- startup: don't mark the buffer as modified when in view mode
- startup: don't mark the buffer as modified when nothing was read
- startup: don't try placing the cursor when reading standard input failed
- startup: don't use position history when reading from standard input
- suspension: fake a SIGWINCH when coming back out of the background
- suspension: remove a duplicate setting of the HUP and TERM handler
- syntax: default: allow leading whitespace before a hash comment
- tweaks: adjust indentation after preceding changes
- tweaks: avoid compiler warning about implicit type
- tweaks: be consistent in the spelling of title bar and status bar
- tweaks: don't bother calculating the position when we won't show it
- tweaks: elide a function that should not be a separate one
- tweaks: elide a variable
- tweaks: frob a few comments, and elide and #ifndef
- tweaks: reduce the scope of three variables, and rename them besides
- tweaks: reduce the scope of two variables, and rename them too
- tweaks: rename a function and a variable, to better match what they do
- tweaks: rename a variable, and frob a couple of comments
- tweaks: rename two functions and a variable, and invert its logic
- tweaks: reshuffle some stuff, to put related things closer together
- tweaks: unglobalize the nodelay_mode variable
-
-
-Changes between v2.8.3 and v2.8.4:
-----------------------------------
-
-Benno Schulenberg (11):
- build: correct the inverted logic for the nanorc man page
- bump version numbers and add a news item for the 2.8.4 release
- gnulib: update to its current state
- syntax: default: color also hash comments and email addresses
- syntax: php: color "static" again as "function", like it used to be
- tweaks: adjust the indentation after the preceding change
- tweaks: avoid an unused-variable warning when using --disable-comment
- tweaks: do actual screen refreshes in a single call, when possible
- tweaks: remove the no-op x$disable tests
- tweaks: reorder three items in the Info document
- tweaks: reshuffle a few things to reduce duplication
-
-
-Changes between v2.8.2 and v2.8.3:
-----------------------------------
-
-Benno Schulenberg (34):
- bindings: allow toggling a new buffer when multiple buffers are enabled
- build: don't use a dummy dependency, as it breaks non-GNU makes
- build: for Solaris, tell the linker where to find clock_gettime()
- build: use backticks to avoid a warning during autoreconf
- build: use the "force" mechanism to always run the revision rule
- bump version numbers and add a news item for the 2.8.3 release
- chars: optimize moving a character left in the non-UTF-8 case
- chars: probe for a valid UTF-8 starter byte, instead of overstepping
- chars: valid UTF-8 codes are at most 4 bytes long, so look only that far
- display: keep the cursor put, also when toggling nohelp or morespace
- files: don't ask "save anyway" when user orders to discard the buffer
- history: don't save the cursor position for temporary help files
- moving: limit the target column when it is beyond the last chunk
- replacing: don't let placewewant influence the placement of the cursor
- startup: don't call delwin() with NULL, to avoid crashing on Solaris
- syntax: makefile: color comments only at start of line or after whitespace
- syntax: nanohelp: color also ^6 as a shortcut keystroke
- syntax: php: color also variable names, and color more reserved words
- syntax: php: recognize also the .phtml and .php7 extensions
- syntax: xml: recognize an XML file also by its first line
- tweaks: add another warning for an impossible condition
- tweaks: adjust whitespace and comments after the preceding change
- tweaks: avoid an empty function call in tiny version with line numbers
- tweaks: exclude from the tiny version five error-betraying messages
- tweaks: exclude from the tiny version two messages that will never occur
- tweaks: fix compilation with --enable-tiny ...-help and ...-multibuffer
- tweaks: remove an old fault-catching message
- tweaks: remove five dummy function definitions from the tiny version
- tweaks: rename three empty functions, and reshuffle some others
- tweaks: rewrap a couple of old items in NEWS, and fix an article
- tweaks: swap a comparison, to be clearer
- tweaks: transform the token DISABLE_BROWSER to ENABLE_BROWSER
- tweaks: transform the token DISABLE_NANORC to ENABLE_NANORC
- tweaks: transform the token DISABLE_TABCOMP to ENABLE_TABCOMP
-
-David Lawrence Ramsey (2):
- display: ensure smooth scrolling when the edit window is resized
- tweaks: fix several whitespace irregularities
-
-
-Changes between v2.8.1 and v2.8.2:
-----------------------------------
-
-Benno Schulenberg (64):
- bindings: allow using <Backspace> to scroll back up in the help viewer
- bindings: allow using '/' to start a search in the help viewer
- bindings: show Home and End in browser help text, instead of M-| and M-?
- browser: make ^End work properly by fixing a paste error
- build: make --enable-help properly depend on --enable-multibuffer
- bump version numbers and add a news item for the 2.8.2 release
- display: initialize the colors only when starting to draw the content
- display: push the titlebar to the screen as soon as it has been drawn
- docs: add an item to the FAQ, about pasting from Windows to a remote nano
- docs: harmonize the nanorc man page and Info document a bit
- docs: in the FAQ, extend the answer to the pasting problem
- docs: reword the main paragraph of the man page
- docs: update the list of who authored what
- gnulib: update to its current state in git
- help: after a search, show the cursor only when something was found
- help: allocate enough space for the descriptions, so we don't crash
- help: don't crash when nano was started with --noread
- help: don't cycle forward in the buffers when exiting from help
- help: keep the same position also after M-\ or M-/ has been used
- help: keep the text at the same position when the screen is resized
- help: remove the final blank line, so <End> does the same as all <Down>
- help: set tabsize to the default width while showing a help text
- help: suppress nano's name and number to make it clearer this is help
- help: use a dedicated syntax to color shortcuts in a help text
- help: when searching, do it forward, without case, and without regexes
- input: avoid crashing when resizing the window during verbatim input
- options: allow -U (--quickblank) to be used in the tiny version
- scrolling: don't bother to limit the number of lines to step back
- startup: warn about a strange character size only in the UTF-8 case
- syntax: nanohelp: change the hue of the keystrokes to match sample.nanorc
- tweaks: add a warning for a condition that should never occur
- tweaks: add three warnings for conditions that should never occur
- tweaks: avoid an unused-variable warning
- tweaks: be more precise about what --disable-extra does
- tweaks: check for an empty needle in a central place
- tweaks: complete the exclusion of backups and such from the tiny version
- tweaks: condense two bits of code, and drop two asserts
- tweaks: distinguish (in the comments) between buffers and linestructs
- tweaks: drop a bunch of asserts
- tweaks: elide a function that is used just once
- tweaks: fix compilation with --enable-tiny --enable-color --enable-speller
- tweaks: fix two typos
- tweaks: remove a superfluous check
- tweaks: remove a superfluous strlen() call from the reverse searches
- tweaks: remove some superfluous placements of the cursor
- tweaks: remove two superfluous calls of wnoutrefresh()
- tweaks: rename a constant, to match the corresponding option
- tweaks: rename a function, to be more accurate
- tweaks: rename a function, to better suit what it does
- tweaks: rename another function, to better describe what it does
- tweaks: rename a parameter, to be more imperative
- tweaks: rename a variable, use a faster comparison, and reshuffle a bit
- tweaks: rename one variable again
- tweaks: rename some more of these 'rev_start' variables
- tweaks: rename three variables, elide another, and reshuffle some stuff
- tweaks: rename two variables, because this 'rev_start' is irksome
- tweaks: reshuffle a couple of lines to avoid a duplicate call
- tweaks: reshuffle help-text initialization, to elide a save-and-restore
- tweaks: reshuffle some more stuff, and rename two more variables
- tweaks: swap the names of two variables, to make more sense
- tweaks: transform the token DISABLE_MOUSE to ENABLE_MOUSE
- tweaks: transform the token DISABLE_MULTIBUFFER to ENABLE_MULTIBUFFER
- tweaks: use the logic from revstrstr() also in mbrevstrcasestr()
- tweaks: use the logic from revstrstr() also in revstrcasestr()
-
-David Lawrence Ramsey (1):
- docs: mention that also numbercolor overrides boldtext
-
-Rishabh Dave (1):
- new feature: add a search facility to the help viewer
-
-
-Changes between v2.8.0 and v2.8.1:
-----------------------------------
-
-Benno Schulenberg (33):
- bindings: make ^Home and ^End go to top and tail of buffer
- bindings: make ^Up/^Down go to first/last row in the file browser
- bindings: use arrows instead of words to designate the cursor keys
- bump version numbers and add a news item for the 2.8.1 release
- copyright: update the year in --version, and use the standard hyphen
- copyright: update the years, use ranges, and explain this usage
- display: check the correct character for being double-width
- display: with softwrap, show the cursor where the eye expects it
- docs: correct an answer to a question in the FAQ
- docs: mention another difference with Pico in the Info document
- docs: remove the self-referencing stuff and the changelog from the FAQ
- docs: trim the TODO file a bit, and put the more important items first
- editing: avoid creating blank lines when using autoindent
- files: check also for write errors when prepending, not just read errors
- gnulib: update to current state
- linting: treat a tab as one "column", not eight
- linting: when no is said to a file, remove all corresponding entries
- moving: when determining where we are on the screen, use placewewant
- tweaks: adjust a couple of comments
- tweaks: again use memory on the stack instead of malloc() and free()
- tweaks: close the backup file also when we skip making a backup
- tweaks: delete a function that hasn't been used since 2005
- tweaks: delete unnecessary function prototypes
- tweaks: elide a variable and a pair of braces
- tweaks: fix some inconsistencies in an old Changelog
- tweaks: fix two typos in the NEWS file
- tweaks: group ^D and ^H together in the help lines
- tweaks: keep the help text aligned, also with the narrow arrows
- tweaks: put M-A before ^6, to look better above M-6 in the help lines
- tweaks: put unshifted shortcuts ^6 and M-6 first, instead of ^^ and M-^
- tweaks: reduce the number of additions that actual_x() performs
- tweaks: replace a function call or a macro with a hard number
- tweaks: use memory on the stack instead of calling malloc() and free()
-
-David Lawrence Ramsey (5):
- bindings: use arrows instead of words for search history too
- display: show '<' and '>' placeholders for characters that get split
- input: support escape sequences for ^Home and ^End
- scrolling: properly compensate for the onscreen chunks
- tweaks: avoid a compilation warning
-
-Kamil Dudka (1):
- backup: prevent a symlink attack by operating on the file descriptor
-
-Mike Frysinger (2):
- configure: fix up word boundary regex logic now that we have gnulib
- configure: ignore the REG_ENHANCED test when we use gnulib
-
-
-Changes between v2.7.5 and v2.8.0:
-----------------------------------
-
-Benno Schulenberg (56):
- bindings: accept "q" and "x" to exit from help viewer and file browser
- bindings: group the three search-again shortcuts together
- bump version numbers and add a news item for the 2.8.0 release
- docs: mention some more differences with Pico in the Info document
- files: drop the pointless "[from ./]" from the insert-file prompt
- files: on second thought... keep the "[from ./]"
- input: count a manually entered unicode as one character
- moving: don't try to redraw lines that have gone outside the viewport
- moving: /do/ redraw the prior line when the viewport hasn't changed
- moving: the current chunk cannot be beyond the last chunk of a line
- oops -- that's what you get when you don't test things before pushing
- painting: don't try to start highlighting before column zero
- screen: don't push the longer-line indicator ($) to the next row
- spelling: keep the cursor at end-of-line if it was there
- startup: add option 'nopauses' to disable pausing after a warning
- tweaks: add a warning for a condition that should never occur
- tweaks: avoid a few needless reallocations
- tweaks: chuck some debugging stuff and some useless asserts
- tweaks: condense some declarations by reshuffling
- tweaks: correct some formatting irregularities in the FAQ
- tweaks: don't loop over an initializer
- tweaks: don't optimize for the wrong case
- tweaks: don't turn the mark off before it's needed
- tweaks: ehm... the warning is more important for the softwrap case
- tweaks: elide an intermediate variable
- tweaks: elide a small intermediate buffer
- tweaks: elide a variable
- tweaks: elide two variables, and condense some statements
- tweaks: factor out a bit of common code
- tweaks: fix compilation with --enable-tiny --enable-help
- tweaks: frob a couple of comments
- tweaks: frob some parentheses and other things, to be more consistent
- tweaks: gettextize a forgotten error message
- tweaks: make WhereIsNext available in browser in tiny version
- tweaks: mark a message for translation
- tweaks: optimize determining the number of columns that a text spans
- tweaks: reduce the scope of five variables, and frob some comments
- tweaks: remove a disabled warning, and adjust a translator hint
- tweaks: rename and shorten a small helper function
- tweaks: rename a variable and invert its logic
- tweaks: rename a variable, drop a false assert, and reshuffle a bit
- tweaks: rename three variables, to better distinguish bytes from columns
- tweaks: rename two variables, to be more distinctive
- tweaks: reshuffle some lines and adjust some comments
- tweaks: reshuffle some more lines and improve four comments
- tweaks: reshuffle some statements, to avoid double assignments
- tweaks: reshuffle the bindings to group things more logically
- tweaks: reshuffle three statements, and shorten a comment
- tweaks: reshuffle two declarations for a more consistent order
- tweaks: shorten a bit of logic
- tweaks: simplify and correct a computation
- tweaks: suggest a separate color scheme for root
- tweaks: trim a displayable string in a more efficient manner
- tweaks: use two extra variables to make it clearer what is being done
- usage: don't mention +LINE,COLUMN as an option, because it isn't
- wrapping: add the correct char length when skipping consecutive blanks
-
-David Lawrence Ramsey (52):
- configure: don't check for the existence of iswspace() anymore
- display: don't compensate for chunks before firstcolumn
- display: don't draw more chunks than the screen can hold
- display: limit an optimization to non-softwrap mode
- display: make PageUp/PageDown use the correct beginning of the viewport
- docs: update README.GIT for gnulib-related changes
- files: revamp the insertion of a file, to be more like pasting text
- moving: determine the correct leftedge when paging up/down too
- replacing: fix spotlight() to highlight words properly in softwrap mode
- softwrap: account for firstcolumn in reset_cursor()
- softwrap: account for firstcolumn when checking for offscreen current
- softwrap: account for firstcolumn when scrolling up a line
- softwrap: account for softwrap in get_page_start()
- softwrap: account for softwrapped chunks when adding text
- softwrap: account for softwrap when checking whether current is offscreen
- softwrap: add two chunk-iterator functions
- softwrap: adjust firstcolumn when the window width changes
- softwrap: count softwrapped chunks properly in do_gotolinecolumn()
- softwrap: count softwrapped chunks properly in do_uncut_text()
- softwrap: count softwrapped chunks properly in read_file()
- softwrap: improve End's behavior with softwrapped chunks
- softwrap: improve Home's behavior with softwrapped lines
- softwrap: improve Left and Right's behavior with softwrapped chunks
- softwrap: improve PageUp and PageDown's behavior with softwrapped chunks
- softwrap: improve Up and Down's behavior with softwrapped chunks
- softwrap: iterate through softwrapped chunks better in do_mouse()
- softwrap: iterate through softwrapped chunks in adjust_viewport()
- softwrap: iterate through softwrapped chunks in edit_scroll()
- softwrap: move the updating of a softwrapped line to a new function
- softwrap: prepare for a more flexible viewport
- softwrap: remove and replace workarounds for firstcolumn
- softwrap: save and restore firstcolumn when copying text
- softwrap: save and restore firstcolumn when internally spell-fixing text
- softwrap: save and restore firstcolumn when replacing text
- softwrap: save firstcolumn when justifying, restore it when unjustifying
- speller: fix replacing marked text in the alternate spell checker
- syntax: nanorc: color also the option "linenumbers" as being valid
- tweaks: add a parameter to do_home() and do_end()
- tweaks: fix a comment typo
- tweaks: mention nano's ability to read from standard input in usage()
- tweaks: move comments outside of if blocks in break_line()
- tweaks: prepare for improvements to do_home() and do_end()
- tweaks: remove cluttering #ifdefs from break_line()
- tweaks: rename need_horizontal_scroll() to line_needs_update()
- tweaks: slightly optimize an allocation in display_string()
- tweaks: stop converting text once we overshoot span columns
- undo: fix undoing/redoing insertions, since they no longer do partitioning
- usage: mention the -g/--showcursor option
- weeding: remove ensure_line_is_visible()
- weeding: remove maxlines and related code
- weeding: remove partitioning and related stuff from do_insertfile()
- weeding: remove partitioning and related stuff from do_justify()
-
-Hans-Bernhard Broeker (1):
- tweaks: make sure calls to <ctype.h> functions/macros use "unsigned char"
-
-Mike Frysinger (19):
- add an explicit test for set_escdelay()
- add support for gnulib
- assume getopt_long support is always available
- assume regex.h support is always available
- configure: require autoconf-2.69/automake-1.14
- configure: require gettext-0.18.3, and drop our bundled m4 files
- drop the getdelim/getline fallback functions
- drop the glib fallback for snprintf/vsnprintf
- drop the isblank/iswblank fallback functions
- drop the wchar.h/wctype.h/stdarg.h checks
- drop various str fallback functions
- fix build on systems without pwd.h
- handle builds on systems without termios.h
- handle deficient signal systems
- pull in the glob module from gnulib
- pull in the lstat module from gnulib
- pull in the nl_langinfo & wcwidth modules from gnulib
- pull in the sys_wait module from gnulib
- tweaks: disable gnulib's workaround for the globbing of broken symlinks
-
-
-Changes between v2.7.4 and v2.7.5:
-----------------------------------
-
-Benno Schulenberg (65):
- bump version numbers and add a news item for the 2.7.5 release
- files: leave out the confusing "[from ./]" when prompting for a command
- general: stop the spell checker from crashing after the changes in search
- justify: reduce the character count when trimming trailing spaces
- painting: account for index maybe being zero after the preceding change
- painting: advance only when both start /and/ end match are zero-length
- painting: do not bluntly ignore zero-length start matches -- handle them
- painting: do not let a match for 'end' overlap a match for 'start'
- painting: don't look at the current multidata when coloring a line
- painting: make use of the multidata of the preceding line
- painting: mark an unpaired start match as CWOULDBE
- painting: properly detect a change in start/end matches
- painting: properly look for a new start match only after the end match
- painting: stay within the line when skipping zero-length matches
- painting: when skipping a zero-length match, skip a character, not a byte
- rcfile: don't accept empty regexes for syntax coloring
- replacing: compensate cursor position only for replacements /before/ it
- replacing: detect when the whole region has already been covered
- replacing: don't go outside of the selected region
- replacing: ignore the first match when the user said no
- replacing: start at the region's edge instead of one step before it
- replacing: stop searching in a region when edge of buffer is reached
- screen: don't compare a character index with a column position
- screen: ehm... no, that was wrong: page_start /is/ a column position
- search: begin from where we are, to be able to find the first \B
- search: make the \b and \B anchors work correctly in both directions
- spelling: correctly adjust the length of a single-line region
- spelling: don't unnecessarily fiddle with the viewport
- startup: report an error when the given line or column number is invalid
- statusbar: display at most three consecutive alert messages
- tweaks: adjust some comments, reshuffle a line, and use a while loop
- tweaks: adjust two comments, to be more accurate
- tweaks: adjust whitespace after preceding changes
- tweaks: and rename another variable, to keep in style
- tweaks: chuck some obscuring debugging stuff
- tweaks: condense a comment, rename a variable, and use a while loop
- tweaks: differentiate single-regex matches from paired-regex matches
- tweaks: discard the now unused multidata-resetting routine
- tweaks: elide a variable plus its corresponding dark logic
- tweaks: fiddle with some wordings in the texinfo document
- tweaks: free an option string also when it was invalid
- tweaks: move a comment and rewrap a line
- tweaks: normalize some paragraph formatting in the FAQ
- tweaks: rearrange some code to separate softwrap and normal mode more
- tweaks: rename a function, and drop an unneeded parameter
- tweaks: rename a function, to show it refers to screen rows
- tweaks: rename another variable, to be shorter
- tweaks: rename a variable and condense an if
- tweaks: rename a variable -- lines refers to buffer, rows to screen
- tweaks: rename a variable, to be more general
- tweaks: rename a variable, to be more general and match one elsewhere
- tweaks: rename some variables, to better distinguish rows from lines
- tweaks: rename some variables, to show they refer to screen rows
- tweaks: rename two variables, and always pass a valid result back
- tweaks: rename two variables, to avoid double negatives
- tweaks: reshuffle an assignment and trim some comments
- tweaks: reshuffle a test to a better place
- tweaks: reshuffle three variables
- tweaks: scrap a bunch of debugging lines -- they obscure the logic
- tweaks: scrap some debugging stuff
- tweaks: slightly speed up the change detection for multiline matches
- tweaks: swap two blocks of code to reduce the number of #ifdefs
- tweaks: update some copyright years
- tweaks: use a cheaper way to detect an end-of-line
- tweaks: use a subtraction instead of a counter
-
-David Lawrence Ramsey (16):
- docs: mention the ability to read from stdin
- screen: don't hide two-column characters at left edge in softwrap mode
- tweaks: adjust and correct some comments
- tweaks: always directly do a refresh when the margin changes
- tweaks: do a comparison a bit differently in do_output() and do_deletion()
- tweaks: fix compilation when configured with --enable-tiny
- tweaks: improve comments and formatting in update_line()
- tweaks: let update_line() return the correct value on error
- tweaks: reduce duplicate code in new_magicline() and move_to_filestruct()
- tweaks: rename a variable and adjust some types in edit_scroll()
- tweaks: rename a variable in edit_redraw(), to make sense
- tweaks: rename a variable in edit_scroll(), to make sense
- tweaks: rename mouse_x & mouse_y to mouse_col & mouse_row in do_mouse()
- tweaks: rename the functions for moving to and copying from a buffer
- tweaks: rewrap two lines and fix two typos
- tweaks: split the grafting code off from copy_from_buffer()
-
-Mike Frysinger (3):
- syntax: c++: add override keyword
- syntax: gentoo: flag mixed whitespace
- syntax: gentoo: match .eblit files too
-
-
-Changes between v2.7.3 and v2.7.4:
-----------------------------------
-
-Benno Schulenberg (48):
- build: check for GNU-style word-boundary support also in the tiny version
- build: include the old Changelogs in the tarball
- build: install the Info and Html manuals even when 'makeinfo' is missing
- build: move all documentation into a single directory
- build: move the syntax files out of the doc/ directory
- build: rename the sample config file, so it will be colored like a nanorc
- bump version numbers and add a news item for the 2.7.4 release
- copy: properly set preferred x position when region was marked backwards
- cut: indicate a buffer as modified only if actually something was deleted
- docs: add a new Changelog -- a list of the short commit messages
- docs: bring some air into the FAQ, so that <Ctrl+Up/Down> become useful
- docs: fix some spellos and trim some trailing tabs in the old Changelog
- docs: rename the Changelogs to indicate which periods they cover
- docs: snip some obsolete items from the FAQ, and normalize its dates
- docs: standardize the dates in the old Changelog
- inserting: adjust the desired x position (don't restore the old one)
- screen: examine the whole line when painting, to set the correct info
- search: make a regex with a beginning-of-word anchor work correctly
- softwrap: don't scroll half a page when just a few lines will do
- softwrap: when pasting an overlong line, ensure it is fully visible
- softwrap: when typing M-/, ensure the last line is fully visible
- syntax: html: be more precise with tags, and paint attribute names
- tweaks: adjust whitespace after the previous change
- tweaks: chuck a couple of useless asserts
- tweaks: condense two ifs to a single one
- tweaks: discard some conditional compilation
- tweaks: don't compare a character offset with a column position
- tweaks: don't use a variable for two different purposes
- tweaks: fix compilation when configured with --disable-wrapping
- tweaks: frob some comments, and transform one variable
- tweaks: frob some comments, elide a variable, and use 'while' loops
- tweaks: if there is no end match, there is nothing to paint
- tweaks: miscellaneous frobbings
- tweaks: rearrange and reindent some lines in the painting routines
- tweaks: remove the cluttering conditional compilation of a parameter
- tweaks: rename another variable, to show it refers to columns not chars
- tweaks: rename a variable, chuck an assert, and frob a comment
- tweaks: rename three painting variables, to be more distinct
- tweaks: rename two variables, for distinguishing characters from columns
- tweaks: rename two variables to be just one as they play the same role
- tweaks: rename two variables, to be more telling
- tweaks: reshuffle a statement to a better place and condense some comments
- tweaks: set the length of a search match in a clearer manner
- tweaks: slightly condense a function and its comment
- tweaks: terminate lots of sentences with a period in the old Changelog
- tweaks: the starting point for painting /cannot/ be offscreen
- tweaks: when allow_tabs is FALSE, allow_files is irrelevant
- undo: properly create separate items for deletes at different positions
-
-David Lawrence Ramsey (7):
- screen: properly place the cursor after inserting a file
- softwrap: ensure the current line is fully visible after inserting a file
- tweaks: avoid an unnecessary fiddling with current_y in do_mouse()
- tweaks: line numbers are ssize_t, not int
- tweaks: move a setting, fix a type, and rearrange a line in do_mouse()
- weeding: remove another unnecessary setting of openfile->current_y
- weeding: remove unnecessary settings of openfile->current_y
-
-Felix Janda (1):
- speller: fix build when tiny build is enabled
-
-
-Changes between v2.7.2 and v2.7.3:
-----------------------------------
-
-Arturo Borrero González (1):
- syntax: nftables: add two new families, and add set references
-
-Benno Schulenberg (62):
- binding: use plain codes instead of function calls for the jumping keys
- binding: use the code for the Enter directly instead of a function call
- bump version numbers and add a news item for the 2.7.3 release
- chars: optimize for the most common case
- chars: use memory on the stack instead of calling malloc() and free()
- docs: clarify the difference between "Esc Esc ddd" and "M-V xxxxxx"
- files: don't change embedded newlines into nulls in filenames
- files: show newlines in filenames as ^J also in error messages
- general: simplify the detection of a SIGWINCH
- history: avoid crashing when the positionlog file is malformed
- history: don't bother encoding search items -- they cannot contain newlines
- history: encode newlines in filenames as nulls
- history: search for the two position numbers from EOL instead of BOL
- history: search items *can* contain newlines -- encoded NUL bytes
- input: detect again when both Shift and Ctrl are being held on a VT
- input: discard a verbatim 0x0A or 0x00 byte, depending on the mode
- input: don't crash when receiving a KEY_CANCEL
- locking: disable an annoying warning
- memory: don't bother making a snug fit for things that will be freed soon
- oops: forgot to add and amend this to the previous commit
- po: update translations and regenerate POT file and PO files
- prompt: do not treat a leading newline in a filename specially
- prompt: represent newlines as ^J instead of breaking the bar
- screen: display byte value 0x0A in the right places as ^@ or as ^J
- screen: draw new content immediately, to prevent color flashes
- screen: show an embedded newline in filenames as ^J instead of ^@
- text: avoid a crash when a spell-checked line has gotten shorter
- text: discard the undo stack after formatting and after spell checking
- titlebar: always pass a pathname through display_string()
- tweaks: adjust some comments and indentation and ordering
- tweaks: chuck a special case, and reduce the scope of two variables
- tweaks: condense the setting of three flags
- tweaks: conditionalize a function that is not used in the tiny version
- tweaks: delete a bunch of unneeded asserts
- tweaks: don't bother making the next line of an end point NULL
- tweaks: don't bother reallocating a string of which there is only one
- tweaks: don't bother trimming the final newline from a position item
- tweaks: drive closer to the edge
- tweaks: elide a counter and a comparison
- tweaks: elide a function that is called just once
- tweaks: move a setting to a better place -- it needs setting just once
- tweaks: put some prototypes in the proper order, and move a bit of code
- tweaks: remove pointless or obscuring asserts
- tweaks: rename a function to describe what it does
- tweaks: rename a function to something less abbrevy
- tweaks: rename a variable and rewrap two lines
- tweaks: rename a variable to be shorter and clearer
- tweaks: rename five variables, for uniformity with a few others
- tweaks: rename four variables, for density and aptness
- tweaks: rename three variables, for visibility
- tweaks: rename three variables, to be more fitting
- tweaks: rename two variables, for self-documentation
- tweaks: retype, rename, and reshuffle a function
- tweaks: start searching at a better place
- tweaks: use a faster comparison
- tweaks: use a slightly faster comparison
- tweaks: use memory on the stack instead of calling malloc() and free()
- tweaks: write two pieces of conditionalized code like all others
- undo: there are just two forms of deletion: backspacing and deleting
- utils: go on to parse the line number even if the column number is bad
- utils: slightly speed up the calculation of the size of a buffer
- version: properly mention --disable-wordcomp if it was used
-
-David Lawrence Ramsey (2):
- tweaks: adjust the type of two arguments
- tweaks: elide two unneeded variables from line numbering mode
-
-
-Changes between v2.7.1 and v2.7.2:
-----------------------------------
-
-Benno Schulenberg (53):
- binding: allow to rebind the word-completion function, and document it
- binding: always initialize some keycode variables to a standard value
- build: add configure option --disable-wordcomp to disable word completion
- build: clean out the revision.h file, to make 'make distcheck' pass
- bump version numbers and add a news item for 2.7.2
- docs: correct and improve the description of --disable-wrapping
- docs: harmonize the indentation of the README, and tweak some wordings
- docs: mention that a foreground color can be bright
- docs: mention that libncursesw5-dev is needed for building from git
- docs: note Sumedh as the author of the word-completion feature
- docs: tweak some lines in the NEWS file
- files: trying to open a non-existent file will never succeed
- input: add the shifted PageUp and PageDown keycodes produced by VTE
- input: distinguish <Alt+Left> from <Alt+Right> on an rxvt terminal
- input: distinguish <Shift+Home> from <Home> on an rxvt terminal
- mouse: use the correct screen width for calculating the cursor position
- oops: the yesno prompt for replacing does not want a visible cursor
- po: update translations and regenerate POT file and PO files
- prompt: remove two fragments of dead code
- rcfile: actually avoid opening directories and devices
- rcfile: actually don't try to open things that cannot be syntax files
- rcfile: check the vital shortcuts just once, not for every included file
- rcfile: let a 'set fill' reenable hardwrapping
- screen: do a refresh before changing the value of 'focusing'
- screen: don't hide the cursor when --constantshow is used
- screen: don't request an update of the edit window for every yesno prompt
- screen: don't restore the previous menu after a yesno prompt
- screen: remove an unneeded blanking of the statusbar
- screen: switch the cursor back on only in the main loop
- screen: use the correct width to determine whether a softwrap occurred
- spelling: correctly restore the selected region
- startup: activate restricted mode earlier, so --help will reflect it
- syntax: don't leave the number after 'fill' and 'tabsize' in red
- syntax: give the statistics part of a git patch a different color
- tweaks: add a few translator hints
- tweaks: correct the wording of a string
- tweaks: delete some obscuring debugging stuff
- tweaks: factor out a small function
- tweaks: fix compilation when configured with --enable-tiny
- tweaks: get rid of some spurious textual references to edit_refresh()
- tweaks: miscellaneous frobbings and rewrappings
- tweaks: move a cursor-on switch to a more logical place (again)
- tweaks: move a switching on of the cursor to a more logical place
- tweaks: remove a bit of obscuring conditional compilation
- tweaks: remove an annoying conditional compilation of an argument
- tweaks: remove a superfluous cleanup call
- tweaks: remove some cluttering conditional compilation
- tweaks: remove some more annoying conditional compilation
- tweaks: rename two variables to make more sense
- tweaks: replace some unneeded direct calls of edit_refresh()
- tweaks: reshuffle some things in a more linear manner
- tweaks: reshuffle three initializations and trim some comments
- tweaks: use a while loop when the end point is not known in advance
-
-David Lawrence Ramsey (8):
- docs: add info about Slang to README.GIT, and improve info about glib2
- files: give feedback when restricted mode prevents overwriting a file
- general: gettextize three overlooked statusbar messages
- input: make Shift+Alt+Arrow work properly on rxvt and Eterm terminals
- input: properly check the full escape sequences for all keys
- moving: always account for the margin when in line numbering mode
- tweaks: adjust the type of four lockfile variables
- tweaks: conditionalize a bit of softwrap code
-
-Mike Frysinger (3):
- configure: fix ncurses lib symbol checking
- syntax: avoid using black colors
- syntax: gentoo: various updates
-
-Sumedh Pendurkar (1):
- new feature: complete a fragment to a longer word found in the buffer
-
-
-Changes between v2.7.0 and v2.7.1:
-----------------------------------
-
-Benno Schulenberg (71):
- binding: fix some duplicated carets and too restrictive menus
- binding: properly conditionalize the UTF-8 parts
- binding: supply the keycode for most special keys directly
- binding: use arrows instead of words to designate the cursor keys
- browser: add the option showcursor, to place the cursor on the highlight
- build: avoid an annoying warning at configure time
- build: avoid updated PO files being remerged upon every make
- bump version numbers and add a news item for 2.7.1
- docs: add 'linenumbers' and 'numbercolor' to the sample nanorc
- docs: add 'set linenumbers' and '--linenumbers' to the texinfo document
- docs: brush up the TODO list
- docs: mark some rebindable function names as deprecated
- docs: mention the existence of the toggles in the man page
- docs: refresh some info in the FAQ
- docs: remove a reference that was only valid on Debian systems
- files: alert about an unwritable file also in the tiny version
- files: mark a new buffer as modified after inserting command output
- general: add the option -g/--showcursor, to match Pico
- general: include word-jumping and block-jumping into the tiny version
- history: slate the search-history migration for removal
- input: don't return zero when some function is completely unbound
- input: handle the "resize key" in a better way
- input: keep the Ctrl+Arrow keys working when their synonyms are unbound
- moving: adjust the Y position to correspond with the changed X position
- po: update translations and regenerate POT file and PO files
- rcfile: add an option to customize the color of line numbers
- screen: defeat a VTE bug by doing an extra cursor move and update
- screen: keep the help items aligned in more configurations
- screen: keep the help items nicely lined up also in the tiny version
- screen: move the margin determination to the main loop
- screen: refresh when a new magicline is added in line-numbering mode
- screen: repaint the edit window in a single place -- the main loop
- screen: suppress line numbers when the terminal is very narrow
- scrolling: don't put the last line at the bottom when softwrap in on
- scrolling: use a comparison that will work also in softwrap mode
- softwrap: ensure the current line is fully visible when moving in it
- softwrap: initialize 'editwincols' early, for computing the number of wraps
- softwrap: scroll 'enough' whenever it surpasses 'amount'
- softwrap: scroll the current line fully into view when jumping words
- softwrap: scroll when searching lands on an overlong bottom line
- startup: allow to rebind the RegExp toggle also in the tiny version
- startup: always initialize 'margin' and 'editwincols'
- syntax: make the contents of the X-Bugs field in a PO file stand out
- syntax: show another deprecated keyword (replace2) in red
- syntax: show deprecated keywords in red, and 'wordchars' in green
- tweaks: adjust some comments and reduce the scope of some variables
- tweaks: adjust some indentation
- tweaks: adjust some whitespace and a comment
- tweaks: compile two parameters unconditionally
- tweaks: don't bother redrawing some lines when whole screen will be redrawn
- tweaks: don't spread a statement over multiple lines unnecessarily
- tweaks: elide an unneeded variable
- tweaks: elide a parameter that is always FALSE
- tweaks: fix compilation when configured with --enable-tiny
- tweaks: frob a few comments
- tweaks: make several small adjustments to the documentation
- tweaks: make tiny nano a teeny bit smaller
- tweaks: move a variable that doesn't need to be global
- tweaks: preen some comments, and reshuffle a few ifdefs
- tweaks: remove a band-aid condition that is no longer needed
- tweaks: remove a bit of duplication
- tweaks: remove a superfluous blanking of the statusbar
- tweaks: remove a superfluous setting, and add a comment
- tweaks: remove a useless cursor movement
- tweaks: rename a function to better describe what it does
- tweaks: rename a variable, for consistency
- tweaks: reshuffle a couple of items
- tweaks: reshuffle an if statement
- tweaks: reshuffle some ifdefs, for less fragmentation
- tweaks: stop compiling the whole_word_only parameter conditionally
- tweaks: use hard-baked keycodes where possible
-
-Faissal Bensefia (1):
- new feature: the ability to show line numbers before the text
-
-Rishabh Dave (2):
- rcfile: reject key names that are wrong or too long
- rcfile: reject rebindings that have no effect or have side effects
-
-
-Changes between v2.6.3 and v2.7.0:
-----------------------------------
-
-Benno Schulenberg (47):
- AUTHORS: add Mahyar Abbaspour and Mike Scalora for their contributions
- bottombar: only count help items that have a shortcut bound to them
- bump version numbers and add a news item for 2.7.0
- docs: explain how to contribute code
- files: close a lockfile after reading it
- input: ignore the resize "key", to prevent reporting an unbound key
- input: look at the modifier keys only when compiled on Linux
- input: unset a softmark whenever a character is typed
- moving: make PgUp and PgDown functional also in very flat terminals
- new feature: allow text selection by holding Shift with the cursor keys
- po: update translations and regenerate POT file and PO files
- prompt: don't crash when the terminal is less than four columns wide
- prompt: leave always at least the last character of the answer visible
- prompt: mouse clicks that moved the cursor need no further processing
- prompt: recompose the statusbar text whenever the window size changes
- prompt: set up the prepared answer before allowing to change it
- prompt: show a trailing $ when the tail of the answer is offscreen
- prompt: use angular brackets as continuation mark, as Pico does
- prompt: work around a VTE bug by outdancing an ncurses optimization
- restore the GNU marker in nano's name
- screen: continue to function also in a terminal with very few lines
- screen: don't die when the window is narrower than four columns
- screen: retain the placewewant also when using an alternate speller
- startup: don't crash when dying early
- statusbar: leave out the brackets when the message is very long
- tweaks: adjust indentation after previous change
- tweaks: adjust indentation after previous change
- tweaks: adjust some braces and indentations
- tweaks: adjust some comments and remove needless asserts
- tweaks: don't bother avoiding unneeded rewrites of the promptbar
- tweaks: don't bother trimming the prompt again
- tweaks: elide a variable and rename some others
- tweaks: fix compilation when configured with --with-slang
- tweaks: fix compilation with --disable-histories
- tweaks: fix compilation with --enable-tiny again
- tweaks: improve some indentation and reshuffle a few lines
- tweaks: make a call in one place instead of in four different ones
- tweaks: remove an unneeded check, reshuffle some things, add a comment
- tweaks: rename a function and adjust indentation
- tweaks: rename three variables
- tweaks: rename two variables, to make some sense
- tweaks: reshuffle some stuff in a more logical order
- tweaks: reshuffle some things, and remove a misplaced comment
- tweaks: simplify the determination of the number of shown help items
- tweaks: use a separate function to ask ncurses for keycodes
- update the copyright notices
- update the license text to the preferred version
-
-
-Changes between v2.6.2 and v2.6.3:
-----------------------------------
-
-Benno Schulenberg (53):
- bump version numbers and add a news item for 2.6.3
- chars: don't persist when only one of the compared sequences is invalid
- chars: make searching case-insensitively some ten percent faster
- chars: properly compare strings of different lengths
- chars: remove a special case that never occurs
- chars: remove superfluous afterchecks
- chars: straighten out the flow of a loop, so it is easier to follow
- debug: add a timing instrument to the main search routine
- docs: tweak some spacing and spelling
- files: avoid a warning about not being able to write a lockfile
- files: make allowances for 32-bit PIDs
- input: after an Esc, don't discard starter byte of a multibyte sequence
- input: be more strict in recognizing certain escape sequences
- input: don't bother putting a keycode into byte range
- input: don't use a function call when a literal value will do
- input: fix a pasto from eight years ago, from commit e347efb
- input: ingest as verbatim just one control code or one or two escapes
- input: make the Ctrl+Arrow keys work on a Linux console
- locking: remove any lock files when dying
- po: update translations and regenerate POT file and PO files
- screen: don't look at placewewant but at where we actually were and are
- screen: remove redundant redrawings of the entire edit window
- shortcuts: group the setting of key string and keycode into one function
- shortcuts: remove any unnecessary classifying of keys
- spelling: don't abort when a misspelled word isn't found, just note it
- spelling: don't consider digits as word parts, because GNU spell doesn't
- tweaks: add a variable, in preparation for making returning easier
- tweaks: adjust indentation after previous changes
- tweaks: adjust indentation after the previous changes
- tweaks: check earlier on for sufficient length of the sequence
- tweaks: compile a parameter unconditionally
- tweaks: condense three asserts into a single one
- tweaks: consistently use a parameter instead of a struct element
- tweaks: correct one comment, and adjust another
- tweaks: don't bother setting meta_key to false when a key is invalid
- tweaks: don't optimize for a special case -- it is far too seldom
- tweaks: don't use a function call when reference to the variable will do
- tweaks: elide the global variable 'func_key'
- tweaks: move some debugging stuff, and move modified editing keys too
- tweaks: move the modified editing keys again
- tweaks: normalize some indentation
- tweaks: normalize some whitespace and adjust several comments
- tweaks: reduce two comparisons to a single one
- tweaks: remove some unnecessary keycodes from a switch statement
- tweaks: rename a function, and adjust some comments
- tweaks: rename a struct element, to be more fitting
- tweaks: rename three constants, for clarity, and hardcode two others
- tweaks: replace a three-case switch with an if and an else
- tweaks: reshuffle two ifs for a little more speed
- tweaks: restore earlier conditions to prevent superfluous redrawings
- tweaks: return quicker from the key parsing routine
- tweaks: unconditionally compile a couple of parameters
- usage: show that the option --wordchars needs an argument
-
-Rishabh Dave (1):
- shortcuts: zero the value of 'toggle' for keys that are not toggles
-
-
-Changes between v2.6.1 and v2.6.2:
-----------------------------------
-
-Benno Schulenberg (81):
- browser: elide another call of opendir()
- browser: trim all trailing slashes (just in case there are more)
- build: refresh the git description whenever something is recompiled
- build-sys: ignore the revision header file
- bump version numbers and add a news item for 2.6.2
- chars: delete a now-unused function
- chars: don't try to see a character in an empty line
- chars: invalid sequences are not blank, nor text, nor punctuation
- chars: look at bytes in their context, so only valid sequences are accepted
- chars: measure invalid sequences and unassigned codepoints more quickly
- chars: plug a gushing memory leak
- chars: represent the high-bit controls more intelligibly
- chars: speed up the determination whether something is a control character
- chars: speed up two reverse-searching routines a bit
- chars: the representation of a control character is always two bytes
- color: forget about aborting the precalculation for multiline regexes
- color: integrate the hilite attribute into the pair number
- color: push the resets further when start and end match are equal
- color: refresh the screen whenever the active syntax changes
- credits: don't bother blanking the second line nor the help lines
- debug: remove duplicate information
- files: beep whenever writing out a file fails
- input: accept only the four iTerm sequences that actually get handled
- input: add some missing keycodes to the parsing routine
- input: consider only O, o and [ as starters of multi-character sequences
- input: don't crash when the window is resized during verbatim input
- input: don't drop a keystroke on the floor when the terminal resizes
- input: don't drop the first byte when user starts typing during loading
- input: elide an extra buffer for inserting stuff into the text
- input: plug a memory leak
- input: report keystroke M-[ as being unbindable instead of just unbound
- input: treat Ctrl+Alt+key different from Esc followed by Ctrl+key
- moving: don't do an automatic smart home with Ctrl+Up and Ctrl+Down
- new feature: add the option --wordchars, to set extra word characters
- new feature: functions to jump to previous or following block of text
- po: update translations and regenerate POT file and PO files
- screen: again, look at the bytes in their context
- screen: avoid converting each character twice from multibyte to wide
- screen: avoid looking up the width of whitespace and control codes
- screen: don't check for every character whether there is still enough space
- screen: don't simulate a sigwinch but directly reinitialize the screen
- screen: elide another intermediate buffer for every visible character
- screen: elide the intermediate buffer for every single character
- screen: include a workaround only when compiling against older ncurses
- search: match a beginning-of-line anchor just once per line
- tweaks: adjust a comment for removed definitions
- tweaks: adjust a couple of comments
- tweaks: adjust indentation after the previous change, and edit comments
- tweaks: avoid a runtime error when compiled with -fsanitize=undefined
- tweaks: avoid two compiler warnings
- tweaks: compute the sizes of the subwindows in a more direct manner
- tweaks: correct a comment
- tweaks: delete an element that is always FALSE and never used
- tweaks: don't bother resetting the Unicode code holder
- tweaks: don't call a thing malloc... when it doesn't call malloc()
- tweaks: elide a bit of code duplication
- tweaks: elide a typedef, as it now has just one element
- tweaks: elide two unneeded variables
- tweaks: factor out a common condition
- tweaks: fix compilation with --enable-tiny
- tweaks: fuse two handlings of a delete key, and fix a comment
- tweaks: improve a few comments
- tweaks: improve two comments
- tweaks: move a debug statement to its proper place, and improve aspect
- tweaks: put all the movement functions together
- tweaks: put similar things together
- tweaks: put some case labels closer to their statements
- tweaks: put the case labels (the keycodes) in a more sensible order
- tweaks: rearrange a function in my style, and rename a variable
- tweaks: reduce the scope of two variables
- tweaks: rename another variable, for aptness
- tweaks: rename a variable and a type, to be less confusing
- tweaks: rename a variable to be more accurate
- tweaks: rename a variable, to clarify it refers to columns, not to bytes
- tweaks: rename a variable -- to match others and to be more concise
- tweaks: rename two variables, to match others
- tweaks: shuffle the resetting of a counter to the tail of the routine
- tweaks: straighten out the flow of a loop
- tweaks: trim some comments, and simplify a condition
- tweaks: use mallocstrcpy() instead of strdup(), for a graceful death
- utils: don't bother to check line and column for NULL
-
-David Lawrence Ramsey (1):
- input: provide feedback on the Unicode digits typed so far
-
-Dirkjan Ochtman (1):
- syntax: allow capital letters in Rust struct/trait names
-
-Rishabh Dave (4):
- browser: elide a variable by fusing the uses of 'newpath' and 'path'
- browser: select an inaccessible directory also when tabbed
- tweaks: reduce the number of wattron/wattrof calls
- utils: accept mistypings and common separators between line and column
-
-
-Changes between v2.6.0 and v2.6.1:
-----------------------------------
-
-Benno Schulenberg (20):
- browser: don't use a term that is not explained in the documentation
- bump version numbers and add a news item for 2.6.1
- docs: adjust the description of the verbatim function
- linter: refresh the edit window in order to actually place the cursor
- main: let the main loop restore the main menu, if needed
- moving: allow specifying negative numbers in "Go To Line"
- moving: ignore any number when ^Y or ^V is given
- po: make the linguas script regenerate the POT file
- po: update translations and regenerate POT file and PO files
- tabs: compute the number of required spaces without iterating
- tweaks: add a reporter's name
- tweaks: add a translator hint
- tweaks: elide an impossible case
- tweaks: elide an intermediate copy of some line data
- tweaks: elide an unneeded variable
- tweaks: fix a date and an email address
- tweaks: normalize a type, and rewrap a line
- tweaks: reshuffle two lines and improve two comments
- tweaks: rewrap a bunch of lines and some comments
- tweaks: try to distinguish between keystrokes and characters
-
-Jordi Mallach (2):
- docs: bump pointers to the newest version available
- docs: use https for nano-editor.org, and drop the www
-
-Luke Francl (1):
- syntaxes: add highlighting rules for Rust
-
-Rishabh Dave (1):
- browser: don't seem to enter a directory when it is inaccessible
-
-
-Changes between v2.5.3 and v2.6.0 since 2016 April 1:
------------------------------------------------------
-
-Benno Schulenberg (192):
- all: eradicate SVN's $Id$ tags
- backups: take an unlikely condition into account
- browser: add a binding for the refresh function
- browser: after getting a mouse click, don't try any further interpretation
- browser, files: use full path in error message when in confined mode
- browser: fix a memory leak
- browser: keep the highlight in the same spot or column, when possible
- browser: make Ctrl+Left and Ctrl+Right jump to left and right column
- browser: make the calculation of files-per-line a straightforward one
- browser: provide tab completion also outside of the working directory
- browser: rearrange the search loop to elide two unneeded variables
- browser: show a message when getcwd() fails, instead of just beeping
- browser: show an error message when selecting an inaccessible directory
- browser: use the reselection mechanism also after resizing and after help
- browser: when nothing was found, restore the global search flags
- build-sys: detect a build from git and show its short commit hash
- build-sys: identify a build from git not as one from svn
- build-sys: ignore .patch, .orig and .swp files
- chars: a control character can never be an invalid multibyte sequence
- chars: ensure that files are sorted also when strncasecmp() is strange
- chars: make comparing multibyte strings twice as fast
- chars: the representation of control characters is always two columns wide
- docs: add a list of the important changes since version 2.2.6
- docs: mention that pkg-config is needed when building from git
- docs: rename a file, to be less confusing
- docs: update the version number for the upcoming release
- files: allocate enough space for the prompt when finding a lock file
- files: do not call free on the result of dirname
- files: do not use two variables for two different purposes each
- files: don't reuse a variable that may have been modified by dirname()
- files: fix a memory leak
- files: free all the multidata when a file is saved, then recompute it
- files: handle systems that disallow NULL as first parameter of getcwd
- files: it is fine to "change" the name of a nameless buffer
- files: limit the number of attempts at climbing up the directory tree
- files: make an 'if' more transparent and snip an unneeded condition
- files: miscellaneous tweaks of braces, comments, and variable names
- files: prevent dereferencing a possible (although very unlikely) NULL
- files: prune a message to be less than 76 characters
- files: recompute the multidata only when the applicable syntax changed
- files: remove a redundant condition
- files: remove a superfluous condition, and do not ignore a "No"
- files: remove the special 'quiet' mechanism for not overwriting messages
- files: report an unwritable file in a separate message
- files: rewrap en reindent some lines
- files: tweak the function tail() and rename two variables
- files: upgrade the locking errors, so they will not be overwritten
- files: when opening a buffer, make sure to expand a tilde in its name
- files: when the requested operating directory cannot be set, fail
- files: when writing a lockfile fails, continue loading the file
- help: add an extra blank line to the lists of searching shortcuts
- help: bring some air into the lists of shortcuts, giving the eye a hold
- help: only speak of Control and Meta sequences
- i18n: advise the translators about the maximum length of some strings
- i18n: gather three more translatable strings into the POT file
- input: after an unknown sequence, reenable cursor only when in main menu
- input: distinguish an unknown escape sequence from an unbound key
- input: don't allocate too much, and don't move too many
- input: don't take multiple keystrokes to be a single sequence
- input: give more detailed feedback when an unbound key is struck
- input: properly restore waiting mode, or retain non-waiting mode
- input: simplify a bit of code, reducing a four-case switch to a single if
- input: trim some oververbose comments
- input: write a few ifs more compactly
- inserting: differentiate not finding a file from not finding a string
- inserting: don't bother zero-terminating every single character
- inserting: prune a duplicate variable
- inserting: prune some superfluous settings, and do one differently
- inserting: reshuffle some conditions for a teeny bit more speed
- inserting: strip a carriage return before copying the line
- inserting: treat also the final \r of a Mac file as a newline
- justify: enable cursor display also for the first keystroke afterward
- keyboard: reshuffle some lines to avoid an empty while
- locking: don't try to read more bytes than the buffer can hold
- po: correctly advertise whether new PO files have arrived
- po: delete an obsolete script
- po: regenerated POT file, and updated PO files from TP
- prompt: properly save and restore the x position in the statusbar
- rcfile: disallow 'bind' and 'unbind' in an included file
- rcfile: make an error message equal to another, and more informative
- README.GIT: reformat the text a bit
- remove the GNU marker from nano's name
- replacing: properly detect when we've rereached the starting position
- screen: a full refresh is only needed when softwrap is on
- screen: avoid redrawing a line twice
- screen: catch a window resize also when the keyboard is in nodelay mode
- screen: check for the most frequent character first: a space
- screen: concentrate the setting of placewewant
- screen: displaying the cursor position should not suppress it next time
- screen: don't always set 'edit_refresh_needed' when adjusting edittop
- screen: don't redraw some lines when doing a full refresh anyway
- screen: don't redraw the current line unnecessarily
- screen: elide a variable and serialize some logic for clarity
- screen: fix compilation when configured with --enable-tiny
- screen: improve the conditional placement of a help-line item
- screen: make better use of the available space in the titlebar
- screen: rename a variable, because 'disable' sounds too permanent
- screen: rename 'edit_refresh_needed' to 'refresh_needed'
- screen: when using positionlog, show as much of the file as possible
- scrolling: catch the special case of reading a file from standard input
- scrolling: center the cursor when inserted stuff does not fit on screen
- scrolling: don't scroll too much when having to bridge blank lines
- scrolling: elide a variable, to make clearer that edittop is being moved
- search: avoid saving and restoring placewewant when bracket matching
- search: don't set placewewant when we are just iterating
- search: elide an unneeded function
- search: find, and thus delete, only exact matches from history
- search: fix compilation when configured with --enable-tiny
- searching: don't keep track of current_y, but calculate it at the end
- search: modify a function to take a length as parameter instead of a word
- search: rename a variable and a function, for clarity and contrast
- search: terminate the loop a tiny bit earlier when spell checking
- search: untangle two lines and tweak two comments
- search: when looking for whole words, examine the entire line
- search: when polling the keyboard, consume all waiting keystrokes
- softwrap: adjust for current_x when computing the amount to scroll
- speller: don't proceed when the user aborts the searching
- speller: simplify the calculation of the width of the misspelled word
- spelling: don't partition the file for replacements in a marked region
- spelling: gettextize the next-word message
- spelling: if rereading the file fails, don't destroy the current buffer
- spelling: pass the correct position of the cursor
- spelling: retreat one x position, to not miss the first word
- spelling: separate the fixing of different words with a short pause
- startup: show an error message when argument of --operatingdir is invalid
- statusbar: add a non-beeping message type that does not get overwritten
- statusbar: prevent error messages from overwriting each other
- syntax: don't call getcwd() with a NULL pointer
- tabbing: avoid recalculating the length of the first match every time
- tabbing: don't null-terminate a directory name on the slash but after it
- tabbing: don't refresh the edit window when nothing was printed on it
- tabbing: fix erroneous use of strnlenpt()
- tabbing: make sure to refresh the edit window when returning to it
- tabbing: refresh the edit window in case a previous tab listed names
- tabbing: refresh the window also when Goto-Dir in browser was cancelled
- tabbing: rename four variables, snipping a redundant part
- text: add an undo item before starting to comment or uncomment lines
- text: after undoing or redoing something, unset the mark
- text: remove a pointless setting of an undo element; it is never used
- text: remove a redundant undo element
- text: store the new file size in the undo item also when joining lines
- titlebar: snip two superfluous tests for having enough space
- TODO: tidy up the punctuation
- tweaks: add come comments and rename a variable
- tweaks: adjust a couple of comments
- tweaks: a few last tiny adjustments before release
- tweaks: avoid a warning when configured with --disable-wrapping
- tweaks: do an assignment in a more transparent way
- tweaks: elide an unneeded variable
- tweaks: elide four #ifdefs, improve one comment and unwrap some others
- tweaks: elide unneeded intermediate assignments
- tweaks: fix compilation when configured with --enable-tiny
- tweaks: fix compilation when configured with --enable-tiny --enable-browser
- tweaks: harmonize some indentations, elide an #ifdef, and rewrap a line
- tweaks: harmonize the routine for tabs with the one for spaces
- tweaks: improve a couple of comments
- tweaks: improve a few comments
- tweaks: improve a few comments
- tweaks: make advancing and retreating more symmetrical
- tweaks: make the conditions for statusbar blanking more transparent
- tweaks: more consistently use * instead of [0] when checking for '\0'
- tweaks: normalize some whitespace
- tweaks: normalize some whitespace
- tweaks: put some conditions in a better order: the main one first
- tweaks: rearrange some key reading stuff in a clearer way
- tweaks: reindent and rewrap a few lines, and shorten a comment
- tweaks: remove an unnecessary intermediate assignment
- tweaks: remove a redundant assignment
- tweaks: remove a superfluous call of 'wnoutrefresh'
- tweaks: remove a superfluous condition
- tweaks: remove a superfluous setting of 'refresh_needed'
- tweaks: remove the fiddling with an unrelated setting
- tweaks: remove two redundant assignments
- tweaks: rename a function, and move the sorting there too
- tweaks: rename a variable, because nothing is returned there
- tweaks: rename a variable, for aptness
- tweaks: rename a variable, to indicate better what it contains
- tweaks: rename a variable, to indicate what it contains
- tweaks: rename some variables for contrast
- tweaks: rename some variables to be more readable
- tweaks: rename two more variables
- tweaks: rename two variables, and elide a third
- tweaks: rename two variables, to avoid using a name for different purposes
- tweaks: reshuffle a few things
- tweaks: trim or improve some comments, and rewrap two lines
- tweaks: use an available macro to silence a compiler warning
- undo: start renumbering from the head of the paste, not from its tail
- utils: distinguish between width (columns) and length (bytes)
- utils: provide a failure message for all uses of 'fsfromline'
- utils: rename some variables, to match those in strnlenpt()
- utils: snip a superfluous check for NULL
- version: cover the copyrights that are not assigned to the FSF
-
-Chris Allegretta (2):
- add /intl to gitignore
- rename README.SVN -> README.GIT and take out the branch details
-
-Mike Frysinger (3):
- more svn->git updates
- README.GIT: update a few more points to match current tree
- syntax: changelog: support more bug/issue styles
-
-Mike Scalora (3):
- keyboard: recognize four escape sequences produced by iTerm2
- new feature: comment/uncomment current line or selected lines
- text: keep the file size correct when undoing/redoing a comment/uncomment
-
-Rishabh Dave (2):
- browser: keep the same file selected when the directory contents change
- browser: move all openings and closings of a directory to the same function
-
-
======================================================================
For older changes, see in https://ftp.gnu.org/gnu/nano/nano-5.0.tar.xz
======================================================================