Commit Graph

14503 Commits

Author SHA1 Message Date
Justin M. Keyes d9dd30a955
Merge #12822 release-0.4 patches 2020-09-06 10:34:44 -07:00
erw7 b2cef8b665 terminal: fix terminal attribute overflow
fixes #11548
2020-09-05 21:59:22 -07:00
Christian Clason 1de33ce2cd build: remove duplicate empty CONFIGURE_COMMAND (#12676)
The cmake file for libvterm had an empty CONFIGURE_COMMAND "", which tells cmake to skip the configure step for this dependency (even though a later patch added another, actual, CONFIGURE_COMMAND two lines below). Evidently the recently released cmake 3.18.0 is pickier about this than previous versions, causing the build to fail. Removing this line makes the build successful again.
2020-09-01 01:13:37 -07:00
Jan Edmund Lazo 1c3afe4e25 doc: powershell is 'pwsh' on non-Windows OS 2020-09-01 01:07:23 -07:00
Jan Edmund Lazo b92399d008 doc: update shellquote for powershell #11122
shellquote is not treated like shellxquote for non-quote values.
2020-09-01 01:07:09 -07:00
Christian Clason 20070310a4 bump libvterm to 0.1.4 2020-09-01 00:31:43 -07:00
James McCoy c685a2ef48
Merge pull request #12751 from jamessan/openbsd-ci
ci: bump openbsd image 6.5 -> 6.7
2020-08-11 20:36:13 -04:00
Matthieu Coudron 018ec2172b
ci: bump openbsd image 6.5 -> 6.7
seems like 6.5 is not supported anymore.

(cherry picked from commit c4888b2bde)
2020-08-11 20:21:27 -04:00
James McCoy 87a88c8e42
Merge pull request #12746 from jamessan/libcallnr-0.4 2020-08-11 15:02:28 -04:00
James McCoy 47b84599df
Merge remote-tracking branch 'upstream/release-0.4' into libcallnr-0.4 2020-08-11 07:33:42 -04:00
James McCoy e813ec79c2
libcall: Use "int" for number argument
The libcall family of functions need to use "int" for both input and
output.  The output side was fixed in 9c42232 but I forgot about the
input side.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch libcallnr
# Your branch is up to date with 'upstream/master'.
#
# Changes to be committed:
#	modified:   src/nvim/eval/funcs.c
#	modified:   src/nvim/os/dl.c
#
2020-08-08 08:53:35 -04:00
James McCoy 40dc1ba85c
version bump 2020-08-04 20:46:17 -04:00
James McCoy ee77d8665f
NVIM v0.4.4
Maintenance release for v0.4.x series.

FIXES:

fd02e6351 #12701 ui: fix problem with sattr_T overflow
3e3002b90 #12710 fs: Ensure FileInfo struct is initialized
e4629f203 #12496 main.c: fix hang issue with recoverymode #12520
f558af8b1 #12209 fixed hang issue with --headless and -r option specified
cda119055 #12180 TUI: block signals on suspend
8399f7357 #12142 Fix issues revealed by gcc10 setting -fno-common by default
5e47cf27b netrw.vim: do not save +/* registers
5d41bfcce #11907 quickfix.c: Fix vimgrep regression
641e22913 #11903 screen: add missing redraws after a message
47bd62c15 loop_close: close all handles
d2730365e loop_close: call uv_stop(), fix bug
284b398eb #11821 loop_close: timout after 2 seconds
1b2666cd2 messages: echo "line1\r\nline2" should not clear line1
1bf90bf9d #11651 API: fix crash on copy_object(kObjectTypeWindow)
fafd63626 #11566 libcallnr: Use int, not int64_t, as the return type for Vim compat
972dd758c #11460 win_line: Fix crash with 'rightleft' in :terminal
4c48cf302 f_getenv/setenv: Access v_special when v_type is VAR_SPECIAL
2cd1ff762 #11360 paste: Select-mode, Visual-mode
2020-08-04 20:07:48 -04:00
James McCoy a09b3cbcb1
Merge pull request #12717 from jamessan/release-0.4-backports 2020-08-04 15:28:44 -04:00
Jan Edmund Lazo 23c99bb78f
vim-patch:8.2.1259: empty group in 'tabline' may cause using an invalid pointer
Problem:    Empty group in 'tabline' may cause using an invalid pointer.
Solution:   Set the group start position. (closes vim/vim#6505)
f56c95fdad
(cherry picked from commit 9443d39941)
2020-08-04 07:20:39 -04:00
erw7 fd02e63513
ui: fix problem with sattr_T overflow
sattr_T was defined as uint16_t. But this is not enough to handle the
24-bit colors of the terminal. To solve this problem, change it to int.
In 32bit, int may overflow. So, if it overflows, change it to ignore it
without adding more attr_entries.

fixes #12366

(cherry picked from commit 872ecf65d1)
2020-08-04 07:20:07 -04:00
James McCoy 0547b4cdad
Merge pull request #12710 from jamessan/fileinfo-garbage-0.4 2020-08-02 23:23:44 -04:00
James McCoy 052337ddfc
Merge remote-tracking branch 'upstream/release-0.4' into fileinfo-garbage-0.4 2020-08-02 22:37:13 -04:00
James McCoy 82283a3d10
Merge pull request #12711 from jamessan/travis-0.4
travis: Use Python 3.7.1
2020-08-02 22:36:24 -04:00
erw7 704151c8a2
ci: fix build failure in Travis [skip appveyor] (#12678) 2020-08-02 22:20:17 -04:00
James McCoy 3e3002b90c
fs: Ensure FileInfo struct is initialized
Zero out the caller's FileInfo in all the functions which populate the
struct.  The contents are considered private, so we need to ensure
it's initialized.

If the stat call fails, the buffer we get back from libuv may not have
any valid data in it, so don't copy it into the caller's FileInfo.

This was happening, expectedly, in functional/ex_cmds/write_spec.lua's
"write errors out correctly", which caused it to fail in certain
environments:

    test/functional/ex_cmds/write_spec.lua:130: Expected objects to be the same.
    Passed in:
    (string) 'Vim(write):E212: Can't open file for writing: not a directory'
    Expected:
    (string) 'Vim(write):E166: Can't open linked file for writing'
2020-07-31 17:59:33 -04:00
James McCoy e4629f203f
main.c: fix hang issue with recoverymode (#12496) (#12520)
In the case of recoverymode, the headlessmode was true, causing the UI
to hang without starting. Fix this problem by setting headlessmode to
true for List swap files only.

Co-authored-by: erw7 <erw7.github@gmail.com>
2020-06-23 12:15:32 +02:00
James McCoy ce3db4648a
Merge pull request #12352 from jamessan/fix/hang-headless-mode 2020-05-21 07:39:22 -04:00
Kei Kamikawa f558af8b18
fixed hang issue with --headless and -r option specified (#12209)
* fixed hang issue with --headless and -r option specified

Calling the do_more_prompt function in headless mode will freeze neovim because it is eventally in the input-accepting state (the same as waiting for --more--).

* fixed "Press ENTER or type command to continue" to be suppressed

If in headless mode, we need to exit at this point. If we continue, we will enter the normal mode and the message "Press ENTER or type command to continue" will be displayed and we will be in the input waiting state.

* fixed functional ex_cmds tests

* Revert "fixed "Press ENTER or type command to continue" to be suppressed"

This reverts commit a02dc40e3b.

* Revert "fixed functional ex_cmds tests"

This reverts commit 3bdb8da20a.

* fixed conditional again

* added test for fixed hang issue with --headless (#11386)

(cherry picked from commit c6dc397801)
2020-05-20 22:32:50 -04:00
Kei Kamikawa cda119055a TUI: block signals on suspend #12180
fix #8075
2020-04-25 18:24:46 -07:00
James McCoy 8399f73574
Merge pull request #12142 from jamessan/gcc-10-fixes 2020-04-17 15:24:52 -04:00
Andreas Schneider faaf83a49e
[release-0.4] cmake: Check for -fno-common and use it if available 2020-04-17 13:02:40 -04:00
Andreas Schneider 0493fa00fa
[release-0.4] nvim: Correctly setup global channels
As gcc10 uses -fno-common by default, global variables declared with the
same name more than once is not allowed anymore revealing this issue.

We need to define it as extern to access it.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
2020-04-17 13:02:37 -04:00
Andreas Schneider 6b38b9e4c6
[release-0.4] nvim:msgpack: Correctly set up global ch_before_blocking_events
gcc10 builds with -fno-common by default. This mean you can't define
a global variable with the same name twice.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
2020-04-17 13:02:34 -04:00
Andreas Schneider 047e36695f
[release-0.4] nvim: Fix enum declaration of RemapValues
Instead of declaring an enum, this creates a global variable. As gcc10
uses -fno-common by default, global variables declared with the same
name more than once is not allowed anymore revealing this issue.

Each time this header is included, we define the enum name as a global
variable.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
2020-04-17 13:02:28 -04:00
Andreas Schneider e1cc8e8e09
[release-0.4] nvim:viml: Fix enum declaration of ExprParserFlags
Instead of declaring an enum, this creates a global variable. As gcc10
uses -fno-common by default, global variables declared with the same
name more than once is not allowed anymore revealing this issue.

Each time this header is included, we define the enum name as a global
variable.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
2020-04-17 13:02:26 -04:00
Andreas Schneider 49469ec6b9
[release-0.4] nvim:eval: Fix enum declaration for ListLenSpecials
Instead of declaring an enum, this creates a global variable. As gcc10
uses -fno-common by default, global variables declared with the same
name more than once is not allowed anymore revealing this issue.

Each time this header is included, we define the enum name as a global
variable.

See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
2020-04-17 13:02:14 -04:00
Justin M. Keyes 5e47cf27b4 netrw.vim: do not save +/* registers
netrw shouldn't be touching these in the first place.

fix #11089
ref #6892
ref #6695
2020-02-29 18:34:19 -08:00
Justin M. Keyes dd0a3cd22f CI/travis: workaround broken homebrew
6.70s$ rvm $brew_ruby do brew bundle --verbose --global
    /usr/local/bin/brew tap homebrew/bundle
    ==> Tapping homebrew/bundle
    Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-bundle'...
    Tapped (102 files, 251.1KB).
    Error: Unknown command: bundle

https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296/10
https://twitter.com/AJenbo/status/1175976531480457216
2020-02-22 14:16:57 -08:00
Justin M. Keyes 10590e4b20
Merge #11901 "options: global-local 'fillchars', 'listchars'" 2020-02-22 13:09:58 -08:00
Justin M. Keyes b4a10dd9b2 vim-patch:8.1.2060: "precedes" in 'listchars' not used properly
(Credit: Zach Wegner, https://github.com/neovim/neovim/pull/11034)

Problem:    "precedes" in 'listchars' not used properly.
Solution:   Correctly handle the "precedes" char in list mode for long lines.
bffba7f704
2020-02-22 12:53:21 -08:00
Zach Wegner dd7206af37 Fix "precedes" listchar behavior in wrap mode
Previously, the "precedes" character would be rendered on every row
when w_skipcol > 0 (i.e., when viewing a single line longer than the
entire screen), instead of just on the first row. Make sure to only
render it on the first row in this case.

Add a test for this behavior.

Fix documentation for the "precedes" character, which erroneously
stated that it was only active when wrap mode was off.
2020-02-21 14:21:11 -08:00
Björn Linse 92e80f18a8 options: make 'fillchars' and 'listchars' global-local
These options were previously global. A global-local window option
behaves closer to a global option "per default" (i e with :set),
but still supports local behavior via :setl

Also this restores back-compat for nvim_set_option("fcs", ...)
which are currently broken on 0.4.x but worked in earlier versions
2020-02-21 14:14:15 -08:00
cballam 5d41bfccec quickfix.c: Fix vimgrep regression #11907
Fix ex_vimgrep to properly ignore filetype when running vimgrep.
This restores vimgrep to behaviour before function refactoring.

fix #9842
fix #11856
2020-02-19 22:55:11 -08:00
Björn Linse 641e229132
Merge pull request #11903 from bfredl/backport-qf_msg
[release-0.4] screen: add missing redraws after a message
2020-02-19 19:32:38 +01:00
Björn Linse f225028a0d [release-0.4] screen: add missing redraws after a message 2020-02-19 15:13:21 +01:00
Björn Linse 02dae63bf7
Merge pull request #11905 from bfredl/backport-patch-8.2.0235
[release-0.4] vim-patch:8.2.0235
2020-02-19 13:54:02 +01:00
Björn Linse 6274f06aba [release-0.4] vim-patch:8.2.0235: draw error when an empty group is removed from 'statusline'
Problem:    Draw error when an empty group is removed from 'statusline'.
Solution:   Do not use highlighting from a removed group.
dbe5d361fe
2020-02-19 10:32:18 +01:00
Justin M. Keyes 47bd62c15c loop_close: close all handles
- Move uv_stop(), it still causes a "leak" on exit somehow.
- Tenatively restore `UV_RUN_DEFAULT`.  It shouldn't hang since we
  clobber the handles via `uv_walk((h)=>uv_close(h))`. Although this
  still "leaks" on exit, it's faster than the 2-second timeout.

fix #11820
fix #7376
2020-02-18 16:05:38 -08:00
Justin M. Keyes d2730365ef loop_close: call uv_stop(), fix bug
- Call uv_stop().
- Restore `uv_loop_close` condition (braindead cosmetic change from
  a2efc9cf8b that caused uv_loop_close *not* to be called if
  wait=false, sorry).

Not doing `uv_walk(() => uv_close)`: see source comment for explanation.

fix #11820
fix #7376

Q: Should we restore use of `UV_RUN_DEFAULT`/`UV_RUN_ONCE` (removed in
   a2efc9cf8b)?
A: The while-loop (hopefully) achieves the same purpose while avoiding
   a hang.
2020-02-18 16:05:38 -08:00
Justin M. Keyes 284b398eb9 loop_close: timout after 2 seconds #11821
never UV_RUN_DEFAULT
ref #11820
ref #7376
2020-02-18 16:05:38 -08:00
Justin M. Keyes 2645669c89
Merge pull request #11779 from justinmk/release-0.4
build/MSVC: fix gettext multibyte issue #11774
2020-01-28 10:42:50 -08:00
Justin M. Keyes b5cee56757 test: skip nodejs_spec on 0.4.x branch 2020-01-28 02:43:09 -08:00
erw7 d56f6fed9c build/MSVC: fix gettext multibyte issue #11774
Problem:  On Windows with the MSVC build, gettext-translation
          "Questa è già la" displays as "Questa <e8> gi<e0> la".
Solution: Fix iconv detection iconv when building gettext.
          So HAVE_ICONV is correctly defined when building nvim.

* fix gettext mb chars on MSVC
* fix libintl detection failure on MSVC

fixes #11749
2020-01-28 01:58:40 -08:00
Justin M. Keyes 910cdac22c
Merge #11770 from justinmk/release-0.4 2020-01-26 18:53:52 -08:00