Commit Graph

1759 Commits

Author SHA1 Message Date
ZyX
759f71d50e functests: Check for previously unchecked errors 2017-07-18 00:34:39 +03:00
ZyX
8a581b918b ex_getln: Check prev_prompt_errors before running redrawcmdline
Otherwise there will be infinite recursion and shortly a crash. Running 
redrawcmdline recursively occurs under color_cmdline_error label.
2017-07-18 00:20:21 +03:00
ZyX
cfb1d937a6 api helpers: Also save and restore did_emsg 2017-07-18 00:08:57 +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
Justin M. Keyes
d72db1ac8f test: mouse_spec: remove obnoxious wait times (#7029)
helpers.skip_fragile() already skips the problematic tests
on the ASan build. But the 15s timeout plus 5s 'mousetime'
cause the tests to take 1+ minutes anyways.
2017-07-15 18:00:00 +02:00
ZyX
69719e658c Merge branch 'master' into colored-cmdline 2017-07-15 18:56:45 +03: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
ZyX
7ab152aaa5 ex_getln: Save and restore try state
Problem: when processing cycle such as

    :for pat in [' \ze*', ' \zs*']
    :  try
    :    let l = matchlist('x x', pat)
    :    $put ='E888 NOT detected for ' . pat
    :  catch
    :    $put ='E888 detected for ' . pat
    :  endtry
    :endfor

`:let l = …` throwing an error causes this error to be caught after 
color_cmdline attempts to get callback for highlighting next line (the one with 
`$put = 'E888 NOT…`). Saving/restoring state prevents this from happening.
2017-07-01 15:34:25 +03:00
ZyX
ea75966e42 ex_getln: Do not make <C-c> interrupt input() after interrupting hl cb 2017-06-28 22:54:13 +03:00
ZyX
3da49cd68e ex_getln: Fix “echoerr msg not shown” problem
This also attempted to fix problem with cancelling input() on error by avoiding 
standard error printing facilities (assumed thrown error message is the 
problem), but with no luck so far.
2017-06-28 22:09:10 +03:00
ZyX
9ccb3abbb5 functests: Uncomment {REDRAW} part of “works” test 2017-06-28 14:39:52 +03:00
ZyX
5e4976559a functests: Partially uncomment <C-c> test 2017-06-28 14:34:12 +03:00
ZyX
0ed95423de ex_getln: Call highlight callback inside :try 2017-06-28 14:26:23 +03:00
ZyX
493d250446 functests: Make “stops executing callback” test work
Needed to be adjusted to use input() (previously relied on side-effects of 
executing `:cmd`) and dismiss something (hidden “Press ENTER” message?).
2017-06-28 13:58:51 +03:00
ZyX
36a84d8f4a functests: Fix typo 2017-06-28 13:54:04 +03:00
ZyX
edc2a7ee46 functests: Make tests work with input()
There are still some issues: specifically, new “pending” test hangs busted.
2017-06-27 02:15:49 +03:00
ZyX
8e5134784c functests: Comment out failing test 2017-06-27 01:55:21 +03:00
ZyX
71616fce0b functests: Abstract away some ways to enter cmdline coloring mode
Reason: should actually switch to using input() coloring because other coloring 
variants are eventually going away.
2017-06-27 01:54:08 +03:00
ZyX
407abb3a6c eval,ex_getln: Add support for coloring input() prompts 2017-06-27 01:34:54 +03:00
ZyX
d82741f8c0 ex_getln: Add some more tests, fix some found errors 2017-06-27 01:34:54 +03:00
ZyX
3d25200127 functests: Start adding some tests 2017-06-27 01:34:54 +03:00
ZyX
476c28f433 functests: Fix screen.lua supplying dedent additional argument 2017-06-21 10:58:47 +03:00
Björn Linse
16ae369474 screen.c: make more highlights window specific 2017-06-14 20:31:14 +02:00
Björn Linse
8d8b6224d9 options: make 'highlight' read-only 2017-05-15 07:22:31 +02:00
ZyX
04e7eb1e29 tests: Add tests for vim_strchr 2017-05-09 14:41:23 +03:00
Björn Linse
ab48a3e9fd tests: add basic test for 'winhighlight` 2017-05-08 12:41:39 +02:00
Björn Linse
bfcaf36404 options: allow different highlights in windows 2017-05-08 12:41:39 +02:00
James McCoy
de50c003d5 Use vim_strchr(s, c) when c may be NUL (#6656)
As part of the refactoring in #5119, some vim_strchr() were changed to
strchr().  However, vim_strchr() behaves differently than strchr() when
c is NUL, returning NULL instead of a pointer to the NUL.

Revert the strchr() calls where it isn't known whether c is NUL, since
this causes a semantic change the surrounding code doesn't expect.  In
the case of #6650, this led to a heap overrun.

Closes #6650
2017-05-03 10:12:38 +02:00
Justin M. Keyes
d349f610ac 'guicursor': No color/blink by default
Closes #6577
2017-04-30 13:44:31 +02:00
Justin M. Keyes
7044aa6e82 api/ext_tabline: curtab should be a Tabpage handle. 2017-04-28 15:59:20 +02:00
Justin M. Keyes
6755262194 test: inccommand_spec: Avoid indeterminism. (#6592) 2017-04-26 14:51:21 +02:00
Justin M. Keyes
6944abad2f api/ext_tabline: List of Dicts. 2017-04-26 03:41:24 +02:00
Justin M. Keyes
c8e1af93de api: nvim_ui_attach(): Flatten ext_* options. 2017-04-26 03:41:24 +02:00
Justin M. Keyes
00843902d3 api/ui: externalize tabline
- Work with a bool[] array parallel to the UIWidget enum.
- Rename some functions.
- Documentation.
2017-04-26 03:41:24 +02:00
Dongdong Zhou
88023d5123 api/ui: externalize tabline 2017-04-26 02:15:31 +02:00
Justin M. Keyes
4524053874 test: api: Do not truncate errors <1 MB. 2017-04-23 23:24:16 +02:00
Björn Linse
7ea5c78687 ui: use an array for mode styles 2017-04-21 12:32:38 +02:00
Björn Linse
2c5751b9b2 ui: add tests for new cursor shape modes 2017-04-21 12:32:38 +02:00
Justin M. Keyes
45aa465fba test: Cursor after :hi clear|syntax reset
Also enable tests on Windows.
2017-04-17 21:15:51 +02:00
Justin M. Keyes
119f0ca854 test: helpers.execute() => helpers.feed_command() 2017-04-11 02:37:39 +02:00
ZyX
0ac2afdec7 functests: Fix some ui/*_spec tests 2017-04-09 03:24:26 +03:00
ZyX
ddaa41dee4 functests: Fix ui/bufhl_spec 2017-04-09 03:24:26 +03:00
ZyX
88ea362c70 functests: Fix ui/screen_basic_spec 2017-04-09 03:24:23 +03:00
ZyX
65fb622000 functests: Replace execute with either command or feed_command
Hope this will make people using feed_command less likely: this hides bugs.
Already found at least two:

1. msgpackparse() will show internal error: hash_add() in case of duplicate
   keys, though it will still work correctly. Currently silenced.
2. ttimeoutlen was spelled incorrectly, resulting in option not being set when
   expected. Test was still functioning somehow though. Currently fixed.
2017-04-09 03:24:08 +03:00
Björn Linse
3b558e5d7b tests: short form screen:except(func) expects condition only. #6440
- Use this to properly test cursor shape events.
- tests: update screen_basic_spec to use `screen:expect` short form.
  Clearer than using `screen:wait` directy.
2017-04-06 01:06:39 +02:00
Justin M. Keyes
e348e256f3 'guicursor': Disable by default for unknown terminals.
User can still set guicursor explicitly in init.vim.

Closes #5990
Closes #6403
2017-04-04 14:19:26 +02:00
Justin M. Keyes
3ccd59ee82 'guicursor': enabled=false if 'guicursor' is empty
Closes #6429
Closes #6430
2017-04-04 14:19:26 +02:00
Yichao Zhou
bc6d868d00 'listchars': Whitespace highlight group #6367 2017-04-03 14:10:40 +02:00
ZyX
dc75766081 tests: Fix testlint errors 2017-04-03 03:07:01 +03:00
Justin M. Keyes
3a69dbfca6 api/cursor_style_set: mode descriptions 2017-04-01 23:29:10 +02:00