ChangeLog 39.8 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700
Changes between v2.7.2 and v2.7.3:
----------------------------------

Arturo Borrero González (1):
      syntax: nftables: add two new families, and add set references

Benno Schulenberg (62):
      binding: use plain codes instead of function calls for the jumping keys
      binding: use the code for the Enter directly instead of a function call
      bump version numbers and add a news item for the 2.7.3 release
      chars: optimize for the most common case
      chars: use memory on the stack instead of calling malloc() and free()
      docs: clarify the difference between "Esc Esc ddd" and "M-V xxxxxx"
      files: don't change embedded newlines into nulls in filenames
      files: show newlines in filenames as ^J also in error messages
      general: simplify the detection of a SIGWINCH
      history: avoid crashing when the positionlog file is malformed
      history: don't bother encoding search items -- they cannot contain newlines
      history: encode newlines in filenames as nulls
      history: search for the two position numbers from EOL instead of BOL
      history: search items *can* contain newlines -- encoded NUL bytes
      input: detect again when both Shift and Ctrl are being held on a VT
      input: discard a verbatim 0x0A or 0x00 byte, depending on the mode
      input: don't crash when receiving a KEY_CANCEL
      locking: disable an annoying warning
      memory: don't bother making a snug fit for things that will be freed soon
      oops: forgot to add and amend this to the previous commit
      po: update translations and regenerate POT file and PO files
      prompt: do not treat a leading newline in a filename specially
      prompt: represent newlines as ^J instead of breaking the bar
      screen: display byte value 0x0A in the right places as ^@ or as ^J
      screen: draw new content immediately, to prevent color flashes
      screen: show an embedded newline in filenames as ^J instead of ^@
      text: avoid a crash when a spell-checked line has gotten shorter
      text: discard the undo stack after formatting and after spell checking
      titlebar: always pass a pathname through display_string()
      tweaks: adjust some comments and indentation and ordering
      tweaks: chuck a special case, and reduce the scope of two variables
      tweaks: condense the setting of three flags
      tweaks: conditionalize a function that is not used in the tiny version
      tweaks: delete a bunch of unneeded asserts
      tweaks: don't bother making the next line of an end point NULL
      tweaks: don't bother reallocating a string of which there is only one
      tweaks: don't bother trimming the final newline from a position item
      tweaks: drive closer to the edge
      tweaks: elide a counter and a comparison
      tweaks: elide a function that is called just once
      tweaks: move a setting to a better place -- it needs setting just once
      tweaks: put some prototypes in the proper order, and move a bit of code
      tweaks: remove pointless or obscuring asserts
      tweaks: rename a function to describe what it does
      tweaks: rename a function to something less abbrevy
      tweaks: rename a variable and rewrap two lines
      tweaks: rename a variable to be shorter and clearer
      tweaks: rename five variables, for uniformity with a few others
      tweaks: rename four variables, for density and aptness
      tweaks: rename three variables, for visibility
      tweaks: rename three variables, to be more fitting
      tweaks: rename two variables, for self-documentation
      tweaks: retype, rename, and reshuffle a function
      tweaks: start searching at a better place
      tweaks: use a faster comparison
      tweaks: use a slightly faster comparison
      tweaks: use memory on the stack instead of calling malloc() and free()
      tweaks: write two pieces of conditionalized code like all others
      undo: there are just two forms of deletion: backspacing and deleting
      utils: go on to parse the line number even if the column number is bad
      utils: slightly speed up the calculation of the size of a buffer
      version: properly mention --disable-wordcomp if it was used

David Lawrence Ramsey (2):
      tweaks: adjust the type of two arguments
      tweaks: elide two unneeded variables from line numbering mode


Changes between v2.7.1 and v2.7.2:
----------------------------------

