nano

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

commit 7568bd9af5529a316a6b856f64f521832eaed9df
parent 0384c251ffdb526d13d5742be954ee5b1b0e9875
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Sat, 10 Aug 2024 17:40:30 +0200

docs: trim stuff that is more than four years old from the changelog

A detailed list of changes is useful for just a small number of users,
and only when the changes are fairly recent.

Diffstat:
MChangeLog | 1729-------------------------------------------------------------------------------
1 file changed, 0 insertions(+), 1729 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1372,1735 +1372,6 @@ Michalis Kokologiannakis (2): files: ignore only EPERM when fchmod() or fchown() fails -Changes between v4.9 and v5.0: ------------------------------- - -Andreas K. Foerster (1): - syntax: ada: new file -- coloring rules for Ada 2012 files - -Benno Schulenberg (374): - anchor: do not let a full justification transfer an anchor to the top - anchor: do not let piping and spelling transfer an anchor to the top - anchor: during full justification preserve anchors as during single ones - backup: do not understand ^C as "Yes" when asking whether to continue - backup: when rereading the original file fails, ask the user what to do - bindings: add mistakenly removed M-J (Full Justify) back to the main menu - bindings: add ^Z (Suspend) to the "Execute Command" menu - bindings: allow toggling the help lines at several prompts and in browser - bindings: allow typing digits on the numeric keypad by holding Shift - bindings: make ^L (Refresh) work at all the prompts too - bindings: make ^T invoke the "Execute Command" menu, and ^T^T the Speller - bindings: remove the Full-Justify function from the Search menu - bindings: stop <Alt+operator> on the keypad from entering spurious letter - bindings: stop supporting <Esc> <Esc> <numeric slash> without NumLock - build: allow compilation to succeed on curses without italic support - build: do not let --disable-speller exclude also the formatter code - build: fix compilation for --enable-tiny --enable-color --enable-nanorc - build: fix compilation when configured with --disable-color - build: fix compilation when configured with --disable-speller - build: fix compilation when configured with --enable-tiny - build: fix compilation when configured with --enable-tiny - build: fix miscompilation for --enable-{tiny,color,nanorc} - build: fix the Makefile after two header files were renamed - build: make a deeper clone of gnulib (when building from git) - build: make ./configure report which global nanorc file will be used - build: replace the non-standard backslash escape "\e" with "\x1B" - build: stop distributing a nano.spec file - build: use a more dependable method for detecting a build from git - bump version numbers and add a news item for the 5.0 release - color: avoid allocating emptiness when there are no multiline regexes - color: when syntax coloring is toggled back on, calculate multiline data - colors: move purple one step away from magenta, and use a darker mauve - copying: change the implementation, away from cutting plus copying back - copying: do not forget to update the screen when M-6 is pressed - copying: when using M-6, copy the final line in the buffer just once - copying: with --nonewlines, don't add a final newline to the cutbuffer - counting: count words and characters without partitioning the file - counting: count words correctly also when --wordchars is used - cutting: change the implementation of cutting to not use partitioning - cutting: overhaul the pasting routine, to not make use of partitioning - display: avoid an additional redrawing when redrawing the screen - display: blank the status bar for a copy operation, like for cut & paste - display: do not try to draw content when there is no open buffer yet - display: reposition the cursor after an error message also in a help text - docs: complete the renaming of 'tempfile' to 'saveonexit' - docs: copy the 4.9.1 news item from the release branch - docs: copy the 4.9.2 news item from the release branch - docs: copy the 4.9.3 news item from the release branch - docs: document the --indicator (-q) and 'set indicator' options - docs: document the new -O/--bookstyle and 'set bookstyle' options - docs: explain how anchors work, and document their bindable functions - docs: improve some descriptions concerning the file browser - docs: in the sample nanorc file, refer instead of duplicating - docs: mention that doing a full-buffer operation wipes away all anchors - docs: mention that M-X toggle is special, because available in most menus - docs: mention that the dedicated cursor-moving keys are not rebindable - docs: mention the nine new color names, and "bold" plus "italic" - docs: note Marco as the original author of the bookmarking code - docs: reduce the TODO file to a reference to the bug tracker on Savannah - docs: stop mentioning that --wordchars overrides --wordbounds - docs: use 'bold' and 'light' instead of 'bright' in the sample nanorc - feedback: beep also at a prompt when receiving an unknown escape sequence - feedback: do not list "." and ".." as possible <Tab><Tab> completions - feedback: indicate an anchor with a "+" in the line-number margin - feedback: show a message also when trying to copy an empty region - feedback: show the cursor position also at startup in an empty buffer - feedback: skip wiping the prompt bar when the shortcut printed a message - files: also when creating a backup fails, ask the user whether to proceed - files: ask the user whether to proceed every time a backup fails - files: before prompting, show also the reason why the backup failed - files: disallow tabbing when in restricted mode - files: do not append but truncate when allowing insecure backups - files: do not let a stray CR in a DOS file trigger Mac format - files: do not make a failsafe backup when in restricted mode - files: give a more precise warning when deleting an existing backup fails - files: ignore errors when calling chmod() on a backup file - files: ignore errors when calling chown() on a backup file - files: ignore errors when calling futimens() on a backup file - files: list possible completions after just one <Tab> instead of two - files: make a backup only when requested, not an unrequested failsafe one - files: make better use of the last row when there are many completions - files: make filtering of the entire buffer into a new buffer work again - files: never report a file as being of mixed format - files: reinitialize the palette only when the syntax actually changed - files: remove two superfluous calls for shielding temp files from others - files: show a warning when writing a backup fails, before prompting - files: show possible tab completions near the bottom of the edit window - files: take into account that also closing a backup file can fail - files: trigger the Easter egg only when "zzy" is typed at the prompt - files: warn the root user when all the write bits are missing - files: write out a marked region without partitioning the buffer - general: make five tools accessible through the "Execute Command" menu - general: rename "bookmark" to "anchor", to sound less permanent - gnulib: update to its current upstream state - help: describe what has been added to the "Execute Command" menu - help: pair the items in the two bottom lines better in the tiny version - help: put the two toggles first in the "Execute Command" menu - history: don't send error messages to the screen; store them in the queue - history: take into account that closing a file can fail - history: take into account that statting a file can fail too - indicator: recompute the extra rows also for cut/paste/split/join - indicator: recompute the extra rows also when justifying and resizing - indicator: rework how the "scrollbar" is computed when softwrapping - input: interpret an escape sequence only when it starts with "[" or "O" - input: reset the counters when a three-digit sequence is not completed - input: stop recognizing the raw escape sequences for F13 to F16 - locking: ignore the insecure-backup flag when creating a lock file - locking: prevent a symlink attack by not opening an existing lock file - memory: plug a leak, by freeing the cutbuffer after a bracketed paste - menus: remove unneeded words and shortenings from key labels - new feature: a position-plus-portion indicator on the right-hand side - oops -- restore an accidentally changed file - options: add --indicator and -q for switching on the scroll-bar thing - options: add -O/--bookstyle to make leading whitespace mean new paragraph - options: let --afterends affect also the deleting of words (Ctrl+Delete) - options: make -S the short synonym of --softwrap - options: rename --tempfile to --saveonexit, to be far clearer - options: stop recognizing the obsolete --morespace and --smooth - prompt: at Yes-No, do not treat a screen resize as an invalid keystroke - rcfile: accept prefix "light" to make a color brighter without bolding it - rcfile: add bindable function 'execute', for access to "Execute Command" - rcfile: allow specifying a bright background color (with prefix "light") - rcfile: complain when an essential key binding is missing - rcfile: do not complain when "bright" is used with a background color - rcfile: introduce nine new named colors, from "pink" to "latte" - rcfile: introduce the modifier "bold", for specifying bolding separately - rcfile: introduce the modifier 'italic', for slanted text - rcfile: rename bindable function 'curpos' to 'location' - rcfile: rename 'extcmd' to 'execute', to be more readable and fitting - rcfile: report the first bad color element, not a later one that is okay - rcfile: restore terminal settings when exiting upon excessive unbindings - replacing: recalculate the multiline coloring info when needed - scrolling: add a function and a key binding to center the cursor line - speller: take into account that statting a file can fail [coverity] - startup: allow presetting case-sensitive search also in the tiny version - startup: check stdout instead of stdin when probing for a Linux console - startup: enter curses mode before reading the nanorc files - startup: initialize colors only when the terminal is capable of colors - syntax: css: color multiline comments correctly - syntax: default: colorize embedded control codes - syntax: email: rename file and syntax, away from the mistaken 'mutt' - syntax: markdown: do not colorize text between two bold words as italic - syntax: markdown: new file -- coloring rules for Markdown files - syntax: mgp: drop the almost-empty MagicPoint file and syntax - syntax: move distro-specific files down to a subdirectory, syntax/extra/ - syntax: nanorc: colorize 'bright' anyway, so existing syntaxes look okay - syntax: nanorc: colorize the new named colors too, from "mint" to "mauve" - syntax: nanorc: stop colorizing 'bright', even though it's still accepted - syntax: sql: condense some regexes, and reduce their number - syntax: sql: rename the file to match the name of the syntax - syntaxes: move the rules for Fortran and Povray files down to extra/ - syntaxes: remove some stuff that has been commented out for a long time - syntaxes: remove some superfluous outer parentheses from regexes - syntaxes: remove unneeded backslash escapes before quotes - syntaxes: uniformize the initial comment - tabbing: beep at the first listing, and when there are zero possibilities - tabbing: properly terminate the answer when the sole match is a folder - text: retain a bookmark when two lines are joined or something is cut - tweaks: add a condition, so that two ifs can be elided - tweaks: add a helpful message for when pkg.m4 is missing during a build - tweaks: add a helping variable, in order to unwrap three lines - tweaks: add a helping variable, to slightly condense the code - tweaks: add a symbol, in order to condense three function calls - tweaks: add four early returns for read/write errors of history files - tweaks: add four more translator hints - tweaks: add two comments, and improve another - tweaks: adjust comments and indentation after the previous change - tweaks: adjust the conditional help-item pairing for absence of speller - tweaks: adjust the file format indicator in a quicker way - tweaks: adjust the indentation after the previous change - tweaks: adjust the indentation after the previous change - tweaks: avoid a compiler warning - tweaks: avoid a function call when a simple boolean will do - tweaks: avoid an unnecessary refresh for zero or just one completion - tweaks: avoid a warning about an unused variable in the tiny version - tweaks: avoid checking a variable three times for each pass in the loop - tweaks: avoid unneeded calls of free() by reallocating the full name - tweaks: call init_pair() just once for each pair number - tweaks: call the spotlighting routines only for the relevant line - tweaks: call use_default_colors() just once for each run - tweaks: cascade the ifs properly: without increasing the indentation - tweaks: change a helping variable, to make two blocks still more similar - tweaks: change a 'switch' to 'if', to elide a dummy 'return' - tweaks: close opened files when something goes wrong [coverity] - tweaks: condense a bit of code, by reusing an existing variable - tweaks: condense a comment, and express a condition in a different way - tweaks: condense a comment, and reshuffle a few lines - tweaks: condense a comment, and reshuffle some conditions - tweaks: condense and improve some comments - tweaks: condense some cases to a single line, for more clarity - tweaks: condense the code a little further, by grouping things better - tweaks: correct a comment, and avoid third repetition of some conditions - tweaks: correct a comment, and drop a redundant (because nested) #ifdef - tweaks: correct some comments, as VT100 and such have smaller keypads - tweaks: correct two spelling mistakes [codespell] - tweaks: delete a ChangeLog that is no longer updated and is incomplete - tweaks: delete another pointless ChangeLog - tweaks: delete a now-unused function - tweaks: delete some unneeded code, and rename the function accordingly - tweaks: delete the now-unused partitioning and unpartitioning routines - tweaks: delete two functions that are never executed - tweaks: do not use 'switch' when there are just two possibilities - tweaks: do not use the string "stat()" in any of the comments - tweaks: don't bother overwriting a CR -- decreasing the length is enough - tweaks: don't bother statting the lock file before unlinking it - tweaks: don't bother using the exclusive flag when creating a lock file - tweaks: don't check for escape sequences that start with a lowercase "o" - tweaks: don't use a symbol for other purposes - tweaks: do the conversion of -1 to a specific color just once - tweaks: do the saving of histories in a single place - tweaks: drop an unneeded assignment, and reshuffle a few lines - tweaks: drop a superfluous check for a non-zero length - tweaks: drop obsolete 'nano.spec' from .gitignore file, and reshuffle - tweaks: drop two redundant conditions, and improve three comments - tweaks: drop two unneeded assignments - tweaks: drop two unneeded wnoutrefresh() calls in the spotlight routines - tweaks: elide a function that is called just once - tweaks: elide a function that is too sparse - tweaks: elide another parameter, relevant in just three menus - tweaks: elide a now-unused parameter -- it is always FALSE - tweaks: elide an unneeded call of strlen(), and copy NUL byte with string - tweaks: elide an unneeded global variable - tweaks: elide an unneeded parameter, and rename the other - tweaks: elide an unneeded variable, as there is nothing beyond '*place' - tweaks: elide an unused parameter, and rename the other and a variable - tweaks: elide a parameter, by calling the relevant function beforehand - tweaks: elide a parameter that is relevant for only one menu (Goto Dir) - tweaks: elide a redundant intermediate function - tweaks: elide a variable and be more direct, and rename another - tweaks: elide a variable, and shortcircuit a return - tweaks: elide a variable, by returning the result directly - tweaks: elide a wrapper function, by checking a precondition earlier - tweaks: elide three functions that are called just once - tweaks: elide three parameters, as they are the same for both calls - tweaks: elide two ifs for the most likely case, when defaults are allowed - tweaks: elide two redundant calls of strchr() - tweaks: exclude a bit of bracketed-paste code from the tiny version - tweaks: exclude an unneeded fragment of code from the tiny version - tweaks: exit from the writing loop as soon as the last line is reached - tweaks: fix twenty typos, in old Changelogs and in some comments - tweaks: fold translation of all modified keypad keystrokes together - tweaks: fold two blocks into each other, to elide three overlapping cases - tweaks: for each version, mention the changes to the PO files last - tweaks: get rid of a bunch of annoying casts, and thus condense the code - tweaks: group the exiting routines together, and condense the comments - tweaks: handle the double escapes directly, instead of going round again - tweaks: handle two similar things in the same way - tweaks: implement the anchor routines in a different way - tweaks: improve a comment, rename a function, and elide a parameter - tweaks: improve a comment, reshuffle a scroll command, elide a variable - tweaks: improve four comments - tweaks: improve several comments, and rewrap two lines - tweaks: improve some comments, and reshuffle an assignment - tweaks: improve some comments and whitespace, and reshuffle a few lines - tweaks: improve three comments, drop one, and unwrap a line - tweaks: improve two comments, and reshuffle some lines for conciseness - tweaks: invert a condition, to have two clauses in a more logical order - tweaks: invert a condition, to see the similarity between the two modes - tweaks: make an early return for zero matches, and rename a variable - tweaks: make an error message more accurate and reduce it to its essence - tweaks: make three hard-bindings of special keys more efficiently - tweaks: move a copyright notice to a better place, and improve it - tweaks: move a fragment of code to the one branch that needs it - tweaks: move a function to a more logical place - tweaks: move a function to before the one that calls it - tweaks: move a function to before the one that calls it - tweaks: move a function, to be in the order in which they are called - tweaks: move a function to the file where it is used the most - tweaks: move an 'if', to not call leftedge_for() when not softwrapping - tweaks: move an initialization function to before the one that calls it - tweaks: move two functions, to have them in a more logical order - tweaks: normalize the indentation after the previous change - tweaks: normalize the indentation after the previous change - tweaks: normalize the indentation after the previous change - tweaks: normalize the indentation after the previous change - tweaks: normalize the indentation after the previous change - tweaks: order three menu names in the documentation slightly better - tweaks: plug a leak, by always freeing the full filename [valgrind] - tweaks: rake a common statement to the end of the case - tweaks: recalculate the multiline info just once when doing "Replace All" - tweaks: reduce the indentation after the previous change - tweaks: remove an incorrect mention of umask() from a comment - tweaks: remove an unneeded call of wnoutrefresh() - tweaks: remove an unneeded cursor movement, and rename a variable - tweaks: remove an unneeded element from the openfilestruct - tweaks: remove a redundant cursor movement, remove a redundant condition - tweaks: remove a superfluous check on the length of the key buffer - tweaks: remove a superfluous global variable - tweaks: remove some superfluous conditions - tweaks: remove three unneeded while loops from two input routines - tweaks: remove two calls of umask() by specifying permissions directly - tweaks: remove two redundant conditions, and make a more direct return - tweaks: remove two superfluous assignments - tweaks: remove unneeded variables after the previous change - tweaks: rename a function, and move it to before the one that calls it - tweaks: rename a function, and move it to before the one that calls it - tweaks: rename a function, to be more correct - tweaks: rename a function, to be more general and clearer - tweaks: rename a function, to be more precise, and reshuffle it - tweaks: rename a function, to be more precise, and reshuffle some things - tweaks: rename a function, to better describe what it does - tweaks: rename a function, to leave the old names behind - tweaks: rename a function, to match with the boolean that guards it - tweaks: rename a function, to not shadow a variable, and elide parameter - tweaks: rename a parameter and a variable, to be more meaningful - tweaks: rename a struct element, to be shorter and preciser - tweaks: rename a symbol, and actually use it where it is needed - tweaks: rename a symbol, away from a double abbreviation - tweaks: rename a symbol, from a phrase to a noun - tweaks: rename a symbol, to be more accurate, and reshuffle two lines - tweaks: rename a symbol, to better suit its purpose, and reduce its scope - tweaks: rename a variable, and condense a comment - tweaks: rename a variable, and normalize the indentation - tweaks: rename a variable, and reduce the scope of two others - tweaks: rename a variable, for more contrast with the function name - tweaks: rename a variable, for shortness and contrast - tweaks: rename a variable, improve a comment, and reshuffle a few things - tweaks: rename a variable, to avoid overrepetition of 'backup' - tweaks: rename a variable, to better describe what it holds - tweaks: rename a variable, to better fit related ones - tweaks: rename a variable, to make more sense - tweaks: rename a variable, to not refer to a row as a "line" - tweaks: rename one of the flag symbols, to be clearer - tweaks: rename two functions and a variable, and improve two comments - tweaks: rename two functions, and rename and reshuffle a parameter - tweaks: rename two functions, to better indicate what they do - tweaks: rename two header files, to be distinct and not an abbreviation - tweaks: rename two labels, for brevity - tweaks: rename two parameters, away from abbreviations - tweaks: rename two parameters, away from an abbreviation - tweaks: rename two parameters, to be more fitting - tweaks: rename two variables, and reduce the scope of a third - tweaks: rename two variables, away from abbreviations - tweaks: rename two variables, to avoid a repetitive prefix - tweaks: rename two variables, to be shorter and without abbreviations - tweaks: reshuffle a bit of code, to elide an #ifndef - tweaks: reshuffle a condition, for symmetry - tweaks: reshuffle a condition, to avoid a repetition of code - tweaks: reshuffle a condition, to make a little more sense - tweaks: reshuffle a declaration and six calls of free(), to avoid a leak - tweaks: reshuffle a few lines, and remove a few unneeded comments - tweaks: reshuffle a few lines, for conciseness - tweaks: reshuffle a few lines, to elide an 'if' from the most common path - tweaks: reshuffle a fragment of code, to elide a 'goto' - tweaks: reshuffle an assignment, for conciseness, and rename a variable - tweaks: reshuffle and trim a comment, and remove unneeded pair of braces - tweaks: reshuffle a statement, to have major initialization in nano.c - tweaks: reshuffle some code, to avoid needlessly calling a function - tweaks: reshuffle some conditions, to straighten the logic - tweaks: reshuffle some lines, for esthetics - tweaks: reshuffle some lines, to better separate the three cases - tweaks: rewrap a few lines in old news items, for more balanced lines - tweaks: separate a symbol from its definition by two spaces - tweaks: shorten an error message, to be appropriate in all situations - tweaks: shorten the name of a symbol, to match its bindable function - tweaks: simplify an error message, by mentioning just the main point - tweaks: simplify the counting of characters in a section - tweaks: skip the conversion to multibyte for plain ASCII codes - tweaks: slightly improve a comment and the ordering of some lines - tweaks: slightly improve the grouping of shortcuts in some help texts - tweaks: three escapes is the same as either zero escapes or one escape - tweaks: trim an ASCII case, as the function is called only for UTF-8 - tweaks: trim some oververbose comments -- they overshadow the code - tweaks: uniformize some old translator credits - tweaks: update a translator hint, and add another - tweaks: update three translator hints, add two, and frob three strings - tweaks: use a better symbol than 'ERR' to signify a valid hex digit - tweaks: use knowledge of Unicode to skip the general multibyte conversion - tweaks: use three switches instead of cascading ifs, for brevity - undo: choose the proper x positions to place the cursor and rejoin lines - undo: when undoing a line cut, place the cursor back where it was - usage: unabbreviate option arguments where possible - verbatim: show an error message when an invalid Unicode code is entered - verbatim: turn bracketed-paste mode off while waiting for input - -Marco Diego Aurélio Mesquita (4): - bindings: hard-bind the bookmark functions to M-Ins and M-PgUp/M-PgDn - display: support the position indicator also when --softwrap is used - files: make the M-F (New Buffer) toggle non-persistent - new feature: bindable functions for toggling and jumping to "bookmarks" - -Michalis Kokologiannakis (3): - files: improve the backup procedure to ensure no data is lost - tweaks: adjust some indentation after the previous change - tweaks: move the backup code to a separate function - -Pedro Victor de Brito Cordeiro (1): - tweaks: make parameter names in prototypes match those in the definitions - -Ryan Westlund (2): - syntax: go: highlight the chan keyword, and the special +build comment - syntax: haskell: new file -- coloring rules for Haskell programs - - -Changes between v4.8 and v4.9: ------------------------------- - -Benno Schulenberg (209): - bindings: remove the translation of ^H to Backspace on the BSDs - build: fix compilation for --enable-tiny --enable-justify - build: restore non-UTF8 fallbacks, to allow compiling with --disable-utf8 - build: update the conditional placement of the "Go To Line" menu item - bump version numbers and add a news item for the 4.9 release - chars: optimize a function for the most common blanks: space and tab - copyright: update to the current year for significantly changed files - cutting: let M-T cut a trailing empty line, but not nothing at all - cutting: with --cutfromcursor, allow ^K to cut the penultimate empty line - display: do not show a "[" double-width placeholder when softwrapping - display: keep the help items aligned, by not writing too many characters - docs: improve the descriptions of --softwrap and 'set softwrap' - docs: mark bracketed pasting as done in the TODO list - docs: mention that ^[ (Esc) is unbindable, and explain why - docs: remove the note saying that nanorc files must be in Unix format - docs: trim some TODO items, and condense several others - docs: update the form of an option, --suspendable / 'set suspendable' - docs: update the missed occurrences of --suspendable / 'set suspendable' - feedback: give a clearer message when trying to justify an empty region - feedback: make sure that a later message can overwrite a short warning - files: be consistent in which code means "New File" - files: don't check uninitialized memory when writing new file [valgrind] - files: when piping, always pipe whatever was cut to the external command - gnulib: update to its current upstream state - help: do not break a line inside the 17-column keystrokes area - help: increase the minimum help-text width from 32 to 40 columns - input: accommodate silly emulators that have LF instead of CR in a paste - input: after reallocating a string, do not write to its old address - input: allocate sufficient bytes for entering a Unicode codepoint - input: keep a multibyte character together during verbatim entry - justify: do not copy too many bytes when trimming leading whitespace - justify: do not crash when the user attempts to justify an empty region - justify: do not take an empty line as template for first-line indentation - justify: give the first line of a marked region its proper indentation - justify: never break a line in leading whitespace - justify: restore a region properly when it was marked backwards - justify: skip over blanks after the region, to not skew the indentation - justify: skip over in-line whitespace only, not over leading whitespace - justify: trim prefixed whitespace when justifying a marked region - justify: trim the leading blanks of a marked region at the right moment - justify: when appropriate, move end point of marked region forward - justify: when the cursor is at the left edge, keep it there - locking: do not open an empty buffer when respecting the first lock file - moving: do not put the cursor at end-of-line when in a help text - options: rename --suspend to --suspendable, to make more sense - prompt: insert a burst of bytes in one go instead of characterwise - rcfile: allow alternate line endings in nanorc files - rcfile: do not allow a regex for name, header, or magic to be empty - rcfile: don't store a coloring rule before it is complete - rcfile: rename bindable function 'suspendenable' to 'suspendable' - rcfile: when a start= is not matched with an end=, abandon the whole rule - rcfile: when finding a mistake, skip the rest of the line - shutdown: don't refer to an open file when there aren't any - softwrap: when typing goes beyond the bottom row, scroll just one row - syntax: nanorc: colorize 'rawsequences', not the obsolete 'rebindkeypad' - syntax: spec: add two missing % signs, and colorize also "%triggerprein" - syntax: spec: colorize the date and author of changelog items differently - syntax: spec: drop invalid parentheses after "Summary" - tweaks: abort in three situations that should never occur - tweaks: add a COUPLE_END undo item a bit later, instead of updating it - tweaks: add a different helping variable - tweaks: add a supporting variable, in order to condense some statements - tweaks: add calls of die() for five theoretical programming mistakes - tweaks: adjust some whitespace, reshuffle two ifs, and remove two braces - tweaks: adjust the indentation after the previous change - tweaks: always determine the second lead, to simplify the rewrap call - tweaks: avoid a complaint about uninitialized memory [valgrind] - tweaks: call add_undo() before the character is actually added - tweaks: change a function to return the name of the lock file on success - tweaks: change a function with two possible results to boolean - tweaks: change an integer to a short, and reshuffle it for better packing - tweaks: change another function with two possible results to boolean - tweaks: check for a starting quote in one place instead of three - tweaks: combine two ifs into one - tweaks: condense a comment, reshuffle conditions, and remove unwanted one - tweaks: condense a fragment of code - tweaks: condense two fragments of code - tweaks: convert integers to bytes in one place instead of two - tweaks: copy and store a deleted character in a conciser manner - tweaks: correct a typo, improve two indentations, and rewrap a line - tweaks: correct two typos in a changelog, and drop a doubled word - tweaks: create an undo item earlier, and discard it when needed - tweaks: don't bother reallocating the line data when undoing a line join - tweaks: do some text alignments properly: with spaces, not tabs - tweaks: drop a check for something that will not occur - tweaks: drop two comments that contain variable names - tweaks: elide a function call, by copying a byte directly - tweaks: elide an intermediate copy of a character during injection, twice - tweaks: elide an intermediate copy of an added character - tweaks: elide a parameter, and rename a variable - tweaks: elide a supporting variable, to make four loops slightly faster - tweaks: elide a variable and an unneeded iteration - tweaks: elide one variable and three gotos - tweaks: elide three unneeded #defines - tweaks: elide two variables and their two assignments - tweaks: exclude a function when compiled without spell-checking support - tweaks: extend the undo data for deleting and backspacing more directly - tweaks: factor out a three-line condition into a separate function - tweaks: frob a statement, rewrap two lines, and remove a pair of braces - tweaks: frob two statements, condense another, and add a comment - tweaks: highlight keystrokes in the documentation more consistently - tweaks: improve four comments, and condense two fragments of code - tweaks: improve three comments, and reshuffle two declarations - tweaks: improve two comments - tweaks: improve two comments, and remove an unneeded one - tweaks: inject the entire burst of bytes at once into the edit buffer - tweaks: instead of swapping the end points later, assign them correctly - tweaks: invert the logic of a symbol, to make more sense - tweaks: make prompt-bar input more similar to edit-buffer input - tweaks: make two conditions more direct, and thus elide two functions - tweaks: mesh two bits of code together - tweaks: move a function to after the one that it calls - tweaks: move a function to before the one that calls it - tweaks: move a function to before the one that calls it - tweaks: move a function to its proper place in the order of things - tweaks: move a function to where it is used - tweaks: move another function to where it is used - tweaks: move some definitions closer to where they are used - tweaks: move two functions to before the ones that call them - tweaks: normalize a translator hint, update one, and add another - tweaks: normalize the indentation after the previous change - tweaks: normalize the indentation after the previous change - tweaks: normalize the indentation after the previous two changes - tweaks: pull the NUL-terminating of a string into a function - tweaks: rearrange a case item, so that PASTE is always after CUT - tweaks: rearrange some conditions, for compactness - tweaks: relocate a function to before its callers - tweaks: relocate eleven functions to before they are called - tweaks: remove a now-unused helper function - tweaks: remove an unneeded indirection - tweaks: remove a redundant assignment - tweaks: remove a redundant statement, a spurious reference to 'cutbottom' - tweaks: remove a superfluous assignment, and reshuffle a call - tweaks: remove non-UTF-8 code from three more functions - tweaks: remove some redundant filtering, and thus elide a parameter - tweaks: remove some unneeded braces, not used elsewhere either - tweaks: remove two redundant case labels - tweaks: remove two superfluous checks - tweaks: remove two superfluous conditions - tweaks: rename a constant, and rename and relocate a function - tweaks: rename a function, and condense a few comments - tweaks: rename a function, and split a variable into two separate ones - tweaks: rename a function, to be more fitting, and improve some comments - tweaks: rename a function, to remove an obscuring abbreviation - tweaks: rename another function, to remove the obscuring abbreviation - tweaks: rename a parameter and a variable, and reword two comments - tweaks: rename a symbol, to match the corresponding renamed option - tweaks: rename a variable, and add a helping one - tweaks: rename a variable, and reshuffle a declaration - tweaks: rename a variable, away from a single letter - tweaks: rename a variable, away from a single letter - tweaks: rename a variable, for aptness - tweaks: rename a variable, reshuffle an assignment, and change a code - tweaks: rename a variable, to be a bit clearer - tweaks: rename a variable, to get out of the way of a later rename - tweaks: rename a variable, to not be a substring of a function name - tweaks: rename four more functions, to get rid of an abbreviation - tweaks: rename four parameters, to be more distinct and telling - tweaks: rename four variables, to be a bit more telling - tweaks: rename to the same name two variables that have the same role - tweaks: rename two elements of an undo record, to be more telling - tweaks: rename two functions, for shortness - tweaks: rename two functions, to match the style of others - tweaks: rename two more elements of an undo record, for symmetry - tweaks: rename two more functions, to match the style of others - tweaks: rename two more variables, to harmonize with two others - tweaks: rename two parameters, to not overlap with other names - tweaks: rename two symbols, to be more precise - tweaks: rename two variables, and frob four comments - tweaks: rename two variables, and reshuffle a few things - tweaks: rename two variables, for distinctiveness - tweaks: rename two variables, to be different or for more contrast - tweaks: rename two variables, to harmonize with two others - tweaks: rename two variables, to suit both the marked and unmarked case - tweaks: reorder a case item, to have SPLIT_BEGIN always before SPLIT_END - tweaks: reshuffle a condition, for compacter code - tweaks: reshuffle a condition, for compactness - tweaks: reshuffle a few declarations and assignments - tweaks: reshuffle an assignment and a free() - tweaks: reshuffle some code, in preparation for improving it - tweaks: reshuffle some stuff, to have related things together - tweaks: reshuffle the setting of the starting point of a cut - tweaks: reshuffle the trimming of leading whitespace, for compactness - tweaks: reshuffle two declarations plus a fragment of code - tweaks: simplify the undoing and redoing of an <Enter> - tweaks: strip a parameter that is equivalent to 'openfile' for both calls - tweaks: strip a parameter that is TRUE for both calls - tweaks: swap the use of 'head' and 'tail' for CUT and PASTE undo items - tweaks: trim an unnecessary detail from an error message - tweaks: unabbreviate the name of a variable - tweaks: unwrap four lines, and use explicit codes where possible - tweaks: update several comments after the previous changes - tweaks: update some comments after the previous changes - tweaks: use a symbol instead of a number, and drop two unneeded casts - tweaks: use spaces when aligning things, not tabs - tweaks: use the variable that suits 'END' better - tweaks: weld two fragments together, twice, by eliding an unneeded 'if' - tweaks: when appropriate, move starting point of justified region back - tweaks: when extending the marked region, include also exotic blanks - tweaks: when undoing an addition or redoing a deletion, do not reallocate - undo: do not mark the buffer as modified when pasting back nothing - undo: do not try to copy a cutbuffer that is NULL - undo: do not try to paste back an empty cutbuffer - undo: for an automatic hard-wrap, store the correct previous buffer size - undo: store the cursor row, for redoing filtering & justification better - undo: treat a cut-until-end-of-buffer like a backward marked region - undo: use the correct original fusion point when unjoining two lines - undo: when undoing a paste or an insertion, remove an added magic line - usage: improve the description of --softwrap - -Neal Gompa (1): - syntax: spec: add some keywords that were added in RPM 4.15 and 4.13 - -Saagar Jha (1): - rcfile: fix an out-of-bounds read on empty lines - - -Changes between v4.7 and v4.8: ------------------------------- - -Benno Schulenberg (166): - bindings: allow to bind shifted Meta+letter combinations with Sh-M-X - bindings: allow to rebind also ^`, although it is synonymous with ^Space - bindings: do not show the Full-Justify keystroke when in View mode - bindings: force the first letter in a key name to uppercase - build: exclude bracketed pasting from the tiny version - build: exclude option '-g' when configured without browser and help - build: exclude the escape sequences for F13...F16 from the tiny version - build: fix compilation for --enable-{tiny,help,multibuffer} - build: restrict the use of --with-slang to together with --enable-tiny - bump version numbers and add a news item for the 4.8 release - copyright: update the years for significantly changed files - copyright: update the years for the FSF - display: adjust line and column count upon a resize also when using Slang - display: clear the help lines before a briefly shown warning - display: don't let a message write over the second help line - display: ensure the guiding stripe can be shown when not softwrapping - display: exclude a bit of feedback from the tiny version - display: show the cursor during suspension also when built with Slang - display: skip zero-width characters on a Linux console, to avoid a mess - docs: add a FAQ item about a self-compiled nano not reading /etc/nanorc - docs: document the new -f/--rcfile option - docs: document the new Sh-M-X format for binding <Shift+Meta+letter> - docs: for the alternative bindings, rebind ^C only in the main menu - docs: improve the description of which rc-files are read during startup - docs: mention in the FAQ that auto-indentation is suppressed when pasting - docs: mention that -D/--boldtext gets overridden by some nanorc options - docs: put the three new behaviors in a bulleted list, to catch the eye - docs: stop saying that 'set fill' enables hard-wrapping -- it does not - docs: use more generally available arrows in the cheatsheet - feedback: ask a clearer question when a valid lock file is encountered - feedback: report Ctrl+Alt keystrokes as unbindable - feedback: restore a message that can occur in help viewer or file browser - files: alert the user afterward when an overwritten file is being edited - files: revert the previous commit, as the extra warning is annoying - files: warn doubly when the user is about to overwrite an existing file - files: write a lock file also for a new file and when the name changed - gnulib: update to its current upstream state - help: don't waste the last column in the help viewer on narrow terminals - help: increase the minimum help-text width from 24 to 32 columns - help: prevent double spaces from protruding across the right edge - help: when a key description wraps, indent its wrapped part - input: consume and ignore the raw escape sequences for F17 to F24 - input: correct the escape sequence for PageUp/PageDown on Eterm/Urxvt - input: Ctrl+arrow is "Esc O x" on Eterm, as on rxvt -- not "Esc o x" - input: discard partial sequences that Slang produces for F17 to F24 - input: do not auto-indent when something is pasted into nano from outside - input: don't discard the first keystroke after a resize when using Slang - input: filter out Ctrl+Meta keystrokes, as they can never be shortcuts - input: ignore bracketed pastes in help viewer and file browser - input: ignore modifiers on a VT while executing a macro or a string bind - input: prevent unintentional marking of text for shifted Meta keystrokes - input: read in an external paste in one go, to allow undoing with one M-U - input: recognize the raw escape sequences for F13 to F16 on xterm too - locking: accept a minimal amount of data, enough for PID plus username - locking: avoid crashing when there is a problem writing the lock file - locking: check two magic bytes, to verify that it is a lock file - locking: do not write a lock file when in view mode - locking: when a lock file is unreadable, open the file itself anyway - locking: when finding a lock file at startup, quit when user cancels - new feature: allow specifying a custom nanorc file on the command line - pasting: retain the mark's position when it was set at the cursor - prompt: for a Yes-No-All, accept the first character of an external paste - rcfile: do set the meta flag for plain <Meta+ASCII> combinations - rcfile: require "bright", "start=", and "end=" to be in lowercase too - rcfile: unbind keys by their key code instead of by their key string - softwrap: suppress the guiding stripe on unaffected chunks - speller: avoid messing up the screen when an unknown locale is used - suspension: put in an extra terminal-initialization call for Slang - syntax: nanohelp, nanorc: colorize the Sh-M-X format as a valid key name - syntax: nanorc: colorize all-lowercase Meta key binds as valid too - tweaks: add a little change that was overlooked in the previous commit - tweaks: add an error message for something that should never occur - tweaks: adjust or reword a few items in the FAQ - tweaks: adjust the indentation after the previous change - tweaks: allocate the lock data only when ready to write them - tweaks: avoid analyzing the key string when the target key code is known - tweaks: avoid determining the key code from the key string twice - tweaks: avoid fiddling with the keybuffer when it's not needed - tweaks: comment fully, so that all handled escape sequences are findable - tweaks: condense a fragment of code - tweaks: condense five more fragments of repetitious code - tweaks: condense three comments to one, and do the masking more directly - tweaks: condense three fragments of repetitious code - tweaks: condense two comments, and reshuffle an #endif - tweaks: correct a comment - tweaks: correct a couple of comments about escape sequences - tweaks: correct the description of what nano writes into the lock file - tweaks: delete some fragments of code that have become irrelevant - tweaks: do not leak a file descriptor when fdopen() fails - tweaks: don't bother including Haiku escape sequences in the tiny version - tweaks: don't enable bracketed pasting when not handling such pastes - tweaks: drop a message that will never be seen - tweaks: drop an unneeded call of keypad() -- we never read from topwin - tweaks: drop a pointless suffix from two function names - tweaks: elide a function that has become too small for its two calls - tweaks: elide a helper function, in preparation for an improvement - tweaks: elide an 'if', by moving the relevant code to a better place - tweaks: elide a small function, as it's in fact needed just once - tweaks: elide a somewhat costly call by remembering some state - tweaks: elide a variable, and rename its sister - tweaks: elide three checks of a shortcut's meta flag - tweaks: ensure that editor name and user name are NUL terminated - tweaks: exclude an unneeded fragment of code from the tiny version - tweaks: exclude two unneeded fragments of code from the tiny version - tweaks: free two strings as soon as they are no longer needed - tweaks: frob a couple of indentations and white lines - tweaks: fuse two nearly identical functions into a single one - tweaks: gather four calls that are always done together into a function - tweaks: harmonize the amount of lock data that we read and write - tweaks: improve a comment by indirectly referring to the ncurses docs - tweaks: in comments, reword "titlebar" and "statusbar" to two words each - tweaks: initialize three booleans straightaway, when they are declared - tweaks: initialize three more booleans straightaway, at declaration - tweaks: judge from the key code itself whether it is a Meta keystroke - tweaks: make a couple of comments more precise - tweaks: move a function to after the one that it calls - tweaks: move a function to be before the ones that call it - tweaks: move a function to before the one that calls it - tweaks: move a function to related ones, and after one that it calls - tweaks: move a function to right before the one that calls it - tweaks: move another function to after the one that it calls - tweaks: move another function to before the one that calls it - tweaks: move another function, to group the deleting ones together - tweaks: move three functions to the file where they are mainly used - tweaks: rearrange a few global variables, to group things better - tweaks: recompute the wrapping point just once - tweaks: reduce the scope of a variable, and reshuffle a declaration - tweaks: reduce the scope of two constants and of four variables - tweaks: reformat a comment, and resuffle a line to match byte order - tweaks: remove a feedback message that is never shown - tweaks: remove a redundant call, as there is nothing to free there - tweaks: remove a superfluous check - tweaks: remove some superfluous conditions for rewriting a lock file - tweaks: remove the now-unneeded code related to bracketed pasting - tweaks: remove the now-unused meta flag from 'keystruct' - tweaks: remove two superfluous assignments, and rename a variable - tweaks: rename a function and its parameter, to be more fitting - tweaks: rename a function, to be a bit more expressive - tweaks: rename a function, to make it not contain the name of another - tweaks: rename a parameter and invert its logic, and correct a comment - tweaks: rename five variables, away from a single letter - tweaks: rename two functions, to make more sense - tweaks: rename two parameters, to be more general and to sound shorter - tweaks: rename two variables, to make more sense - tweaks: renumber some FAQ items in preparation for adding another - tweaks: reorder two symbols - tweaks: reshuffle some assignments for a return value - tweaks: reshuffle some declarations - tweaks: reshuffle some declarations, and expand a few variable names - tweaks: reshuffle some lines, to avoid tallying the menus when not needed - tweaks: reshuffle some lines, to group all ignored keystrokes together - tweaks: reshuffle three lines, to make the grouping tighter - tweaks: reshuffle two lines, to do the linking first, then the content - tweaks: reword two comments, and rewrap another - tweaks: rewrap a comment and a line, and reshuffle a fragment of code - tweaks: rewrap two lines, for consistency with similar lines - tweaks: rewrite the same file name into the lock file as the first time - tweaks: slightly condense a function by conflating case - tweaks: stop recognizing escape sequences for a key without meaning - tweaks: suggest a few more alternative key bindings and unbindings - tweaks: take just one shot at reading the lock file, and correct a type - tweaks: trim some excessive error checking and key-name frobbing - tweaks: tumble three conditions, for consistency in comparisons - tweaks: unabbreviate "argument" in the documentation - tweaks: use a simple subtraction instead of a function call - usage: improve the description of --restricted and --quickblank - -Brand Huntsman (2): - input: beep when invalid key is pressed at yesno prompt or in linter menu - input: recognize the start and stop sequences of a bracketed paste - - -Changes between v4.6 and v4.7: ------------------------------- - -Benno Schulenberg (39): - build: add the uploading of PDF and cheatsheet to the release script - build: avoid three compiler warnings when using gcc-9.2 or newer - build: fix compilation for --enable-tiny --enable-wrapping - build: fix compilation on macOS, where 'st_mtim' is unknown - build: fix compilation when configured with --disable-justify - bump version numbers and add a news item for the 4.7 release - display: don't color the space that separates line numbers from text - docs: add or improve the 'description' meta tag in the two HTML pages - docs: add the 'lang' attribute in the right place to the two HTML pages - docs: mention that all keywords in a nanorc file should be in lowercase - docs: mention that a negative number after "+" counts from the end - gnulib: update to its current upstream state - input: make <Tab> indent only when mark and cursor are on different lines - justify: distinguish between tabs and spaces when comparing indentation - justify: treat consecutive indentations that look the same as the same - linter: beep when trying to go beyond first or last message - rcfile: accept also function names and menu names only in lowercase - rcfile: accept only keywords in all lowercase, for speed of comparison - rcfile: demand that function 'exit' is bound in the file browser - syntax: nanohelp: colorize also ^/ as a possible keystroke - syntax: sh: recognize shell rc files also in dedicated directories - tweaks: avoid using strlen() where it is not needed - tweaks: drop M-Space and ^Space from the browser's key list - tweaks: improve two comments and the ordering of some operands - tweaks: move three functions to the file where they are used - tweaks: optimize the trimming of trailing whitespace - tweaks: remove a stray space - tweaks: rename a function, to get out of the way for another rename - tweaks: rename a function, to get rid of a useless suffix - tweaks: reshuffle a few lines, for brevity or speed or consistency - tweaks: reshuffle a few lines, for symmetry with the preceding function - tweaks: reshuffle a fragment of code, for efficiency - tweaks: reshuffle and rename a few things, to elide duplication - tweaks: reshuffle an item, to avoid a lone 'else' - tweaks: reshuffle two declarations, for compactness - tweaks: slightly streamline the search for a possible wrapping point - tweaks: trim or adjust some whitespace in HTML, and add two keywords - tweaks: unwrap a few lines, and move some strings to among their peers - wrapping: never break in the quoting part nor in the indentation part - - -Changes between v4.5 and v4.6: ------------------------------- - -Benno Schulenberg (128): - bindings: allow to rebind ^/, even though it is synonymous with ^_ - bindings: don't hard-bind ^H in the help viewer or the file browser - bindings: the 'all' keyword should encompass the browser menu too - bindings: the 'all' keyword should include the browser menu always - build: fix compilation for --enable-tiny --enable-histories - build: fix compilation when configured with --disable-color - build: slightly speed up the compilation of the tiny version - bump version numbers and add a news item for the 4.6 release - chars: add a faster version of the character-parsing function - commands: rename 'fixer' to 'formatter', to be less misleading - cutting: do nothing when trying to chop a word leftward at start of file - display: do refresh the edit window when exiting from the help viewer - docs: add a note saying that rebinding ^M or ^I is not advisable - docs: add the M-F and M-N keystrokes to the cheatsheet - docs: adjust the compilation instructions to two-digit version numbers - docs: correct the description of the 'spell' menu - docs: document the 'fixer' command, a per-syntax content arranger - docs: mention that color rules are applied in the order they are listed - docs: mention that 'hunspell' is now the first default spelling program - docs: mention that the 'nopauses' option is obsolete - docs: remove some excessive detail from the sample nanorc file - docs: remove the note about the formatter having been removed - feedback: say it when spell check or manipulation did not change anything - files: distinguish between read error and write error when prepending - files: don't mention the name of the temp file when reading goes wrong - files: when opening a file for copying, it should NOT be created - formatter: accept the formatted result also upon a nonzero exit status - formatter: don't let output from the program pollute the screen - gnulib: update to its current upstream state - history: don't wait when there is something wrong with the history files - linter: report it as an error when running the linting program fails - rcfile: allow binding also F17...F24 - rcfile: process extensions to file-matching commands straightaway - restored feature: a per-syntax 'fixer' command that processes the buffer - softwrap: when switching to another buffer, re-align the starting column - speller: prefer 'hunspell' over 'spell', because it can handle UTF-8 - speller: when 'spell' is not found, try running 'hunspell -l' instead - statusbar: show only the first error message, with dots to indicate more - syntax: c: recognize some C++ header files by their Emacs modeline - syntax: default: don't colorize stuff between two pairs of brackets - syntax: html: add a formatter command, making use of 'tidy' - syntax: html: colorize only full attributes, and colorize strings later - syntax: javascript: colorize also special values 'null' and 'undefined' - syntax: javascript: colorize the boolean values 'true' and 'false' too - syntax: nanorc: colorize all arguments of 'fixer' and 'linter' as valid - syntax: nanorc: colorize in bright red everything that is invalid - syntax: nanorc: colorize only lowercase keywords as valid - syntax: nanorc: colorize the 'fixer' command as valid - syntax: ruby: colorize also lowercase global/instance variables - syntaxes: put the 'linter' and 'formatter' commands on a separate line - tweaks: add a helper function without the ubiquitous NULL argument - tweaks: add a local variable, for clarity, to not preuse another one - tweaks: add some "fall-through" comments, and reshuffle some breaks - tweaks: add two translator hints - tweaks: adjust the indentation after the previous change - tweaks: adjust the indentation after the previous change - tweaks: adjust the indentation after the previous change, and another - tweaks: adjust two comments, to better fit the actual functions - tweaks: avoid setting and resetting a variable when there is no need - tweaks: avoid three unneeded calls of umask() in the normal case - tweaks: be explicit about which program complained - tweaks: check the return value of copy_file() also after its other uses - tweaks: close the unused reading ends of two more output pipes - tweaks: condense a fragment of code by making use of a helper function - tweaks: condense or improve some comments - tweaks: condense two comments, and rename two parameters - tweaks: condense two comments, and rewrap a line - tweaks: correct a comment, and retype a variable - tweaks: die on an impossible condition -- to be removed later - tweaks: don't do in the parent something that only the child needs - tweaks: don't wrap calls of statusline() that slightly overshoot 80 cols - tweaks: drop the unneeded closing of descriptors when exiting anyway - tweaks: elide a duplicate opening of the existing file when prepending - tweaks: elide a function call for the plain ASCII case - tweaks: elide another two calls of umask(), and rename two variables - tweaks: elide an unneeded and leaky function - tweaks: elide an unneeded check when making a backup - tweaks: elide a variable, and add a condition to elide an assignment - tweaks: elide a variable that is the same as another - tweaks: exclude two fragments of code from the tiny version - tweaks: fuse two regexes into one - tweaks: group the closing of descriptors together, for compactness - tweaks: group the closing of two descriptors, and reword two comments - tweaks: harmonize a message with another - tweaks: improve some comments, and trim some repetitive ones - tweaks: make a function do a check so its calls don't need to - tweaks: mark two strings for translation - tweaks: move a call of umask() closer to where it is relevant - tweaks: move two functions to after the one that they make use of - tweaks: normalize the indentation after the previous change - tweaks: order two functions more sensibly - tweaks: pass an empty string as an answer instead of a NULL pointer - tweaks: pass an empty string for copying instead of a non-existent one - tweaks: pass any special undo/redo messages to the add_undo() function - tweaks: remove a pointless updating of the title bar - tweaks: remove a redundant check for an existing emergency file - tweaks: remove the superfluous closing of a file descriptor - tweaks: remove two pointless re-inclusion guards - tweaks: remove two superfluous conditions when prepending - tweaks: rename a function and add a parameter, so it becomes more general - tweaks: rename a function, and elide a parameter that is always NULL - tweaks: rename a function and elide its first parameter - tweaks: rename a local variable, to not shadow another - tweaks: rename a variable, to be a bit more fitting - tweaks: rename a variable, to be distinct and visible - tweaks: rename three variables, and reshuffle some lines - tweaks: rename three variables, to be consistent with other linestructs - tweaks: rename three variables, to be more descriptive - tweaks: rename three variables, to match others elsewhere - tweaks: rename two parameters, for contrast and to match others - tweaks: rename two parameters plus a variable, to match others - tweaks: rename two variables, and add a third, for more contrast - tweaks: reshuffle a few declarations, and reduce the scope of one - tweaks: reshuffle a fragment of code into two alternatives - tweaks: reshuffle an 'if' to avoid a negation, and improve a comment - tweaks: reshuffle some declarations, and rename a variable - tweaks: reword an undo/redo string that was overlooked during the rename - tweaks: silence a warning when configured with --enable-tiny - tweaks: simplify the opening of files when prepending - tweaks: slightly reword some fragments in the manual's rebinding section - tweaks: use a better variable name for the argument of an option - tweaks: use a literal NULL instead of a variable that is NULL - tweaks: use a simpler positive/negative check for after copy_file() - tweaks: use a string-copy function that checks for out-of-memory - tweaks: use the given string instead of the found match, for clarity - undo: don't try to copy a string that doesn't exist - undo: put the cursor back on the original row for a full-buffer operation - utils: don't accept NULL for the string to be copied - -Jeroen Roovers (1): - syntax: gentoo: highlight the BDEPEND variable as well - - -Changes between v4.4 and v4.5: ------------------------------- - -Benno Schulenberg (60): - bindings: add a dedicated keycode for <Tab> for when a region is marked - bump version numbers and add a news item for the 4.5 release - color: don't concatenate an absolute path with the working directory - docs: add two examples of the 'tabgives' command to the sample nanorc - docs: describe the new syntax-specific 'tabgives' command - docs: mark the undoing of justifications as done in the TODO list - docs: mention that gcc must be at least version 5.0 - gnulib: update to its current upstream state - mouse: make the clickable width of menu items more consistent - new feature: a 'tabgives' command to define what the Tab key produces - search: after search-at-startup, store the column (for vertical movement) - tweaks: add a translator hint, and correct two others - tweaks: add some translator hints, be more precise on permissible length - tweaks: add two hints for translators, to try and help avoid mistakes - tweaks: adjust indentation after previous change, reshuffle declarations - tweaks: avoid a comparison between signed and unsigned [coverity] - tweaks: avoid leaking memory when finding an invalid string [coverity] - tweaks: avoid recomputing a maximum value every time round the loop - tweaks: don't burden all menus with something meant for the WriteOut menu - tweaks: elide a function from a non-UTF8 build - tweaks: elide two multiplications with something that is always 1 - tweaks: frob a few comments - tweaks: improve a bunch of comments, and reshuffle some declarations - tweaks: improve a handful of comments, and reduce the needed padding - tweaks: mark as 'const' a parameter that takes fixed strings [coverity] - tweaks: meld two calls of free() into a single one, to elide an 'else' - tweaks: move a fragment of common code into the appropriate function - tweaks: move a function to a better file, to be amongst its kind - tweaks: move a function to before its callers and next to its kind - tweaks: move two functions to after the ones that they call - tweaks: remove some timing code that has served its purpose - tweaks: remove two superfluous macros, as sizeof(char) is always 1 - tweaks: rename a function, to be a bit more fitting - tweaks: rename another type, again to better fit the general pattern - tweaks: rename another type, to also better fit the general pattern - tweaks: rename another variable, for a better fit - tweaks: rename a type, to better fit the general pattern - tweaks: rename a variable, normalize a comment, and reshuffle a free() - tweaks: rename a variable, to be more compact - tweaks: rename three variables, for contrast and more sense - tweaks: rename three variables, for more contrast - tweaks: rename three variables, to better indicate what they hold - tweaks: rename two variables, away from single letters - tweaks: rename two variables, to better describe what they contain - tweaks: reshuffle a fragment, to group some toggles together - tweaks: reshuffle a line, to group things better - tweaks: reshuffle some lines, to elide an unneeded assignment - tweaks: reshuffle some lines, to have the same order as elsewhere - tweaks: reshuffle two fragments, to group things better - tweaks: rewrap a line, reshuffle a declaration, and improve some comments - tweaks: simplify a calculation, as done elsewhere - tweaks: simplify the determination of a canonical path - tweaks: sort two keywords strictly alphabetically - tweaks: speed up determining the width of plain ASCII characters - tweaks: speed up the counting of the menu entries to be shown - tweaks: use a more efficient way to skip storing an empty file name - tweaks: use an early return when there is no tilde - tweaks: use 'void' in prototypes of parameterless functions [coverity] - usage: mark the -J/--guidestripe option plus argument as translatable - usage: properly align --help output also when it has accented characters - -Brand Huntsman (1): - search: accept a match at start of file when searching from command line - -Dirkjan Ochtman (1): - syntax: rust: add the words reserved in 2018, and remove unreserved ones - - -Changes between v4.3 and v4.4: ------------------------------- - -Benno Schulenberg (53): - browser: draw a bar of spaces only where needed -- for the selected item - build: exclude the search-at-startup feature from the tiny version - bump version numbers and add a news item for the 4.4 release - copying: do not prevent M-6 from copying emptiness into the cutbuffer - display: blank the status bar on a successful cut or paste - display: clear the remainder of a row only when there actually is some - display: don't clear a row beforehand -- just clear the remainder - display: use a somewhat faster method to clear a row - display: when linenumbering, correctly spotlight text that spans two rows - display: where needed, use slow blanking, but elsewhere do it much faster - docs: change a few URLs over to https, and rewrap a couple of NEWS items - docs: document the search-at-startup feature (+/string or +?string) - docs: make the synopsis of --speller and 'set speller' more accurate - docs: mention the M-N toggle instead of the obsolete M-# one - docs: slightly reword some of the descriptions around syntax highlighting - docs: slightly reword the descriptions of most configure options - docs: stop mentioning the 'unjustify' function, as it no longer exists - gnulib: update to its current upstream state - new document: a condensed overview of nano's shortcut keystrokes - new feature: allow specifying a search string to "jump to" at startup - rcfile: properly handle an empty syntax before an 'include' statement - scrolling: don't overscroll when the edit window has just one row - search: don't wipe the status bar at startup when there was an error - search: wipe the status bar before searching again (M-W / M-Q) - syntax: c: allow an underscore in lowercase type names - syntax: default: colorize bracketed section headers in some config files - syntaxes: change some unneeded 'icolor' commands to 'color' commands - syntaxes: recognize .ctp extension as a PHP file, and .cu as a C/C++ file - syntax: perl: avoid recognizing embedded hash signs as a comment starter - syntax: perl: avoid upsetting older glibcs with crafty range expression - syntax: perl: don't color the character after a variable name - syntax: po: colorize numbers only when they form a self-contained word - text: copy leading quote characters when automatic hard-wrapping occurs - tweaks: add a translator hint, to clarify four short words - tweaks: call the correct lighting function directly when softwrapping - tweaks: condense some comments, and drop two unneeded initializations - tweaks: drop two parameters that are no longer needed - tweaks: improve a comment, and drop a superfluous one - tweaks: improve a handful of comments - tweaks: make a function name unique, to not overlap with others - tweaks: move a call from two different places to a single place - tweaks: move a function to before the first one that calls it - tweaks: move a general function to a better place - tweaks: remove a saving and restoring that has become superfluous - tweaks: rename a function, to suit better, and reshuffle its parameters - tweaks: rename a parameter in three functions, to say what it points to - tweaks: reshuffle an assignment, and trim some excessive blank lines - tweaks: reshuffle an 'if' out of a function, and rename the function - tweaks: reword and condense two comments, and correct another - tweaks: rewrap two lines, and reshuffle some logic to make more sense - tweaks: shorten two messages that translators tend to make too long - tweaks: try the allocation of a multidata cache just once per line - tweaks: when precalculating, allocate all the cache space upfront - -Brand Huntsman (3): - rcfile: for an empty syntax, show the line number of the 'syntax' command - rcfile: report the correct command location for an invalid 'include' - search: accept toggles for case and regex when searching at startup - - -Changes between v4.2 and v4.3: ------------------------------- - -Benno Schulenberg (235): - bindings: at a Yes-No prompt, accept also ^N and ^Q for "No" - bindings: at a Yes-No prompt, accept also ^Y for "Yes" - bindings: bind the Alt+arrow keystrokes also in non-UTF-8 locales - browser: don't show a mistaken message when exiting from help viewer - build: avoid a warning on FreeBSD, OpenBSD, and Alpine - build: avoid a warning when using --disable-utf8 - build: exclude the ability to open a FIFO from the tiny version - build: fix compilation on another system - build: fix compilation when configured with --disable-color - build: fix compilation when configured with --enable-tiny - build: move an #include to where it is needed - build: remove two #includes that don't seem to be needed - bump version numbers and add a news item for the 4.3 release - chars: create a dedicated function for getting the length of a character - chars: redo the speedup for plain ASCII from three commits ago - chars: speed up case-insensitive searching by roughly one percent - chars: speed up the determination of length and width for plain ASCII - copying: let a copy command break a chain of cut or zap commands - copying: make M-6 do nothing when at end of buffer - copying: scroll just one line when M-6 is pressed on the bottom row - cutting: clear the cutbuffer when the previous operation was copying - cutting: ignore the mark when a word is deleted - display: properly show all characters in a non-UTF-8 build - docs: add a light warning to the explanation of --nonewlines - docs: adjust the wording of the README to be factually correct - docs: clarify that in nano regexes are extended regular expressions - docs: mention the default value for 'errorcolor' - docs: note Brand as the author of the delayed syntax parsing - docs: note David as author of undoable indenting and undoable justifying - docs: remove "--" from the default value of 'quotestr' - docs: say thanks to the Korean translator, and trim a double space - docs: show double quotes where they are needed - docs: slightly reword the notice about the changed defaults since 4.0 - feedback: don't clear off possible error messages after a spell check - feedback: don't try to represent keys outside of the seven-bit range - feedback: make an error check work also when curses hasn't started yet - feedback: print helpful message only when data comes from keyboard - feedback: show a more fitting message when opening a FIFO is interrupted - feedback: show an appropriate message when reading a file was cut short - feedback: treat statusline() being called outside of curses mode as a bug - feedback: when the last line is empty, don't include it in the count - files: allow a given file to be a special file but not a directory - files: allow to abort the reading of slow files with Ctrl+C - files: allow to interrupt the opening of a FIFO for writing with Ctrl+C - files: allow to interrupt the opening of a FIFO with Ctrl+C - files: check for writability by the access bits, not by trying to append - files: don't close a newly-created buffer when it is the only one - files: don't save the state of the terminal a second time - files: don't say "Error...: Success" when aborting after resizing - files: give feedback while waiting for a FIFO to open up - files: suppress feedback when writing an emergency or temporary file - files: try matching a syntax after scooping data from standard input - files: when needed, reconnect the keyboard and reenter curses mode - gnulib: update to its current upstream state - help: don't check for confinement when opening a temporary help-text file - help: don't cycle through the buffers for every resizing step - help: don't show Alt+Left and Alt+Right when running on a Linux console - help: make the column for the first keystroke a little wider - help: write the text directly into a new buffer, without using a tempfile - justify: remove "--" from the quoting regex, to avoid false paragraphs - oops: apparently the line numbers in the cutbuffer do matter - rcfile: at terminating points, verify that a defined syntax is not empty - rcfile: check for missing color commands only when a syntax is still open - rcfile: close off a syntax when a non-syntax command is encountered - rcfile: disallow extending a syntax that is defined in a main nanorc - rcfile: fully read each included file, so all its syntaxes are seen - search: stay in the Search menu when trying to Replace in view mode - softwrap: use smooth scrolling when softwrapping is toggled on - speller: be more concise and to the point when something goes wrong - speller: don't crash when the spell-checked tempfile cannot be opened - speller: ensure that a Shift-selected region is retained - speller: when something goes wrong with 'sort', do not blame 'spell' - startup: remove the now-unneeded workaround for a SIGWINCH during input - startup: resave the terminal's state only when there were no signals - syntax: po: colorize also escaped hex and octal codes - syntax: python: avoid miscoloring stuff between two empty strings - tweaks: add a missing forward declaration of make_new_buffer() - tweaks: add a pair of braces, to silence a compiler warning - tweaks: add a warning for something that shouldn't occur - tweaks: adjust a comment and drop two others, and reshuffle two lines - tweaks: adjust some indentation after the previous change - tweaks: adjust some whitespace and rewrap a few lines - tweaks: adjust the indentation after the previous change - tweaks: adjust the indentation after the previous change - tweaks: avoid an unneeded, extra stat() for temporary files - tweaks: avoid parsing a character twice - tweaks: be more sparing in redrawing things when exiting from help viewer - tweaks: change a function to void, to make things more direct - tweaks: check in a single place for files that should not be opened - tweaks: close a buffer differently and elide a parameter - tweaks: condense a comment and reshuffle a couple of lines - tweaks: condense a couple of comments, and reshuffle a line - tweaks: condense the setup of the two signal handlers for Ctrl+C - tweaks: condense two comments, and normalize the whitespace of a label - tweaks: consistently report failures to fork (and the like) as errors - tweaks: delete a leftover - tweaks: delete a now-unused function - tweaks: delete a now-unused function - tweaks: don't bother calling mblen() in a non-UTF-8 build - tweaks: don't bother checking the return value of wait() - tweaks: don't bother keeping track of whether a squeezed line has shrunk - tweaks: don't bother renumbering the lines in the cutbuffer - tweaks: don't bother saving and restoring 'cutbottom' all the time - tweaks: don't bother to free the content of 'extendsyntax' commands - tweaks: don't check the user's nanorc file for accessibility twice - tweaks: drop an unneeded parameter from open_file() - tweaks: drop a useless tidying-up call, as spelling does not use regexes - tweaks: drop most of the remaining debugging code, and some timing code - tweaks: drop some checks that were made redundant by the previous commit - tweaks: drop two checks that were made redundant by the previous commit - tweaks: elide a function that is an amalgam of three others - tweaks: elide a function that is called in just one place - tweaks: elide a function that is used just once - tweaks: elide another parameter, and rename the function to match - tweaks: elide an unneeded, duplicate stat() for the FIFO check - tweaks: elide an unneeded 'if' and 'break' - tweaks: elide an unneeded variable - tweaks: elide a parameter and a return value - tweaks: elide a pre-processor #else clause, by using braces instead - tweaks: elide a variable, drop a comment, and remove unneeded braces - tweaks: elide two unneeded variables - tweaks: enforce the minimum amount of scrolling in a simpler way - tweaks: exclude a bug check from the tiny version - tweaks: exclude another bug check from the tiny version - tweaks: factor out a fragment of code that is repeated three times - tweaks: factor out the installing and restoring of the ^C signal handler - tweaks: improve a couple of comments - tweaks: improve a handful of comments - tweaks: improve some comments, reshuffle a line, and rename a variable - tweaks: include the enabling of SIGINT into the tiny version - tweaks: invert a condition, in order to return earlier - tweaks: invert two conditions, in order to elide an extra variable - tweaks: just mark four rcfile errors for translation, like the others - tweaks: make better use of two variables, and reshuffle two comments - tweaks: merge two functions, as the first is called just once - tweaks: merge two functions, as the one is used only by the other - tweaks: merge two very similar functions into a single one - tweaks: move a bit of timing code to where it will be needed - tweaks: move a function to the file where it is used - tweaks: move an assignment that is useful only when searching forward - tweaks: move a syntax check to a better place, to reduce duplication - tweaks: move the tidying-up-after-a-search to a single exit point - tweaks: normalize the indentation after the previous two changes - tweaks: place a function better, and reduce some comments to a single one - tweaks: put some timing code back into the search function - tweaks: really don't bother renumbering the lines in the cutbuffer - tweaks: reduce a bit of mark-adjusting code to its essence - tweaks: reduce the scope of a variable, and let the compiler zero it - tweaks: remove a bit of redundant code - tweaks: remove a check that is no longer relevant - tweaks: remove a condition that has become superfluous - tweaks: remove an unneeded "closing" of a syntax after extending it - tweaks: remove an unneeded setting and unsetting of a flag - tweaks: remove a superfluous and ineffective assignment - tweaks: remove a superfluous condition, in three places - tweaks: remove four unneeded pre-processor directives - tweaks: remove some unneeded braces, and reshuffle for more symmetry - tweaks: remove the two remaining handfuls of asserts - tweaks: remove two more unneeded assignments - tweaks: remove two unneeded assignments, and improve a comment - tweaks: remove two unneeded checks for NULL - tweaks: rename a bunch of variables, to become identical to others - tweaks: rename a function and a variable, for contrast and variety - tweaks: rename a function and its parameters, to be more fitting - tweaks: rename a function, to be clearer and to stop using an old abbrev - tweaks: rename a function, to be more fitting - tweaks: rename a function, to better indicate what it does - tweaks: rename a function, to better suit what it does - tweaks: rename a parameter and a variable, to be more distinct - tweaks: rename a struct element, to be distinct - tweaks: rename a type, for more contrast - tweaks: rename a type, to make more sense - tweaks: rename a variable, reduce its scope, and use it consistently - tweaks: rename a variable, reshuffle declarations, and drop an assert - tweaks: rename a variable, to be shorter - tweaks: rename a variable, to better indicate it contains two characters - tweaks: rename a variable, to better suit its counterpart - tweaks: rename a variable, to fit a bit better - tweaks: rename a variable, to fit a little better - tweaks: rename a variable, to get out of the way of the next commit - tweaks: rename a variable, to match another with the same meaning - tweaks: rename a variable, to match the style of its brothers - tweaks: rename four elements of the holder struct, for more contrast - tweaks: rename some single-letter variables to the same significant word - tweaks: rename three variables, to get rid of a suffix or an underscore - tweaks: rename three variables, to use full words instead of abbrevs - tweaks: rename two functions, to be simpler - tweaks: rename two functions, to better describe what they do - tweaks: rename two functions, to get rid of the "mb" abbreviation - tweaks: rename two more functions, to be simpler too - tweaks: rename two parameters, away from single letters - tweaks: rename two parameters, for more contrast, and elide another - tweaks: rename two parameters, to differentiate them from function names - tweaks: rename two variables, and frob some comments - tweaks: rename two variables, and reshuffle their declarations - tweaks: rename two variables, away from a single letter - tweaks: rename two variables, for more contrast - tweaks: rename two variables, for more contrast with the partition stuff - tweaks: rename two variables, to be less cryptic - tweaks: rename two variables, to be unique - tweaks: rename two variables, to not be abbreviations - tweaks: reorder some code, to further optimize display_string() for ASCII - tweaks: reshuffle a bit of code, to be less intertwined - tweaks: reshuffle a couple of lines and adjust a few comments - tweaks: reshuffle a few lines, to be more straightforward - tweaks: reshuffle a few things, partly to make two chunks more alike - tweaks: reshuffle an assignment, to be able to return earlier - tweaks: reshuffle some closing and switching to a better place - tweaks: reshuffle some code to the one place that needs it - tweaks: reshuffle some lines and frob some comments - tweaks: reshuffle some lines, to group things more sensibly - tweaks: reshuffle some lines, to put the most likely candidate first - tweaks: reshuffle some lines, to reduce duplication - tweaks: reshuffle two #ifdefs, to avoid an unpaired brace - tweaks: reuse the install and restore functions for a signal handler - tweaks: set a boolean directly, instead of using a function call - tweaks: set a boolean directly, instead of using a function call - tweaks: sort three translator names better - tweaks: specifically refer to the manual of GNU grep for more regex info - tweaks: speed up the counting of characters in mbstrlen() - tweaks: squeeze excess spaces out of a line in situ - tweaks: step away one character from the current bracket, not one byte - tweaks: stop allocating and freeing a holder struct for every cut/paste - tweaks: stop checking for a NULL result from line_from_number() - tweaks: stop passing 'cutbuffer' and 'cutbottom' back and forth - tweaks: switch to the preceding buffer in a cheaper way (when in help) - tweaks: use a cheaper way to switch between buffers where possible - tweaks: use a more direct call when a single linestruct is deleted - tweaks: use a slightly faster function where appropriate - tweaks: use a symbol instead of zero to refer to standard input - tweaks: use FALSE for booleans instead of zero - tweaks: when OR'ing, put the most likely condition first - usage: make the --help output independent from the terminal's tab size - zapping: disjoin a zap command from earlier ones when the mark is set - zapping: use the 'keep_cutbuffer' logic to keep undo items apart - -Brand Huntsman (6): - files: block SIGWINCH while opening a FIFO for reading or writing - rcfile: compile the color regexes just once - rcfile: fully parse a syntax file only when needed - rcfile: store errors and display them when nano terminates - startup: prevent a crash when no applicable syntax is found - tweaks: remove an unneeded pre-processor '#else' clause - - -Changes between v4.1 and v4.2: ------------------------------- - -Benno Schulenberg (23): - build: be more specific and avoid committing accidentally changed files - bump version numbers and add a news item for the 4.2 release - docs: put the 'set guidestripe' option into its alphabetical position - options: make --breaklonglines work also when --ignorercfiles is used - speller: do not crash by trying to free something that cannot be freed - tweaks: adjust a few comments and some indentation - tweaks: condense and improve a handful of comments - tweaks: declare a function as const and let its allocated string leak - tweaks: drop an unneeded saving and restoring of a variable - tweaks: elide an unneeded intermediate variable - tweaks: elide an unneeded parameter, as the function already assumes it - tweaks: elide an unneeded variable - tweaks: exclude a bit more code from a single-buffer build - tweaks: remove an unneeded condition - tweaks: remove a redundant, enclosed #ifdef - tweaks: rename a function, to be distinct and fitting - tweaks: rename another function, to be distinct and fitting - tweaks: rename a variable, for a little more meaning - tweaks: rename a variable, to distinguish it from a browser function - wrapping: add a missing space only when the remainder will be prepended - wrapping: compute the width of a succeeding line in the correct manner - wrapping: improve the persistence of the prepending behavior - wrapping: trim any trailing blanks when cursor goes to next line - - -Changes between v4.0 and v4.1: ------------------------------- - -Benno Schulenberg (85): - bindings: add easier keystrokes for the linenumber and softwrap toggles - bindings: disallow executing an external command when in view mode - bindings: recognize the ^W^Y and ^W^V legacy keystrokes again - bindings: remove the jumpy-scrolling toggle entirely - build: add gnulib modules to the list of files with translatable strings - build: add src/cut.c to the list of files with translatable strings - build: don't do fuzzy matching when merging PO files against the POT file - build: remove obsolete translations from the PO files after merging - bump version numbers and add a news item for the 4.1 release - display: report and catch a bad state, to prevent a possible hang - docs: for two of the toggles, mention the new instead of the old option - docs: give the FILES section in the man page its canonical title - docs: mention that -b is the opposite of -w also in the latter's item - docs: mention that M-S now toggles softwrap and M-N line numbers - docs: put paths and filenames in italics, per 'man man-pages' - docs: remove all mention of --finalnewline, and undefault --nonewlines - docs: remove the AUTHOR section, per advice from 'man man-pages' - docs: re-title the temporary section about the changed defaults - feedback: replace an assert with a check plus error message at startup - feedback: show a message while executing an external command - feedback: spare the user a superfluous scaring when trying to exit - gnulib: update to its current upstream state - help: don't doubly list toggles that have two keys assigned to them - indenting, commenting: ensure a partial line stays displayed properly - justify: correctly compute the number of lines to take, to avoid a crash - options: make --nowrap override again a contrary nanorc setting - options: remove -f (--finalnewline); go back to auto-adding this newline - rcfile: don't break a chain of 'else if' [scan-build] - rcfile: read the syntax files in alphabetical order when globbing - speller: block the resizing signal again during an external spell check - speller: block the resizing signal also during an integrated spell check - speller: resizing can happen also when configured with --enable-tiny - syntax: c: color as a type any lowercase word that ends with "_t" - syntax: default: color in red also versions 4.x of nano - syntax: man: add comments, and color all the safe lowercase macros - syntax: man: anchor macros at start of line, as only then they are valid - syntax: man: require the dot to be at start of line, not the comment - syntax: nanorc: colorize also strings preceded by 'start=' or 'end=' - syntax: nanorc: require whitespace both before and after a quoted string - tweaks: adjust the indentation after the previous change - tweaks: condense a bit of copying code - tweaks: consistently use .sp instead of .PP to insert a blank line - tweaks: do a check up front instead of every time round the loop - tweaks: don't bother copying the NUL byte -- it is set nine lines down - tweaks: don't bother reallocating the data when a line gets hard-wrapped - tweaks: don't bother reallocating the squeezed string, just terminate it - tweaks: don't bother special-casing non-UTF8 when seeking a character - tweaks: drop an assignment whose value is never used [scan-build] - tweaks: drop two 'const' qualifiers, to silence the compiler - tweaks: free some memory before a possible error exit [coverity] - tweaks: free the copy of a linter message in all cases [valgrind] - tweaks: free the result string from an invocation error [coverity] - tweaks: initialize a boolean before it is referenced [valgrind] - tweaks: put the unblocking of SIGWINCHes in a better place - tweaks: remove a function that is now unused - tweaks: remove an unneeded check for NULL and its associated message - tweaks: remove an unneeded check for NULL [coverity] - tweaks: remove an unpaired closing parenthesis from the NEWS file - tweaks: remove a superfluous check for NULL plus the associated message - tweaks: remove several unneeded bad-state checks and their messages - tweaks: rename a cryptic type to something that makes a little sense - tweaks: rename a function plus parameter, to stay closer to what it does - tweaks: rename another variable, to be more descriptive - tweaks: rename another variable, to be more fitting - tweaks: rename an overshort type to something that makes some sense - tweaks: rename a variable, to be more distinct and more apt - tweaks: rename a variable, to be more distinct and more descriptive - tweaks: rename a variable, to get out of the way for another rename - tweaks: rename some variables, for more contrast and to match others - tweaks: rename some variables, to be less repetitious - tweaks: rename two variables, for more contrast - tweaks: rename two variables, to be more distinct and more fitting - tweaks: rename two variables, to make more sense - tweaks: rename two variables, to match others - tweaks: reshuffle some lines, condense a comment and drop another - tweaks: reshuffle some lines, to elide an 'if' - tweaks: reshuffle two lines, and reword a comment - tweaks: reword a comment, and drop an unneeded assert - tweaks: shorten a comment to its essence - tweaks: shorten and improve some comments, and reshuffle a few lines - tweaks: simplify a message, and normalize the spelling of another one - tweaks: stop doing tandem assignments (one passing through the other) - tweaks: switch back from checking FINAL_NEWLINE to checking NO_NEWLINES - tweaks: use a signed type for a result that could be negative [coverity] - unindent: ensure that a partial line gets displayed properly afterwards - -Brand Huntsman (1): - files: block the resizing signal while reading from an external command - -Devin Hussey (1): - files: initialize a variable before referencing it - -Liu Hao (1): - syntax: c: change the highlighting of preprocessor directives - - -Changes between v3.2 and v4.0: ------------------------------- - -Benno Schulenberg (190): - bindings: change the action of <Alt+Up>/<Alt+Down> to 'scroll linewise' - bindings: hard-bind ASCII code 0x08 (BS) to the backspace function - bindings: make the normal scrolling keystrokes work also in help viewer - bindings: provide usable shortcuts for prevword/nextword in tiny version - bindings: rename 'cutwordleft' to 'chopwordleft', and similar for right - browser, help: make <Bsp> page up also when terminfo mismatches terminal - browser: say "Close" instead of "Exit" for the ^X shortcut - browser: show the ^G item again in the help lines - build: eradicate the --disable-wrapping-as-root configure option - build: fix compilation when configured with --disable-utf8 - build: use wget over https (instead of plain rsync) to fetch PO files - build: verify that 'pkg.m4' is available when building from git - bump version numbers and add a news item for the 4.0 release - copyright: update the years for significantly changed files - copyright: update the years for the FSF - copyright: update the years for the FSF in the documentation too - cutting: cover the corner cases where cut commands do not cut anything - cutting: give feedback when otherwise nothing happens - cutting: when ^K does not actually cut anything, do not add an undo item - display: account for horizontal scrolling when drawing the guide stripe - display: account for zero-width characters when reserving space for '>' - display: change the "$" continuation character to ">" and "<" - display: dot the stripe when it's in the last column, to defeat a VTE bug - display: ensure that spotlighted text is not treated as a prompt answer - display: highlight the ">"/"<" continuation characters in reverse video - display: represent half of a double-width character with "[" and "]" - display: scroll horizontally one column earlier - display: show "[" for half of two-column character also when softwrapping - display: show it in title bar when starting up in restricted mode - display: use non-breaking space instead of dot for VTE-bug workaround - docs: add notes to draw attention to the changed defaults - docs: adjust and extend the Pico-compatibility section in the manual - docs: adjust for the enhancement of the default quoting regex - docs: correct the descriptions of 'speller' and 'linter' functions - docs: deprecate the use of morespace, smooth, nonewlines, and nowrap - docs: describe breaklonglines, emptyline, finalnewline, jumpyscrolling - docs: describe the four new options (-b, -f, -j, -e) - docs: describe the new options -J, --guidestripe, and 'set stripecolor' - docs: harmonize the style of bindable-function descriptions - docs: mention nano's major features directly instead of referring - docs: mention that 'cutwordleft' is bound to <Shift+Ctrl+Delete> - docs: mention that --morespace and --smooth are obsolete and ignored - docs: mention that 'quotestr' enables the rewrapping of comment blocks - docs: mention three features in their proper place - docs: remove from the FAQ some items that are no longer relevant - docs: remove the mentioning of --disable-wrapping-as-root from the FAQ - docs: reword and reshuffle the description of --rawsequences - docs: say that --rebinddelete can correct both <Backspace> and <Delete> - docs: stop implying that nano wants to be fully compatible with Pico - docs: stop saying that --fill switches on automatic hard-wrapping - docs: suggest a setting for 'stripecolor' in the sample nanorc - docs: update the links in the FAQ to the mailing-list info pages - feedback: complete the removal of some superfluous words - feedback: make two error messages better match the option - feedback: remove some superfluous words from Undid/Redid messages - files: retain a Shift-selected region when switching between buffers - gnulib: update to its current upstream state - help, docs: say "Delete" when things don't go into the cutbuffer - help: don't advertise ^S and ^Q when --preserve is used - help: don't list the obsoleted -O and -S options in the --help output - help: don't list the unbound <Alt+Up> and <Alt+Down> in the tiny version - help: in the tiny version, don't list an option that is the default - help: reword the description of ^U to avoid the impression of "Undo" - help: reword the tags for deleting a word left and right - justify: correctly detect when we've reached end of buffer - justify: extend the quoting regex, to cover more types of comments - justify: move the check for a bad quoting regex to a better place - menus: don't show ^S and ^Q in the help lines in the tiny version - menus: move the paragraph-jumping functions from Search to Goto-Line - menus: put the ^T toggle in Search in the same position as in Goto-Line - menus: remove the ^Y and ^V shortcuts from the Search menus - new feature: option --guidestripe that shows a vertical guiding bar - options: actually rename --rebindkeypad to --rawsequences (-K) - options: add -b, --breaklonglines, the counterpart of --nowrap - options: add -e, --emptyline, the counterpart of --morespace - options: add -f, --finalnewline, the counterpart of --nonewlines - options: add -j, --jumpyscrolling, the counterpart of --smooth - options: disable hard-wrapping and automatic newlines by default - options: let --fill no longer imply automatic hard-wrapping - options: make -d (--rebinddelete) work without -K (--rebindkeypad) - options: make --rawsequences disable --mouse, to prevent entering junk - options: rename long version of -K from --rebindkeypad to --rawsequences - options: stop recognizing and ignoring -b, -e, -f, -j, and -q - options: stop recognizing and mentioning --quiet and 'set quiet' - options: warn when option -O or -S is given, and ignore them - prompt: trim a double-width character at the screen's edge - rcfile: add 'stripecolor' for changing the color of the guiding stripe - rcfile: add the options that correspond to -b, -f, -j, and -e - rcfile, docs: remove deprecated forms of two options and five bindables - rcfile: don't report an error when the globbing pattern matches nothing - rcfile: reject an attempt to bind ^[ - rcfile: when a keystroke is rebound, don't bother unbinding it - rcfile: when an old flag is unset, set the corresponding new flag - rcfile: when rebound, DO unbind a keystroke from its earlier function - startup: check again for a Linux console after reading all files - startup: check that a backup directory is valid also when backups are off - startup: improve two error messages by mentioning the invalid operand - syntax: nanorc: stop coloring 'unset fill ...' as if it were valid - syntax: tcl: colorize comments normally, not with a background hue - text: turn the mark off when justifying, to not confuse an undo - tweaks: add a consistency check plus a corresponding warning - tweaks: add an alias for a string variable, so the code makes more sense - tweaks: add deprecation comments to the four superseded options - tweaks: add two comments, and reduce the scope of another variable - tweaks: adjust indentation after previous change, and rename a parameter - tweaks: adjust the indentation after the previous change - tweaks: avoid parsing the same character twice - tweaks: calculate the length of a completion word in a more direct way - tweaks: change do_para_end() to not step beyond end of paragraph - tweaks: condense a comment, and drop two others - tweaks: condense a couple of comments and rewrap a few lines - tweaks: condense a handful of comments - tweaks: condense and correct a comment - tweaks: condense and improve a couple of comments - tweaks: condense and improve a handful of comments, and rewrap two lines - tweaks: condense the logic of find_paragraph() - tweaks: condense two regexes in the Tcl syntax, and add a comment - tweaks: correct a comment typo, and trim a few other comments - tweaks: don't bother executing two functions that are empty - tweaks: don't bother special-casing non-UTF8 when checking for a blank - tweaks: don't bother trying to draw characters beyond the screen's edge - tweaks: don't bother zeroing the x position when doing a full justify - tweaks: don't pass a pointer when a boolean is expected - tweaks: elide a function that is called just once - tweaks: elide an unneeded intermediate variable - tweaks: elide a one-line function that is used just twice - tweaks: elide a parameter -- do the NULL checks in the caller - tweaks: elide a parameter that is always TRUE - tweaks: elide a tiny function by making a variable global - tweaks: elide a variable that is a copy of another - tweaks: elide two unneeded intermediate variables - tweaks: escape hyphens that must be hard hyphens in the man pages - tweaks: exclude the guide-stripe code from the tiny version - tweaks: hard-bind ASCII DEL in a slightly more economical way - tweaks: improve a comment, and add an intermediate variable for clarity - tweaks: improve a comment, to better match the changed code - tweaks: improve and condense some comments, and remove an unneeded one - tweaks: make an assignment only when the option is valid, like elsewhere - tweaks: move declaration of variable that does not need to be global - tweaks: move the character/word-deletion functions to a better location - tweaks: move the check for beginning-of-paragraph to a better place - tweaks: move the checks for git and gettext to a far earlier point - tweaks: reduce a bunch of repetitious comments to their essence - tweaks: reduce the scope of a variable, and rename it - tweaks: reduce the scope of two variables, and rename one of them - tweaks: reduce two parameters to a single one by summing them - tweaks: refer to the magic line as "magic line", not as "magicline" - tweaks: remove a superfluous check for a special case - tweaks: remove a superfluous incrementing and decrementing of a variable - tweaks: remove a variable that is no longer used - tweaks: remove two tag definitions that are no longer needed - tweaks: rename a function for aptness, and two variables for shortness - tweaks: rename a function, to be simpler and more accurate - tweaks: rename and invert a function, to avoid double negatives - tweaks: rename an overlooked variable from a single letter to a word - tweaks: rename a parameter plus a variable, and reshuffle an assignment - tweaks: rename a struct element, to make sense - tweaks: rename a symbol, to match its corresponding option - tweaks: rename a type, to make more sense - tweaks: rename a variable, because it also serves as "last line" - tweaks: rename a variable, elide another, and adjust two comments - tweaks: rename a variable, to be more distinct - tweaks: rename four functions, to make more sense - tweaks: rename some variables from a single letter to meaningful word - tweaks: rename some variables, to match others that have the same task - tweaks: rename three functions and two symbols, to match the new wording - tweaks: rename three variables, and reshuffle two declarations - tweaks: rename two parameters to be more descriptive - tweaks: rename two variables, to be less confusing - tweaks: rename two variables, to be more descriptive - tweaks: rename two variables, to indicate better what they mean - tweaks: renumber some FAQ items, to compensate for the deleted ones - tweaks: reorder some ifs, to reduce the average number of comparisons - tweaks: reshuffle a bit of code, to have the exit point near the end - tweaks: reshuffle a few lines, and condense some comments - tweaks: reshuffle and frob a couple of comments, and reindent two lines - tweaks: reshuffle some code, to require two fewer ifs - tweaks: reword the description of the disadvantages of Pico - tweaks: rewrap a line and improve a few comments - tweaks: schedule a call of edit_refresh() instead calling it directly - tweaks: slightly indent warnings and errors during the configure phase - tweaks: slightly reword, for esthetics of the resulting Info document - tweaks: split a variable into two, as they have different roles - tweaks: switch from checking MORE_SPACE to checking EMPTY_LINE - tweaks: switch from checking SMOOTH_SCROLL to checking JUMPY_SCROLLING - tweaks: switch from referencing NO_NEWLINES to referencing FINAL_NEWLINE - tweaks: switch from referencing NO_WRAP to referencing BREAK_LONG_LINES - tweaks: word some comments more concisely - undo: set the correct file size for a redo of a character deletion - utils: retire the fixbounds() function -- it is no longer needed - -Brand Huntsman (1): - history: use an unfreed 'position_history' to avoid a possible crash - -David Lawrence Ramsey (34): - display: correctly trim an overshooting character from a prompt answer - display: correct the logic for making room for the ">" character - display: properly handle double-width characters when spotlighting - display: properly trim double-width characters at the edit window's edge - display: show the guide stripe for double-width/multi-byte characters - docs: remove references to not being able to undo justifications - input: properly handle <Escape>s followed by a shifted Meta+letter - justify: handle the leading part when justifying a marked region - justify: initialize a variable before making use of its value - justify: put a mid-line marked region onto separate lines - justify: when justifying a marked region, strip whitespace after the lead - moving: make the generic paragraph movement functions work on any buffer - new feature: marked text gets justified into a single, new paragraph - options: exit on a bad quoting regex, instead of crashing later - text: hook the new justify mechanism up to the undo system - text: make do_justify() use the cutbuffer - text: make find_paragraph() work on any buffer - text: make justify_format() work on any buffer - text: make justify_paragraph() work on any buffer - text: prepare to make find_paragraph() work on any buffer - text: properly check again for no paragraphs after the current line - text: remove the old unjustify mechanism, to prepare for the new justify - tweaks: adapt find_paragraph()/justify_paragraph() for multiple quotes - tweaks: adjust indentation after the previous commit - tweaks: adjust some indentation after the previous change - tweaks: normalize the indentation, and remove unneeded braces - tweaks: remove unnecessary variable initializations - tweaks: rename a variable, to prepare for its new role - tweaks: split justify_paragraph() into three separate functions - tweaks: swap the names of the variables 'wrap_at' and 'fill' - tweaks: use proper variable types in the word-completion functions - undo: after undoing a cut, don't remove the magicline if we're on it - undo: set and check 'xflags' in a bitwise manner - undo: when undoing a cut, remove also the magicline if it added one - - ====================================================================== For older changes, see in https://ftp.gnu.org/gnu/nano/nano-5.0.tar.xz ======================================================================