Commit Graph

341 Commits

Author SHA1 Message Date
ZyX
ac4bbf55f6 *: Hide list implementation in other files as well 2017-12-10 22:04:43 +03:00
Hannu Hartikainen
c391401648 helptags: fix double-free (#7600)
closes #7599
Helped-by: oni-link <knil.ino@gmail.com>

Freeing `dirname` was first introduced by a code refactoring from `ex_helptags()` to `do_helptags()` (`vim-patch:7.4.1551`)(#4648) and later removed by `vim-patch:7.4.1562`(#4660).
Only problem with that is, that the patches were not applied in order so the fixing patch was declared `N/A`.

So `do_helptags()` should have never freed `dirname`.
2017-11-20 21:20:01 +01:00
KillTheMule
04b3c32772 'inccommand': Fix matches for zero-width (#7487)
closes #7485
2017-11-05 17:11:44 +01:00
Justin M. Keyes
60b1e8ad12 Merge #7315 "'inccommand': multiline, other fixes"
closes #5589
closes #5590
closes #5598
closes #5608
2017-10-31 01:11:35 +01:00
KillTheMule
7b4baad674 Remove superflous parameter from show_sub 2017-10-29 18:11:32 +01:00
KillTheMule
0c358725b1 Fix highlighting conflict 2017-10-29 18:11:32 +01:00
KillTheMule
353c81af1e Clear highlight when there's no match 2017-10-29 18:11:32 +01:00
KillTheMule
d8bb1dabb6 Fix the last line in the preview buffer
It would always show an empty line at the end that didn't belong.
2017-10-29 18:11:32 +01:00
KillTheMule
3e5ecd9538 Remove pat/sub from show_sub
They were only used to not show the preview window when typing "s/" or
"s//" only, in which case the previous pattern would be reused. Now the
window is shown in that case.
2017-10-29 18:11:32 +01:00
KillTheMule
35b867d786 Lint 2017-10-29 18:10:46 +01:00
KillTheMule
8d929f558c Inccommand: Multiline substitutions, highlighting, multibyte.
Make inccomand work with multiline patterns and substitutions. Also care
for proper highlighting and multibyte characters.
2017-10-29 18:10:46 +01:00
Justin M. Keyes
2736f0cb56 ex_cmds.c:do_sub(): macroize duplicate code 2017-09-13 00:00:42 +02:00
KillTheMule
6d0f87a0bd 'inccommand': fix 'gdefault' lockup #7261
closes #7244
ref #7249
2017-09-12 22:44:11 +02:00
KillTheMule
26d08dfd0d inccommand: fix optimization logic #7224
Before this change the preview changes in the buffer viewport were
limited to the size of the preview window ('cmdwinheight').

closes #7220
2017-09-09 15:02:06 +02:00
ckelsel
0e13b15fde vim-patch:8.0.0209
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)

41baa7983a
2017-08-30 19:59:18 +08:00
ckelsel
86f2c473dc fix lint 2017-07-24 07:41:01 +08:00
ckelsel
ad07e9c7fc vim-patch:8.0.0069
Problem:    Compiler warning for self-comparison.
Solution:   Define ONE_WINDOW and add vim/vim#ifdef.

a1f4cb93ba
2017-07-23 10:34:41 +08:00
ckelsel
06f4b96322 lint 2017-07-13 23:15:29 -04:00
ckelsel
c805f2cf54 vim-patch:7.4.2250
Problem:    Some error message cannot be translated.
Solution:   Enclose them in _() and N_(). (Dominique Pelle)

5b30291785
2017-07-13 23:15:29 -04:00
KillTheMule
619838f85d inccommand: improve performance #6949
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.
2017-07-08 17:51:42 +02:00
Björn Linse
8b375cf471 bufhl: fix move 2017-06-24 11:09:10 +02:00
James McCoy
81be7358be vim-patch:7.4.1976
Problem:    Number variables are not 64 bits while they could be.
Solution:   Add the num64 feature. (Ken Takata)

22fcfad292
2017-06-04 22:12:13 -04:00
James McCoy
ad80a83a1a lint 2017-05-12 17:07:25 -04:00
James McCoy
d840ff7b70 ex_cmds: Use NULL, not NUL, to check for strrchr failure 2017-05-12 10:51:46 -04:00
Justin M. Keyes
a9605bb4af Merge #6460 from ZyX-I/1476-changes
Refactor functions which find character in a string
2017-05-08 13:45:14 +02:00
James McCoy
2b191ac5b9 lint 2017-04-29 23:48:28 -04:00
James McCoy
f219657453 vim-patch:7.4.2263
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.

d29459baa6
2017-04-29 23:48:27 -04:00
James McCoy
ab50c1fdb7 vim-patch:7.4.2246
Problem:    Oldfiles test fails.
Solution:   Include missing changes.

d6f2ee32dc
2017-04-29 23:48:27 -04:00
James McCoy
059c3fc2f9 vim-patch:7.4.2239
Problem:    Warning for missing declaration of skip_vimgrep_pat(). (John
            Marriott)
Solution:   Move it to another file.

9baf297c99
2017-04-29 21:46:12 -04:00
James McCoy
dbdc2d40bb vim-patch:7.4.2231
Problem:    ":oldfiles" output is a very long list.
Solution:   Add a pattern argument. (Coot, closes vim/vim#575)

e11d61a3b1
2017-04-29 21:46:12 -04:00
sander2
f50e03f2e3 ex_cmds.c: Fix bug in ex_z (#6557)
vim-patch:8.0.0571
2017-04-21 15:45:51 +02:00
ZyX
c2f3e361c5 *: Add comment to all C files 2017-04-19 19:11:50 +03:00
ZyX
171baaee93 strings: Remove vim_strbyte
Ref #1476
2017-04-07 23:15:53 +03:00
ZyX
c8e63a8db8 eval: Move remaining get_tv_string* functions to eval/typval.c 2017-03-29 10:08:05 +03:00
ZyX
e18a578308 *: Move some dictionary functions to typval.h and use char*
Also fixes buffer reusage in setmatches() and complete().
2017-03-29 10:07:42 +03:00
ZyX
fb146e80aa eval: Split eval.c into smaller files 2017-03-29 10:05:06 +03:00
Matthew Malcomson
098e91400e refactor: Remove allow_keys global (#6346)
* The allow_keys global is unused in nvim, remove it

* clint
2017-03-25 15:43:19 +01:00
Justin M. Keyes
0cd829161a Merge #6221 2017-03-25 00:16:33 +01:00
Matthew Malcomson
b2b88423aa Robustly handle folds during a :move command
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
2017-03-23 14:37:47 +00:00
Justin M. Keyes
4a2e6f460d vim-patch:7.4.2341
Problem:    Tiny things.  Test doesn't clean up properly.
Solution:   Adjust comment and white space. Restore option value.
2017-03-22 18:42:17 +01:00
Justin M. Keyes
165ba3e636 vim-patch:7.4.2324
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.

e0ab94e712
2017-03-22 18:42:16 +01:00
James McCoy
d72c177b2a lint 2017-03-11 20:32:39 -05:00
James McCoy
564e9dc17f vim-patch:7.4.2101
Problem:    Looping over windows, buffers and tab pages is inconsistant.
Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)

2932359000
2017-03-11 20:32:09 -05:00
Justin M. Keyes
c318d8e672 Merge #6112 from ZyX-I/split-eval'/buf_get_changedtick
Better b:changedtick support
2017-02-27 10:29:46 +01:00
Justin M. Keyes
8c8ce1832e Merge #6111 from ZyX-I/split-eval'/os-fileio
Refactor writefile() and create more tests for it
2017-02-27 10:20:25 +01:00
ZyX
4f10d42f82 buffer: Bind b:changedtick to b:['changedtick'], remove special cases 2017-02-23 19:46:44 +03:00
ZyX
efa2682e3b *: Partial string handling refactoring
Main points:

- Replace `char_u` with `char` in some cases.
- Remove `str[len] = NUL` hack in some cases when `str` may be considered
  `const`.
2017-02-15 02:48:33 +03:00
ZyX
fe0eecf9cc eval: writefile: Give more adequate IO errors and do not call putc() 2017-02-14 01:10:31 +03:00
lonerover
ca1b683f00 vim-patch:7.4.2106
Problem:    Clang warns about missing field in initializer.
Solution:   Define COMMA and use it.  (Kazunobu Kuriyama)

ac77aec4da
2017-02-07 15:02:15 +08:00
Marco Hinz
c05e7f0fdd vim-patch:7.4.2024
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.

7c0a2f367f
2017-02-04 17:55:46 -05:00