Commit Graph

21367 Commits

Author SHA1 Message Date
6ec04e590f Merge pull request #19833 from neovim/backport-19826-to-release-0.7
[Backport release-0.7] revert: "jobstart(): Fix hang on non-executable cwd #9204"
2022-08-18 12:52:06 -04:00
a7f4d0a782 revert: "jobstart(): Fix hang on non-executable cwd #9204"
This reverts commit c4c74c3883.

LibUV already gives an error for this, so this isn't needed.

(cherry picked from commit b94e2c8520)
2022-08-18 15:04:02 +00:00
44205fe516 [Backport release-0.7] fix(signs): priority of extmark signs (#19718) (#19721)
fix(signs): priority of extmark signs (#19718)

Co-authored-by: Lewis Russell <lewis6991@gmail.com>
2022-08-11 19:22:04 +02:00
4cd0ee49af fix(api): fix nvim_buf_set_text heap-use-after-free (#19650)
The line returned but ml_get_buf() may be freed by another call to
ml_get_buf(), so it is necessary to make a copy.
2022-08-06 07:47:30 +08:00
229e14c5ad Merge pull request #19651 from zeertzjq/backport-to-release-0.7
Backport #19620 and #19630 to release-0.7
2022-08-06 07:46:59 +08:00
37b3fc493c fix(ui): set redraw_cmdline when setting window height 2022-08-06 07:24:18 +08:00
ad84bbbd13 fix(tabpage): check if ROWS_AVAIL changed for resize 2022-08-06 07:24:18 +08:00
5190f82a52 refactor: add space around arithmetic operators '+' and '-' 2022-08-05 16:45:01 +08:00
ce7df6759c [Backport release-0.7] fix seg fault in find_tagfunc_tags (#19503)
fix: fix seg fault in find_tagfunc_tags

(cherry picked from commit 187c02cc40)

Co-authored-by: Frederick Mayle <fmayle@google.com>
2022-08-01 07:34:48 -07:00
56834f4552 fix(lsp): set workspace.configuration capability
Neovim implements `workspace/configuration`
It should set the capability accordingly.

From https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#clientCapabilities:

    /**
     * The client supports `workspace/configuration` requests.
     *
     * @since 3.6.0
     */
    configuration?: boolean;

(cherry picked from commit 13594c7a6f)
2022-07-28 08:43:44 +02:00
1dfd7a4e77 Merge pull request #19535 from neovim/backport-19518-to-release-0.7
[Backport release-0.7] ci(openbsd): don't specify versions for dependencies if possible
2022-07-27 09:02:31 -04:00
8ddeac7cf9 ci(openbsd): don't specify versions for dependencies if possible
It's more convenient to not specify the version and let openbsd's
package manager figure it out. This will help us avoid manually bumping
dependency versions when a new version of openbsd is released.

Some packages have multiple versions and not specifying a version in
those cases fails the CI job, so providing a version seems to be
necessary for some key packages.

(cherry picked from commit d61a5a08ac)
2022-07-27 10:28:26 +00:00
4ad97a51b3 Merge pull request #19530 from neovim/backport-19510-to-release-0.7
[Backport release-0.7] fix(options): properly free string options
2022-07-27 07:55:58 +08:00
2053f579a6 fix(options): properly free string option
(cherry picked from commit 4d8e514210)
2022-07-26 23:29:58 +00:00
c8c96de310 fix(packaging): remove excess forward slash in Wix Patch (#19485) 2022-07-24 21:27:31 +08:00
567bb36edf fix(grid): don't use utfc_ptr2char_len() when printing until NUL 2022-07-22 06:55:35 +08:00
68d2bb4070 [Backport release-0.7] build(macos): use consistent MACOSX_DEPLOYMENT_TARGET (#19435)
build(macos): use consistent MACOSX_DEPLOYMENT_TARGET

Use the same logic for both deps (including LuaJIT, for which setting
this variable is mandatory) and Nvim: either the eponymous environment
variable if set, or the current software version if not.

Removes annoying warnings when building locally on macOS.

(cherry picked from commit aefccc613c)

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
2022-07-19 18:26:30 +02:00
4a12e40066 Merge pull request #19423 from neovim/backport-19217-to-release-0.7
[Backport release-0.7] fix(lua): make it possible to cancel vim.wait() with Ctrl-C
2022-07-19 13:00:36 +08:00
403e653903 fix(lua): make it possible to cancel vim.wait() with Ctrl-C
(cherry picked from commit 2926ce7921)
2022-07-19 01:11:49 +00:00
a25607a2bc Merge #19236 2022-07-18 03:04:00 +02:00
d9521c71d1 fix(windows):exepath, stdpath return wrong slashes #19111
exepath and stdpath should respect shellslash and return path with
proper file separator.
Closes #13787
2022-07-17 17:36:01 -07:00
49a9fb2d98 fix(tui): resize at startup #17795
* fix(test): screen.lua nil index
  When actual_rows and expected_rows are different avoid a nil index.
* fix(tui): resize at startup
  The deleted code is not needed after 402b4e8.
  It caused the condition to false positive when the function was called
  more than once before startup (first normal mode). Being itself what
  set the dimension and not the user, locking the size of the screen to
  an incorrect size.
  Make got_winch an int to mitigate: tui_grid_resize changing the size
  of the host terminal between the signal handler and the call to
  sigwinch_cb. Since the actual signal handler uv__signal_handle doesn't
  directly call the callback, the event loop does.

Fixes #17285
Fixes #15044
Fixes #11330
2022-07-17 17:11:46 -07:00
5baa99944a Merge pull request #19401 from neovim/backport-19395-to-release-0.7
[Backport release-0.7] test(job_spec): accept alternate messages for "append environment" tests
2022-07-16 22:44:41 -04:00
da57f37ddc test(job_spec): accept alternate messages for "append environment" tests
These tests commonly fail in Debian with

    [  ERROR   ] test/functional/core/job_spec.lua @ 81: jobs append environment with pty #env
    test/functional/helpers.lua:198:
    ==============================================================================
    test/helpers.lua:73: Expected objects to be the same.
    Passed in:
    (table: 0x2aa4bcc1040) {
     *[1] = {
        [1] = 'notification'
        [2] = 'stdout'
       *[3] = {
          [1] = 0
         *[2] = {
            [1] = 'hello world abc' } } } }
    Expected:
    (table: 0x2aa4bcc0d70) {
     *[1] = {
        [1] = 'notification'
        [2] = 'stdout'
       *[3] = {
          [1] = 0
         *[2] = {
            [1] = 'hello world abc'
           *[2] = '' } } } }

Since the test is validating the "hello world abc" message, not the
newlines, accept either set of message sequences.

(cherry picked from commit bcb5b7b3f6)
2022-07-17 01:24:39 +00:00
df487f798d Merge pull request #19388 from neovim/backport-19387-to-release-0.7
[Backport release-0.7] fix(ex_cmds): correct flags for :const
2022-07-16 15:24:40 +08:00
1353369fbb fix(ex_cmds): correct flags for :const
(cherry picked from commit 0a7e0304c7)
2022-07-16 06:55:14 +00:00
0cede3b9df [Backport release-0.7] feat(lsp): hide backticks in LSP docstrings (#19378)
feat(lsp): hide backticks in LSP docstrings

Also clear `markdownError`: don't want to highlight invalid markdown
syntax in LSP docstrings.

fix #16114

(cherry picked from commit e9edee229d)

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2022-07-15 08:33:50 -07:00
b8da4303f4 Merge pull request #19319 from neovim/backport-19286-to-release-0.7
[Backport release-0.7] fix(l10n): add folded line indicator translations from vim
2022-07-13 09:47:36 +08:00
bb14e22795 [Backport release-0.7] fix(lsp): abort pending changes after flush when debouncing (#19318)
fix(lsp): abort pending changes after flush when debouncing

Issuing a server request triggers `changetracking.flush` so as to
make sure we're not operating on a stale state. This immediately
triggers notification of any pending changes (as a result of debouncing)
to the server. However, this happens in addition to the notification
that is waiting on the debounce delay. Because we `nil`
`buf_state.pending_change` when it is called, the fix is to
also check that this is non-`nil` when it is called and exit if it is,
as this being `nil` would mean that it originates from a pending change
that has already been flushed out.

(cherry picked from commit d7bb2b4202)

Co-authored-by: Rishikesh Vaishnav <rishhvaishnav@gmail.com>
2022-07-12 09:44:30 +02:00
7e6877b9d2 fix: add folded line indicator translations from vim
(cherry picked from commit 73e9809c73)
2022-07-11 11:25:24 +00:00
92e8808d77 Merge pull request #19262 from neovim/backport-19180-to-release-0.7
[Backport release-0.7] feat(tui): recognize keypad keys when using kitty keyboard protocol
2022-07-07 09:30:50 +08:00
d7d55fa358 test: add tests for keypad keys from kitty keyboard protocol
(cherry picked from commit 03c9cf3feb)
2022-07-06 23:42:59 +00:00
a4d1ef3128 feat(tui): recognize keypad keys when using kitty keyboard protocol
(cherry picked from commit 33ed85a2f6)
2022-07-06 23:42:59 +00:00
202666b1b7 Merge pull request #19211 from neovim/backport-19177-to-release-0.7
[Backport release-0.7] build: remove -Wsuggest compile flags by default
2022-07-02 18:04:53 -04:00
3dfb9b7f5c build: disable -Wsuggest compile flags by default
Although the flags are useful to see what the compiler thinks we can
improve on, it adds a lot of noise to the build output. That makes it
harder to spot actual issues that may be flagged.

Closes https://github.com/neovim/neovim/issues/19160.

(cherry picked from commit 1d88ad6bfe)
2022-07-02 21:47:58 +00:00
10cb481d7c Merge pull request #19144 from neovim/backport-19135-to-release-0.7
[Backport release-0.7] feat: update unicode tables
2022-06-30 01:23:49 +02:00
90a37f9890 Merge pull request #19146 from carlocab/static-libintl-backport
[Backport release-0.7] build(cmake): fix static `libintl` test on macOS
2022-06-29 10:08:37 +02:00
7eaeb07c1c ci(release): link gettext include directory
Our previous mangling of gettext broke the `HAVE_WORKING_LIBINTL` test
because it prevented CMake from finding `libintl.h`. Let's fix that by
linking Gettext's `include` directory into `/usr/local` too.
2022-06-29 15:25:54 +08:00
4e402ae548 build(cmake): fix static libintl test on macOS
If `libintl` is a static library on macOS, we also need to explicitly
link with `libiconv` and the `CoreFoundation` framework. Otherwise, our
`HAVE_WORKING_LIBINTL` test erroneously fails.

Closes #19127
Closes #19138
2022-06-29 15:25:54 +08:00
003b8daa8a feat: update unicode tables
(cherry picked from commit b02a0af266)
2022-06-29 01:42:34 +00:00
44d0c6572b Merge pull request #19110 from neovim/backport-aufix
[Backport release-0.7] feat(api): support pattern array for exec_autocmds (#19091, #19115)
2022-06-27 20:44:21 +02:00
b7c0c8cde8 fix(api): change default value of 'pattern' in nvim_exec_autocmds (#19115)
Omitting 'pattern' in nvim_exec_autocmds should be equivalent to
omitting the 'fname' argument in :doautoall, which is equivalent to
using an empty string as the pattern. Fixes regression introduced
in #19091.
2022-06-27 10:53:39 +02:00
dbe4270db7 refactor(api): use FOREACH_ITEM macro in autocmd 2022-06-26 23:22:50 +02:00
29d74cf526 feat(api): support pattern array for exec_autocmds 2022-06-26 23:19:37 +02:00
6eff8d6d86 version bump 2022-06-26 08:10:51 -07:00
e8ee673392 NVIM v0.7.2
BREAKING CHANGES:
fdd5178581 #18986 introduce $NVIM, unset $NVIM_LISTEN_ADDRESS

VIM PATCHES:
git log --oneline --grep "vim-patch" v0.7.0..v0.7.1

FEATURES:
0b8faccade #18440 feat(api): add `group_name` to `nvim_get_autocmds`
b7a5278249 #18440 feat(api): add `group_name` to `nvim_get_autocmds`
9e5cef945a #18264 feat(tui): query terminal for CSI u support

FIXES:
b477afa3ea #19088
    71e2c49b17 refactor(tests): introduce testprg()
    175892fa37 #15913 fix: make_filter_cmd for :! powershell
f2b465232d #18331 fix(lsp): make sure to always reset active codelens refreshes
b3d754ccd7 #18869 fix(lsp): fix multi client handling in code action
e820c6d7c3 #19069
    cf9c097f34 fix(api): check for inclusive buffer line index out of bounds correctly
a05da1c05a #19053
    17299b302c fix(input): use correct grid when restoring cursor for <expr> mapping
7266150eff #19025
    40e13c8d95 #19010 fix(decorations): nvim_buf_set_extmark breaks conceal
38928b5cc2 #19023
    18e0d64666 fix(tui): fix piping output make nvim unusable
cd7ac0eb29 #19014
    433f3067a0 fix: use ctermbg/fg instead of bg/fg when use_rgb is false
30ae06c8fe #19009
    777d415da8 fix(highlight): let winhighlight use cursor
    f70e0832b1 #18981 fix(hl): return cterm fg/bg even if they match Normal
    ee210b0f74 fix(hl): DRY set_hl_group() sg_attr set
    512a8197c8 test(hl): Add Normal group set_hl/get_hl_by_name check
    79ca64a1ef #18024) fix(hl): set Normal hl group sg_attr value (fixes
2ebc76b226 #19001
    41709831ae fix(startup): nvim with --clean should not load user rplugins
ed9e6d19ab #18990 fix(treesitter): new iter if folded
05ce04e994 #18984
    fe42dea674 #18976 fix(lua): highlight.on_yank can close timer in twice
    f15d6094fc #18824 fix(lua): stop pending highlight.on_yank timer, if any
5243cb8a4b #18975
    bf4df2a629 fix(ui): do not call showmode() when setting window height
3cea4d6de9 #18942
    05f6883ee2 fix(buffer): disable buffer-updates before removing buffer from window
1dba6cf8f0 #18918
    0c9d666205 fix(input): fix macro recording with ALT and special key
fc4e4b38b2 #18905
    bd3bb128c0 test(ts): skip test if C parser is not available
d317cb2322 #18886
    1496f4212b fix(input): allow Ctrl-C to interrupt a recursive mapping even if mapped
0dc5bcd072 #18680
    3a1e8ef881 #18617 fix(autocmds): separate command from desc
cb1b4bbeae #18655 fix(lsp): only send diagnostics from current buffer in code_action()
01d0d2ce64 #18517 build(deps): bump Luv to HEAD - c51e7052e
f3ffb73b18 #18612 fix(health): return 0 if file not exists
496e786cad #18534
    0377973769 fix(runtime/genvimvim): omit s[ubstitute] from vimCommand
35075dcc22 #18469 fix(lsp): fix unnecessary buffers being added on empty diagnostics
9e040acfa3 #18468 fix(lsp): unify progress message handling
e28799f2d8 #18436 fix: display global statusline correctly with ext_messages
1e28068d0d #18415 fix: ensure has() does not change v:shell_error
203b088d75 #18411 build(deps): bump LuaJIT to HEAD - 91bc6b8ad
e502e8106a #18400 fix(treesitter): bump match limit up
7567d2195a #18390
    d165289055 fix(lsp): add missing bufnr argument
f3587babfd #18367
    631393a712 fix(filetype.lua): escape expansion of ~ when used as a pattern
08cd391047 #18360 fix(shared): avoid indexing unindexable values in vim.tbl_get()
508c8a597e #18362 fix(ftdetect): source plugins in autogroup
ffd46b7688 #18351
    2a6198319f fix(mac): use same $LANG fallback mechanism as Vim
8d4fbcb5b1 #18324
    b80ef0de2f fix(tui): disable extended keys before exiting alternate screen
14a5b6b8d4 #18312
    89260ea5d6 fix(input): only disable mapped CTRL-C interrupts when getting input
ef43e7d1f6 #18298 fix: suppress "is a directory" messages with shortmess 'F'
aff05c5730 #18256 fix: show autocmd output when F is in shortmess
fa7d8c333f #18229
    d916d2f876 #18227 fix(lua): don't mutate opts parameter of vim.keymap.del
f7e2ad7915 #18220 fix(treesitter): create new parser if language is not the same as cached parser
7f8faac39e #18205 fix(diagnostic): use nvim_exec_autocmds to trigger DiagnosticChanged
3ee089ebf4 #18167
    0f811afc96 fix(tui): update modifyOtherKeys reporting

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 769a93aa2901..9b5563be0d1b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -136,7 +136,7 @@ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY
 set(NVIM_VERSION_MAJOR 0)
 set(NVIM_VERSION_MINOR 7)
 set(NVIM_VERSION_PATCH 1)
-set(NVIM_VERSION_PRERELEASE "-dev") # for package maintainers
+set(NVIM_VERSION_PRERELEASE "") # for package maintainers

 # API level
 set(NVIM_API_LEVEL 9)         # Bump this after any API change.
diff --git a/runtime/nvim.appdata.xml b/runtime/nvim.appdata.xml
index 1464c2769443..893023db8298 100644
--- a/runtime/nvim.appdata.xml
+++ b/runtime/nvim.appdata.xml
@@ -26,6 +26,7 @@
   </screenshots>

   <releases>
+    <release date="2022-06-26" version="0.7.1"/>
     <release date="2022-04-15" version="0.7.0"/>
     <release date="2021-12-31" version="0.6.1"/>
     <release date="2021-11-30" version="0.6.0"/>
v0.7.2
2022-06-26 08:08:22 -07:00
9077e4e655 ci(release): use system GPerf on macOS #19105
GPerf gets upset at our attempts to build a universal binary.
Conveniently, macOS provides GPerf, so we don't need to build it.

This is a workaround for the 0.7.1 branch which still depends on
gperf, to get the release CI working. In master we don't use gperf anymore.
2022-06-26 08:04:30 -07:00
9b2fc224d8 Merge #19102 Release 0.7.1 2022-06-26 15:57:25 +02:00
3eb251c76f version bump 2022-06-26 03:52:25 -07:00
535fb9488c NVIM v0.7.1
BREAKING CHANGES:
fdd5178581 #18986 introduce $NVIM, unset $NVIM_LISTEN_ADDRESS

VIM PATCHES:
git log --oneline --grep "vim-patch" v0.7.0..v0.7.1

FEATURES:
0b8faccade #18440 feat(api): add `group_name` to `nvim_get_autocmds`
b7a5278249 #18440 feat(api): add `group_name` to `nvim_get_autocmds`
9e5cef945a #18264 feat(tui): query terminal for CSI u support

FIXES:
b477afa3ea #19088
    71e2c49b17 refactor(tests): introduce testprg()
    175892fa37 #15913 fix: make_filter_cmd for :! powershell
f2b465232d #18331 fix(lsp): make sure to always reset active codelens refreshes
b3d754ccd7 #18869 fix(lsp): fix multi client handling in code action
e820c6d7c3 #19069
    cf9c097f34 fix(api): check for inclusive buffer line index out of bounds correctly
a05da1c05a #19053
    17299b302c fix(input): use correct grid when restoring cursor for <expr> mapping
7266150eff #19025
    40e13c8d95 #19010 fix(decorations): nvim_buf_set_extmark breaks conceal
38928b5cc2 #19023
    18e0d64666 fix(tui): fix piping output make nvim unusable
cd7ac0eb29 #19014
    433f3067a0 fix: use ctermbg/fg instead of bg/fg when use_rgb is false
30ae06c8fe #19009
    777d415da8 fix(highlight): let winhighlight use cursor
    f70e0832b1 #18981 fix(hl): return cterm fg/bg even if they match Normal
    ee210b0f74 fix(hl): DRY set_hl_group() sg_attr set
    512a8197c8 test(hl): Add Normal group set_hl/get_hl_by_name check
    79ca64a1ef #18024) fix(hl): set Normal hl group sg_attr value (fixes
2ebc76b226 #19001
    41709831ae fix(startup): nvim with --clean should not load user rplugins
ed9e6d19ab #18990 fix(treesitter): new iter if folded
05ce04e994 #18984
    fe42dea674 #18976 fix(lua): highlight.on_yank can close timer in twice
    f15d6094fc #18824 fix(lua): stop pending highlight.on_yank timer, if any
5243cb8a4b #18975
    bf4df2a629 fix(ui): do not call showmode() when setting window height
3cea4d6de9 #18942
    05f6883ee2 fix(buffer): disable buffer-updates before removing buffer from window
1dba6cf8f0 #18918
    0c9d666205 fix(input): fix macro recording with ALT and special key
fc4e4b38b2 #18905
    bd3bb128c0 test(ts): skip test if C parser is not available
d317cb2322 #18886
    1496f4212b fix(input): allow Ctrl-C to interrupt a recursive mapping even if mapped
0dc5bcd072 #18680
    3a1e8ef881 #18617 fix(autocmds): separate command from desc
cb1b4bbeae #18655 fix(lsp): only send diagnostics from current buffer in code_action()
01d0d2ce64 #18517 build(deps): bump Luv to HEAD - c51e7052e
f3ffb73b18 #18612 fix(health): return 0 if file not exists
496e786cad #18534
    0377973769 fix(runtime/genvimvim): omit s[ubstitute] from vimCommand
35075dcc22 #18469 fix(lsp): fix unnecessary buffers being added on empty diagnostics
9e040acfa3 #18468 fix(lsp): unify progress message handling
e28799f2d8 #18436 fix: display global statusline correctly with ext_messages
1e28068d0d #18415 fix: ensure has() does not change v:shell_error
203b088d75 #18411 build(deps): bump LuaJIT to HEAD - 91bc6b8ad
e502e8106a #18400 fix(treesitter): bump match limit up
7567d2195a #18390
    d165289055 fix(lsp): add missing bufnr argument
f3587babfd #18367
    631393a712 fix(filetype.lua): escape expansion of ~ when used as a pattern
08cd391047 #18360 fix(shared): avoid indexing unindexable values in vim.tbl_get()
508c8a597e #18362 fix(ftdetect): source plugins in autogroup
ffd46b7688 #18351
    2a6198319f fix(mac): use same $LANG fallback mechanism as Vim
8d4fbcb5b1 #18324
    b80ef0de2f fix(tui): disable extended keys before exiting alternate screen
14a5b6b8d4 #18312
    89260ea5d6 fix(input): only disable mapped CTRL-C interrupts when getting input
ef43e7d1f6 #18298 fix: suppress "is a directory" messages with shortmess 'F'
aff05c5730 #18256 fix: show autocmd output when F is in shortmess
fa7d8c333f #18229
    d916d2f876 #18227 fix(lua): don't mutate opts parameter of vim.keymap.del
f7e2ad7915 #18220 fix(treesitter): create new parser if language is not the same as cached parser
7f8faac39e #18205 fix(diagnostic): use nvim_exec_autocmds to trigger DiagnosticChanged
3ee089ebf4 #18167
    0f811afc96 fix(tui): update modifyOtherKeys reporting
v0.7.1
2022-06-26 03:19:05 -07:00