Benno Schulenberg (53):
      binding: allow to rebind the word-completion function, and document it
      binding: always initialize some keycode variables to a standard value
      build: add configure option --disable-wordcomp to disable word completion
      build: clean out the revision.h file, to make 'make distcheck' pass
      bump version numbers and add a news item for 2.7.2
      docs: correct and improve the description of --disable-wrapping
      docs: harmonize the indentation of the README, and tweak some wordings
      docs: mention that a foreground color can be bright
      docs: mention that libncursesw5-dev is needed for building from git
      docs: note Sumedh as the author of the word-completion feature
      docs: tweak some lines in the NEWS file
      files: trying to open a non-existent file will never succeed
      input: add the shifted PageUp and PageDown keycodes produced by VTE
      input: distinguish <Alt+Left> from <Alt+Right> on an rxvt terminal
      input: distinguish <Shift+Home> from <Home> on an rxvt terminal
      mouse: use the correct screen width for calculating the cursor position
      oops: the yesno prompt for replacing does not want a visible cursor
      po: update translations and regenerate POT file and PO files
      prompt: remove two fragments of dead code
      rcfile: actually avoid opening directories and devices
      rcfile: actually don't try to open things that cannot be syntax files
      rcfile: check the vital shortcuts just once, not for every included file
      rcfile: let a 'set fill' reenable hardwrapping
      screen: do a refresh before changing the value of 'focusing'
      screen: don't hide the cursor when --constantshow is used
      screen: don't request an update of the edit window for every yesno prompt
      screen: don't restore the previous menu after a yesno prompt
      screen: remove an unneeded blanking of the statusbar
      screen: switch the cursor back on only in the main loop
      screen: use the correct width to determine whether a softwrap occurred
      spelling: correctly restore the selected region
      startup: activate restricted mode earlier, so --help will reflect it
      syntax: don't leave the number after 'fill' and 'tabsize' in red
      syntax: give the statistics part of a git patch a different color
      tweaks: add a few translator hints
      tweaks: correct the wording of a string
      tweaks: delete some obscuring debugging stuff
      tweaks: factor out a small function
      tweaks: fix compilation when configured with --enable-tiny
      tweaks: get rid of some spurious textual references to edit_refresh()
      tweaks: miscellaneous frobbings and rewrappings
      tweaks: move a cursor-on switch to a more logical place (again)
      tweaks: move a switching on of the cursor to a more logical place
      tweaks: remove a bit of obscuring conditional compilation
      tweaks: remove an annoying conditional compilation of an argument
      tweaks: remove a superfluous cleanup call
      tweaks: remove some cluttering conditional compilation
      tweaks: remove some more annoying conditional compilation
      tweaks: rename two variables to make more sense
      tweaks: replace some unneeded direct calls of edit_refresh()
      tweaks: reshuffle some things in a more linear manner
      tweaks: reshuffle three initializations and trim some comments
      tweaks: use a while loop when the end point is not known in advance

David Lawrence Ramsey (8):
      docs: add info about Slang to README.GIT, and improve info about glib2
      files: give feedback when restricted mode prevents overwriting a file
      general: gettextize three overlooked statusbar messages
      input: make Shift+Alt+Arrow work properly on rxvt and Eterm terminals
      input: properly check the full escape sequences for all keys
      moving: always account for the margin when in line numbering mode
      tweaks: adjust the type of four lockfile variables
      tweaks: conditionalize a bit of softwrap code

Mike Frysinger (3):
      configure: fix ncurses lib symbol checking
      syntax: avoid using black colors
      syntax: gentoo: various updates

Sumedh Pendurkar (1):
      new feature: complete a fragment to a longer word found in the buffer


Changes between v2.7.0 and v2.7.1:
----------------------------------

