aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* vim-patch:8067a64Shougo Matsushita2016-10-04
| | | | | | Add missing test file. https://github.com/vim/vim/commit/8067a64852d6d134b493c5674e404225ed4bbe7d
* tui/terminfo_start: Default to normal-mode cursor shape. (#5419)Justin M. Keyes2016-10-02
| | | | | | | | | | | | | | | | | References #4867 For users who use a "bar" shape in the shell, it's annoying that Nvim starts with that same cursor shape, despite starting in normal-mode. So default to the normal-mode "block" shape instead. (Note: technically it's possible some user may set 'insertmode', and then the opposite problem occurs. But 'insertmode' is a silly option that shouldn't exist, and any user that uses it probably isn't fiddling with their cursor shape anyways.) Also rename the unibilium extensions: enter_insert_mode => set_cursor_shape_bar enter_replace_mode => set_cursor_shape_underline exit_insert_mode => set_cursor_shape_block to say explicitly what they do in the context of a terminal; it's irrelevant in this context what purpose they serve in Nvim.
* ci: .travis.yml: Minimize scope of osx_image directive. (#5420)Justin M. Keyes2016-10-02
|
* event/multiqueue.c: Rename "queue" to "multiqueue".Justin M. Keyes2016-10-02
| | | | | | | | | | | | | | `lib/queue.h` implements a basic queue. `event/queue.c` implements a specialized data structure on top of lib/queue.h; it is not a "normal" queue. Rename the specialized multi-level queue implemented in event/queue.c to "multiqueue", to avoid confusion when reading the code. Before this change one can eventually notice that "macros (uppercase symbols) are for the normal queue, lowercase operations are for the multi-level queue", but that is unnecessary friction for new developers (or existing developers just visiting this part of the codebase).
* Merge pull request #5409 from jamessan/toplevel-stateJames McCoy2016-09-30
|\ | | | | | | Correct logic for setting NormalState.toplevel
| * Correct logic for setting NormalState.toplevelJames McCoy2016-09-30
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Vim's main_loop function, the main loop is while (!cmdwin #ifdef FEAT_CMDWIN || cmdwin_result == 0 #endif ) { ... #ifdef FEAT_EVAL /* * May perform garbage collection when waiting for a character, but * only at the very toplevel. Otherwise we may be using a List or * Dict internally somewhere. * "may_garbage_collect" is reset in vgetc() which is invoked through * do_exmode() and normal_cmd(). */ may_garbage_collect = (!cmdwin && !noexmode); #endif /* * If we're invoked as ex, do a round of ex commands. * Otherwise, get and execute a normal mode command. */ if (exmode_active) { if (noexmode) /* End of ":global/path/visual" commands */ return; do_exmode(exmode_active == EXMODE_VIM); } else normal_cmd(&oa, TRUE); } cmdwin_result is set to 0 before calling main_loop to handle the cmdwin window and gets changed when the user causes a command to execute (either through pressing <CR> or <C-c>). This means that when the cmdwin isn't active OR the user is still editing their command, main_loop runs and main_loop calls normal_cmd with toplevel true as long as exmode isn't active. When the normal mode state was extracted in dae006a9, the conditions for toplevel and may_garbage_collect were combined. Since toplevel was set to always ignore cmdwin, the v:count(1) variables were no longer being updated when a command was prefixed with a count in the cmdwin. Closes #5404
* Merge pull request #5358 from jbradaric/vim-7.4.1679James McCoy2016-09-28
|\ | | | | vim-patch:7.4.{1648,1679,1681}
| * vim-patch:7.4.1681Jurica Bradaric2016-09-28
| | | | | | | | | | | | | | Problem: Coverity warns for fixed size buffer length (false positive). Solution: Add a check for the name length. https://github.com/vim/vim/commit/ef9d9b94a8803c405884bb6914ed745ede57c596
| * vim-patch:7.4.1679Jurica Bradaric2016-09-28
| | | | | | | | | | | | | | Problem: Coverity: copying value of v_lock without initializing it. Solution: Init v_lock in rettv_list_alloc() and rettv_dict_alloc(). https://github.com/vim/vim/commit/7d2a5796d39905a972e8f74af5f7b0a62e3de173
| * vim-patch:7.4.1648Jurica Bradaric2016-09-28
|/ | | | | | | | Problem: Compiler has a problem copying a string into di_key[]. (Yegappan Lakshmanan) Solution: Add dictitem16_T. https://github.com/vim/vim/commit/bee6c0cf86a75faa2aa893f2c9db82fd944a89a5
* Merge #5395 from justinmk/logJustin M. Keyes2016-09-28
|\
| * log.c: align/adjust layoutJustin M. Keyes2016-09-28
| | | | | | | | | | | | | | | | New: 2016/09/27 18:00:49 INFO 28117/tui_flush:597: ... Old: 2016/09/27 18:00:49 [info @ tui_flush:597] 28117 - ...
| * tui: Move ui_bridge module to tui/ namespace.Justin M. Keyes2016-09-28
| |
| * doc: minor comment tweaksJustin M. Keyes2016-09-28
|/
* Merge pull request #5389 from bfredl/apifixBjörn Linse2016-09-27
|\ | | | | restore ui_try_resize metadata and filter metadata attributes, and add "since" attribute
| * api: add blanket implementation of "since"Björn Linse2016-09-27
| |
| * api: define the set of function attributes to expose in the metadataBjörn Linse2016-09-27
| |
| * api: restore old return type of deprecated ui_try_resize methodBjörn Linse2016-09-27
| |
* | Merge pull request #5357 from jbradaric/vim-7.4.1671James McCoy2016-09-27
|\ \ | | | | | | | | | vim-patch:7.4.{1671,1818,1820,1821}
| * | vim-patch:7.4.1821Jurica Bradaric2016-09-25
| | | | | | | | | | | | | | | | | | | | | Problem: Test fails on MS-Windows. Solution: Sort the completion results. https://github.com/vim/vim/commit/4ed6b2e2d7fd5959fb9b9f608935d47305c4bbe4
| * | vim-patch:7.4.1820Jurica Bradaric2016-09-25
| | | | | | | | | | | | | | | | | | | | | Problem: Removing language from help tags too often. Solution: Only remove @en when not needed. (Hirohito Higashi) https://github.com/vim/vim/commit/9ccaae04c6f263e6db14fc403bca2404a7871114
| * | vim-patch:7.4.1818Jurica Bradaric2016-09-25
| | | | | | | | | | | | | | | | | | | | | Problem: Help completion adds @en to all matches except the first one. Solution: Remove "break", go over all items. https://github.com/vim/vim/commit/89c79b99328b66f77f1d12dc8c6701dfe2c57f15
| * | vim-patch:7.4.1671Jurica Bradaric2016-09-25
| | | | | | | | | | | | | | | | | | | | | | | | Problem: When help exists in multiple languages, adding @ab while "ab" is the default help language is unnecessary. Solution: Leave out "@ab" when not needed. (Ken Takata) https://github.com/vim/vim/commit/61264d99692803eec76a171916ab9720c75536b0
* | | Merge pull request #5261 from jbradaric/vim-7.4.1961James McCoy2016-09-27
|\ \ \ | |_|/ |/| | vim-patch:7.4.1961
| * | option.c: Fix linter errors.Jurica Bradaric2016-09-25
| | |
| * | vim-patch:7.4.1961Jurica Bradaric2016-09-25
| |/ | | | | | | | | | | | | | | | | | | Problem: When 'insertmode' is reset while doing completion the popup menu remains even though Vim is in Normal mode. Solution: Ignore stop_insert_mode when the popup menu is visible. Don't set stop_insert_mode when 'insertmode' was already off. (Christian Brabandt) https://github.com/vim/vim/commit/00672e1d3f59dbff91a18d418b2984be96f89ee5
* | Merge pull request #5356 from jbradaric/vim-7.4.1670James McCoy2016-09-26
|\ \ | | | | | | vim-patch:7.4.1670
| * | vim-patch:7.4.1670Jurica Bradaric2016-09-18
| | | | | | | | | | | | | | | | | | | | | Problem: Completion doesn't work well for a variable containing "vim/vim#". Solution: Recognize the "vim/vim#". (Watiko) https://github.com/vim/vim/commit/a32095fc8fdf5fe3d487c86d9cc54adb1236731e
* | | Merge pull request #5372 from jamessan/vim-7.4.1604James McCoy2016-09-26
|\ \ \ | |_|/ |/| | | | | | | | vim-patch:7.4.1604,7.4.1620,7.4.1629,7.4.1630,7.4.1642,7.4.1697 Closes #5149
| * | genunicodetables: Give the unicode directory as the first argumentJames McCoy2016-09-24
| | | | | | | | | | | | | | | | | | Let genunicodetables determine which files it needs from the unicode directory. cmake just needs to pass the directory and destination file to the script.
| * | vim-patch:7.4.1697James McCoy2016-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Display problems when the 'ambiwidth' and 'emoji' options are not set properly or the terminal doesn't behave as expected. Solution: After drawing an ambiguous width character always position the cursor. https://github.com/vim/vim/commit/cb0700844c1274fe8bc0ceaffaee0ad21c406f30
| * | lintJames McCoy2016-09-24
| | |
| * | vim-patch:7.4.1642James McCoy2016-09-24
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Handling emoji characters as full width has problems with backwards compatibility. Solution: Only put characters in the 1f000 range in the emoji table. https://github.com/vim/vim/commit/6a08454b93784c92296d4c08456401cbaa74c9d5
| * | vim-patch:7.4.1630James McCoy2016-09-24
| | | | | | | | | | | | | | | | | | | | | Problem: Unicode table for double width is outdated. Solution: Update to the latest Unicode standard. https://github.com/vim/vim/commit/d63aff0a65b955447de2fd8bfdaee29b61ce2843
| * | vim-patch:7.4.1629James McCoy2016-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Handling emoji characters as full width has problems with backwards compatibility. Solution: Remove ambiguous and double width characters from the emoji table. Use a separate table for the character class. (partly by Yashuhiro Matsumoto) https://github.com/vim/vim/commit/b86f10ee10bdf932df02bdaf601dffa671518a47
| * | vim-patch:7.4.1620James McCoy2016-09-24
| | | | | | | | | | | | | | | | | | | | | Problem: Emoji characters are not considered as a kind of word character. Solution: Give emoji characters a word class number. (Yashuhiro Matsumoto) https://github.com/vim/vim/commit/4077b33a8370afb3d5ae74e556a0119cf51fe294
| * | Update unicode filesJames McCoy2016-09-24
| | |
| * | vim-patch:7.4.1604James McCoy2016-09-24
|/ / | | | | | | | | | | | | | | | | Problem: Although emoji characters are ambiguous width, best is to treat them as full width. Solution: Update the Unicode character tables. Add the 'emoji' options. (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/3848e00e0177abdb31bc600234967863ec487233
* | tui.c: Do not wait for tui loop on teardown. (#4789)Justin M. Keyes2016-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because terminfo_stop() already ran, there is not much reason to wait for the loop to teardown. Helped-by: Björn Linse <bjorn.linse@gmail.com> Helped-by: oni-link <knil.ino@gmail.com> Closes #4778 References #3541 --- Bug report: > After pressing `ZZ` I can find two threads freezing, occupying 100% CPU: |-systemd-+ |-nvim,11567 /home/lz/code/1.rs +set title | `-{nvim},11574 > 11567 has two threads: (gdb) info threads Id Target Id Frame * 1 Thread 0x7f7622907780 (LWP 11567) "nvim" 0x00007f76222e66bd in pthread_join () from /usr/lib/libpthread.so.0 2 Thread 0x7f761f5ff700 (LWP 11574) "nvim" 0x00007ffcec9e9c59 in clock_gettime () (gdb) thread apply all bt Thread 2 (Thread 0x7f761f5ff700 (LWP 11574)): #0 0x00007ffcec9e9c59 in clock_gettime () #1 0x00007f76210b9356 in clock_gettime () from /usr/lib/libc.so.6 #2 0x00007f7622513e3c in ?? () from /usr/lib/libuv.so.1 #3 0x00007f7622505e94 in uv_run () from /usr/lib/libuv.so.1 #4 0x00000000004822ed in loop_close (loop=loop@entry=0x7f761f5fe870) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/event/loop.c:87 #5 0x00000000005a7ec0 in tui_main (bridge=0x7f761f6ac000, ui=0x7f761f69ace0) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/tui/tui.c:234 #6 0x00000000005a9b47 in ui_thread_run (data=<optimized out>) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/ui_bridge.c:87 #7 0x00007f7622510d07 in ?? () from /usr/lib/libuv.so.1 #8 0x00007f76222e5474 in start_thread () from /usr/lib/libpthread.so.0 #9 0x00007f76210ac69d in clone () from /usr/lib/libc.so.6 Thread 1 (Thread 0x7f7622907780 (LWP 11567)): #0 0x00007f76222e66bd in pthread_join () from /usr/lib/libpthread.so.0 #1 0x00007f7622510dae in uv_thread_join () from /usr/lib/libuv.so.1 #2 0x00000000005aac9e in ui_bridge_stop (b=0x7f761f6ac000) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/ui_bridge.c:104 #3 0x00000000005a90e4 in ui_builtin_stop () at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/ui.c:91 #4 0x000000000052be09 in mch_exit (r=r@entry=1) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/os_unix.c:143 #5 0x00000000004db1cc in getout (exitval=exitval@entry=1) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/main.c:623 #6 0x00000000004fa43c in preserve_exit () at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/misc1.c:2652 #7 0x000000000052b77a in deadly_signal (signum=1) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/os/signal.c:120 #8 0x000000000052b7cf in on_signal (handle=<optimized out>, signum=<optimized out>, data=<optimized out>) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/os/signal.c:145 #9 0x0000000000484178 in signal_event (argv=<optimized out>) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/event/signal.c:44 #10 0x0000000000483b7f in queue_process_events (queue=0x7f7620417360) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/event/queue.c:142 #11 0x0000000000482208 in loop_poll_events (loop=0x84dec0 <loop>, ms=ms@entry=4000) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/event/loop.c:56 #12 0x000000000052a364 in input_poll (ms=ms@entry=4000) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/os/input.c:325 #13 0x000000000052a3e2 in inbuf_poll (ms=4000) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/os/input.c:347 #14 0x000000000052a839 in os_inchar (buf=buf@entry=0x0, maxlen=maxlen@entry=0, ms=ms@entry=-1, tb_change_cnt=tb_change_cnt@entry=0) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/os/input.c:107 #15 0x0000000000592eeb in state_enter (s=s@entry=0x7ffcec9d3560) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/state.c:46 #16 0x0000000000508533 in normal_enter (cmdwin=cmdwin@entry=false, noexmode=noexmode@entry=false) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/normal.c:464 #17 0x00000000004dc17e in main (argc=<optimized out>, argv=<optimized out>) at /tmp/yaourt-tmp-lz/aur-neovim-git/src/neovim-git/src/nvim/main.c:538
* | doc/deprecated.txt (#5338)Justin M. Keyes2016-09-24
| | | | | | | | | | | | | | | | | | | | | | `deprecated.txt` is a place for deprecated tags to live. - Encourages aggressive documentation of deprecations without cluttering the main help files. - Provides a single browsable reference of all deprecations. Other changes: - Move tags to doc/vim_diff.txt. - Remove doc/quotes.txt. It has little historical value, except maybe the Larry Wall quote.
* | runtest.vim: Fix spelling of s:flakyJames McCoy2016-09-23
| |
* | Merge branch 'jamessan/vim-019b9c6'James McCoy2016-09-23
|\ \
| * | vim-patch:019b9c6James McCoy2016-09-23
|/ / | | | | | | | | | | | | | | | | | | | | Add new test file. https://github.com/vim/vim/commit/019b9c644e92742e37efc08fef47c2620a01b6b3 The file was already added in 8c1fb99d2d4058d2cc1decbfed89b1f73b38cef6. This commit just informs vim-patch.sh about the inclusion. [ci skip]
* | ci: .travis.yml: Upgrade to macOS 10.11 / xcode7.3 (#5378)Justin M. Keyes2016-09-23
| | | | | | | | | | Update to a recent, but not bleeding-edge, version of macOS and xcode. At present, travis defaults to OS X 10.9.5 / Xcode 6.1. QuickBuild runs macOS 10.10.
* | Merge #4972 from justinmk/schedule-ui_refreshJustin M. Keyes2016-09-23
|\ \ | | | | | | Schedule ui_refresh
| * | ui_detach: Schedule refresh on main loop.Justin M. Keyes2016-09-22
| | | | | | | | | | | | Closes #4163
| * | test: api_specJustin M. Keyes2016-09-22
| | | | | | | | | | | | | | | This is an (unsuccessful) attempt to cover #4163. It covers other behavior, so it's worth keeping.
* | | Merge pull request #5369 from jamessan/vim-patch-preprocessingJames McCoy2016-09-22
|\ \ \ | |/ / |/| | vim-patch: Group alternations in preprocess_patch
| * | vim-patch: Group alternations in preprocess_patchJames McCoy2016-09-22
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without the groupings, only the first alternation matches the diff marker. For example, local na_doc='todo\.txt\|version\d\.txt\|tags' ... +'g^diff --git a/runtime/doc/'${na_doc}'... becomes, after expansion, ... +'g^diff --git a/runtime/doc/todo\.txt\|version\d\.txt\|tags'... so the matches become "^diff --get a/runtime/doc/todo\.txt", "version\d\.txt", or "tags". Adding the grouping ensures the expected behavior of requiring "^diff --get a/runtime/doc/" before every filename.
* | runtest.vim: Fix spelling of (s:)messagesJames McCoy2016-09-21
| |