aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
| * | | functests: Check for previously unchecked errorsZyX2017-07-18
| | | |
| * | | ex_getln: Check prev_prompt_errors before running redrawcmdlineZyX2017-07-18
| | | | | | | | | | | | | | | | Otherwise there will be infinite recursion and shortly a crash. Running redrawcmdline recursively occurs under color_cmdline_error label.
| * | | api helpers: Also save and restore did_emsgZyX2017-07-18
| | | |
| * | | ex_getln: Do not goto color_cmdline_end without first cleaning upZyX2017-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Merge branch 'master' into colored-cmdlineZyX2017-07-15
| |\ \ \
| * | | | ex_getln: Save and restore try stateZyX2017-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | ex_getln: Do not make <C-c> interrupt input() after interrupting hl cbZyX2017-06-28
| | | | |
| * | | | ex_getln: Fix “echoerr msg not shown” problemZyX2017-06-28
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | functests: Uncomment `{REDRAW}` part of “works” testZyX2017-06-28
| | | | |
| * | | | functests: Partially uncomment <C-c> testZyX2017-06-28
| | | | |
| * | | | ex_getln: Call highlight callback inside :tryZyX2017-06-28
| | | | |
| * | | | functests: Make “stops executing callback” test workZyX2017-06-28
| | | | | | | | | | | | | | | | | | | | Needed to be adjusted to use input() (previously relied on side-effects of executing `:cmd`) and dismiss something (hidden “Press ENTER” message?).
| * | | | functests: Fix typoZyX2017-06-28
| | | | |
| * | | | functests: Make tests work with input()ZyX2017-06-27
| | | | | | | | | | | | | | | There are still some issues: specifically, new “pending” test hangs busted.
| * | | | functests: Comment out failing testZyX2017-06-27
| | | | |
| * | | | functests: Abstract away some ways to enter cmdline coloring modeZyX2017-06-27
| | | | | | | | | | | | | | | | | | | | Reason: should actually switch to using input() coloring because other coloring variants are eventually going away.
| * | | | functests: Add missing wait()ZyX2017-06-27
| | | | |
| * | | | eval,ex_getln: Add support for coloring input() promptsZyX2017-06-27
| | | | |
| * | | | ex_getln: Add some more tests, fix some found errorsZyX2017-06-27
| | | | |
| * | | | functests: Start adding some testsZyX2017-06-27
| | | | |
* | | | | lua/executor: Fix crash when printing empty string (#7157)Nikolai Aleksandrovich Pavlov2017-08-13
| | | | |
* | | | | os_stat: return ENOENT on NULL filename argJames McCoy2017-08-10
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #4370 Explication: In the backtrace in #4370, we see that `buf_write()` was called with non-NULL `fname` and `sfname` arguments, but they've since _become_ NULL. #7 0x00000000004de09d in buf_write (buf=0x1dee040, fname=0x0, fname@entry=0x1e985b0 "/home/sean/src/github.com/snczl/virta/pkg/meld/segment.go", sfname=0x0, sfname@entry=0x1ddfa60 "segment.go", start=1, end=72, eap=eap@entry=0x7ffc6b032e60, append=0, forceit=0, reset_changed=1, filtering=0) at /home/travis/build/neovim/bot-ci/build/neovim/src/nvim/fileio.c:2576 This is most likely due to the code that restores those values from `buf`, which happens just before the fatal call to `os_fileinfo` ```c /* * The autocommands may have changed the name of the buffer, which may * be kept in fname, ffname and sfname. */ if (buf_ffname) ffname = buf->b_ffname; if (buf_sfname) sfname = buf->b_sfname; if (buf_fname_f) fname = buf->b_ffname; if (buf_fname_s) fname = buf->b_sfname; ``` It's worth noting that at this point `ffname` is still non-NULL, so it _could_ be used. However, our current code is purely more strict than Vim in this area, which has caused us problems before (e.g., `getdigits()`). The commentary for `struct file_buffer` clearly indicate that all of `b_ffname`, `b_sfname`, and `b_fname` may be NULL: ```c /* * b_ffname has the full path of the file (NULL for no name). * b_sfname is the name as the user typed it (or NULL). * b_fname is the same as b_sfname, unless ":cd" has been done, * then it is the same as b_ffname (NULL for no name). */ char_u *b_ffname; /* full path file name */ char_u *b_sfname; /* short file name */ char_u *b_fname; /* current file name */ ``` Vim directly calls `stat(2)` which, although it is annotated to tell the compiler that the path argument is non-NULL, does handle a NULL pointer by returning a `-1` value and setting `errno` to `EFAULT`. This satisfies Vim's check, since it treats any `-1` return from `stat(2)` to mean the file doesn't exist (at least in this code path). Note that Vim's mch_stat() implementations on win32 and solaris clearly cannot accept NULL `name`. But the codepaths that call mch_stat will NULL `name` tend to be unix-only (eg: u_read_undo)!
* | | | input: skip dialogs if no UI is activeJustin M. Keyes2017-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat dialogs in the same way as "silent mode" (`nvim -es`). References #1984 References #3901
* | | | clint: allow starting brace after `enum`Justin M. Keyes2017-08-06
| | | |
* | | | test/helpers: disable powershell logo/banner messageJustin M. Keyes2017-08-06
| | | |
* | | | terminal: block redraw during c_CTRL-DJustin M. Keyes2017-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike the normal wildmenu, the CTRL-D wild-list is not restored by statusline redraw. (Semantics: ^D is controlled by 'wildoptions' option, so it's in the "wild..." family.) TODO: externalize the c_CTRL-D wild-list.
* | | | win_redr_status(): skip if wildmenu is showingJustin M. Keyes2017-08-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This might be too coarse, but it passes all tests ... A more nuanced approach might be: only skip the windows whose statuslines are overwritten by the wildmenu. Closes #2255 Closes #7108 vim-patch:8.0.0710 N/A because of the changes in this commit.
* | | | test: job_spec.lua: disable shada in test instanceJustin M. Keyes2017-08-04
| |_|/ |/| |
* | | vim-patch:8.0.0124 #7092ckelsel2017-07-30
| | | | | | | | | | | | | | | | | | | | | Problem: Internal error for assert_inrange(1, 1). Solution: Adjust number of allowed arguments. (Dominique Pelle) https://github.com/vim/vim/commit/3421566376b5723213af502bd3c2b9debe025ef1
* | | menu_get(): docJustin M. Keyes2017-07-28
| | |
* | | viml: introduce menu_get() function #6322Matthieu Coudron2017-07-28
| | | | | | | | | | | | menu_get({path}, {modes}). See :h menu_get.
* | | test: mouse_spec: remove obnoxious wait times (#7029)Justin M. Keyes2017-07-15
| |/ |/| | | | | | | 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.
* | health.vim: fix testJustin M. Keyes2017-07-15
| |
* | test: shada: Replace hard-coded 704 with dynamic versionJames McCoy2017-07-14
| |
* | mbyte: Fix crash when using multibyte chars in maparg() return (#6986)Nikolai Aleksandrovich Pavlov2017-07-09
| | | | | | | | | | | | | | | | 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.
* | inccommand: improve performance #6949KillTheMule2017-07-08
| | | | | | | | | | | | | | | | 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.
* | 'cpoptions': remove "<" flag; ignore <special>Justin M. Keyes2017-07-08
| | | | | | | | Closes #6937 "nvim_get_keymap output is unreliable"
* | i_CTRL-O: fix :startinsert at end of line (#6963)d10n2017-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. 091e7d033cbf0f4da068292ce4ac934f1c3dd91e is the first bad neovim commit Steps to reproduce using `nvim -u NORC`: `aaaa<C-o>:startinsert<CR>` Fixes #6962
* | Merge pull request #6823 from blueyed/fix-term-stopJames McCoy2017-07-07
|\ \ | | | | | | fix SIGTERM/SIGHUP for jobs
| * | jobstop/process_stop: send SIGTERM directlyDaniel Hahler2017-07-07
| | | | | | | | | | | | | | | This reverts the revert of #6644 (7c1a5d1d4), and handles it properly now (with tests).
* | | test: tui_spec: Remove unused is_linux variableJames McCoy2017-07-07
|/ /
* | Merge #6816 'TUI improvements'Justin M. Keyes2017-07-07
|\ \ | | | | | | | | | | | | | | | | | | Removed these commits (test-suite changes): e2fba01910e0 7c809c4bc708 18e7cd9e9727
| * | tui: Correct commentary on tmux colour tests.Jonathan de Boyne Pollard2017-06-03
| | |
| * | tui: Add built-in terminfo entry for VTE.Jonathan de Boyne Pollard2017-06-03
| | | | | | | | | | | | | | | Also slightly refactor the way in which GNOME/MATE Terminal pretending to be xterm is detected.
| * | tui: Add st to the always 256-colour capable list.Jonathan de Boyne Pollard2017-06-03
| | | | | | | | | | | | Also comment and augment some terminal colour tests.
| * | tui: Correct a copy and paste error in stterm tests.Jonathan de Boyne Pollard2017-06-03
| | | | | | | | | | | | The test decsription was correct; the test was not.
| * | tui: Update colour tests some more.Jonathan de Boyne Pollard2017-06-03
| | |
| * | tui: Update colour tests.Jonathan de Boyne Pollard2017-06-03
| | |
* | | Merge #6959 from ZyX-I/pvs-fixesJustin M. Keyes2017-07-04
|\ \ \
| * | | os/fileio: Add ability to use os/fileio.c for file descriptorsZyX2017-07-04
| | | | | | | | | | | | | | | | Code imported from #6299