Commit Graph

8225 Commits

Author SHA1 Message Date
ZyX
dc0a496d41 ex_getln: Do not do useless try_enter/try_leave calls
These are actually needed for two modes only. And even for these modes they 
should eventually go away.
2017-07-17 01:57:27 +03:00
ZyX
f4744e1821 ex_getln: Do not goto color_cmdline_end without first cleaning up
The issue with debug mode was actually not cleaning up after `try_enter`: 
location `&tstate` was pointing to got invalidated and received some “garbage” 
(actually, values that got stored on the stack afterwards). But pointer to that 
garbage was still stored in `msg_list`, so next attempt to check it resulted in 
a crash.
2017-07-17 01:55:10 +03:00
Jurica Bradaric
9cf0415761 vim-patch:8.0.0025
Problem:    Inconsistent use of spaces vs tabs in gd test.
Solution:   Use tabs. (Anton Lindqvist)

936c48f8ca
2017-07-16 21:43:42 +02:00
Jurica Bradaric
9ffa22b7ef vim-patch:8.0.0023
Problem:    "gd" and "gD" may find a match in a comment or string.
Solution:   Ignore matches in comments and strings. (Anton Lindqvist)

226630a030
2017-07-16 21:43:06 +02:00
ZyX
2a6423eba7 api helpers: Save/restore more values in try_enter/try_leave
This fixes memory leak reported by ASAN. This also somehow fixes test40, though 
I have no idea why except that that test yields memory leak report.
2017-07-16 22:03:31 +03:00
ZyX
3660535f02 oldtests: Use $(TOOL) in place of $(VALGRIND) 2017-07-16 21:17:24 +03:00
Jurica Bradaric
e29ec131d6 vim-patch:8.0.0084
Problem:    Using freed memory when adding to a quickfix list. (Domenique
            Pelle)
Solution:   Clear the directory name.

7618e00d3b
2017-07-16 17:48:50 +02:00
Jurica Bradaric
875c356a83 vim-patch:8.0.0079
Problem:    Accessing freed memory in quickfix. (Domenique Pelle)
Solution:   Do not free the current list when adding to it.

2b946c9f9b
2017-07-16 17:48:50 +02:00
Jurica Bradaric
ffa2e43549 vim-patch:8.0.0078
Problem:    Accessing freed memory in quickfix.
Solution:   Reset pointer when freeing 'errorformat'. (Domenique Pelle)

63bed3d319
2017-07-16 17:48:50 +02:00
Jurica Bradaric
c00300ecdd vim-patch:8.0.0026
Problem:    Error format with %W, %C and %Z does not work. (Gerd Wachsmuth)
Solution:   Skip code when qf_multiignore is set. (Lcd)

9b45794818
2017-07-16 17:48:50 +02:00
Jurica Bradaric
33efad7dbc vim-patch:8.0.0017
Problem:    Cannot get the number of the current quickfix or location list.
Solution:   Use the current list if "nr" in "what" is zero. (Yegappan
            Lakshmanan)  Remove debug command from test.