Benno Schulenberg (71):
      binding: fix some duplicated carets and too restrictive menus
      binding: properly conditionalize the UTF-8 parts
      binding: supply the keycode for most special keys directly
      binding: use arrows instead of words to designate the cursor keys
      browser: add the option showcursor, to place the cursor on the highlight
      build: avoid an annoying warning at configure time
      build: avoid updated PO files being remerged upon every make
      bump version numbers and add a news item for 2.7.1
      docs: add 'linenumbers' and 'numbercolor' to the sample nanorc
      docs: add 'set linenumbers' and '--linenumbers' to the texinfo document
      docs: brush up the TODO list
      docs: mark some rebindable function names as deprecated
      docs: mention the existence of the toggles in the man page
      docs: refresh some info in the FAQ
      docs: remove a reference that was only valid on Debian systems
      files: alert about an unwritable file also in the tiny version
      files: mark a new buffer as modified after inserting command output
      general: add the option -g/--showcursor, to match Pico
      general: include word-jumping and block-jumping into the tiny version
      history: slate the search-history migration for removal
      input: don't return zero when some function is completely unbound
      input: handle the "resize key" in a better way
      input: keep the Ctrl+Arrow keys working when their synonyms are unbound
      moving: adjust the Y position to correspond with the changed X position
      po: update translations and regenerate POT file and PO files
      rcfile: add an option to customize the color of line numbers
      screen: defeat a VTE bug by doing an extra cursor move and update
      screen: keep the help items aligned in more configurations
      screen: keep the help items nicely lined up also in the tiny version
      screen: move the margin determination to the main loop
      screen: refresh when a new magicline is added in line-numbering mode
      screen: repaint the edit window in a single place -- the main loop
      screen: suppress line numbers when the terminal is very narrow
      scrolling: don't put the last line at the bottom when softwrap in on
      scrolling: use a comparison that will work also in softwrap mode
      softwrap: ensure the current line is fully visible when moving in it
      softwrap: initialize 'editwincols' early, for computing the number of wraps
      softwrap: scroll 'enough' whenever it surpasses 'amount'
      softwrap: scroll the current line fully into view when jumping words
      softwrap: scroll when searching lands on an overlong bottom line
      startup: allow to rebind the RegExp toggle also in the tiny version
      startup: always initialize 'margin' and 'editwincols'
      syntax: make the contents of the X-Bugs field in a PO file stand out
      syntax: show another deprecated keyword (replace2) in red
      syntax: show deprecated keywords in red, and 'wordchars' in green
      tweaks: adjust some comments and reduce the scope of some variables
      tweaks: adjust some indentation
      tweaks: adjust some whitespace and a comment
      tweaks: compile two parameters unconditionally
      tweaks: don't bother redrawing some lines when whole screen will be redrawn
      tweaks: don't spread a statement over multiple lines unnecessarily
      tweaks: elide an unneeded variable
      tweaks: elide a parameter that is always FALSE
      tweaks: fix compilation when configured with --enable-tiny
      tweaks: frob a few comments
      tweaks: make several small adjustments to the documentation
      tweaks: make tiny nano a teeny bit smaller
      tweaks: move a variable that doesn't need to be global
      tweaks: preen some comments, and reshuffle a few ifdefs
      tweaks: remove a band-aid condition that is no longer needed
      tweaks: remove a bit of duplication
      tweaks: remove a superfluous blanking of the statusbar
      tweaks: remove a superfluous setting, and add a comment
      tweaks: remove a useless cursor movement
      tweaks: rename a function to better describe what it does
      tweaks: rename a variable, for consistency
      tweaks: reshuffle a couple of items
      tweaks: reshuffle an if statement
      tweaks: reshuffle some ifdefs, for less fragmentation
      tweaks: stop compiling the whole_word_only parameter conditionally
      tweaks: use hard-baked keycodes where possible

Faissal Bensefia (1):
      new feature: the ability to show line numbers before the text

Rishabh Dave (2):
      rcfile: reject key names that are wrong or too long
      rcfile: reject rebindings that have no effect or have side effects


Changes between v2.6.3 and v2.7.0:
----------------------------------

