aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_docmd.c
Commit message (Collapse)AuthorAge
...
* *: Make sure that !did_throw implies !current_exceptionZyX2018-03-25
| | | | Fixes #7876
* Merge #4419 'implement <Cmd> key'Justin M. Keyes2018-03-24
|\
| * getchar: implement <Cmd> key to invoke command in any modeBjörn Linse2018-03-23
| |
* | refactor/rename: path_try_shorten_fname()Justin M. Keyes2018-03-24
| |
* | refactor/rename: path_is_absolute()Justin M. Keyes2018-03-24
| |
* | refactor: eliminate `autocmd_fname_full` globalJustin M. Keyes2018-03-24
| | | | | | | | | | | | | | | | It's a micro-optimization; check path_is_absolute_path(autocmd_fname) instead. The main optimization (which is still in place) afforded by Vim 7.2.021 was to avoid resolving <afile> when it is not needed.
* | provider/RPC: apply_autocmds_group(): fix double-freeJustin M. Keyes2018-03-24
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During provider dispatch, eval_call_provider() saves global state--including pointers, such as `autocmd_fname`--into `provider_caller_scope` which is later restored by f_rpcrequest(). But `autocmd_fname` is special-cased in eval_vars(), for performance (see Vim patch 7.2.021; this is also the singular purpose of the `autocmd_fname_full` global. Yay!) If eval_vars() frees `autocmd_fname` then its provider-RPC-scoped alias becomes a problem. Solution: Don't free autocmd_fname in eval_vars(), just copy into it. closes #5245 closes #5617 Reference ------------------------------------------------------------------------ Vim patch 7.2.021 https://github.com/vim/vim/commit/f6dad43c98f47da1ff9d8c99b320fc3674f83c63 Problem: When executing autocommands getting the full file name may be slow. (David Kotchan) Solution: Postpone calling FullName_save() until autocmd_fname is used. vim_dev discussion (2008): "Problem with CursorMoved AutoCommand when Editing Files on a Remote WIndows Share" https://groups.google.com/d/msg/vim_dev/kj95weZa_eE/GTgj4aq5sIgJ
* lintJustin M. Keyes2018-02-12
|
* vim-patch:8.0.1205: it is possible to unload a changed bufferJustin M. Keyes2018-02-11
| | | | | | | Problem: Using "1q" it is possible to unload a changed buffer. (Rick Howe) Solution: Check the right window for changes. https://github.com/vim/vim/commit/ff930cad8a9100eeb04256aab1a14de993c1d7e9
* 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.0613: the conf filetype is used before ftdetect from packagesJustin M. Keyes2018-02-11
| | | | | | | | | Problem: The conf filetype detection is done before ftdetect scripts from packages that are added later. Solution: Add the FALLBACK argument to :setfiletype. (closes vim/vim#1679, closes vim/vim#1693) https://github.com/vim/vim/commit/3e54569b17683318e0cb6693ab0024c2ad1e3e8f
* vim-patch:8.0.1204: a QuitPre autocommand may get the wrong file nameJustin M. Keyes2018-02-11
| | | | | | | Problem: A QuitPre autocommand may get the wrong file name. Solution: Pass the buffer being closed to apply_autocmds(). (Rich Howe) https://github.com/vim/vim/commit/87ffb5c1a3aa506a1be07af4e794b3753f839dc3
* vim-patch:8.0.0700: segfault with QuitPre autocommand closes the windowJustin M. Keyes2018-02-11
| | | | | | | | Problem: Segfault with QuitPre autocommand closes the window. (Marek) Solution: Check that the window pointer is still valid. (Christian Brabandt, closes vim/vim#1817) https://github.com/vim/vim/commit/0ea5070d79c8a13fb2403280a72f968495b0fab7
* Add completion for :checkhealthMarco Hinz2018-01-18
|
* defaults: do :filetype stuff unless explicitly "off"Justin M. Keyes2018-01-04
| | | | | | | | | | | Until now, the default `:filetype ...` setup was skipped if the user config touched `:filetype` in any way (including implicitly via `:syntax on`). No one needs that, and it's very confusing. Instead, proceed with `:filetype ... on` unless the user explicitly called `:filetype ... off`. closes #7765
* Move applying of TabClosed to win_close_othertabDaniel Hahler2017-12-29
|
* Merge branch 'master' into expression-parserZyX2017-12-03
|\ | | | | | | Hoping that could fix the LSAN issue: no idea what it is talking about.
| * fix lint errorckelsel2017-12-02
| |
| * vim-patch:8.0.0298ckelsel2017-12-02
| | | | | | | | | | | | | | | | Problem: Ex command range with repeated search does not work. (Bruce DeVisser) Solution: Skip over \/, \? and \&. https://github.com/vim/vim/commit/cbf20fbcd3e9bb006f694bcc35da859930fb12a2
* | Merge branch 'master' into expression-parserZyX2017-11-19
|\|
| * 'viewoptions': add "curdir" flag #7447Eric Roberts2017-11-18
| | | | | | | | | | | | | | | | | | | | The flag enables the current local directory set by ":lcd" to be saved to views which is the current default behaviour. The option can be removed to disable this behaviour. closes #7435 vim-patch:8.0.1289
| * vim-patch:8.0.0218 (#7529)KunMing Xie2017-11-10
| | | | | | | | | | | | Problem: No command line completion for :cexpr, :cgetexpr, :caddexpr, etc. Solution: Make completion work. (Yegappan Lakshmanan) Add a test. https://github.com/vim/vim/commit/2b2207ba69c6b009e466a36eef0644ca723e16d3
* | Merge branch 'master' into expression-parserZyX2017-10-30
|\|
| * inccommand: Ignore leading modifiers in the commandJames McCoy2017-10-24
| |
| * :cquit : take an error code argument #7336Josh Leeb-du Toit2017-10-22
| | | | | | | | | | | | | | | | | | | | closes #2699 ex_cmds.lua: use flags consistent with similar commands such as `cnext`. upstream discussion: "[patch] :qcuit can take exit code" https://groups.google.com/d/msg/vim_dev/_PjyNbUKyRc/oPgr5_ZXc6AJ
* | syntax,viml/expressions/parser: Create defaults for expr highlightingZyX2017-10-29
|/
* lintJames McCoy2017-09-26
|
* vim-patch:8.0.1024James McCoy2017-09-26
| | | | | | | | Problem: Manual folds are lost when a session file has the same buffer in two windows. (Jeansen) Solution: Use ":edit" only once. (Christian Brabandt, closes vim/vim#1958) https://github.com/vim/vim/commit/4bebc9a0565670b853d227f81a9a31eafdb47eed
* vim-patch:8.0.0253James McCoy2017-09-26
| | | | | | | | | Problem: When creating a session when winminheight is 2 or larger and loading that session gives an error. Solution: Also set winminheight before setting winheight to 1. (Rafael Bodill, neovim vim/vim#5717) https://github.com/vim/vim/commit/36ae89c550a4f0a380606c3fb4a054957ad698f0
* vim-patch:8.0.0294 (#7305)Michael Schupikov2017-09-23
| | | | | | | | | | Problem: Argument list is not stored correctly in a session file. (lgpasquale) Solution: Use "$argadd" instead of "argadd". (closes vim/vim#1434) https://github.com/vim/vim/commit/79da563cf9220b9abb83455a68d995684133ea56 Signed-off-by: Michael Schupikov <michael@schupikov.de>
* vim-patch:8.0.0327 (#7281)KunMing Xie2017-09-17
| | | | | | | Problem: The E11 error message in the command line window is not translated. Solution: use _(). (Hirohito Higashi) https://github.com/vim/vim/commit/75c19464ed7fb6024af64747379e61abc4e4a483
* vim-patch:8.0.0324 (#7279)KunMing Xie2017-09-17
| | | | | | | Problem: Illegal memory access with "1;y". Solution: Call check_cursor() instead of check_cursor_lnum(). (Dominique Pelle, closes vim/vim#1455) https://github.com/vim/vim/commit/f1f6f3f7df2938b3583e341482d96c1d53124c51
* Use Normal mode as default when opening a new terminalDrew Neil2017-08-21
|
* vim-patch:8.0.0290 vim-patch:8.0.0394Justin M. Keyes2017-08-12
| | | | | | | | | | | | | | | | | vim-patch:8.0.0290: cursor positioning wrong if wide character wraps Problem: If a wide character doesn't fit at the end of the screen line, and the line doesn't fit on the screen, then the cursor position may be wrong. (anliting) Solution: Don't skip over wide character. (Christian Brabandt, closes vim/1408) vim-patch:8.0.0394 Problem: Tabs are not aligned when scrolling horizontally and a Tab doesn't fit. (Axel Bender) Solution: Handle a Tab as a not fitting character. (Christian Brabandt) Also fix that ":redraw" does not scroll horizontally to show the cursor. And fix the test that depended on the old behavior. https://github.com/vim/vim/commit/abc39ab642791ae3d22a524516eeedb673a95d9d
* vim-patch:8.0.0137 (#7119)KunMing Xie2017-08-06
| | | | | | | Problem: When 'maxfuncdepth' is set above 200 the nesting is limited to 200. (Brett Stahlman) Solution: Allow for Ex command recursion depending on 'maxfuncdepth'. https://github.com/vim/vim/commit/777b30f827bcbe10a40640b1bf0361cb93a16be1
* vim-patch:8.0.0086 (#7118)lonerover2017-08-06
| | | | | | Problem: Cannot add a comment after ":hide". (Norio Takagi) Solution: Make it work, add a test. (Hirohito Higashi) https://github.com/vim/vim/commit/2256c9947164229c0960803e2a2992b793c23298
* vim-patch:8.0.0133 (#7107)KunMing Xie2017-08-04
| | | | | | Problem: "2;'(" causes ml_get errors in an empty buffer. (Dominique Pelle) Solution: Check the cursor line earlier. https://github.com/vim/vim/commit/fe38b494fff56cd9b2fcaeef26a8fd7b6557d69c
* vim-patch:8.0.0081lonerover2017-08-04
| | | | | | | Problem: Inconsistent function names. Solution: Rename do_cscope to ex_cscope. Clean up comments. https://github.com/vim/vim/commit/d4db7719bdfbc54df396eac08d8cbb2389feacf4
* Revert "vim-patch:8.0.0133 (#7107)"Justin M. Keyes2017-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit eb40b7ec404e8651137513ced43d503bc6656f17. The change caused this error on QuickBuild: INFO - # test/functional/core/job_spec.lua @ 668: pty process teardown does not prevent/delay exit. #4798 #4900 INFO - not ok 321 - pty process teardown does not prevent/delay exit. #4798 #4900 INFO - # test/functional/core/job_spec.lua @ 668 INFO - # Failure message: ./test/functional/ui/screen.lua:302: Row 1 did not match. INFO - # Expected: INFO - # |* | INFO - # |[Process exited 0] | INFO - # | | INFO - # | | INFO - # | | INFO - # |-- TERMINAL -- | INFO - # Actual: INFO - # |*E575: Error while reading ShaD| INFO - # |a file: mark entry at position| INFO - # | 92 has invalid line number | INFO - # |Press ENTER or type command to| INFO - # | continue | INFO - # |-- TERMINAL -- | INFO - # INFO - # To print the expect() call that would assert the current screen state, use INFO - # screen:snaphot_util(). In case of non-deterministic failures, use INFO - # screen:redraw_debug() to show all intermediate screen states. INFO - # stack traceback: INFO - # ./test/functional/ui/screen.lua:302: in function 'wait' INFO - # ./test/functional/ui/screen.lua:216: in function 'expect' INFO - # test/functional/core/job_spec.lua:677: in function <test/functional/core/job_spec.lua:668>
* vim-patch:8.0.0133 (#7107)KunMing Xie2017-08-02
| | | | | | Problem: "2;'(" causes ml_get errors in an empty buffer. (Dominique Pelle) Solution: Check the cursor line earlier. https://github.com/vim/vim/commit/fe38b494fff56cd9b2fcaeef26a8fd7b6557d69c
* Merge pull request #7069 from jbradaric/vim-8.0.0034James McCoy2017-07-26
|\ | | | | vim-patch:8.0.0034
| * vim-patch:8.0.0034Jurica Bradaric2017-07-25
| | | | | | | | | | | | | | Problem: No completion for ":messages". Solution: Complete "clear" argument. (Hirohito Higashi) https://github.com/vim/vim/commit/9e507ca8a3e1535e62de4bd86374b0fcd18ef5b8
* | vim-patch:8.0.0075Jurica Bradaric2017-07-25
|/ | | | | | | Problem: Using number for exception type lacks type checking. Solution: Use an enum. https://github.com/vim/vim/commit/8a5883b7488e492419dde7e1637cc72f2d566ba4
* fix lintckelsel2017-07-24
|
* vim-patch:8.0.0073ckelsel2017-07-23
| | | | | | | Problem: More comparisons between firstwin and lastwin. Solution: Use ONE_WINDOW for consistency. (Hirohito Higashi) https://github.com/vim/vim/commit/459ca563128f2edb7e3bb190090bbb755a56dd55
* vim-patch:8.0.0069ckelsel2017-07-23
| | | | | | | Problem: Compiler warning for self-comparison. Solution: Define ONE_WINDOW and add vim/vim#ifdef. https://github.com/vim/vim/commit/a1f4cb93ba50ea9e40cd4b1f5592b8a6d1398660
* 'cpoptions': remove "<" flag; ignore <special>Justin M. Keyes2017-07-08
| | | | Closes #6937 "nvim_get_keymap output is unreliable"
* mksession: Restore tab-local working directory #6859HiPhish2017-06-11
| | | | | | | | The ':tcd' command is the first tab-specific command written to the file and it is wrapped inside an 'if has('nvim')' block to keep the session file compatible with Vim. Closes #6678
* ui: cleanup UI_CALL wrappersBjörn Linse2017-05-10
| | | | remove pointless control chars in the text stream
* Merge branch 'master' into luaviml'/luaZyX2017-05-08
|\