890680ca63
2017-07-16 17:48:50 +02:00
Justin M. Keyes
d8fe63199f intro: change byline to "by al." (#6984)
Several people have suggested that the "by Bram" byline is misleading,
it implies that Bram is actively involved with the project. Up to now we
left it as an homage.

Bram agreed that it is misleading, and suggested a mention somewhere
other than the intro.
2017-07-15 18:13:49 +02:00
ZyX
69719e658c Merge branch 'master' into colored-cmdline 2017-07-15 18:56:45 +03:00
DarkDefender
8898793ade tui: Do not override 'termguicolors' choice (#7004)
* Do not guard true color support with white list
* Remove ext_bool (it is unused)

Closes #7003
2017-07-15 16:36:45 +02:00
James McCoy
08e4b6b4f3 version.c: Mark NA patches
- Netbeans: 0005, 0024, 0213
- Vim-specific documentation: 0007
- Vim CI/buildsystem: 0009, 0077, 0080, 0082, 0093, 0115, 0117, 0129,
  0130, 0144, 0145, 0203, 0239, 0240, 0249, 0257, 0272, 0279
- +cryptv: 0010, 0014
- Channel support: 0011, 0013, 0015, 0016, 0022, 0027, 0036, 0076, 0097,
  0103, 0105, 0107, 0108, 0120, 0122, 0152, 0267, 0284
- Timer implementation: 0028, 0098
- Removing legacy support: 0029, 0070, 0109, 0241, 0246
- TUI tweaks: 0030
- viminfo: 0039
- Jobs: 0045, 0048, 0050, 0051, 0054, 0071, 0087
- Style: 0055, 0114
- VMS/Sun support: 0059, 0067, 0123, 0173
- FEAT_* ifdefs: 0061, 0065, 0138, 0139, 0161, 0192, 0193, 0199, 0211,
  0217, 0221, 0260, 0276, 0281
- GUI support: 0072, 0089, 0095, 0113, 0162, 0273, 0277, 0278
- win32 fixes: 0094
- Test infrastructure: 0285, 0288, 0400
- Language bindings: 0163, 0187, 0191, 0268-0271
- Unsupported options: 0232

vim-patch:20eeb612
vim-patch:17777875
vim-patch:99c5eb4f
vim-patch:294740d2
vim-patch:a4ce25bd
vim-patch:7034a837
vim-patch:14a612fa
vim-patch:aaeabfbc
2017-07-14 06:44:22 -04:00
James McCoy
06ec15121a Bump Vim version to 8.0 and applied patches 2017-07-14 06:44:06 -04:00
James McCoy
dabd9ef44b Merge pull request #6977 from ckelsel/_vim-7.4.2189.patch
vim-patch:7.4.2189
2017-07-14 06:42:52 -04: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
ckelsel
462a6148a6 lint 2017-07-13 23:09:03 -04:00
ckelsel
2999d7c0e8 vim-patch:7.4.2229
f04507d132

Author: Bram Moolenaar <Bram@vim.org>
Date:   Sat Aug 20 15:05:39 2016 +0200

    patch 7.4.2229
    Problem:    Startup test fails on Solaris.
    Solution:   Recognize a character device. (Danek Duvall)
2017-07-13 23:09:03 -04:00
ckelsel
04de6a64e2 vim-patch:7.4.2189
f71d7b9ee5

Author: Bram Moolenaar <Bram@vim.org>
Date:   Tue Aug 9 22:14:05 2016 +0200

    patch 7.4.2189
    Problem:    Cannot detect encoding in a fifo.
    Solution:   Extend the stdin way of detecting encoding to fifo.  Add a test
                for detecting encoding on stdin and fifo. (Ken Takata)
2017-07-13 23:09:03 -04:00
Shougo Matsushita
b4ccf5c20a vim-patch:7.4.2354
Problem:    The example that explains nested backreferences does not work
            properly with the new regexp engine. (Harm te Hennepe)
Solution:   Also save the end position when adding a state. (closes vim/vim#990)

d563883a1f
2017-07-12 00:05:29 -04:00
Jonathan de Boyne Pollard
0a7e7e0ecf tui: Remove superflous iTerm2 test added in error. 2017-07-09 19:29:04 +01:00
Jonathan de Boyne Pollard
68d2fb7570 tui: Improve the setrgbf/setrgbb fallback logic.
The libvte test was too agressive, and is reduced to only triggering
when it is libvte 0.36 AND a gnome or xterm terminal type is used.

Contrastingly, tmux was not on the list at all and now is.
2017-07-09 19:08:56 +01:00
Nikolai Aleksandrovich Pavlov
702c94aacf mbyte: Fix crash when using multibyte chars in maparg() return (#6986)
This is a refactoring typo from #6947.

Fixes #6985

Combined with #6947 where typo was made it also fixes vim/vim#1827 which was
present in Neovim.
2017-07-09 10:40:46 +02: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
Justin M. Keyes
829e1f2c43 lint 2017-07-08 16:34:35 +02:00
Justin M. Keyes
0b88bf256d doc: api.txt; deprecate <special> 2017-07-08 16:34:35 +02:00
Justin M. Keyes
0ea7e45bc1 'cpoptions': remove "<" flag; ignore <special>
Closes #6937 "nvim_get_keymap output is unreliable"
2017-07-08 16:34:35 +02:00
Justin M. Keyes
78c5201234 'cpoptions': remove "k" flag
This was already removed in 3baba1e7bc, except the documentation and
CPO_VI entry. find_term_bykeys() is irrelevant to Nvim.
2017-07-08 16:34:33 +02:00
d10n
69e9cda5ac i_CTRL-O: fix :startinsert at end of line (#6963)
The gchar_cursor() == NUL check is already done in ins_ctrl_o.
ins_esc changes gchar_cursor() so this if block is probably never
entered.

Issue:

Pressing CTRL-O in insert mode at the end of the line and typing
:startinsert moves the cursor 1 column back, when I expect the cursor
to remain at the end of the line

This is a regression from Vim behavior. Since at least Vim version 7.0,
Vim returns you to insert mode at the end of the line.

091e7d033c is the first bad neovim commit

Steps to reproduce using `nvim -u NORC`:
`aaaa<C-o>:startinsert<CR>`

Fixes #6962
2017-07-08 12:50:58 +02:00
Daniel Hahler
f31c26f1af jobstop/process_stop: send SIGTERM directly
This reverts the revert of #6644 (7c1a5d1d4), and handles it properly
now (with tests).
2017-07-07 13:11:20 +02:00
Justin M. Keyes
105d680aea Merge #6816 'TUI improvements'
Removed these commits (test-suite changes):
e2fba01910
7c809c4bc7
18e7cd9e97
2017-07-07 00:34:37 +02:00
Justin M. Keyes
1ae7744f42 lint 2017-07-07 00:33:57 +02:00
Jonathan de Boyne Pollard
852f21ed05 tui: Coding style changes only
Per warnings about house style from automated tools.
2017-07-06 10:17:13 +02:00
Jonathan de Boyne Pollard
5701165f06 tui: Switch terminal keyboard mode properly.
The terminfo doco explicitly states that it covers the case where the
terminal is in application cursor/keypad (i.e. "keypad transmit") mode,
and not where it is in normal cursor/keypad (i.e.  "keypad local") mode.
Full screen applications like nvim must switch to and from keypad
transmit mode when expecting the control sequences given by terminfo.
2017-07-06 10:17:13 +02:00
Jonathan de Boyne Pollard
de8a9f6c33 tui: Coding style changes only
Per warnings about house style from automated tools.
2017-07-06 10:17:13 +02:00
Paul "LeoNerd" Evans
e4dc878f89 options: Default to 'ttimeout' and 'ttimeoutlen=50'
This gives libtermkey 50msec to reassemble split multibyte sequences
like DCSes.
2017-07-05 22:23:04 -04:00
Justin M. Keyes
69f0847ccc Merge #6959 from ZyX-I/pvs-fixes 2017-07-04 23:50:57 +02:00
Justin M. Keyes
1b70a1da04 Merge #6958 from ZyX-I/fix-6957 2017-07-04 21:56:05 +02:00
ZyX
ce30998221 bufhl_defs: Silence V512: buffer underflow 2017-07-04 20:11:35 +03:00
ZyX
7109f63e3c main: Flush file in place of closing it, also do error reporting
Apparently on travis OS X systems it crashes when cleaning up streams with
stdout closed:

    (lldb) bt all
    * thread #1: tid = 0x0000, 0x00007fff8703df06 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGSTOP
      * frame #0: 0x00007fff8703df06 libsystem_kernel.dylib`__pthread_kill + 10
        frame #1: 0x00007fff93a764ec libsystem_pthread.dylib`pthread_kill + 90
        frame #2: 0x00007fff97c056df libsystem_c.dylib`abort + 129
        frame #3: 0x00007fff97bccdd8 libsystem_c.dylib`__assert_rtn + 321
        frame #4: 0x0000000107a4e106 nvim`uv__close(fd=<unavailable>) + 102 at core.c:521
        frame #5: 0x0000000107a5307d nvim`uv__loop_close(loop=0x00007fff5847c018) + 77 at loop.c:118
        frame #6: 0x0000000107a4d149 nvim`uv_loop_close(loop=0x00007fff5847c018) + 57 at uv-common.c:626
        frame #7: 0x000000010783e5bc nvim`stream_set_blocking(fd=0, blocking=true) + 204 at stream.c:34
        frame #8: 0x000000010795d66b nvim`mch_exit(r=0) + 91 at os_unix.c:147
        frame #9: 0x00000001078d5663 nvim`command_line_scan(parmp=0x00007fff5847c760) + 1779 at main.c:787
        frame #10: 0x00000001078d4393 nvim`main(argc=2, argv=0x00007fff5847c898) + 163 at main.c:249
        frame #11: 0x00007fff8cdd65ad libdyld.dylib`start + 1
        frame #12: 0x00007fff8cdd65ad libdyld.dylib`start + 1
2017-07-04 19:58:02 +03:00
ZyX
28f6bd822b terminal: Silence -V666 error: value not correspond with string length
Looks like calling this function below with 4-character first strings
made PVS think that OPT_LOCAL (it is equal to 4) is a string length.
2017-07-04 18:37:02 +03:00
ZyX
af1f17f1dc syntax: Fix V763: parameter always rewritten before being used
This is the result of malloc error handling elimination: push_current_state() 
used to (not) return OK depending on whether growing garray failed or not and 
this return was checked, if errorred out push_next_match() will simply return 
its argument unchanged.

Now when allocations are supposed to either always succeed or crash Neovim this 
check was returned, push_current_state() was stripped of its return value and 
moved out of if() condition, resulting in V763.
2017-07-04 18:37:02 +03:00
ZyX
aaab5e3900 spell: Silence V512: buffer underflow 2017-07-04 18:37:02 +03:00
ZyX
4cb6317900 spell: Fix V728: excessive check 2017-07-04 18:37:02 +03:00
ZyX
f81d1ce003 regexp: Silence V595: potential null dereference
The code uses 2-iteration loop antipattern: retval is NULL on first iteration, 
not NULL on second, yet this is still a false positive.
2017-07-04 18:37:01 +03:00
ZyX
6552768c4f normal: Fix V728: excessive check 2017-07-04 18:37:01 +03:00
ZyX
605c8fb49c main: Use msgpack_file_write in place of “fbuffer”
Apparently the latter is not a part of the public C API.
2017-07-04 18:37:01 +03:00