aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_cmds.c
Commit message (Collapse)AuthorAge
...
* ex_cmds.c:do_sub(): macroize duplicate codeJustin M. Keyes2017-09-13
|
* 'inccommand': fix 'gdefault' lockup #7261KillTheMule2017-09-12
| | | | | closes #7244 ref #7249
* inccommand: fix optimization logic #7224KillTheMule2017-09-09
| | | | | | | Before this change the preview changes in the buffer viewport were limited to the size of the preview window ('cmdwinheight'). closes #7220
* vim-patch:8.0.0209ckelsel2017-08-30
| | | | | | | | Problem: When using :substitute with the "c" flag and 'cursorbind' is set the cursor is not updated in other windows. Solution: Call do_check_cursorbind(). (Masanori Misono) https://github.com/vim/vim/commit/41baa7983aa81b0343b053e6a672cf8224a10245
* fix lintckelsel2017-07-24
|
* 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
* lintckelsel2017-07-13
|
* vim-patch:7.4.2250ckelsel2017-07-13
| | | | | | | Problem: Some error message cannot be translated. Solution: Enclose them in _() and N_(). (Dominique Pelle) https://github.com/vim/vim/commit/5b30291785e6b9be1a607504c14bd03c601b59a6
* inccommand: improve performance #6949KillTheMule2017-07-08
| | | | | | | | During a preview, we can stop looking for matches after we got enough lines for the preview buffer. Because of this perf improvement, the 'redrawtime' test needs to be slowed down in a different way: _long_ lines instead of just many lines.
* bufhl: fix moveBjörn Linse2017-06-24
|
* vim-patch:7.4.1976James McCoy2017-06-04
| | | | | | | Problem: Number variables are not 64 bits while they could be. Solution: Add the num64 feature. (Ken Takata) https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
* lintJames McCoy2017-05-12
|
* ex_cmds: Use NULL, not NUL, to check for strrchr failureJames McCoy2017-05-12
|
* Merge #6460 from ZyX-I/1476-changesJustin M. Keyes2017-05-08
|\ | | | | Refactor functions which find character in a string
| * strings: Remove vim_strbyteZyX2017-04-07
| | | | | | | | Ref #1476
* | lintJames McCoy2017-04-29
| |
* | vim-patch:7.4.2263James McCoy2017-04-29
| | | | | | | | | | | | | | | | | | Problem: :filter does not work for many commands. Can only get matching messages. Solution: Make :filter work for :command, :map, :list, :number and :print. Make ":filter!" show non-matching lines. https://github.com/vim/vim/commit/d29459baa61819e59961804ed258efac5733ec70
* | vim-patch:7.4.2246James McCoy2017-04-29
| | | | | | | | | | | | | | Problem: Oldfiles test fails. Solution: Include missing changes. https://github.com/vim/vim/commit/d6f2ee32dcfa18c781ef157918b524318a2215a2
* | vim-patch:7.4.2239James McCoy2017-04-29
| | | | | | | | | | | | | | | | Problem: Warning for missing declaration of skip_vimgrep_pat(). (John Marriott) Solution: Move it to another file. https://github.com/vim/vim/commit/9baf297c99cc35adb921bee04369499d76438889
* | vim-patch:7.4.2231James McCoy2017-04-29
| | | | | | | | | | | | | | Problem: ":oldfiles" output is a very long list. Solution: Add a pattern argument. (Coot, closes vim/vim#575) https://github.com/vim/vim/commit/e11d61a3b1cdedf3144de697a2b38af62c3a78d8
* | ex_cmds.c: Fix bug in ex_z (#6557)sander22017-04-21
| | | | | | | | vim-patch:8.0.0571
* | *: Add comment to all C filesZyX2017-04-19
|/
* eval: Move remaining get_tv_string* functions to eval/typval.cZyX2017-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
|
* refactor: Remove allow_keys global (#6346)Matthew Malcomson2017-03-25
| | | | | | * The allow_keys global is unused in nvim, remove it * clint
* Merge #6221Justin M. Keyes2017-03-25
|\
| * Robustly handle folds during a :move commandMatthew Malcomson2017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to re-order marks according to the :move command, do_move() uses mark_adjust() in a non-standard manner. The non-standard action is that it moves some marks *past* other marks. This doesn't matter for marks, but mark_adjust() calls foldMarkAdjust() which simply changes fold starts and lengths and doesn't have enough information to know that other folds have to be checked and reordered. The array of folds for each window are assumed to be in order of increasing line number, and if this gets broken some folds can get "lost". There has been a previous patch to avoid this problem by deleting and recalculating all folds in the window, but this comes at the cost of closing all folds when executing :move, and doesn't cover the case of manual folds. This patch adds a new function foldMoveRange() specifically for the :move command that handles reordering folds as well as simply moving them. Additionally, we allow calling mark_adjust_nofold() that does the same as mark_adjust() but doesn't affect any fold array. Calling mark_adjust_nofold() should be done in the same manner as calling mark_adjust(), but according changes to the fold arrays must be done seperately by the calling function. vim-patch:8.0.0457 vim-patch:8.0.0459 vim-patch:8.0.0461 vim-patch:8.0.0465
* | vim-patch:7.4.2341Justin M. Keyes2017-03-22
| | | | | | | | | | Problem: Tiny things. Test doesn't clean up properly. Solution: Adjust comment and white space. Restore option value.
* | vim-patch:7.4.2324Justin M. Keyes2017-03-22
|/ | | | | | | | | | Problem: Crash when editing a new buffer and BufUnload autocommand wipes out the new buffer. (Norio Takagi) Solution: Don't allow wiping out this buffer. (partly by Hirohito Higashi) Move old style test13 into test_autocmd. Avoid ml_get error when editing a file. https://github.com/vim/vim/commit/e0ab94e7123ca7855f45919114d948ef2bc1e8c3
* lintJames McCoy2017-03-11
|
* vim-patch:7.4.2101James McCoy2017-03-11
| | | | | | | Problem: Looping over windows, buffers and tab pages is inconsistant. Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/2932359000b2f918d5fade79ea4d124d5943cd07
* Merge #6112 from ZyX-I/split-eval'/buf_get_changedtickJustin M. Keyes2017-02-27
|\ | | | | Better b:changedtick support
| * buffer: Bind b:changedtick to b:['changedtick'], remove special casesZyX2017-02-23
| |
* | Merge #6111 from ZyX-I/split-eval'/os-fileioJustin M. Keyes2017-02-27
|\ \ | |/ |/| Refactor writefile() and create more tests for it
| * eval: writefile: Give more adequate IO errors and do not call putc()ZyX2017-02-14
| |
* | *: 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.2106lonerover2017-02-07
| | | | | | | Problem: Clang warns about missing field in initializer. Solution: Define COMMA and use it. (Kazunobu Kuriyama) https://github.com/vim/vim/commit/ac77aec4daea8d73468fcf4690cb4ccab1d807ed
* 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.2021Marco Hinz2017-02-04
| | | | | | | Problem: Still too many buf_valid() calls. Solution: Make au_new_curbuf a bufref. Use bufref_valid() in more places. https://github.com/vim/vim/commit/19ff9bf454b7492be64dd87aaf0830fa7961871e
* refactor: Remove strncpy/STRNCPY. (#6008)Justin M. Keyes2017-01-26
| | | | | | | | | | | | | | | Closes #731 References #851 Note: This does not remove some intentional legacy usages of strncpy. - memcpy isn't equivalent because it doesn't check the string length of `src`, and doesn't zero-out the remainder of `dst`. - xstrlcpy isn't equivalent because it doesn't zero-out the remainder of `dst`. Some Vim logic depends on that (e.g. ex_append which calls vim_strnsave). Helped-by: Douglas Schneider <ds3@ualberta.ca> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: James McCoy <jamessan@jamessan.com>
* coverity/155512: Pass correct length to strncat()Justin M. Keyes2017-01-23
| | | | References 8bc2bffda94bf2de4e8adae57b4b5597ed4e8247
* errors: Introduce "E856: Filename too long"Justin M. Keyes2017-01-23
|
* add_pathsep(): Return false if filename is too long.cztchoice2017-01-23
| | | | References #3042
* refactor: strlcat instead of str{n}cat.cztchoice2017-01-23
| | | | | | | | | | Add xstrlcat function. Closes #3042 References #988 References #1069 coverity: 71530, 71531, 71532
* ex_cmds: Also pass correct length in windows codeZyX2017-01-23
|
* coverity/155511: Pass correct length argument to strncat()ZyX2017-01-23
|
* open_buffer(): Do `BufEnter` for directories.Justin M. Keyes2017-01-12
| | | | | | | | | | | | | | | | | | | Abuse NOTDONE to give some nuance to the return value of readfile(), so that open_buffer() can distinguish between "failed, lol" and "failed because the path is a directory". Before this change, Vim *already* creates a new buffer when a directory is edited. So there is no reason it should not raise BufEnter, that was an implementation detail of ye olde readfile(). Most of the changes in this commit merely preserve the old semantics. The "implicit" change that we actually are interested in, is this line in `open_buffer()`, where `retval` being non-FAIL allows EVENT_BUFENTER to be applied: apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf, &retval); References https://github.com/vim/vim/issues/1353
* inccommand: Suppress error reporting when previewing commandsJames McCoy2017-01-11
| | | | Closes #5912
* vim-patch:7.4.2015Shougo Matsushita2017-01-02
| | | | | | | | | | Problem: When a file gets a name when writing it 'acd' is not effective. (Dan Church) Solution: Invoke DO_AUTOCHDIR after writing the file. (Allen Haim, closes vim/vim#777, closes vim/vim#803) Add test_autochdir() to enable 'acd' before "starting" is reset. https://github.com/vim/vim/commit/5c71994f4ee5f87d4cce990dbc9684c70b1e108b