Benno Schulenberg (47):
      AUTHORS: add Mahyar Abbaspour and Mike Scalora for their contributions
      bottombar: only count help items that have a shortcut bound to them
      bump version numbers and add a news item for 2.7.0
      docs: explain how to contribute code
      files: close a lockfile after reading it
      input: ignore the resize "key", to prevent reporting an unbound key
      input: look at the modifier keys only when compiled on Linux
      input: unset a softmark whenever a character is typed
      moving: make PgUp and PgDown functional also in very flat terminals
      new feature: allow text selection by holding Shift with the cursor keys
      po: update translations and regenerate POT file and PO files
      prompt: don't crash when the terminal is less than four columns wide
      prompt: leave always at least the last character of the answer visible
      prompt: mouse clicks that moved the cursor need no further processing
      prompt: recompose the statusbar text whenever the window size changes
      prompt: set up the prepared answer before allowing to change it
      prompt: show a trailing $ when the tail of the answer is offscreen
      prompt: use angular brackets as continuation mark, as Pico does
      prompt: work around a VTE bug by outdancing an ncurses optimization
      restore the GNU marker in nano's name
      screen: continue to function also in a terminal with very few lines
      screen: don't die when the window is narrower than four columns
      screen: retain the placewewant also when using an alternate speller
      startup: don't crash when dying early
      statusbar: leave out the brackets when the message is very long
      tweaks: adjust indentation after previous change
      tweaks: adjust indentation after previous change
      tweaks: adjust some braces and indentations
      tweaks: adjust some comments and remove needless asserts
      tweaks: don't bother avoiding unneeded rewrites of the promptbar
      tweaks: don't bother trimming the prompt again
      tweaks: elide a variable and rename some others
      tweaks: fix compilation when configured with --with-slang
      tweaks: fix compilation with --disable-histories
      tweaks: fix compilation with --enable-tiny again
      tweaks: improve some indentation and reshuffle a few lines
      tweaks: make a call in one place instead of in four different ones
      tweaks: remove an unneeded check, reshuffle some things, add a comment
      tweaks: rename a function and adjust indentation
      tweaks: rename three variables
      tweaks: rename two variables, to make some sense
      tweaks: reshuffle some stuff in a more logical order
      tweaks: reshuffle some things, and remove a misplaced comment
      tweaks: simplify the determination of the number of shown help items
      tweaks: use a separate function to ask ncurses for keycodes
      update the copyright notices
      update the license text to the preferred version


Changes between v2.6.2 and v2.6.3:
----------------------------------

Benno Schulenberg (53):
      bump version numbers and add a news item for 2.6.3
      chars: don't persist when only one of the compared sequences is invalid
      chars: make searching case-insensitively some ten percent faster
      chars: properly compare strings of different lengths
      chars: remove a special case that never occurs
      chars: remove superfluous afterchecks
      chars: straighten out the flow of a loop, so it is easier to follow
      debug: add a timing instrument to the main search routine
      docs: tweak some spacing and spelling
      files: avoid a warning about not being able to write a lockfile
      files: make allowances for 32-bit PIDs
      input: after an Esc, don't discard starter byte of a multibyte sequence
      input: be more strict in recognizing certain escape sequences
      input: don't bother putting a keycode into byte range
      input: don't use a function call when a literal value will do
      input: fix a pasto from eight years ago, from commit e347efb
      input: ingest as verbatim just one control code or one or two escapes
      input: make the Ctrl+Arrow keys work on a Linux console
      locking: remove any lock files when dying
      po: update translations and regenerate POT file and PO files
      screen: don't look at placewewant but at where we actually were and are
      screen: remove redundant redrawings of the entire edit window
      shortcuts: group the setting of key string and keycode into one function
      shortcuts: remove any unnecessary classifying of keys
      spelling: don't abort when a misspelled word isn't found, just note it
      spelling: don't consider digits as word parts, because GNU spell doesn't
      tweaks: add a variable, in preparation for making returning easier
      tweaks: adjust indentation after previous changes
      tweaks: adjust indentation after the previous changes
      tweaks: check earlier on for sufficient length of the sequence
      tweaks: compile a parameter unconditionally
      tweaks: condense three asserts into a single one
      tweaks: consistently use a parameter instead of a struct element
      tweaks: correct one comment, and adjust another
      tweaks: don't bother setting meta_key to false when a key is invalid
      tweaks: don't optimize for a special case -- it is far too seldom
      tweaks: don't use a function call when reference to the variable will do
      tweaks: elide the global variable 'func_key'
      tweaks: move some debugging stuff, and move modified editing keys too
      tweaks: move the modified editing keys again
      tweaks: normalize some indentation
      tweaks: normalize some whitespace and adjust several comments
      tweaks: reduce two comparisons to a single one
      tweaks: remove some unnecessary keycodes from a switch statement
      tweaks: rename a function, and adjust some comments
      tweaks: rename a struct element, to be more fitting
      tweaks: rename three constants, for clarity, and hardcode two others
      tweaks: replace a three-case switch with an if and an else
      tweaks: reshuffle two ifs for a little more speed
      tweaks: restore earlier conditions to prevent superfluous redrawings
      tweaks: return quicker from the key parsing routine
      tweaks: unconditionally compile a couple of parameters
      usage: show that the option --wordchars needs an argument

