Skip to content

Instantly share code, notes, and snippets.

@ktvoelker
Last active August 29, 2015 14:05
Show Gist options
  • Save ktvoelker/9f98788e2768f204e90d to your computer and use it in GitHub Desktop.
Save ktvoelker/9f98788e2768f204e90d to your computer and use it in GitHub Desktop.
Vim bug
Run in the shell: vim -u NONE
Run in vim:
:edit one
:edit three
:source bug.vim
:3
:source bug.vim
python import vim
python del vim.buffers[1][:]
uname -a
Darwin Telltale.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 8 2014 22:26:29)
MacOS X (unix) version
Included patches: 1-335
Compiled by Homebrew
Huge version without GUI. Features included (+) or not (-):
+acl +cmdline_info +emacs_tags -hangul_input +menu +mouse_xterm -python3 +syntax +virtualedit -xsmp
+arabic +comments +eval +iconv +mksession +multi_byte +quickfix +tag_binary +visual -xterm_clipboard
+autocmd +conceal +ex_extra +insert_expand +modify_fname +multi_lang +reltime +tag_old_static +visualextra -xterm_save
-balloon_eval +cryptv +extra_search +jumplist +mouse -mzscheme +rightleft -tag_any_white +viminfo -xpm
-browse +cscope +farsi +keymap -mouseshape +netbeans_intg -ruby -tcl +vreplace
++builtin_terms +cursorbind +file_in_path +langmap +mouse_dec +path_extra +scrollbind +terminfo +wildignore
+byte_offset +cursorshape +find_in_path +libcall -mouse_gpm -perl +signs +termresponse +wildmenu
+cindent +dialog_con +float +linebreak -mouse_jsbterm +persistent_undo +smartindent +textobjects +windows
-clientserver +diff +folding +lispindent +mouse_netterm +postscript -sniff +title +writebackup
+clipboard +digraphs -footer +listcmds +mouse_sgr +printer +startuptime -toolbar -X11
+cmdline_compl -dnd +fork() +localmap -mouse_sysmouse +profile +statusline +user_commands -xfontset
+cmdline_hist -ebcdic -gettext -lua +mouse_urxvt +python -sun_workshop +vertsplit -xim
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: /usr/bin/clang -c -I. -Iproto -DHAVE_CONFIG_H -F/usr/local/Frameworks -DMACOS_X_UNIX -Os -w -pipe -march=native -mmacosx-version-min=10.9 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking:
/usr/bin/clang -L/usr/local/lib -F/usr/local/Frameworks -Wl,-headerpad_max_install_names -o vim -lm -lncurses -liconv -framework Cocoa -framework Python
--- Directories and Files ---
$VIM = "/usr/local/share/vim"
directory "/usr/local/share/vim" exists
$VIMRUNTIME = "/usr/local/share/vim/vim74"
directory "/usr/local/share/vim/vim74" exists
"/usr/local/share/vim/vim74/doc/help.txt" is readable
"/usr/local/share/vim/vim74/doc/tags" is readable
"/usr/local/share/vim/vim74/menu.vim" is readable
"/usr/local/share/vim/vim74/filetype.vim" is readable
"/usr/local/share/vim/vim74/syntax/synload.vim" is readable
--- Scripts sourced ---
1: /usr/local/Cellar/vim/7.4.335/share/vim/vim74/bugreport.vim
--- Options ---
aleph=224 noconfirm fileignorecase isprint=@,161-255 omnifunc= shellquote= tabpagemax=10 verbosefile=
noarabic nocopyindent filetype= joinspaces operatorfunc= noshelltemp tabstop=8 viminfo=
arabicshape cryptmethod=zip nofkmap key= nopaste shellxquote= tagbsearch virtualedit=
noallowrevins cscopepathcomp=0 foldclose= keymap= pastetoggle= shellxescape= taglength=0 novisualbell
noaltkeymap cscopeprg=cscope foldcolumn=0 keymodel= patchexpr= noshiftround notagrelative warn
ambiwidth=single cscopequickfix= foldenable keywordprg=man -s patchmode= shiftwidth=8 tags=./tags,tags noweirdinvert
noautochdir nocscoperelative foldexpr=0 langmap= nopreserveindent shortmess= tagstack whichwrap=
noautoindent nocscopetag foldignore=# langmenu= previewheight=12 noshortname term=xterm wildchar=^E
noautoread cscopetagorder=0 foldlevel=0 laststatus=1 nopreviewwindow showbreak= notermbidi wildcharm=0
noautowrite nocscopeverbose foldlevelstart=-1 nolazyredraw printdevice= noshowcmd termencoding= wildignore=
noautowriteall nocursorbind foldmethod=manual nolinebreak printencoding= noshowfulltag noterse nowildignorecase
background=light nocursorcolumn foldminlines=1 lines=46 printfont=courier noshowmatch notextauto nowildmenu
backspace= nocursorline foldnestmax=20 nolisp printmbcharset= noshowmode notextmode wildmode=full
nobackup debug= formatexpr= nolist printmbfont= showtabline=1 textwidth=0 wildoptions=
backupcopy=yes nodelcombine formatoptions=vt listchars=eol:$ printoptions= sidescroll=0 thesaurus= window=45
backupext=~ dictionary= formatprg= noloadplugins prompt sidescrolloff=0 notildeop winheight=1
nobinary nodiff fsync magic pumheight=0 nosmartcase timeout nowinfixheight
nobomb diffexpr= nogdefault makeef= quoteescape=\ nosmartindent timeoutlen=1000 nowinfixwidth
bufhidden= diffopt=filler helpheight=20 makeprg=make noreadonly nosmarttab notitle winminheight=1
buflisted nodigraph helplang=en matchtime=5 redrawtime=2000 softtabstop=0 titlelen=85 winminwidth=1
buftype= display= nohidden maxcombine=2 regexpengine=0 nospell titlestring= winwidth=20
cdpath=,, eadirection=both history=0 maxfuncdepth=100 norelativenumber spellfile= nottimeout wrap
cedit= noedcompatible nohkmap maxmapdepth=1000 remap spelllang=en ttimeoutlen=-1 wrapmargin=0
charconvert= encoding=utf-8 nohkmapp maxmem=218056 report=2 spellsuggest=best ttybuiltin wrapscan
nocindent endofline nohlsearch maxmemtot=218056 norevins nosplitbelow ttyfast write
cinoptions= equalalways noicon menuitems=25 norightleft nosplitright ttymouse=xterm nowriteany
clipboard= equalprg= iconstring= nomodeline noruler startofline ttyscroll=999 writebackup
cmdheight=1 noerrorbells noignorecase modelines=5 rulerformat= statusline= ttytype=xterm writedelay=0
cmdwinheight=7 noesckeys iminsert=0 modifiable scroll=22 suffixesadd= undodir=.
colorcolumn= eventignore= imsearch=0 nomodified noscrollbind swapfile noundofile
columns=178 noexpandtab includeexpr= nomore scrolljump=1 swapsync=fsync undolevels=1000
compatible noexrc noincsearch mouse= scrolloff=0 switchbuf= undoreload=10000
concealcursor= fileencoding= indentexpr= mousetime=500 nosecure synmaxcol=3000 updatecount=200
conceallevel=0 fileformat=unix noinfercase nonumber selectmode= syntax= updatetime=4000
completefunc= fileformats= noinsertmode numberwidth=8 shellcmdflag=-c tabline= verbose=0
backupdir=.,~/tmp,~/
backupskip=/tmp/*,/var/folders/9z/1b_vn7mn6t95jtrhxpf1qlw40000gn/T/*
breakat= ^I!@*-+;:,./?
casemap=internal,keepascii
cinkeys=0{,0},0),:,0#,!^F,o,O,e
cinwords=if,else,while,do,for,switch
comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
commentstring=/*%s*/
complete=.,w,b,u,t,i
completeopt=menu,preview
cpoptions=aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>;
define=^\s*#\s*define
directory=.,~/tmp,/var/tmp,/tmp
errorfile=errors.err
errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%*\d]: Entering directory %*[`']%f',%X%*\a[%*\d]: Leaving directory %*[`']%f',%D%*\a: Entering directory %*[`']%f',%X%*\a: Leaving directory %*[`']%f',%DMaking %*\a in %f,%f|%l| %m
fileencodings=ucs-bom,utf-8,default,latin1
fillchars=vert:|,fold:-
foldmarker={{{,}}}
foldopen=block,hor,mark,percent,quickfix,search,tag,undo
foldtext=foldtext()
formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
grepformat=%f:%l:%m,%f:%l%m,%f %l%m
grepprg=grep -n $* /dev/null
guicursor=n-v-c:block,o:hor50,i-ci:hor15,r-cr:hor30,sm:block
helpfile=/usr/local/share/vim/vim74/doc/help.txt
highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn
include=^\s*#\s*include
indentkeys=0{,0},:,0#,!^F,o,O,e
isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=
isident=@,48-57,_,192-255
iskeyword=@,48-57,_,192-255
lispwords=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object
matchpairs=(:),{:},[:]
maxmempattern=1000
mkspellmem=460000,2000,500
mousemodel=popup_setpos
nrformats=octal,hex
paragraphs=IPLPPPQPP TPHPLIPpLpItpplpipbp
path=.,/usr/include,,
printexpr=system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error
printheader=%<%f%h%m%=Page %N
rightleftcmd=search
runtimepath=~/.vim,/usr/local/share/vim/vimfiles,/usr/local/share/vim/vim74,/usr/local/share/vim/vimfiles/after,~/.vim/after
scrollopt=ver,jump
sections=SHNHH HUnhsh
selection=inclusive
sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize
shell=/usr/local/bin/bash
shellpipe=2>&1| tee
shellredir=>%s 2>&1
spellcapcheck=[.?!]\_[\])'"^I ]\+
suffixes=.bak,~,.o,.h,.info,.swp,.obj
titleold=Thanks for flying Vim
viewdir=~/.vim/view
viewoptions=folds,options,cursor
--- Terminal codes ---
t_AB=^[[4%p1%dm t_ce=^[[K t_da= t_IS=^[]1; t_me=^[[m t_RV=^[[>c t_te=^[[?1049l t_SI=
t_AF=^[[3%p1%dm t_cl=^[[H^[[2J t_db= t_ke=^[[?1l^[> t_mr=^[[7m t_u7=^[[6n t_ti=^[[?1049h t_EI=
t_AL=^[[%p1%dL t_Co=8 t_DL=^[[%p1%dM t_ks=^[[?1h^[= t_ms=y t_se=^[[27m t_ue=^[[m t_xs=
t_al=^[[L t_CS= t_dl=^[[M t_le=^H t_nd=^[[C t_so=^[[7m t_us=^[[4m t_ZH=^[[7m
t_bc= t_CV= t_fs=^G t_mb=^[[5m t_op=^[[39;49m t_sr=^[M t_vi=^[[?25l t_ZR=^[[m
t_cd=^[[J t_ut=y t_IE=^G t_md=^[[1m t_RI=^[[%p1%dC t_ts=^[]2; t_vs=^[[?12;25h
t_cm=^[[%i%p1%d;%p2%dH
t_cs=^[[%i%p1%d;%p2%dr
t_Sb=^[[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m
t_Sf=^[[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m
t_vb=^[[?5h$<100/>^[[?5l
t_ve=^[[?12l^[[?25h
t_WP=^[[3;%p1%d;%p2%dt
t_WS=^[[8;%p1%d;%p2%dt
--- Terminal keys ---
t_#2 <S-Home> ^[[1;2H t_K1 <kHome> ^[[1;*~ t_k2 <F2> ^[[12;*~ t_kB <S-Tab> ^[[Z t_kr <Right> ^[O*C <xHome> ^[O*H
t_#4 <S-Left> ^[[1;2D t_K4 <kEnd> ^[[4;*~ t_k3 <F3> ^[[13;*~ t_kD <Del> ^[[3~ t_ku <Up> ^[O*A <zHome> ^[[7;*~
t_%1 <Help> ^[[28;*~ t_K6 <kPlus> ^[O*k t_k4 <F4> ^[[14;*~ t_kI <Insert> ^[[2;*~ <Mouse> ^[[M <xUp> ^[[1;*A
t_%i <S-Right> ^[[1;2C t_K7 <kMinus> ^[O*m t_k5 <F5> ^[[15;*~ t_kN <PageDown> ^[[6;*~ <xF1> ^[O*P <xDown> ^[[1;*B
t_&8 <Undo> ^[[26;*~ t_K8 <kDivide> ^[O*o t_k6 <F6> ^[[17;*~ t_kP <PageUp> ^[[5;*~ <xF2> ^[O*Q <xLeft> ^[[1;*D
t_*7 <S-End> ^[[1;2F t_K9 <kMultiply> ^[O*j t_k7 <F7> ^[[18;*~ t_kb <BS> ^? <xF3> ^[O*R <xRight> ^[[1;*C
t_@7 <End> ^[[1;*F t_KA <kEnter> ^[O*M t_k8 <F8> ^[[19;*~ t_kd <Down> ^[O*B <xF4> ^[O*S <kDel> ^[[3;*~
t_F1 <F11> ^[[23;*~ t_KB <kPoint> ^[O*n t_k9 <F9> ^[[20;*~ t_kh <Home> ^[[1;*H <xEnd> ^[O*F
t_F2 <F12> ^[[24;*~ t_k1 <F1> ^[[11;*~ t_k; <F10> ^[[21;*~ t_kl <Left> ^[O*D <zEnd> ^[[8;*~
--- Auto-Commands ---
--- Normal/Visual mode mappings ---
v <BS> "-d
v <D-x> "*d
v <D-c> "*y
v <D-v> "-d"*P
n <D-v> "*P
--- Insert/Command-line mode mappings ---
! <D-v> <C-R>*
--- Abbreviations ---
No abbreviation found
--- Highlighting ---
SpecialKey xxx term=bold ctermfg=4 guifg=Blue
NonText xxx term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue
Directory xxx term=bold ctermfg=4 guifg=Blue
ErrorMsg xxx term=standout cterm=bold ctermfg=7 ctermbg=1 guifg=White guibg=Red
IncSearch xxx term=reverse cterm=reverse gui=reverse
Search xxx term=reverse ctermfg=0 ctermbg=3 guibg=Yellow
MoreMsg xxx term=bold ctermfg=2 gui=bold guifg=SeaGreen
ModeMsg xxx term=bold cterm=bold gui=bold
LineNr xxx term=underline ctermfg=3 guifg=Brown
CursorLineNr xxx term=bold ctermfg=3 gui=bold guifg=Brown
Question xxx term=standout ctermfg=2 gui=bold guifg=SeaGreen
StatusLine xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse
StatusLineNC xxx term=reverse cterm=reverse gui=reverse
VertSplit xxx term=reverse cterm=reverse gui=reverse
Title xxx term=bold ctermfg=5 gui=bold guifg=Magenta
Visual xxx term=reverse cterm=reverse guibg=LightGrey
VisualNOS xxx term=bold,underline cterm=bold,underline gui=bold,underline
WarningMsg xxx term=standout ctermfg=1 guifg=Red
WildMenu xxx term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow
Folded xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=LightGrey
FoldColumn xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey
DiffAdd xxx term=bold ctermbg=4 guibg=LightBlue
DiffChange xxx term=bold ctermbg=5 guibg=LightMagenta
DiffDelete xxx term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=Blue guibg=LightCyan
DiffText xxx term=reverse cterm=bold ctermbg=1 gui=bold guibg=Red
SignColumn xxx term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Grey
Conceal xxx ctermfg=7 ctermbg=0 guifg=LightGrey guibg=DarkGrey
SpellBad xxx term=reverse ctermbg=1 gui=undercurl guisp=Red
SpellCap xxx term=reverse ctermbg=4 gui=undercurl guisp=Blue
SpellRare xxx term=reverse ctermbg=5 gui=undercurl guisp=Magenta
SpellLocal xxx term=underline ctermbg=6 gui=undercurl guisp=DarkCyan
Pmenu xxx ctermfg=0 ctermbg=5 guibg=LightMagenta
PmenuSel xxx ctermfg=0 ctermbg=7 guibg=Grey
PmenuSbar xxx ctermbg=7 guibg=Grey
PmenuThumb xxx ctermbg=0 guibg=Black
TabLine xxx term=underline cterm=underline ctermfg=0 ctermbg=7 gui=underline guibg=LightGrey
TabLineSel xxx term=bold cterm=bold gui=bold
TabLineFill xxx term=reverse cterm=reverse gui=reverse
CursorColumn xxx term=reverse ctermbg=7 guibg=Grey90
CursorLine xxx term=underline cterm=underline guibg=Grey90
ColorColumn xxx term=reverse ctermbg=1 guibg=LightRed
MatchParen xxx term=reverse ctermbg=6 guibg=Cyan
--- Variables ---
more_save #0
b:changedtick #2
v:version #704
v:beval_winnr #0
v:lnum #0
v:hlsearch #1
v:scrollstart /usr/local/Cellar/vim/7.4.335/share/vim/vim74/bugreport.vim line 21
v:oldfiles []
v:dying #0
v:windowid #0
v:lang en_US.UTF-8
v:count #0
v:progpath vim
v:progname vim
v:cmdbang #0
v:foldlevel #0
v:ctype en_US.UTF-8
v:prevcount #0
v:register "
v:mouse_win #0
v:count1 #1
v:foldstart #0
v:foldend #0
v:profiling #0
v:beval_col #0
v:beval_lnum #0
v:mouse_lnum #0
v:beval_bufnr #0
v:shell_error #0
v:lc_time en_US.UTF-8
v:searchforward #1
v:mouse_col #0
v:statusmsg No abbreviation found
one
two
three
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment