From a09eedf0a3fe62551c686e45fd65e75d51a3e730 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@telfort.nl>
Date: Sun, 27 Aug 2017 09:31:35 +0200
Subject: [PATCH] bump version numbers and add a news item for the 2.8.7
 release

---
 ChangeLog     | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++
 IMPROVEMENTS  |  2 ++
 NEWS          | 10 ++++++
 configure.ac  |  2 +-
 doc/faq.html  |  2 +-
 doc/nano.1    |  2 +-
 doc/nano.texi |  8 ++---
 doc/nanorc.5  |  2 +-
 doc/rnano.1   |  2 +-
 9 files changed, 112 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ac155d1b..f88f0960 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,94 @@
+Changes between v2.8.6 and v2.8.7:
+----------------------------------
+
+Benno Schulenberg (54):
+      bindings: hard-bind Alt+Up and Alt+Down to findprevious and findnext
+      browser: correct the inverted search behavior for Alt+Up/Alt+Down
+      bump version numbers and add a news item for the 2.8.7 release
+      display: catch all cases where the cursor can be pushed offscreen
+      display: don't doubly show tabs that cross a chunk boundary
+      files: do not silently ignore an invalid backup directory, but die
+      files: don't close a file descriptor when opening failed  [coverity scan]
+      files: don't try to open a negative file descriptor  [coverity scan]
+      gnulib: update to its current upstream state
+      linting: don't try to put the cursor at a negative x position
+      linting: skip the introductory message produced by 'gcc -fshow-column'
+      mouse: one click of the wheel should move three lines, not three pages
+      moving: don't push x forward when backward movement lands on a split tab
+      moving: get <Up> unstuck when trying to pass over a sprawling tab
+      moving: improve retention of the target column somewhat
+      moving: the current chunk is always 0 when not in softwrap mode
+      moving: use the correct formula for pushing the index forward
+      rcfile: don't leak a shortcut when something goes wrong  [coverity scan]
+      softwrap: properly move up and down over tabs that are split over rows
+      syntax: c: give labels some color too
+      syntax: html: don't bother coloring tags that cross line boundaries
+      syntax: python: don't require a character after an opening triple quote
+      text: properly unindent lines that consist of only whitespace
+      tweaks: a comma does not end a sentence, and is not part of a variable
+      tweaks: adjust the indentation after the previous change
+      tweaks: adjust the indentation after the previous change
+      tweaks: adjust the indentation after the previous change
+      tweaks: allow enough space for the Y/N/A characters  [coverity scan]
+      tweaks: avoid trying to stat a file that might be NULL  [coverity scan]
+      tweaks: close a file also in the error path  [coverity scan]
+      tweaks: condense or improve some comments
+      tweaks: condense some logic, to elide a variable and a comment
+      tweaks: do not leak the indentation when all lines are empty
+      tweaks: don't close a descriptor when its stream has already been closed
+      tweaks: drop some debugging stuff
+      tweaks: drop some debugging stuff, and frob two comments
+      tweaks: elide an unneeded pointer
+      tweaks: elide the global variable 'full_operating_dir'
+      tweaks: fix compilation with --enable-{tiny,help,multibuffer}
+      tweaks: group all movement routines in corresponding pairs
+      tweaks: keep the const qualifier of the syntax name  [coverity scan]
+      tweaks: remove includes that appear to be superfluous
+      tweaks: rename a function, to let it make more sense
+      tweaks: rename a label, to better match its task
+      tweaks: renumber the special key codes, to be in sequence and grouped
+      tweaks: reshuffle code and frob comments, to reduce the number of lines
+      tweaks: reshuffle some code to harmonize two related functions
+      tweaks: reshuffle some declarations and trim a few comments
+      tweaks: restore an include that is necessary on some platforms
+      tweaks: show "where is next" in the help lines of the file browser
+      tweaks: simply set the proper scrolling mode, instead of imitating it
+      tweaks: snip a superfluous clearing of the bottom bars after help
+      tweaks: sort the includes, so it's a little easier to see what is there
+      tweaks: specify more directly in what manner to move the viewport
+
+David Lawrence Ramsey (23):
+      browser: allow backward/forward re-searches with Alt+Up/Alt+Down
+      display: constrain line numbers on softwrapped lines with sprawling tabs
+      display: do show the visible character for a tab when it starts a row
+      display: revamp how screen updates are done in the movement code
+      moving: redraw not just the new current line but also the prior one
+      small addition: allow customizing the color of selected text
+      softwrap: correctly move vertically through overwide tabs
+      softwrap: don't push a straddling tab to the next chunk
+      softwrap: improve left/right navigation across line boundaries
+      softwrap: make sure char_len is set when a tab is wider than a chunk
+      softwrap: properly update the viewport when adding text at firstcolumn
+      text: make indenting add to the beginning of the line
+      text: make unindenting remove from the beginning of the line
+      tweaks: adjust spacing and wording in sample.nanorc
+      tweaks: correct a comment typo and an indentation error
+      tweaks: harmonize some prototypes with their functions
+      tweaks: remove unneeded parentheses and blank line and braces
+      tweaks: replace a misplaced tab with a space
+      tweaks: set the target row for smooth scrolling more directly
+      tweaks: use charalloc() instead of (char *)nmalloc() * sizeof(char)
+      weeding: drop the forreal parameter from place_the_cursor()
+      weeding: remove redundant casts of nmalloc()
+      weeding: remove the unused be_clever parameter from do_home()/do_end()
+
+Rishabh Dave (1):
+      new feature: allow pasting at all input prompts
+
+Urja Rannikko (1):
+      bindings: hard-bind Alt+Left and Alt+Right to buffer switching
+
+
 Changes between v2.8.5 and v2.8.6:
 ----------------------------------
 
