The cursor is absent in :shell
Describe the bug
After :set guicursor+=a:blinkon0, the cursor in the shell, produced by the :shell command, is no longer visible.
To Reproduce Detailed steps to reproduce the behavior:
- Run
mvim --clean - Enter shell by executing
:shellcommand, the cursor is there - Exit shell
- Disable guicursor blinking:
:set guicursor+=a:blinkon0 - Enter shell by executing
:shellcommand, the cursor is no longer visible
Expected behavior The cursor should be visible.
Screenshots Before disable blinking: https://i.imgur.com/9M0adF1.png
After disable blinking: https://i.imgur.com/zzuZF0m.png
Environment (please complete the following information):
:ver
VIM - Vi IMproved 8.1 (2018 May 18, compiled Jun 11 2019 08:22:43)
macOS version
Included patches: 1-1517
Compiled by [email protected]
Huge version with MacVim GUI. Features included (+) or not (-):
+acl +cursorshape +job +mouse_urxvt +signs +user_commands
+arabic +dialog_con_gui +jumplist +mouse_xterm +smartindent +vartabs
+autocmd +diff +keymap +multi_byte -sound +vertsplit
+autochdir +digraphs +lambda +multi_lang +spell +virtualedit
-autoservername +dnd +langmap -mzscheme +startuptime +visual
+balloon_eval -ebcdic +libcall +netbeans_intg +statusline +visualextra
+balloon_eval_term +emacs_tags +linebreak +num64 -sun_workshop +viminfo
+browse +eval +lispindent +odbeditor +syntax +vreplace
++builtin_terms +ex_extra +listcmds +packages +tag_binary +wildignore
+byte_offset +extra_search +localmap +path_extra -tag_old_static +wildmenu
+channel -farsi +lua/dyn +perl/dyn -tag_any_white +windows
+cindent +file_in_path +menu +persistent_undo -tcl +writebackup
+clientserver +find_in_path +mksession +postscript +termguicolors -X11
+clipboard +float +modify_fname +printer +terminal -xfontset
+cmdline_compl +folding +mouse +profile +terminfo +xim
+cmdline_hist -footer +mouseshape +python/dyn +termresponse -xpm
+cmdline_info +fork() +mouse_dec +python3/dyn +textobjects -xsmp
+comments +fullscreen -mouse_gpm +quickfix +textprop -xterm_clipboard
+conceal -gettext -mouse_jsbterm +reltime +timers -xterm_save
+cryptv -hangul_input +mouse_netterm +rightleft +title
+cscope +iconv +mouse_sgr +ruby/dyn +toolbar
+cursorbind +insert_expand -mouse_sysmouse +scrollbind +transparency
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
defaults file: "$VIMRUNTIME/defaults.vim"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DM
ACOS_X_DARWIN -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openss
l/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/u
sr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon
-lm -lncurses -liconv -framework AppKit -fstack-protector -L/System/Library/Perl/5.18/darwin-thread-multi
-2level/CORE
I can reproduce this and seems like the bug has existed for a while (at least since snapshot-151). :term does not exhibit this behavior. I will need to double check this doesn't happen in regular gVim first.
May be somehow related:
- Run
mvim --clean- Enter shell by executing
:shellcommand, the cursor is there- Exit shell
- Disable guicursor blinking:
:set guicursor+=a:blinkon0- Enter shell by executing
:shellcommand, the cursor is no longer visible
- But if we exit shell
-
:set guioptions+=! - And then enter shell again by executing
:shellcommand, the cursor is visible again.