| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
Problem: Address type of :wincmd depends on the argument.
Solution: Check the argument.
https://code.google.com/p/vim/source/detail?r=v7-4-572
|
|
|
|
|
|
|
|
| |
Problem: Giving an error for ":0wincmd w" is a problem for some
plugins.
Solution: Allow the zero in the range. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-568
|
|
|
|
|
|
|
| |
Problem: :argdo, :bufdo, :windo and :tabdo don't take a range.
Solution: Support the range. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-566
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Ranges for arguments, buffers, tabs, etc. are not checked to
be valid but limited to the maximum. This can cause the
wrong
thing to happen.
Solution: Give an error for an invalid value. (Marcin Szamotulski)
Use windows range for ":wincmd".
https://code.google.com/p/vim/source/detail?r=v7-4-565
|
|
|
|
|
|
|
|
| |
Patch 7.4.561
Problem: Ex range handling is wrong for buffer-local user commands.
Solution: Check for CMD_USER_BUF. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?name=v7-4-561
|
|
|
|
|
|
|
| |
Problem: Repeated use of vim_snprintf() with a number.
Solution: Move these vim_snprintf() calls into a function.
https://code.google.com/p/vim/source/detail?name=v7-4-546
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using a range for window and buffer commands has a few
problems.
Cannot specify the type of range for a user command.
Solution: Add the -addr argument for user commands. Fix problems.
(Marcin Szamotulski
https://code.google.com/p/vim/source/detail?name=v7-4-542
|
|
|
|
|
|
|
|
|
|
| |
Patch 7.4.539 (after 7.4.530)
Problem: Crash when computing buffer count. Problem with range for
user commands. Line range wrong in Visual area.
Solution: Avoid segfault in compute_buffer_local_count(). Check for
CMD_USER when checking type of range. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?name=v7-4-539
|
|
|
|
|
|
|
|
|
|
| |
Patch 7.4.535 (after 7.4.530)
Problem: Can't build with tiny features.
Solution: Add #ifdefs and skip a test.
https://code.google.com/p/vim/source/detail?name=v7-4-535
This is also a refactor of some code in 7.4.530.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specify different kinds of counts for commands.
Updated ex commands generator scripts.
Includes fixes to comments from patch 7.4.531
Original message:
Problem: Many commands take a count or range that is not using line
numbers.
Solution: For each command specify what kind of count it uses. For
windows, buffers and arguments have "$" and "." have a
relevant
meaning. (Marcin Szamotulski)
https://code.google.com/p/vim/source/detail?r=v7-4-530
https://code.google.com/p/vim/source/detail?r=v7-4-531
Add legacy tests for 7.4.530
https://code.google.com/p/vim/source/detail?r=1e6d87a36dcdca231721dde8cbbc26610fb3df27
|
|
|
|
|
|
|
| |
Problem: After 7.4.630 the problem persists.
Solution: Also skip redo when calling a user function.
https://github.com/vim/vim/commit/v7-4-633
|
|
|
|
|
|
|
|
|
| |
Problem: When using Insert mode completion combined with autocommands the
redo command may not work.
Solution: Do not save the redo buffer when executing autocommands. (Yasuhiro
Matsumoto)
https://github.com/vim/vim/commit/v7-4-630
|
|
|
|
| |
Introduction of asserts broke bracketless if's.
|
|
|
|
|
|
| |
After left clicking on a tab in the tabline, the "in_tab_line" variable wasn't
set to 'false' and every following mouse action assumed still being on the
tabline which messed up visual selection etc.
|
|\
| |
| |
| | |
Reviewed-by: oni-link <knil.ino@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Dead increment @ 1795.
Diagnostic : Harmless issue.
Rationale : Line was necessary before (indent was used by the following
while loop), but now that loop is removed, assignment is
indeed dead.
Resolution : Remove line.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Argument with 'nonnull' attribute passed null @ 4227.
Diagnostic : Harmless issue.
Rationale : It's true we're calling memset with NULL pointer, but it's
also true we're doing it with zero size. We just thought
that would work and do nothing (it was a way of avoiding
to add a guard). It doesn't work, though, as memset
requires nonnull arguments.
Resolution : Add guard to avoid null argument.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor summary:
- extern int opcount --> extern long opcount
- bool find_decl(..., int len, ...) --> bool find_decl(..., size_t len, ...)
* int find_ident_under_cursor(...) --> size_t find_ident_under_cursor(...)
- int find_ident_at_pos(...) --> size_t find_ident_at_pos(...)
- int modify_fname(..., int *usedlen, ..., int *fnamelen) --> int modify_fname(..., size_t *usedlen, ..., size_t *fnamelen)
* char_u *eval_vars(..., int *usedlen, ...) --> char_u *eval_vars(..., size_t *usedlen, ...)
- int find_cmdline_var(..., int *usedlen) --> ssize_t find_cmdline_var(..., size_t *usedlen)
- static char_u *repl_cmdline(..., int srclen, ...) --> static char_u *repl_cmdline(..., size_t srclen, ...)
- bool get_visual_text(..., int *lenp) --> bool get_visual_text(..., size_t *lenp)
* char_u *find_file_name_in_path(..., int len, ...) --> char_u *find_file_name_in_path(..., size_t len, ...)
- static char_u *eval_includeexpr(..., int len) --> static char_u *eval_includeexpr(..., size_t len)
- char_u *find_file_in_path(..., int len, ...) --> char_u *find_file_in_path(..., size_t len, ...)
* char_u *find_file_in_path_option(..., int len, ...) --> char_u *find_file_in_path_option(..., size_t len, ...)
- char_u *find_directory_in_path(..., int len, ...) --> char_u *find_directory_in_path(..., size_t len, ...)
* int spell_move_to(...) --> size_t spell_move_to(...)
- int spell_check(...) --> size_t spell_check(...)
- static int spell_bad_len --> static size_t spell_bad_len
- void find_pattern_in_path(..., int len, ...) --> void find_pattern_in_path(..., size_t len, ...)
Helped-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
|
|
|
| |
Problem: Missing change in another file.
Solution: Also change message.c
https://github.com/vim/vim/releases/tag/v7-4-712
|
|
|
|
|
|
|
| |
Problem: Missing change in one file.
Solution: Also change option.c
https://github.com/vim/vim/releases/tag/v7-4-711
|
|
|
|
|
|
|
|
|
| |
Problem: It is not possible to make spaces visibible in list mode.
Solution: Add the "space" item to 'listchars'. (David Bürgin, issue 350)
https://github.com/vim/vim/releases/tag/v7-4-710
Closes #2485.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Value of v:hlsearch reflects an internal variable.
Solution: Make the value reflect whether search highlighting is actually
displayed. (Christian Brabandt)
https://github.com/vim/vim/releases/tag/v7-4-537
|
|
|
|
|
|
|
|
| |
Problem: When using 'incsearch' "2/pattern/e" highlights the first match.
Solution: Move the code to set extra_col inside the loop for count. (Ozaki
Kiichi)
https://github.com/vim/vim/releases/tag/v7-4-532
|
|
|
|
|
|
|
| |
Problem: Missing part of patch 7.4.519.
Solution: Copy back regprog after calling vim_regexec.
https://github.com/vim/vim/tree/v7-4-554
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when using syntax highlighting.
Solution: When regprog is freed and replaced, store the result.
https://github.com/vim/vim/tree/v7-4-519
Helped-by: Scott Prager <splinterofchaos@gmail.com>
|
| |
|
|
|
|
| |
vim-patch: https://code.google.com/p/vim/source/detail?r=v7-4-690
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problems with line-input editing commands in Ex mode
('nvim -e' or 'Q' in normal mode):
CTRL_U: Only after the next keystroke the complete
line change is shown if the indentation was
not 0.
: asdfCTRL_U
CTRL_T: Memory reallocation with ga_grows() before a
memmove(), but pointers into the memory are
not updated.
:set sw=40
:CTRL_T
...
Should complain about a memory error.
CTRL_D: Trying to reduce an indentation of 0.
:set sw=1
:CTRL_D
Segfault
Helped-by: Scott Prager <splinterofchaos@gmail.com>
|
|
|
|
|
| |
See:
https://groups.google.com/forum/#!topic/vim_dev/rPWOoR3ZgSA
|
|
|
|
|
|
|
|
| |
Problem: E315 when trying to delete a fold. (Yutao Yuan)
Solution: Make sure the fold doesn't go beyond the last buffer line.
(Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-699
|
|
|
|
|
|
|
| |
Problem: Various small issues.
Solution: Fix those issues.
https://github.com/vim/vim/releases/tag/v7-4-553
|
|
|
|
|
|
|
|
|
| |
Problem: curs_rows() function is always called with the second argument
false.
Solution: Remove the argument. (Christian Brabandt)
validate_botline_win() can then also be removed.
https://github.com/vim/vim/releases/tag/v7-4-550
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
fixes #2458
|
|\
| |
| |
| | |
Reviewed-by: Eliseo Martínez <eliseomarmol@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The refactoring of vim_getenv() to remove the mustfree arg
included reworking calling functions. expand_shellcmd was
also using that to track its usage of the variable within
the function, resulting in #2487. This change addresses
that scenario and cleans up some of the function for style.
|
| |
| |
| |
| |
| | |
- OpenBSD termios.h does not have TAB0, skip
its use if it is not defined
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem : Dereference of null pointer @ 4199.
Diagnostic : False positive.
Rationale : Suggested error path implies that newlen == 0 and
newlen > hislen, which implies hislen < 0, which is
impossible (hislen is always between 0 and 10000).
Resolution : Refactor code.
Asserting oldlen >= 0 should have sufficed, but
for some reason analyzer doesn't follow implications in
that case.
Asserting newlen != 0 || newlen <= hislen works.
But the chance has been taken to do extensive
refactoring of this function, as it was difficult to
understand as it was.
As a result of refactoring, assert is not needed anymore,
as we don't call clear_hist_entry() in refactored version.
Refactor : - Rework algorithm:
* Drop guard for OOM case, which can't happen now.
* Drop empty/growing/shrinking cases. Simplify to always
doing the same.
* Perform circular array reordering in all cases
(before, it only did when shrinking).
* Work in batches through memcpy/memset, instead of one
entry at a time, as it did before.
- Inline variable declarations.
- Replace `ssize_t` by `int`.
- Introduce oldlen as entry value of hislen.
- Add a lot of comments.
Helped-by: Scott Prager <splinterofchaos@gmail.com>
Helped-by: oni-link <knil.ino@gmail.com>
|
|/
|
|
|
|
|
| |
Problem : Dead assignment @ 2480.
Diagnostic : Harmless issue.
Rationale : It's true `reg` is not used any more after that point.
Resolution : Delete line.
|
|
|
|
|
| |
Reviewed-by: Michael Reed <m.reed@mykolab.com>, Daniel Hahler <github@thequod.de>
Helped-by: Daniel Hahler <github@thequod.de>
|
|\
| |
| |
| |
| |
| | |
Reviewed-by: Scott Prager <splinterofchaos@gmail.com>
Reviewed-by: Michael Reed <m.reed@mykolab.com>
Reviewed-by: Eliseo Martínez <eliseomarmol@gmail.com>
|
| | |
|
| |
| |
| |
| |
| |
| | |
Without the casts*, the compiler rightly warns about the os_getenv
losing the qualifier. This refactor adds a variable to manage this
properly, and renames the original variables to increase clarity.
|
| | |
|