diff --git a/IMPROVEMENTS b/IMPROVEMENTS
index 53b85ee4..25e1ec6a 100644
--- a/IMPROVEMENTS
+++ b/IMPROVEMENTS
@@ -2,6 +2,8 @@ Improvements in GNU nano
 ========================
 
 Since 2.8.0:
+  - Meta-Up/Meta-Down will search the previous/next occurrence.
+  - ^U pastes the first line of the cutbuffer at a prompt.
   - Softwrapping can be done at whitespace (with --soft --atblanks).
   - The ^G help texts have become searchable (with ^W and M-W).
   - Ctrl+Home and Ctrl+End jump to start and end of file.
diff --git a/NEWS b/NEWS
index 6ba53948..e87f0ac1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+2017.08.27 - GNU nano 2.8.7 "Fragrance" fixes a lockup when tabs are
+		wider than the screen, makes indenting + unindenting
+		more predictable by retaining relative indentations,
+		allows pasting (^U) at a prompt, allows triple quotes
+		in Python to not be followed by a character, does not
+		scroll three pages on a roll of the mouse wheel, binds
+		Alt+Up and Alt+Down to findprevious and findnext, and
+		fixes some hard-to-describe issues with softwrapping
+		and boundary-crossing tabs.  Enjoy.
+
 2017.07.21 - GNU nano 2.8.6 "Kekulé" offers a new feature: the ability
 		to do softwrapping between words -- at whitespace --
 		instead of always at the edge of the screen.  This can
diff --git a/configure.ac b/configure.ac
index 5521056b..ec752a41 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see http://www.gnu.org/licenses/.
 
-AC_INIT([GNU nano], [2.8.6], [nano-devel@gnu.org], [nano])
+AC_INIT([GNU nano], [2.8.7], [nano-devel@gnu.org], [nano])
 AC_CONFIG_SRCDIR([src/nano.c])
 AC_CANONICAL_HOST
 AM_INIT_AUTOMAKE([1.14])
