Commit Graph

302 Commits

Author SHA1 Message Date
erw7
1fbc01f4ab Fix problems with message catalog directory
- In appimage, the message catalog is not used because there is no
  message catalog in LOCALE_INSTALL_DIR. Therefore, change to
  exepath/../share/locale instead of LOCALE_INSTALL_DIR.
- The old vim style($runtime/lang) is no longer used. Thus all relevant
  code is removed.
2019-06-09 13:28:10 +09:00
Justin M. Keyes
ae846b41df vim-patch:8.0.1496: VIM_CLEAR()
Problem:    Clearing a pointer takes two lines.
Solution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
            closes #2629)

vim-patch:8.0.1481
2019-05-25 10:07:05 +02:00
Jan Edmund Lazo
55fa966a92 vim-patch:8.1.1363: ":vert options" #10048
Problem:    ":vert options" does not make a vertical split.
Solution:   Pass the right modifiers in $OPTWIN_CMD. (Ken Takata,
            closes vim/vim#4401)
e0b5949a3b
2019-05-22 11:09:25 +02:00
Jan Edmund Lazo
c82c5d7570 vim-patch:8.1.1312: Coverity warning for using uninitialized variable
Problem:    Coverity warning for using uninitialized variable.
Solution:   Clear exarg_T.
4ca41534b7
2019-05-09 23:16:17 -04:00
Jan Edmund Lazo
96a8b0ab78 vim-patch:8.1.0369: continuation lines cannot contain comments
Problem:    Continuation lines cannot contain comments.
Solution:   Support using "\ .
67f8ab8299
2019-05-03 02:08:18 -04:00
Marco Hinz
a8d0062c67 vim-patch:8.0.1763: :argedit does not reuse an empty unnamed buffer
Problem:    :argedit does not reuse an empty unnamed buffer.
Solution:   Add the BLN_CURBUF flag and fix all the side effects. (Christian Brabandt)

46a53dfc29
2019-04-08 19:59:57 +02:00
Jan Edmund Lazo
c1ee5e0694 vim-patch:8.0.1372: profile log may be truncated halfway a character
Problem:    Profile log may be truncated halfway a character.
Solution:   Find the start of the character. (Ozaki Kiichi, closes vim/vim#2385)
ac112f01a6

nvim does not support "--clean" yet but "-es" should suffice for the test.
2019-03-08 21:35:03 -05:00
Marco Hinz
db3c797c6b provider: improve error message if provider is missing (#9487)
Move `has_eval_provider()` check to `eval_call_provider()` to make sure that
every code path calls it first.

Previously we would, when pynvim was missing, get a nice error message for
`:python3 1`, but not for `:py3file blah`.

Fixes https://github.com/neovim/neovim/issues/9485
2019-01-12 00:52:12 +01:00
Jan Edmund Lazo
8e408c95fe vim-patch:8.1.0651: :args \"foo works like :args without argument
Problem:    :args \"foo works like :args without argument.
Solution:   Fix check for empty argument. (closes vim/vim#3728)
2ac372ccee
2019-01-03 01:04:09 -05:00
Justin M. Keyes
a70fde1b45 build: enable -Wshadow
Note about shada.c:
- shada_read_next_item_start was intentionally shadowing `unpacked` and
  `i` because many of the macros (e.g. ADDITIONAL_KEY) implicitly
  depended on those variable names.
- Macros were changed to parameterize `unpacked` (but not `i`). Macros
  like CLEAR_GA_AND_ERROR_OUT do control-flow (goto), so any other
  approach is messy.
2019-01-02 21:06:37 +01:00
David Jimenez
8f288698e4 vim-patch:8.0.0251: not easy to select Python 2 or 3 (#9173)
Problem: It is not so easy to write a script that works with both Python 2 and Python 3, even when the Python code works with both.
Solution: Add 'pyxversion', :pyx, etc. (Marc Weber, Ken Takata)

f42dd3c390
2019-01-02 14:51:03 +01:00
James McCoy
ce4199e8b0 vim-patch:8.1.0353: an "after" directory of a package is appended to 'rtp'
Problem:    An "after" directory of a package is appended to 'rtp', which
            will be after the user's "after" directory. ()
Solution:   Insert the package "after" directory before any other "after"
            directory in 'rtp'. (closes vim/vim#3409)
99396d4cbf
2018-12-29 16:52:25 -05:00
James McCoy
91f40ff284 vim-patch:8.0.1734: package directory not added to 'rtp' if prefix matches
Problem:    Package directory not added to 'rtp' if prefix matches.
Solution:   Check the match is a full match. (Ozaki Kiichi, closes vim/vim#2817)
            Also handle different ways of spelling a path.
f98a39ca57
2018-12-29 12:57:16 -05:00
James McCoy
e09fb6ee53 vim-patch:8.0.1469: when package path is a symlink 'runtimepath' is wrong
Problem:    When package path is a symlink adding it to 'runtimepath' happens
            at the end.
Solution:   Do not resolve symlinks before locating the position in
            'runtimepath'. (Ozaki Kiichi, closes vim/vim#2604)
2374faae11
2018-12-29 11:46:21 -05:00
Justin M. Keyes
61d0dfee32 provider: repurpose E319
In Vim (and some vestigial parts of Nvim) E319 was a placeholder for
ex_ni commands, i.e. commands that are only available in certain builds
of Vim.  That is obviously counter to Nvim's goals: all Nvim commands
are available on all platforms and build types (the remaining ex_ni
commands are actually just missing providers).

We need an error id for "missing provider", so it makes sense to use
E319 for that purpose.

ref #9344
ref #3577
2018-12-12 01:26:21 +01:00
Marco Hinz
5fee0be915 provider: improve error message (#9344)
Executing `:python`, and similar commands that rely on `eval_call_provider()`,
while the accompanying provider it not available, leads to this error message:

    E117: Unknown function: provider#python#Call

This doesn't say much to a user. Since we introduced `:checkhealth` for this
very reason, we now point to it for further diagnosis.

Fixes #3577
2018-12-11 23:43:35 +01:00
Jan Edmund Lazo
a9e368a705 vim-patch:8.1.0553: it is not easy to edit a script that was sourced (#9298)
Problem:    It is not easy to edit a script that was sourced.
Solution:   Add a count to ":scriptnames", so that ":script 40" edits the
            script with script ID 40.
07dc18ffa4
2018-12-01 04:43:08 +01:00
Jan Edmund Lazo
e0d6894a54 vim-patch:8.1.0512: 'helplang' default is inconsistent for C and C.UTF-8
Problem:    'helplang' default is inconsistent for C and C.UTF-8.
Solution:   Don't accept a value unless it starts with two letters.
389ab7122b
2018-11-05 21:08:23 -05:00
Daniel Hahler
4c57169745 dialog_changed: Remove mistaken assert #9069
It fails with `nvim -u NONE -c 'set modified' -c 'confirm q'`.

Introduced in 3dffc842f (vim-patch:8.0.0983), but the Vim patch [1] does not
have this assertion.

NULL gets handled in `dialog_msg` [2].

1: 3f9a1ff141
2: c6d36b97ba/src/nvim/ex_docmd.c (L9704-L9705)
2018-09-30 15:47:02 +02:00
Jan Edmund Lazo
b6e83ba284 vim-patch:8.1.0334: 'autowrite' takes effect when buffer is not to be written
Problem:    'autowrite' takes effect when buffer is not to be written.
Solution:   Don't write buffers that are not supposed to be written. (Even Q
            Jones, closes vim/vim#3391)  Add tests for 'autowrite'.
8c9e7b00f6
2018-09-04 22:40:48 -04:00
Jan Edmund Lazo
9fab77c7fb globals: cmd_silent is bool 2018-08-29 00:17:30 -04:00
Jan Edmund Lazo
60f1acd0ef ex_cmds2: checkall in dialog_changed() is bool 2018-08-28 16:01:16 -04:00
Jan Edmund Lazo
3dffc842fe vim-patch:8.0.0983: unnecessary check for NULL pointer
Problem:    Unnecessary check for NULL pointer.
Solution:   Remove the NULL check in dialog_changed(), it already happens in
            dialog_msg(). (Ken Takata)
3f9a1ff141
2018-08-28 15:41:15 -04:00
Jan Edmund Lazo
13f028e416 vim-patch:8.0.0900: :tab options doesn't open a new tab page
Problem:    :tab options doesn't open a new tab page. (Aviany)
Solution:   Support the :tab modifier. (closes vim/vim#1960)
ab6c8587ba
2018-08-24 22:15:42 -04:00
Jan Edmund Lazo
1dcdac013e vim-patch:8.0.1649: no completion for argument list commands
Problem:    No completion for argument list commands.
Solution:   Add arglist completion. (Yegappan Lakshmanan, closes vim/vim#2706)
cd43effeca
2018-08-16 11:47:56 -04:00
Jan Edmund Lazo
c9f2faf3bf vim-patch:8.0.1398: :packadd does not load packages from the "start" directory (#8762)
Problem:    :packadd does not load packages from the "start" directory.
            (Alejandro Hernandez)
Solution:   Make :packadd look in the "start" directory if those packages were
            not loaded on startup.
9e1d399e63
2018-07-23 02:04:49 +02:00
Marco Hinz
01570f1ff3 terminal: handle &confirm and :confirm on unloading (#8726)
Show a proper confirmation dialog when trying to unload a terminal buffer while
the confirm option is set or when :confirm is used.

Fixes https://github.com/neovim/neovim/issues/4651
2018-07-12 14:57:20 +02:00
Jan Edmund Lazo
3c7ea8d619 vim-patch:8.0.0451: some macros are in lower case
Problem:    Some macros are in lower case.
Solution:   Make a few more macros upper case. Avoid lower case macros use an
            argument twice.
91acfffc1e
2018-06-12 02:00:50 -04:00
Jan Edmund Lazo
bbb88607c9 vim-patch:8.0.0466: still macros that should be all-caps (#8510)
Problem:    There are still a few macros that should be all-caps.
Solution:   Make a few more macros all-caps.
8820b48654
2018-06-10 12:24:00 +02:00
b-r-o-c-k
7170de1971 api: Make nvim_set_option() update :verbose set ...
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
2018-05-03 21:05:20 -05:00
Justin M. Keyes
2929dbf223 vim-patch:8.0.0858: can exit while a terminal is still running a job
Problem:    Can exit while a terminal is still running a job.
Solution:   Consider a buffer with a running job like a changed file.

eb44a68b42
2018-02-11 22:40:12 +01:00
Justin M. Keyes
0a531ddf87 vim-patch:8.0.0847: :argadd without argument can't handle space in file name
Problem:    :argadd without argument can't handle space in file name. (Harm te
            Hennepe)
Solution:   Escape the space. (Yasuhiro Matsumoto, closes vim/vim#1917)

398ee7326b
2018-02-11 15:29:19 +01:00
Justin M. Keyes
bbdb074aec vim-patch:8.0.0721: :argedit can only have one argument
Problem:    :argedit can only have one argument.
Solution:   Allow for multiple arguments. (Christian Brabandt)
90305c66a8
2018-02-11 15:29:19 +01:00
Justin M. Keyes
6df80e8762 vim-patch:8.0.0439: ":%argdel" gives an error for an empty arglist
Problem:    Using ":%argdel" while the argument list is already empty gives an
            error. (Pavol Juhas)
Solution:   Don't give an error. (closes vim/vim#1546)
69a92fb5ae

Also:
vim-patch:8.0.0473
2018-02-11 15:29:18 +01:00
ZyX
9ea1752d60 *: Provide list length when allocating lists 2018-01-14 01:33:16 +03:00
Matt Widmann
0f9c90e0ed io: retry fgets on EINTR (#7632)
The calls to `fgets` in `src/nvim/if_cscope.c` (and elsewhere) can show
communication errors to the user if a signal is delivered during its
system calls. For plugins that proxy subprocess output into cscope
requests, a `SIGCHLD` might *always* interfere with calls into `fgets`.

To see this in a debugger, put a breakpoint on `cs_reading_emsg` and
watch signals come in (with lldb, using `process handle --notify true
--pass true`).  Next, run a subcommand from neovim that calls through
cscope when it returns.  A tag picker plugin, like vim-picker and fzy,
with `cscopetag` and `cscopetagorder=0` set, reproduced this reliably.
The breakpoint will hit after a `SIGCHLD` is delivered, and `errno` will
be set to 4, `EINTR`.

The caller of `fgets` should retry when `NULL` is returned with `errno`
set to `EINTR`.
2017-11-25 13:59:07 -08:00
Justin M. Keyes
cc7285823c eval_clear: free profile data
Memory leak exposed by new test added in #7444.

==38771==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2400 byte(s) in 1 object(s) allocated from:
    0 0x51163d in realloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x51163d)
    1 0xfda51c in xrealloc /home/travis/build/neovim/neovim/src/nvim/memory.c:169:15
    2 0xda6802 in ga_grow /home/travis/build/neovim/neovim/src/nvim/garray.c:98:14
    3 0xb67ccd in script_line_start /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:3286:11
    4 0xb62885 in getsourceline /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:3110:5
    5 0xb5fbfd in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2951:15
    6 0xb5c484 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2710:14
    7 0xb5c5b0 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2691:3
    8 0xb950b9 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2242:5
    9 0xb737e1 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:609:20
    10 0xb79ac5 in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:280:10
    11 0xed8a7b in exe_commands /home/travis/build/neovim/neovim/src/nvim/main.c:1684:5
    12 0xec6602 in main /home/travis/build/neovim/neovim/src/nvim/main.c:521:5
    13 0x2ae968600f44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287
2017-10-30 08:37:59 +01:00
Justin M. Keyes
1e2ae942f3 vim-patch:8.0.1207
Problem:    Profiling skips the first and last script line.
Solution:   Check for BOM after setting script ID. (Lemonboy, closes vim/vim#2103,
            closes vim/vim#2112) Add a test. List the trailing script lines.

67435d9983
2017-10-29 17:42:37 +01:00
James McCoy
41d180abb4 vim-patch:8.0.0680
Problem:    Plugins in start packages are sourced twice. (mseplowitz)
Solution:   Use the unmodified runtime path when loading plugins (test by Ingo
            Karkat, closes vim/vim#1801)

07ecfa64a1
2017-08-21 20:29:49 -04:00
James McCoy
622c3454df vim-patch:8.0.0612
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 vim/vim#1680)

ce876aaa9a
2017-08-21 20:29:49 -04:00
James McCoy
a66eca78c2 vim-patch:8.0.0308
Problem:    When using a symbolic link, the package path will not be inserted
            at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi)
Solution:   Resolve symbolic links when finding the right position in
            'runtimepath'. (Hirohito Higashi)

2f9e575583
2017-08-21 20:29:48 -04:00
James McCoy
6844ff7561 Merge pull request #7145 from ckelsel/vim-8.0.0174
vim-patch:8.0.0174
2017-08-16 15:16:19 -04:00
ckelsel
4cd2749b10 vim-patch:8.0.0174
Problem:    For completion "locale -a" is executed on MS-Windows, even though
            it most likely won't work.
Solution:   Skip executing "locale -a" on MS-Windows. (Ken Takata)

b8f7bd68f6
2017-08-10 08:53:22 +08:00
ZyX
3a923ad2db ex_getln: Replace global with entry in save_ccline 2017-07-17 02:33:18 +03:00
ZyX
09f849b600 Merge branch 'master' into luaviml'/lua 2017-05-08 15:43:45 +03:00
ZyX
c2f3e361c5 *: Add comment to all C files 2017-04-19 19:11:50 +03:00
ZyX
043d8ff9f2 Merge branch 'master' into luaviml'/lua 2017-04-08 01:54:58 +03:00
ZyX
a1d590a08b *: Use const char * in set_one_cmd_context
Also renames functions added in master and renamed here.
2017-03-29 10:08:46 +03:00
ZyX
506b938947 *: Make some more things const and with length 2017-03-29 10:08:44 +03:00
ZyX
e18a578308 *: Move some dictionary functions to typval.h and use char*
Also fixes buffer reusage in setmatches() and complete().
2017-03-29 10:07:42 +03:00