1
1
Fork 0
nano/ChangeLog

4991 lines
304 KiB
Plaintext

Changes between v6.0 and v6.1:
------------------------------
Benno Schulenberg (37):
build: fix compilation when configured with --enable-tiny
build: prevent autopoint from overwriting a newer M4 file from gnulib
bump version numbers and add a news item for the 6.1 release
copyright: update the last year for significantly changed files
copyright: update the years for the FSF
docs: mention bindable function 'zero', for toggling the interface bars
docs: mention 'set guidestripe' and 'set unix' in the sample nanorc
docs: remove obsolete Ctrl+Z from the cheatsheet; mention Alt+X instead
files: let ^C cancel the exiting when the file on disk was changed
gnulib: update to its current upstream state
help: make the description of <Tab> more accurate
help: update the description of M-D, to match the actual order of counts
input: instead of moving waiting keycodes, just increment a pointer
input: suppress any spotlighting when there are more keycodes waiting
menus: don't show M-6 in the help lines of any prompt
prompt: allow the user to copy the answer to the cutbuffer (with M-6)
prompt: let ^K erase text after cursor (if any), otherwise whole answer
tweaks: add some feedback to the autogen.sh script, to ease the wait
tweaks: add some small, clarifying comments
tweaks: adjust a translator hint, to fit the order in the POT file
tweaks: drop foreign M-U and M-R from among the sample CUA bindings
tweaks: remove a redundant check -- add a different one for symmetry
tweaks: remove two redundant checks
tweaks: rename a function and its two parameters, for clarity
tweaks: rename a function and reshuffle its call
tweaks: rename a function, to not contain the name of a variable
tweaks: rename another variable, to better fit in with its sisters
tweaks: rename a variable and a parameter, to be more descriptive
tweaks: rename a variable, away from an abbreviation
tweaks: rename a variable, for clarity and contrast
tweaks: rename a variable, to make it clearer it refers to a window
tweaks: rename two variables, and elide a near-enough duplicate
tweaks: reshuffle some sample bindings, to group them differently
tweaks: reword two comments, and rename a variable (away from an abbrev)
tweaks: stop asking the terminal for its new size -- let ncurses do it
tweaks: use some symbolic names instead of unclear numeric values
tweaks: when discarding keycodes, don't bother parsing them
Changes between v5.9 and v6.0:
------------------------------
Benno Schulenberg (192):
bindings: allow rebinding ^Z also on a Linux console (a VT)
bindings: allow toggling line numbers (when enabled) also in tiny version
bindings: let ^T in the tiny version invoke spell checker (when included)
browser: with --zero, do not use the bottom row for displaying filenames
build: fix compilation when configured with --disable-color
build: fix compilation when configured with --disable-nanorc
build: fix compilation when configured with --enable-tiny
build: fix compilation with --enable-tiny --enable-nanorc
build: fix compilation with --enable-tiny --enable-wrapping
build: include the YAML syntax file among the distributed files
bump version numbers and add a news item for the 6.0 release
display: clear the status bar early enough, so that --zero can show text
display: do not wipe the status bar when --zero or --minibar is active
display: ensure feedback will be cleared also on a one-row terminal
display: make sure there are at least as many text lines as help lines
display: move some code for overwriting verbatim feedback with --zero
display: redraw the screen in tiny version upon resuming from suspension
display: with --zero, redraw the bottom row instead of wiping a message
docs: add a hint about making ^L do just 'refresh' to the sample nanorc
docs: add a meta description for the HTML rendering of the manual
docs: add a suggested rebind and three suggested unbinds to the sample rc
docs: avoid large Table of Contents at top of HTML version of manual
docs: clarify that --enable options do not fully counteract --enable-tiny
docs: correct the description of the layout -- four areas, not five
docs: document the effect of --quickblank together with --zero/--minibar
docs: explain the effect of --zero / -0 / 'set zero'
docs: explain what it means when --rawsequences is needed
docs: give more examples of things that --enable-tiny excludes
docs: improve the title of the manual, away from the bare "nano"
docs: list the new color names, from 'rosy' to 'crimson'
docs: mark options -z, --suspendable, and 'set suspendable' as obsolete
docs: mention "grey" also at the other place where color names are listed
docs: mention M-Z (for toggling the interface) among the Feature Toggles
docs: mention that --zero and 'set zero' hide also the help lines
docs: move the chapter about editor basics into third position
docs: prevent a black square in the PDF after the long synopsis line
docs: reshuffle a GNU marker, to make the title clearer in search engines
docs: reword several of the descriptions in the chapter on building nano
docs: reword the beginning of the chapter on nanorc files
docs: say thanks to the Indonesian translator
feedback: give a more accurate message when the help lines won't appear
feedback: refuse the --constantshow toggle (M-C) on a one-row terminal
feedback: report an unbindable function key as an "Unknown sequence"
feedback: report the number of inserted lines also with --zero or --mini
feedback: show a relevant message for M-O when the syntax has 'tabgives'
feedback: suppress chatty messages when --zero is active
feedback: to have a status bar, suppress --zero while in the help viewer
feedback: when reporting an unbound function key, mention its number
feedback: when the user types ^Z, say they can suspend nano with ^T^Z
feedback: with --mini or --zero, suppress number of lines for new buffer
feedback: with --mini/--zero, suppress message when toggling whitespace
feedback: with --zero, drop a message in a short while, as with --minibar
files: allow inserting also when started with the --noread option
files: clear original filename when the user toggles Append or Prepend
gnulib: update to its current upstream state
help: do not show ^S when --preserve is in effect
help: ensure there is a blank line between title bar and start of text
help: group the now lone mouse toggle with the "behavioral" ones
help: remove an unneeded restriction for small terminals
help: skip the leading blank line when the terminal is very flat
help: when done, always redraw the "bottom bars", also with --zero
history: process file faster by not filtering out hypothetical duplicates
input: ensure that no more bytes are consumed than are available
justify: correctly determine whether top-of-buffer has been reached
memory: avoid a tiny leak when an option with an argument is given twice
memory: avoid leaking the filename when dottifying it on the minibar
new feature: option --zero for an interface without bars
options: make --zero imply --nohelp, and 'set zero' imply 'set nohelp'
pasting: when less than a line is pasted, allow automatic hard-wrapping
prompt: avoid resetting the history pointer when the search is cancelled
prompt: begin at bottom of history list when at secondary prompt
prompt: keep a clear answer clear also after an excursion into history
rcfile: recognize fourteen new color names, mostly for subdued shades
rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keywords
replacing: keep centering the occurrence, also after toggling help lines
replacing: keep the spotlighted occurrence in view, also with --zero
replacing: keep the spotlighting, also after toggling the help lines
search: with --zero, do not obscure an occurrence on the bottom row
search: with --zero, drop a message at the same time as the spotlight
statusbar: count words in the way that matches how Ctrl+Right moves
statusbar: overwrite a message also when using --constant with --zero
suspension: enable ^Z by default -- ignore -z option and drop M-Z toggle
suspension: leave ^Z unbound by default -- just ^T^Z will suspend nano
syntax: debian: remove file -- Debian itself will have to handle it
syntax: default: colorize comments as one of the last things
syntax: default: colorize dates, URLs, and nano's release motto
syntax: email: use a character class, as \s does not work inside brackets
syntax: gentoo: remove file -- Gentoo itself will have to handle it
syntax: nanorc: add 'execute' menu for unbind, and drop a bad constraint
syntax: nanorc: avoid colorizing #rgb codes as if they were comments
syntax: nanorc: colorize a trailing comment when it begins with non-hex
syntax: nanorc: colorize each of the fourteen new color names as valid
syntax: nanorc: improve the file-matching regex
syntax: nanorc: paint arguments of 'include' and 'extendsyntax' specially
syntax: nanorc: require whitespace before the start= and end= keywords
syntax: python: colorize backslash escapes, such as \n and \xef
syntax: ruby: colorize embedded documentation as a comment
syntax: rust: do not colorize as string the text between two strings
syntax: sql: add a few more missing keywords, like TRUE and FALSE
syntax: sql: add more missing keywords, like INNER and OUTER JOIN
syntax: sql: add some missing keywords, like ALL and ANY and OR
syntax: sql: add two missing data types -- xml and tsquery
syntax: sql: colorize as flow control only keywords that clearly are such
syntax: sql: colorize keywords regardless of case, and tweak the colors
syntax: sql: colorize only single-quoted things as strings
syntax: sql: colorize strings differently than types
syntax: sql: remove alien stuff -- it was copied mostly from ruby syntax
syntax: texinfo: be more precise in colorizing @commands
syntax: texinfo: colorize the special @-plus-punctuation commands too
syntaxes: avoid coloring "this\" as if it were a valid string
syntaxes: colorize hex more strictly by using character class [:xdigit:]
syntaxes: drop three redundant end-of-line anchors
syntaxes: undouble the backslash within bracket expressions
syntaxes: use one regex for coloring quoted strings, to avoid overlap
tabbing: also with --zero, stay one row away from the prompt bar
tweaks: add an auxiliary variable, to prepare for handling --zero
tweaks: add two spaces and two comments, and drop an internal check
tweaks: adjust two values -- help lines need at least 6 rows to be shown
tweaks: avoid a compiler warning with --enable-tiny --enable-linenumbers
tweaks: avoid redrawing the entire window when just a 'touch' will do
tweaks: condense the definitions of all the empty functions
tweaks: condense the regexes for Types in the SQL syntax
tweaks: don't redraw the help lines (if present), and normalize a brace
tweaks: drop a fragment of code that became functionless
tweaks: elevate two messages, so they get shown with --mini or --zero
tweaks: elide a variable that is confusing and has just one use case
tweaks: elide two functions that each were called just once
tweaks: elide two parameters, as they are now always the same
tweaks: exclude some hidden-interface code from the tiny version
tweaks: exclude some suspension code from the tiny version
tweaks: fix a parentheses mistake -- found by a warning from Clang
tweaks: fix a somewhat humorous typo
tweaks: fix typo, and improve description of 'set zero' in sample nanorc
tweaks: fold a special case into the general one
tweaks: fold some regexes together, and trim or improve some comments
tweaks: frob a couple of comments, and drop two, for conciseness
tweaks: improve a comment, and drop two cluttering compile conditions
tweaks: invert a condition, to get an early return instead of indentation
tweaks: just let do_wrap() set 'refresh_needed' instead of returning TRUE
tweaks: mark keystrokes consistently with @kbd in the manual
tweaks: move a translator hint to where xgettext will see it
tweaks: normalize whitespace, drop unneeded prototype, condense comment
tweaks: on one-row terminals, suppress the message for two toggles
tweaks: place the unsetting of a flag better, and rename a variable
tweaks: put three email addresses between the customary angled brackets
tweaks: reassign a copy of a string to a variable more economically
tweaks: reduce redundancy (--enable-color implies --enable-nanorc)
tweaks: remove redundant pair of parentheses, and swap two alternatives
tweaks: remove redundant parentheses, trim comments, fold some regexes
tweaks: remove two unneeded unsettings
tweaks: rename a function and its parameter, to be clearer
tweaks: rename a function, away from using an abbreviation
tweaks: rename a function, for some contrast and to get rid of a suffix
tweaks: rename a function, to describe better what it does nowadays
tweaks: rename a function, to make it make sense
tweaks: rename a variable, to be distinctive and less confusing
tweaks: rename a variable, to be easier to read and to make more sense
tweaks: rename five empty functions, to get rid of a meaningless suffix
tweaks: rename three functions, to better fit the general scheme
tweaks: rename three parameters, away from single letters
tweaks: rename two empty functions, to be more to the point
tweaks: rename two functions, to get rid of another senseless suffix
tweaks: rename two functions, to get rid of one more senseless suffix
tweaks: rename two functions, to get rid of the senseless suffix of one
tweaks: rename two more functions, to lose a senseless suffix
tweaks: rename two parameters and one variable, away from single letters
tweaks: rename two variables, away from abbreviations
tweaks: rename two variables, to fit with the names of similar ones
tweaks: replace a verbose condition with a simpler early return
tweaks: replace the obscure @* with the slightly clearer @sp
tweaks: replace two direct refreshes with two scheduled ones
tweaks: reshuffle a coloring rule, to have related ones together
tweaks: reshuffle a few lines, and rename a variable
tweaks: reshuffle a few lines, for Christmas and to group things better
tweaks: reshuffle a fragment of code to a better place
tweaks: reshuffle a line and adjust indentation after previous change
tweaks: reshuffle a line into its proper order, and improve two comments
tweaks: reshuffle some conditions, so that the ifs have similar formats
tweaks: reshuffle some conditions, to have more balanced lines
tweaks: reshuffle some lines, one for clarity, others for conciseness
tweaks: reshuffle the flag conversion into their order in the help text
tweaks: reshuffle two conditions, re-indent, and rewrap a line
tweaks: reword a paragraph, and use usual M- to depict Meta keystrokes
tweaks: rewrap an old news item, for distraction
tweaks: rewrap three old NEWS items, for esthetics, and fix a date
tweaks: shorten a comment, and drop some conditionalizing
tweaks: shorten the description of --zero in the manuals a bit
tweaks: shorten two comments, and fold two statements together
tweaks: swap two parts of specific regexes, for consistency with others
tweaks: untangle two case items, and shorten a message
tweaks: use a color closer to the rest of the string, to reduce contrast
tweaks: use a few fewer capitals, and drop an unneeded synonym
Brad Town (2):
docs: add a description of the hexadecimal #rgb color specification
rcfile: support #rgb format for specifying colors in 256-color terminals
Changes between v5.8 and v5.9:
------------------------------
Benno Schulenberg (88):
browser: make the keystrokes ^W^Y and ^W^V work again
build: ensure that mkstemps() is available by importing the gnulib module
build: help Haiku find the header files that define mkstemps()
bump version numbers and add a news item for the 5.9 release
copyright: update to the current year for significantly changed files
cutting: copy anchors into the cutbuffer, so that undo can restore them
docs: add a paragraph at the start of the README about what nano is
docs: add a simulated "screenshot" of nano to the README
docs: add some details to the bug-reporting paragraph in the README
docs: correct the descriptions of how to invoke the spell checker
docs: don't use "light" after "bold", as the latter often implies "light"
docs: improve the description of the spotlighting of a search match
docs: improve the description of the 'tabstospaces' option
docs: improve the descriptions of several bindable functions
docs: improve the recipe in the FAQ for dealing with Alt+Up on a console
docs: indent the paragraphs in the FAQ that list commands to be typed
docs: list the default color combo for 'spotlightcolor' in sample nanorc
docs: mention how to properly colorize all types in nano's source code
docs: mention in the README which licenses cover nano's code and docs
docs: move the notice in the main man page, to try and catch other eyes
docs: refer to the FAQ when <Alt+Up> does nothing on a Linux console
docs: replace a non-problem in the FAQ with something possibly useful
docs: spell "filename" as a single word, like in most other occurrences
feedback: use a smaller diamond to represent an anchor, to not overflow
feedback: when not in curses mode, just skip displaying any message
feedback: when not in curses mode, write error messages to the terminal
files: add the original file's suffix to the name of a temporary file
files: check for a fifo only when it is an existing file
files: check the result of fdopen(), to avoid a possible crash
files: do not call fsync() on a fifo, to avoid a spurious error message
files: exclude the call of fsync() from the tiny version
files: give the user time to absorb a warning about someone else editing
files: making a backup of a fifo makes no sense, so do not try that
files: prepending to a fifo makes no sense, so do not try that
files: when the buffer is nameless, include the PID in name of dump file
files: when there is a slash after the dot, then there is no extension
files: write a lock file also for a freshly saved buffer
general: prevent die() from getting recursed into
gnulib: update to its current upstream state
help: make the keystrokes ^W^Y and ^W^V work again
history: emit a warning when file cannot be made private [coverity]
input: give up on the input stream only after millions of errors
memory: free any allocated strings, also in the emergency code path
po: delete the ancient PO files for Indonesian and Nynorsk
po: permit the Indonesian PO file to come back -- there was a big update
shutdown: when dying, do not install/restore a handler for Ctrl+C
startup: if TERM is unset, try falling back to VT220 instead of failing
syntax: nanorc: recognize also the template of the sample nanorc file
syntax: rust: update the license to GPL3 or newer
syntax: yaml: allow any character in tags except whitespace
syntax: yaml: allow double colon in key & do not colorize unspaced colon
syntax: yaml: allow slash and period in key names
syntax: yaml: colorize backslash-escaped characters as valid or invalid
syntax: yaml: colorize the question mark of complex mappings too
syntax: yaml: colorize the two known directives
syntax: yaml: new file -- coloring rules for YAML files
tweaks: add Schiermonnikoog to the list of friendly islands
tweaks: adjust a description of 'showcursor', to match the other ones
tweaks: adjust three parameters -- two were mistaken, one superfluous
tweaks: correct two typos and a spello [codespell]
tweaks: fix a typo
tweaks: fold two lines into two others, for conciseness
tweaks: harmonize the indentations in the FAQ somewhat
tweaks: in comments, say "buffer" instead of "file" where appropriate
tweaks: instead of "one" use "you", like in the rest of the man page
tweaks: remove a redundant feedback message
tweaks: rename a defined type, to fit within the general pattern
tweaks: rename a function, to be more fitting
tweaks: rename a parameter and invert its logic
tweaks: rename a parameter, to fit better what it is used for
tweaks: rename a variable and flip its logic, to avoid two negations
tweaks: rename a variable, away form an abbreviation
tweaks: rename a variable, to be more grammatical
tweaks: rename a variable, to be more visible and to match others
tweaks: rename a variable, to make more sense
tweaks: rename three variables, to follow the general scheme
tweaks: reshuffle a few lines, for esthetics and to elide an #ifdef
tweaks: reshuffle a few lines to avoid an #ifdef and unbalanced braces
tweaks: reshuffle a fragment of code, to prepare for the next change
tweaks: reshuffle some code to elide a variable, and improve a comment
tweaks: reshuffle some lines and adjust some indentation
tweaks: reshuffle some lines to elide a variable
tweaks: restore a quote that was accidentally deleted four months ago
tweaks: rewrap three lines, for esthetics
tweaks: slightly reword or rewrap some comments in the sample nanorc
tweaks: try chmodding a dump file only when it was actually written
tweaks: use five symbolic names, to make eight function calls clearer
usage: improve the description of the --positionlog option
David Michael (2):
syntax: gentoo: highlight additional EAPI 7/8 variables
syntax: gentoo: remove some obsolete keywords and add some new ones
Hussam al-Homsi (3):
docs: correct the default value of the errorcolor option
syntax: perl, ruby: remove arbitrary highlighting of here documents
tweaks: change 'return ++var;' to 'return var + 1;'
Changes between v5.7 and v5.8:
------------------------------
Benno Schulenberg (53):
bindings: show either "^/" or "^-" in the help lines, instead of "^_"
bump version numbers and add a news item for the 5.8 release
display: when a message gets overwritten, note that it is cleared
docs: add a relevant item to the news for the 4.3 release
docs: add example bindings for uppercasing and lowercasing a word
docs: improve the contact info and some line spacing in the PDF
docs: make ^E access the Execute menu in the example CUA bindings
docs: mention that "grey"/"gray" may be used as a synonym of "lightblack"
docs: mention the new 'set minicolor' option
docs: say thanks to the Icelandic and Slovak translators
feedback: ensure that the reporting of DOS/Mac format is truthful
gnulib: update to its current upstream state
help: use smaller triangles for the arrows
linter: block the resizing signal while reading output from the linter
linter: strip filename and line plus column number from the message
memory: move the correct number of bytes, and not one too many
memory: prevent a leak when copying the leading quoting to the next line
minibar: stay out of sight when the terminal has just one row
options: accept 'set minicolor' for setting the color of the minibar
rcfile: allow using "grey" or "gray" as a synonym for "lightblack"
rcfile: do not allow color name "normal" to have a prefix
replacing: report the number of replacements also on a one-row terminal
search: automatically drop the spotlighting after a few moments
search: show "This is the only occurrence" also on a one-row terminal
startup: allow using a bare "+" to mean put-cursor-on-last-line
startup: do not accept stray characters after a "+" on the command line
startup: skip drawing edit window when having message on one-row terminal
startup: suppress "Search Wrapped" when using +? to search from EOF
statusbar: ensure that "No further matches" does not get overwritten
statusbar: on a one-row terminal, drop light messages after a few moments
statusbar: suppress --constantshow when the terminal has just one row
statusbar: suppress the cursor when the terminal has just one row
syntax: nanohelp: avoid colorizing M-) in (M-) and M-" in "M-"
syntax: nanorc: colorize "light" as valid only for the eight basic colors
syntax: nanorc: colorize literal control codes, to make them stand out
syntax: php: colorize the full short tag for echo (<?=)
tweaks: avoid the subtraction of two size_t variables becoming negative
tweaks: condense and correct a comment, and move another
tweaks: condense some code by putting all color names in a single array
tweaks: drop an assignment that is already part of the called function
tweaks: frob some whitespace, and rewrap a line
tweaks: improve a comment, remove unneeded braces, reshuffle some lines
tweaks: normalize the indentation after the previous change
tweaks: prevent two more size_t subtractions from going negative
tweaks: redraw only the affected line instead of doing a full refresh
tweaks: remove a check that has become superfluous
tweaks: remove a check that is not needed
tweaks: rename a variable, for contrast with the function name
tweaks: rename two functions, to get rid of an ugly _void suffix
tweaks: reshuffle the coloring of color names, to remove some duplication
tweaks: use a symbol instead of a hard-coded number
tweaks: use two symbolic names instead of TRUE and FALSE, for clarity
wrapping: when copying the quoting part, adjust the file size accordingly
Hussam al-Homsi (1):
bindings: allow copying text (with M-6) also when in view mode
Changes between v5.6.1 and v5.7:
--------------------------------
Benno Schulenberg (62):
build: drop the check for two functions that we don't use any more
build: fix compilation for --enable-tiny plus --enable-multibuffer
build: fix compilation when configured with --disable-multibuffer
build: fix compilation when configured with --enable-tiny
bump version numbers and add a news item for the 5.7 release
chars: implement mblen() ourselves, for efficiency
chars: implement mbtowc() ourselves, for more efficiency
chars: work around a UTF-8 bug in glibc, to display invalid codes right
chars: work around the wrong private-use-character widths on OpenBSD
display: avoid determining twice from and until where to draw each row
display: make the output of --constantshow less jittery
editing: prevent the pointer for the top row from becoming dangling
feedback: upon first switch to a buffer, show its error message (if any)
files: always register the format, also when the file is unwritable
files: create a new buffer earlier, so that error messages can be stored
files: when Mac format has been detected, stay with it
gnulib: pull in the fix for a build problem on older Debian
gnulib: update to its current upstream state
indicator: adjust the size to the number of visible lines, not chunks
input: accept Unicode codes for non-characters as valid, since they are
memory: do not allocate space for multidata when it's already allocated
memory: fix an off-by-one error to free also the last line in a group
memory: prevent a use-after-free when the user respects a lock file
oops: that doesn't work -- you can't break out of two for loops at once
options: retire the obsolete 'smooth', 'morespace', and 'nopauses'
softwrap: avoid time-consuming computations, to burden large files less
startup: do not crash when trying to open a device or directory
startup: do not store an error message in the record of another buffer
startup: save the compiled file-matching regexes, to avoid recompiling
startup: show the helpful message only when ^G has not been rebound
syntax: c: colorize also labels that contain digits, and uncolorize colon
syntax: po: improve the coloring of format specifiers
syntaxes: replace [[:space:]] with [[:blank:]] to exclude carriage return
tweaks: adjust and improve one comment, and frob another
tweaks: adjust two comments, and reshuffle two fragments
tweaks: avoid a warning on newer compilers, by writing an extra byte
tweaks: avoid calling extra_chunks_in() when not softwrapping
tweaks: avoid converting a file name for more than will fit on screen
tweaks: avoid parsing a multibyte character twice
tweaks: condense three comments, drop another, and rewrap a line
tweaks: drop unneeded braces and adjust indentation after previous change
tweaks: elide a call of strlen() for every row
tweaks: elide a function that is now basically just two lines
tweaks: elide an unneeded resetting NULL call to wctomb()
tweaks: elide a small function that is used just once
tweaks: elide the pointless is_valid_unicode() function
tweaks: elide two more instances of useless character copying
tweaks: improve a couple of comments
tweaks: morph a function into what it is actually used for
tweaks: normalize the indentation after an earlier change
tweaks: put the most likely condition first, for a quicker return
tweaks: reduce the maximum character length from six bytes to four
tweaks: remove a misplaced (and nested) #ifdef
tweaks: rename a variable, away from an abbreviation
tweaks: rename a variable, for contrast with another
tweaks: reshuffle a comment, and put the main extension first
tweaks: reshuffle a fragment of code, to prepare for the next change
tweaks: reshuffle two conditions, to have the most unlikely one first
tweaks: set the file format only when unset, so it doesn't need saving
tweaks: shorten a comment and trim an #ifdef
tweaks: simplify two fragments of code
tweaks: simplify two fragments of code, eliding useless character copying
Hussam al-Homsi (1):
syntax: c: make the highlighting of '#include <...>' more compliant
Mike Frysinger (1):
syntax: tcl: support Expect scripts too
Changes between v5.6 and v5.6.1:
--------------------------------
Benno Schulenberg (4):
bump version numbers and add a news item for the 5.6.1 release
options: rename 'highlightcolor' to the more distinct 'spotlightcolor'
search: correctly colorize a match also when softwrapping is active
tweaks: rename a symbol, to better match the corresponding option
Changes between v5.5 and v5.6:
------------------------------
Benno Schulenberg (52):
build: avoid a warning about duplicate symbol when building from tarball
build: detect a build from git also when building out of tree
build: include a workaround only for versions of ncurses that need it
bump version numbers and add a news item for the 5.6 release
color: do not look for another 'end' match after already finding one
color: give highlighted text its own color, to not look like marked text
color: recompile the file-probing regexes a little faster with REG_NOSUB
color: use bright yellow to highlight a search match
color: use inverse video for highlighting when there are no colors
debug: add timing instruments to cache precalculation and screen refresh
display: for a large paste or insertion, recalculate the multiline cache
docs: correct the description of --quickblank for the changed base value
docs: correct the formatting of a comment in the sample nanorc
docs: correct the word order for Alt+D in the cheat sheet -- it changed
docs: mention the new 'set highlightcolor' option
docs: remove all mentions of --markmatch and 'set markmatch'
docs: say that --minibar is modified by --constantshow and --stateflags
feedback: make Full Justify show a message also when using --minibar
gnulib: update to its current upstream state
minibar: show a message a little longer when --quickblank isn't used
minibar: show cursor position + character code only with --constantshow
minibar: show the state flags only when --stateflags is used
minibar: suppress the toggling feedback for M-C, but show it for M-Y/M-P
options: remove --markmatch and 'set markmatch', as the behavior is gone
painting: always do backtracking for the first row of the screen
painting: trigger a refresh when a second start match appears on a line
painting: trigger fewer unneeded full-screen refreshes
painting: when finding an end match, set its multidata right away
scrolling: keep centering after large paste, also when line numbers widen
search: just highlight the found occurrence, instead of marking it
search: make highlighting the standard, non-changeable behavior
tweaks: avoid the vague possibility of advancing beyond end-of-line
tweaks: be slightly more efficient in marking lines as WOULDBE
tweaks: call wattron()/wattroff() only when actually painting something
tweaks: correct a comment, improve another, and trim some verbosity
tweaks: don't bother comparing virgin multidata with current situation
tweaks: don't bother initializing freshly allocated multidata
tweaks: don't bother wiping the multidata before recomputing it
tweaks: elide a function that is now just one line
tweaks: frob a condition, to be more concise, and reshuffle another
tweaks: frob some comments, and adjust indentation after previous change
tweaks: frob some comments, and reshuffle two fragments of code
tweaks: frob two fragments of code, to be more readable
tweaks: make a skipping condition more precise
tweaks: remove an old fix that was made superfluous by a recent fix
tweaks: remove a strangely placed warning
tweaks: rename six symbols, to be more straightforward
tweaks: reshuffle some code, and reduce the scope of a variable
tweaks: reshuffle three conditions into a better order
tweaks: rewrap and reindent a few lines
tweaks: rewrap two lines, for esthetics
tweaks: stop evaluating a rule when the match is offscreen to the right
Changes between v5.4 and v5.5:
------------------------------
Benno Schulenberg (84):
build: fix compilation for --enable-{tiny,help,multibuffer}
build: fix compilation when configured with --disable-utf8
build: fix compilation when configured with --enable-tiny
build: remove the '--with-slang' configure option
bump version numbers and add a news item for the 5.5 release
chars: short-circuit determining the width of characters under U+0300
chars: speed up the handling of invalid UTF-8 starter bytes
copyright: update the years for the FSF
display: add code for showing minimal state-information bar at the bottom
display: do not show the state flags in the help viewer or file browser
docs: explain the effect of --minibar / -_ / 'set minibar'
docs: explain the purpose of --markmatch / -^ / 'set markmatch'
docs: insert links to the mailing-list archives into the README
docs: mention in NEWS that some workarounds were removed
docs: mention the new 'set promptcolor' option
docs: remove all mentions of Slang
feedback: differentiate between remarks, mistakes, and information
feedback: wipe the status bar by default after 20 keystrokes
files: when truncating a file name, give an indication of this
general: remove support for Slang
gnulib: update to its current upstream state
input: intercept ^Z also when --minibar is active
input: interpret a keystroke as Meta only when an earlier escape was solo
memory: avoid leaking the speller or linter command string, when invoked
minibar: add an [x/y] "counter" when multiple files are open
minibar: add a percentage that shows how far the cursor is into the file
minibar: allow the number-of-lines to overrule also the state flags
minibar: allow the number-of-lines to overrule location + character code
minibar: drop the side spaces before suppressing the state flags
minibar: represent bytes as 0xNN and valid Unicode code points as U+NNNN
minibar: show the info bar again some 0.8 seconds after a message
minibar: show the line count in the bar (at startup and when saving)
minibar: show Unicode codes when in a UTF-8 locale
minibar: suppress some elements when there is no room to show them
minibar: when the next character has zero width, show its code too
minibar: when the overnext character has zero width too, show its code
mouse: do not offset the shortcuts by 'margin' when using --linenumbers
oops: use the correct condition for checking the last line will change
options: accept 'set promptcolor' for setting the color of the prompt bar
options: add --markmatch and -^ for activating the select-match behavior
options: add --minibar and -_ for activating basic state-information bar
prompt: restore a workaround for a cursor misplacement bug in ncurses
prompt: suppress the ">" character always when exactly at the right edge
rcfile: rename 'nowrap' toggle to 'breaklonglines', to match the option
search: set the mark at the end of a found match so it gets highlighted
search: suppress the cursor when highlighting a match
speller: do an internal spell check when --speller is an empty string
speller: strip leading whitespace from command, to avoid a sneaky crash
syntax: go: add author and license line
syntax: nanorc: colorize 'bookstyle' as a valid option
syntax: nanorc: colorize 'set promptcolor' as valid
syntax: sh: recognize shebangs with any shell after 'env', not just 'sh'
tweaks: adjust the indentation after the previous change
tweaks: avoid compilation warnings on 32-bit machine plus newer compiler
tweaks: avoid computing the cursor column twice, and the "page" too
tweaks: avoid hitting negative values when using size_t
tweaks: change an intermediate variable to a better one
tweaks: clean up after the previous change
tweaks: condense the description of how to report a bug
tweaks: correct a translator hint
tweaks: correct two comments after the previous changes
tweaks: do not change the pointer, but move the content of the string
tweaks: drop a small optimization for invalid UTF-8 starter bytes
tweaks: elide a variable, by using a reallocation instead
tweaks: fold some conditions into bitwise masks, for efficiency
tweaks: fold two similar and three identical cases together
tweaks: move 'set indicator' to its alphabetical place in the manual
tweaks: move the displaying of the state letters into a separate function
tweaks: push back the deprecation of the 'set nowrap' option
tweaks: put the new options in a consistent order in the code
tweaks: reduce the scope of a static variable
tweaks: remove some #ifdefs that were there only for Slang
tweaks: rename a variable, to be similar to its sister
tweaks: reshuffle a condition, to probably avoid an unneeded calculation
tweaks: reshuffle an option, to have two related ones grouped together
tweaks: reshuffle some lines, to group things better
tweaks: reshuffle some lines, to have most #includes near the beginning
tweaks: reshuffle some more lines, to have most #defines together
tweaks: reshuffle two lines, and rename a variable to a plain word
tweaks: reword the description of an option
tweaks: simplify a bit of logic
tweaks: use a boolean instead of an enumeration of two values
undo: remove the added magic line when a replacement caused one
weeding: remove some obsolete information from the README
OIX (1):
mouse: update title bar (the M flag) when the click is on the cursor
Changes between v5.3 and v5.4:
------------------------------
Benno Schulenberg (31):
bindings: accept b for scrolling back up in help viewer and file browser
build: exclude a workaround for VTE/Konsole when using a recent ncurses
build: include a workaround for VTE only when using an older libvte
bump version numbers and add a news item for the 5.4 release
copyright: update to the current year for significantly changed files
docs: adjust for the changed name of the header-file package on Debian
docs: use standard-compliant HTML entities for the four arrows
feedback: abort when user tries to open multiple files in tiny version
gnulib: update to its current upstream state
help: allow the penultimate item extra space when the number is uneven
help: show all valid help items also in the Write-Out menu
linting: avoid putting the cursor beyond the end of the line
moving: skip combining characters and other zero-width characters
options: do not spew out the help text when an option is not recognized
prompt: skip over combining characters also when editing a search string
rcfile: stop accepting 'set view' in a nanorc file, and undocument it
statusbar: properly pluralize the line+word+character count report
tweaks: avoid copying an option's argument when there is no need
tweaks: normalize the formatting after the previous two changes
tweaks: rename two variables and improve two comments
tweaks: rename two variables, one for contrast, another for visibility
tweaks: reshuffle a fragment of code, for clarity
tweaks: reshuffle a line, elide two braces, and adjust the indentation
tweaks: reshuffle three lines and elide braces after the previous change
tweaks: slightly shorten a loop, to place the actual action outside of it
tweaks: use the standard symbols for the three standard file descriptors
utils: die when trying to allocate zero bytes
weeding: remove another unneeded workaround for VTE
weeding: remove a workaround for early versions of ncurses-6.0
weeding: remove a workaround for versions of ncurses before 5.9
weeding: remove a workaround for VTE that is not needed
Changes between v5.2 and v5.3:
------------------------------
Arturo Borrero González (1):
syntax: nftables: include author and license lines
Benno Schulenberg (92):
browser: make M-W/M-Q functional right after startup, if there is history
browser: sort names that differ only in case with uppercase first
browser: wipe the status bar before searching again with M-W or M-Q
build: abort the update script if a PO file contains a control character
build: avoid two compiler warnings when gnulib has been ripped out
build: do not accept --enable-libmagic when not having color support
build: do not let Slang translate escape sequences to key codes
build: exclude bunches of raw escape sequences from the tiny version
build: exclude --emptyline, --jumpyscrolling, and --noread from tiny nano
build: exclude excessive version information from the tiny version
build: exclude option --tabsize (-T) from the tiny version
build: exclude reading a file from standard input from the tiny version
build: exclude the three --help column headers from the tiny version
build: include some raw sequences for the graphical Debian installer
build: stop using an obsolete macro, and use 'void' for signal handlers
build: to verify wide curses, probe for a function that cannot be a macro
bump version numbers and add a news item for the 5.3 release
chars: reduce searching time with roughly 85 percent for plain ASCII
display: do not unnecessarily wipe the status bar
display: do not wipe the status bar when the terminal has just one row
display: force the cursor to reappear after a message (when using Slang)
display: force the cursor to reappear in a better way (when using Slang)
display: skip a special-case refresh when a message was written
docs: add a link to the website also to the info manual
docs: add the customary (1) after the name of command-line programs
docs: condense the descriptions of cutting and pasting
docs: explain the purpose of -! / --magic / 'set magic'
docs: explain the 'set scrollercolor' option, for coloring the indicator
docs: explain what the options --stateflags (-%) and 'set stateflags' do
docs: improve two wordings in the sample nanorc
docs: mention that syntax definitions are available in /usr/share/nano/
feedback: don't give a hint for <Bsp>, and not after an Alt+key was used
feedback: in the tiny version, let M-H show the helpful hint too
feedback: make an "Unbound key" message disappear on the next keystroke
feedback: show a helpful message for ^G even when there is no help
feedback: show helpful message for the first ^H at the top of the file
gnulib: update to its current upstream state
help: do not leave the cursor on the status bar after a search
help: do not show "^G Help" in the tiny version when there is no help
help: ensure the help lines are always drawn, also when using Slang
help: in the tiny version, show Prev/Next Word before Backward/Forward
help: nicely pair menu items also when built with just --disable-help
new feature: option --stateflags to show some states in top-right corner
options: add -? as a synonym of -h (--help), but leave it undocumented
options: move --stateflags (-%) and --magic (-!) to the end of the list
options: require --magic or 'set magic' to enable the use of libmagic
rcfile: add 'set scrollercolor', for changing the color of the indicator
suspension: do not enter an invalid byte upon resume (when using Slang)
suspension: properly resume from an external SIGSTOP
suspension: resume properly from an external SIGSTOP (when using Slang)
suspension: switch off flow control at the right moment (for Slang)
syntaxes: add author and license lines to four of the files
syntax: nanorc: stop coloring 'morespace' and 'smooth' as valid
syntax: nanorc: stop coloring 'nopauses' and 'nowrap' as valid
syntax: nanorc: stop coloring 'quiet' and 'backwards' and 'finalnewline'
syntax: po: do not leave the occasional tab with a red background color
syntax: po: highlight embedded control codes that shouldn't be there
syntax: sh: recognize some shell scripts by their Emacs modeline
tweaks: add a hint for translators
tweaks: add some comments to the C syntax, and sort some keywords
tweaks: adjust some whitespace in the docs, and improve a comment
tweaks: avoid a compiler warning when compiling with more than -O1
tweaks: condense a bit of code
tweaks: condense a bit of code after the previous change
tweaks: drop the unneeded saving and restoring of a global variable
tweaks: dummy commit, to add some info about the previous one
tweaks: elide a one-line function, after reducing it to a single call
tweaks: fold one function into another, to elide an unneeded return value
tweaks: harmonize the spelling of a compound word, and rewrap a section
tweaks: harmonize the style of error messages and warnings in ./configure
tweaks: make two of the changes that 'autoupdate' suggests
tweaks: move three functions, to before the ones that call them
tweaks: move two more functions, to before the ones that call them
tweaks: move two more functions, to before the one that calls them
tweaks: normalize the indentation after the previous change
tweaks: remove an inconsistent newline from the end of an error message
tweaks: remove an unused element from 'funcstruct', saving 8 more bytes
tweaks: remove mistaken escape sequences for function keys on xterm
tweaks: remove two stray comments and two lines that were commented out
tweaks: rename another variable, away from being misnamed
tweaks: rename four variables, reshuffle them, and correct one type
tweaks: rename two elements of history struct, away from abbreviations
tweaks: rename two variables, to be more distinct
tweaks: replace two more occurrences of 'AC_TRY_RUN' with 'AC_RUN_IFELSE'
tweaks: reshuffle a condition, to elide a blank string
tweaks: reshuffle some lines after the previous change
tweaks: reshuffle some lines and adjust indentation after previous change
tweaks: reshuffle two lines and a function name, for a consistent order
tweaks: rewrap nine more old NEWS items, for balanced line lengths
tweaks: rewrap three NEWS items, for more balanced line lengths
tweaks: stop 'autoupdate' from failing with "end of file in string"
version: remove URL and email address from the --version output
Hussam al-Homsi (5):
syntax: c: colorize also one-character constants, and the null directive
syntax: c: colorize also the keywords that start with an underscore
syntax: c: colorize also the 'restrict' keyword, and the #line directive
tweaks: reorder a member of 'funcstruct', to save 8 bytes of padding
tweaks: stop casting the return of malloc() and friends
Ryan Westlund (1):
syntax: markdown: add author and license line
Changes between v5.1 and v5.2:
------------------------------
Benno Schulenberg (30):
build: stop distributing the README.GIT file
build: stop mentioning Slang in two ./configure messages
bump version numbers and add a news item for the 5.2 release
display: restore the ability to resize the screen while searching
docs: add a cross-reference from 'findbracket' to 'set matchbrackets'
docs: adjust description of ^T in cheatsheet, and mention M-Bsp
docs: mention in the FAQ how to change the escape sequences of urxvt
docs: reshuffle the section about the file browser to a better place
gnulib: back away from a commit that causes trouble when using clang
gnulib: update to its current upstream state
history: do not interpret a failing stat() as an error
input: allow also a Meta keystroke to abort a Search command
input: dawdle after an ESC also when --rawsequences is used
input: discard any multibyte character when <Alt> is being held
input: do not enter invalid bytes when holding down both Alt keys
input: hold on to a shift-selected region when an unbound key is struck
rcfile: make sure that "bright"/"light" are prefixes, not separate words
replacing: do not try to wipe nonexistent multidata, to avoid crashing
search: poll the input stream directly, not nano's own keystroke buffer
search: retain the current answer when something is toggled
tweaks: adjust a comment, and reshuffle the setting of a boolean
tweaks: condense two declarations
tweaks: condense two fragments of code, for compactness
tweaks: elide an unneeded variable
tweaks: improve three comments and an indentation
tweaks: move the keyboard-checking code to the end of the search loop
tweaks: remove a variable and two functions that have become redundant
tweaks: rename a variable, to not seem to refer to the scrollbar
tweaks: reshuffle four declarations, and rename two variables
verbatim: reserve enough space for the result also in non-UTF-8 locales
Changes between v5.0 and v5.1:
------------------------------
Benno Schulenberg (55):
anchor: in a UTF-8 locale, show an anchor as a diamond, for visibility
anchor: show an anchor also when the line is horizontally scrolled
bindings: make <Alt+Backspace> delete a word backwards, like in Bash
build: fix compilation for --enable-tiny --enable-nanorc --enable-color
build: fix compilation when configured with --enable-tiny
build: stop distributing the two old Changelogs
bump version numbers and add a news item for the 5.1 release
display: show the cursor position also right after the screen is resized
docs: fix a closing tag in the FAQ [tidy]
docs: mention that anchors are visible when line numbers are shown
feedback: add the reason to the error message when forking fails
feedback: use three dots to indicate processing, like everywhere else
feedback: when creating a pipe fails, report also the reason
files: do not try writing to the status bar while not in curses mode
formatter: force the mark off, to not crash by accessing empty cutbuffer
gnulib: update to its current upstream state
help: list again the keystroke for toggling the help lines (M-X)
input: understand M-Bsp also when terminfo does not match the terminal
moving: make <Ctrl+Up> go to the top when above the cursor all is blank
rcfile: allow to bind M-[ (even though it is an escape-sequence starter)
softwrap: initialize the 'extrarows' value for the magic line correctly
speller: give proper feedback when the user tries to check emptiness
speller: give startup feedback (relevant when running on a Linux console)
speller: re-enter curses mode before trying to report an error
syntax: css: differentiate pseudo-classes (now cyan) from comments (blue)
syntax: default: colorize also "GNU nano 5.x"
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: avoid a maybe-uninitialized-variable warning from gcc
tweaks: elide an unneeded variable, by transforming the key code directly
tweaks: elide two variables that are no longer needed, and update comment
tweaks: exclude old and mistaken "Esc O" sequences from the tiny version
tweaks: make a few more direct returns, and reshuffle another bit of code
tweaks: make a misplaced call of statusline() more obvious by crashing
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation, and regroup two lines
tweaks: optimize for byte-range characters, and shorten some comments
tweaks: parse the escape-sequence bytes without copying them first
tweaks: pass first byte of sequence directly to the decoding function
tweaks: print error message directly instead of passing it to the caller
tweaks: read keycodes from the keystroke buffer without copying them
tweaks: remove an unneeded beep, and reshuffle the lines for compactness
tweaks: reshuffle a few lines, to condense the code, and improve comment
tweaks: reshuffle four lines, for esthetics
tweaks: reshuffle some fragments, to make the next change easier
tweaks: reshuffle the zeroing of a counter, to allow some direct returns
tweaks: simplify two functions, as they now return always NULL
tweaks: split a function into two, one for "Esc O" and one for "Esc ["
tweaks: stop using a 'switch' when there are just three possibilities
verbatim: discard entire keystroke when it's not valid for Unicode Input
verbatim: do not report "Invalid code" when a Unicode character is typed
verbatim: do not report "Invalid code" when the terminal is resized
verbatim: insert the full code sequence when <Alt+Backspace> is pressed
verbatim: pause a little after an ESC, to not miss a succeeding code
verbatim: report and ignore an invalid keystroke for Unicode input
Michalis Kokologiannakis (2):
build: avoid compilation warnings by using memcpy() instead of strncpy()
files: ignore only EPERM when fchmod() or fchown() fails
Changes between v4.9 and v5.0:
------------------------------
Andreas K. Foerster (1):
syntax: ada: new file -- coloring rules for Ada 2012 files
Benno Schulenberg (374):
anchor: do not let a full justification transfer an anchor to the top
anchor: do not let piping and spelling transfer an anchor to the top
anchor: during full justification preserve anchors as during single ones
backup: do not understand ^C as "Yes" when asking whether to continue
backup: when rereading the original file fails, ask the user what to do
bindings: add mistakenly removed M-J (Full Justify) back to the main menu
bindings: add ^Z (Suspend) to the "Execute Command" menu
bindings: allow toggling the help lines at several prompts and in browser
bindings: allow typing digits on the numeric keypad by holding Shift
bindings: make ^L (Refresh) work at all the prompts too
bindings: make ^T invoke the "Execute Command" menu, and ^T^T the Speller
bindings: remove the Full-Justify function from the Search menu
bindings: stop <Alt+operator> on the keypad from entering spurious letter
bindings: stop supporting <Esc> <Esc> <numeric slash> without NumLock
build: allow compilation to succeed on curses without italic support
build: do not let --disable-speller exclude also the formatter code
build: fix compilation for --enable-tiny --enable-color --enable-nanorc
build: fix compilation when configured with --disable-color
build: fix compilation when configured with --disable-speller
build: fix compilation when configured with --enable-tiny
build: fix compilation when configured with --enable-tiny
build: fix miscompilation for --enable-{tiny,color,nanorc}
build: fix the Makefile after two header files were renamed
build: make a deeper clone of gnulib (when building from git)
build: make ./configure report which global nanorc file will be used
build: replace the non-standard backslash escape "\e" with "\x1B"
build: stop distributing a nano.spec file
build: use a more dependable method for detecting a build from git
bump version numbers and add a news item for the 5.0 release
color: avoid allocating emptiness when there are no multiline regexes
color: when syntax coloring is toggled back on, calculate multiline data
colors: move purple one step away from magenta, and use a darker mauve
copying: change the implementation, away from cutting plus copying back
copying: do not forget to update the screen when M-6 is pressed
copying: when using M-6, copy the final line in the buffer just once
copying: with --nonewlines, don't add a final newline to the cutbuffer
counting: count words and characters without partitioning the file
counting: count words correctly also when --wordchars is used
cutting: change the implementation of cutting to not use partitioning
cutting: overhaul the pasting routine, to not make use of partitioning
display: avoid an additional redrawing when redrawing the screen
display: blank the status bar for a copy operation, like for cut & paste
display: do not try to draw content when there is no open buffer yet
display: reposition the cursor after an error message also in a help text
docs: complete the renaming of 'tempfile' to 'saveonexit'
docs: copy the 4.9.1 news item from the release branch
docs: copy the 4.9.2 news item from the release branch
docs: copy the 4.9.3 news item from the release branch
docs: document the --indicator (-q) and 'set indicator' options
docs: document the new -O/--bookstyle and 'set bookstyle' options
docs: explain how anchors work, and document their bindable functions
docs: improve some descriptions concerning the file browser
docs: in the sample nanorc file, refer instead of duplicating
docs: mention that doing a full-buffer operation wipes away all anchors
docs: mention that M-X toggle is special, because available in most menus
docs: mention that the dedicated cursor-moving keys are not rebindable
docs: mention the nine new color names, and "bold" plus "italic"
docs: note Marco as the original author of the bookmarking code
docs: reduce the TODO file to a reference to the bug tracker on Savannah
docs: stop mentioning that --wordchars overrides --wordbounds
docs: use 'bold' and 'light' instead of 'bright' in the sample nanorc
feedback: beep also at a prompt when receiving an unknown escape sequence
feedback: do not list "." and ".." as possible <Tab><Tab> completions
feedback: indicate an anchor with a "+" in the line-number margin
feedback: show a message also when trying to copy an empty region
feedback: show the cursor position also at startup in an empty buffer
feedback: skip wiping the prompt bar when the shortcut printed a message
files: also when creating a backup fails, ask the user whether to proceed
files: ask the user whether to proceed every time a backup fails
files: before prompting, show also the reason why the backup failed
files: disallow tabbing when in restricted mode
files: do not append but truncate when allowing insecure backups
files: do not let a stray CR in a DOS file trigger Mac format
files: do not make a failsafe backup when in restricted mode
files: give a more precise warning when deleting an existing backup fails
files: ignore errors when calling chmod() on a backup file
files: ignore errors when calling chown() on a backup file
files: ignore errors when calling futimens() on a backup file
files: list possible completions after just one <Tab> instead of two
files: make a backup only when requested, not an unrequested failsafe one
files: make better use of the last row when there are many completions
files: make filtering of the entire buffer into a new buffer work again
files: never report a file as being of mixed format
files: reinitialize the palette only when the syntax actually changed
files: remove two superfluous calls for shielding temp files from others
files: show a warning when writing a backup fails, before prompting
files: show possible tab completions near the bottom of the edit window
files: take into account that also closing a backup file can fail
files: trigger the Easter egg only when "zzy" is typed at the prompt
files: warn the root user when all the write bits are missing
files: write out a marked region without partitioning the buffer
general: make five tools accessible through the "Execute Command" menu
general: rename "bookmark" to "anchor", to sound less permanent
gnulib: update to its current upstream state
help: describe what has been added to the "Execute Command" menu
help: pair the items in the two bottom lines better in the tiny version
help: put the two toggles first in the "Execute Command" menu
history: don't send error messages to the screen; store them in the queue
history: take into account that closing a file can fail
history: take into account that statting a file can fail too
indicator: recompute the extra rows also for cut/paste/split/join
indicator: recompute the extra rows also when justifying and resizing
indicator: rework how the "scrollbar" is computed when softwrapping
input: interpret an escape sequence only when it starts with "[" or "O"
input: reset the counters when a three-digit sequence is not completed
input: stop recognizing the raw escape sequences for F13 to F16
locking: ignore the insecure-backup flag when creating a lock file
locking: prevent a symlink attack by not opening an existing lock file
memory: plug a leak, by freeing the cutbuffer after a bracketed paste
menus: remove unneeded words and shortenings from key labels
new feature: a position-plus-portion indicator on the right-hand side
oops -- restore an accidentally changed file
options: add --indicator and -q for switching on the scroll-bar thing
options: add -O/--bookstyle to make leading whitespace mean new paragraph
options: let --afterends affect also the deleting of words (Ctrl+Delete)
options: make -S the short synonym of --softwrap
options: rename --tempfile to --saveonexit, to be far clearer
options: stop recognizing the obsolete --morespace and --smooth
prompt: at Yes-No, do not treat a screen resize as an invalid keystroke
rcfile: accept prefix "light" to make a color brighter without bolding it
rcfile: add bindable function 'execute', for access to "Execute Command"
rcfile: allow specifying a bright background color (with prefix "light")
rcfile: complain when an essential key binding is missing
rcfile: do not complain when "bright" is used with a background color
rcfile: introduce nine new named colors, from "pink" to "latte"
rcfile: introduce the modifier "bold", for specifying bolding separately
rcfile: introduce the modifier 'italic', for slanted text
rcfile: rename bindable function 'curpos' to 'location'
rcfile: rename 'extcmd' to 'execute', to be more readable and fitting
rcfile: report the first bad color element, not a later one that is okay
rcfile: restore terminal settings when exiting upon excessive unbindings
replacing: recalculate the multiline coloring info when needed
scrolling: add a function and a key binding to center the cursor line
speller: take into account that statting a file can fail [coverity]
startup: allow presetting case-sensitive search also in the tiny version
startup: check stdout instead of stdin when probing for a Linux console
startup: enter curses mode before reading the nanorc files
startup: initialize colors only when the terminal is capable of colors
syntax: css: color multiline comments correctly
syntax: default: colorize embedded control codes
syntax: email: rename file and syntax, away from the mistaken 'mutt'
syntax: markdown: do not colorize text between two bold words as italic
syntax: markdown: new file -- coloring rules for Markdown files
syntax: mgp: drop the almost-empty MagicPoint file and syntax
syntax: move distro-specific files down to a subdirectory, syntax/extra/
syntax: nanorc: colorize 'bright' anyway, so existing syntaxes look okay
syntax: nanorc: colorize the new named colors too, from "mint" to "mauve"
syntax: nanorc: stop colorizing 'bright', even though it's still accepted
syntax: sql: condense some regexes, and reduce their number
syntax: sql: rename the file to match the name of the syntax
syntaxes: move the rules for Fortran and Povray files down to extra/
syntaxes: remove some stuff that has been commented out for a long time
syntaxes: remove some superfluous outer parentheses from regexes
syntaxes: remove unneeded backslash escapes before quotes
syntaxes: uniformize the initial comment
tabbing: beep at the first listing, and when there are zero possibilities
tabbing: properly terminate the answer when the sole match is a folder
text: retain a bookmark when two lines are joined or something is cut
tweaks: add a condition, so that two ifs can be elided
tweaks: add a helpful message for when pkg.m4 is missing during a build
tweaks: add a helping variable, in order to unwrap three lines
tweaks: add a helping variable, to slightly condense the code
tweaks: add a symbol, in order to condense three function calls
tweaks: add four early returns for read/write errors of history files
tweaks: add four more translator hints
tweaks: add two comments, and improve another
tweaks: adjust comments and indentation after the previous change
tweaks: adjust the conditional help-item pairing for absence of speller
tweaks: adjust the file format indicator in a quicker way
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: avoid a compiler warning
tweaks: avoid a function call when a simple boolean will do
tweaks: avoid an unnecessary refresh for zero or just one completion
tweaks: avoid a warning about an unused variable in the tiny version
tweaks: avoid checking a variable three times for each pass in the loop
tweaks: avoid unneeded calls of free() by reallocating the full name
tweaks: call init_pair() just once for each pair number
tweaks: call the spotlighting routines only for the relevant line
tweaks: call use_default_colors() just once for each run
tweaks: cascade the ifs properly: without increasing the indentation
tweaks: change a helping variable, to make two blocks still more similar
tweaks: change a 'switch' to 'if', to elide a dummy 'return'
tweaks: close opened files when something goes wrong [coverity]
tweaks: condense a bit of code, by reusing an existing variable
tweaks: condense a comment, and express a condition in a different way
tweaks: condense a comment, and reshuffle a few lines
tweaks: condense a comment, and reshuffle some conditions
tweaks: condense and improve some comments
tweaks: condense some cases to a single line, for more clarity
tweaks: condense the code a little further, by grouping things better
tweaks: correct a comment, and avoid third repetition of some conditions
tweaks: correct a comment, and drop a redundant (because nested) #ifdef
tweaks: correct some comments, as VT100 and such have smaller keypads
tweaks: correct two spelling mistakes [codespell]
tweaks: delete a ChangeLog that is no longer updated and is incomplete
tweaks: delete another pointless ChangeLog
tweaks: delete a now-unused function
tweaks: delete some unneeded code, and rename the function accordingly
tweaks: delete the now-unused partitioning and unpartitioning routines
tweaks: delete two functions that are never executed
tweaks: do not use 'switch' when there are just two possibilities
tweaks: do not use the string "stat()" in any of the comments
tweaks: don't bother overwriting a CR -- decreasing the length is enough
tweaks: don't bother statting the lock file before unlinking it
tweaks: don't bother using the exclusive flag when creating a lock file
tweaks: don't check for escape sequences that start with a lowercase "o"
tweaks: don't use a symbol for other purposes
tweaks: do the conversion of -1 to a specific color just once
tweaks: do the saving of histories in a single place
tweaks: drop an unneeded assignment, and reshuffle a few lines
tweaks: drop a superfluous check for a non-zero length
tweaks: drop obsolete 'nano.spec' from .gitignore file, and reshuffle
tweaks: drop two redundant conditions, and improve three comments
tweaks: drop two unneeded assignments
tweaks: drop two unneeded wnoutrefresh() calls in the spotlight routines
tweaks: elide a function that is called just once
tweaks: elide a function that is too sparse
tweaks: elide another parameter, relevant in just three menus
tweaks: elide a now-unused parameter -- it is always FALSE
tweaks: elide an unneeded call of strlen(), and copy NUL byte with string
tweaks: elide an unneeded global variable
tweaks: elide an unneeded parameter, and rename the other
tweaks: elide an unneeded variable, as there is nothing beyond '*place'
tweaks: elide an unused parameter, and rename the other and a variable
tweaks: elide a parameter, by calling the relevant function beforehand
tweaks: elide a parameter that is relevant for only one menu (Goto Dir)
tweaks: elide a redundant intermediate function
tweaks: elide a variable and be more direct, and rename another
tweaks: elide a variable, and shortcircuit a return
tweaks: elide a variable, by returning the result directly
tweaks: elide a wrapper function, by checking a precondition earlier
tweaks: elide three functions that are called just once
tweaks: elide three parameters, as they are the same for both calls
tweaks: elide two ifs for the most likely case, when defaults are allowed
tweaks: elide two redundant calls of strchr()
tweaks: exclude a bit of bracketed-paste code from the tiny version
tweaks: exclude an unneeded fragment of code from the tiny version
tweaks: exit from the writing loop as soon as the last line is reached
tweaks: fix twenty typos, in old Changelogs and in some comments
tweaks: fold translation of all modified keypad keystrokes together
tweaks: fold two blocks into each other, to elide three overlapping cases
tweaks: for each version, mention the changes to the PO files last
tweaks: get rid of a bunch of annoying casts, and thus condense the code
tweaks: group the exiting routines together, and condense the comments
tweaks: handle the double escapes directly, instead of going round again
tweaks: handle two similar things in the same way
tweaks: implement the anchor routines in a different way
tweaks: improve a comment, rename a function, and elide a parameter
tweaks: improve a comment, reshuffle a scroll command, elide a variable
tweaks: improve four comments
tweaks: improve several comments, and rewrap two lines
tweaks: improve some comments, and reshuffle an assignment
tweaks: improve some comments and whitespace, and reshuffle a few lines
tweaks: improve three comments, drop one, and unwrap a line
tweaks: improve two comments, and reshuffle some lines for conciseness
tweaks: invert a condition, to have two clauses in a more logical order
tweaks: invert a condition, to see the similarity between the two modes
tweaks: make an early return for zero matches, and rename a variable
tweaks: make an error message more accurate and reduce it to its essence
tweaks: make three hard-bindings of special keys more efficiently
tweaks: move a copyright notice to a better place, and improve it
tweaks: move a fragment of code to the one branch that needs it
tweaks: move a function to a more logical place
tweaks: move a function to before the one that calls it
tweaks: move a function to before the one that calls it
tweaks: move a function, to be in the order in which they are called
tweaks: move a function to the file where it is used the most
tweaks: move an 'if', to not call leftedge_for() when not softwrapping
tweaks: move an initialization function to before the one that calls it
tweaks: move two functions, to have them in a more logical order
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: order three menu names in the documentation slightly better
tweaks: plug a leak, by always freeing the full filename [valgrind]
tweaks: rake a common statement to the end of the case
tweaks: recalculate the multiline info just once when doing "Replace All"
tweaks: reduce the indentation after the previous change
tweaks: remove an incorrect mention of umask() from a comment
tweaks: remove an unneeded call of wnoutrefresh()
tweaks: remove an unneeded cursor movement, and rename a variable
tweaks: remove an unneeded element from the openfilestruct
tweaks: remove a redundant cursor movement, remove a redundant condition
tweaks: remove a superfluous check on the length of the key buffer
tweaks: remove a superfluous global variable
tweaks: remove some superfluous conditions
tweaks: remove three unneeded while loops from two input routines
tweaks: remove two calls of umask() by specifying permissions directly
tweaks: remove two redundant conditions, and make a more direct return
tweaks: remove two superfluous assignments
tweaks: remove unneeded variables after the previous change
tweaks: rename a function, and move it to before the one that calls it
tweaks: rename a function, and move it to before the one that calls it
tweaks: rename a function, to be more correct
tweaks: rename a function, to be more general and clearer
tweaks: rename a function, to be more precise, and reshuffle it
tweaks: rename a function, to be more precise, and reshuffle some things
tweaks: rename a function, to better describe what it does
tweaks: rename a function, to leave the old names behind
tweaks: rename a function, to match with the boolean that guards it
tweaks: rename a function, to not shadow a variable, and elide parameter
tweaks: rename a parameter and a variable, to be more meaningful
tweaks: rename a struct element, to be shorter and preciser
tweaks: rename a symbol, and actually use it where it is needed
tweaks: rename a symbol, away from a double abbreviation
tweaks: rename a symbol, from a phrase to a noun
tweaks: rename a symbol, to be more accurate, and reshuffle two lines
tweaks: rename a symbol, to better suit its purpose, and reduce its scope
tweaks: rename a variable, and condense a comment
tweaks: rename a variable, and normalize the indentation
tweaks: rename a variable, and reduce the scope of two others
tweaks: rename a variable, for more contrast with the function name
tweaks: rename a variable, for shortness and contrast
tweaks: rename a variable, improve a comment, and reshuffle a few things
tweaks: rename a variable, to avoid overrepetition of 'backup'
tweaks: rename a variable, to better describe what it holds
tweaks: rename a variable, to better fit related ones
tweaks: rename a variable, to make more sense
tweaks: rename a variable, to not refer to a row as a "line"
tweaks: rename one of the flag symbols, to be clearer
tweaks: rename two functions and a variable, and improve two comments
tweaks: rename two functions, and rename and reshuffle a parameter
tweaks: rename two functions, to better indicate what they do
tweaks: rename two header files, to be distinct and not an abbreviation
tweaks: rename two labels, for brevity
tweaks: rename two parameters, away from abbreviations
tweaks: rename two parameters, away from an abbreviation
tweaks: rename two parameters, to be more fitting
tweaks: rename two variables, and reduce the scope of a third
tweaks: rename two variables, away from abbreviations
tweaks: rename two variables, to avoid a repetitive prefix
tweaks: rename two variables, to be shorter and without abbreviations
tweaks: reshuffle a bit of code, to elide an #ifndef
tweaks: reshuffle a condition, for symmetry
tweaks: reshuffle a condition, to avoid a repetition of code
tweaks: reshuffle a condition, to make a little more sense
tweaks: reshuffle a declaration and six calls of free(), to avoid a leak
tweaks: reshuffle a few lines, and remove a few unneeded comments
tweaks: reshuffle a few lines, for conciseness
tweaks: reshuffle a few lines, to elide an 'if' from the most common path
tweaks: reshuffle a fragment of code, to elide a 'goto'
tweaks: reshuffle an assignment, for conciseness, and rename a variable
tweaks: reshuffle and trim a comment, and remove unneeded pair of braces
tweaks: reshuffle a statement, to have major initialization in nano.c
tweaks: reshuffle some code, to avoid needlessly calling a function
tweaks: reshuffle some conditions, to straighten the logic
tweaks: reshuffle some lines, for esthetics
tweaks: reshuffle some lines, to better separate the three cases
tweaks: rewrap a few lines in old news items, for more balanced lines
tweaks: separate a symbol from its definition by two spaces
tweaks: shorten an error message, to be appropriate in all situations
tweaks: shorten the name of a symbol, to match its bindable function
tweaks: simplify an error message, by mentioning just the main point
tweaks: simplify the counting of characters in a section
tweaks: skip the conversion to multibyte for plain ASCII codes
tweaks: slightly improve a comment and the ordering of some lines
tweaks: slightly improve the grouping of shortcuts in some help texts
tweaks: three escapes is the same as either zero escapes or one escape
tweaks: trim an ASCII case, as the function is called only for UTF-8
tweaks: trim some oververbose comments -- they overshadow the code
tweaks: uniformize some old translator credits
tweaks: update a translator hint, and add another
tweaks: update three translator hints, add two, and frob three strings
tweaks: use a better symbol than 'ERR' to signify a valid hex digit
tweaks: use knowledge of Unicode to skip the general multibyte conversion
tweaks: use three switches instead of cascading ifs, for brevity
undo: choose the proper x positions to place the cursor and rejoin lines
undo: when undoing a line cut, place the cursor back where it was
usage: unabbreviate option arguments where possible
verbatim: show an error message when an invalid Unicode code is entered
verbatim: turn bracketed-paste mode off while waiting for input
Marco Diego Aurélio Mesquita (4):
bindings: hard-bind the bookmark functions to M-Ins and M-PgUp/M-PgDn
display: support the position indicator also when --softwrap is used
files: make the M-F (New Buffer) toggle non-persistent
new feature: bindable functions for toggling and jumping to "bookmarks"
Michalis Kokologiannakis (3):
files: improve the backup procedure to ensure no data is lost
tweaks: adjust some indentation after the previous change
tweaks: move the backup code to a separate function
Pedro Victor de Brito Cordeiro (1):
tweaks: make parameter names in prototypes match those in the definitions
Ryan Westlund (2):
syntax: go: highlight the chan keyword, and the special +build comment
syntax: haskell: new file -- coloring rules for Haskell programs
Changes between v4.8 and v4.9:
------------------------------
Benno Schulenberg (209):
bindings: remove the translation of ^H to Backspace on the BSDs
build: fix compilation for --enable-tiny --enable-justify
build: restore non-UTF8 fallbacks, to allow compiling with --disable-utf8
build: update the conditional placement of the "Go To Line" menu item
bump version numbers and add a news item for the 4.9 release
chars: optimize a function for the most common blanks: space and tab
copyright: update to the current year for significantly changed files
cutting: let M-T cut a trailing empty line, but not nothing at all
cutting: with --cutfromcursor, allow ^K to cut the penultimate empty line
display: do not show a "[" double-width placeholder when softwrapping
display: keep the help items aligned, by not writing too many characters
docs: improve the descriptions of --softwrap and 'set softwrap'
docs: mark bracketed pasting as done in the TODO list
docs: mention that ^[ (Esc) is unbindable, and explain why
docs: remove the note saying that nanorc files must be in Unix format
docs: trim some TODO items, and condense several others
docs: update the form of an option, --suspendable / 'set suspendable'
docs: update the missed occurrences of --suspendable / 'set suspendable'
feedback: give a clearer message when trying to justify an empty region
feedback: make sure that a later message can overwrite a short warning
files: be consistent in which code means "New File"
files: don't check uninitialized memory when writing new file [valgrind]
files: when piping, always pipe whatever was cut to the external command
gnulib: update to its current upstream state
help: do not break a line inside the 17-column keystrokes area
help: increase the minimum help-text width from 32 to 40 columns
input: accommodate silly emulators that have LF instead of CR in a paste
input: after reallocating a string, do not write to its old address
input: allocate sufficient bytes for entering a Unicode codepoint
input: keep a multibyte character together during verbatim entry
justify: do not copy too many bytes when trimming leading whitespace
justify: do not crash when the user attempts to justify an empty region
justify: do not take an empty line as template for first-line indentation
justify: give the first line of a marked region its proper indentation
justify: never break a line in leading whitespace
justify: restore a region properly when it was marked backwards
justify: skip over blanks after the region, to not skew the indentation
justify: skip over in-line whitespace only, not over leading whitespace
justify: trim prefixed whitespace when justifying a marked region
justify: trim the leading blanks of a marked region at the right moment
justify: when appropriate, move end point of marked region forward
justify: when the cursor is at the left edge, keep it there
locking: do not open an empty buffer when respecting the first lock file
moving: do not put the cursor at end-of-line when in a help text
options: rename --suspend to --suspendable, to make more sense
prompt: insert a burst of bytes in one go instead of characterwise
rcfile: allow alternate line endings in nanorc files
rcfile: do not allow a regex for name, header, or magic to be empty
rcfile: don't store a coloring rule before it is complete
rcfile: rename bindable function 'suspendenable' to 'suspendable'
rcfile: when a start= is not matched with an end=, abandon the whole rule
rcfile: when finding a mistake, skip the rest of the line
shutdown: don't refer to an open file when there aren't any
softwrap: when typing goes beyond the bottom row, scroll just one row
syntax: nanorc: colorize 'rawsequences', not the obsolete 'rebindkeypad'
syntax: spec: add two missing % signs, and colorize also "%triggerprein"
syntax: spec: colorize the date and author of changelog items differently
syntax: spec: drop invalid parentheses after "Summary"
tweaks: abort in three situations that should never occur
tweaks: add a COUPLE_END undo item a bit later, instead of updating it
tweaks: add a different helping variable
tweaks: add a supporting variable, in order to condense some statements
tweaks: add calls of die() for five theoretical programming mistakes
tweaks: adjust some whitespace, reshuffle two ifs, and remove two braces
tweaks: adjust the indentation after the previous change
tweaks: always determine the second lead, to simplify the rewrap call
tweaks: avoid a complaint about uninitialized memory [valgrind]
tweaks: call add_undo() before the character is actually added
tweaks: change a function to return the name of the lock file on success
tweaks: change a function with two possible results to boolean
tweaks: change an integer to a short, and reshuffle it for better packing
tweaks: change another function with two possible results to boolean
tweaks: check for a starting quote in one place instead of three
tweaks: combine two ifs into one
tweaks: condense a comment, reshuffle conditions, and remove unwanted one
tweaks: condense a fragment of code
tweaks: condense two fragments of code
tweaks: convert integers to bytes in one place instead of two
tweaks: copy and store a deleted character in a conciser manner
tweaks: correct a typo, improve two indentations, and rewrap a line
tweaks: correct two typos in a changelog, and drop a doubled word
tweaks: create an undo item earlier, and discard it when needed
tweaks: don't bother reallocating the line data when undoing a line join
tweaks: do some text alignments properly: with spaces, not tabs
tweaks: drop a check for something that will not occur
tweaks: drop two comments that contain variable names
tweaks: elide a function call, by copying a byte directly
tweaks: elide an intermediate copy of a character during injection, twice
tweaks: elide an intermediate copy of an added character
tweaks: elide a parameter, and rename a variable
tweaks: elide a supporting variable, to make four loops slightly faster
tweaks: elide a variable and an unneeded iteration
tweaks: elide one variable and three gotos
tweaks: elide three unneeded #defines
tweaks: elide two variables and their two assignments
tweaks: exclude a function when compiled without spell-checking support
tweaks: extend the undo data for deleting and backspacing more directly
tweaks: factor out a three-line condition into a separate function
tweaks: frob a statement, rewrap two lines, and remove a pair of braces
tweaks: frob two statements, condense another, and add a comment
tweaks: highlight keystrokes in the documentation more consistently
tweaks: improve four comments, and condense two fragments of code
tweaks: improve three comments, and reshuffle two declarations
tweaks: improve two comments
tweaks: improve two comments, and remove an unneeded one
tweaks: inject the entire burst of bytes at once into the edit buffer
tweaks: instead of swapping the end points later, assign them correctly
tweaks: invert the logic of a symbol, to make more sense
tweaks: make prompt-bar input more similar to edit-buffer input
tweaks: make two conditions more direct, and thus elide two functions
tweaks: mesh two bits of code together
tweaks: move a function to after the one that it calls
tweaks: move a function to before the one that calls it
tweaks: move a function to before the one that calls it
tweaks: move a function to its proper place in the order of things
tweaks: move a function to where it is used
tweaks: move another function to where it is used
tweaks: move some definitions closer to where they are used
tweaks: move two functions to before the ones that call them
tweaks: normalize a translator hint, update one, and add another
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous change
tweaks: normalize the indentation after the previous two changes
tweaks: pull the NUL-terminating of a string into a function
tweaks: rearrange a case item, so that PASTE is always after CUT
tweaks: rearrange some conditions, for compactness
tweaks: relocate a function to before its callers
tweaks: relocate eleven functions to before they are called
tweaks: remove a now-unused helper function
tweaks: remove an unneeded indirection
tweaks: remove a redundant assignment
tweaks: remove a redundant statement, a spurious reference to 'cutbottom'
tweaks: remove a superfluous assignment, and reshuffle a call
tweaks: remove non-UTF-8 code from three more functions
tweaks: remove some redundant filtering, and thus elide a parameter
tweaks: remove some unneeded braces, not used elsewhere either
tweaks: remove two redundant case labels
tweaks: remove two superfluous checks
tweaks: remove two superfluous conditions
tweaks: rename a constant, and rename and relocate a function
tweaks: rename a function, and condense a few comments
tweaks: rename a function, and split a variable into two separate ones
tweaks: rename a function, to be more fitting, and improve some comments
tweaks: rename a function, to remove an obscuring abbreviation
tweaks: rename another function, to remove the obscuring abbreviation
tweaks: rename a parameter and a variable, and reword two comments
tweaks: rename a symbol, to match the corresponding renamed option
tweaks: rename a variable, and add a helping one
tweaks: rename a variable, and reshuffle a declaration
tweaks: rename a variable, away from a single letter
tweaks: rename a variable, away from a single letter
tweaks: rename a variable, for aptness
tweaks: rename a variable, reshuffle an assignment, and change a code
tweaks: rename a variable, to be a bit clearer
tweaks: rename a variable, to get out of the way of a later rename
tweaks: rename a variable, to not be a substring of a function name
tweaks: rename four more functions, to get rid of an abbreviation
tweaks: rename four parameters, to be more distinct and telling
tweaks: rename four variables, to be a bit more telling
tweaks: rename to the same name two variables that have the same role
tweaks: rename two elements of an undo record, to be more telling
tweaks: rename two functions, for shortness
tweaks: rename two functions, to match the style of others
tweaks: rename two more elements of an undo record, for symmetry
tweaks: rename two more functions, to match the style of others
tweaks: rename two more variables, to harmonize with two others
tweaks: rename two parameters, to not overlap with other names
tweaks: rename two symbols, to be more precise
tweaks: rename two variables, and frob four comments
tweaks: rename two variables, and reshuffle a few things
tweaks: rename two variables, for distinctiveness
tweaks: rename two variables, to be different or for more contrast
tweaks: rename two variables, to harmonize with two others
tweaks: rename two variables, to suit both the marked and unmarked case
tweaks: reorder a case item, to have SPLIT_BEGIN always before SPLIT_END
tweaks: reshuffle a condition, for compacter code
tweaks: reshuffle a condition, for compactness
tweaks: reshuffle a few declarations and assignments
tweaks: reshuffle an assignment and a free()
tweaks: reshuffle some code, in preparation for improving it
tweaks: reshuffle some stuff, to have related things together
tweaks: reshuffle the setting of the starting point of a cut
tweaks: reshuffle the trimming of leading whitespace, for compactness
tweaks: reshuffle two declarations plus a fragment of code
tweaks: simplify the undoing and redoing of an <Enter>
tweaks: strip a parameter that is equivalent to 'openfile' for both calls
tweaks: strip a parameter that is TRUE for both calls
tweaks: swap the use of 'head' and 'tail' for CUT and PASTE undo items
tweaks: trim an unnecessary detail from an error message
tweaks: unabbreviate the name of a variable
tweaks: unwrap four lines, and use explicit codes where possible
tweaks: update several comments after the previous changes
tweaks: update some comments after the previous changes
tweaks: use a symbol instead of a number, and drop two unneeded casts
tweaks: use spaces when aligning things, not tabs
tweaks: use the variable that suits 'END' better
tweaks: weld two fragments together, twice, by eliding an unneeded 'if'
tweaks: when appropriate, move starting point of justified region back
tweaks: when extending the marked region, include also exotic blanks
tweaks: when undoing an addition or redoing a deletion, do not reallocate
undo: do not mark the buffer as modified when pasting back nothing
undo: do not try to copy a cutbuffer that is NULL
undo: do not try to paste back an empty cutbuffer
undo: for an automatic hard-wrap, store the correct previous buffer size
undo: store the cursor row, for redoing filtering & justification better
undo: treat a cut-until-end-of-buffer like a backward marked region
undo: use the correct original fusion point when unjoining two lines
undo: when undoing a paste or an insertion, remove an added magic line
usage: improve the description of --softwrap
Neal Gompa (1):
syntax: spec: add some keywords that were added in RPM 4.15 and 4.13
Saagar Jha (1):
rcfile: fix an out-of-bounds read on empty lines
Changes between v4.7 and v4.8:
------------------------------
Benno Schulenberg (166):
bindings: allow to bind shifted Meta+letter combinations with Sh-M-X
bindings: allow to rebind also ^`, although it is synonymous with ^Space
bindings: do not show the Full-Justify keystroke when in View mode
bindings: force the first letter in a key name to uppercase
build: exclude bracketed pasting from the tiny version
build: exclude option '-g' when configured without browser and help
build: exclude the escape sequences for F13...F16 from the tiny version
build: fix compilation for --enable-{tiny,help,multibuffer}
build: restrict the use of --with-slang to together with --enable-tiny
bump version numbers and add a news item for the 4.8 release
copyright: update the years for significantly changed files
copyright: update the years for the FSF
display: adjust line and column count upon a resize also when using Slang
display: clear the help lines before a briefly shown warning
display: don't let a message write over the second help line
display: ensure the guiding stripe can be shown when not softwrapping
display: exclude a bit of feedback from the tiny version
display: show the cursor during suspension also when built with Slang
display: skip zero-width characters on a Linux console, to avoid a mess
docs: add a FAQ item about a self-compiled nano not reading /etc/nanorc
docs: document the new -f/--rcfile option
docs: document the new Sh-M-X format for binding <Shift+Meta+letter>
docs: for the alternative bindings, rebind ^C only in the main menu
docs: improve the description of which rc-files are read during startup
docs: mention in the FAQ that auto-indentation is suppressed when pasting
docs: mention that -D/--boldtext gets overridden by some nanorc options
docs: put the three new behaviors in a bulleted list, to catch the eye
docs: stop saying that 'set fill' enables hard-wrapping -- it does not
docs: use more generally available arrows in the cheatsheet
feedback: ask a clearer question when a valid lock file is encountered
feedback: report Ctrl+Alt keystrokes as unbindable
feedback: restore a message that can occur in help viewer or file browser
files: alert the user afterward when an overwritten file is being edited
files: revert the previous commit, as the extra warning is annoying
files: warn doubly when the user is about to overwrite an existing file
files: write a lock file also for a new file and when the name changed
gnulib: update to its current upstream state
help: don't waste the last column in the help viewer on narrow terminals
help: increase the minimum help-text width from 24 to 32 columns
help: prevent double spaces from protruding across the right edge
help: when a key description wraps, indent its wrapped part
input: consume and ignore the raw escape sequences for F17 to F24
input: correct the escape sequence for PageUp/PageDown on Eterm/Urxvt
input: Ctrl+arrow is "Esc O x" on Eterm, as on rxvt -- not "Esc o x"
input: discard partial sequences that Slang produces for F17 to F24
input: do not auto-indent when something is pasted into nano from outside
input: don't discard the first keystroke after a resize when using Slang
input: filter out Ctrl+Meta keystrokes, as they can never be shortcuts
input: ignore bracketed pastes in help viewer and file browser
input: ignore modifiers on a VT while executing a macro or a string bind
input: prevent unintentional marking of text for shifted Meta keystrokes
input: read in an external paste in one go, to allow undoing with one M-U
input: recognize the raw escape sequences for F13 to F16 on xterm too
locking: accept a minimal amount of data, enough for PID plus username
locking: avoid crashing when there is a problem writing the lock file
locking: check two magic bytes, to verify that it is a lock file
locking: do not write a lock file when in view mode
locking: when a lock file is unreadable, open the file itself anyway
locking: when finding a lock file at startup, quit when user cancels
new feature: allow specifying a custom nanorc file on the command line
pasting: retain the mark's position when it was set at the cursor
prompt: for a Yes-No-All, accept the first character of an external paste
rcfile: do set the meta flag for plain <Meta+ASCII> combinations
rcfile: require "bright", "start=", and "end=" to be in lowercase too
rcfile: unbind keys by their key code instead of by their key string
softwrap: suppress the guiding stripe on unaffected chunks
speller: avoid messing up the screen when an unknown locale is used
suspension: put in an extra terminal-initialization call for Slang
syntax: nanohelp, nanorc: colorize the Sh-M-X format as a valid key name
syntax: nanorc: colorize all-lowercase Meta key binds as valid too
tweaks: add a little change that was overlooked in the previous commit
tweaks: add an error message for something that should never occur
tweaks: adjust or reword a few items in the FAQ
tweaks: adjust the indentation after the previous change
tweaks: allocate the lock data only when ready to write them
tweaks: avoid analyzing the key string when the target key code is known
tweaks: avoid determining the key code from the key string twice
tweaks: avoid fiddling with the keybuffer when it's not needed
tweaks: comment fully, so that all handled escape sequences are findable
tweaks: condense a fragment of code
tweaks: condense five more fragments of repetitious code
tweaks: condense three comments to one, and do the masking more directly
tweaks: condense three fragments of repetitious code
tweaks: condense two comments, and reshuffle an #endif
tweaks: correct a comment
tweaks: correct a couple of comments about escape sequences
tweaks: correct the description of what nano writes into the lock file
tweaks: delete some fragments of code that have become irrelevant
tweaks: do not leak a file descriptor when fdopen() fails
tweaks: don't bother including Haiku escape sequences in the tiny version
tweaks: don't enable bracketed pasting when not handling such pastes
tweaks: drop a message that will never be seen
tweaks: drop an unneeded call of keypad() -- we never read from topwin
tweaks: drop a pointless suffix from two function names
tweaks: elide a function that has become too small for its two calls
tweaks: elide a helper function, in preparation for an improvement
tweaks: elide an 'if', by moving the relevant code to a better place
tweaks: elide a small function, as it's in fact needed just once
tweaks: elide a somewhat costly call by remembering some state
tweaks: elide a variable, and rename its sister
tweaks: elide three checks of a shortcut's meta flag
tweaks: ensure that editor name and user name are NUL terminated
tweaks: exclude an unneeded fragment of code from the tiny version
tweaks: exclude two unneeded fragments of code from the tiny version
tweaks: free two strings as soon as they are no longer needed
tweaks: frob a couple of indentations and white lines
tweaks: fuse two nearly identical functions into a single one
tweaks: gather four calls that are always done together into a function
tweaks: harmonize the amount of lock data that we read and write
tweaks: improve a comment by indirectly referring to the ncurses docs
tweaks: in comments, reword "titlebar" and "statusbar" to two words each
tweaks: initialize three booleans straightaway, when they are declared
tweaks: initialize three more booleans straightaway, at declaration
tweaks: judge from the key code itself whether it is a Meta keystroke
tweaks: make a couple of comments more precise
tweaks: move a function to after the one that it calls
tweaks: move a function to be before the ones that call it
tweaks: move a function to before the one that calls it
tweaks: move a function to related ones, and after one that it calls
tweaks: move a function to right before the one that calls it
tweaks: move another function to after the one that it calls
tweaks: move another function to before the one that calls it
tweaks: move another function, to group the deleting ones together
tweaks: move three functions to the file where they are mainly used
tweaks: rearrange a few global variables, to group things better
tweaks: recompute the wrapping point just once
tweaks: reduce the scope of a variable, and reshuffle a declaration
tweaks: reduce the scope of two constants and of four variables
tweaks: reformat a comment, and resuffle a line to match byte order
tweaks: remove a feedback message that is never shown
tweaks: remove a redundant call, as there is nothing to free there
tweaks: remove a superfluous check
tweaks: remove some superfluous conditions for rewriting a lock file
tweaks: remove the now-unneeded code related to bracketed pasting
tweaks: remove the now-unused meta flag from 'keystruct'
tweaks: remove two superfluous assignments, and rename a variable
tweaks: rename a function and its parameter, to be more fitting
tweaks: rename a function, to be a bit more expressive
tweaks: rename a function, to make it not contain the name of another
tweaks: rename a parameter and invert its logic, and correct a comment
tweaks: rename five variables, away from a single letter
tweaks: rename two functions, to make more sense
tweaks: rename two parameters, to be more general and to sound shorter
tweaks: rename two variables, to make more sense
tweaks: renumber some FAQ items in preparation for adding another
tweaks: reorder two symbols
tweaks: reshuffle some assignments for a return value
tweaks: reshuffle some declarations
tweaks: reshuffle some declarations, and expand a few variable names
tweaks: reshuffle some lines, to avoid tallying the menus when not needed
tweaks: reshuffle some lines, to group all ignored keystrokes together
tweaks: reshuffle three lines, to make the grouping tighter
tweaks: reshuffle two lines, to do the linking first, then the content
tweaks: reword two comments, and rewrap another
tweaks: rewrap a comment and a line, and reshuffle a fragment of code
tweaks: rewrap two lines, for consistency with similar lines
tweaks: rewrite the same file name into the lock file as the first time
tweaks: slightly condense a function by conflating case
tweaks: stop recognizing escape sequences for a key without meaning
tweaks: suggest a few more alternative key bindings and unbindings
tweaks: take just one shot at reading the lock file, and correct a type
tweaks: trim some excessive error checking and key-name frobbing
tweaks: tumble three conditions, for consistency in comparisons
tweaks: unabbreviate "argument" in the documentation
tweaks: use a simple subtraction instead of a function call
usage: improve the description of --restricted and --quickblank
Brand Huntsman (2):
input: beep when invalid key is pressed at yesno prompt or in linter menu
input: recognize the start and stop sequences of a bracketed paste
Changes between v4.6 and v4.7:
------------------------------
Benno Schulenberg (39):
build: add the uploading of PDF and cheatsheet to the release script
build: avoid three compiler warnings when using gcc-9.2 or newer
build: fix compilation for --enable-tiny --enable-wrapping
build: fix compilation on macOS, where 'st_mtim' is unknown
build: fix compilation when configured with --disable-justify
bump version numbers and add a news item for the 4.7 release
display: don't color the space that separates line numbers from text
docs: add or improve the 'description' meta tag in the two HTML pages
docs: add the 'lang' attribute in the right place to the two HTML pages
docs: mention that all keywords in a nanorc file should be in lowercase
docs: mention that a negative number after "+" counts from the end
gnulib: update to its current upstream state
input: make <Tab> indent only when mark and cursor are on different lines
justify: distinguish between tabs and spaces when comparing indentation
justify: treat consecutive indentations that look the same as the same
linter: beep when trying to go beyond first or last message
rcfile: accept also function names and menu names only in lowercase
rcfile: accept only keywords in all lowercase, for speed of comparison
rcfile: demand that function 'exit' is bound in the file browser
syntax: nanohelp: colorize also ^/ as a possible keystroke
syntax: sh: recognize shell rc files also in dedicated directories
tweaks: avoid using strlen() where it is not needed
tweaks: drop M-Space and ^Space from the browser's key list
tweaks: improve two comments and the ordering of some operands
tweaks: move three functions to the file where they are used
tweaks: optimize the trimming of trailing whitespace
tweaks: remove a stray space
tweaks: rename a function, to get out of the way for another rename
tweaks: rename a function, to get rid of a useless suffix
tweaks: reshuffle a few lines, for brevity or speed or consistency
tweaks: reshuffle a few lines, for symmetry with the preceding function
tweaks: reshuffle a fragment of code, for efficiency
tweaks: reshuffle and rename a few things, to elide duplication
tweaks: reshuffle an item, to avoid a lone 'else'
tweaks: reshuffle two declarations, for compactness
tweaks: slightly streamline the search for a possible wrapping point
tweaks: trim or adjust some whitespace in HTML, and add two keywords
tweaks: unwrap a few lines, and move some strings to among their peers
wrapping: never break in the quoting part nor in the indentation part
Changes between v4.5 and v4.6:
------------------------------
Benno Schulenberg (128):
bindings: allow to rebind ^/, even though it is synonymous with ^_
bindings: don't hard-bind ^H in the help viewer or the file browser
bindings: the 'all' keyword should encompass the browser menu too
bindings: the 'all' keyword should include the browser menu always
build: fix compilation for --enable-tiny --enable-histories
build: fix compilation when configured with --disable-color
build: slightly speed up the compilation of the tiny version
bump version numbers and add a news item for the 4.6 release
chars: add a faster version of the character-parsing function
commands: rename 'fixer' to 'formatter', to be less misleading
cutting: do nothing when trying to chop a word leftward at start of file
display: do refresh the edit window when exiting from the help viewer
docs: add a note saying that rebinding ^M or ^I is not advisable
docs: add the M-F and M-N keystrokes to the cheatsheet
docs: adjust the compilation instructions to two-digit version numbers
docs: correct the description of the 'spell' menu
docs: document the 'fixer' command, a per-syntax content arranger
docs: mention that color rules are applied in the order they are listed
docs: mention that 'hunspell' is now the first default spelling program
docs: mention that the 'nopauses' option is obsolete
docs: remove some excessive detail from the sample nanorc file
docs: remove the note about the formatter having been removed
feedback: say it when spell check or manipulation did not change anything
files: distinguish between read error and write error when prepending
files: don't mention the name of the temp file when reading goes wrong
files: when opening a file for copying, it should NOT be created
formatter: accept the formatted result also upon a nonzero exit status
formatter: don't let output from the program pollute the screen
gnulib: update to its current upstream state
history: don't wait when there is something wrong with the history files
linter: report it as an error when running the linting program fails
rcfile: allow binding also F17...F24
rcfile: process extensions to file-matching commands straightaway
restored feature: a per-syntax 'fixer' command that processes the buffer
softwrap: when switching to another buffer, re-align the starting column
speller: prefer 'hunspell' over 'spell', because it can handle UTF-8
speller: when 'spell' is not found, try running 'hunspell -l' instead
statusbar: show only the first error message, with dots to indicate more
syntax: c: recognize some C++ header files by their Emacs modeline
syntax: default: don't colorize stuff between two pairs of brackets
syntax: html: add a formatter command, making use of 'tidy'
syntax: html: colorize only full attributes, and colorize strings later
syntax: javascript: colorize also special values 'null' and 'undefined'
syntax: javascript: colorize the boolean values 'true' and 'false' too
syntax: nanorc: colorize all arguments of 'fixer' and 'linter' as valid
syntax: nanorc: colorize in bright red everything that is invalid
syntax: nanorc: colorize only lowercase keywords as valid
syntax: nanorc: colorize the 'fixer' command as valid
syntax: ruby: colorize also lowercase global/instance variables
syntaxes: put the 'linter' and 'formatter' commands on a separate line
tweaks: add a helper function without the ubiquitous NULL argument
tweaks: add a local variable, for clarity, to not preuse another one
tweaks: add some "fall-through" comments, and reshuffle some breaks
tweaks: add two translator hints
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change, and another
tweaks: adjust two comments, to better fit the actual functions
tweaks: avoid setting and resetting a variable when there is no need
tweaks: avoid three unneeded calls of umask() in the normal case
tweaks: be explicit about which program complained
tweaks: check the return value of copy_file() also after its other uses
tweaks: close the unused reading ends of two more output pipes
tweaks: condense a fragment of code by making use of a helper function
tweaks: condense or improve some comments
tweaks: condense two comments, and rename two parameters
tweaks: condense two comments, and rewrap a line
tweaks: correct a comment, and retype a variable
tweaks: die on an impossible condition -- to be removed later
tweaks: don't do in the parent something that only the child needs
tweaks: don't wrap calls of statusline() that slightly overshoot 80 cols
tweaks: drop the unneeded closing of descriptors when exiting anyway
tweaks: elide a duplicate opening of the existing file when prepending
tweaks: elide a function call for the plain ASCII case
tweaks: elide another two calls of umask(), and rename two variables
tweaks: elide an unneeded and leaky function
tweaks: elide an unneeded check when making a backup
tweaks: elide a variable, and add a condition to elide an assignment
tweaks: elide a variable that is the same as another
tweaks: exclude two fragments of code from the tiny version
tweaks: fuse two regexes into one
tweaks: group the closing of descriptors together, for compactness
tweaks: group the closing of two descriptors, and reword two comments
tweaks: harmonize a message with another
tweaks: improve some comments, and trim some repetitive ones
tweaks: make a function do a check so its calls don't need to
tweaks: mark two strings for translation
tweaks: move a call of umask() closer to where it is relevant
tweaks: move two functions to after the one that they make use of
tweaks: normalize the indentation after the previous change
tweaks: order two functions more sensibly
tweaks: pass an empty string as an answer instead of a NULL pointer
tweaks: pass an empty string for copying instead of a non-existent one
tweaks: pass any special undo/redo messages to the add_undo() function
tweaks: remove a pointless updating of the title bar
tweaks: remove a redundant check for an existing emergency file
tweaks: remove the superfluous closing of a file descriptor
tweaks: remove two pointless re-inclusion guards
tweaks: remove two superfluous conditions when prepending
tweaks: rename a function and add a parameter, so it becomes more general
tweaks: rename a function, and elide a parameter that is always NULL
tweaks: rename a function and elide its first parameter
tweaks: rename a local variable, to not shadow another
tweaks: rename a variable, to be a bit more fitting
tweaks: rename a variable, to be distinct and visible
tweaks: rename three variables, and reshuffle some lines
tweaks: rename three variables, to be consistent with other linestructs
tweaks: rename three variables, to be more descriptive
tweaks: rename three variables, to match others elsewhere
tweaks: rename two parameters, for contrast and to match others
tweaks: rename two parameters plus a variable, to match others
tweaks: rename two variables, and add a third, for more contrast
tweaks: reshuffle a few declarations, and reduce the scope of one
tweaks: reshuffle a fragment of code into two alternatives
tweaks: reshuffle an 'if' to avoid a negation, and improve a comment
tweaks: reshuffle some declarations, and rename a variable
tweaks: reword an undo/redo string that was overlooked during the rename
tweaks: silence a warning when configured with --enable-tiny
tweaks: simplify the opening of files when prepending
tweaks: slightly reword some fragments in the manual's rebinding section
tweaks: use a better variable name for the argument of an option
tweaks: use a literal NULL instead of a variable that is NULL
tweaks: use a simpler positive/negative check for after copy_file()
tweaks: use a string-copy function that checks for out-of-memory
tweaks: use the given string instead of the found match, for clarity
undo: don't try to copy a string that doesn't exist
undo: put the cursor back on the original row for a full-buffer operation
utils: don't accept NULL for the string to be copied
Jeroen Roovers (1):
syntax: gentoo: highlight the BDEPEND variable as well
Changes between v4.4 and v4.5:
------------------------------
Benno Schulenberg (60):
bindings: add a dedicated keycode for <Tab> for when a region is marked
bump version numbers and add a news item for the 4.5 release
color: don't concatenate an absolute path with the working directory
docs: add two examples of the 'tabgives' command to the sample nanorc
docs: describe the new syntax-specific 'tabgives' command
docs: mark the undoing of justifications as done in the TODO list
docs: mention that gcc must be at least version 5.0
gnulib: update to its current upstream state
mouse: make the clickable width of menu items more consistent
new feature: a 'tabgives' command to define what the Tab key produces
search: after search-at-startup, store the column (for vertical movement)
tweaks: add a translator hint, and correct two others
tweaks: add some translator hints, be more precise on permissible length
tweaks: add two hints for translators, to try and help avoid mistakes
tweaks: adjust indentation after previous change, reshuffle declarations
tweaks: avoid a comparison between signed and unsigned [coverity]
tweaks: avoid leaking memory when finding an invalid string [coverity]
tweaks: avoid recomputing a maximum value every time round the loop
tweaks: don't burden all menus with something meant for the WriteOut menu
tweaks: elide a function from a non-UTF8 build
tweaks: elide two multiplications with something that is always 1
tweaks: frob a few comments
tweaks: improve a bunch of comments, and reshuffle some declarations
tweaks: improve a handful of comments, and reduce the needed padding
tweaks: mark as 'const' a parameter that takes fixed strings [coverity]
tweaks: meld two calls of free() into a single one, to elide an 'else'
tweaks: move a fragment of common code into the appropriate function
tweaks: move a function to a better file, to be amongst its kind
tweaks: move a function to before its callers and next to its kind
tweaks: move two functions to after the ones that they call
tweaks: remove some timing code that has served its purpose
tweaks: remove two superfluous macros, as sizeof(char) is always 1
tweaks: rename a function, to be a bit more fitting
tweaks: rename another type, again to better fit the general pattern
tweaks: rename another type, to also better fit the general pattern
tweaks: rename another variable, for a better fit
tweaks: rename a type, to better fit the general pattern
tweaks: rename a variable, normalize a comment, and reshuffle a free()
tweaks: rename a variable, to be more compact
tweaks: rename three variables, for contrast and more sense
tweaks: rename three variables, for more contrast
tweaks: rename three variables, to better indicate what they hold
tweaks: rename two variables, away from single letters
tweaks: rename two variables, to better describe what they contain
tweaks: reshuffle a fragment, to group some toggles together
tweaks: reshuffle a line, to group things better
tweaks: reshuffle some lines, to elide an unneeded assignment
tweaks: reshuffle some lines, to have the same order as elsewhere
tweaks: reshuffle two fragments, to group things better
tweaks: rewrap a line, reshuffle a declaration, and improve some comments
tweaks: simplify a calculation, as done elsewhere
tweaks: simplify the determination of a canonical path
tweaks: sort two keywords strictly alphabetically
tweaks: speed up determining the width of plain ASCII characters
tweaks: speed up the counting of the menu entries to be shown
tweaks: use a more efficient way to skip storing an empty file name
tweaks: use an early return when there is no tilde
tweaks: use 'void' in prototypes of parameterless functions [coverity]
usage: mark the -J/--guidestripe option plus argument as translatable
usage: properly align --help output also when it has accented characters
Brand Huntsman (1):
search: accept a match at start of file when searching from command line
Dirkjan Ochtman (1):
syntax: rust: add the words reserved in 2018, and remove unreserved ones
Changes between v4.3 and v4.4:
------------------------------
Benno Schulenberg (53):
browser: draw a bar of spaces only where needed -- for the selected item
build: exclude the search-at-startup feature from the tiny version
bump version numbers and add a news item for the 4.4 release
copying: do not prevent M-6 from copying emptiness into the cutbuffer
display: blank the status bar on a successful cut or paste
display: clear the remainder of a row only when there actually is some
display: don't clear a row beforehand -- just clear the remainder
display: use a somewhat faster method to clear a row
display: when linenumbering, correctly spotlight text that spans two rows
display: where needed, use slow blanking, but elsewhere do it much faster
docs: change a few URLs over to https, and rewrap a couple of NEWS items
docs: document the search-at-startup feature (+/string or +?string)
docs: make the synopsis of --speller and 'set speller' more accurate
docs: mention the M-N toggle instead of the obsolete M-# one
docs: slightly reword some of the descriptions around syntax highlighting
docs: slightly reword the descriptions of most configure options
docs: stop mentioning the 'unjustify' function, as it no longer exists
gnulib: update to its current upstream state
new document: a condensed overview of nano's shortcut keystrokes
new feature: allow specifying a search string to "jump to" at startup
rcfile: properly handle an empty syntax before an 'include' statement
scrolling: don't overscroll when the edit window has just one row
search: don't wipe the status bar at startup when there was an error
search: wipe the status bar before searching again (M-W / M-Q)
syntax: c: allow an underscore in lowercase type names
syntax: default: colorize bracketed section headers in some config files
syntaxes: change some unneeded 'icolor' commands to 'color' commands
syntaxes: recognize .ctp extension as a PHP file, and .cu as a C/C++ file
syntax: perl: avoid recognizing embedded hash signs as a comment starter
syntax: perl: avoid upsetting older glibcs with crafty range expression
syntax: perl: don't color the character after a variable name
syntax: po: colorize numbers only when they form a self-contained word
text: copy leading quote characters when automatic hard-wrapping occurs
tweaks: add a translator hint, to clarify four short words
tweaks: call the correct lighting function directly when softwrapping
tweaks: condense some comments, and drop two unneeded initializations
tweaks: drop two parameters that are no longer needed
tweaks: improve a comment, and drop a superfluous one
tweaks: improve a handful of comments
tweaks: make a function name unique, to not overlap with others
tweaks: move a call from two different places to a single place
tweaks: move a function to before the first one that calls it
tweaks: move a general function to a better place
tweaks: remove a saving and restoring that has become superfluous
tweaks: rename a function, to suit better, and reshuffle its parameters
tweaks: rename a parameter in three functions, to say what it points to
tweaks: reshuffle an assignment, and trim some excessive blank lines
tweaks: reshuffle an 'if' out of a function, and rename the function
tweaks: reword and condense two comments, and correct another
tweaks: rewrap two lines, and reshuffle some logic to make more sense
tweaks: shorten two messages that translators tend to make too long
tweaks: try the allocation of a multidata cache just once per line
tweaks: when precalculating, allocate all the cache space upfront
Brand Huntsman (3):
rcfile: for an empty syntax, show the line number of the 'syntax' command
rcfile: report the correct command location for an invalid 'include'
search: accept toggles for case and regex when searching at startup
Changes between v4.2 and v4.3:
------------------------------
Benno Schulenberg (235):
bindings: at a Yes-No prompt, accept also ^N and ^Q for "No"
bindings: at a Yes-No prompt, accept also ^Y for "Yes"
bindings: bind the Alt+arrow keystrokes also in non-UTF-8 locales
browser: don't show a mistaken message when exiting from help viewer
build: avoid a warning on FreeBSD, OpenBSD, and Alpine
build: avoid a warning when using --disable-utf8
build: exclude the ability to open a FIFO from the tiny version
build: fix compilation on another system
build: fix compilation when configured with --disable-color
build: fix compilation when configured with --enable-tiny
build: move an #include to where it is needed
build: remove two #includes that don't seem to be needed
bump version numbers and add a news item for the 4.3 release
chars: create a dedicated function for getting the length of a character
chars: redo the speedup for plain ASCII from three commits ago
chars: speed up case-insensitive searching by roughly one percent
chars: speed up the determination of length and width for plain ASCII
copying: let a copy command break a chain of cut or zap commands
copying: make M-6 do nothing when at end of buffer
copying: scroll just one line when M-6 is pressed on the bottom row
cutting: clear the cutbuffer when the previous operation was copying
cutting: ignore the mark when a word is deleted
display: properly show all characters in a non-UTF-8 build
docs: add a light warning to the explanation of --nonewlines
docs: adjust the wording of the README to be factually correct
docs: clarify that in nano regexes are extended regular expressions
docs: mention the default value for 'errorcolor'
docs: note Brand as the author of the delayed syntax parsing
docs: note David as author of undoable indenting and undoable justifying
docs: remove "--" from the default value of 'quotestr'
docs: say thanks to the Korean translator, and trim a double space
docs: show double quotes where they are needed
docs: slightly reword the notice about the changed defaults since 4.0
feedback: don't clear off possible error messages after a spell check
feedback: don't try to represent keys outside of the seven-bit range
feedback: make an error check work also when curses hasn't started yet
feedback: print helpful message only when data comes from keyboard
feedback: show a more fitting message when opening a FIFO is interrupted
feedback: show an appropriate message when reading a file was cut short
feedback: treat statusline() being called outside of curses mode as a bug
feedback: when the last line is empty, don't include it in the count
files: allow a given file to be a special file but not a directory
files: allow to abort the reading of slow files with Ctrl+C
files: allow to interrupt the opening of a FIFO for writing with Ctrl+C
files: allow to interrupt the opening of a FIFO with Ctrl+C
files: check for writability by the access bits, not by trying to append
files: don't close a newly-created buffer when it is the only one
files: don't save the state of the terminal a second time
files: don't say "Error...: Success" when aborting after resizing
files: give feedback while waiting for a FIFO to open up
files: suppress feedback when writing an emergency or temporary file
files: try matching a syntax after scooping data from standard input
files: when needed, reconnect the keyboard and reenter curses mode
gnulib: update to its current upstream state
help: don't check for confinement when opening a temporary help-text file
help: don't cycle through the buffers for every resizing step
help: don't show Alt+Left and Alt+Right when running on a Linux console
help: make the column for the first keystroke a little wider
help: write the text directly into a new buffer, without using a tempfile
justify: remove "--" from the quoting regex, to avoid false paragraphs
oops: apparently the line numbers in the cutbuffer do matter
rcfile: at terminating points, verify that a defined syntax is not empty
rcfile: check for missing color commands only when a syntax is still open
rcfile: close off a syntax when a non-syntax command is encountered
rcfile: disallow extending a syntax that is defined in a main nanorc
rcfile: fully read each included file, so all its syntaxes are seen
search: stay in the Search menu when trying to Replace in view mode
softwrap: use smooth scrolling when softwrapping is toggled on
speller: be more concise and to the point when something goes wrong
speller: don't crash when the spell-checked tempfile cannot be opened
speller: ensure that a Shift-selected region is retained
speller: when something goes wrong with 'sort', do not blame 'spell'
startup: remove the now-unneeded workaround for a SIGWINCH during input
startup: resave the terminal's state only when there were no signals
syntax: po: colorize also escaped hex and octal codes
syntax: python: avoid miscoloring stuff between two empty strings
tweaks: add a missing forward declaration of make_new_buffer()
tweaks: add a pair of braces, to silence a compiler warning
tweaks: add a warning for something that shouldn't occur
tweaks: adjust a comment and drop two others, and reshuffle two lines
tweaks: adjust some indentation after the previous change
tweaks: adjust some whitespace and rewrap a few lines
tweaks: adjust the indentation after the previous change
tweaks: adjust the indentation after the previous change
tweaks: avoid an unneeded, extra stat() for temporary files
tweaks: avoid parsing a character twice
tweaks: be more sparing in redrawing things when exiting from help viewer
tweaks: change a function to void, to make things more direct
tweaks: check in a single place for files that should not be opened
tweaks: close a buffer differently and elide a parameter
tweaks: condense a comment and reshuffle a couple of lines
tweaks: condense a couple of comments, and reshuffle a line
tweaks: condense the setup of the two signal handlers for Ctrl+C
tweaks: condense two comments, and normalize the whitespace of a label
tweaks: consistently report failures to fork (and the like) as errors
tweaks: delete a leftover
tweaks: delete a now-unused function
tweaks: delete a now-unused function
tweaks: don't bother calling mblen() in a non-UTF-8 build
tweaks: don't bother checking the return value of wait()
tweaks: don't bother keeping track of whether a squeezed line has shrunk
tweaks: don't bother renumbering the lines in the cutbuffer
tweaks: don't bother saving and restoring 'cutbottom' all the time
tweaks: don't bother to free the content of 'extendsyntax' commands
tweaks: don't check the user's nanorc file for accessibility twice
tweaks: drop an unneeded parameter from open_file()
tweaks: drop a useless tidying-up call, as spelling does not use regexes
tweaks: drop most of the remaining debugging code, and some timing code
tweaks: drop some checks that were made redundant by the previous commit
tweaks: drop two checks that were made redundant by the previous commit
tweaks: elide a function that is an amalgam of three others
tweaks: elide a function that is called in just one place
tweaks: elide a function that is used just once
tweaks: elide another parameter, and rename the function to match
tweaks: elide an unneeded, duplicate stat() for the FIFO check
tweaks: elide an unneeded 'if' and 'break'
tweaks: elide an unneeded variable
tweaks: elide a parameter and a return value
tweaks: elide a pre-processor #else clause, by using braces instead
tweaks: elide a variable, drop a comment, and remove unneeded braces
tweaks: elide two unneeded variables
tweaks: enforce the minimum amount of scrolling in a simpler way
tweaks: exclude a bug check from the tiny version
tweaks: exclude another bug check from the tiny version
tweaks: factor out a fragment of code that is repeated three times
tweaks: factor out the installing and restoring of the ^C signal handler
tweaks: improve a couple of comments
tweaks: improve a handful of comments
tweaks: improve some comments, reshuffle a line, and rename a variable
tweaks: include the enabling of SIGINT into the tiny version
tweaks: invert a condition, in order to return earlier
tweaks: invert two conditions, in order to elide an extra variable
tweaks: just mark four rcfile errors for translation, like the others
tweaks: make better use of two variables, and reshuffle two comments
tweaks: merge two functions, as the first is called just once
tweaks: merge two functions, as the one is used only by the other
tweaks: merge two very similar functions into a single one
tweaks: move a bit of timing code to where it will be needed
tweaks: move a function to the file where it is used
tweaks: move an assignment that is useful only when searching forward
tweaks: move a syntax check to a better place, to reduce duplication
tweaks: move the tidying-up-after-a-search to a single exit point
tweaks: normalize the indentation after the previous two changes
tweaks: place a function better, and reduce some comments to a single one
tweaks: put some timing code back into the search function
tweaks: really don't bother renumbering the lines in the cutbuffer
tweaks: reduce a bit of mark-adjusting code to its essence
tweaks: reduce the scope of a variable, and let the compiler zero it
tweaks: remove a bit of redundant code
tweaks: remove a check that is no longer relevant
tweaks: remove a condition that has become superfluous
tweaks: remove an unneeded "closing" of a syntax after extending it
tweaks: remove an unneeded setting and unsetting of a flag
tweaks: remove a superfluous and ineffective assignment
tweaks: remove a superfluous condition, in three places
tweaks: remove four unneeded pre-processor directives
tweaks: remove some unneeded braces, and reshuffle for more symmetry
tweaks: remove the two remaining handfuls of asserts
tweaks: remove two more unneeded assignments
tweaks: remove two unneeded assignments, and improve a comment
tweaks: remove two unneeded checks for NULL
tweaks: rename a bunch of variables, to become identical to others
tweaks: rename a function and a variable, for contrast and variety
tweaks: rename a function and its parameters, to be more fitting
tweaks: rename a function, to be clearer and to stop using an old abbrev
tweaks: rename a function, to be more fitting
tweaks: rename a function, to better indicate what it does
tweaks: rename a function, to better suit what it does
tweaks: rename a parameter and a variable, to be more distinct
tweaks: rename a struct element, to be distinct
tweaks: rename a type, for more contrast
tweaks: rename a type, to make more sense
tweaks: rename a variable, reduce its scope, and use it consistently
tweaks: rename a variable, reshuffle declarations, and drop an assert
tweaks: rename a variable, to be shorter
tweaks: rename a variable, to better indicate it contains two characters
tweaks: rename a variable, to better suit its counterpart
tweaks: rename a variable, to fit a bit better
tweaks: rename a variable, to fit a little better
tweaks: rename a variable, to get out of the way of the next commit
tweaks: rename a variable, to match another with the same meaning
tweaks: rename a variable, to match the style of its brothers
tweaks: rename four elements of the holder struct, for more contrast
tweaks: rename some single-letter variables to the same significant word
tweaks: rename three variables, to get rid of a suffix or an underscore
tweaks: rename three variables, to use full words instead of abbrevs
tweaks: rename two functions, to be simpler
tweaks: rename two functions, to better describe what they do
tweaks: rename two functions, to get rid of the "mb" abbreviation
tweaks: rename two more functions, to be simpler too
tweaks: rename two parameters, away from single letters
tweaks: rename two parameters, for more contrast, and elide another
tweaks: rename two parameters, to differentiate them from function names
tweaks: rename two variables, and frob some comments
tweaks: rename two variables, and reshuffle their declarations
tweaks: rename two variables, away from a single letter
tweaks: rename two variables, for more contrast
tweaks: rename two variables, for more contrast with the partition stuff
tweaks: rename two variables, to be less cryptic
tweaks: rename two variables, to be unique
tweaks: rename two variables, to not be abbreviations
tweaks: reorder some code, to further optimize display_string() for ASCII
tweaks: reshuffle a bit of code, to be less intertwined
tweaks: reshuffle a couple of lines and adjust a few comments
tweaks: reshuffle a few lines, to be more straightforward
tweaks: reshuffle a few things, partly to make two chunks more alike
tweaks: reshuffle an assignment, to be able to return earlier
tweaks: reshuffle some closing and switching to a better place
tweaks: reshuffle some code to the one place that needs it
tweaks: reshuffle some lines and frob some comments
tweaks: reshuffle some lines, to group things more sensibly
tweaks: reshuffle some lines, to put the most likely candidate first
tweaks: reshuffle some lines, to reduce duplication
tweaks: reshuffle two #ifdefs, to avoid an unpaired brace
tweaks: reuse the install and restore functions for a signal handler
tweaks: set a boolean directly, instead of using a function call
tweaks: set a boolean directly, instead of using a function call
tweaks: sort three translator names better
tweaks: specifically refer to the manual of GNU grep for more regex info
tweaks: speed up the counting of characters in mbstrlen()
tweaks: squeeze excess spaces out of a line in situ
tweaks: step away one character from the current bracket, not one byte
tweaks: stop allocating and freeing a holder struct for every cut/paste
tweaks: stop checking for a NULL result from line_from_number()
tweaks: stop passing 'cutbuffer' and 'cutbottom' back and forth
tweaks: switch to the preceding buffer in a cheaper way (when in help)
tweaks: use a cheaper way to switch between buffers where possible
tweaks: use a more direct call when a single linestruct is deleted
tweaks: use a slightly faster function where appropriate
tweaks: use a symbol instead of zero to refer to standard input
tweaks: use FALSE for booleans instead of zero
tweaks: when OR'ing, put the most likely condition first
usage: make the --help output independent from the terminal's tab size
zapping: disjoin a zap command from earlier ones when the mark is set
zapping: use the 'keep_cutbuffer' logic to keep undo items apart
Brand Huntsman (6):
files: block SIGWINCH while opening a FIFO for reading or writing
rcfile: compile the color regexes just once
rcfile: fully parse a syntax file only when needed
rcfile: store errors and display them when nano terminates
startup: prevent a crash when no applicable syntax is found
tweaks: remove an unneeded pre-processor '#else' clause
Changes between v4.1 and v4.2:
------------------------------
Benno Schulenberg (23):
build: be more specific and avoid committing accidentally changed files
bump version numbers and add a news item for the 4.2 release
docs: put the 'set guidestripe' option into its alphabetical position
options: make --breaklonglines work also when --ignorercfiles is used
speller: do not crash by trying to free something that cannot be freed
tweaks: adjust a few comments and some indentation
tweaks: condense and improve a handful of comments
tweaks: declare a function as const and let its allocated string leak
tweaks: drop an unneeded saving and restoring of a variable
tweaks: elide an unneeded intermediate variable
tweaks: elide an unneeded parameter, as the function already assumes it
tweaks: elide an unneeded variable
tweaks: exclude a bit more code from a single-buffer build
tweaks: remove an unneeded condition
tweaks: remove a redundant, enclosed #ifdef
tweaks: rename a function, to be distinct and fitting
tweaks: rename another function, to be distinct and fitting
tweaks: rename a variable, for a little more meaning
tweaks: rename a variable, to distinguish it from a browser function
wrapping: add a missing space only when the remainder will be prepended
wrapping: compute the width of a succeeding line in the correct manner
wrapping: improve the persistence of the prepending behavior
wrapping: trim any trailing blanks when cursor goes to next line
Changes between v4.0 and v4.1:
------------------------------
Benno Schulenberg (85):
bindings: add easier keystrokes for the linenumber and softwrap toggles
bindings: disallow executing an external command when in view mode
bindings: recognize the ^W^Y and ^W^V legacy keystrokes again
bindings: remove the jumpy-scrolling toggle entirely
build: add gnulib modules to the list of files with translatable strings
build: add src/cut.c to the list of files with translatable strings
build: don't do fuzzy matching when merging PO files against the POT file
build: remove obsolete translations from the PO files after merging
bump version numbers and add a news item for the 4.1 release
display: report and catch a bad state, to prevent a possible hang
docs: for two of the toggles, mention the new instead of the old option
docs: give the FILES section in the man page its canonical title
docs: mention that -b is the opposite of -w also in the latter's item
docs: mention that M-S now toggles softwrap and M-N line numbers
docs: put paths and filenames in italics, per 'man man-pages'
docs: remove all mention of --finalnewline, and undefault --nonewlines
docs: remove the AUTHOR section, per advice from 'man man-pages'
docs: re-title the temporary section about the changed defaults
feedback: replace an assert with a check plus error message at startup
feedback: show a message while executing an external command
feedback: spare the user a superfluous scaring when trying to exit
gnulib: update to its current upstream state
help: don't doubly list toggles that have two keys assigned to them
indenting, commenting: ensure a partial line stays displayed properly
justify: correctly compute the number of lines to take, to avoid a crash
options: make --nowrap override again a contrary nanorc setting
options: remove -f (--finalnewline); go back to auto-adding this newline
rcfile: don't break a chain of 'else if' [scan-build]
rcfile: read the syntax files in alphabetical order when globbing
speller: block the resizing signal again during an external spell check
speller: block the resizing signal also during an integrated spell check
speller: resizing can happen also when configured with --enable-tiny
syntax: c: color as a type any lowercase word that ends with "_t"
syntax: default: color in red also versions 4.x of nano
syntax: man: add comments, and color all the safe lowercase macros
syntax: man: anchor macros at start of line, as only then they are valid
syntax: man: require the dot to be at start of line, not the comment
syntax: nanorc: colorize also strings preceded by 'start=' or 'end='
syntax: nanorc: require whitespace both before and after a quoted string
tweaks: adjust the indentation after the previous change
tweaks: condense a bit of copying code
tweaks: consistently use .sp instead of .PP to insert a blank line
tweaks: do a check up front instead of every time round the loop
tweaks: don't bother copying the NUL byte -- it is set nine lines down
tweaks: don't bother reallocating the data when a line gets hard-wrapped
tweaks: don't bother reallocating the squeezed string, just terminate it
tweaks: don't bother special-casing non-UTF8 when seeking a character
tweaks: drop an assignment whose value is never used [scan-build]
tweaks: drop two 'const' qualifiers, to silence the compiler
tweaks: free some memory before a possible error exit [coverity]
tweaks: free the copy of a linter message in all cases [valgrind]
tweaks: free the result string from an invocation error [coverity]
tweaks: initialize a boolean before it is referenced [valgrind]
tweaks: put the unblocking of SIGWINCHes in a better place
tweaks: remove a function that is now unused
tweaks: remove an unneeded check for NULL and its associated message
tweaks: remove an unneeded check for NULL [coverity]
tweaks: remove an unpaired closing parenthesis from the NEWS file
tweaks: remove a superfluous check for NULL plus the associated message
tweaks: remove several unneeded bad-state checks and their messages
tweaks: rename a cryptic type to something that makes a little sense
tweaks: rename a function plus parameter, to stay closer to what it does
tweaks: rename another variable, to be more descriptive
tweaks: rename another variable, to be more fitting
tweaks: rename an overshort type to something that makes some sense
tweaks: rename a variable, to be more distinct and more apt
tweaks: rename a variable, to be more distinct and more descriptive
tweaks: rename a variable, to get out of the way for another rename
tweaks: rename some variables, for more contrast and to match others
tweaks: rename some variables, to be less repetitious
tweaks: rename two variables, for more contrast
tweaks: rename two variables, to be more distinct and more fitting
tweaks: rename two variables, to make more sense
tweaks: rename two variables, to match others
tweaks: reshuffle some lines, condense a comment and drop another
tweaks: reshuffle some lines, to elide an 'if'
tweaks: reshuffle two lines, and reword a comment
tweaks: reword a comment, and drop an unneeded assert
tweaks: shorten a comment to its essence
tweaks: shorten and improve some comments, and reshuffle a few lines
tweaks: simplify a message, and normalize the spelling of another one
tweaks: stop doing tandem assignments (one passing through the other)
tweaks: switch back from checking FINAL_NEWLINE to checking NO_NEWLINES
tweaks: use a signed type for a result that could be negative [coverity]
unindent: ensure that a partial line gets displayed properly afterwards
Brand Huntsman (1):
files: block the resizing signal while reading from an external command
Devin Hussey (1):
files: initialize a variable before referencing it
Liu Hao (1):
syntax: c: change the highlighting of preprocessor directives
Changes between v3.2 and v4.0:
------------------------------
Benno Schulenberg (190):
bindings: change the action of <Alt+Up>/<Alt+Down> to 'scroll linewise'
bindings: hard-bind ASCII code 0x08 (BS) to the backspace function
bindings: make the normal scrolling keystrokes work also in help viewer
bindings: provide usable shortcuts for prevword/nextword in tiny version
bindings: rename 'cutwordleft' to 'chopwordleft', and similar for right
browser, help: make <Bsp> page up also when terminfo mismatches terminal
browser: say "Close" instead of "Exit" for the ^X shortcut
browser: show the ^G item again in the help lines
build: eradicate the --disable-wrapping-as-root configure option
build: fix compilation when configured with --disable-utf8
build: use wget over https (instead of plain rsync) to fetch PO files
build: verify that 'pkg.m4' is available when building from git
bump version numbers and add a news item for the 4.0 release
copyright: update the years for significantly changed files
copyright: update the years for the FSF
copyright: update the years for the FSF in the documentation too
cutting: cover the corner cases where cut commands do not cut anything
cutting: give feedback when otherwise nothing happens
cutting: when ^K does not actually cut anything, do not add an undo item
display: account for horizontal scrolling when drawing the guide stripe
display: account for zero-width characters when reserving space for '>'
display: change the "$" continuation character to ">" and "<"
display: dot the stripe when it's in the last column, to defeat a VTE bug
display: ensure that spotlighted text is not treated as a prompt answer
display: highlight the ">"/"<" continuation characters in reverse video
display: represent half of a double-width character with "[" and "]"
display: scroll horizontally one column earlier
display: show "[" for half of two-column character also when softwrapping
display: show it in title bar when starting up in restricted mode
display: use non-breaking space instead of dot for VTE-bug workaround
docs: add notes to draw attention to the changed defaults
docs: adjust and extend the Pico-compatibility section in the manual
docs: adjust for the enhancement of the default quoting regex
docs: correct the descriptions of 'speller' and 'linter' functions
docs: deprecate the use of morespace, smooth, nonewlines, and nowrap
docs: describe breaklonglines, emptyline, finalnewline, jumpyscrolling
docs: describe the four new options (-b, -f, -j, -e)
docs: describe the new options -J, --guidestripe, and 'set stripecolor'
docs: harmonize the style of bindable-function descriptions
docs: mention nano's major features directly instead of referring
docs: mention that 'cutwordleft' is bound to <Shift+Ctrl+Delete>
docs: mention that --morespace and --smooth are obsolete and ignored
docs: mention that 'quotestr' enables the rewrapping of comment blocks
docs: mention three features in their proper place
docs: remove from the FAQ some items that are no longer relevant
docs: remove the mentioning of --disable-wrapping-as-root from the FAQ
docs: reword and reshuffle the description of --rawsequences
docs: say that --rebinddelete can correct both <Backspace> and <Delete>
docs: stop implying that nano wants to be fully compatible with Pico
docs: stop saying that --fill switches on automatic hard-wrapping
docs: suggest a setting for 'stripecolor' in the sample nanorc
docs: update the links in the FAQ to the mailing-list info pages
feedback: complete the removal of some superfluous words
feedback: make two error messages better match the option
feedback: remove some superfluous words from Undid/Redid messages
files: retain a Shift-selected region when switching between buffers
gnulib: update to its current upstream state
help, docs: say "Delete" when things don't go into the cutbuffer
help: don't advertise ^S and ^Q when --preserve is used
help: don't list the obsoleted -O and -S options in the --help output
help: don't list the unbound <Alt+Up> and <Alt+Down> in the tiny version
help: in the tiny version, don't list an option that is the default
help: reword the description of ^U to avoid the impression of "Undo"
help: reword the tags for deleting a word left and right
justify: correctly detect when we've reached end of buffer
justify: extend the quoting regex, to cover more types of comments
justify: move the check for a bad quoting regex to a better place
menus: don't show ^S and ^Q in the help lines in the tiny version
menus: move the paragraph-jumping functions from Search to Goto-Line
menus: put the ^T toggle in Search in the same position as in Goto-Line
menus: remove the ^Y and ^V shortcuts from the Search menus
new feature: option --guidestripe that shows a vertical guiding bar
options: actually rename --rebindkeypad to --rawsequences (-K)
options: add -b, --breaklonglines, the counterpart of --nowrap
options: add -e, --emptyline, the counterpart of --morespace
options: add -f, --finalnewline, the counterpart of --nonewlines
options: add -j, --jumpyscrolling, the counterpart of --smooth
options: disable hard-wrapping and automatic newlines by default
options: let --fill no longer imply automatic hard-wrapping
options: make -d (--rebinddelete) work without -K (--rebindkeypad)
options: make --rawsequences disable --mouse, to prevent entering junk
options: rename long version of -K from --rebindkeypad to --rawsequences
options: stop recognizing and ignoring -b, -e, -f, -j, and -q
options: stop recognizing and mentioning --quiet and 'set quiet'
options: warn when option -O or -S is given, and ignore them
prompt: trim a double-width character at the screen's edge
rcfile: add 'stripecolor' for changing the color of the guiding stripe
rcfile: add the options that correspond to -b, -f, -j, and -e
rcfile, docs: remove deprecated forms of two options and five bindables
rcfile: don't report an error when the globbing pattern matches nothing
rcfile: reject an attempt to bind ^[
rcfile: when a keystroke is rebound, don't bother unbinding it
rcfile: when an old flag is unset, set the corresponding new flag
rcfile: when rebound, DO unbind a keystroke from its earlier function
startup: check again for a Linux console after reading all files
startup: check that a backup directory is valid also when backups are off
startup: improve two error messages by mentioning the invalid operand
syntax: nanorc: stop coloring 'unset fill ...' as if it were valid
syntax: tcl: colorize comments normally, not with a background hue
text: turn the mark off when justifying, to not confuse an undo
tweaks: add a consistency check plus a corresponding warning
tweaks: add an alias for a string variable, so the code makes more sense
tweaks: add deprecation comments to the four superseded options
tweaks: add two comments, and reduce the scope of another variable
tweaks: adjust indentation after previous change, and rename a parameter
tweaks: adjust the indentation after the previous change
tweaks: avoid parsing the same character twice
tweaks: calculate the length of a completion word in a more direct way
tweaks: change do_para_end() to not step beyond end of paragraph
tweaks: condense a comment, and drop two others
tweaks: condense a couple of comments and rewrap a few lines
tweaks: condense a handful of comments
tweaks: condense and correct a comment
tweaks: condense and improve a couple of comments
tweaks: condense and improve a handful of comments, and rewrap two lines
tweaks: condense the logic of find_paragraph()
tweaks: condense two regexes in the Tcl syntax, and add a comment
tweaks: correct a comment typo, and trim a few other comments
tweaks: don't bother executing two functions that are empty
tweaks: don't bother special-casing non-UTF8 when checking for a blank
tweaks: don't bother trying to draw characters beyond the screen's edge
tweaks: don't bother zeroing the x position when doing a full justify
tweaks: don't pass a pointer when a boolean is expected
tweaks: elide a function that is called just once
tweaks: elide an unneeded intermediate variable
tweaks: elide a one-line function that is used just twice
tweaks: elide a parameter -- do the NULL checks in the caller
tweaks: elide a parameter that is always TRUE
tweaks: elide a tiny function by making a variable global
tweaks: elide a variable that is a copy of another
tweaks: elide two unneeded intermediate variables
tweaks: escape hyphens that must be hard hyphens in the man pages
tweaks: exclude the guide-stripe code from the tiny version
tweaks: hard-bind ASCII DEL in a slightly more economical way
tweaks: improve a comment, and add an intermediate variable for clarity
tweaks: improve a comment, to better match the changed code
tweaks: improve and condense some comments, and remove an unneeded one
tweaks: make an assignment only when the option is valid, like elsewhere
tweaks: move declaration of variable that does not need to be global
tweaks: move the character/word-deletion functions to a better location
tweaks: move the check for beginning-of-paragraph to a better place
tweaks: move the checks for git and gettext to a far earlier point
tweaks: reduce a bunch of repetitious comments to their essence
tweaks: reduce the scope of a variable, and rename it
tweaks: reduce the scope of two variables, and rename one of them
tweaks: reduce two parameters to a single one by summing them
tweaks: refer to the magic line as "magic line", not as "magicline"
tweaks: remove a superfluous check for a special case
tweaks: remove a superfluous incrementing and decrementing of a variable
tweaks: remove a variable that is no longer used
tweaks: remove two tag definitions that are no longer needed
tweaks: rename a function for aptness, and two variables for shortness
tweaks: rename a function, to be simpler and more accurate
tweaks: rename and invert a function, to avoid double negatives
tweaks: rename an overlooked variable from a single letter to a word
tweaks: rename a parameter plus a variable, and reshuffle an assignment
tweaks: rename a struct element, to make sense
tweaks: rename a symbol, to match its corresponding option
tweaks: rename a type, to make more sense
tweaks: rename a variable, because it also serves as "last line"
tweaks: rename a variable, elide another, and adjust two comments
tweaks: rename a variable, to be more distinct
tweaks: rename four functions, to make more sense
tweaks: rename some variables from a single letter to meaningful word
tweaks: rename some variables, to match others that have the same task
tweaks: rename three functions and two symbols, to match the new wording
tweaks: rename three variables, and reshuffle two declarations
tweaks: rename two parameters to be more descriptive
tweaks: rename two variables, to be less confusing
tweaks: rename two variables, to be more descriptive
tweaks: rename two variables, to indicate better what they mean
tweaks: renumber some FAQ items, to compensate for the deleted ones
tweaks: reorder some ifs, to reduce the average number of comparisons
tweaks: reshuffle a bit of code, to have the exit point near the end
tweaks: reshuffle a few lines, and condense some comments
tweaks: reshuffle and frob a couple of comments, and reindent two lines
tweaks: reshuffle some code, to require two fewer ifs
tweaks: reword the description of the disadvantages of Pico
tweaks: rewrap a line and improve a few comments
tweaks: schedule a call of edit_refresh() instead calling it directly
tweaks: slightly indent warnings and errors during the configure phase
tweaks: slightly reword, for esthetics of the resulting Info document
tweaks: split a variable into two, as they have different roles
tweaks: switch from checking MORE_SPACE to checking EMPTY_LINE
tweaks: switch from checking SMOOTH_SCROLL to checking JUMPY_SCROLLING
tweaks: switch from referencing NO_NEWLINES to referencing FINAL_NEWLINE
tweaks: switch from referencing NO_WRAP to referencing BREAK_LONG_LINES
tweaks: word some comments more concisely
undo: set the correct file size for a redo of a character deletion
utils: retire the fixbounds() function -- it is no longer needed
Brand Huntsman (1):
history: use an unfreed 'position_history' to avoid a possible crash
David Lawrence Ramsey (34):
display: correctly trim an overshooting character from a prompt answer
display: correct the logic for making room for the ">" character
display: properly handle double-width characters when spotlighting
display: properly trim double-width characters at the edit window's edge
display: show the guide stripe for double-width/multi-byte characters
docs: remove references to not being able to undo justifications
input: properly handle <Escape>s followed by a shifted Meta+letter
justify: handle the leading part when justifying a marked region
justify: initialize a variable before making use of its value
justify: put a mid-line marked region onto separate lines
justify: when justifying a marked region, strip whitespace after the lead
moving: make the generic paragraph movement functions work on any buffer
new feature: marked text gets justified into a single, new paragraph
options: exit on a bad quoting regex, instead of crashing later
text: hook the new justify mechanism up to the undo system
text: make do_justify() use the cutbuffer
text: make find_paragraph() work on any buffer
text: make justify_format() work on any buffer
text: make justify_paragraph() work on any buffer
text: prepare to make find_paragraph() work on any buffer
text: properly check again for no paragraphs after the current line
text: remove the old unjustify mechanism, to prepare for the new justify
tweaks: adapt find_paragraph()/justify_paragraph() for multiple quotes
tweaks: adjust indentation after the previous commit
tweaks: adjust some indentation after the previous change
tweaks: normalize the indentation, and remove unneeded braces
tweaks: remove unnecessary variable initializations
tweaks: rename a variable, to prepare for its new role
tweaks: split justify_paragraph() into three separate functions
tweaks: swap the names of the variables 'wrap_at' and 'fill'
tweaks: use proper variable types in the word-completion functions
undo: after undoing a cut, don't remove the magicline if we're on it
undo: set and check 'xflags' in a bitwise manner
undo: when undoing a cut, remove also the magicline if it added one
Changes between v3.1 and v3.2:
------------------------------
Benjamin Mintz (1):
syntax: python: do not highlight 'print' and 'exec' in Python 3
Benno Schulenberg (87):
bindings: allow using <Enter> to exit from the linter
bindings: allow using ^X to exit from the linter
bindings: drop M-| as a keystroke for 'cutwordleft' -- set it free again
bindings: in tiny version with help, don't show unfunctional M-◀ and M-▶
bindings: make <Alt+Up> and <Alt+Down> work also on a Linux console
bindings: make the linter separately accessible, through M-B by default
bindings: make the Shift+arrow keys work by default on more terminals
bindings: no longer bind F13 and F14 and F15
bindings: recognize ASCII DEL as backspace also in viewer and browser
bindings: recognize <Ctrl+Shift+Delete> also on a Linux console
bindings: rename 'prevhistory' to 'older' and 'nexthistory' to 'newer'
bindings: stop binding <Bsp> to do_backspace() in the browser menu
bindings: when implanting a string, make sure to use positive values
build: exclude scrolling functions only from tiny version without help
build: fix compilation again when configured with --enable-tiny
build: fix compilation when configured with --disable-multibuffer
build: verify that --enable-tiny compiles before allowing a release
bump version numbers and add a news item for the 3.1 release
debug: report for which modified editing keys ncurses has no keycode
display: correct a mistaken label in the help lines of the browser
display: ensure that the help lines are shown when in linting mode
display: let the title bar show when nano is in linting mode
display: show the cursor also in a help text (when --showcursor is used)
display: use a different color when showing a linting message
docs: document the slightly changed workings of the --view option
docs: give suggestions for alternative key bindings in the sample nanorc
docs: remove a no-longer-needed suggestion from the sample nanorc
docs: update the description of -R/--restricted, as it now reads nanorc
docs, usage: mention that --showcursor now covers help texts too
feedback: give proper message for ^R when combining --view & --restricted
gnulib: update to its current upstream state
help: add a relevant explanatory text for the linter
help: move the linter to the end, to restore pairing in the help lines
help: pull "Older" and "Newer" into view on an 80-column terminal
help: restore the blank line between manipulation and position stuff
help: show <PgUp> and <PgDn> instead of F7 and F8 for pagewise scrolling
help: show the keystroke <Ctrl+Shift+Delete> as "Sh-^Del"
linter: allow using <Ctrl+Up> and <Ctrl+Down> to jump to other message
linter: do not pause when there are no messages for unopened files
linter: for "first"/"last", reshow actual message after a short pause
options: --ignorercfiles is now available in restricted mode
options: let view mode activate "multibuffer" to allow viewing more files
speller: remove a pointless message -- it is never seen
startup: allow reading nanorc in restricted mode, to permit customization
syntaxes: remove several redundant end-of-line anchors from regexes
tweaks: add a comment, and correct an indentation
tweaks: add two more translator hints
tweaks: capitalize the word "nano" when at the start of a sentence
tweaks: change a bunch of URLs to use 'https' instead of 'http'
tweaks: condense a handful of comments, and drop an assert
tweaks: condense another bit of code
tweaks: define a symbol to make the code itself a little simpler
tweaks: don't bother asking ncurses for keycodes for shifted Left/Right
tweaks: drop a check for the needle (the search string) being empty
tweaks: drop the checking of two flags that can no longer be toggled
tweaks: elide a function that is used just once and is a oneliner
tweaks: elide a wrapper function that is no longer useful
tweaks: exclude word-deletion keystrokes from the tiny version
tweaks: fold a few pairs of regexes into each other
tweaks: group a series of related variables together
tweaks: improve two comments, and reshuffle a line for consistency
tweaks: include an extra function call only where it is needed
tweaks: move all the function keys to the end of the shortcuts list
tweaks: move some calls of edit_redraw() to where they are needed
tweaks: redefine MMOST to exclude MBROWSER, to simplify the bindings
tweaks: reduce some repetitious and superfluous comments to just one
tweaks: remove a check that was made redundant by the previous commit
tweaks: remove a now-unused parameter from four functions
tweaks: remove an unneeded check for NULL, and rename a parameter
tweaks: remove a stray file that was accidentally committed
tweaks: remove some old debugging code
tweaks: rename a bunch of variables, to make it clearer what they contain
tweaks: rename a flag, to match the name of the option
tweaks: rename a variable, to be a bit more fitting
tweaks: renumber a couple of symbols, and reshuffle a bit of code
tweaks: reorder some code to put backward motion before the forward one
tweaks: reshuffle a couple of conditions, to group things better
tweaks: reshuffle some conditions, putting the least likely one first
tweaks: reshuffle some lines to get standard order (first up, then down)
tweaks: reshuffle some lines, to put things in order of option name
tweaks: snip trailing whitespace that ended with a non-breaking space
tweaks: stop setting and requiring the Meta flag for special keycodes
tweaks: swap and reword two bullet points in the rnano manpage
tweaks: there is no reason to block SIGWINCHes while waiting for speller
undo: move another piece of checking to the two places that need it
undo: move some special checking code to the one place that needs it
wrapping: make the --fill option override 'set fill' again
Brand Huntsman (5):
bindings: hard-bind the zap function to M-Del (Alt+Delete)
display: make all dying messages end in a newline
linter: throttle "first"/"last" message on repeated key presses
new feature: a bindable 'zap', to erase text without changing cutbuffer
options: add --zap, that makes <Bsp> and <Del> erase a marked region
David Lawrence Ramsey (16):
display: do spotlighting as part of drawing the screen
docs: update rnano manpage, as -R/--restricted now reads nanorc
input: don't detect <Ctrl+Shift+Delete> on Linux console in tiny version
input: properly consume a modified Delete key also in the tiny version
input: properly recognize Alt+Delete when using -K/--rebindkeypad
input: recognize some escape sequences for <Shift+Delete>
speller: restore the mark coordinates slightly later
syntax: nanohelp: properly color the keystroke "Sh-^Del"
tweaks: don't define controldelete or controlshiftdelete in tiny version
tweaks: join two lines, and add a clarifying comment
tweaks: move the justifying of a single paragraph into its own function
tweaks: normalize the indentation of the shuffled code
tweaks: reshuffle some code to avoid several checks for having justified
tweaks: simplify by using a 'do/while' loop instead of 'while (TRUE)'
weeding: remove the 'active' parameter from spotlight()
wrapping: make relative fill values work again also for screen resizes
Changes between v3.0 and v3.1:
------------------------------
Benno Schulenberg (13):
bindings: bind ASCII DEL during startup instead of repeatedly at runtime
bindings: make ^H rebindable also on NetBSD, FreeBSD and macOS
bindings: when Ctrl+Shift+Delete has no keycode, don't use KEY_BSP
bump version numbers and add a news item for the 3.1 release
input: keep the cursor in edit window after message, also on NetBSD
input: recognize the sequences for Ctrl+Shift+Delete on xterm and urxvt
main: allow toggling all editor features when in view mode
suspension: don't try to show the cursor position when going to sleep
syntax: sh: let the header regex match also busybox shell scripts
tweaks: condense a bit of code
tweaks: remove a superfluous comment and a redundant assignment
tweaks: rename a variable to be special and distinct
tweaks: sharpen an optimization, to allow DEL to be a shortcut
Liu Hao (1):
search: disallow switching to the Replace prompt when in view mode
Changes between v2.9.8 and v3.0:
--------------------------------
Benno Schulenberg (113):
bindings: bind M-Q to 'findprevious' by default, and M-W to 'findnext'
bindings: hard-bind <Ctrl+Shift+Delete> to 'cutwordleft'
bindings: make ^Q and M-Q available also in the help viewer
bindings: move the noconvert toggle from the main to the insert menu
bindings: reassign the M-| keystroke to 'cutwordleft' by default
bindings: remove backup and new-buffer toggles (M-B, M-F) from main menu
bindings: remove the More-Space toggle entirely
bindings: remove the 'searchagain' function entirely
bindings: rename two bindable functions: copytext to copy, uncut to paste
bindings: unassign the M-? keystroke, to free it up for future use
build: add the release script to the repository
build: fix compilation again when configured with --enable-tiny
build: fix compilation when configured with --enable-tiny
build: verify that 'msgfmt' is available when building from git
bump version numbers and add a news item for the 3.0 release
chars: make the UTF-8 case ever so slightly faster by eliding an 'if'
chars: speed up the counting of string length for the plain ASCII case
chars: speed up the parsing of a character for the plain ASCII case
completion: when the cursor is not after a word fragment, say so
cut: concentrate the logic for clearing the cutbuffer mostly in one place
cutting: when deleting whole words, don't join lines unexpectedly
debug: add some code to time the performance of get_totsize()
docs: improve a comment about rebinding <Backspace>
docs: mention that also Ctrl increases the stride when selecting text
docs: mention that "normal" can be used to give things the default color
docs: mention that the 'formatter' command has been superseded
docs: reshuffle a bindable function to a slightly better position
docs: say that 'cutwordright' is now bound to <Ctrl+Delete> by default
docs: slightly reword the description of four bindable functions
docs: the 'noconvert' bindable function was renamed to 'flipconvert'
dropping a feature: remove the ability to use the 'formatter' command
easter: show the crawl only when there is room enough for the lines
files: add the file format on the status bar when switching buffers
filtering: wait for the data-sending process to terminate too
gnulib: update to its current upstream state
help: for ^R^X, mention that the buffer can be piped to the command
help: move "Search Again" away from "Find Next" and "Find Previous"
input: consume the whole escape sequence for modified PgUp and PgDn keys
input: fully consume modified PgUp and PgDn keys also in the tiny version
input: ignore any <Escape>s before a valid command keystroke
input: stop <Alt+Insert> from entering "3~" into the buffer
input: stop a modified Delete key from entering stuff into the buffer
mouse: put the row/column arguments in the proper order [coverity scan]
prompt: concentrate manipulations of 'statusbar_x' into a single file
prompt: remove redundant redrawings of the prompt bar
rcfile: allow to rebind the Cancel function in the yesno menu
rcfile, docs: no longer recognize nor mention 'set backwards'
rcfile: do not accept rebinding F0 nor function keys above F16
rcfile: ensure that in the yesno menu Cancel is bound to some keystroke
rcfile: explicitly check for disallowed keywords in included files
rcfile: reject things like "M-Del" and "^{" as invalid key names
rcfile: when a vital function is not mapped, mention in which menu
search: include 'findprevious' and 'findnext' in the tiny version
signals: don't call a print routine in a signal handler
speller: do not replace the text when the temporary file did not change
startup: don't overwrite rcfile error messages on a Linux console
startup: show the correct number of lines when opening multiple files
syntax: awk: recognize any {g,m,n,}awk script also by its shebang line
syntax: default: colorize also two-digit and capitalized nano versions
syntaxes: remove all traces of the 'formatter' command
syntax: nanorc: recognize 'yesno' as a valid menu to bind/unbind keys in
syntax: nanorc: show ^@ as validly rebindable, but not any ^digit
syntax: python: avoid coloring the three special values inside strings
text: add auto-whitespace to the file size after creating the undo item
tweaks: adjust indentation after the previous change
tweaks: adjust one more translator hint, for removed toggles
tweaks: adjust some translator hints for past changes, and add two more
tweaks: adjust two comments, to be more accurate and general
tweaks: avoid dereferencing a pointer when it is NULL [coverity scan]
tweaks: close a temp file only when descriptor is valid [coverity scan]
tweaks: correct a comment, rewrap a line, and drop some debugging stuff
tweaks: delete some old debugging code that no longer seems useful
tweaks: don't bother having debug code that deallocates all memory
tweaks: don't call va_start() without calling va_end() [coverity scan]
tweaks: drop a condition that has been made redundant two commits ago
tweaks: drop some old debugging code
tweaks: elide a bunch of unneeded constant strings
tweaks: elide a function that is used just once
tweaks: elide another function that is used just once
tweaks: elide an unneeded/duplicate variable
tweaks: elide a one-line function -- no, a half-line function
tweaks: elide a subfunction that is used just once
tweaks: exclude a global flagging variable when it is not needed
tweaks: exclude the file-prepending code from the tiny version
tweaks: fix a pasting error from a month ago
tweaks: implement the name-to-menu function in another manner
tweaks: improve a couple of comments in the sample nanorc
tweaks: improve a translator hint and some other comments
tweaks: move a call to where it will be executed [coverity scan]
tweaks: normalize the indentation after the previous change
tweaks: properly escape "\" in a man page and "@" in a texi document
tweaks: recognize escape sequences of modified Ins/Del more precisely
tweaks: reduce the counting of characters to just the needed function
tweaks: remove a redundant "struct" word, and replace it in comments
tweaks: remove a superfluous condition and a redundant refresh
tweaks: remove redundant braces and conditions after the previous change
tweaks: remove some braces that are now superfluous
tweaks: remove some ineffectual parts from header-line regexes
tweaks: remove the superfluous calls that reset the mbtowc() state
tweaks: remove two needless words, and split up a changed text further
tweaks: remove two superfluous assignments
tweaks: rename a constant, to match what it actually means
tweaks: rename a function and place its call better
tweaks: rename a function to better match its counterpart
tweaks: rename a function, to better state what it does
tweaks: rename a variable and a function, for more clarity
tweaks: rename a variable, to better match its task
tweaks: reshuffle some lines, in order to elide one
tweaks: reshuffle the order of the bindings, for help-line esthetics
tweaks: show "Space" and "Bsp" in the help text of the browser
tweaks: slightly improve error message when vital function is unmapped
tweaks: use a shorter message, because when the screen is small...
undo: differentiate between general filtering and spell checking
Brand Huntsman (4):
input: give feedback for all unbound keys also in the help viewer
statusbar: elevate three messages to an ALERT, to make them more visible
tweaks: correct four spaces of indentation to a tab, in two places
tweaks: remove the 'bright' field from the colortype struct
David Lawrence Ramsey (13):
bindings: make "n" work again in file browser and help viewer
bindings: make ^Q start a backward search also in the file browser
docs: mention that "Ins" and "Del" are valid rebindable keys
justify: verify being in a paragraph before trying to find its beginning
speller: hook up a full alternative spellcheck to the undo system
speller: hook up a marked-text alternative spellcheck to the undo system
speller: make replace_buffer() use the cutting functions directly
speller: make replace_marked_buffer() use the cutting functions directly
undo: actually enable undoing/redoing an alternative spellcheck
undo: always initialize the 'newsize' element in the undo struct
undo: position the cursor properly when undoing/redoing magicline cuts
undo: restore the cursor position when a cut and paste are paired
undo: store the correct cursor position after a paired cut+insert
Devin Hussey (2):
files: speed up reading by using getc_unlocked() instead of getc()
syntax: sh: recognize more file extensions and header lines
Marco Diego Aurélio Mesquita (1):
input: erase the next word when Ctrl is held while pressing Delete
Mark-Weston (2):
build: fix compilation when CC=tcc
syntax: lua: do not color strings inside comments, and add a linter
Changes between v2.9.7 and v2.9.8:
----------------------------------
Benno Schulenberg (64):
build: fix compilation failure when configured with --enable-tiny
build: fix compilation when configured with --disable-justify
build: fix compilation when configured with --disable-multibuffer
build: fix compilation with --enable-{tiny,help,multibuffer}
bump version numbers and add a news item for the 2.9.8 release
copyright: update the years for significantly changed files
credits: sort the names roughly according to amount of influence
docs: add a missing double quote in the default brackets string
docs: describe what constitutes a paragraph
docs: improve description of 'speller' and related bindable functions
docs: improve the description of --nonewlines, and properly sort it
docs: improve the description of the --autoindent option
docs: make quotes around regexes bold, as they are part of the command
docs: mark the filtering of text through an external command as done
docs: register Marco as the author of the filtering feature
docs: remove mention of the quotestr for when regex support is lacking
docs: remove quotes around the name of a syntax -- they are not needed
docs: thank Kamil for his bug fixes, and update an email address
docs, usage: make it clear that the argument of --quotestr is a regex
files: give feedback during writeout also when prepending or appending
filtering: pair the cut and the insert, so they can be undone together
gnulib: update to its current upstream state
justification: find the beginning of a paragraph in a better way
justification: limit the amount of recursion to prevent a stack overflow
justification: recognize indented paragraphs also without --autoindent
justification: when leading whitespace exceeds fill width, wrap anyway
linter: don't try to access absent stat info, as that gives a crash
linter: make sure that the margin is updated before displaying a buffer
linter: make sure the shortcuts bar will redrawn when exiting early
main: add "/" to the quoting regex, to allow justifying //-comments
main: interpret only a double slash (//) as quoting, not a single one
rcfile: don't crash when a bind to a string lacks the closing quote
startup: provide a hint for people unfamiliar with the ^char convention
syntaxes: condense and/or correct some extension regexes
syntax: makefile: color all keywords that GNU make recognizes
tweaks: adjust a translator hint
tweaks: avoid an unused-variable warning with --enable-tiny
tweaks: avoid a warning with --enable-{tiny,help,multibuffer}
tweaks: condense a comment, and elide an unneeded 'if'
tweaks: condense some repetitious comments, and check before assigning
tweaks: condense two statements into one, and elide a 'break'
tweaks: elide a function that is called just once
tweaks: elide another function that is called just once
tweaks: exclude an unneeded 'if' from the single-buffer version
tweaks: frob a couple of comments
tweaks: frob some comments, and rename two parameters to make sense
tweaks: give some continuation lines a more obvious indentation
tweaks: improve a couple of comments, and reshuffle a group of lines
tweaks: make better use of an existing variable
tweaks: make better use of an intermediate variable
tweaks: reduce the abundance of the word 'toggle' in the Info manual
tweaks: remove a superfluous assignment -- the lead length never changes
tweaks: remove two superfluous checks, after making one of them so
tweaks: rename a function, for more aptness and extra contrast
tweaks: rename a variable, for contrast, and improve two comments
tweaks: rename a variable, to give it some meaning
tweaks: rename two variables, to better fit their tasks
tweaks: reshuffle a condition, and adjust a comment and some indentation
tweaks: reshuffle a couple of assignments
tweaks: simplify the determining of the prefix for justified lines
tweaks: stop decreasing both the iterator and the limit of a loop
tweaks: use a more meaningful variable name, and avoid a distant 'else'
wrapping: use "smart" autoindenting only when hard-wrapping is enabled
wrapping: when autoindenting, use indentation of next line as example
Brand Huntsman (1):
tweaks: avoid two unused variable warnings when NLS is disabled
Cristian Caloghera (1):
syntax: makefile: recognize also an all-lowercase makefile name
David Lawrence Ramsey (3):
bindings: add the "flippipe" bindable function
tweaks: avoid an unused variable warning with --enable-tiny
tweaks: fix some grammar plus a typo in the comments
Marco Diego Aurélio Mesquita (2):
linter: check all open buffers, instead of just the next one
new feature: allow piping (selected) text to an external command
Changes between v2.9.6 and v2.9.7:
----------------------------------
Benno Schulenberg (21):
bindings: add the 'linenumbers' bindable function
bindings: rename constupdate to constantshow, cuttoend to cutfromcursor
bump version numbers and add a news item for the 2.9.7 release
docs: add notes about deprecated options and function names
docs: break down some old improvements further per version
docs: note a small difference with Pico in the default hard-wrapping
docs: say thanks to three recent translators, and re-sort two others
docs: slightly improve the description of the file browser in the manual
main: clear a spurious error number, to avoid irrelevant messages later
prompt: when asking for Yes/No/All, recognize also UTF-8 letters
scrolling: only do a scroll when the edit window has more than one row
signals: don't trap segfault/abort when envvar NANO_NOCATCH is defined
signals: exclude the crash handler from the tiny version
startup: suggest using ^D to finish reading from standard input
tweaks: improve a couple of comments
tweaks: normalize indentation and whitespace after previous changes
tweaks: put check for -h and -l options in their alphabetical positions
tweaks: put Yes/No/All in a consistent order (for the translators)
tweaks: rename two variables, to be more descriptive
tweaks: sort an option better, and reschedule a removal
tweaks: use symbolic names instead of puzzling TRUE and FALSE
Devin Hussey (1):
signals: upon a crash, save changed buffers and reset terminal state
Mark-Weston (1):
new feature: an option to make the 'nextword' function stop at word ends
Changes between v2.9.5 and v2.9.6:
----------------------------------
Benno Schulenberg (39):
build: do not prefix an alternative rcfilename with a dot
build: fix compilation when configured with --disable-help
bump version numbers and add a news item for the 2.9.6 release
command-execution: do not crash when opening the pipe would fail
completion: correctly do a signed comparison, to avoid a segfault
files: prevent a hang when a call to sigaction() would fail
formatting, linting: redetermine the argument list for every run
gnulib: update to its current upstream state
memory: use a reallocation to reduce the amount of leakage
prompt: recognize Yes/No/All in English when the locale gives no match
rcfile: skip color commands where some color name is invalid
scrolling: don't redraw entire edit window when cursor goes offscreen
search: always go forward by default, also when coming from Goto-Line
search: use a better value to mean "nothing was typed"
speller: don't add an extra newline when saving the text to a tempfile
syntax: po: highlight also other escaped characters, not just \n
syntax: sh: colorize options only when they are preceded by whitespace
tweaks: adjust the translator hint about Yes/No/All
tweaks: correct or improve a couple of comments
tweaks: elide a function that is called just once
tweaks: fix a typo, remove a blank line, and improve some comments
tweaks: frob a couple of comments
tweaks: group some more of the empty functions together
tweaks: improve some comments, and exit with nonzero status upon error
tweaks: improve the ordering of a couple of functions
tweaks: invert two conditions and reshuffle, to reduce duplication
tweaks: move a function to its proper location
tweaks: move a function to its proper location
tweaks: rearrange a few if statements more symmetrically
tweaks: remove the group handling for undoing/redoing (un)indents
tweaks: rename a function, to be more distinct from its caller
tweaks: rename a function, to be more fitting and descriptive
tweaks: rename a variable, for clarity
tweaks: rename a variable, to be a bit more fitting
tweaks: rename a variable, to be more clear and to match another
tweaks: rename a variable, to match another and to be more visible
tweaks: reshuffle two declarations
tweaks: set the correct flags just once for each spell-fixing session
tweaks: use meaningful names instead of puzzling values
Liu Hao (1):
replacing: always clear the backwards flag for ^\, just like for ^W
Changes between v2.9.4 and v2.9.5:
----------------------------------
Benno Schulenberg (45):
build: exclude more things when configured with --disable-multibuffer
build: fix compilation again when configured with --enable-tiny
build: fix compilation when configured with --disable-multibuffer
build: fix compilation with --enable-{tiny,help,multibuffer}
bump version numbers and add a news item for the 2.9.5 release
cut: avoid calling renumber() on what might be NULL
docs: clarify how the Linux console is deficient: in the arrow keys
docs: clarify what the scrollup and scrolldown bindable functions do
docs: document the newly added color name "normal"
docs: mention in the FAQ that <Shift+Insert> pastes from the clipboard
files: prevent an infinite loop when reading from standard input fails
files: prevent the undo of reading a file into a new buffer
help: describe the Scroll-Up and Scroll-Down commands more precisely
help: do not reserve space for line numbers, as they are absent
linting: drop messages for other files when configured for one buffer
memory: plug a leak, by actually freeing a discarded undo struct
scrolling: first move the cursor before pushing current chunk offscreen
scrolling: let Scroll-Up/Down keep the cursor in the same text position
selecting: don't cancel a softmark when just scrolling the screen
small addition: understand color name "normal" to mean the default color
syntax: sh: color also the 'cut', 'head', 'tail', and 'sort' commands
syntax: sh: color options distinctively, and color also long options
syntax: sh: uncolor "tar" when it's part of a filename
tweaks: adjust a couple of types, to reduce the number of warnings
tweaks: adjust or correct some comments, and rename a function
tweaks: adjust the indentation after the previous changes
tweaks: bundle some settings for a new buffer
tweaks: change a parameter of open_buffer() and invert its logic
tweaks: condense some code, to remove a bit of duplication
tweaks: drop a handful of unhelpful asserts
tweaks: elide an unneeded and shadowing variable
tweaks: elide a parameter, as it's always the inverse of another
tweaks: elide a parameter that is always 1
tweaks: elide two parameters and thus a pair of wrapper functions
tweaks: factor out the check for 'viewok' into its own function
tweaks: fix a typo and adjust some wording and formatting in the FAQ
tweaks: frob some comments plus miscellaneous other stuff
tweaks: fuse two ifs into one
tweaks: move an 'if' and then remove an unneeded label
tweaks: reduce the font size of the questions in the FAQ
tweaks: remove an inconsistent space from two pointer declarations
tweaks: remove unneeded settings and unsettings of MULTIBUFFER
tweaks: reshuffle some movement code, to reduce the number of conditions
tweaks: revert commit c88a2fd9 -- the extra variable is needed
tweaks: rewrap and amend some lines in the NEWS file
David Lawrence Ramsey (1):
tweaks: correct several parameter types
Kamil Dudka (1):
input: do not crash if sctofunc() returns NULL
Liu Hao (1):
build: fix compilation error when configured with --disable-justify
Changes between v2.9.3 and v2.9.4:
----------------------------------
Benno Schulenberg (65):
bindings: make a key defined as string work also in browser and viewer
bindings: rename the bindable function 'gototext' to 'flipgoto'
bindings: revert the ^/ changes, as ^/ is not always Go-To-Line
bindings: show ^/ instead of ^_ for Go-To-Line
build: fix compilation when configured with --enable-tiny
bump version numbers and add a news item for the 2.9.4 release
docs: mention that a key can be bound to a string
docs: note also in the Info manual that text can be selected with Shift
editing: when --smooth is used, make <Enter>-at-bottom scroll one row
general: detect in a better way whether we're running on a Linux console
gnulib: update to its current upstream state
goto: avoid a segfault, by initializing 'answer' when it is NULL
help: mention that some keys work on a region when the mark is on
help: tweak the descriptions of ^X and ^R
input: handle the implant() function separately also for the prompt
input: handle the implant() function separately, as it is special
memory: avoid a leak when toggling from Search to Goto
memory: squeal when there is something wrong, instead of stumbling on
new feature: allow binding a key to a string (in a nanorc file)
prompt: disallow pasting when in restricted mode
rcfile: allow a syntax name to be unquoted
search: clear the existing answer when starting a new search
search: get rid of some unneeded recursion when just toggling things
selecting: cancel the softmark upon any attempt to move the cursor
small addition: allow customizing the color of an error message
syntax: color also ^/ in nano's help texts and in nanorc files
syntaxes: remove quotes from each syntax name, and color it differently
syntax: nanorc: color also bindings to a string as valid
tweaks: adjust comments and indentation after the previous change
tweaks: adjust two comments, move two declarations, rewrap three lines
tweaks: appease valgrind concerning syscalls with uninitialized values
tweaks: condense a comment and elide an 'if'
tweaks: correct a typo in NEWS
tweaks: correct a typo that broke binding a key to a string
tweaks: do not needlessly renumber the lines in the buffer
tweaks: don't call strcmp() to determine whether a string is empty
tweaks: drop an assert, add a warning, and change a 'for' to a 'while'
tweaks: drop some debugging stuff, and adjust what remains of it
tweaks: elide another variable, to call a function less often
tweaks: elide an unneeded variable
tweaks: elide an unneeded variable
tweaks: elide an unneeded variable
tweaks: elide an unused variable and parameter
tweaks: elide two unneeded booleans
tweaks: exclude an unlikely error message from the tiny version
tweaks: exclude an unlikely warning from the tiny version
tweaks: fix a copy-and-paste error
tweaks: make the fsfromline() call only for the undo types that need it
tweaks: plug a memory leak when using Verbatim Input at a prompt
tweaks: refactor the implanting of a key expansion
tweaks: remove another superfluous check
tweaks: remove a superfluous check
tweaks: remove two deprecated options and six rebindable function names
tweaks: remove two superfluous checks, and restrict two others
tweaks: rename a parameter and a variable, to be more fitting
tweaks: rename a variable to be more distinct and greppable
tweaks: rename two variables, to be more meaningful
tweaks: reshuffle some code, to be slightly less ugly
tweaks: reshuffle some of the search-and-replace cleanup calls
tweaks: reshuffle the undo types into mostly the same order everywhere
tweaks: shorten the name of two record elements
tweaks: slightly rewrap the FAQ's table of contents
tweaks: transform a 'do' to a 'while', and reshuffle a comment
tweaks: unabbreviate two variable names
undo: when redoing, don't try to find a line number that might not exist
Brand Huntsman (1):
color: remove unneeded bright comparison to prevent duplicate pairs
David Lawrence Ramsey (3):
docs: mention that errorcolor does have default colors
input: don't stop prepending when the user adds text via a shortcut
tweaks: fix typo in rebindable function name
Tom Levy (1):
syntax: go: highlight also floats with leading zeroes as valid
Changes between v2.9.2 and v2.9.3:
----------------------------------
Benno Schulenberg (65):
build: fix compilation when configured with --enable(tiny,color,nanorc}
build: fix compilation with --enable-tiny --enable-justify
build: let ./configure fail (not just warn) when curses.h is missing
bump version numbers and add a news item for the 2.9.3 release
copyright: update the years for the FSF
display: wipe the status bar when doing a total refresh
docs: remove the note about needing a recent ncurses for macros to work
docs: update the FAQ for the changed default location of history files
docs: update the TODO file to the current state of affairs
gnulib: update to its current upstream state
help: don't get stuck when there is an unwrappable piece of text
input: consume only the actual length of an escape sequence
input: fully reset state when a three-digit character code is cut short
input: make <Shift+Tab> do an unindent also on a Manjaro console
input: recognize escape sequences for <Shift+PageUp> and <Shift+PageDown>
input: recognize more escape sequences for <Shift+Home> and <Shift+End>
input: recognize the deviant keycode for <Ctrl+End> in urxvt
options: recognize -M and --trimblanks on the command line
painting: look for an end match only after a start match, if any
prompt: show whitespace only in the filename, not in the whole line
replacing: don't skip the first character of a backwards-marked region
search: suppress the occurrence at the cursor only when replacing
startup: allow a named pipe as file argument when --noread is used
startup: make an error message succinct and to the point
startup: move the initialization of colors, so any error gets printed
syntax: go: colorize only valid octal numbers
syntax: lua: do not color debug.setinfo as it doesn't exist
syntax: nanohelp: color also the Sh-Tab key combo
tweaks: change a 'do' to a 'while', and return early to elide an 'if'
tweaks: check for the type of terminal far earlier
tweaks: condense a condition and a comment, and reshuffle a line
tweaks: condense and rewrap some comments, and reindent two lines
tweaks: condense the conditional compilation of shortcut reassignments
tweaks: don't bother freeing the key buffer, just reallocate it
tweaks: don't bother to reallocate when the keybuffer size decreases
tweaks: drop a superfluous parameter, as it is always 1
tweaks: drop a useless assert, and don't abort over an unhandled option
tweaks: drop two unneeded initializations, and trim a comment
tweaks: elide a tiny intermediate buffer, and rename two variables
tweaks: exclude --trimblanks when no wrapping or justifying is configured
tweaks: fully include Savefile and Wherewas in the tiny version
tweaks: indenting text files with tabs is not a good idea
tweaks: mark the two blocks that have a deviant indentation
tweaks: move a bunch of comments to the lines that they refer to
tweaks: move two functions to their proper place, orderingwise
tweaks: remove a fragment of dead code
tweaks: remove a handful of redundant (because always true) asserts
tweaks: remove a superfluous case -- there can never be four digits
tweaks: remove a superfluous check, as we insert always one code
tweaks: rename a function, for aptness, and drop a superfluous check
tweaks: rename a function, to be more distinct
tweaks: rename a variable, and further condense some comments
tweaks: rename a variable, for more contrast
tweaks: rename a variable, to better fit its usage
tweaks: rename two variables, and swap their declaration order
tweaks: rename two variables, for preciseness and shortness
tweaks: reshuffle a couple of lines
tweaks: reshuffle a couple of lines, to make a bit more sense
tweaks: reshuffle some stuff, and avoid a memory leak
tweaks: reshuffle two condition series, to look better
tweaks: rewrap a bunch of lines in the NEWS file
tweaks: set a modifier in a single place, for conciseness
tweaks: swap the row and col parameters to a more consistent order
tweaks: transform a parameter, from a pointer to the value itself
wrapping: don't trim a blank character that the user just typed
Brand Huntsman (1):
startup: parse interface colors when they are read, not when initialized
Changes between v2.9.1 and v2.9.2:
----------------------------------
Benjamin Mintz (1):
syntax: python: add 'async', 'await', and 'nonlocal' as keywords
Benno Schulenberg (62):
bump version numbers and add a news item for the 2.9.2 release
display: ensure that cursor is visible when compiled with --with-slang
docs: mention that the source code is best viewed with a tab size of 4
docs: say thanks to some fairly recent translators, and rename one
gnulib: pull in the fix for the missing stat include
gnulib: update to its current upstream state
help: show that "Tab" will indent, just like "Sh-Tab" will unindent
help: swap the order of the Complete and Comment functions
indenting: don't exclude last line of region when region is empty
indenting: keep affecting last line of marked region if it was at first
input: allow using <Tab> and <Shift+Tab> to (un)indent selected region
input: make <Ctrl+Shift+Arrow> work also when using --rebindkeypad
input: optimize a bit for non-shortcut keys, as they are most frequent
options: rename 'justifytrim' to 'trimblanks', because it has morphed
prompt: blank the bar when a "continue?" is answered with No or ^C
syntaxes: remove redundant word-boundary markers
syntax: javascript: add some comments, and color explicit numbers too
syntax: javascript: add some keywords, and sort them more logically
syntax: javascript: color strings differently from major keywords
syntax: javascript: require that a comment is preceded by whitespace
syntax: lua: condense some regexes, tweak comments, reorder things
syntax: nanorc: don't color parts of valid strings as if invalid
syntax: python: color also the special values 'False', 'None', 'True'
text: allow unindenting when not all lines are indented
text: keep cursor at left edge when it IS there when indenting/commenting
text: let a Shift-selection persist when indenting and commenting
text: let indenting/commenting skip the last line if its x is zero
text: set and reset the Modified state correctly when undoing/redoing
tweaks: add a separate function that actually wipes the status bar
tweaks: avoid incrementing a variable that won't be used again later
tweaks: condense or rewrap a bunch of repetitious comments
tweaks: condense, reword, and rewrap a bunch of comments
tweaks: condense some debugging code, and rewrap a line
tweaks: convert the indentation of the NEWS file too
tweaks: convert the indentation to use only tabs
tweaks: drop some old debugging code plus a superfluous comment
tweaks: elide two parameters from the get_region() function
tweaks: elide two variables that are used just once
tweaks: factor out a piece of common code
tweaks: fix some whitespace errors, and convert alignment tabs to spaces
tweaks: fold some regexes into one another, for conciseness
tweaks: frob four comments, and rewrap two lines
tweaks: invert the logic of a variable, and rename it
tweaks: limit the resetting of "Modified" to writing a full buffer
tweaks: move some frequently-used keystrokes to the top of the list
tweaks: remove a redundant call of renumber()
tweaks: remove a superfluous condition
tweaks: remove a superfluous placing of a terminating nul byte
tweaks: remove some unneeded parentheses, and shorten two function calls
tweaks: remove two irrelevant conditions
tweaks: rename three variables, for more contrast and variety
tweaks: reshuffle a bit of common code, moving it to an existing function
tweaks: reshuffle another bit of code, for conciseness
tweaks: rewrap some lines and some comments, and trim two others
tweaks: slightly rename four functions, for aptness and variety
tweaks: strip some debugging stuff, and condense a bit of code
tweaks: trim another placing of a terminating nul byte
tweaks: use for git the more faithful "less -x1,5" suggested by Brand
tweaks: use spaces for alignment also in the THANKS file
wrapping: delete trailing blanks upon hardwrapping, when requested
wrapping: keep prepending to the same next line as long as possible
wrapping: we're still on the same line if the next line has not changed
David Lawrence Ramsey (3):
input: support backtab when Slang and/or --rebindkeypad is used
tweaks: use printf's z modifier for (s)size_t, instead of casting
undo: when adding text adds a magicline, an undo should remove both
Liu Hao (1):
syntax: c: increase the color contrast of reminders like FIXME
Michael Francis (1):
syntax: php: function and variable names can contain uppercase and digits
Mike Frysinger (1):
syntax: javascript: add newer keywords and string syntax
Tom Levy (6):
syntax: go: fix word boundary before dot in number literal
syntax: go: sign of exponent in number literal is optional
syntax: lua: add new and missing standard library functions
syntax: lua: correct the word boundaries on standard library functions
syntax: lua: require at least one digit for hexadecimal numbers
syntax: lua: support fractional part and exponent for decimal and hex
Changes between v2.9.0 and v2.9.1:
----------------------------------
Benno Schulenberg (20):
build: fix compilation with --disable-browser --disable-tabcomp
bump version numbers and add a news item for the 2.9.1 release
files: always update the stat info when the entire file is written
files: save the marked region only when we've prompted for a file name
gnulib: update to its current upstream state
history: create the path '~/.local/share/' when it is needed
history: make nano's state directory accessible for the user only
history: save the positions file also when a record was deleted
input: make the macro key discoverable by giving feedback when undefined
linting: switch the mark off when the linter starts
selecting: do not cancel the softmark when the cursor is not moved
selecting: let a justification cancel a softmark
syntax: adjust the magic strings for the changes since file-5.10
tweaks: adjust indentation after previous change
tweaks: elide the 'mark_set' boolean -- the 'mark' pointer is enough
tweaks: rename, rewrap, and reshuffle some stuff, and frob some comments
tweaks: reshuffle a couple of lines, and frob a comment or two
tweaks: reshuffle a couple of lines, to put similar things together
undo: clear the Modified state when the very first edit is undone
undo: discarding the stack does not always lose information
Changes between v2.8.7 and v2.9.0:
----------------------------------
Benno Schulenberg (103):
bindings: don't allow calling help when searching in the help viewer
bindings: make ^Q and ^S do something useful by default
bindings: make the search function rebindable again in help and browser
bindings: make ^W start always a forward search (as there is ^Q now)
browser: place the cursor properly on the selected file when -g is used
build: let git ignore also the generated PDF file
bump version numbers and add a news item for the 2.9.0 release
copyright: update some years, and standardize on the dashed format
display: keep the cursor switched on when resizing the screen
display: rework the switching on and off of the cursor
display: stop the help viewer from turning on the multibuffer indicator
display: switch off the cursor early on during startup
docs: make it clearer that a Signed-off-by is wanted on patches
docs: mention that macros work correctly only on terminal emulators
docs: remove another remark about indenting lacking undo capability
docs: update references to the nanorc files for the XDG changes
files: avoid an abortion when executing a command in a new buffer
gnulib: update to its current upstream state
help: don't fall back to other syntaxes if there is no nanohelp one
history: after loading the lists, mark them as unchanged
history: remove the migration service for the old searches file
input: recognize Option+Arrow keys on iTerm2 in "xterm mode"
moving: don't slither and slide over tabs when they are overlong
moving: prevent the cursor sticking on or skipping over overwide tabs
new feature: a bindable function that starts always a backward search
options: remove '--quiet' and 'set quiet', because they hide problems
options: retire 'set backwards' -- it's still recognized but a no-op
organization: move all history-related stuff to its own file
ouch: set the positions-file name also when using the legacy state dir
painting: evade an ncurses bug by adding the A_PROTECT attribute
search: suppress the "not found" message when replacements were made
search: suppress the "Search Wrapped" message when doing replacements
search: wipe reassuring feedback as soon as searching has finished
startup: don't ask the user to press Enter upon an rcfile error
startup: don't produce more than three consecutive beeps
startup: when an rcfile contains errors, report this on the status bar
syntax: default: use colors that are readable also on dark backgrounds
titlebar: don't reshow version when dropping back to a single buffer
titlebar: don't show nano's name and version when in the file browser
titlebar: drop the prefix "File: " from before the filename
tweaks: add a translator hint, and adjust two others
tweaks: adjust a comment, and condense a fragment of code
tweaks: adjust indentation and comments after the previous change
tweaks: adjust two comments, and correct and a few cosmetic mistakes
tweaks: avoid an unused-variable warning with --disable-nanorc
tweaks: change some mayday messages, to urge the user to report a bug
tweaks: change the arrows to triangles also for searching in file browser
tweaks: change the help-text arrows to triangles, to be more visible
tweaks: chuck a bunch of asserts -- they have lost their usefulness
tweaks: chuck an assert, and then condense the code and a comment
tweaks: constify the result strings of getenv(), as a reminder
tweaks: correct two minor things in the documentation
tweaks: discard another set of useless asserts
tweaks: discard some obsolete debugging stuff
tweaks: don't construct the positions-history filename time and again
tweaks: drop a bunch of outdated asserts
tweaks: drop the ineffective cgitrc -- sorting by "age" does not work
tweaks: elide a comment, and improve a couple of others
tweaks: elide an unneeded check
tweaks: elide an unneeded function now that stuff is grouped together
tweaks: elide a superfluous allocation
tweaks: elide two variables by using a pointer instead of an index
tweaks: fix compilation when configured with --disable-histories
tweaks: fix compilation when configured with --enable-tiny
tweaks: fix compilation with --enable-tiny --enable-histories
tweaks: frob a couple of comments
tweaks: frob some comments and rename a few variables and a function
tweaks: get rid of some cluttering conditional compilation
tweaks: improve some comments, and rename a variable for symmetry
tweaks: make the switching on and off of the cursor a bit more compact
tweaks: move a general function to the utils.c file
tweaks: reduce a bit of code duplication
tweaks: remove a comment from the docs that is no longer accurate
tweaks: remove another bit of conditional compilation
tweaks: remove a superfluous no-op function call
tweaks: remove a useless prefix from a hundred constants
tweaks: rename a function and swap its two parameters
tweaks: rename a function plus two parameters, to be more fitting
tweaks: rename a macro, to make a little more sense
tweaks: rename a variable, to avoid a possible confusion
tweaks: rename a variable, to make more sense
tweaks: rename one variable once more
tweaks: rename some constants, to follow the same underscoreless scheme
tweaks: rename three functions, to be shorter or clearer
tweaks: rename three variables, for more contrast
tweaks: rename two variables, for contrast, and frob some comments
tweaks: rename two variables, to be more indicative of what they do
tweaks: rename two variables, to make a little more sense
tweaks: reshuffle a bit of code and elide an unneeded variable
tweaks: reshuffle a couple of lines, and trim some comments
tweaks: reshuffle some code, and rename a variable
tweaks: reshuffle some code in order to elide a variable
tweaks: reshuffle some regexes, for order and compactness
tweaks: strip four unneeded checks
tweaks: transform the token DISABLE_COLOR to ENABLE_COLOR
tweaks: transform the token DISABLE_EXTRA to ENABLE_EXTRA
tweaks: transform the token DISABLE_HISTORIES to ENABLE_HISTORIES
tweaks: transform the token DISABLE_JUSTIFY to ENABLE_JUSTIFY
tweaks: transform the token DISABLE_OPERATINGDIR to ENABLE_OPERATINGDIR
tweaks: transform the token DISABLE_SPELLER to ENABLE_SPELLER
tweaks: transform the token DISABLE_WRAPJUSTIFY to ENABLED_WRAPORJUSTIFY
tweaks: transform the token DISABLE_WRAPPING to ENABLE_WRAPPING
tweaks: use mnemonic constants instead of TRUE and FALSE
Brand Huntsman (3):
bindings: allow exiting from the help viewer with F1, like with ^G
history: prevent overwriting of positions between multiple instances
syntax: nanohelp: colorize Up, Down, Left and Right (when not in UTF-8)
David Lawrence Ramsey (18):
build: add history.c to the list of files with translatable strings
display: don't cut off zero-width characters at the end of a chunk
docs: describe the bindable functions 'recordmacro' and 'runmacro'
docs: document the more everyday names of three bindable functions
docs: remove man page reference to indent/unindent lacking undo/redo
files: don't change file format when inserting into an existing buffer
help: allow firstline and lastline to work at the search prompt
history: fix the check for an existing $HOME/.nano/ directory
moving: set the preferred column properly when doing a smart home
search: don't bother saving and restoring the search direction
search: trim a failed search string for width instead of length
softwrap: break before multi-column Unicode blanks when they overshoot
syntax: nanorc: properly color valid arguments of 'selectedcolor'
text: hook up indenting and unindenting to the undo/redo code
text: move the indenting of a single line into its own function
text: move the unindenting of a single line into its own function
tweaks: use printf's z modifier for most of the size_t/ssize_t types