diff --git a/doc/faq.html b/doc/faq.html
index e7ee2a4b..9ba46d9c 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -83,7 +83,7 @@
 <h2><a name="1.3"></a>1.3. Why the name change from TIP?</h2>
 <blockquote><p>On January 10, 2000, TIP was officially renamed to nano because of a namespace conflict with another program called 'tip'. The original 'tip' program &quot;establishes a full duplex terminal connection to a remote host&quot;, and was included with many older Unix systems (and newer ones like Solaris). The conflict was not noticed at first because there is no 'tip' utility included with most GNU/Linux distributions (where nano was developed).</p></blockquote>
 <h2><a name="1.4"></a>1.4. What is the current version of nano?</h2>
-<blockquote><p>The current version of nano <i>should</i> be <b>2.8.6</b>.  Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote>
+<blockquote><p>The current version of nano <i>should</i> be <b>2.8.7</b>.  Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote>
 <h2><a name="1.5"></a>1.5. I want to read the man page without having to download the program!</h2>
 <blockquote><p>Jeez, demanding, aren't we? Okay, look <a href="https://nano-editor.org/dist/latest/nano.1.html">here</a>.</p></blockquote>
 <hr width="100%">
diff --git a/doc/nano.1 b/doc/nano.1
index 87473f42..72796b81 100644
--- a/doc/nano.1
+++ b/doc/nano.1
@@ -16,7 +16,7 @@
 .\"   Documentation License along with this program.  If not, see
 .\"   <http://www.gnu.org/licenses/>.
 .\"
-.TH NANO 1 "version 2.8.6" "July 2017"
+.TH NANO 1 "version 2.8.7" "August 2017"
 .\" Please adjust this date whenever revising the manpage.
 
 .SH NAME
diff --git a/doc/nano.texi b/doc/nano.texi
index 05fc34b2..ecdbdf5d 100644
--- a/doc/nano.texi
+++ b/doc/nano.texi
@@ -8,8 +8,8 @@
 
 @smallbook
 @set EDITION 0.5
-@set VERSION 2.8.6
-@set UPDATED July 2017
+@set VERSION 2.8.7
+@set UPDATED August 2017
 
 @dircategory Editors
 @direntry
@@ -23,7 +23,7 @@
 @titlepage
 @title GNU @command{nano}
 @subtitle a small and friendly text editor
-@subtitle version 2.8.6
+@subtitle version 2.8.7
 
 @author Chris Allegretta
 @page
@@ -63,7 +63,7 @@ e-mail: @email{chrisa@@asty.org}@*
 @node Top
 @top
 
-This manual documents the GNU @command{nano} editor, version 2.8.6.
+This manual documents the GNU @command{nano} editor, version 2.8.7.
 
 @menu
 * Introduction::
diff --git a/doc/nanorc.5 b/doc/nanorc.5
index 629312e9..49a0d69a 100644
--- a/doc/nanorc.5
+++ b/doc/nanorc.5
@@ -16,7 +16,7 @@
 .\"   Documentation License along with this program.  If not, see
 .\"   <http://www.gnu.org/licenses/>.
 .\"
-.TH NANORC 5 "version 2.8.6" "July 2017"
+.TH NANORC 5 "version 2.8.7" "August 2017"
 .\" Please adjust this date whenever revising the manpage.
 
 .SH NAME
diff --git a/doc/rnano.1 b/doc/rnano.1
index 0cd0e5ca..87629a15 100644
--- a/doc/rnano.1
+++ b/doc/rnano.1
@@ -16,7 +16,7 @@
 .\"   Documentation License along with this program.  If not, see
 .\"   <http://www.gnu.org/licenses/>.
 .\"
-.TH RNANO 1 "version 2.8.6" "July 2017"
+.TH RNANO 1 "version 2.8.7" "August 2017"
 .\" Please adjust this date whenever revising the manpage.
 
 .SH NAME
-- 
GitLab