When backupcopy=auto buf_write assumes backupcopy=yes when the file is a
hard/symbolic link. However this check was guarded by a UNIX ifdef. The
check itself is portable and the guard can be removed.
Added a couple tests to check the behaviour of bkc=auto and bkc=no
with a symbolic link.
Reported in #4525
Problem: When "syntax manual" was used switching between buffers removes
the highlighting.
Solution: Set the syntax option without changing the value. (Anton
Lindqvist)
885f24fbca
Patch applied cleanly to the nvim sources except for version.c.
Problem: Having 'autochdir' set during startup and using diff mode doesn't
work. (Axel Bender)
Solution: Don't use 'autochdir' while still starting up. (Christian
Brabandt)
6bd364e084
The Vim function `haslocaldir()` would crash if the users called it with
the two arguments `-1, -1`. Now it returns `0` in that case.
The coverity issue was complaining about a NULL dereference, but there
can never be a case where the pointer `tp` is NULL and being
dereferenced. An assertion has been put in place to satisfy coverity.
Furthermore the functions themselves have been cleaned up. First of all
the documentation comment for the different scopes has been extended and
a macro for the minimum scope has been introduced. In both functions any
time a scope is used as a range (e.g. in a loop) macros instead of
actuals scopes are used, that makes the functions more robust if new
scopes are added.
Second, in the implementation of `getcwd()` there was a superfluous
loop, it has been removed completely. I also changed all `goto end` to
plaing `return` statements by moving the allocation of `cwd` down, that
way there is no need for `goto` anymore.
Problem: With 'rightleft' and concealing the cursor may move to the wrong
position.
Solution: Compute the column differently when 'rightleft' is set. (Hirohito
Higashi)
e39b3d9fb4
Problem: The fix in patch 7.3.192 is not tested.
Solution: Add a test, one for each regexp engine. (Elias Diem)
96c664af27
The patch was applied to 044_099_regexp_multibyte_magic_spec.lua as
these two legacy tests (44 and 99) were merged together (and
de-duplicated) in Neovim.
test_cursor_func.vim hangs at the call to
disable_char_avail_for_testing(). The test does not actually need this
function (and it correctly fails if the fix from 7.4.1300 is reverted).
Given that disable_char_avail_for_testing is a gigantic hack, if we can
avoid it let's do so.
Problem: An Ex range gets adjusted for folded lines even when the range is
not using line numbers.
Solution: Only adjust line numbers for folding. (Christian Brabandt)
a3306958dc
7.4.797:
- Modified function redraw_asap was removed in
e0e41b30c6,
together with its only caller check_termcode.
- Grepping for the following regexps did not yield any result in
nvim/src and its subdirectories: rows.*\*.*Columns (lines modified
often), ScreenLinesC\[r\] (one of the sources of the bug),
msg_scrolled followed by grepping for NORMAL (another line that was
changed for the bug)
- The out-of-bound access was on the array *screenlineC[MAX_MCO] (see
the diff). I grepped for MAX_MCO an checked every array of that length
for out-of-bounds access in its scope (I did not check for called
functions, e.g. utfc_ptr2char(p, u8cc) where u8cc was of length
MAX_MCO). I did not find any.
- The code for drawing on the screen was moved to the TUI, which was
newly written.
7.4.733:
- test_listchars was converted to a lua test in
https://github.com/neovim/neovim/pull/2492
- Since no file is sourced anymore, the behavior of the lua test should
not depend on the setting of ff
- Code from Vim source.
- Removed the check for 'guioptions'
- mouse_spec.lua: test <ScrollWheelLeft> and <ScrollWheelRight>
- Move horizontal scroll logic to mouse.c
- Remove 'gui_' from the function names
- Renamed variables to be more specific (as opposed to generic p, w).
- Marked some functions as `static`