ChangeLog (97053B)
1 Changes between v8.4 and v8.5: 2 ------------------------------ 3 4 Benno Schulenberg (44): 5 anchor: change the aspect of any anchor to a dagger (†) 6 bindings: always bind ^Q in the WriteOut menu, not only for --saveonexit 7 bindings: do not list ^L twice (in main help text and help lines) 8 bindings: let ^L just center the cursor, not cycle it -- let M-% cycle it 9 bindings: lowercase an ASCII character in a locale-proof manner 10 build: fix compilation for config with --enable-tiny --enable-histories 11 build: fix compilation when configured with --disable-histories 12 build: fix compilation when configured with --disable-utf8 13 build: swap two linker arguments, to enable compilation on Cygwin 14 bump version numbers and add a news item for the 8.5 release 15 docs: add a suggested key combo for wiping all anchors to sample nanorc 16 docs: in cheatsheet, equalize the spacing in three consecutive blocks 17 docs: mention that --positionlog also saves the positions of anchors 18 docs: reword the descriptions of --operatingdir and 'set operatingdir' 19 feedback: change the appearance of anchors when they will be saved 20 feedback: change the level of a certain message, to show it is special 21 feedback: report the setting and removing of an anchor just once 22 feedback: show in mini bar the presence of an anchor on the cursor line 23 feedback: suppress "Jumped to anchor" when line numbers are active 24 feedback: suppress "Removed anchor" when the mini bar is hidden 25 gnulib: pull in the fix for a cross-compilation failure 26 gnulib: update to its current upstream state 27 history: always save the last cursor position, also for line=1,column=1 28 history: always save the positions of any anchors 29 history: reverse the order in the file-positions list, to latest first 30 menus: reshuffle an item, to avoid truncating its help-line label 31 moving: make cycling (M-%) independent from centering (^L) 32 new feature: exit with an error status (2) for ^X^Q and ^O^Q 33 new feature: save and restore anchors when the first line has an anchor 34 options: accept --whitespacedisplay and 'set whitespacedisplay' 35 syntax: default: show hard spaces with a lightgrey background 36 syntaxes: add a license line to files that were created by Mike Frysinger 37 syntaxes: use character classes instead of range expressions 38 tweaks: avoid using toupper() and tolower() where easily possible 39 tweaks: elide an auxiliary variable that is no longer needed 40 tweaks: elide the unneeded passing around of three parameters 41 tweaks: elide the unneeded use of an auxiliary function 42 tweaks: in the browser, implement M-\ and M-/ in a slightly denser way 43 tweaks: properly tag some keywords in texi doc, instead of using quotes 44 tweaks: random unimportant edits here and there 45 tweaks: rename 'use_utf8' to 'using_utf8', and make it a global variable 46 tweaks: shorten a URL, and update it to use https 47 tweaks: use reallocations, instead of new allocations plus frees 48 tweaks: use the correct modifier, to avoid a warning on 32-bit machines 49 50 Peter Michaux (1): 51 build: add the 'm4/host-cpu-c-abi.m4' file to .gitignore 52 53 54 Changes between v8.3 and v8.4: 55 ------------------------------ 56 57 Benno Schulenberg (40): 58 bump version numbers and add a news item for the 8.4 release 59 copyright: update the years for the FSF 60 docs: add a suggestion to the FAQ on how to configure nano for git 61 docs: change two interface colors in the sample nanorc 62 docs: improve the description of the `constantshow` bindable function 63 docs: in the FAQ, replace an old item with an item about Byte Order Marks 64 docs: replace a word that is better not used in the plural 65 docs: use proper emdashes instead of double hyphens: "--" => "\(em" 66 execute: retain what the user typed before a tool was invoked 67 feedback: warn when the cursor sits on a Byte Order Mark (BOM) 68 gnulib: update to its current upstream state 69 input: adjust file browser and help viewer for changed bracketed pastes 70 input: implement bracketed pastes in a different manner 71 input: make bracketed paste more robust against loss of closing sequence 72 input: remove a special-case workaround 73 input: remove single-keycode detection from the bracketed-paste routine 74 input: robustness is good, but dropping a key code is not a good idea 75 input: wait a bit for "~" when bracketed-paste sequence is incomplete 76 prompt: accept tabs in an external paste as literal tabs 77 prompt: beep when an external paste contains a command code 78 syntax: groff: highlight the zeroeth macro argument too 79 syntax: man: highlight some escapes, like \& and \(em, specially 80 syntax: po: colorize also a 'msgctxt' line, and the 'c++-format' flag 81 syntax: po: colorize also format specifiers like "%.6f" 82 syntax: po: colorize also format specifiers like "%<PRIu64>" 83 syntax: po: colorize also Python's "%(name)x" format specifiers 84 syntax: po: colorize also the %llu and %hhi format specifiers 85 syntax: po: colorize also the Python-specific conversion specifier "%r" 86 tweaks: add a translator hint for the three changed file-writing prompts 87 tweaks: add missing closing quotes, as reported by `mandoc -T lint ...` 88 tweaks: avoid running tolower() on an out-of-range value 89 tweaks: change the man-page markup of options that take an argument 90 tweaks: condense a fragment of code 91 tweaks: consistently use "\fR" for switching back to normal, roman font 92 tweaks: prevent some color keywords from getting hyphenated in man page 93 tweaks: prevent some more keywords from getting hyphenated 94 tweaks: remove an unwanted newline from a debugging message 95 tweaks: remove three redundant pairs of parentheses from a nanorc regex 96 tweaks: remove two commented-out lines and two unused variables 97 tweaks: swap two fragments of code, to allow unwrapping a line 98 99 Brand Huntsman (1): 100 files: improve the wording of the normal file-writing prompts 101 102 103 Changes between v8.2 and v8.3: 104 ------------------------------ 105 106 Benno Schulenberg (16): 107 build: fix a compilation error with gcc-15 108 bump version numbers and add a news item for the 8.3 release 109 docs: add Shift+PgUp/PgDown to the FAQ item about urxvt modified keys 110 docs: clarify the possible effects of a misuse of braced function names 111 docs: put a space after "|" and before "{enter}" in the sample nanorc 112 gnulib: update to its current upstream state 113 syntax: groff: correct the mistaken .rof extension to .roff 114 syntax: groff: recognize also the .mom extension 115 syntax: makefile: colorize also multiple targets 116 syntax: markdown: accept also digit 0 in a list marker 117 syntax: spec: colorize all canonical architecture names 118 tweaks: add a small clarifying comment 119 tweaks: add a translator hint 120 tweaks: adjust another translator hint, and add two more 121 tweaks: adjust a translator hint, and add another one 122 tweaks: drop six unneeded casts 123 124 LIU Hao (1): 125 syntax: asm: add end-of-word anchors to the keywords 126 127 Lukáš Zaoral (1): 128 memory: avoid a leak when linter aborts after producing parsable output 129 130 131 Changes between v8.1 and v8.2: 132 ------------------------------ 133 134 Benno Schulenberg (22): 135 bindings: at a Yes-No-All prompt, accept also ^A for "All" 136 bindings: let the central numpad key (with Ctrl) center the current line 137 bump version numbers and add a news item for the 8.2 release 138 docs: do not quote the argument of 'include' statements in sample nanorc 139 docs: mention former maintainership last among an author's contributions 140 docs: mention the availability of ^Y, ^N, and ^A at a Yes-No prompt 141 docs: trim stuff that is more than four years old from the changelog 142 gnulib: update to its current upstream state 143 macro: insert it in keystroke buffer without discarding latter's contents 144 moving: for Alt+Home/Alt+End, refresh the screen when the mark is on 145 syntax: autoconf: colorize the keywords 'case', 'esac', and 'ifelse' too 146 syntax: awk: add a missing "|" between "\?" and ":" 147 syntax: awk: colorize escape sequences specially 148 syntax: awk: rewrite a regex more densely, and add the missing ~ operator 149 syntax: man: colorize also the .MT .ME .EX .EE .SY .OP and .YS macros 150 syntax: nanorc: an unquoted argument of 'include' may not contain blanks 151 tweaks: delete three redundant checks from the undo/redo code 152 tweaks: improve or rewrap six comments, and add two missing ones 153 tweaks: move a condition to the only place that needs it 154 tweaks: rename a symbol, away from an obscure abbreviation 155 tweaks: reshuffle a seldom-used function to the end of an if-else series 156 tweaks: unwrap three lines that don't need to be wrapped 157 158 Collin Funk (1): 159 build: update a symbol that was renamed in gnulib 160 161 162 Changes between v8.0 and v8.1: 163 ------------------------------ 164 165 Benno Schulenberg (56): 166 bindings: let ^L put the cursor line at center, then top, then bottom 167 build: check for the correct function in an #ifdef 168 build: require version 0.20 of gettext for building nano from git 169 build: use the standard `autoreconf` invocation 170 bump version numbers and add a news item for the 8.1 release 171 docs: add 'set colonparsing' to the sample nanorc 172 docs: add the Alt+Home/Alt+End shortcuts to the cheatsheet 173 docs: avert hyphenation of the technical words "ncurses" and "terminfo" 174 docs: correct the description of --bold, as function tags are unaffected 175 docs: document the new --listsyntaxes (-z) option 176 docs: don't say any more that -z was removed, as it has been repurposed 177 docs: explain the behavior of the new function `cycle` 178 docs: explain the details of --colonparsing / -@ / 'set colonparsing' 179 docs: extend the FAQ item about urxvt modified keys, with M-Home/M-End 180 docs: properly escape a literal '@' in the texi document 181 docs: remove the 'filename:linenumber' format from the synopsis 182 files: avoid mistakenly setting the column number to a given line number 183 files: look for digits and colons starting from the end of the filename 184 files: when a filename with a colon and digits exists, open that file 185 files: with --rectrict, prevent invoking the browser and toggling backups 186 general: disable the type-ahead checking that ncurses normally does 187 gnulib: update to its current upstream state 188 help: regroup the `center` item, placing it with the new `cycle` 189 help: show option -Y/--syntax in --help output also in restricted mode 190 input: drop recognition of the urxvt escape sequences for M-Home/M-End 191 input: make sure that a string-bind return value is non-negative 192 input: provide for urxvt setting a high bit or sending an extra escape 193 input: recognize the raw Xterm escape sequences for Alt+Home and Alt+End 194 minibar: do not falsely report that a new, empty file is in Mac format 195 moving: use edit_scroll() only when scrolling one row is enough 196 new feature: add bindable function `cycle` that pushes cursor line around 197 new feature: option -z lists the names of available syntaxes 198 options: remove the deprecated synonym -$ of -S/--softwrap 199 options: require --colonparsing/-@ to parse colon+number after a filename 200 rcfile: remove old bindable function 'nowrap', alias of 'breaklonglines' 201 startup: do not activate --modernbindings when name starts with "e" 202 syntaxes: mention the original author of most of the syntax files 203 syntax: man: colorize some of the things that manipulate hyphenation 204 syntax: patch: recognize also the .rej extension 205 text: do not check for <Tab> + mark while getting input but in do_tab() 206 tweaks: add a space after a '+', for consistent formatting 207 tweaks: discard a bracketed paste in the help viewer with fewer beeps 208 tweaks: drop two redundant conditions 209 tweaks: elide unhelpful occurrences of the word "will" 210 tweaks: exclude the colon-parsing code from the tiny version 211 tweaks: extend the deprecation period of 'set nowrap' and prefix 'bright' 212 tweaks: implement do_center() with a single call instead of three 213 tweaks: in FAQ, use 'id' attribute instead of empty anchor with 'name' 214 tweaks: make a comment more accurate, and unabbreviate a variable name 215 tweaks: make the inclusion condition for do_center() more strict 216 tweaks: remove the now unneeded special keycode INDENT_KEY 217 tweaks: reshuffle a declaration, adjust a comment, normalize indentation 218 tweaks: reshuffle some lines, to put vaguely related things together 219 tweaks: rewrap some lines, for more even lengths 220 tweaks: simplify a condition, to match the same condition five lines back 221 tweaks: slightly reword a phrase in the explanation of --colonparsing 222 223 Jaroslav Fowkes (1): 224 syntax: fortran: fix a typo (a missing backslash) 225 226 227 Changes between v7.2 and v8.0: 228 ------------------------------ 229 230 Andy Koppe (2): 231 input: scroll on mousewheel events instead of moving the cursor 232 rcfile: map the gray #rgb codes (#111 to #EEE) to the xterm grayscale 233 234 Benjamin Valentin (1): 235 new feature: interpret also <filename>:<linenumber> when opening a file 236 237 Benno Schulenberg (155): 238 bindings: allow speller and friends to be rebound also in restricted mode 239 bindings: in the tiny version, bind M-6 only in main, not at the prompts 240 bindings: let <Alt+Home/End> move the cursor to top/bottom of viewport 241 bindings: let M-" place/remove an anchor, and let M-' jump to one 242 bindings: let M-& show the ncurses version+patch, as a small Easter egg 243 bindings: make ^F start a forward search by default 244 bindings: make ^F start a forward search by default 245 bindings: set up modern bindings also when binary's name starts with "e" 246 bindings: show ^- instead of ^/ for 'flipgoto' when on a Linux console 247 bindings: with --modern, do not let ^Q^Q quit nano without saving 248 bindings: with --modern, use ^H for Help when the terminal allows it 249 browser: report an error instead of crashing when the folder disappears 250 browser: restore typing position at prompt after "^R name ^T ^F ^V ^C" 251 bump version numbers and add a news item for the 8.0 release 252 chars: add a helper function for stripping leading blanks from a string 253 copyright: update the years for the FSF 254 display: add a wnoutrefresh() call for NetBSD, to force a cursor update 255 display: do not attempt to draw a line that is outside the viewport 256 display: draw a new magic line rightaway when there are multiline regexes 257 display: show the help lines down to the tiniest possible terminal size 258 docs: add a caveat in the FAQ about bracketed pastes 259 docs: add a clarifying note to the description of --tabstospaces 260 docs: add an example binding for normalizing Unicode to the sample nanorc 261 docs: add a reference to the 'help-nano' mailing list 262 docs: add M-C and M-Z to the cheatsheet, and reshuffle for balance 263 docs: add ^T^S (spell check) and M-S (softwrap) to the cheatsheet 264 docs: add two examples of custom key bindings to the nanorc manpage 265 docs: adjust an example help line in the README to the current state 266 docs: adjust the cheatsheet for the changed meanings of ^F, ^B, M-F, M-B 267 docs: clarify that a fileregex is matched against the absolute filename 268 docs: delete a remark about libvte that is no longer relevant 269 docs: describe nano more specifically as a text editor 270 docs: document the <filename>:<linenumber> thing for cursor positioning 271 docs: document the new bindable functions 'toprow' and 'bottomrow' 272 docs: document the new --modernbindings option 273 docs: fix a ten-year-old typo, reported by `correctmost` 274 docs: improve the description of the 'flipexecute' bindable function 275 docs: in a synopsis, use braces around a choice of required parts 276 docs: in the sample nanorc, set the guidestripe to a soft grey 277 docs: mention backreferences (for replacements with regular expressions) 278 docs: mention how to get the old behavior of ^F, ^B, M-F, and M-B back 279 docs: mention that a restricted nano does not access the history files 280 docs: mention that 'light' background colors do not work on Linux console 281 docs: mention that --modernbindings overrides --preserve 282 docs: mention the changed meanings of ^F/^B and also in the texi manual 283 docs: mention the missing two options that override --bold 284 docs: say "mini bar", not "minibar", when referring to the actual bar 285 docs: trim stuff that is more than five years old from the changelog 286 docs: use a space after #, like everywhere else in the sample nanorc 287 editing: adjust the mark before trimming redundant blanks 288 execute: show "Older" and "Newer" in the help lines, to allow rebinding 289 feedback: drop an unnecessary warning, to not bother the user 290 feedback: lowercase a letter, as the phrase is not a full sentence 291 feedback: raise the level of "Macro is empty", to match similar messages 292 feedback: suppress filename and linecount when --zero is active 293 feedback: suppress format-conversion messages for --zero and --mini 294 files: do not allow M-U to remove text read from standard input 295 files: run `chmod` and `chown` on the descriptor, not on the filename 296 formatter: do not crash when the formatter command is empty 297 general: include the Copy function (M-6 or ^C) into the tiny version 298 general: let the constant-show toggle override the zero-interface mode 299 gnulib: update to current upstream state, to make a fresh checkout work 300 gnulib: update to its current upstream state 301 help: give the "Replace with" prompt its own help text 302 help: mention M-Home and M-End in the help text and help lines 303 help: rebalance the help items when --preserve is used 304 help: restore ^H and ^D as the primary shortcuts for Backspace and Delete 305 help: show ^F/^B as primary shortcuts for search, not as secondary 306 indicator: do not oversize the scroller when softwrapping 307 input: avoid hanging after a 39-character paste on a VSCode terminal 308 input: flush the keystroke buffer upon any kind of error condition 309 input: for one bump of the mousewheel scroll two lines, not three 310 input: intercept a spurious keycode and say what the actual problem is 311 input: let the handler of string binds return a byte whenever possible 312 input: neutralize two spurious keycodes from VTE terminals 313 input: prevent 'macro_length' from underflowing when hammering M-: 314 input: recognize certain escape sequences for F13 to F16 again 315 input: snip the `recordmacro` and `runmacro` keystrokes in a better way 316 input: store key codes in the macro buffer as they come in from ncurses 317 input: store keystroke in macro buffer only when about to interpret it [reverted] 318 justify: keep as much of the marked region onscreen as possible 319 justify: keep the cursor at the original end of a marked region 320 justify: recompute the multidata for paragraphs larger than the viewport 321 justify: set the correct starting point also with --cutfromcursor 322 justify: set `x = 0` for the undo item, for when using --cutfromcursor 323 linter: do not mess up the input stream when the linter command is empty 324 linter: use a format string, to deflect format-string attacks 325 memory: prevent a leak by freeing a possibly already existing color combo 326 minibar: mention the file format when it's DOS or Mac 327 moving: preserve horizontal position when jumping to top or bottom row 328 new feature: functions that jump to the top or bottom of the viewport 329 new feature: option --modernbindings sets up more widespread key bindings 330 options: make --modernbindings actually override --preserve 331 rcfile: add bindable functions for moving the cursor to top or bottom row 332 rcfile: avoid crashing on an include path that is way too long 333 replacing: stash the string to be replaced while asking for replacement 334 revert the previous commit -- forget about -? as a synonym for --help 335 screen: recalculate the multidata when detecting the need for it 336 search: avoid a crash after a nested search, reported by `correctmost` 337 search: avoid crashing after searching a help text during a regex replace 338 shutdown: ignore a modified buffer when in view mode 339 softwrap: adjust start-of-screen when the 'edittop' line is hard-wrapped 340 softwrap: realign start-of-screen when redoing an automatic hard-wrap 341 softwrap: remember the actual breaking point when wrapping at blanks 342 startup: use a format string, to deflect format-string attacks 343 syntax: c: require a preceding blank when a line comment contains a quote 344 syntax: javascript: recognize also the .mjs extension 345 syntax: makefile: ensure that the <Tab> key always produces a tab 346 syntax: makefile, sh: recognize also a fresh Makefile and fresh .profile 347 syntax: nanorc: colorize {toprow} and {bottomrow} for string binds 348 syntax: sh: recognize more shells than `sh` on a shebang line for busybox 349 tweaks: add a comment that refers to the VTE spurious-code issue 350 tweaks: add a missing 'type' attribute to a <style> tag 351 tweaks: add an extra variable, to avoid reusing one for another purpose 352 tweaks: add another translator hint, to help avoid overlong key tags 353 tweaks: adjust a comment for the changed handling of gray #rgb codes 354 tweaks: avoid calling isblank()/isalpha() on what could be a signed char 355 tweaks: condense the code that searches for a colon plus line number 356 tweaks: delete a redundant fragment of code from do_replace_loop() 357 tweaks: elide a redundant variable 358 tweaks: express an 'if' more concisely, and add two blank lines 359 tweaks: implement the fix of the previous commit somewhat differently 360 tweaks: improve three translator hints 361 tweaks: make two strings equal to a third, to slightly ease translation 362 tweaks: move two static declarations to the only function that uses them 363 tweaks: normalize the indentation after the previous change 364 tweaks: normalize the indentation after the previous changes 365 tweaks: pull a fragment of code a bit forward, to enable the next commit 366 tweaks: remove two pairs of unneeded braces, and normalize a line 367 tweaks: rename a function and variable, to describe better what they do 368 tweaks: rename a function, for contrast, and update antiquated comments 369 tweaks: rename a struct element, to avoid a theoretical name collision 370 tweaks: rename a symbol (to be clearer), and add three missing comments 371 tweaks: rename a variable, away from an abbreviation 372 tweaks: rename a variable, away from an abbreviation 373 tweaks: rename a variable, to be a bit more indicative 374 tweaks: rename a variable, to be clearer when seen in context 375 tweaks: rename a variable, to be more readable 376 tweaks: rename a variable, to better indicate what it represents 377 tweaks: rename two variables, to be clearer and to match others 378 tweaks: reshuffle four lines, to allow folding some #ifdefs together 379 tweaks: reshuffle three fragments of code, moving related things together 380 tweaks: rewrap a comment, and reshuffle seven declarations 381 tweaks: rewrap two old news items 382 tweaks: shrink the set of characters recognized as line-column separator 383 tweaks: slightly improve a comment, to be more accurate 384 tweaks: slightly reword the help text for the Replace-With prompt 385 tweaks: ungettextize three strings, to make a translator hint right again 386 tweaks: use a pair of parentheses to clarify the order of operations 387 undo: force a screen refresh also for the special case Bsp-at-EOF 388 undo: prevent a use-after-free, reported by `correctmost` 389 undo: recompute the multidata when a piece of text is replaced 390 undo the prelast commit in order to redo it with a fuller commit message 391 verbatim: avoid referencing an uninitialized value 392 wrapping: delete only single characters, not a possibly marked region 393 394 Jordi Mallach (1): 395 docs: fix "availabilty" typo in the manual and the nanorc manpage 396 397 Mateusz Kazimierczuk (1): 398 options: add -? as a synonym of -h (--help) [reverted] 399 400 Matteo Raso (1): 401 syntax: python: colorize decorators specially 402 403 Mike Frysinger (2): 404 build: link in $(GETRANDOM_LIB) from gnulib 405 gnulib: import canonicalize-lgpl for realpath 406 407 408 Changes between v7.1 and v7.2: 409 ------------------------------ 410 411 Benno Schulenberg (11): 412 bindings: let ^/ toggle between the 'search' and 'gotoline' menus 413 bump version numbers and add a news item for the 7.2 release 414 copyright: update the years for the FSF 415 docs: give ^K and ^U some useful function in the alternative bindings 416 docs: put the binding of ^Y after its unbinding, for it to be effective 417 gnulib: update to its current upstream state 418 input: disallow bracketed pastes when in view mode 419 syntax: html: colorize specially the other two emphasizing tags too 420 tweaks: avoid warnings when compiling with -Wpedantic 421 tweaks: rewrap an old news item 422 tweaks: separate a special thanks from the preceding ones 423 424 425 Changes between v7.0 and v7.1: 426 ------------------------------ 427 428 Benno Schulenberg (8): 429 build: fix compilation when configured with --disable-comment 430 bump version numbers and add a news item for the 7.1 release 431 copyright: update the last year for significantly changed files 432 docs: say thanks to the Albanian translator 433 rcfile: report an error when an included file does not exist 434 text: upon Enter, eat only lefthand blanks, not any other characters 435 tweaks: avoid passing NULL to access() 436 tweaks: wrap overlong lines in the Tcl syntax, to make them manageable 437 438 439 Changes between v6.4 and v7.0: 440 ------------------------------ 441 442 Benno Schulenberg (94): 443 build: add options --disable-formatter and --disable-linter to configure 444 build: exclude some pieces that are not needed with --disable-nanorc 445 build: exclude two unneeded functions correctly from the tiny version 446 build: fix compilation when configured with --enable-tiny 447 bump version numbers and add a news item for the 7.0 release 448 completion: search through all open buffers for possible completions 449 docs: clarify the distinction between binding a function and "{function}" 450 docs: describe --disable-formatter and --disable-linter configure options 451 docs: explain how to include a double quote plus space in a nanorc regex 452 docs: improve the legibility of an itemized list 453 docs: mention in the man page how M-V can insert any Unicode code point 454 docs: mention that string binds may contain function names between braces 455 docs: replace control codes in the examples with {command} cartouches 456 docs: suggest a key binding for snipping trailing blanks 457 execute: show "Cancelled" instead of "Error" when the user hits ^C 458 extra: use the whole terminal for the crawl, and quicken it a bit 459 feedback: suppress undo/redo messages when option --zero is in effect 460 files: before sending data to an external command, decode LF back to NUL 461 files: improve the error handling when executing an external command 462 filtering: terminate also the sender process when the user hits ^C 463 filtering: when returning to a line number, ensure it is within range 464 gnulib: update to its current upstream state 465 goto: don't center the current line when the user specified a column only 466 help: don't show the New-Buffer toggle when in view mode 467 help: move the M-Del item up, so that M-PgUp and M-PgDn are paired 468 help: prioritize the unshifted Meta keystrokes for buffer switching 469 input: allocate a small keystroke buffer, and never free it 470 input: allocate two small character buffers too, and never free them 471 input: give up when the capacity of the keystroke buffer overflows 472 input: interpret commands of the form {functionname} inside string binds 473 memory: avoid a leak when a string bind specifies an unknown menu 474 prompt: allow rebinding also ^N, ^Q, and ^Y at the yes-no prompt 475 prompt: ingest queued characters before handling any subsequent function 476 prompt: prevent execution of inadmissible functions in view mode 477 prompt: return FALSE for non-editing functions also in the tiny version 478 prompt: toggle the help lines only for the 'nohelp' toggle 479 search: skip a match on the magic line, as it is a just convenience line 480 startup: ensure that +/string centers the match also with --linenumbers 481 startup: for +/string, center the found occurrence when possible 482 startup: quit when standard input is not a TTY (after handling arguments) 483 startup: report an empty search string also when there is a modifier 484 syntax: nanorc: colorize valid function names plus surrounding braces 485 tweaks: add parentheses for consistency, and reshuffle for conciseness 486 tweaks: allow the linter to be used in view mode, as it makes no changes 487 tweaks: attribute some of the features that were added in the last years 488 tweaks: avoid iterating over the same string twice in a row 489 tweaks: avoid sometimes calling a function three times in a row 490 tweaks: check the multiline regexes only for Delete and Backspace 491 tweaks: condense a comment, add two small ones, and reshuffle a line 492 tweaks: delete a flag that is no longer used 493 tweaks: determine in another way whether a shortcut is okay in view mode 494 tweaks: discard a bracketed paste in the browser more efficiently 495 tweaks: don't use a pointer when the value itself is all that is needed 496 tweaks: drop an unneeded check for permissibility of prompt shortcuts 497 tweaks: drop a parameter that is no longer used 498 tweaks: drop shunting of flags by calling the needed function directly 499 tweaks: elide a function that does not need to be a separate function 500 tweaks: elide an assignment by iterating with the target variable 501 tweaks: elide an intermediary variable that is no longer needed 502 tweaks: elide an unused parameter 503 tweaks: elide an unused return value 504 tweaks: elide a parameter by moving the general case one level up 505 tweaks: elide a variable, rename another, and reshuffle an assignment 506 tweaks: fold two cases together, because they basically do the same 507 tweaks: group the special keycodes for implanted strings together 508 tweaks: improve two comments, and exclude two unneeded prototypes 509 tweaks: make the crawl use the whole screen also in the tiny version 510 tweaks: make two error messages more succinct and easier to translate 511 tweaks: move the arrays of menu names and symbols to where they are used 512 tweaks: move the --magic option up, so that --zero comes last 513 tweaks: move to a given line number more efficiently 514 tweaks: move two checks plus corresponding calls to a better place 515 tweaks: normalize the indentation after the previous change 516 tweaks: reduce four variations of a message to a single common form 517 tweaks: rename a macro for clarity, and normalize some indentation 518 tweaks: rename a variable, away from an abbreviation 519 tweaks: rename two record elements and three parameters, for clarity 520 tweaks: replace sizeof(char) with 1, as that is assumed anyway 521 tweaks: reshuffle a declaration, and correct the wording of a comment 522 tweaks: reshuffle a line, to group things better 523 tweaks: reshuffle some code and drop some comments, for conciseness 524 tweaks: reshuffle some code, to not determine a shortcut twice 525 tweaks: reshuffle some lines, to be more readable instead of compact 526 tweaks: reshuffle two lines, for conciseness and in preparation 527 tweaks: reword and/or condense four comments 528 tweaks: rewrap line, improve wording, and correct typo in old news item 529 tweaks: rewrap some lines, drop a redundant call, and reshuffle a line 530 tweaks: simplify a function now that a Unicode code can be typed quicker 531 tweaks: simplify a pasting routine, modelling it after the injection one 532 tweaks: use an auxiliary variable to avoid dereferences of 'shortcut' 533 undo: make sure the current line is defined before it is referenced 534 verbatim: allow the user to finish Unicode input with <Enter> or <Space> 535 verbatim: do not overwrite the status bar when the code is invalid 536 verbatim: don't show dots during Unicode input, as they give wrong idea 537 538 539 Changes between v6.3 and v6.4: 540 ------------------------------ 541 542 Benno Schulenberg (24): 543 bump version numbers and add a news item for the 6.4 release 544 display: remember text and column positions when softwrapping a line 545 docs: concisely describe how the linter behaves 546 docs: remove the two notices about the changed defaults 547 docs: rename README.GIT to README.hacking, so it's clearer what is meant 548 docs: stop mentioning the obsoleted keywords that were removed 549 files: designate the root directory with a simple "/", not with "//" 550 formatter: instead of leaving curses, use full_refresh() to wipe messages 551 gnulib: update to its current upstream state 552 help: reshuffle two shortcuts so that more help-line items are paired 553 options: stop accepting -z, as --suspendable has been dropped too 554 rcfile: remove five obsolete or deprecated keywords 555 syntax: default: do not colorize a square or angle bracket after a URL 556 syntax: perl: add missing keywords, and reduce the length of some lines 557 syntax: python: mention an alternative linter in a comment 558 tweaks: add a missing word to a news item 559 tweaks: add a translator hint 560 tweaks: improve a comment, and reshuffle two functions plus some lines 561 tweaks: put each regex on separate line, to better show many keywords 562 tweaks: rename a variable, to not be the same as a function name 563 tweaks: rename two variables, to not contain the name of another 564 tweaks: reshuffle a description and rewrap another 565 tweaks: reshuffle a few lines, to group things better 566 version: condense the copyright message, to not dominate the output 567 568 LIU Hao (1): 569 build: ignore errors from `git describe` 570 571 572 Changes between v6.2 and v6.3: 573 ------------------------------ 574 575 Benno Schulenberg (41): 576 build: add the --disable-maintainer-mode option to ./configure 577 build: fix compilation for --enable-{tiny,nanorc,color} 578 build: fix compilation when configured with --disable-color 579 build: remove an obsolete check -- the dependent code was deleted 580 bump version numbers and add a news item for the 6.3 release 581 display: suppress spotlight yellow and error red when NO_COLOR is set 582 docs: add an example binding for copying text to the system clipboard 583 execute: clear an anchor only when the whole buffer gets filtered 584 execute: don't crash when an empty buffer is piped through a command 585 execute: stay on the same line number when filtering the whole buffer 586 feedback: show extra warning when writing failed due to "No space left" 587 files: do not change to a higher directory when the working one is gone 588 files: show a warning when the working directory is gone (when used) 589 files: when the working directory exists, still check its accessibility 590 filtering: close all output descriptors, so that 'xsel' will terminate 591 formatting: change cursor position only after saving it in the undo item 592 gnulib: pull in the workaround for a build problem on NetBSD 593 gnulib: update to its current upstream state 594 justify: stay at the same line number when doing a full justification 595 painting: colorize text also after an unterminated start match 596 painting: look for another start match only after the actual end match 597 painting: recalculate the multidata when making large strides or changes 598 painting: stop coloring an extremely long line after 2000 bytes 599 painting: tighten the check for a lacking end match on a colored line 600 syntax: xml: colorize /> properly, and colorize prolog tags differently 601 syntax: xml: colorize user-defined entities differently 602 tweaks: avoid a function call when two plain assignments will do 603 tweaks: change the indentation of a list, to match other indentations 604 tweaks: don't leave an orphaned temporary file behind when writing fails 605 tweaks: elide an unneeded call of strlen() 606 tweaks: exclude the extra truncation warning from the tiny version 607 tweaks: make the triggering of the recalculation of multidata less eager 608 tweaks: move the saving and restoring of flags to where it is needed 609 tweaks: normalize the indentation after the previous change 610 tweaks: prevent the adding of an unwanted newline in a different way 611 tweaks: remove redundant braces, and add two translator hints 612 tweaks: remove some stray spaces before a comma 613 tweaks: simplify a bit of code, eliding two labels and three gotos 614 tweaks: simplify a fragment of code, and fold two lines together 615 tweaks: trim a few comments, rename a function, and reshuffle some code 616 verbatim: with --zero, keep cursor in viewport when it was on bottom row 617 618 Mike Frysinger (1): 619 general: fix building for Windows 620 621 622 Changes between v6.1 and v6.2: 623 ------------------------------ 624 625 Benno Schulenberg (14): 626 bump version numbers and add a news item for the 6.2 release 627 display: suppress the bottom-bar wiping only when the user is editing 628 linter: adjust the parsing to accommodate for a modern 'pyflakes' 629 syntaxes: fold a couple of regexes together, and improve a few comments 630 tweaks: change the type of a variable, to avoid a compiler warning 631 tweaks: consistently backslash-escape the dash in M-letter keystrokes 632 tweaks: rename a misnamed variable 633 tweaks: rename a variable, reshuffle five lines, and snip two comments 634 tweaks: rename a variable, to be more correct, and adjust two comments 635 tweaks: rename a variable, to be more fitting 636 tweaks: rename two more variables, and drop unneeded initializations 637 tweaks: rename two variables (to get rid of a prefix), and elide a third 638 tweaks: store a result, to avoid calling a function twice 639 tweaks: use an intermediate variable, to avoid using one for two purposes 640 641 642 Changes between v6.0 and v6.1: 643 ------------------------------ 644 645 Benno Schulenberg (37): 646 build: fix compilation when configured with --enable-tiny 647 build: prevent autopoint from overwriting a newer M4 file from gnulib 648 bump version numbers and add a news item for the 6.1 release 649 copyright: update the last year for significantly changed files 650 copyright: update the years for the FSF 651 docs: mention bindable function 'zero', for toggling the interface bars 652 docs: mention 'set guidestripe' and 'set unix' in the sample nanorc 653 docs: remove obsolete Ctrl+Z from the cheatsheet; mention Alt+X instead 654 files: let ^C cancel the exiting when the file on disk was changed 655 gnulib: update to its current upstream state 656 help: make the description of <Tab> more accurate 657 help: update the description of M-D, to match the actual order of counts 658 input: instead of moving waiting keycodes, just increment a pointer 659 input: suppress any spotlighting when there are more keycodes waiting 660 menus: don't show M-6 in the help lines of any prompt 661 prompt: allow the user to copy the answer to the cutbuffer (with M-6) 662 prompt: let ^K erase text after cursor (if any), otherwise whole answer 663 tweaks: add some feedback to the autogen.sh script, to ease the wait 664 tweaks: add some small, clarifying comments 665 tweaks: adjust a translator hint, to fit the order in the POT file 666 tweaks: drop foreign M-U and M-R from among the sample CUA bindings 667 tweaks: remove a redundant check -- add a different one for symmetry 668 tweaks: remove two redundant checks 669 tweaks: rename a function and its two parameters, for clarity 670 tweaks: rename a function and reshuffle its call 671 tweaks: rename a function, to not contain the name of a variable 672 tweaks: rename another variable, to better fit in with its sisters 673 tweaks: rename a variable and a parameter, to be more descriptive 674 tweaks: rename a variable, away from an abbreviation 675 tweaks: rename a variable, for clarity and contrast 676 tweaks: rename a variable, to make it clearer it refers to a window 677 tweaks: rename two variables, and elide a near-enough duplicate 678 tweaks: reshuffle some sample bindings, to group them differently 679 tweaks: reword two comments, and rename a variable (away from an abbrev) 680 tweaks: stop asking the terminal for its new size -- let ncurses do it 681 tweaks: use some symbolic names instead of unclear numeric values 682 tweaks: when discarding keycodes, don't bother parsing them 683 684 685 Changes between v5.9 and v6.0: 686 ------------------------------ 687 688 Benno Schulenberg (192): 689 bindings: allow rebinding ^Z also on a Linux console (a VT) 690 bindings: allow toggling line numbers (when enabled) also in tiny version 691 bindings: let ^T in the tiny version invoke spell checker (when included) 692 browser: with --zero, do not use the bottom row for displaying filenames 693 build: fix compilation when configured with --disable-color 694 build: fix compilation when configured with --disable-nanorc 695 build: fix compilation when configured with --enable-tiny 696 build: fix compilation with --enable-tiny --enable-nanorc 697 build: fix compilation with --enable-tiny --enable-wrapping 698 build: include the YAML syntax file among the distributed files 699 bump version numbers and add a news item for the 6.0 release 700 display: clear the status bar early enough, so that --zero can show text 701 display: do not wipe the status bar when --zero or --minibar is active 702 display: ensure feedback will be cleared also on a one-row terminal 703 display: make sure there are at least as many text lines as help lines 704 display: move some code for overwriting verbatim feedback with --zero 705 display: redraw the screen in tiny version upon resuming from suspension 706 display: with --zero, redraw the bottom row instead of wiping a message 707 docs: add a hint about making ^L do just 'refresh' to the sample nanorc 708 docs: add a meta description for the HTML rendering of the manual 709 docs: add a suggested rebind and three suggested unbinds to the sample rc 710 docs: avoid large Table of Contents at top of HTML version of manual 711 docs: clarify that --enable options do not fully counteract --enable-tiny 712 docs: correct the description of the layout -- four areas, not five 713 docs: document the effect of --quickblank together with --zero/--minibar 714 docs: explain the effect of --zero / -0 / 'set zero' 715 docs: explain what it means when --rawsequences is needed 716 docs: give more examples of things that --enable-tiny excludes 717 docs: improve the title of the manual, away from the bare "nano" 718 docs: list the new color names, from 'rosy' to 'crimson' 719 docs: mark options -z, --suspendable, and 'set suspendable' as obsolete 720 docs: mention "grey" also at the other place where color names are listed 721 docs: mention M-Z (for toggling the interface) among the Feature Toggles 722 docs: mention that --zero and 'set zero' hide also the help lines 723 docs: move the chapter about editor basics into third position 724 docs: prevent a black square in the PDF after the long synopsis line 725 docs: reshuffle a GNU marker, to make the title clearer in search engines 726 docs: reword several of the descriptions in the chapter on building nano 727 docs: reword the beginning of the chapter on nanorc files 728 docs: say thanks to the Indonesian translator 729 feedback: give a more accurate message when the help lines won't appear 730 feedback: refuse the --constantshow toggle (M-C) on a one-row terminal 731 feedback: report an unbindable function key as an "Unknown sequence" 732 feedback: report the number of inserted lines also with --zero or --mini 733 feedback: show a relevant message for M-O when the syntax has 'tabgives' 734 feedback: suppress chatty messages when --zero is active 735 feedback: to have a status bar, suppress --zero while in the help viewer 736 feedback: when reporting an unbound function key, mention its number 737 feedback: when the user types ^Z, say they can suspend nano with ^T^Z 738 feedback: with --mini or --zero, suppress number of lines for new buffer 739 feedback: with --mini/--zero, suppress message when toggling whitespace 740 feedback: with --zero, drop a message in a short while, as with --minibar 741 files: allow inserting also when started with the --noread option 742 files: clear original filename when the user toggles Append or Prepend 743 gnulib: update to its current upstream state 744 help: do not show ^S when --preserve is in effect 745 help: ensure there is a blank line between title bar and start of text 746 help: group the now lone mouse toggle with the "behavioral" ones 747 help: remove an unneeded restriction for small terminals 748 help: skip the leading blank line when the terminal is very flat 749 help: when done, always redraw the "bottom bars", also with --zero 750 history: process file faster by not filtering out hypothetical duplicates 751 input: ensure that no more bytes are consumed than are available 752 justify: correctly determine whether top-of-buffer has been reached 753 memory: avoid a tiny leak when an option with an argument is given twice 754 memory: avoid leaking the filename when dottifying it on the minibar 755 new feature: option --zero for an interface without bars 756 options: make --zero imply --nohelp, and 'set zero' imply 'set nohelp' 757 pasting: when less than a line is pasted, allow automatic hard-wrapping 758 prompt: avoid resetting the history pointer when the search is cancelled 759 prompt: begin at bottom of history list when at secondary prompt 760 prompt: keep a clear answer clear also after an excursion into history 761 rcfile: recognize fourteen new color names, mostly for subdued shades 762 rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keywords 763 replacing: keep centering the occurrence, also after toggling help lines 764 replacing: keep the spotlighted occurrence in view, also with --zero 765 replacing: keep the spotlighting, also after toggling the help lines 766 search: with --zero, do not obscure an occurrence on the bottom row 767 search: with --zero, drop a message at the same time as the spotlight 768 statusbar: count words in the way that matches how Ctrl+Right moves 769 statusbar: overwrite a message also when using --constant with --zero 770 suspension: enable ^Z by default -- ignore -z option and drop M-Z toggle 771 suspension: leave ^Z unbound by default -- just ^T^Z will suspend nano 772 syntax: debian: remove file -- Debian itself will have to handle it 773 syntax: default: colorize comments as one of the last things 774 syntax: default: colorize dates, URLs, and nano's release motto 775 syntax: email: use a character class, as \s does not work inside brackets 776 syntax: gentoo: remove file -- Gentoo itself will have to handle it 777 syntax: nanorc: add 'execute' menu for unbind, and drop a bad constraint 778 syntax: nanorc: avoid colorizing #rgb codes as if they were comments 779 syntax: nanorc: colorize a trailing comment when it begins with non-hex 780 syntax: nanorc: colorize each of the fourteen new color names as valid 781 syntax: nanorc: improve the file-matching regex 782 syntax: nanorc: paint arguments of 'include' and 'extendsyntax' specially 783 syntax: nanorc: require whitespace before the start= and end= keywords 784 syntax: python: colorize backslash escapes, such as \n and \xef 785 syntax: ruby: colorize embedded documentation as a comment 786 syntax: rust: do not colorize as string the text between two strings 787 syntax: sql: add a few more missing keywords, like TRUE and FALSE 788 syntax: sql: add more missing keywords, like INNER and OUTER JOIN 789 syntax: sql: add some missing keywords, like ALL and ANY and OR 790 syntax: sql: add two missing data types -- xml and tsquery 791 syntax: sql: colorize as flow control only keywords that clearly are such 792 syntax: sql: colorize keywords regardless of case, and tweak the colors 793 syntax: sql: colorize only single-quoted things as strings 794 syntax: sql: colorize strings differently than types 795 syntax: sql: remove alien stuff -- it was copied mostly from ruby syntax 796 syntax: texinfo: be more precise in colorizing @commands 797 syntax: texinfo: colorize the special @-plus-punctuation commands too 798 syntaxes: avoid coloring "this\" as if it were a valid string 799 syntaxes: colorize hex more strictly by using character class [:xdigit:] 800 syntaxes: drop three redundant end-of-line anchors 801 syntaxes: undouble the backslash within bracket expressions 802 syntaxes: use one regex for coloring quoted strings, to avoid overlap 803 tabbing: also with --zero, stay one row away from the prompt bar 804 tweaks: add an auxiliary variable, to prepare for handling --zero 805 tweaks: add two spaces and two comments, and drop an internal check 806 tweaks: adjust two values -- help lines need at least 6 rows to be shown 807 tweaks: avoid a compiler warning with --enable-tiny --enable-linenumbers 808 tweaks: avoid redrawing the entire window when just a 'touch' will do 809 tweaks: condense the definitions of all the empty functions 810 tweaks: condense the regexes for Types in the SQL syntax 811 tweaks: don't redraw the help lines (if present), and normalize a brace 812 tweaks: drop a fragment of code that became functionless 813 tweaks: elevate two messages, so they get shown with --mini or --zero 814 tweaks: elide a variable that is confusing and has just one use case 815 tweaks: elide two functions that each were called just once 816 tweaks: elide two parameters, as they are now always the same 817 tweaks: exclude some hidden-interface code from the tiny version 818 tweaks: exclude some suspension code from the tiny version 819 tweaks: fix a parentheses mistake -- found by a warning from Clang 820 tweaks: fix a somewhat humorous typo 821 tweaks: fix typo, and improve description of 'set zero' in sample nanorc 822 tweaks: fold a special case into the general one 823 tweaks: fold some regexes together, and trim or improve some comments 824 tweaks: frob a couple of comments, and drop two, for conciseness 825 tweaks: improve a comment, and drop two cluttering compile conditions 826 tweaks: invert a condition, to get an early return instead of indentation 827 tweaks: just let do_wrap() set 'refresh_needed' instead of returning TRUE 828 tweaks: mark keystrokes consistently with @kbd in the manual 829 tweaks: move a translator hint to where xgettext will see it 830 tweaks: normalize whitespace, drop unneeded prototype, condense comment 831 tweaks: on one-row terminals, suppress the message for two toggles 832 tweaks: place the unsetting of a flag better, and rename a variable 833 tweaks: put three email addresses between the customary angled brackets 834 tweaks: reassign a copy of a string to a variable more economically 835 tweaks: reduce redundancy (--enable-color implies --enable-nanorc) 836 tweaks: remove redundant pair of parentheses, and swap two alternatives 837 tweaks: remove redundant parentheses, trim comments, fold some regexes 838 tweaks: remove two unneeded unsettings 839 tweaks: rename a function and its parameter, to be clearer 840 tweaks: rename a function, away from using an abbreviation 841 tweaks: rename a function, for some contrast and to get rid of a suffix 842 tweaks: rename a function, to describe better what it does nowadays 843 tweaks: rename a function, to make it make sense 844 tweaks: rename a variable, to be distinctive and less confusing 845 tweaks: rename a variable, to be easier to read and to make more sense 846 tweaks: rename five empty functions, to get rid of a meaningless suffix 847 tweaks: rename three functions, to better fit the general scheme 848 tweaks: rename three parameters, away from single letters 849 tweaks: rename two empty functions, to be more to the point 850 tweaks: rename two functions, to get rid of another senseless suffix 851 tweaks: rename two functions, to get rid of one more senseless suffix 852 tweaks: rename two functions, to get rid of the senseless suffix of one 853 tweaks: rename two more functions, to lose a senseless suffix 854 tweaks: rename two parameters and one variable, away from single letters 855 tweaks: rename two variables, away from abbreviations 856 tweaks: rename two variables, to fit with the names of similar ones 857 tweaks: replace a verbose condition with a simpler early return 858 tweaks: replace the obscure @* with the slightly clearer @sp 859 tweaks: replace two direct refreshes with two scheduled ones 860 tweaks: reshuffle a coloring rule, to have related ones together 861 tweaks: reshuffle a few lines, and rename a variable 862 tweaks: reshuffle a few lines, for Christmas and to group things better 863 tweaks: reshuffle a fragment of code to a better place 864 tweaks: reshuffle a line and adjust indentation after previous change 865 tweaks: reshuffle a line into its proper order, and improve two comments 866 tweaks: reshuffle some conditions, so that the ifs have similar formats 867 tweaks: reshuffle some conditions, to have more balanced lines 868 tweaks: reshuffle some lines, one for clarity, others for conciseness 869 tweaks: reshuffle the flag conversion into their order in the help text 870 tweaks: reshuffle two conditions, re-indent, and rewrap a line 871 tweaks: reword a paragraph, and use usual M- to depict Meta keystrokes 872 tweaks: rewrap an old news item, for distraction 873 tweaks: rewrap three old NEWS items, for esthetics, and fix a date 874 tweaks: shorten a comment, and drop some conditionalizing 875 tweaks: shorten the description of --zero in the manuals a bit 876 tweaks: shorten two comments, and fold two statements together 877 tweaks: swap two parts of specific regexes, for consistency with others 878 tweaks: untangle two case items, and shorten a message 879 tweaks: use a color closer to the rest of the string, to reduce contrast 880 tweaks: use a few fewer capitals, and drop an unneeded synonym 881 882 Brad Town (2): 883 docs: add a description of the hexadecimal #rgb color specification 884 rcfile: support #rgb format for specifying colors in 256-color terminals 885 886 887 Changes between v5.8 and v5.9: 888 ------------------------------ 889 890 Benno Schulenberg (88): 891 browser: make the keystrokes ^W^Y and ^W^V work again 892 build: ensure that mkstemps() is available by importing the gnulib module 893 build: help Haiku find the header files that define mkstemps() 894 bump version numbers and add a news item for the 5.9 release 895 copyright: update to the current year for significantly changed files 896 cutting: copy anchors into the cutbuffer, so that undo can restore them 897 docs: add a paragraph at the start of the README about what nano is 898 docs: add a simulated "screenshot" of nano to the README 899 docs: add some details to the bug-reporting paragraph in the README 900 docs: correct the descriptions of how to invoke the spell checker 901 docs: don't use "light" after "bold", as the latter often implies "light" 902 docs: improve the description of the spotlighting of a search match 903 docs: improve the description of the 'tabstospaces' option 904 docs: improve the descriptions of several bindable functions 905 docs: improve the recipe in the FAQ for dealing with Alt+Up on a console 906 docs: indent the paragraphs in the FAQ that list commands to be typed 907 docs: list the default color combo for 'spotlightcolor' in sample nanorc 908 docs: mention how to properly colorize all types in nano's source code 909 docs: mention in the README which licenses cover nano's code and docs 910 docs: move the notice in the main man page, to try and catch other eyes 911 docs: refer to the FAQ when <Alt+Up> does nothing on a Linux console 912 docs: replace a non-problem in the FAQ with something possibly useful 913 docs: spell "filename" as a single word, like in most other occurrences 914 feedback: use a smaller diamond to represent an anchor, to not overflow 915 feedback: when not in curses mode, just skip displaying any message 916 feedback: when not in curses mode, write error messages to the terminal 917 files: add the original file's suffix to the name of a temporary file 918 files: check for a fifo only when it is an existing file 919 files: check the result of fdopen(), to avoid a possible crash 920 files: do not call fsync() on a fifo, to avoid a spurious error message 921 files: exclude the call of fsync() from the tiny version 922 files: give the user time to absorb a warning about someone else editing 923 files: making a backup of a fifo makes no sense, so do not try that 924 files: prepending to a fifo makes no sense, so do not try that 925 files: when the buffer is nameless, include the PID in name of dump file 926 files: when there is a slash after the dot, then there is no extension 927 files: write a lock file also for a freshly saved buffer 928 general: prevent die() from getting recursed into 929 gnulib: update to its current upstream state 930 help: make the keystrokes ^W^Y and ^W^V work again 931 history: emit a warning when file cannot be made private [coverity] 932 input: give up on the input stream only after millions of errors 933 memory: free any allocated strings, also in the emergency code path 934 po: delete the ancient PO files for Indonesian and Nynorsk 935 po: permit the Indonesian PO file to come back -- there was a big update 936 shutdown: when dying, do not install/restore a handler for Ctrl+C 937 startup: if TERM is unset, try falling back to VT220 instead of failing 938 syntax: nanorc: recognize also the template of the sample nanorc file 939 syntax: rust: update the license to GPL3 or newer 940 syntax: yaml: allow any character in tags except whitespace 941 syntax: yaml: allow double colon in key & do not colorize unspaced colon 942 syntax: yaml: allow slash and period in key names 943 syntax: yaml: colorize backslash-escaped characters as valid or invalid 944 syntax: yaml: colorize the question mark of complex mappings too 945 syntax: yaml: colorize the two known directives 946 syntax: yaml: new file -- coloring rules for YAML files 947 tweaks: add Schiermonnikoog to the list of friendly islands 948 tweaks: adjust a description of 'showcursor', to match the other ones 949 tweaks: adjust three parameters -- two were mistaken, one superfluous 950 tweaks: correct two typos and a spello [codespell] 951 tweaks: fix a typo 952 tweaks: fold two lines into two others, for conciseness 953 tweaks: harmonize the indentations in the FAQ somewhat 954 tweaks: in comments, say "buffer" instead of "file" where appropriate 955 tweaks: instead of "one" use "you", like in the rest of the man page 956 tweaks: remove a redundant feedback message 957 tweaks: rename a defined type, to fit within the general pattern 958 tweaks: rename a function, to be more fitting 959 tweaks: rename a parameter and invert its logic 960 tweaks: rename a parameter, to fit better what it is used for 961 tweaks: rename a variable and flip its logic, to avoid two negations 962 tweaks: rename a variable, away form an abbreviation 963 tweaks: rename a variable, to be more grammatical 964 tweaks: rename a variable, to be more visible and to match others 965 tweaks: rename a variable, to make more sense 966 tweaks: rename three variables, to follow the general scheme 967 tweaks: reshuffle a few lines, for esthetics and to elide an #ifdef 968 tweaks: reshuffle a few lines to avoid an #ifdef and unbalanced braces 969 tweaks: reshuffle a fragment of code, to prepare for the next change 970 tweaks: reshuffle some code to elide a variable, and improve a comment 971 tweaks: reshuffle some lines and adjust some indentation 972 tweaks: reshuffle some lines to elide a variable 973 tweaks: restore a quote that was accidentally deleted four months ago 974 tweaks: rewrap three lines, for esthetics 975 tweaks: slightly reword or rewrap some comments in the sample nanorc 976 tweaks: try chmodding a dump file only when it was actually written 977 tweaks: use five symbolic names, to make eight function calls clearer 978 usage: improve the description of the --positionlog option 979 980 David Michael (2): 981 syntax: gentoo: highlight additional EAPI 7/8 variables 982 syntax: gentoo: remove some obsolete keywords and add some new ones 983 984 Hussam al-Homsi (3): 985 docs: correct the default value of the errorcolor option 986 syntax: perl, ruby: remove arbitrary highlighting of here documents 987 tweaks: change 'return ++var;' to 'return var + 1;' 988 989 990 Changes between v5.7 and v5.8: 991 ------------------------------ 992 993 Benno Schulenberg (53): 994 bindings: show either "^/" or "^-" in the help lines, instead of "^_" 995 bump version numbers and add a news item for the 5.8 release 996 display: when a message gets overwritten, note that it is cleared 997 docs: add a relevant item to the news for the 4.3 release 998 docs: add example bindings for uppercasing and lowercasing a word 999 docs: improve the contact info and some line spacing in the PDF 1000 docs: make ^E access the Execute menu in the example CUA bindings 1001 docs: mention that "grey"/"gray" may be used as a synonym of "lightblack" 1002 docs: mention the new 'set minicolor' option 1003 docs: say thanks to the Icelandic and Slovak translators 1004 feedback: ensure that the reporting of DOS/Mac format is truthful 1005 gnulib: update to its current upstream state 1006 help: use smaller triangles for the arrows 1007 linter: block the resizing signal while reading output from the linter 1008 linter: strip filename and line plus column number from the message 1009 memory: move the correct number of bytes, and not one too many 1010 memory: prevent a leak when copying the leading quoting to the next line 1011 minibar: stay out of sight when the terminal has just one row 1012 options: accept 'set minicolor' for setting the color of the minibar 1013 rcfile: allow using "grey" or "gray" as a synonym for "lightblack" 1014 rcfile: do not allow color name "normal" to have a prefix 1015 replacing: report the number of replacements also on a one-row terminal 1016 search: automatically drop the spotlighting after a few moments 1017 search: show "This is the only occurrence" also on a one-row terminal 1018 startup: allow using a bare "+" to mean put-cursor-on-last-line 1019 startup: do not accept stray characters after a "+" on the command line 1020 startup: skip drawing edit window when having message on one-row terminal 1021 startup: suppress "Search Wrapped" when using +? to search from EOF 1022 statusbar: ensure that "No further matches" does not get overwritten 1023 statusbar: on a one-row terminal, drop light messages after a few moments 1024 statusbar: suppress --constantshow when the terminal has just one row 1025 statusbar: suppress the cursor when the terminal has just one row 1026 syntax: nanohelp: avoid colorizing M-) in (M-) and M-" in "M-" 1027 syntax: nanorc: colorize "light" as valid only for the eight basic colors 1028 syntax: nanorc: colorize literal control codes, to make them stand out 1029 syntax: php: colorize the full short tag for echo (<?=) 1030 tweaks: avoid the subtraction of two size_t variables becoming negative 1031 tweaks: condense and correct a comment, and move another 1032 tweaks: condense some code by putting all color names in a single array 1033 tweaks: drop an assignment that is already part of the called function 1034 tweaks: frob some whitespace, and rewrap a line 1035 tweaks: improve a comment, remove unneeded braces, reshuffle some lines 1036 tweaks: normalize the indentation after the previous change 1037 tweaks: prevent two more size_t subtractions from going negative 1038 tweaks: redraw only the affected line instead of doing a full refresh 1039 tweaks: remove a check that has become superfluous 1040 tweaks: remove a check that is not needed 1041 tweaks: rename a variable, for contrast with the function name 1042 tweaks: rename two functions, to get rid of an ugly _void suffix 1043 tweaks: reshuffle the coloring of color names, to remove some duplication 1044 tweaks: use a symbol instead of a hard-coded number 1045 tweaks: use two symbolic names instead of TRUE and FALSE, for clarity 1046 wrapping: when copying the quoting part, adjust the file size accordingly 1047 1048 Hussam al-Homsi (1): 1049 bindings: allow copying text (with M-6) also when in view mode 1050 1051 1052 Changes between v5.6.1 and v5.7: 1053 -------------------------------- 1054 1055 Benno Schulenberg (62): 1056 build: drop the check for two functions that we don't use any more 1057 build: fix compilation for --enable-tiny plus --enable-multibuffer 1058 build: fix compilation when configured with --disable-multibuffer 1059 build: fix compilation when configured with --enable-tiny 1060 bump version numbers and add a news item for the 5.7 release 1061 chars: implement mblen() ourselves, for efficiency 1062 chars: implement mbtowc() ourselves, for more efficiency 1063 chars: work around a UTF-8 bug in glibc, to display invalid codes right 1064 chars: work around the wrong private-use-character widths on OpenBSD 1065 display: avoid determining twice from and until where to draw each row 1066 display: make the output of --constantshow less jittery 1067 editing: prevent the pointer for the top row from becoming dangling 1068 feedback: upon first switch to a buffer, show its error message (if any) 1069 files: always register the format, also when the file is unwritable 1070 files: create a new buffer earlier, so that error messages can be stored 1071 files: when Mac format has been detected, stay with it 1072 gnulib: pull in the fix for a build problem on older Debian 1073 gnulib: update to its current upstream state 1074 indicator: adjust the size to the number of visible lines, not chunks 1075 input: accept Unicode codes for non-characters as valid, since they are 1076 memory: do not allocate space for multidata when it's already allocated 1077 memory: fix an off-by-one error to free also the last line in a group 1078 memory: prevent a use-after-free when the user respects a lock file 1079 oops: that doesn't work -- you can't break out of two for loops at once 1080 options: retire the obsolete 'smooth', 'morespace', and 'nopauses' 1081 softwrap: avoid time-consuming computations, to burden large files less 1082 startup: do not crash when trying to open a device or directory 1083 startup: do not store an error message in the record of another buffer 1084 startup: save the compiled file-matching regexes, to avoid recompiling 1085 startup: show the helpful message only when ^G has not been rebound 1086 syntax: c: colorize also labels that contain digits, and uncolorize colon 1087 syntax: po: improve the coloring of format specifiers 1088 syntaxes: replace [[:space:]] with [[:blank:]] to exclude carriage return 1089 tweaks: adjust and improve one comment, and frob another 1090 tweaks: adjust two comments, and reshuffle two fragments 1091 tweaks: avoid a warning on newer compilers, by writing an extra byte 1092 tweaks: avoid calling extra_chunks_in() when not softwrapping 1093 tweaks: avoid converting a file name for more than will fit on screen 1094 tweaks: avoid parsing a multibyte character twice 1095 tweaks: condense three comments, drop another, and rewrap a line 1096 tweaks: drop unneeded braces and adjust indentation after previous change 1097 tweaks: elide a call of strlen() for every row 1098 tweaks: elide a function that is now basically just two lines 1099 tweaks: elide an unneeded resetting NULL call to wctomb() 1100 tweaks: elide a small function that is used just once 1101 tweaks: elide the pointless is_valid_unicode() function 1102 tweaks: elide two more instances of useless character copying 1103 tweaks: improve a couple of comments 1104 tweaks: morph a function into what it is actually used for 1105 tweaks: normalize the indentation after an earlier change 1106 tweaks: put the most likely condition first, for a quicker return 1107 tweaks: reduce the maximum character length from six bytes to four 1108 tweaks: remove a misplaced (and nested) #ifdef 1109 tweaks: rename a variable, away from an abbreviation 1110 tweaks: rename a variable, for contrast with another 1111 tweaks: reshuffle a comment, and put the main extension first 1112 tweaks: reshuffle a fragment of code, to prepare for the next change 1113 tweaks: reshuffle two conditions, to have the most unlikely one first 1114 tweaks: set the file format only when unset, so it doesn't need saving 1115 tweaks: shorten a comment and trim an #ifdef 1116 tweaks: simplify two fragments of code 1117 tweaks: simplify two fragments of code, eliding useless character copying 1118 1119 Hussam al-Homsi (1): 1120 syntax: c: make the highlighting of '#include <...>' more compliant 1121 1122 Mike Frysinger (1): 1123 syntax: tcl: support Expect scripts too 1124 1125 1126 Changes between v5.6 and v5.6.1: 1127 -------------------------------- 1128 1129 Benno Schulenberg (4): 1130 bump version numbers and add a news item for the 5.6.1 release 1131 options: rename 'highlightcolor' to the more distinct 'spotlightcolor' 1132 search: correctly colorize a match also when softwrapping is active 1133 tweaks: rename a symbol, to better match the corresponding option 1134 1135 1136 Changes between v5.5 and v5.6: 1137 ------------------------------ 1138 1139 Benno Schulenberg (52): 1140 build: avoid a warning about duplicate symbol when building from tarball 1141 build: detect a build from git also when building out of tree 1142 build: include a workaround only for versions of ncurses that need it 1143 bump version numbers and add a news item for the 5.6 release 1144 color: do not look for another 'end' match after already finding one 1145 color: give highlighted text its own color, to not look like marked text 1146 color: recompile the file-probing regexes a little faster with REG_NOSUB 1147 color: use bright yellow to highlight a search match 1148 color: use inverse video for highlighting when there are no colors 1149 debug: add timing instruments to cache precalculation and screen refresh 1150 display: for a large paste or insertion, recalculate the multiline cache 1151 docs: correct the description of --quickblank for the changed base value 1152 docs: correct the formatting of a comment in the sample nanorc 1153 docs: correct the word order for Alt+D in the cheat sheet -- it changed 1154 docs: mention the new 'set highlightcolor' option 1155 docs: remove all mentions of --markmatch and 'set markmatch' 1156 docs: say that --minibar is modified by --constantshow and --stateflags 1157 feedback: make Full Justify show a message also when using --minibar 1158 gnulib: update to its current upstream state 1159 minibar: show a message a little longer when --quickblank isn't used 1160 minibar: show cursor position + character code only with --constantshow 1161 minibar: show the state flags only when --stateflags is used 1162 minibar: suppress the toggling feedback for M-C, but show it for M-Y/M-P 1163 options: remove --markmatch and 'set markmatch', as the behavior is gone 1164 painting: always do backtracking for the first row of the screen 1165 painting: trigger a refresh when a second start match appears on a line 1166 painting: trigger fewer unneeded full-screen refreshes 1167 painting: when finding an end match, set its multidata right away 1168 scrolling: keep centering after large paste, also when line numbers widen 1169 search: just highlight the found occurrence, instead of marking it 1170 search: make highlighting the standard, non-changeable behavior 1171 tweaks: avoid the vague possibility of advancing beyond end-of-line 1172 tweaks: be slightly more efficient in marking lines as WOULDBE 1173 tweaks: call wattron()/wattroff() only when actually painting something 1174 tweaks: correct a comment, improve another, and trim some verbosity 1175 tweaks: don't bother comparing virgin multidata with current situation 1176 tweaks: don't bother initializing freshly allocated multidata 1177 tweaks: don't bother wiping the multidata before recomputing it 1178 tweaks: elide a function that is now just one line 1179 tweaks: frob a condition, to be more concise, and reshuffle another 1180 tweaks: frob some comments, and adjust indentation after previous change 1181 tweaks: frob some comments, and reshuffle two fragments of code 1182 tweaks: frob two fragments of code, to be more readable 1183 tweaks: make a skipping condition more precise 1184 tweaks: remove an old fix that was made superfluous by a recent fix 1185 tweaks: remove a strangely placed warning 1186 tweaks: rename six symbols, to be more straightforward 1187 tweaks: reshuffle some code, and reduce the scope of a variable 1188 tweaks: reshuffle three conditions into a better order 1189 tweaks: rewrap and reindent a few lines 1190 tweaks: rewrap two lines, for esthetics 1191 tweaks: stop evaluating a rule when the match is offscreen to the right 1192 1193 1194 Changes between v5.4 and v5.5: 1195 ------------------------------ 1196 1197 Benno Schulenberg (84): 1198 build: fix compilation for --enable-{tiny,help,multibuffer} 1199 build: fix compilation when configured with --disable-utf8 1200 build: fix compilation when configured with --enable-tiny 1201 build: remove the '--with-slang' configure option 1202 bump version numbers and add a news item for the 5.5 release 1203 chars: short-circuit determining the width of characters under U+0300 1204 chars: speed up the handling of invalid UTF-8 starter bytes 1205 copyright: update the years for the FSF 1206 display: add code for showing minimal state-information bar at the bottom 1207 display: do not show the state flags in the help viewer or file browser 1208 docs: explain the effect of --minibar / -_ / 'set minibar' 1209 docs: explain the purpose of --markmatch / -^ / 'set markmatch' 1210 docs: insert links to the mailing-list archives into the README 1211 docs: mention in NEWS that some workarounds were removed 1212 docs: mention the new 'set promptcolor' option 1213 docs: remove all mentions of Slang 1214 feedback: differentiate between remarks, mistakes, and information 1215 feedback: wipe the status bar by default after 20 keystrokes 1216 files: when truncating a file name, give an indication of this 1217 general: remove support for Slang 1218 gnulib: update to its current upstream state 1219 input: intercept ^Z also when --minibar is active 1220 input: interpret a keystroke as Meta only when an earlier escape was solo 1221 memory: avoid leaking the speller or linter command string, when invoked 1222 minibar: add an [x/y] "counter" when multiple files are open 1223 minibar: add a percentage that shows how far the cursor is into the file 1224 minibar: allow the number-of-lines to overrule also the state flags 1225 minibar: allow the number-of-lines to overrule location + character code 1226 minibar: drop the side spaces before suppressing the state flags 1227 minibar: represent bytes as 0xNN and valid Unicode code points as U+NNNN 1228 minibar: show the info bar again some 0.8 seconds after a message 1229 minibar: show the line count in the bar (at startup and when saving) 1230 minibar: show Unicode codes when in a UTF-8 locale 1231 minibar: suppress some elements when there is no room to show them 1232 minibar: when the next character has zero width, show its code too 1233 minibar: when the overnext character has zero width too, show its code 1234 mouse: do not offset the shortcuts by 'margin' when using --linenumbers 1235 oops: use the correct condition for checking the last line will change 1236 options: accept 'set promptcolor' for setting the color of the prompt bar 1237 options: add --markmatch and -^ for activating the select-match behavior 1238 options: add --minibar and -_ for activating basic state-information bar 1239 prompt: restore a workaround for a cursor misplacement bug in ncurses 1240 prompt: suppress the ">" character always when exactly at the right edge 1241 rcfile: rename 'nowrap' toggle to 'breaklonglines', to match the option 1242 search: set the mark at the end of a found match so it gets highlighted 1243 search: suppress the cursor when highlighting a match 1244 speller: do an internal spell check when --speller is an empty string 1245 speller: strip leading whitespace from command, to avoid a sneaky crash 1246 syntax: go: add author and license line 1247 syntax: nanorc: colorize 'bookstyle' as a valid option 1248 syntax: nanorc: colorize 'set promptcolor' as valid 1249 syntax: sh: recognize shebangs with any shell after 'env', not just 'sh' 1250 tweaks: adjust the indentation after the previous change 1251 tweaks: avoid compilation warnings on 32-bit machine plus newer compiler 1252 tweaks: avoid computing the cursor column twice, and the "page" too 1253 tweaks: avoid hitting negative values when using size_t 1254 tweaks: change an intermediate variable to a better one 1255 tweaks: clean up after the previous change 1256 tweaks: condense the description of how to report a bug 1257 tweaks: correct a translator hint 1258 tweaks: correct two comments after the previous changes 1259 tweaks: do not change the pointer, but move the content of the string 1260 tweaks: drop a small optimization for invalid UTF-8 starter bytes 1261 tweaks: elide a variable, by using a reallocation instead 1262 tweaks: fold some conditions into bitwise masks, for efficiency 1263 tweaks: fold two similar and three identical cases together 1264 tweaks: move 'set indicator' to its alphabetical place in the manual 1265 tweaks: move the displaying of the state letters into a separate function 1266 tweaks: push back the deprecation of the 'set nowrap' option 1267 tweaks: put the new options in a consistent order in the code 1268 tweaks: reduce the scope of a static variable 1269 tweaks: remove some #ifdefs that were there only for Slang 1270 tweaks: rename a variable, to be similar to its sister 1271 tweaks: reshuffle a condition, to probably avoid an unneeded calculation 1272 tweaks: reshuffle an option, to have two related ones grouped together 1273 tweaks: reshuffle some lines, to group things better 1274 tweaks: reshuffle some lines, to have most #includes near the beginning 1275 tweaks: reshuffle some more lines, to have most #defines together 1276 tweaks: reshuffle two lines, and rename a variable to a plain word 1277 tweaks: reword the description of an option 1278 tweaks: simplify a bit of logic 1279 tweaks: use a boolean instead of an enumeration of two values 1280 undo: remove the added magic line when a replacement caused one 1281 weeding: remove some obsolete information from the README 1282 1283 OIX (1): 1284 mouse: update title bar (the M flag) when the click is on the cursor 1285 1286 1287 Changes between v5.3 and v5.4: 1288 ------------------------------ 1289 1290 Benno Schulenberg (31): 1291 bindings: accept b for scrolling back up in help viewer and file browser 1292 build: exclude a workaround for VTE/Konsole when using a recent ncurses 1293 build: include a workaround for VTE only when using an older libvte 1294 bump version numbers and add a news item for the 5.4 release 1295 copyright: update to the current year for significantly changed files 1296 docs: adjust for the changed name of the header-file package on Debian 1297 docs: use standard-compliant HTML entities for the four arrows 1298 feedback: abort when user tries to open multiple files in tiny version 1299 gnulib: update to its current upstream state 1300 help: allow the penultimate item extra space when the number is uneven 1301 help: show all valid help items also in the Write-Out menu 1302 linting: avoid putting the cursor beyond the end of the line 1303 moving: skip combining characters and other zero-width characters 1304 options: do not spew out the help text when an option is not recognized 1305 prompt: skip over combining characters also when editing a search string 1306 rcfile: stop accepting 'set view' in a nanorc file, and undocument it 1307 statusbar: properly pluralize the line+word+character count report 1308 tweaks: avoid copying an option's argument when there is no need 1309 tweaks: normalize the formatting after the previous two changes 1310 tweaks: rename two variables and improve two comments 1311 tweaks: rename two variables, one for contrast, another for visibility 1312 tweaks: reshuffle a fragment of code, for clarity 1313 tweaks: reshuffle a line, elide two braces, and adjust the indentation 1314 tweaks: reshuffle three lines and elide braces after the previous change 1315 tweaks: slightly shorten a loop, to place the actual action outside of it 1316 tweaks: use the standard symbols for the three standard file descriptors 1317 utils: die when trying to allocate zero bytes 1318 weeding: remove another unneeded workaround for VTE 1319 weeding: remove a workaround for early versions of ncurses-6.0 1320 weeding: remove a workaround for versions of ncurses before 5.9 1321 weeding: remove a workaround for VTE that is not needed 1322 1323 1324 Changes between v5.2 and v5.3: 1325 ------------------------------ 1326 1327 Arturo Borrero González (1): 1328 syntax: nftables: include author and license lines 1329 1330 Benno Schulenberg (92): 1331 browser: make M-W/M-Q functional right after startup, if there is history 1332 browser: sort names that differ only in case with uppercase first 1333 browser: wipe the status bar before searching again with M-W or M-Q 1334 build: abort the update script if a PO file contains a control character 1335 build: avoid two compiler warnings when gnulib has been ripped out 1336 build: do not accept --enable-libmagic when not having color support 1337 build: do not let Slang translate escape sequences to key codes 1338 build: exclude bunches of raw escape sequences from the tiny version 1339 build: exclude --emptyline, --jumpyscrolling, and --noread from tiny nano 1340 build: exclude excessive version information from the tiny version 1341 build: exclude option --tabsize (-T) from the tiny version 1342 build: exclude reading a file from standard input from the tiny version 1343 build: exclude the three --help column headers from the tiny version 1344 build: include some raw sequences for the graphical Debian installer 1345 build: stop using an obsolete macro, and use 'void' for signal handlers 1346 build: to verify wide curses, probe for a function that cannot be a macro 1347 bump version numbers and add a news item for the 5.3 release 1348 chars: reduce searching time with roughly 85 percent for plain ASCII 1349 display: do not unnecessarily wipe the status bar 1350 display: do not wipe the status bar when the terminal has just one row 1351 display: force the cursor to reappear after a message (when using Slang) 1352 display: force the cursor to reappear in a better way (when using Slang) 1353 display: skip a special-case refresh when a message was written 1354 docs: add a link to the website also to the info manual 1355 docs: add the customary (1) after the name of command-line programs 1356 docs: condense the descriptions of cutting and pasting 1357 docs: explain the purpose of -! / --magic / 'set magic' 1358 docs: explain the 'set scrollercolor' option, for coloring the indicator 1359 docs: explain what the options --stateflags (-%) and 'set stateflags' do 1360 docs: improve two wordings in the sample nanorc 1361 docs: mention that syntax definitions are available in /usr/share/nano/ 1362 feedback: don't give a hint for <Bsp>, and not after an Alt+key was used 1363 feedback: in the tiny version, let M-H show the helpful hint too 1364 feedback: make an "Unbound key" message disappear on the next keystroke 1365 feedback: show a helpful message for ^G even when there is no help 1366 feedback: show helpful message for the first ^H at the top of the file 1367 gnulib: update to its current upstream state 1368 help: do not leave the cursor on the status bar after a search 1369 help: do not show "^G Help" in the tiny version when there is no help 1370 help: ensure the help lines are always drawn, also when using Slang 1371 help: in the tiny version, show Prev/Next Word before Backward/Forward 1372 help: nicely pair menu items also when built with just --disable-help 1373 new feature: option --stateflags to show some states in top-right corner 1374 options: add -? as a synonym of -h (--help), but leave it undocumented 1375 options: move --stateflags (-%) and --magic (-!) to the end of the list 1376 options: require --magic or 'set magic' to enable the use of libmagic 1377 rcfile: add 'set scrollercolor', for changing the color of the indicator 1378 suspension: do not enter an invalid byte upon resume (when using Slang) 1379 suspension: properly resume from an external SIGSTOP 1380 suspension: resume properly from an external SIGSTOP (when using Slang) 1381 suspension: switch off flow control at the right moment (for Slang) 1382 syntaxes: add author and license lines to four of the files 1383 syntax: nanorc: stop coloring 'morespace' and 'smooth' as valid 1384 syntax: nanorc: stop coloring 'nopauses' and 'nowrap' as valid 1385 syntax: nanorc: stop coloring 'quiet' and 'backwards' and 'finalnewline' 1386 syntax: po: do not leave the occasional tab with a red background color 1387 syntax: po: highlight embedded control codes that shouldn't be there 1388 syntax: sh: recognize some shell scripts by their Emacs modeline 1389 tweaks: add a hint for translators 1390 tweaks: add some comments to the C syntax, and sort some keywords 1391 tweaks: adjust some whitespace in the docs, and improve a comment 1392 tweaks: avoid a compiler warning when compiling with more than -O1 1393 tweaks: condense a bit of code 1394 tweaks: condense a bit of code after the previous change 1395 tweaks: drop the unneeded saving and restoring of a global variable 1396 tweaks: dummy commit, to add some info about the previous one 1397 tweaks: elide a one-line function, after reducing it to a single call 1398 tweaks: fold one function into another, to elide an unneeded return value 1399 tweaks: harmonize the spelling of a compound word, and rewrap a section 1400 tweaks: harmonize the style of error messages and warnings in ./configure 1401 tweaks: make two of the changes that 'autoupdate' suggests 1402 tweaks: move three functions, to before the ones that call them 1403 tweaks: move two more functions, to before the ones that call them 1404 tweaks: move two more functions, to before the one that calls them 1405 tweaks: normalize the indentation after the previous change 1406 tweaks: remove an inconsistent newline from the end of an error message 1407 tweaks: remove an unused element from 'funcstruct', saving 8 more bytes 1408 tweaks: remove mistaken escape sequences for function keys on xterm 1409 tweaks: remove two stray comments and two lines that were commented out 1410 tweaks: rename another variable, away from being misnamed 1411 tweaks: rename four variables, reshuffle them, and correct one type 1412 tweaks: rename two elements of history struct, away from abbreviations 1413 tweaks: rename two variables, to be more distinct 1414 tweaks: replace two more occurrences of 'AC_TRY_RUN' with 'AC_RUN_IFELSE' 1415 tweaks: reshuffle a condition, to elide a blank string 1416 tweaks: reshuffle some lines after the previous change 1417 tweaks: reshuffle some lines and adjust indentation after previous change 1418 tweaks: reshuffle two lines and a function name, for a consistent order 1419 tweaks: rewrap nine more old NEWS items, for balanced line lengths 1420 tweaks: rewrap three NEWS items, for more balanced line lengths 1421 tweaks: stop 'autoupdate' from failing with "end of file in string" 1422 version: remove URL and email address from the --version output 1423 1424 Hussam al-Homsi (5): 1425 syntax: c: colorize also one-character constants, and the null directive 1426 syntax: c: colorize also the keywords that start with an underscore 1427 syntax: c: colorize also the 'restrict' keyword, and the #line directive 1428 tweaks: reorder a member of 'funcstruct', to save 8 bytes of padding 1429 tweaks: stop casting the return of malloc() and friends 1430 1431 Ryan Westlund (1): 1432 syntax: markdown: add author and license line 1433 1434 1435 Changes between v5.1 and v5.2: 1436 ------------------------------ 1437 1438 Benno Schulenberg (30): 1439 build: stop distributing the README.GIT file 1440 build: stop mentioning Slang in two ./configure messages 1441 bump version numbers and add a news item for the 5.2 release 1442 display: restore the ability to resize the screen while searching 1443 docs: add a cross-reference from 'findbracket' to 'set matchbrackets' 1444 docs: adjust description of ^T in cheatsheet, and mention M-Bsp 1445 docs: mention in the FAQ how to change the escape sequences of urxvt 1446 docs: reshuffle the section about the file browser to a better place 1447 gnulib: back away from a commit that causes trouble when using clang 1448 gnulib: update to its current upstream state 1449 history: do not interpret a failing stat() as an error 1450 input: allow also a Meta keystroke to abort a Search command 1451 input: dawdle after an ESC also when --rawsequences is used 1452 input: discard any multibyte character when <Alt> is being held 1453 input: do not enter invalid bytes when holding down both Alt keys 1454 input: hold on to a shift-selected region when an unbound key is struck 1455 rcfile: make sure that "bright"/"light" are prefixes, not separate words 1456 replacing: do not try to wipe nonexistent multidata, to avoid crashing 1457 search: poll the input stream directly, not nano's own keystroke buffer 1458 search: retain the current answer when something is toggled 1459 tweaks: adjust a comment, and reshuffle the setting of a boolean 1460 tweaks: condense two declarations 1461 tweaks: condense two fragments of code, for compactness 1462 tweaks: elide an unneeded variable 1463 tweaks: improve three comments and an indentation 1464 tweaks: move the keyboard-checking code to the end of the search loop 1465 tweaks: remove a variable and two functions that have become redundant 1466 tweaks: rename a variable, to not seem to refer to the scrollbar 1467 tweaks: reshuffle four declarations, and rename two variables 1468 verbatim: reserve enough space for the result also in non-UTF-8 locales 1469 1470 1471 Changes between v5.0 and v5.1: 1472 ------------------------------ 1473 1474 Benno Schulenberg (55): 1475 anchor: in a UTF-8 locale, show an anchor as a diamond, for visibility 1476 anchor: show an anchor also when the line is horizontally scrolled 1477 bindings: make <Alt+Backspace> delete a word backwards, like in Bash 1478 build: fix compilation for --enable-tiny --enable-nanorc --enable-color 1479 build: fix compilation when configured with --enable-tiny 1480 build: stop distributing the two old Changelogs 1481 bump version numbers and add a news item for the 5.1 release 1482 display: show the cursor position also right after the screen is resized 1483 docs: fix a closing tag in the FAQ [tidy] 1484 docs: mention that anchors are visible when line numbers are shown 1485 feedback: add the reason to the error message when forking fails 1486 feedback: use three dots to indicate processing, like everywhere else 1487 feedback: when creating a pipe fails, report also the reason 1488 files: do not try writing to the status bar while not in curses mode 1489 formatter: force the mark off, to not crash by accessing empty cutbuffer 1490 gnulib: update to its current upstream state 1491 help: list again the keystroke for toggling the help lines (M-X) 1492 input: understand M-Bsp also when terminfo does not match the terminal 1493 moving: make <Ctrl+Up> go to the top when above the cursor all is blank 1494 rcfile: allow to bind M-[ (even though it is an escape-sequence starter) 1495 softwrap: initialize the 'extrarows' value for the magic line correctly 1496 speller: give proper feedback when the user tries to check emptiness 1497 speller: give startup feedback (relevant when running on a Linux console) 1498 speller: re-enter curses mode before trying to report an error 1499 syntax: css: differentiate pseudo-classes (now cyan) from comments (blue) 1500 syntax: default: colorize also "GNU nano 5.x" 1501 tweaks: adjust the indentation after the previous change 1502 tweaks: adjust the indentation after the previous change 1503 tweaks: avoid a maybe-uninitialized-variable warning from gcc 1504 tweaks: elide an unneeded variable, by transforming the key code directly 1505 tweaks: elide two variables that are no longer needed, and update comment 1506 tweaks: exclude old and mistaken "Esc O" sequences from the tiny version 1507 tweaks: make a few more direct returns, and reshuffle another bit of code 1508 tweaks: make a misplaced call of statusline() more obvious by crashing 1509 tweaks: normalize the indentation after the previous change 1510 tweaks: normalize the indentation, and regroup two lines 1511 tweaks: optimize for byte-range characters, and shorten some comments 1512 tweaks: parse the escape-sequence bytes without copying them first 1513 tweaks: pass first byte of sequence directly to the decoding function 1514 tweaks: print error message directly instead of passing it to the caller 1515 tweaks: read keycodes from the keystroke buffer without copying them 1516 tweaks: remove an unneeded beep, and reshuffle the lines for compactness 1517 tweaks: reshuffle a few lines, to condense the code, and improve comment 1518 tweaks: reshuffle four lines, for esthetics 1519 tweaks: reshuffle some fragments, to make the next change easier 1520 tweaks: reshuffle the zeroing of a counter, to allow some direct returns 1521 tweaks: simplify two functions, as they now return always NULL 1522 tweaks: split a function into two, one for "Esc O" and one for "Esc [" 1523 tweaks: stop using a 'switch' when there are just three possibilities 1524 verbatim: discard entire keystroke when it's not valid for Unicode Input 1525 verbatim: do not report "Invalid code" when a Unicode character is typed 1526 verbatim: do not report "Invalid code" when the terminal is resized 1527 verbatim: insert the full code sequence when <Alt+Backspace> is pressed 1528 verbatim: pause a little after an ESC, to not miss a succeeding code 1529 verbatim: report and ignore an invalid keystroke for Unicode input 1530 1531 Michalis Kokologiannakis (2): 1532 build: avoid compilation warnings by using memcpy() instead of strncpy() 1533 files: ignore only EPERM when fchmod() or fchown() fails 1534 1535 1536 ====================================================================== 1537 For older changes, see in https://ftp.gnu.org/gnu/nano/nano-5.0.tar.xz 1538 ======================================================================