Bram Moolenaar [Sun, 25 Jun 2017 20:45:39 +0000 (22:45 +0200)]
patch 8.0.0678: closing a window does not trigger resizing
Problem: When 'equalalways' is set and closing a window in a separate
frame, not all window sizes are adjusted. (Glacambre)
Solution: Resize all windows if the new current window is not in the same
frame as the closed window. (closes #1707)
Bram Moolenaar [Sun, 25 Jun 2017 18:57:18 +0000 (20:57 +0200)]
patch 8.0.0676: crash when closing quickfix window in autocmd
Problem: Crash when closing the quickfix window in a FileType autocommand
that triggers when the quickfix window is opened.
Solution: Save the new value before triggering the OptionSet autocommand.
Add the "starting" flag to test_override() to make the text work.
Bram Moolenaar [Sun, 25 Jun 2017 16:03:37 +0000 (18:03 +0200)]
patch 8.0.0675: 'colorcolumn' has a higher priority than 'hlsearch'
Problem: 'colorcolumn' has a higher priority than 'hlsearch', it should be
the other way around. (Nazri Ramliy)
Solution: Change the priorities. (LemonBoy, closes #1794)
Bram Moolenaar [Sat, 24 Jun 2017 16:49:00 +0000 (18:49 +0200)]
patch 8.0.0671: hang when typing CTRL-C in confirm() in timer
Problem: When a function invoked from a timer calls confirm() and the user
types CTRL-C then Vim hangs.
Solution: Reset typebuf_was_filled. (Ozaki Kiichi, closes #1791)
Bram Moolenaar [Sat, 24 Jun 2017 14:03:06 +0000 (16:03 +0200)]
patch 8.0.0670: can't use input() in a timer callback
Problem: Can't use input() in a timer callback. (Cosmin Popescu)
Solution: Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes #1790,
closes #1129)
Bram Moolenaar [Sat, 24 Jun 2017 13:39:07 +0000 (15:39 +0200)]
patch 8.0.0669: CTRL-N at start of the buffer does not work correctly
Problem: In Insert mode, CTRL-N at start of the buffer does not work
correctly. (zuloloxi)
Solution: Wrap around the start of the buffer. (Christian Brabandt)
Bram Moolenaar [Thu, 22 Jun 2017 17:12:10 +0000 (19:12 +0200)]
patch 8.0.0654: no warning for text after :endfunction
Problem: Text found after :endfunction is silently ignored.
Solution: Give a warning if 'verbose' is set. When | or \n are used,
execute the text as a command.
Bram Moolenaar [Thu, 22 Jun 2017 14:04:27 +0000 (16:04 +0200)]
patch 8.0.0653: the default highlight for QuickFixLine is not good
Problem: The default highlight for QuickFixLine does not work for several
color schemes. (Manas Thakur)
Solution: Make the default use the old color. (closes #1780)
Bram Moolenaar [Thu, 22 Jun 2017 12:16:31 +0000 (14:16 +0200)]
patch 8.0.0649: when opening a help file the filetype is set several times
Problem: When opening a help file the filetype is set several times.
Solution: When setting the filetype to the same value from a modeline, don't
trigger FileType autocommands. Don't set the filetype to "help"
when it's already set correctly.
Bram Moolenaar [Sat, 17 Jun 2017 18:08:20 +0000 (20:08 +0200)]
patch 8.0.0645: no error for illegal back reference in NFA engine
Problem: The new regexp engine does not give an error for using a back
reference where it is not allowed. (Dominique Pelle)
Solution: Check the back reference like the old engine. (closes #1774)
Bram Moolenaar [Sat, 17 Jun 2017 16:44:21 +0000 (18:44 +0200)]
patch 8.0.0643: when a pattern search is slow Vim becomes unusable
Problem: When 'hlsearch' is set and matching with the last search pattern
is very slow, Vim becomes unusable. Cannot quit search by
pressing CTRL-C.
Solution: When the search times out set a flag and don't try again. Check
for timeout and CTRL-C in NFA loop that adds states.
Bram Moolenaar [Tue, 13 Jun 2017 17:38:37 +0000 (19:38 +0200)]
patch 8.0.0642: writefile() continues after detecting an error
Problem: writefile() continues after detecting an error.
Solution: Bail out as soon as an error is detected. (suggestions by Nikolai
Pavlov, closes #1476)
Bram Moolenaar [Tue, 13 Jun 2017 14:12:51 +0000 (16:12 +0200)]
patch 8.0.0639: the cursor position is set when editing a new commit message
Problem: The cursor position is set to the last position in a new commit
message.
Solution: Don't set the position if the filetype matches "commit".
(Christian Brabandt)
Bram Moolenaar [Sun, 11 Jun 2017 14:07:51 +0000 (16:07 +0200)]
patch 8.0.0634: cannot easily get to the last quickfix list
Problem: Cannot easily get to the last quickfix list.
Solution: Add "$" as a value for the "nr" argument of getqflist() and
setqflist(). (Yegappan Lakshmanan)
Bram Moolenaar [Sat, 10 Jun 2017 12:29:52 +0000 (14:29 +0200)]
patch 8.0.0630: it is not easy to work on lines without a match
Problem: The :global command does not work recursively, which makes it
difficult to execute a command on a line where one pattern matches
and another does not match. (Miles Cranmer)
Solution: Allow for recursion if it is for only one line. (closes #1760)
Bram Moolenaar [Wed, 7 Jun 2017 18:39:47 +0000 (20:39 +0200)]
patch 8.0.0628: cursor disappears after silent mapping
Problem: Cursor disappears after silent mapping. (Ramel Eshed)
Solution: Do restore the cursor when it was changed, but don't change it in
the first place for a silent mapping.
Bram Moolenaar [Mon, 5 Jun 2017 17:56:04 +0000 (19:56 +0200)]
patch 8.0.0627: "gn" selects only one character with 'nowrapscan'
Problem: When 'wrapscan' is off "gn" does not select the whole pattern when
it's the last one in the text. (KeyboardFire)
Solution: Check if the search fails. (Christian Brabandt, closes #1683)
Bram Moolenaar [Mon, 5 Jun 2017 16:46:26 +0000 (18:46 +0200)]
patch 8.0.0625: shellescape() always escapes a newline
Problem: shellescape() always escapes a newline, which does not work with
some shells. (Harm te Hennepe)
Solution: Only escape a newline when the "special" argument is non-zero.
(Christian Brabandt, closes #1590)
Bram Moolenaar [Mon, 5 Jun 2017 14:37:07 +0000 (16:37 +0200)]
patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Problem: Using a text object to select quoted text fails when 'selection'
is set to "exclusive". (Guraga)
Solution: Swap cursor and visual start position. (Christian Brabandt,
closes #1687)
Bram Moolenaar [Mon, 5 Jun 2017 14:01:59 +0000 (16:01 +0200)]
patch 8.0.0621: :stag does not respect 'switchbuf'
Problem: The ":stag" command does not respect 'switchbuf'.
Solution: Check 'switchbuf' for tag commands that may open a new window.
(Ingo Karkat, closes #1681) Define macros for the return values
of getfile().
Bram Moolenaar [Mon, 5 Jun 2017 13:07:09 +0000 (15:07 +0200)]
patch 8.0.0620: checking for HAVE_GTK_MULTIHEAD is not needed
Problem: Since we only support GTK versions that have it, the ckeck for
HAVE_GTK_MULTIHEAD is no longer needed.
Solution: Remove HAVE_GTK_MULTIHEAD. (Kazunobu Kuriyama)
Bram Moolenaar [Sun, 4 Jun 2017 19:06:09 +0000 (21:06 +0200)]
patch 8.0.0616: not always setting 'background' correctly after :hi Normal
Problem: When setting the cterm background with ":hi Normal" the value of
'background' may be set wrongly.
Solution: Check that the color is less than 16. Don't set 'background' when
it was set explicitly. (Lemonboy, closes #1710)
Bram Moolenaar [Sun, 4 Jun 2017 17:00:32 +0000 (19:00 +0200)]
patch 8.0.0613: the conf filetype is used before ftdetect from packages
Problem: The conf filetype detection is done before ftdetect scripts from
packages that are added later.
Solution: Add the FALLBACK argument to :setfiletype. (closes #1679,
closes #1693)
Bram Moolenaar [Sun, 4 Jun 2017 15:47:42 +0000 (17:47 +0200)]
patch 8.0.0612: pack dirs are added to 'runtimepath' too late
Problem: Package directories are added to 'runtimepath' only after loading
non-package plugins.
Solution: Split off the code to add package directories to 'runtimepath'.
(Ingo Karkat, closes #1680)
Bram Moolenaar [Sun, 4 Jun 2017 13:45:50 +0000 (15:45 +0200)]
patch 8.0.0611: the screen is not redrawn after sending t_u7
Problem: When t_u7 is sent a few characters in the second screen line are
overwritten and not redrawn later. (Rastislav Barlik)
Solution: Move redrawing the screen to after overwriting the characters.
Bram Moolenaar [Sun, 4 Jun 2017 13:37:46 +0000 (15:37 +0200)]
patch 8.0.0610: the screen is redrawn when default 'background' is detected
Problem: The screen is redrawn when t_BG is set and used to detect the
value for 'background'.
Solution: Don't redraw when the value of 'background' didn't change.
Bram Moolenaar [Sun, 4 Jun 2017 13:33:48 +0000 (15:33 +0200)]
patch 8.0.0609: some people still don't know how to quit
Problem: For some people the hint about quitting is not sufficient.
Solution: Put <Enter> separately. Also use ":qa!" to get out even when
there are changes.
Bram Moolenaar [Sun, 4 Jun 2017 12:58:02 +0000 (14:58 +0200)]
patch 8.0.0607: after :bwipe + :new bufref might still be valid
Problem: When creating a bufref, then using :bwipe and :new it might get
the same memory and bufref_valid() returns true.
Solution: Add br_fnum to check the buffer number didn't change.
Bram Moolenaar [Sun, 28 May 2017 05:56:36 +0000 (07:56 +0200)]
patch 8.0.0605: the quickfix cached buffer may become invalid
Problem: The buffer that quickfix caches for performance may become
invalid. (Daniel Hahler)
Solution: Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
closes #1728, closes #1676)
Bram Moolenaar [Wed, 24 May 2017 07:51:39 +0000 (09:51 +0200)]
patch 8.0.0602: when gF fails to edit the file the cursor still moves
Problem: When gF fails to edit the file the cursor still moves to the found
line number.
Solution: Check the return value of do_ecmd(). (Michael Hwang)
Bram Moolenaar [Mon, 1 May 2017 18:46:52 +0000 (20:46 +0200)]
patch 8.0.0596: crash when complete() called after complete_add()
Problem: Crash when complete() is called after complete_add() in
'completefunc'. (Lifepillar)
Solution: Bail out if compl_pattern is NULL. (closes #1668)
Also avoid using freed memory.
patch 8.0.0592: if a job writes to a buffer screen is not updated
Problem: If a job writes to a buffer and the user is typing a command, the
screen isn't updated. When a message is displayed the changed
buffer may cause it to be cleared. (Ramel Eshed)
Solution: Update the screen and then the command line if the screen didn't
scroll. Avoid inserting screen lines, as it clears any message.
Update the status line when the buffer changed.
patch 8.0.0588: job_stop() often assumes the channel will be closed
Problem: job_stop() often assumes the channel will be closed, while the job
may not actually be stopped. (Martin Gammelsæter)
Solution: Only assume the job stops on "kill". Don't send a signal if the
job has already ended. (closes #1632)
patch 8.0.0585: test_options fails when run in the GUI
Problem: Test_options fails when run in the GUI.
Solution: Also check the 'imactivatekey' value when the GUI is not running.
Specify test values that work and that fail.