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:
M | ChangeLog | | | 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
======================================================================