| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Using exists() on a funcref for a script-local function
does not work.
Solution: Translate <SNR> to the special byte sequence.
Add a test.
https://code.google.com/p/vim/source/detail?r=1a5ed2626b26a982e307a206572121a557adf709
|
| |
|
|
|
|
|
|
|
|
| |
Problem: CTRL-U in Insert mode does not work after using a cursor key.
(Pine Wu)
Solution: Use the original insert start position. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=81c26975e8f9dc7435353581346542409403f296
|
|
|
|
|
|
|
| |
Problem: Test 62 fails.
Solution: Set the language to C. (Christian Brabandt)
https://code.google.com/p/vim/source/detail?r=8f84e906d454a95d3167678a745dde9de442b604
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* Remove unnecessary else
* Move variable declaration nearer to point of use
* Add missing curly brackets
* Comment style
|
|
|
|
| |
Clean up the use of rettv_list_alloc and remove error checks.
|
|
|
|
| |
Clean up the use of list_append_tv and remove error checks.
|
|
|
|
| |
Clean up the use of list_append_number and remove error checks.
|
| |
|
|
|
|
|
|
|
| |
Problem: Duplicate code in regexec().
Solution: Add line_lbr flag to regexec_nl().
https://code.google.com/p/vim/source/detail?r=0ea551fa607dc443b97c2fba97dc0c9cb0bcf303
|
|
|
|
|
|
|
| |
The following functions are affected:
- ga_remove_duplicate_strings
- ga_append
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've checked all uses of ga_concat in the codebase:
- ex_cmds2.c
- ex_getln.c
- eval.c
- message.c
- regexp-nfa.c
- term.c
- spell.c
None of them concats the garray with itself. This makes it safe to use the
faster memcpy() instead of memmove(). This change was also documented.
|
| |
|
|
|
|
|
| |
A generalized version of ga_concat_strings that can handle any separator.
Reimplement ga_concat_strings on top of it.
|
|
|
|
|
|
|
| |
Less useless strlen(), stpcpy() is a more natural fit for this task.
ga_concat_strings() still has too much strlen() but that would be ugly to
remove for a function that's not used very often (just once in the current
codebase).
|
|
|
|
|
| |
Both are implemented to POSIX 2008 spec, though I'm not sure I'm happy about
stpncpy's behaviour.
|
|
|
|
|
|
|
| |
- xrealloc will call xmalloc if the input pointer is NULL, no need to check
twice.
- use the early-quit idiom to decrease the indentation, which enhances
readability.
|
|
|
|
|
| |
Rename `shorten_fname` -> `path_shorten_fname`
Rename `shorten_fname1` -> `path_shorten_fname_if_possible`
|
| |
|
| |
|
|
|
|
|
|
|
| |
The function prototypes use garray_T* arguments, but the header is not
included in path.h. Technically we could also get away with a forward
declaration since we're just using the pointer, but I don't see the urgent
need for that.
|
|
|
|
|
|
|
|
| |
Problem: The string returned by submatch() does not distinguish between a
NL from a line break and a NL that stands for a NUL character.
Solution: Add a second argument to return a list. (ZyX)
https://code.google.com/p/vim/source/detail?r=a63d0cd691dc925283815d17d62f4e948d723a59
|
|
|
|
|
|
|
| |
Problem: Can't call a global function with "g:" in an expression.
Solution: Skip the "g:" when looking up the function.
https://code.google.com/p/vim/source/detail?r=8ec9d2196bee0c5108f2d2c196a660a7f4e5f29f
|
|
|
|
|
|
|
|
|
| |
Problem: Can't define a function starting with "g:". Can't assign a
funcref to a buffer-local variable.
Solution: Skip "g:" at the start of a function name.
Don't check for colons when assigning to a variable.
https://code.google.com/p/vim/source/detail?r=00acac0af680c2d8c82db5258474b121a5908926
|
|
|
|
|
| |
At some places, printf-like function's arguments styling could be
improved to enhance readability.
|
|
|
|
|
|
|
|
|
| |
Though correct (to my understanding), some of the casts introduced in
previous commits could lead to confusion, by casting only the first
expression component instead of the whole expression.
This fixes that, parenthesizing casted expressions, except where
operator precedence rules make it unneccesary.
|
| |
|
|
|
|
|
|
|
|
| |
Fix uses of plain "%ld" within sscanf():
- Replace "%ld" with "%" SCNd64.
- Create (int64_t) local variable and sscanf into that.
- Safely downcast into previous type (introduce assertion, to be removed
when variable type refactored).
|
| |
|
|
|
|
| |
Clean up the use of list_append_string and remove error checks.
|
|
|
|
| |
Clean up the use of list_append_dict and remove error checks.
|
|
|
|
|
| |
Remove remnants of support for systems including
__EMX__, MSDOS, OS2, AMIGA and MORPHOS.
|
|
|
|
|
| |
Use `xcalloc` instead.
Inline `alloc_tv` and `alloc_string_tv` in eval.c
|
|
|
|
|
|
|
|
|
|
| |
Problem: It is possible to define a function with a colon in the name. It
is possible to define a function with a lower case character if a
"#" appears after the name.
Solution: Disallow using a colon other than with "s:". Ignore "#" after the
name.
https://code.google.com/p/vim/source/detail?r=6bc874e4789a0f912b4fd6b23afecf19d80b1605
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Problem: When updating the window involves a regexp pattern, an
interactive substitute to replace a "\n" with a line
break fails. (Ingo Karkat)
Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi().
https://code.google.com/p/vim/source/detail?r=43c6cd07c8defd8505acbe479c6970764c08e6f9
|
|
|
|
|
|
| |
On a1a0c00589a8efc664db82be6743136bb462e08f, an assertion was disabled
because of breaking 32bit build.
This fixes that so that it now always works.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Today's compilers generate shift instructions to perform division and
multiplications by powers of 2 [1]. `(x >> 1)` looks straightforward enough, but
if x is signed the code will fail when x < 0. The compiler knows better: use
`x / 2`.
That's why we have code like this:
(long)((long_u)Rows >> 1))
instead of the cleaner version that generates the same or better machine code:
Rows / 2
[1] http://goo.gl/J4WpG7
|
| |
|
|
|
|
|
|
| |
- ml_add_stack()
- ml_encrypt_data()
- ml_updatechunk()
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
quickfix.c
- ll_new_list
- ll_get_or_alloc_list
regex_nfa.c
- realloc_post_list -> EMIT -> nfa_emit_equi_class
- nfa_regcomp_start
Use xrealloc() in realloc_post_list() (regexp_nfa.c)
Test plan: force a call to realloc_post_list() for every use of the EMIT macro;
open nvim and test regexp search.
|