aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.0.1396: memory leak when CTRL-G in search command line failsÖmer Sinan Ağacan2018-01-26
| | | | | | | | | | | | | | Problem: Memory leak when CTRL-G in search command line fails. Solution: Move restore_last_search_pattern to after "if". https://github.com/vim/vim/commit/a1d5c154dbd5fbe317726bbf2ba99632b91878f4
| * Update included_patchesÖmer Sinan Ağacan2018-01-26
| |
| * vim-patch:8.0.1250Ömer Sinan Ağacan2018-01-26
| | | | | | | | | | | | | | | | | | Problem: 'hlsearch' highlighting not removed after incsearch (lacygoill) Solution: Redraw all windows. Start search at the end of the match. Improve how CTRL-G works with incremental search. Add tests. (Christian Brabandt, Hirohito Higashi, haya14busa, closes vim/vim#2267) https://github.com/vim/vim/commit/f8f8b2eadbaf3090fcfccbab560de5dbd501833d
| * vim-patch:8.0.1238Ömer Sinan Ağacan2018-01-26
| | | | | | | | | | | | | | | | Problem: Incremental search only shows one match. Solution: When 'incsearch' and and 'hlsearch' are both set highlight all matches. (haya14busa, closes vim/vim#2198) https://github.com/vim/vim/commit/2e51d9a0972080b087d566608472928d5b7b35d7
* | provider: make has('ruby') only return 1 if gem is installed (#7944)Marco Hinz2018-02-01
| |
* | os_system(): do not set up input stream for empty string #7951Justin M. Keyes2018-02-01
| | | | | | | | | | | | | | | | | | Test failure: test/functional/eval/system_spec.lua: "works with an empty string" E5677: Error writing input to shell-command: EPIPE ref https://github.com/neovim/neovim/pull/6558#issuecomment-361061035 ref #6554
* | version.c: update [ci skip] (#7886)Marvim the Paranoid Android2018-02-01
| | | | | | | | | | | | | | | | vim-patch:8.0.0175: setting language on MS-Windows does not always work vim-patch:8.0.0185: system() test fails on MS-Windows vim-patch:8.0.1435: memory leak in test_arabic vim-patch:8.0.0424: compiler warnings on MS-Windows vim-patch:8.0.0434: clang version not correctly detected vim-patch:8.0.0458: potential crash if adding list or dict to dict fails
* | vim-patch:8.0.0672: synconcealed() changes too often #7887nate2018-02-01
| | | | | | | | | | | | | | | | Problem: Third item of synconcealed() changes too often. (Dominique Pelle) Solution: Reset the sequence number at the start of each line. https://github.com/vim/vim/commit/cc0750dc6e878394ab0fd922b7ea4280918ae406 closes #7589
* | tui: libtermkey: force CSI driver for mouse input #7948Chih-Hsuan Yen2018-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #7932 Nvim (tui.c) always enables SGR mouse (TUIData.unibi_ext.enable_mouse). But if libtermkey sees key_mouse (kmous) in terminfo its terminfo driver (driver-ti.c) will be activated, which by accident only supports X10 protocol. The libtermkey CSI driver (driver-csi.c), in contrast, supports SGR. We can force libtermkey to ignore the terminfo key_mouse entry by returning NULL in the tui_tk_ti_getstr hook. That forces the CSI driver. What is the effect of returning NULL from `tui_tk_ti_getstr()`? - libtermkey `driver-ti.c:load_terminfo()` skips the entry. - `termkey.c:peekkey()` iterates through all drivers, it finds `TERMKEY_RES_NONE` for the ti driver and falls back to the CSI driver.
* | vim-patch:8.0.0358,8.0.0359 (#7832)KunMing Xie2018-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0358: invalid memory access in C-indent code Problem: Invalid memory access in C-indent code. Solution: Don't go over end of empty line. (Dominique Pelle, closes vim/vim#1492) https://github.com/vim/vim/commit/60629d642541a089c322e65963c0a77e5f77eb79 vim-patch:8.0.0359: 'number' and 'relativenumber' are not properly tested Problem: 'number' and 'relativenumber' are not properly tested. Solution: Add tests, change old style to new style tests. (Ozaki Kiichi, closes vim/vim#1447) https://github.com/vim/vim/commit/dc9a081712ec8c140e6d4909e9f6b03a629d32d3
* | win: has("wsl") on Windows Subsystem for Linux #7330Mahmoud Al-Qudsi2018-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | Per CMAKE docs, CMAKE_HOST_SYSTEM_VERSION is the result of `uname -r`: https://cmake.org/cmake/help/v3.4/variable/CMAKE_HOST_SYSTEM_VERSION.html?highlight=uname A numeric version string for the system. On systems that support uname, this variable is set to the output of uname -r. On other systems this is set to major-minor version numbers. On Windows it is something like "6.1", so it won't match ".*-Microsoft". Closes #7329
* | vim-patch:8.0.0448: some macros are lower case (#7936)KunMing Xie2018-01-30
| | | | | | | | | | | | | | Problem: Some macros are in lower case, which can be confusing. Solution: Make a few lower case macros upper case. https://github.com/vim/vim/commit/b5aedf3e228d35821591da9ae8501b61cf2e264c ref #6297
* | Merge #5822 'mouse.c: Fix mouse click on multibyte + concealed'Justin M. Keyes2018-01-29
|\ \
| * | Safer loop for skipping consecutive concealed charsTommy Allen2018-01-28
| | |
| * | Use one variable for tracking adjustment instead of twoTommy Allen2018-01-28
| | |
| * | Adjust cursor according to character display widthsTommy Allen2018-01-28
| | |
| * | Don't move cursor to the left if on the first column of wrapped lineTommy Allen2018-01-28
| | | | | | | | | | | | ref: #7887
| * | Use utfc_ptr2len instead of utf_ptr2lenTommy Allen2018-01-28
| | |
| * | mouse.c: Fix mouse click on lines with multibyte textTommy Allen2018-01-28
| | | | | | | | | | | | fixes #5341, #5801
* | | Merge #7842 'win: fnamemodify()'Justin M. Keyes2018-01-29
|\ \ \ | |/ / |/| |
| * | fixup: lint errorsJan Edmund Lazo2018-01-28
| | |
| * | win: explicitly specify pathsepJan Edmund Lazo2018-01-28
| | |
| * | fixup: compile-time errorsJan Edmund Lazo2018-01-28
| | |
| * | win: detect / and \ as root path separatorJan Edmund Lazo2018-01-28
| | |
* | | vim-patch:8.0.0528: highlight wrong text when 'wim' includes "longest" (#7927)Jakub Łuczyński2018-01-29
| | | | | | | | | | | | | | | | | | | | | | | | Problem: When 'wildmenu' is set and 'wildmode' has "longest" then the first file name is highlighted, even though the text shows the longest match. Solution: Do not highlight the first match. (LemonBoy, closes vim/vim#1602) https://github.com/vim/vim/commit/ef8eb0897819099fb00d675afb9bffe1d008c45e
* | | test/old: fix Test_set_completion()Justin M. Keyes2018-01-28
| | | | | | | | | | | | | | | | | | Vim's src/testdir has more directories in it, so the "./samples/" item happens to have a space in front of it. This isn't relevant to the test, so just elide the space for our case.
* | | test/old: $TMPDIR must be absoluteJustin M. Keyes2018-01-28
| | | | | | | | | | | | | | | Internals `chdir` here and there, this causes relative $TMPDIR to break some things. Don't know why this only happened on macOS...
* | | ex_diffpatch: don't need redraw_later(CLEAR), Nvim uses pipesJustin M. Keyes2018-01-28
|/ /
* | Merge #7903 'test/old: minor fixes for local invocation'Justin M. Keyes2018-01-28
|\ \
| * | test/old: always set $TMPDIRJustin M. Keyes2018-01-23
| | | | | | | | | | | | | | | | | | On macOS $TMPDIR defaults to something very long. There's not really a need to support overriding the $TMPDIR used by tests, so always use the workspace-local path "Xtest-tmpdir".
| * | test/old: Fix_truncated_tmpfile(): more flexibleJustin M. Keyes2018-01-23
| | |
* | | tui: fix use-after-free after UI `stop` event #7922Justin M. Keyes2018-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ui_bridge:ui_bridge_stop() calls ui_detach_impl() last, so the check for ui_active() in ui:ui_refresh() doesn't help: tui_main() already freed the `ui` object. There is a race between ui_bridge_stop (thread T0) and tui_main (thread T1). UIBridgeData.stopped could be set while ui_bridge_stop() is in the middle of loop_poll_events(), which may invoke tui_scheduler() on T0. The pointers in tui_scheduler() may be invalid by then. Solution(?): Use the `UI.data` field as a "stopped" flag and check it in tui_scheduler(). ASAN use-after-free report observed in #7908: = ==20066==ERROR: AddressSanitizer: heap-use-after-free on address 0x611000000cd0 at pc 0x00000182abed bp 0x7ffe23b07070 sp 0x7ffe23b07068 = READ of size 8 at 0x611000000cd0 thread T0 = 0 0x182abec in tui_scheduler /home/travis/build/neovim/neovim/src/nvim/tui/tui.c:393:23 = 1 0x1876afd in ui_bridge_update_fg /home/travis/build/neovim/neovim/build/src/nvim/auto/ui_events_bridge.generated.h:205:3 = 2 0x186c130 in ui_resize /home/travis/build/neovim/neovim/src/nvim/ui.c:310:3 = 3 0x146b9c2 in screen_resize /home/travis/build/neovim/neovim/src/nvim/screen.c:7483:3 = 4 0x186a6f0 in ui_refresh /home/travis/build/neovim/neovim/src/nvim/ui.c:284:3 = 5 0x186bbe0 in ui_refresh_event /home/travis/build/neovim/neovim/src/nvim/ui.c:297:3 = 6 0xa2219a in multiqueue_process_events /home/travis/build/neovim/neovim/src/nvim/event/multiqueue.c:150:7 = 7 0xa1bd7f in loop_poll_events /home/travis/build/neovim/neovim/src/nvim/event/loop.c:63:3 = 8 0x1872709 in ui_bridge_stop /home/travis/build/neovim/neovim/src/nvim/ui_bridge.c:121:5 = 9 0x1864247 in ui_builtin_stop /home/travis/build/neovim/neovim/src/nvim/ui.c:143:3 = 10 0x1249ec8 in mch_exit /home/travis/build/neovim/neovim/src/nvim/os_unix.c:140:3 = 11 0xe56ba9 in getout /home/travis/build/neovim/neovim/src/nvim/main.c:671:3 = 12 0xfc4c8f in preserve_exit /home/travis/build/neovim/neovim/src/nvim/misc1.c:2653:3 = 13 0x1247c02 in deadly_signal /home/travis/build/neovim/neovim/src/nvim/os/signal.c:137:3 = 14 0x1247921 in on_signal /home/travis/build/neovim/neovim/src/nvim/os/signal.c:162:9 = 15 0xa35618 in signal_event /home/travis/build/neovim/neovim/src/nvim/event/signal.c:47:3 = 16 0xa2219a in multiqueue_process_events /home/travis/build/neovim/neovim/src/nvim/event/multiqueue.c:150:7 = 17 0xa1bd7f in loop_poll_events /home/travis/build/neovim/neovim/src/nvim/event/loop.c:63:3 = 18 0x1237bd6 in input_poll /home/travis/build/neovim/neovim/src/nvim/os/input.c:349:3 = 19 0x123334f in inbuf_poll /home/travis/build/neovim/neovim/src/nvim/os/input.c:372:24 = 20 0x123316d in os_inchar /home/travis/build/neovim/neovim/src/nvim/os/input.c:110:19 = 21 0x170d20e in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:55:13 = 22 0xbd7441 in command_line_enter /home/travis/build/neovim/neovim/src/nvim/ex_getln.c:384:3 = 23 0xbd0a60 in getcmdline /home/travis/build/neovim/neovim/src/nvim/ex_getln.c:1920:10 = 24 0xbdb365 in getexline /home/travis/build/neovim/neovim/src/nvim/ex_getln.c:2100:10 = 25 0xb00a6b in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:528:47 = 26 0x10a7837 in nv_colon /home/travis/build/neovim/neovim/src/nvim/normal.c:4552:18 = 27 0x1091e15 in normal_execute /home/travis/build/neovim/neovim/src/nvim/normal.c:1136:3 = 28 0x170d439 in state_enter /home/travis/build/neovim/neovim/src/nvim/state.c:67:26 = 29 0x104ee14 in normal_enter /home/travis/build/neovim/neovim/src/nvim/normal.c:466:3 = 30 0xe4295c in main /home/travis/build/neovim/neovim/src/nvim/main.c:572:3 = 31 0x2b2ba340bf44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287 = 32 0x44d24b in _start (/home/travis/build/neovim/neovim/build/bin/nvim+0x44d24b) = = 0x611000000cd0 is located 16 bytes inside of 240-byte region [0x611000000cc0,0x611000000db0) = freed by thread T1 here: = 0 0x4ee0e2 in __interceptor_free /local/mnt/workspace/tmp/ubuntu_rel/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:47:3 = 1 0xf4f6d4 in xfree /home/travis/build/neovim/neovim/src/nvim/memory.c:133:3 = 2 0x182a963 in tui_main /home/travis/build/neovim/neovim/src/nvim/tui/tui.c:383:3 = 3 0x18792b0 in ui_thread_run /home/travis/build/neovim/neovim/src/nvim/ui_bridge.c:106:3 = 4 0x2b2ba2697183 in start_thread /build/eglibc-ripdx6/eglibc-2.19/nptl/pthread_create.c:312 = = previously allocated by thread T0 here: = 0 0x4ee61a in calloc /local/mnt/workspace/tmp/ubuntu_rel/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:76:3 = 1 0xf4f787 in xcalloc /home/travis/build/neovim/neovim/src/nvim/memory.c:147:15 = 2 0x182000a in tui_start /home/travis/build/neovim/neovim/src/nvim/tui/tui.c:127:12 = 3 0x1863f7c in ui_builtin_start /home/travis/build/neovim/neovim/src/nvim/ui.c:125:3 = 4 0xe41bb9 in main /home/travis/build/neovim/neovim/src/nvim/main.c:457:5 = 5 0x2b2ba340bf44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287 = = Thread T1 created by T0 here: = 0 0x4d774d in __interceptor_pthread_create /local/mnt/workspace/tmp/ubuntu_rel/llvm/utils/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:317:3 = 1 0x1aae6b0 in uv_thread_create /home/travis/nvim-deps/build/src/libuv/src/unix/thread.c:75 = 2 0x18217fa in tui_start /home/travis/build/neovim/neovim/src/nvim/tui/tui.c:159:10 = 3 0x1863f7c in ui_builtin_start /home/travis/build/neovim/neovim/src/nvim/ui.c:125:3 = 4 0xe41bb9 in main /home/travis/build/neovim/neovim/src/nvim/main.c:457:5 = 5 0x2b2ba340bf44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287 --- Alternative attempt: commit 6ad9c02491606a0c31e907f38c9931f324327aa5 Author: Justin M. Keyes <justinkz@gmail.com> Date: Sat Jan 27 15:12:58 2018 +0100 tui: fix use-after-free: swap in empty scheduler This should make life easier for UIs like VimR which implement their own in-process bridged UI: they don't need to worry that their `scheduler` might receive an invalid pointer. To avoid that, ui_bridge_stopped() swaps in an empty scheduler. Note that this requires the call to loop_poll_events() to be moved into the critical section. diff --git a/src/nvim/ui_bridge.c b/src/nvim/ui_bridge.c index 779585416f80..491052d19d3b 100644 --- a/src/nvim/ui_bridge.c +++ b/src/nvim/ui_bridge.c @@ -93,10 +93,18 @@ UI *ui_bridge_attach(UI *ui, ui_main_fn ui_main, event_scheduler scheduler) return &rv->bridge; } +static void ui_bridge_null_scheduler(Event event, void *d) +{ + WLOG("ignoring event (bridge stopped)"); +} + void ui_bridge_stopped(UIBridgeData *bridge) { uv_mutex_lock(&bridge->mutex); bridge->stopped = true; + // Replace with an empty scheduler, so that the UI internal scheduler does + // not get invoked with an invalid pointer. #7922 + bridge->scheduler = ui_bridge_null_scheduler; uv_mutex_unlock(&bridge->mutex); } @@ -111,14 +119,11 @@ static void ui_bridge_stop(UI *b) UIBridgeData *bridge = (UIBridgeData *)b; bool stopped = bridge->stopped = false; UI_BRIDGE_CALL(b, stop, 1, b); - for (;;) { + while (!stopped) { uv_mutex_lock(&bridge->mutex); stopped = bridge->stopped; - uv_mutex_unlock(&bridge->mutex); - if (stopped) { - break; - } loop_poll_events(&main_loop, 10); // Process one event (at most). + uv_mutex_unlock(&bridge->mutex); } uv_thread_join(&bridge->ui_thread); uv_mutex_destroy(&bridge->mutex);
* | | Merge #7919 from hardenedapple/langremap-after-mapJustin M. Keyes2018-01-27
|\ \ \ | |_|/ |/| |
| * | Make 'langnoremap' apply directly after a mapMatthew Malcomson2018-01-27
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were initially checking whether to apply 'langmap' translation based on typebuf.tb_maplen. This gets set to 0 on the last byte of a map when the del_typebuf() function is called, which means that the option was not working for the last character of a mapping. For this reason, we switched to using KeyTyped to decide whether to apply the transformation or not in commit 53da57d27. Substituting one for the other isn't enough, because KeyTyped isn't set until vgetorpeek() is returning. This means 'langmap' translations are not applied when searching for characters to map in the vgetorpeek() function if the *previous* key was not typed. We can't assert that both hold, as we would then *not* apply the transformation when looking for a map starting with the first typed key after a previously expanded map (as KeyTyped would be `false` from the previously expanded map, and not yet reset). Hence we assert that if we are looking for the mapping while in vgetorpeek(), the map length should be zero, otherwise, KeyTyped must be `true`. This is implemented by checking for the variable `vgetc_busy`.
* | build/macOS: remove -iframework line #7891Justin M. Keyes2018-01-26
| | | | | | | | | | | | | | | | | | | | Linker error: [1/3] Linking C executable bin/nvim ld: warning: directory not found for option '-FCoreFoundation' Only the -isysroot change is needed, see https://github.com/neovim/neovim/pull/7891#discussion_r164036958
* | Merge pull request #6558 from jamessan/tv_as_string-fixJames McCoy2018-01-25
|\ \ | | | | | | eval: save_tv_as_string: Correctly handle an empty string
| * | eval: save_tv_as_string: Correctly handle an empty stringJames McCoy2018-01-23
| |/ | | | | | | | | | | | | | | When tv_get_string_chk returns a non-NULL value, we have a valid string. Propagating an error state (*len = -1, NULL return) for an empty string is invalid. Closes #6554
* / vim-patch:8.0.0431 (#7908)KunMing Xie2018-01-25
|/ | | | | | | vim-patch:8.0.0431: 'cinoptions' cannot set indent for extern block Problem: 'cinoptions' cannot set indent for extern block. Solution: Add the "E" flag in 'cinoptions'. (Hirohito Higashi) https://github.com/vim/vim/commit/7720ba8599162fbbb8f7fc034f674a2ccd3ca7f1
* Merge #7890 'vim-patch: various'Justin M. Keyes2018-01-22
|\
| * vim-patch: NAJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0674: cannot build with eval but without timers vim-patch:8.0.0673: build failure without conceal feature vim-patch:8.0.0668: nsis installer script does not work vim-patch:8.0.0666: dead for loop vim-patch:8.0.0665: warning for uninitialized variable vim-patch:8.0.0664: mouse does not work in tmux vim-patch:8.0.0661: recognizing urxvt mouse codes does not work well vim-patch:8.0.0660: silent install on MS-Windows shows dialog
| * vim-patch:8.0.0667: more tests for :endfuncJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | | | | | [Only the test is merged; code was addressed by 60c025267265.] Problem: Memory access error when command follows :endfunction. (Nikolai Pavlov) Solution: Make memory handling in :function straightforward. (closes vim/vim#1793) https://github.com/vim/vim/commit/53564f7c1a2998d92568e07fff1f2a4c1cecb646
| * vim-patch:8.0.0662: stray FIXME for fixed problemJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | Problem: Stray FIXME for fixed problem. Solution: Remove the comment. (Dominique Pelle) https://github.com/vim/vim/commit/4670490673ed98502a09b74fbabe785b47e3d289
| * vim-patch:8.0.0659: no test for conceal modeJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | Problem: No test for conceal mode. Solution: Add a conceal mode test. (Dominique Pelle, closes vim/vim#1783) https://github.com/vim/vim/commit/4d785895d1f8b54cdd3fabd87446ca692f49e94e
| * vim-patch:8.0.0656: cannot use ! after some user commandsJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | | | | | [Test passes, and the code change doesn't look applicable. So this only includes the test.] Problem: Cannot use ! after some user commands. Solution: Properly check for existing command. (Higashi Higashi) https://github.com/vim/vim/commit/6f9a476b2f2f0bb5c50d703ec4fc535ffd5bfe8f
| * vim-patch:8.0.0655: not easy to make sure a function does not existJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | Problem: Not easy to make sure a function does not exist. Solution: Add ! as an optional argument to :delfunc. https://github.com/vim/vim/commit/d6abcd154cdc6a8dd4b7c6ccad37617ea8a1b4aa
| * vim-patch:8.0.0654: no warning for text after :endfunctionJustin M. Keyes2018-01-21
| | | | | | | | | | | | | | | | | | Problem: Text found after :endfunction is silently ignored. Solution: Give a warning if 'verbose' is set. When | or \n are used, execute the text as a command. https://github.com/vim/vim/commit/663bb2331626944cea156374858131fcd323b9e9 Note: the code part of this patch was addressed by 60c025267265.
* | Merge #7891 'build: fix creating generated files on macOS'Justin M. Keyes2018-01-22
|\ \
| * | build: fix creating generated files on macOSJohn Szakmeister2018-01-22
| |/ | | | | | | | | | | | | For some reason, using the clang executable inside of the Xcode default toolchain the platform's sysroot include isn't present. This was debugged by adding "-###" on the command line for generating the header for nvim/os/lang.c and is was evident the flag was missing.
* | Merge #7888 'defaults: enable cscopeverbose'Justin M. Keyes2018-01-22
|\ \ | |/ |/|
| * defaults: enable 'cscopeverbose', and deprecate itJustin M. Keyes2018-01-21
| |