Rishabh Dave (1):
      shortcuts: zero the value of 'toggle' for keys that are not toggles


Changes between v2.6.1 and v2.6.2:
----------------------------------

Benno Schulenberg (81):
      browser: elide another call of opendir()
      browser: trim all trailing slashes (just in case there are more)
      build: refresh the git description whenever something is recompiled
      build-sys: ignore the revision header file
      bump version numbers and add a news item for 2.6.2
      chars: delete a now-unused function
      chars: don't try to see a character in an empty line
      chars: invalid sequences are not blank, nor text, nor punctuation
      chars: look at bytes in their context, so only valid sequences are accepted
      chars: measure invalid sequences and unassigned codepoints more quickly
      chars: plug a gushing memory leak
      chars: represent the high-bit controls more intelligibly
      chars: speed up the determination whether something is a control character
      chars: speed up two reverse-searching routines a bit
      chars: the representation of a control character is always two bytes
      color: forget about aborting the precalculation for multiline regexes
      color: integrate the hilite attribute into the pair number
      color: push the resets further when start and end match are equal
      color: refresh the screen whenever the active syntax changes
      credits: don't bother blanking the second line nor the help lines
      debug: remove duplicate information
      files: beep whenever writing out a file fails
      input: accept only the four iTerm sequences that actually get handled
      input: add some missing keycodes to the parsing routine
      input: consider only O, o and [ as starters of multi-character sequences
      input: don't crash when the window is resized during verbatim input
      input: don't drop a keystroke on the floor when the terminal resizes
      input: don't drop the first byte when user starts typing during loading
      input: elide an extra buffer for inserting stuff into the text
      input: plug a memory leak
      input: report keystroke M-[ as being unbindable instead of just unbound
      input: treat Ctrl+Alt+key different from Esc followed by Ctrl+key
      moving: don't do an automatic smart home with Ctrl+Up and Ctrl+Down
      new feature: add the option --wordchars, to set extra word characters
      new feature: functions to jump to previous or following block of text
      po: update translations and regenerate POT file and PO files
      screen: again, look at the bytes in their context
      screen: avoid converting each character twice from multibyte to wide
      screen: avoid looking up the width of whitespace and control codes
      screen: don't check for every character whether there is still enough space
      screen: don't simulate a sigwinch but directly reinitialize the screen
      screen: elide another intermediate buffer for every visible character
      screen: elide the intermediate buffer for every single character
      screen: include a workaround only when compiling against older ncurses
      search: match a beginning-of-line anchor just once per line
      tweaks: adjust a comment for removed definitions
      tweaks: adjust a couple of comments
      tweaks: adjust indentation after the previous change, and edit comments
      tweaks: avoid a runtime error when compiled with -fsanitize=undefined
      tweaks: avoid two compiler warnings
      tweaks: compute the sizes of the subwindows in a more direct manner
      tweaks: correct a comment
      tweaks: delete an element that is always FALSE and never used
      tweaks: don't bother resetting the Unicode code holder
      tweaks: don't call a thing malloc... when it doesn't call malloc()
      tweaks: elide a bit of code duplication
      tweaks: elide a typedef, as it now has just one element
      tweaks: elide two unneeded variables
      tweaks: factor out a common condition
      tweaks: fix compilation with --enable-tiny
      tweaks: fuse two handlings of a delete key, and fix a comment
      tweaks: improve a few comments
      tweaks: improve two comments
      tweaks: move a debug statement to its proper place, and improve aspect
      tweaks: put all the movement functions together
      tweaks: put similar things together
      tweaks: put some case labels closer to their statements
      tweaks: put the case labels (the keycodes) in a more sensible order
      tweaks: rearrange a function in my style, and rename a variable
      tweaks: reduce the scope of two variables
      tweaks: rename another variable, for aptness
      tweaks: rename a variable and a type, to be less confusing
      tweaks: rename a variable to be more accurate
      tweaks: rename a variable, to clarify it refers to columns, not to bytes
      tweaks: rename a variable -- to match others and to be more concise
      tweaks: rename two variables, to match others
      tweaks: shuffle the resetting of a counter to the tail of the routine
      tweaks: straighten out the flow of a loop
      tweaks: trim some comments, and simplify a condition
      tweaks: use mallocstrcpy() instead of strdup(), for a graceful death
      utils: don't bother to check line and column for NULL

David Lawrence Ramsey (1):
      input: provide feedback on the Unicode digits typed so far

Dirkjan Ochtman (1):
      syntax: allow capital letters in Rust struct/trait names

Rishabh Dave (4):
      browser: elide a variable by fusing the uses of 'newpath' and 'path'
      browser: select an inaccessible directory also when tabbed
      tweaks: reduce the number of wattron/wattrof calls
      utils: accept mistypings and common separators between line and column


Changes between v2.6.0 and v2.6.1:
----------------------------------

Benno Schulenberg (20):
      browser: don't use a term that is not explained in the documentation
      bump version numbers and add a news item for 2.6.1
      docs: adjust the description of the verbatim function
      linter: refresh the edit window in order to actually place the cursor
      main: let the main loop restore the main menu, if needed
      moving: allow specifying negative numbers in "Go To Line"
      moving: ignore any number when ^Y or ^V is given
      po: make the linguas script regenerate the POT file
      po: update translations and regenerate POT file and PO files
      tabs: compute the number of required spaces without iterating
      tweaks: add a reporter's name
      tweaks: add a translator hint
      tweaks: elide an impossible case
      tweaks: elide an intermediate copy of some line data
      tweaks: elide an unneeded variable
      tweaks: fix a date and an email address
      tweaks: normalize a type, and rewrap a line
      tweaks: reshuffle two lines and improve two comments
      tweaks: rewrap a bunch of lines and some comments
      tweaks: try to distinguish between keystrokes and characters

Jordi Mallach (2):
      docs: bump pointers to the newest version available
      docs: use https for nano-editor.org, and drop the www

Luke Francl (1):
      syntaxes: add highlighting rules for Rust

Rishabh Dave (1):
      browser: don't seem to enter a directory when it is inaccessible


Changes between v2.5.3 and v2.6.0 since 2016 April 1:
-----------------------------------------------------

Benno Schulenberg (192):
      all: eradicate SVN's $Id$ tags
      backups: take an unlikely condition into account
      browser: add a binding for the refresh function
      browser: after getting a mouse click, don't try any further interpretation
      browser, files: use full path in error message when in confined mode
      browser: fix a memory leak
      browser: keep the highlight in the same spot or column, when possible
      browser: make Ctrl+Left and Ctrl+Right jump to left and right column
      browser: make the calculation of files-per-line a straightforward one
      browser: provide tab completion also outside of the working directory
      browser: rearrange the search loop to elide two unneeded variables
      browser: show a message when getcwd() fails, instead of just beeping
      browser: show an error message when selecting an inaccessible directory
      browser: use the reselection mechanism also after resizing and after help
      browser: when nothing was found, restore the global search flags
      build-sys: detect a build from git and show its short commit hash
      build-sys: identify a build from git not as one from svn
      build-sys: ignore .patch, .orig and .swp files
      chars: a control character can never be an invalid multibyte sequence
      chars: ensure that files are sorted also when strncasecmp() is strange
      chars: make comparing multibyte strings twice as fast
      chars: the representation of control characters is always two columns wide
      docs: add a list of the important changes since version 2.2.6
      docs: mention that pkg-config is needed when building from git
      docs: rename a file, to be less confusing
      docs: update the version number for the upcoming release
      files: allocate enough space for the prompt when finding a lock file
      files: do not call free on the result of dirname
      files: do not use two variables for two different purposes each
      files: don't reuse a variable that may have been modified by dirname()
      files: fix a memory leak
      files: free all the multidata when a file is saved, then recompute it
      files: handle systems that disallow NULL as first parameter of getcwd
      files: it is fine to "change" the name of a nameless buffer
      files: limit the number of attempts at climbing up the directory tree
      files: make an 'if' more transparent and snip an unneeded condition
      files: miscellaneous tweaks of braces, comments, and variable names
      files: prevent dereferencing a possible (although very unlikely) NULL
      files: prune a message to be less than 76 characters
      files: recompute the multidata only when the applicable syntax changed
      files: remove a redundant condition
      files: remove a superfluous condition, and do not ignore a "No"
      files: remove the special 'quiet' mechanism for not overwriting messages
      files: report an unwritable file in a separate message
      files: rewrap en reindent some lines
      files: tweak the function tail() and rename two variables
      files: upgrade the locking errors, so they will not be overwritten
      files: when opening a buffer, make sure to expand a tilde in its name
      files: when the requested operating directory cannot be set, fail
      files: when writing a lockfile fails, continue loading the file
      help: add an extra blank line to the lists of searching shortcuts
      help: bring some air into the lists of shortcuts, giving the eye a hold
      help: only speak of Control and Meta sequences
      i18n: advise the translators about the maximum length of some strings
      i18n: gather three more translatable strings into the POT file
      input: after an unknown sequence, reenable cursor only when in main menu
      input: distinguish an unknown escape sequence from an unbound key
      input: don't allocate too much, and don't move too many
      input: don't take multiple keystrokes to be a single sequence
      input: give more detailed feedback when an unbound key is struck
      input: properly restore waiting mode, or retain non-waiting mode
      input: simplify a bit of code, reducing a four-case switch to a single if
      input: trim some oververbose comments
      input: write a few ifs more compactly
      inserting: differentiate not finding a file from not finding a string
      inserting: don't bother zero-terminating every single character
      inserting: prune a duplicate variable
      inserting: prune some superfluous settings, and do one differently
      inserting: reshuffle some conditions for a teeny bit more speed
      inserting: strip a carriage return before copying the line
      inserting: treat also the final \r of a Mac file as a newline
      justify: enable cursor display also for the first keystroke afterward
      keyboard: reshuffle some lines to avoid an empty while
      locking: don't try to read more bytes than the buffer can hold
      po: correctly advertise whether new PO files have arrived
      po: delete an obsolete script
      po: regenerated POT file, and updated PO files from TP
      prompt: properly save and restore the x position in the statusbar
      rcfile: disallow 'bind' and 'unbind' in an included file
      rcfile: make an error message equal to another, and more informative
      README.GIT: reformat the text a bit
      remove the GNU marker from nano's name
      replacing: properly detect when we've rereached the starting position
      screen: a full refresh is only needed when softwrap is on
      screen: avoid redrawing a line twice
      screen: catch a window resize also when the keyboard is in nodelay mode
      screen: check for the most frequent character first: a space
      screen: concentrate the setting of placewewant
      screen: displaying the cursor position should not suppress it next time
      screen: don't always set 'edit_refresh_needed' when adjusting edittop
      screen: don't redraw some lines when doing a full refresh anyway
      screen: don't redraw the current line unnecessarily
      screen: elide a variable and serialize some logic for clarity
      screen: fix compilation when configured with --enable-tiny
      screen: improve the conditional placement of a help-line item
      screen: make better use of the available space in the titlebar
      screen: rename a variable, because 'disable' sounds too permanent
      screen: rename 'edit_refresh_needed' to 'refresh_needed'
      screen: when using positionlog, show as much of the file as possible
      scrolling: catch the special case of reading a file from standard input
      scrolling: center the cursor when inserted stuff does not fit on screen
      scrolling: don't scroll too much when having to bridge blank lines
      scrolling: elide a variable, to make clearer that edittop is being moved
      search: avoid saving and restoring placewewant when bracket matching
      search: don't set placewewant when we are just iterating
      search: elide an unneeded function
      search: find, and thus delete, only exact matches from history
      search: fix compilation when configured with --enable-tiny
      searching: don't keep track of current_y, but calculate it at the end
      search: modify a function to take a length as parameter instead of a word
      search: rename a variable and a function, for clarity and contrast
      search: terminate the loop a tiny bit earlier when spell checking
      search: untangle two lines and tweak two comments
      search: when looking for whole words, examine the entire line
      search: when polling the keyboard, consume all waiting keystrokes
      softwrap: adjust for current_x when computing the amount to scroll
      speller: don't proceed when the user aborts the searching
      speller: simplify the calculation of the width of the misspelled word
      spelling: don't partition the file for replacements in a marked region
      spelling: gettextize the next-word message
      spelling: if rereading the file fails, don't destroy the current buffer
      spelling: pass the correct position of the cursor
      spelling: retreat one x position, to not miss the first word
      spelling: separate the fixing of different words with a short pause
      startup: show an error message when argument of --operatingdir is invalid
      statusbar: add a non-beeping message type that does not get overwritten
      statusbar: prevent error messages from overwriting each other
      syntax: don't call getcwd() with a NULL pointer
      tabbing: avoid recalculating the length of the first match every time
      tabbing: don't null-terminate a directory name on the slash but after it
      tabbing: don't refresh the edit window when nothing was printed on it
      tabbing: fix erroneous use of strnlenpt()
      tabbing: make sure to refresh the edit window when returning to it
      tabbing: refresh the edit window in case a previous tab listed names
      tabbing: refresh the window also when Goto-Dir in browser was cancelled
      tabbing: rename four variables, snipping a redundant part
      text: add an undo item before starting to comment or uncomment lines
      text: after undoing or redoing something, unset the mark
      text: remove a pointless setting of an undo element; it is never used
      text: remove a redundant undo element
      text: store the new file size in the undo item also when joining lines
      titlebar: snip two superfluous tests for having enough space
      TODO: tidy up the punctuation
      tweaks: add come comments and rename a variable
      tweaks: adjust a couple of comments
      tweaks: a few last tiny adjustments before release
      tweaks: avoid a warning when configured with --disable-wrapping
      tweaks: do an assignment in a more transparent way
      tweaks: elide an unneeded variable
      tweaks: elide four #ifdefs, improve one comment and unwrap some others
      tweaks: elide unneeded intermediate assignments
      tweaks: fix compilation when configured with --enable-tiny
      tweaks: fix compilation when configured with --enable-tiny --enable-browser
      tweaks: harmonize some indentations, elide an #ifdef, and rewrap a line
      tweaks: harmonize the routine for tabs with the one for spaces
      tweaks: improve a couple of comments
      tweaks: improve a few comments
      tweaks: improve a few comments
      tweaks: make advancing and retreating more symmetrical
      tweaks: make the conditions for statusbar blanking more transparent
      tweaks: more consistently use * instead of [0] when checking for '\0'
      tweaks: normalize some whitespace
      tweaks: normalize some whitespace
      tweaks: put some conditions in a better order: the main one first
      tweaks: rearrange some key reading stuff in a clearer way
      tweaks: reindent and rewrap a few lines, and shorten a comment
      tweaks: remove an unnecessary intermediate assignment
      tweaks: remove a redundant assignment
      tweaks: remove a superfluous call of 'wnoutrefresh'
      tweaks: remove a superfluous condition
      tweaks: remove a superfluous setting of 'refresh_needed'
      tweaks: remove the fiddling with an unrelated setting
      tweaks: remove two redundant assignments
      tweaks: rename a function, and move the sorting there too
      tweaks: rename a variable, because nothing is returned there
      tweaks: rename a variable, for aptness
      tweaks: rename a variable, to indicate better what it contains
      tweaks: rename a variable, to indicate what it contains
      tweaks: rename some variables for contrast
      tweaks: rename some variables to be more readable
      tweaks: rename two more variables
      tweaks: rename two variables, and elide a third
      tweaks: rename two variables, to avoid using a name for different purposes
      tweaks: reshuffle a few things
      tweaks: trim or improve some comments, and rewrap two lines
      tweaks: use an available macro to silence a compiler warning
      undo: start renumbering from the head of the paste, not from its tail
      utils: distinguish between width (columns) and length (bytes)
      utils: provide a failure message for all uses of 'fsfromline'
      utils: rename some variables, to match those in strnlenpt()
      utils: snip a superfluous check for NULL
      version: cover the copyrights that are not assigned to the FSF

Chris Allegretta (2):
      add /intl to gitignore
      rename README.SVN -> README.GIT and take out the branch details

Mike Frysinger (3):
      more svn->git updates
      README.GIT: update a few more points to match current tree
      syntax: changelog: support more bug/issue styles

Mike Scalora (3):
      keyboard: recognize four escape sequences produced by iTerm2
      new feature: comment/uncomment current line or selected lines
      text: keep the file size correct when undoing/redoing a comment/uncomment

Rishabh Dave (2):
      browser: keep the same file selected when the directory contents change
      browser: move all openings and closings of a directory to the same function