nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

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:
MChangeLog | 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 ======================================================================