aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds2.c
Commit message (Collapse)AuthorAge
...
* vim-patch:8.0.1734: package directory not added to 'rtp' if prefix matchesJames McCoy2018-12-29
| | | | | | | 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. https://github.com/vim/vim/commit/f98a39ca57d001ba3e24831bae1e375790fb41f0
* vim-patch:8.0.1469: when package path is a symlink 'runtimepath' is wrongJames McCoy2018-12-29
| | | | | | | | 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) https://github.com/vim/vim/commit/2374faae111057ee28e8d487f9a52a95855e2206
* provider: repurpose E319Justin M. Keyes2018-12-12
| | | | | | | | | | | | | | 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
* provider: improve error message (#9344)Marco Hinz2018-12-11
| | | | | | | | | | | 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
* vim-patch:8.1.0553: it is not easy to edit a script that was sourced (#9298)Jan Edmund Lazo2018-12-01
| | | | | | 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. https://github.com/vim/vim/commit/07dc18ffa4e7ed202f219fe2fd3d6f58246f71f9
* vim-patch:8.1.0512: 'helplang' default is inconsistent for C and C.UTF-8Jan Edmund Lazo2018-11-05
| | | | | | Problem: 'helplang' default is inconsistent for C and C.UTF-8. Solution: Don't accept a value unless it starts with two letters. https://github.com/vim/vim/commit/389ab7122bec99c11ad4ce6d87cc6f38a21e4e40
* dialog_changed: Remove mistaken assert #9069Daniel Hahler2018-09-30
| | | | | | | | | | | 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: https://github.com/vim/vim/commit/3f9a1ff141412e9e85f7dff47d02946cb9be9228 2: https://github.com/neovim/neovim/blob/c6d36b97bac0df86c1120af323db1b577dc90629/src/nvim/ex_docmd.c#L9704-L9705
* vim-patch:8.1.0334: 'autowrite' takes effect when buffer is not to be writtenJan Edmund Lazo2018-09-04
| | | | | | | 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'. https://github.com/vim/vim/commit/8c9e7b00f6566dc41e794ef11c93d93b034c7134
* globals: cmd_silent is boolJan Edmund Lazo2018-08-29
|
* ex_cmds2: checkall in dialog_changed() is boolJan Edmund Lazo2018-08-28
|
* vim-patch:8.0.0983: unnecessary check for NULL pointerJan Edmund Lazo2018-08-28
| | | | | | | Problem: Unnecessary check for NULL pointer. Solution: Remove the NULL check in dialog_changed(), it already happens in dialog_msg(). (Ken Takata) https://github.com/vim/vim/commit/3f9a1ff141412e9e85f7dff47d02946cb9be9228
* vim-patch:8.0.0900: :tab options doesn't open a new tab pageJan Edmund Lazo2018-08-24
| | | | | | Problem: :tab options doesn't open a new tab page. (Aviany) Solution: Support the :tab modifier. (closes vim/vim#1960) https://github.com/vim/vim/commit/ab6c8587ba846d08cd70e7b225c4952a468fc1e8
* vim-patch:8.0.1649: no completion for argument list commandsJan Edmund Lazo2018-08-16
| | | | | | Problem: No completion for argument list commands. Solution: Add arglist completion. (Yegappan Lakshmanan, closes vim/vim#2706) https://github.com/vim/vim/commit/cd43effecab02c6c28b1c4a3a14f91b8c3f26c0d
* vim-patch:8.0.1398: :packadd does not load packages from the "start" ↵Jan Edmund Lazo2018-07-23
| | | | | | | | | 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. https://github.com/vim/vim/commit/9e1d399e63903c6f84d7888ad8d84ebf4e29d8a1
* terminal: handle &confirm and :confirm on unloading (#8726)Marco Hinz2018-07-12
| | | | | | 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
* vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* vim-patch:8.0.0466: still macros that should be all-caps (#8510)Jan Edmund Lazo2018-06-10
| | | | | Problem: There are still a few macros that should be all-caps. Solution: Make a few more macros all-caps. https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
* api: Make nvim_set_option() update `:verbose set ...`b-r-o-c-k2018-05-03
| | | | | | 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.
* vim-patch:8.0.0858: can exit while a terminal is still running a jobJustin M. Keyes2018-02-11
| | | | | | | Problem: Can exit while a terminal is still running a job. Solution: Consider a buffer with a running job like a changed file. https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
* vim-patch:8.0.0847: :argadd without argument can't handle space in file nameJustin M. Keyes2018-02-11
| | | | | | | | Problem: :argadd without argument can't handle space in file name. (Harm te Hennepe) Solution: Escape the space. (Yasuhiro Matsumoto, closes vim/vim#1917) https://github.com/vim/vim/commit/398ee7326b78b892a5c8380dfe3f2521a64b4fa7
* vim-patch:8.0.0721: :argedit can only have one argumentJustin M. Keyes2018-02-11
| | | | | | Problem: :argedit can only have one argument. Solution: Allow for multiple arguments. (Christian Brabandt) https://github.com/vim/vim/commit/90305c66a8637ea43a6509c7ab597734dd218365
* vim-patch:8.0.0439: ":%argdel" gives an error for an empty arglistJustin M. Keyes2018-02-11
| | | | | | | | | | 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) https://github.com/vim/vim/commit/69a92fb5aecdf2f9d5f6947790b18991b22d0e4c Also: vim-patch:8.0.0473
* *: Provide list length when allocating listsZyX2018-01-14
|
* io: retry fgets on EINTR (#7632)Matt Widmann2017-11-25
| | | | | | | | | | | | | | | | | | 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`.
* eval_clear: free profile dataJustin M. Keyes2017-10-30
| | | | | | | | | | | | | | | | | | | | | | 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
* vim-patch:8.0.1207Justin M. Keyes2017-10-29
| | | | | | | | 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. https://github.com/vim/vim/commit/67435d9983965c5c77fc74f0559779ce4554dacb
* vim-patch:8.0.0680James McCoy2017-08-21
| | | | | | | | 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) https://github.com/vim/vim/commit/07ecfa64a18609a986f21d6132d04ee8934f3200
* vim-patch:8.0.0612James McCoy2017-08-21
| | | | | | | | | 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) https://github.com/vim/vim/commit/ce876aaa9a250a5a0d0e34b3a2625e51cf9bf5bb
* vim-patch:8.0.0308James McCoy2017-08-21
| | | | | | | | | 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) https://github.com/vim/vim/commit/2f9e575583c2ad3978ee3d0f790eeff7df56bd6c
* Merge pull request #7145 from ckelsel/vim-8.0.0174James McCoy2017-08-16
|\ | | | | vim-patch:8.0.0174
| * vim-patch:8.0.0174ckelsel2017-08-10
| | | | | | | | | | | | | | | | 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) https://github.com/vim/vim/commit/b8f7bd68f6fdff51ca4db5b145dcde42ee7b804b
* | ex_getln: Replace global with entry in save_cclineZyX2017-07-17
|/
* Merge branch 'master' into luaviml'/luaZyX2017-05-08
|\
| * *: Add comment to all C filesZyX2017-04-19
| |
* | Merge branch 'master' into luaviml'/luaZyX2017-04-08
|\|
| * *: Use const char * in set_one_cmd_contextZyX2017-03-29
| | | | | | Also renames functions added in master and renamed here.
| * *: Make some more things const and with lengthZyX2017-03-29
| |
| * *: Move some dictionary functions to typval.h and use char*ZyX2017-03-29
| | | | | | | | Also fixes buffer reusage in setmatches() and complete().
| * eval: Split eval.c into smaller filesZyX2017-03-29
| |
* | ex_getln: Refactor script_get()ZyX2017-03-27
|/ | | | | | | | | | | | | | 1. Use `char *` for strings. 2. Add `const` qualifiers. 3. Add attributes and documentation. 4. Handle skipping *inside*. 5. Handle non-heredoc argument also inside: deferring this to the caller is pointless because all callers need the same thing. Though new ex_lua caller may live without allocations in this case, allocating nevertheless produces cleaner code. 6. Note that all callers call script_get with `eap` and `eap->arg`. Thus second argument is useless in practice: it is one and the same always and can be reached through the first argument.
* vim-patch:7.4.2164 (#6326)Justin M. Keyes2017-03-21
| | | | | | | | | | | | | | | | | | | | | Problem: It is not possible to use plugins in an "after" directory to tune the behavior of a package. Solution: First load plugins from non-after directories, then packages and finally plugins in after directories. Reset 'loadplugins' before executing --cmd arguments. https://github.com/vim/vim/commit/66459b7c98c67f8a9d39de8f08e8e8f1fca0e359 vim-patch:7.4.2172 vim-patch:7.4.2169 vim-patch:7.4.2177 vim-patch:7.4.2178 vim-patch:7.4.2184 vim-patch:8.0.0050 vim-patch:8.0.0105 vim-patch:8.0.0400 vim-patch:8.0.0405 Closes #6034
* job-control: set CLOEXEC on pty processes. #5986Matthew Malcomson2017-03-17
| | | | | Before this change, new processes started with libuv prevented SIGHUP from reaching pty processes (by keeping the ptmx file descriptor open).
* *: Partial string handling refactoringZyX2017-02-15
| | | | | | | | Main points: - Replace `char_u` with `char` in some cases. - Remove `str[len] = NUL` hack in some cases when `str` may be considered `const`.
* vim-patch:7.4.2024Marco Hinz2017-02-04
| | | | | | | | | | Problem: More buf_valid() calls can be optimized. Solution: Use bufref_valid() instead. NOTE: Some changes related to channels and the Python and Netbeans interfaces were obviously left out. https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b
* vim-patch:7.4.1699 (#5660)Michael Ennen2016-11-29
| | | | | | Problem: :packadd does not work the same when used early or late. Solution: Always load plugins matching "plugin/**/*.vim". https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* perf: Disable clipboard in do_cmdline().Justin M. Keyes2016-08-25
| | | | | | | | | | | For any script--not just `:global` commands--there is no reason to update the system clipboard until the script is finished, so disable it during do_cmdline(). Before this change, 'clipboard=unnamedplus' causes scripted editing to be extremely slow (e.g. `:normal` in a while-loop). Closes #3534
* ops.c: Rename start_global_changes().Justin M. Keyes2016-08-25
|
* Merge #4980 'Support legacy `:ruby` commands'.Justin M. Keyes2016-07-10
|\
| * Add :ruby, :rubyfile, and :rubydo ex commandsAlex Genco2016-07-02
| |