Changes between v7.1 and v7.2: ------------------------------ Benno Schulenberg (11): bindings: let ^/ toggle between the 'search' and 'gotoline' menus bump version numbers and add a news item for the 7.2 release copyright: update the years for the FSF docs: give ^K and ^U some useful function in the alternative bindings docs: put the binding of ^Y after its unbinding, for it to be effective gnulib: update to its current upstream state input: disallow bracketed pastes when in view mode syntax: html: colorize specially the other two emphasizing tags too tweaks: avoid warnings when compiling with -Wpedantic tweaks: rewrap an old news item tweaks: separate a special thanks from the preceding ones Changes between v7.0 and v7.1: ------------------------------ Benno Schulenberg (8): build: fix compilation when configured with --disable-comment bump version numbers and add a news item for the 7.1 release copyright: update the last year for significantly changed files docs: say thanks to the Albanian translator rcfile: report an error when an included file does not exist text: upon Enter, eat only lefthand blanks, not any other characters tweaks: avoid passing NULL to access() tweaks: wrap overlong lines in the Tcl syntax, to make them manageable Changes between v6.4 and v7.0: ------------------------------ Benno Schulenberg (94): build: add options --disable-formatter and --disable-linter to configure build: exclude some pieces that are not needed with --disable-nanorc build: exclude two unneeded functions correctly from the tiny version build: fix compilation when configured with --enable-tiny bump version numbers and add a news item for the 7.0 release completion: search through all open buffers for possible completions docs: clarify the distinction between binding a function and "{function}" docs: describe --disable-formatter and --disable-linter configure options docs: explain how to include a double quote plus space in a nanorc regex docs: improve the legibility of an itemized list docs: mention in the man page how M-V can insert any Unicode code point docs: mention that string binds may contain function names between braces docs: replace control codes in the examples with {command} cartouches docs: suggest a key binding for snipping trailing blanks execute: show "Cancelled" instead of "Error" when the user hits ^C extra: use the whole terminal for the crawl, and quicken it a bit feedback: suppress undo/redo messages when option --zero is in effect files: before sending data to an external command, decode LF back to NUL files: improve the error handling when executing an external command filtering: terminate also the sender process when the user hits ^C filtering: when returning to a line number, ensure it is within range gnulib: update to its current upstream state goto: don't center the current line when the user specified a column only help: don't show the New-Buffer toggle when in view mode help: move the M-Del item up, so that M-PgUp and M-PgDn are paired help: prioritize the unshifted Meta keystrokes for buffer switching input: allocate a small keystroke buffer, and never free it input: allocate two small character buffers too, and never free them input: give up when the capacity of the keystroke buffer overflows input: interpret commands of the form {functionname} inside string binds memory: avoid a leak when a string bind specifies an unknown menu prompt: allow rebinding also ^N, ^Q, and ^Y at the yes-no prompt prompt: ingest queued characters before handling any subsequent function prompt: prevent execution of inadmissible functions in view mode prompt: return FALSE for non-editing functions also in the tiny version prompt: toggle the help lines only for the 'nohelp' toggle search: skip a match on the magic line, as it is a just convenience line startup: ensure that +/string centers the match also with --linenumbers startup: for +/string, center the found occurrence when possible startup: quit when standard input is not a TTY (after handling arguments) startup: report an empty search string also when there is a modifier syntax: nanorc: colorize valid function names plus surrounding braces tweaks: add parentheses for consistency, and reshuffle for conciseness tweaks: allow the linter to be used in view mode, as it makes no changes tweaks: attribute some of the features that were added in the last years tweaks: avoid iterating over the same string twice in a row tweaks: avoid sometimes calling a function three times in a row tweaks: check the multiline regexes only for Delete and Backspace tweaks: condense a comment, add two small ones, and reshuffle a line tweaks: delete a flag that is no longer used tweaks: determine in another way whether a shortcut is okay in view mode tweaks: discard a bracketed paste in the browser more efficiently tweaks: don't use a pointer when the value itself is all that is needed tweaks: drop an unneeded check for permissibility of prompt shortcuts tweaks: drop a parameter that is no longer used tweaks: drop shunting of flags by calling the needed function directly tweaks: elide a function that does not need to be a separate function tweaks: elide an assignment by iterating with the target variable tweaks: elide an intermediary variable that is no longer needed tweaks: elide an unused parameter tweaks: elide an unused return value tweaks: elide a parameter by moving the general case one level up tweaks: elide a variable, rename another, and reshuffle an assignment tweaks: fold two cases together, because they basically do the same tweaks: group the special keycodes for implanted strings together tweaks: improve two comments, and exclude two unneeded prototypes tweaks: make the crawl use the whole screen also in the tiny version tweaks: make two error messages more succinct and easier to translate tweaks: move the arrays of menu names and symbols to where they are used tweaks: move the --magic option up, so that --zero comes last tweaks: move to a given line number more efficiently tweaks: move two checks plus corresponding calls to a better place tweaks: normalize the indentation after the previous change tweaks: reduce four variations of a message to a single common form tweaks: rename a macro for clarity, and normalize some indentation tweaks: rename a variable, away from an abbreviation tweaks: rename two record elements and three parameters, for clarity tweaks: replace sizeof(char) with 1, as that is assumed anyway tweaks: reshuffle a declaration, and correct the wording of a comment tweaks: reshuffle a line, to group things better tweaks: reshuffle some code and drop some comments, for conciseness tweaks: reshuffle some code, to not determine a shortcut twice tweaks: reshuffle some lines, to be more readable instead of compact tweaks: reshuffle two lines, for conciseness and in preparation tweaks: reword and/or condense four comments tweaks: rewrap line, improve wording, and correct typo in old news item tweaks: rewrap some lines, drop a redundant call, and reshuffle a line tweaks: simplify a function now that a Unicode code can be typed quicker tweaks: simplify a pasting routine, modelling it after the injection one tweaks: use an auxiliary variable to avoid dereferences of 'shortcut' undo: make sure the current line is defined before it is referenced verbatim: allow the user to finish Unicode input with or verbatim: do not overwrite the status bar when the code is invalid verbatim: don't show dots during Unicode input, as they give wrong idea Changes between v6.3 and v6.4: ------------------------------ Benno Schulenberg (24): bump version numbers and add a news item for the 6.4 release display: remember text and column positions when softwrapping a line docs: concisely describe how the linter behaves docs: remove the two notices about the changed defaults docs: rename README.GIT to README.hacking, so it's clearer what is meant docs: stop mentioning the obsoleted keywords that were removed files: designate the root directory with a simple "/", not with "//" formatter: instead of leaving curses, use full_refresh() to wipe messages gnulib: update to its current upstream state help: reshuffle two shortcuts so that more help-line items are paired options: stop accepting -z, as --suspendable has been dropped too rcfile: remove five obsolete or deprecated keywords syntax: default: do not colorize a square or angle bracket after a URL syntax: perl: add missing keywords, and reduce the length of some lines syntax: python: mention an alternative linter in a comment tweaks: add a missing word to a news item tweaks: add a translator hint tweaks: improve a comment, and reshuffle two functions plus some lines tweaks: put each regex on separate line, to better show many keywords tweaks: rename a variable, to not be the same as a function name tweaks: rename two variables, to not contain the name of another tweaks: reshuffle a description and rewrap another tweaks: reshuffle a few lines, to group things better version: condense the copyright message, to not dominate the output LIU Hao (1): build: ignore errors from `git describe` Changes between v6.2 and v6.3: ------------------------------ Benno Schulenberg (41): build: add the --disable-maintainer-mode option to ./configure build: fix compilation for --enable-{tiny,nanorc,color} build: fix compilation when configured with --disable-color build: remove an obsolete check -- the dependent code was deleted bump version numbers and add a news item for the 6.3 release display: suppress spotlight yellow and error red when NO_COLOR is set docs: add an example binding for copying text to the system clipboard execute: clear an anchor only when the whole buffer gets filtered execute: don't crash when an empty buffer is piped through a command execute: stay on the same line number when filtering the whole buffer feedback: show extra warning when writing failed due to "No space left" files: do not change to a higher directory when the working one is gone files: show a warning when the working directory is gone (when used) files: when the working directory exists, still check its accessibility filtering: close all output descriptors, so that 'xsel' will terminate formatting: change cursor position only after saving it in the undo item gnulib: pull in the workaround for a build problem on NetBSD gnulib: update to its current upstream state justify: stay at the same line number when doing a full justification painting: colorize text also after an unterminated start match painting: look for another start match only after the actual end match painting: recalculate the multidata when making large strides or changes painting: stop coloring an extremely long line after 2000 bytes painting: tighten the check for a lacking end match on a colored line syntax: xml: colorize /> properly, and colorize prolog tags differently syntax: xml: colorize user-defined entities differently tweaks: avoid a function call when two plain assignments will do tweaks: change the indentation of a list, to match other indentations tweaks: don't leave an orphaned temporary file behind when writing fails tweaks: elide an unneeded call of strlen() tweaks: exclude the extra truncation warning from the tiny version tweaks: make the triggering of the recalculation of multidata less eager tweaks: move the saving and restoring of flags to where it is needed tweaks: normalize the indentation after the previous change tweaks: prevent the adding of an unwanted newline in a different way tweaks: remove redundant braces, and add two translator hints tweaks: remove some stray spaces before a comma tweaks: simplify a bit of code, eliding two labels and three gotos tweaks: simplify a fragment of code, and fold two lines together tweaks: trim a few comments, rename a function, and reshuffle some code verbatim: with --zero, keep cursor in viewport when it was on bottom row Mike Frysinger (1): general: fix building for Windows Changes between v6.1 and v6.2: ------------------------------ Benno Schulenberg (14): bump version numbers and add a news item for the 6.2 release display: suppress the bottom-bar wiping only when the user is editing linter: adjust the parsing to accommodate for a modern 'pyflakes' syntaxes: fold a couple of regexes together, and improve a few comments tweaks: change the type of a variable, to avoid a compiler warning tweaks: consistently backslash-escape the dash in M-letter keystrokes tweaks: rename a misnamed variable tweaks: rename a variable, reshuffle five lines, and snip two comments tweaks: rename a variable, to be more correct, and adjust two comments tweaks: rename a variable, to be more fitting tweaks: rename two more variables, and drop unneeded initializations tweaks: rename two variables (to get rid of a prefix), and elide a third tweaks: store a result, to avoid calling a function twice tweaks: use an intermediate variable, to avoid using one for two purposes 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 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 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 (' 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 , 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 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 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 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 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 on the keypad from entering spurious letter bindings: stop supporting 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 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 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 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 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 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 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 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 / 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 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 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 and 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 and 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 s followed by a shifted Meta+letter justify: handle the leading part when justifying a marked region justify: initialize a variable before making use of its value justify: put a mid-line marked region onto separate lines justify: when justifying a marked region, strip whitespace after the lead moving: make the generic paragraph movement functions work on any buffer new feature: marked text gets justified into a single, new paragraph options: exit on a bad quoting regex, instead of crashing later text: hook the new justify mechanism up to the undo system text: make do_justify() use the cutbuffer text: make find_paragraph() work on any buffer text: make justify_format() work on any buffer text: make justify_paragraph() work on any buffer text: prepare to make find_paragraph() work on any buffer text: properly check again for no paragraphs after the current line text: remove the old unjustify mechanism, to prepare for the new justify tweaks: adapt find_paragraph()/justify_paragraph() for multiple quotes tweaks: adjust indentation after the previous commit tweaks: adjust some indentation after the previous change tweaks: normalize the indentation, and remove unneeded braces tweaks: remove unnecessary variable initializations tweaks: rename a variable, to prepare for its new role tweaks: split justify_paragraph() into three separate functions tweaks: swap the names of the variables 'wrap_at' and 'fill' tweaks: use proper variable types in the word-completion functions undo: after undoing a cut, don't remove the magicline if we're on it undo: set and check 'xflags' in a bitwise manner undo: when undoing a cut, remove also the magicline if it added one ====================================================================== For older changes, see in https://ftp.gnu.org/gnu/nano/nano-5.0.tar.xz ======================================================================