Re: Crash with 'substitute' in gvim (win32)?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Crash with 'substitute' in gvim (win32)?

pb-2
> If you run the same example with a debug build of gvim
> (gvimd.exe) ... does it give some more human-readable fault-
> logging information?

Nothing except info from "fault log" (see bellow).

I tried to provide you with a lot of info (not too much I hope).
I must say that I wasn't alvays able to reproduce it (!?), but I
managed to get some info from gdb.

See bellow for:
--gdb log
--fault log
--gvimd version
--bugreport script (gvim)

It would be nice if someone also could reproduce it, although crash
reproduction is about 90% here.
Also I found that "#" in 1st and 2nd line are significant, without
them - no crash. And if you write right before issuing command
history - sometimes no crash. So please use "example file" bellow
and follow "crash scenario".

Bye.

--example file

Copy lines bellow to empty file
** do not copy **
# $@ -a -x "INDEX*"
#

&<H4>Musicians</H4>
&<TEST>Testing</TEST>
Testing, testing 123...

** do not copy **

--crash scenario

0) open file
1) type ":%s/<H/\r&<H/"
2) hit <ENTER>
3) undo "u"
3) close ":wq"

4) open file
5) type "q:"
6) go to line with "%s/<H/\r&<H/"
7) hit <ENTER> ... crash

--gdb log (Cygwin)

Starting program: /c/Program Files/vim/vim63/gvimd.exe -u ../_vimrc -U NONE
test3.txt

Program received signal SIGSEGV, Segmentation fault.
0x004e0e87 in syn_stack_apply_changes (buf=0xbf1ddc)
    at syntax.c:1161
1161 syntax.c: No such file or directory.
 in syntax.c

#0  0x004e0e87 in syn_stack_apply_changes (buf=0xbf1ddc)
    at syntax.c:1161
#1  0x004ccae8 in update_screen (type=40) at screen.c:463
#2  0x004675a4 in main_loop (cmdwin=0) at main.c:2128
#3  0x004673e2 in VimMain (argc=0, argv=0xd00a98) at main.c:2001
#4  0x0052a95d in WinMain (hInstance=0x400000, hPrevInst=0x0,
    lpszCmdLine=0x81dae597 "-u ../_vimrc -U NONE test3.txt",
    nCmdShow=10) at os_w32exe.c:125
#5  0x0052d29a in main () at /usr/include/w32api/objbase.h:77
#0  0x004e0e87 in syn_stack_apply_changes (buf=0xbf1ddc)
    at syntax.c:1161
1161 in syntax.c

#1  0x004ccae8 in update_screen (type=40) at screen.c:463
463 screen.c: No such file or directory.
 in screen.c

#2  0x004675a4 in main_loop (cmdwin=0) at main.c:2128
2128 main.c: No such file or directory.
 in main.c

#3  0x004673e2 in VimMain (argc=0, argv=0xd00a98) at main.c:2001
2001 in main.c

#4  0x0052a95d in WinMain (hInstance=0x400000, hPrevInst=0x0,
    lpszCmdLine=0x81dae597 "-u ../_vimrc -U NONE test3.txt",
    nCmdShow=10) at os_w32exe.c:125
125 os_w32exe.c: No such file or directory.
 in os_w32exe.c

#5  0x0052d29a in main () at /usr/include/w32api/objbase.h:77
77 inline BOOL IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Current language:  auto; currently c++

DLL Name                        Load Address
/c/WINDOWS/SYSTEM/WSOCK32.DLL   736d1000
/c/WINDOWS/SYSTEM/OLEAUT32.DLL  7fe81000
/c/WINDOWS/SYSTEM/OLE32.DLL     7ff21000
/c/WINDOWS/SYSTEM/SHELL32.DLL   7fbd1000
/c/WINDOWS/SYSTEM/SHLWAPI.DLL   70bd1000
/c/WINDOWS/SYSTEM/COMDLG32.DLL  7fe01000
/c/WINDOWS/SYSTEM/USER32.DLL    bff41000
/c/WINDOWS/SYSTEM/GDI32.DLL     bff11000
/c/WINDOWS/SYSTEM/COMCTL32.DLL  bfb71000
/c/WINDOWS/SYSTEM/ADVAPI32.DLL  bfe61000
/c/WINDOWS/SYSTEM/KERNEL32.DLL  bff61000
/c/WINDOWS/SYSTEM/MSVCRT.DLL    78001000
/c/WINDOWS/SYSTEM/WS2HELP.DLL   73701000
/c/WINDOWS/SYSTEM/WS2_32.DLL    73711000
/c/WINDOWS/SYSTEM/SECUR32.DLL   7f781000
/c/WINDOWS/SYSTEM/SVRAPI.DLL    7f871000
/c/WINDOWS/SYSTEM/MSPWL32.DLL   7fa71000
/c/WINDOWS/SYSTEM/RPCRT4.DLL    7fab1000
/c/WINDOWS/SYSTEM/TAPI32.DLL    7f881000
/c/WINDOWS/SYSTEM/NETBIOS.DLL   7f751000
/c/WINDOWS/SYSTEM/NETAPI32.DLL  7f8b1000
/c/WINDOWS/SYSTEM/MPR.DLL       7f161000
/c/WINDOWS/SYSTEM/RASAPI32.DLL  7f7a1000
/c/WINDOWS/SYSTEM/MSNET32.DLL   7fa31000
/c/WINDOWS/SYSTEM/MSWSOCK.DLL   77d71000
/c/WINDOWS/SYSTEM/IMM32.DLL     bfe01000
/c/WINDOWS/SYSTEM/INDICDLL.DLL  7b811000

Kill the program being debugged? (y or n)

--fault log (WinME)

Date 06/30/2005 Time 18:02
GVIM caused an invalid page fault in
module GVIM.EXE at 016f:004cc6f1.
Registers:
EAX=00000001 CS=016f EIP=004cc6f1 EFLGS=00010202
EBX=008a5b40 SS=0177 ESP=0088fa90 EBP=00000000
ECX=008ae0d0 DS=0177 ESI=00000001 FS=358f
EDX=00000002 ES=0177 EDI=008a19ec GS=0000
Bytes at CS:EIP:
8b ab 04 0d 00 00 8d 74 15 00 8b 5f 6c 39 de 7e
Stack dump:
00000001 008a0cf4 00000000 008a0cb8 00000001 0088fae0 00000000
004b8caa 008a19ec 0088fae0 00000000 004b8a68 00000000 00000000
0088fae0 0045b405

Date 06/30/2005 Time 18:03
GVIMD caused an invalid page fault in
module GVIMD.EXE at 016f:004e0e87.
Registers:
EAX=00bf5b40 CS=016f EIP=004e0e87 EFLGS=00010206
EBX=00bdfc60 SS=0177 ESP=00bdfa40 EBP=00bdfa58
ECX=00000000 DS=0177 ESI=81d42564 FS=358f
EDX=00bfdfc0 ES=0177 EDI=00000000 GS=0000
Bytes at CS:EIP:
8b 80 04 0d 00 00 8b 52 04 01 c2 8b 45 08 3b 50
Stack dump:
00000001 00000000 00000000 00491b54 00000000 00bfdfc0 00bdfa88
004ccae8 00bf19ec 00000001 00bdfa88 004cc970 00bdfc60 81d42564
00bdfa98 00bf0cb8

--gvimd version

VIM - Vi IMproved 6.3 (2004 June 7, compiled Jun  7 2005 11:24:15)
MS-Windows 32 bit GUI version with OLE support
Included patches: 1-76
Compiled by [hidden email]
Big version with GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info
+comments
+cryptv +cscope +dialog_con_gui +diff +digraphs -dnd -ebcdic +emacs_tags
+eval
+ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer
+gettext/dyn -hangul_input +iconv/dyn +insert_expand +jumplist +keymap
+langmap
 +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession
+modify_fname +mouse +mouseshape +multi_byte_ime/dyn +multi_lang
+netbeans_intg
 +ole -osfiletype +path_extra +perl/dyn -postscript +printer +python/dyn
+quickfix +rightleft +ruby/dyn +scrollbind +signs +smartindent -sniff
+statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white
+tcl/dyn -tgetent -termresponse +textobjects +title +toolbar +user_commands
+vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore
+wildmenu +windows +writebackup -xfontset -xim -xterm_save -xpm_w32
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
  system gvimrc file: "$VIM\gvimrc"
    user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$VIM\_gvimrc"
    system menu file: "$VIMRUNTIME\menu.vim"

Compilation:
gcc  -DWIN32 -DHAVE_PATHDEF -DFEAT_BIG -DWINVER=0x0400 -D_WIN32_WINNT=0x0400
 -DFEAT_PERL -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL="perl58.dll" -DFEAT_PYTHON -D
DYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL="python24.dll" -DFEAT_RUBY -DDYNAMIC_RUB
Y -DDYNAMIC_RUBY_DLL="msvcrt-ruby18.dll" -DDYNAMIC_RUBY_VER=18 -DFEAT_TCL -D
DYNAMIC_TCL -DDYNAMIC_TCL_DLL="tcl83.dll" -DDYNAMIC_GETTEXT -DDYNAMIC_ICONV
-DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDEBUG -DFEAT_CSCOPE -DFEAT_NET
BEANS_INTG -DFEAT_OLE -DFEAT_GUI_W32 -DFEAT_CLIPBOARD -mcpu=i386 -march=i386
 -Iproto -I/cygdrive/c/Perl/lib/CORE -I/cygdrive/c/Python24/include -I/cygdr
ive/c/ruby/lib/ruby/1.8/i386-mswin32 -I/cygdrive/c/ruby/include -g -fstack-c
heck -mno-cygwin

Linking: gcc -s -o gvimd.exe  -luuid -lole32
/cygdrive/c/ruby/lib/tclstub83.lib -lwsock32 -loleaut32 -lstdc++ -mwindows -
lcomctl32
  DEBUG BUILD

--bugreport script

VIM - Vi IMproved 6.3 (2004 June 7, compiled Jun  7 2005 11:30:05)
MS-Windows 32 bit GUI version with OLE support
Included patches: 1-76
Compiled by [hidden email]
Big version with GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info
+comments
+cryptv +cscope +dialog_con_gui +diff +digraphs -dnd -ebcdic +emacs_tags
+eval
+ex_extra +extra_search +farsi +file_in_path +find_in_path +folding -footer
+gettext/dyn -hangul_input +iconv/dyn +insert_expand +jumplist +keymap
+langmap
 +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession
+modify_fname +mouse +mouseshape +multi_byte_ime/dyn +multi_lang
+netbeans_intg
 +ole -osfiletype +path_extra +perl/dyn -postscript +printer +python/dyn
+quickfix +rightleft +ruby/dyn +scrollbind +signs +smartindent -sniff
+statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white
+tcl/dyn -tgetent -termresponse +textobjects +title +toolbar +user_commands
+vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore
+wildmenu +windows +writebackup -xfontset -xim -xterm_save -xpm_w32
   system vimrc file: "$VIM\vimrc"
     user vimrc file: "$HOME\_vimrc"
 2nd user vimrc file: "$VIM\_vimrc"
      user exrc file: "$HOME\_exrc"
  2nd user exrc file: "$VIM\_exrc"
  system gvimrc file: "$VIM\gvimrc"
    user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$VIM\_gvimrc"
    system menu file: "$VIMRUNTIME\menu.vim"
Compilation:
gcc -O3 -fomit-frame-pointer -freg-struct-return -malign-double -fno-strengt
h-reduce -DWIN32 -DHAVE_PATHDEF -DFEAT_BIG -DWINVER=0x0400 -D_WIN32_WINNT=0x
0400 -DFEAT_PERL -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL="perl58.dll" -DFEAT_PYTHO
N -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL="python24.dll" -DFEAT_RUBY -DDYNAMIC
_RUBY -DDYNAMIC_RUBY_DLL="msvcrt-ruby18.dll" -DDYNAMIC_RUBY_VER=18 -DFEAT_TC
L -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL="tcl83.dll" -DDYNAMIC_GETTEXT -DDYNAMIC_IC
ONV -DFEAT_MBYTE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_CSCOPE -DFEAT_NETBEAN
S_INTG -DFEAT_OLE -DFEAT_GUI_W32 -DFEAT_CLIPBOARD -mcpu=i386 -march=i386 -Ip
roto -I/cygdrive/c/Perl/lib/CORE -I/cygdrive/c/Python24/include -I/cygdrive/
c/ruby/lib/ruby/1.8/i386-mswin32 -I/cygdrive/c/ruby/include -s -mno-cygwin
Linking: gcc -s -o gvim.exe  -luuid -lole32
/cygdrive/c/ruby/lib/tclstub83.lib -lwsock32 -loleaut32 -lstdc++ -mwindows -
lcomctl32
--- Directories and Files ---
$VIM = "C:\Program Files\vim"
directory "C:\Program Files\vim" exists
$VIMRUNTIME = "C:\Program Files\vim\vim63"
directory "C:\Program Files\vim\vim63" exists
"C:\Program Files\vim\vim63\doc\help.txt" is readable
"C:\Program Files\vim\vim63\doc/tags" is readable
"C:\Program Files\vim\vim63/menu.vim" is readable
"C:\Program Files\vim\vim63/filetype.vim" is readable
"C:\Program Files\vim\vim63/syntax/synload.vim" is readable
--- Options ---
  aleph=224           fileencoding=       maxfuncdepth=100    startofline
noarabic              fileformat=dos      maxmapdepth=1000    statusline=
  arabicshape         filetype=           maxmem=941408       suffixesadd=
noallowrevins       nofkmap               maxmemtot=941408    swapfile
noaltkeymap           foldclose=          menuitems=25        swapsync=fsync
  ambiwidth=single    foldcolumn=0        modeline            switchbuf=
noautochdir           foldenable          modelines=5         syntax=
noautoindent          foldexpr=0          modifiable          tabstop=8
noautoread            foldignore=#      nomodified            tagbsearch
noautowrite           foldlevel=0       nomore                taglength=0
noautowriteall        foldlevelstart=-1   mouse=a             tagrelative
  background=dark     foldmethod=marker nomousefocus
tags=./tags,tags
nobackup              foldminlines=1      mousehide           tagstack
  backupcopy=auto     foldnestmax=20      mousemodel=popup
term=builtin_gui
  backupext=~         formatoptions=tcq   mousetime=500     notermbidi
  balloondelay=600    formatprg=        nonumber              termencoding=
noballooneval       nogdefault          nopaste             noterse
nobinary              grepprg=grep -n     pastetoggle=        textauto
nobomb                guifont=            patchexpr=          textmode
  browsedir=last      guifontwide=        patchmode=          textwidth=0
  bufhidden=          guioptions=gmrLtT   path=.,,            thesaurus=
  buflisted           guipty            nopreserveindent    notildeop
  buftype=            helpheight=20       previewheight=12    timeout
  cdpath=,,           helplang=Cr       nopreviewwindow
timeoutlen=1000
  cedit=^F          nohidden              printdevice=        title
  charconvert=        history=50          printoptions=       titlelen=85
nocindent           nohkmap             noreadonly            titlestring=
  cinoptions=       nohkmapp              remap             nottimeout
  clipboard=          hlsearch            report=2            ttimeoutlen=-1
  cmdheight=2         icon                restorescreen       ttybuiltin
  cmdwinheight=7      iconstring=       norevins            nottyfast
  columns=80        noignorecase        norightleft           ttyscroll=999
nocompatible        noimcmdline           ruler
undolevels=1000
noconfirm           noimdisable           rulerformat=
updatecount=200
nocopyindent          iminsert=2          scroll=11
updatetime=4000
  cpoptions=aABceFs   imsearch=2        noscrollbind          verbose=0
  cscopepathcomp=0    includeexpr=        scrolljump=1        virtualedit=
  cscopeprg=cscope    incsearch           scrolloff=0       novisualbell
  cscopequickfix=     indentexpr=       nosecure              warn
nocscopetag         noinfercase           shellcmdflag=/c   noweirdinvert
  cscopetagorder=0  noinsertmode          shellpipe=>         wildchar=<Tab>
nocscopeverbose       isprint=@,~-255     shellquote=         wildcharm=0
  debug=              joinspaces          shellredir=>        wildignore=
nodelcombine          key=              noshellslash        nowildmenu
  dictionary=         keymap=             shellxquote=        wildmode=full
nodiff                keywordprg=:help  noshiftround
winaltkeys=menu
  diffexpr=MyDiff()   langmap=            shiftwidth=8        winheight=1
  diffopt=filler      langmenu=         noshortname         nowinfixheight
nodigraph             laststatus=1        showbreak=          winminheight=1
  display=          nolazyredraw          showcmd             winminwidth=1
  eadirection=both  nolinebreak         noshowfulltag         winwidth=20
noedcompatible        lines=25          noshowmatch           wrap
  encoding=cp1250     linespace=1         showmode            wrapmargin=0
  endofline         nolisp                sidescroll=0        wrapscan
  equalalways       nolist                sidescrolloff=0     write
  equalprg=           listchars=eol:$   nosmartcase         nowriteany
noerrorbells          loadplugins       nosmartindent         writebackup
  esckeys             magic             nosmarttab            writedelay=0
  eventignore=        makeef=             softtabstop=0
noexpandtab           makeprg=make      nosplitbelow
noexrc                matchtime=5       nosplitright
  backspace=indent,eol,start
  backupdir=.,c:\tmp,c:\temp
  backupskip=C:\WINDOWS\TEMP\*,C:\WINDOWS\TEMP\*
  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
  define=^\s*#\s*define
  directory=.,c:\tmp,c:\temp
  errorfile=errors.err
  errorformat=%f(%l) : %t%*\D%n: %m,%*[^"]"%f"%*\D%l: %m,%f(%l) : %m,%*[^ ]
%f %l: %m,%f:%l:%m
  fileencodings=ucs-bom
  fileformats=dos,unix
  fillchars=vert:|,fold:-
  foldmarker={{{,}}}
  foldopen=block,hor,mark,percent,quickfix,search,tag,undo
  foldtext=foldtext()
  grepformat=%f:%l:%m,%f:%l%m,%f  %l%m

guicursor=n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver
25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-bli
nkoff150-blinkon175
  helpfile=C:\Program Files\vim\vim63\doc\help.txt

highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search
,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertS
plit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldCol
umn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn
  include=^\s*#\s*include
  indentkeys=0{,0},:,0#,!^F,o,O,e
  isfname=@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=
  isident=@,48-57,_,128-167,224-235
  iskeyword=@,48-57,_,128-167,224-235
  keymodel=startsel,stopsel

lispwords=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,
do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,def
parameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-sym
bols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value
-bind,multiple-value-call,multiple-value-prog1,multiple-value-setq,prog1,pro
gv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file
,with-open-stream,with-output-to-string,with-package-iterator,define-conditi
on,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,s
tore-value,use-value,muffle-warning,abort,continue,with-slots,with-slots*,wi
th-accessors,with-accessors*,defclass,defmethod,print-unreadable-object
  matchpairs=(:),{:},[:]

mouseshape=i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up
-arrow,v:rightup-arrow
  nrformats=octal,hex
  paragraphs=IPLPPPQPP LIpplpipbp
  printfont=Courier_New:h10
  printheader=%<%f%h%m%=Page %N
  rightleftcmd=search
  runtimepath=C:/vimfiles,C:\Program Files\vim/vimfiles,C:\Program
Files\vim\vim63,C:\Program Files\vim/vimfiles/after,C:/vimfiles/after
  scrollopt=ver,jump
  sections=SHNHH HUnhsh
  selection=exclusive
  selectmode=mouse,key
  sessionoptions=blank,buffers,curdir,folds,help,options,winsize
  shell=C:\WINDOWS\COMMAND.COM
  shortmess=filnxtToO
  suffixes=.bak,~,.o,.h,.info,.swp,.obj
  titleold=Thanks for flying Vim
  ttytype=builtin_gui
  viewdir=C:\Program Files\vim/vimfiles/view
  viewoptions=folds,options,cursor
  viminfo='20,<50,s10,h,rA:,rB:
  whichwrap=b,s,<,>,[,]
--- Terminal codes ---
  t_AB=               t_ut=y              t_me=^[|31H         t_te=
  t_AF=               t_da=               t_mr=^[|1h          t_ti=
  t_AL=^[|%dI         t_db=               t_ms=y              t_ue=^[|8H
  t_al=^[|i           t_DL=^[|%dD         t_nd=^L             t_us=^[|8h
  t_bc=               t_dl=^[|d           t_op=               t_vb=^[|f
  t_cd=               t_fs=               t_RI=               t_ve=
  t_ce=^[|$           t_IE=               t_RV=               t_vi=
  t_cl=^[|C           t_IS=               t_Sb=               t_vs=
  t_cm=^[|%d;%dM      t_ke=               t_Sf=               t_WP=
  t_Co=               t_ks=               t_se=^[|16H         t_WS=
  t_CS=               t_le=^H             t_so=^[|16h         t_xs=
  t_cs=^[|%d;%dR      t_mb=               t_sr=               t_ZH=^[|4h
  t_CV=^[|%d;%dV      t_md=^[|2h          t_ts=               t_ZR=^[|4H
--- Terminal keys ---
     <Mouse>     >M
--- Auto-Commands ---
buffer_list  BufAdd
    *         call <SID>BMAdd()
buffer_list  BufDelete
    *         call <SID>BMRemove()
filetypedetect  BufEnter
    *.xpm     if getline(1) =~ "XPM2" |   setf xpm2 | else |   setf xpm |
endif
    *.xpm2    setf xpm2
fileExplorer  BufEnter
    *         call s:EditDir()
buffer_list  BufFilePost
    *         call <SID>BMAdd()
buffer_list  BufFilePre
    *         call <SID>BMRemove()
filetypedetect  BufNewFile
    *.avs     setf avs
    *.avsi    setf avs
    *.PROT    setf dosbatch
    *.orig    exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.bak     exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.old     exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.new     exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.rpmsave exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.rpmnew  exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *~        let s:name = expand("<afile>") | let s:short =
substitute(s:name, '\~$', '', '') | if s:name != s:short && s:short != "" |
exe "doau filetypedetect BufRead " . s:short | endif | unlet s:name | unlet
s:short
    *.in      if expand("<afile>:t") != "configure.in" |   exe "doau
filetypedetect BufRead " . expand("<afile>:r") | endif
    *.inp     call FTCheck_inp()
    *.aap     setf aap
    *.abc     setf abc
    *.abl     setf abel
    *.wrm     setf acedb
    *.adb     setf ada
    *.ads     setf ada
    *.ada     setf ada
    *.tdf     setf ahdl
    *.run     setf ampl
    build.xml setf ant
    proftpd.conf*
              setf apachestyle
    httpd.conf*
              setf apache
    srm.conf* setf apache
    access.conf*
              setf apache
    .htaccess setf apache
    apache.conf*
              setf apache
    *.a65     setf a65
    *.am      if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif
    C:/.asoundrc
              setf alsaconf
    /usr/share/alsa/alsa.conf
              setf alsaconf
    /etc/asound.conf
              setf alsaconf
    *.aml     setf aml
    .arch-inventory
              setf arch
    =tagging-method
              setf arch
    *.art     setf art
    *.asn     setf asn
    *.asn1    setf asn
    *.asa     if exists("g:filetype_asa") |   exe "setf " . g:filetype_asa |
else |   setf aspvbs | endif
    *.asp     if exists("g:filetype_asp") |   exe "setf " . g:filetype_asp |
elseif getline(1) . getline(2) . getline(3) =~? "perlscript" |   setf
aspperl | else |   setf aspvbs | endif
    /boot/grub/menu.lst
              setf grub
    /boot/grub/grub.conf
              setf grub
    *.asm     call <SID>FTasm()
    *.[sS]    call <SID>FTasm()
    *.[aA]    call <SID>FTasm()
    *.mac     call <SID>FTasm()
    *.lst     call <SID>FTasm()
    *.mar     setf vmasm
    *.atl     setf atlas
    *.as      setf atlas
    [mM]akefile.am
              setf automake
    *.ave     setf ave
    *.awk     setf awk
    *.mch     setf b
    *.ref     setf b
    *.imp     setf b
    *.bas     call <SID>FTVB("basic")
    *.vbs     setf vb
    *.dsm     setf vb
    *.ctl     setf vb
    *.bat     setf dosbatch
    *.btm     setf dosbatch
    *.sys     setf dosbatch
    *.cmd     if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch |
endif
    *.btm     setf btm
    *.bc      setf bc
    *.bdf     setf bdf
    *.bib     setf bib
    named.conf
              setf named
    named.root
              setf bindzone
    *.bl      setf blank
    *.c       call <SID>FTlpc()
    calendar  setf calendar
    C:/.calendar/*
              setf calendar
    */share/calendar/*/calendar.*
              setf calendar
    */share/calendar/calendar.*
              setf calendar
    *.cs      setf cs
    *.cdl     setf cdl
    *.crm     setf crm
    *.cyn     setf cynpp
    *.cc      if exists("cynlib_syntax_for_cc")|setf cynlib|else|setf
cpp|endif
    *.cpp     if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf
cpp|endif
    *.cxx     setf cpp
    *.c++     setf cpp
    *.hh      setf cpp
    *.hxx     setf cpp
    *.hpp     setf cpp
    *.moc     setf cpp
    *.tcc     setf cpp
    *.inl     setf cpp
    *.h       if exists("c_syntax_for_h") | setf c | elseif
exists("ch_syntax_for_h") | setf ch | else | setf cpp | endif
    *.chf     setf ch
    *.tlh     setf cpp
    *.css     setf css
    *.con     setf cterm
    changelog.Debian
              setf debchangelog
    changelog.dch
              setf debchangelog
    [cC]hange[lL]og
              if getline(1) =~ '; urgency='| setf debchangelog | else | setf
changelog | endif
    *..ch     setf chill
    *.ch      call <SID>FTchange()
    *.dcl     setf clean
    *.icl     setf clean
    *.eni     setf cl
    *.ent     call <SID>FTent()
    *.prg     if exists("g:filetype_prg") |   exe "setf " . g:filetype_prg |
else |   setf clipper | endif
    *.cbl     setf cobol
    *.cob     setf cobol
    *.cpy     setf cobol
    *.lib     setf cobol
    *.cfm     setf cf
    *.cfi     setf cf
    *.cfc     setf cf
    configure.in
              setf config
    configure.ac
              setf config
    *.dcd     setf dcd
    *enlightenment/*.cfg
              setf c
    *Eterm/*.cfg
              setf eterm
    lynx.cfg  setf lynx
    *baseq[2-3]/*.cfg
              setf quake
    *id1/*.cfg
              setf quake
    *quake[1-3]/*.cfg
              setf quake
    *.qc      setf c
    *.cfg     setf cfg
    *.csp     setf csp
    *.fdr     setf csp
    *.pld     setf cupl
    *.si      setf cuplsim
    */debian/control
              setf debcontrol
    *.desc    setf desc
    *.d       setf d
    *.desktop setf desktop
    .directory
              setf desktop
    *.diff    setf diff
    *.rej     setf diff
    *.patch   setf diff
    .dir_colors
              setf dircolors
    /etc/DIR_COLORS
              setf dircolors
    *.rul     if
getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~?
'InstallShield' |   setf ishd | else |   setf diva | endif
    *.com     if getline(1).getline(2) =~ '$ORIGIN\|$TTL\|IN\s*SOA'^I||
getline(1).getline(2).getline(3).getline(4) =~ 'BIND.*named' | setf dns |
else | setf dcl | endif
    *.dot     setf dot
    *.lid     setf dylanlid
    *.intr    setf dylanintr
    *.dylan   setf dylan
    *.def     setf def
    *.drac    setf dracula
    *.drc     setf dracula
    *lvs      setf dracula
    *lpe      setf dracula
    *.dsl     setf dsl
    *.dtd     setf dtd
    *.ed\(f\|if\|n\|o\)
              setf edif
    *.ecd     setf ecd
    *.e       call FTCheck_e()
    *.E       call FTCheck_e()
    */etc/elinks.conf
              setf elinks
    C:/.elinks/elinks.conf
              setf elinks
    *.erl     setf erlang
    filter-rules
              setf elmfilt
    *esmtprc  setf esmtprc
    *.ec      setf esqlc
    *.EC      setf esqlc
    *.csc     setf csc
    exim.conf setf exim
    *.exp     setf expect
    exports   setf exports
    .fetchmailrc
              setf fetchmail
    *.fex     setf focexec
    *.focexec setf focexec
    auto.master
              setf conf
    *.mas     setf master
    *.master  setf master
    *.fs      setf forth
    *.ft      setf forth
    *.f       setf fortran
    *.F       setf fortran
    *.for     setf fortran
    *.fpp     setf fortran
    *.ftn     setf fortran
    *.f77     setf fortran
    *.F77     setf fortran
    *.f90     setf fortran
    *.F90     setf fortran
    *.f95     setf fortran
    *.F95     setf fortran
    fstab     setf fstab
    .gdbinit  setf gdb
    *.mo      setf gdmo
    *.gdmo    setf gdmo
    *.ged     setf gedcom
    gkrellmrc setf gkrellmrc
    gkrellmrc_?
              setf gkrellmrc
    *.gp      setf gp
    C:/.gnupg/options
              setf gpg
    C:/.gnupg/gpg.conf
              setf gpg
    /usr/**/gnupg/options.skel
              setf gpg
    *.gpi     setf gnuplot
    *.gs      setf grads
    *.groovy  setf groovy
    *.gsp     setf gsp
    .gtkrc    setf gtkrc
    gtkrc     setf gtkrc
    *.hs      setf haskell
    *.lhs     setf lhaskell
    *.chs     setf chaskell
    *.vc      setf hercules
    *.ev      setf hercules
    *.rs      setf hercules
    *.sum     setf hercules
    *.errsum  setf hercules
    *.hex     setf hex
    *.h32     setf hex
    *.t.html  setf tilde
    *.html    call <SID>FTCheck_html()
    *.htm     call <SID>FTCheck_html()
    *.shtml   call <SID>FTCheck_html()
    *.stm     call <SID>FTCheck_html()
    *.html.m4 setf htmlm4
    *.tmpl    setf htmlcheetah
    *.hb      setf hb
    *.icn     setf icon
    *.idl     call <SID>FTCheck_idl()
    *.odl     setf msidl
    *.mof     setf msidl
    C:/.icewm/menu
              setf icemenu
    .indent.pro
              setf indent
    *.pro     setf idlang
    *.inf     setf inform
    *.INF     setf inform
    *.4gl     setf fgl
    *.4gh     setf fgl
    *.m4gl    setf fgl
    *.ini     setf dosini
    inittab   setf inittab
    *.iss     setf iss
    *.jal     setf jal
    *.JAL     setf jal
    *.jpl     setf jam
    *.jpr     setf jam
    *.java    setf java
    *.jav     setf java
    *.jj      setf javacc
    *.jjt     setf javacc
    *.js      setf javascript
    *.javascript
              setf javascript
    *.jsp     setf jsp
    *.properties
              setf jproperties
    *.properties_??
              setf jproperties
    *.properties_??_??
              setf jproperties
    *.properties_??_??_*
              setf jproperties
    *.clp     setf jess
    *.jgr     setf jgraph
    *.kix     setf kix
    *.k       setf kwt
    *.ks      setf kscript
    *.ace     setf lace
    *.ACE     setf lace
    *.latte   setf latte
    *.lte     setf latte
    *.sig     setf lprolog
    *.ldif    setf ldif
    *.lex     setf lex
    *.l       setf lex
    /etc/libao.conf
              setf libao
    C:/.libao setf libao
    lftp.conf setf lftp
    .lftprc   setf lftp
    *lftp/rc  setf lftp
    *.ll      setf lifelines
    lilo.conf*
              setf lilo
    *.lsp     setf lisp
    *.lisp    setf lisp
    *.el      setf lisp
    *.cl      setf lisp
    *.jl      setf lisp
    .emacs    setf lisp
    .sawfishrc
              setf lisp
    *.lite    setf lite
    *.lt      setf lite
    *.lgt     setf logtalk
    *.lot     setf lotos
    *.lotos   setf lotos
    *.lou     setf lout
    *.lout    setf lout
    *.lua     setf lua
    *.lss     setf lss
    *.m4      if expand("<afile>") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif
    *.mgp     setf mgp
    snd.\d\+  setf mail
    .letter   setf mail
    .letter.\d\+
              setf mail
    .followup setf mail
    .article  setf mail
    .article.\d\+
              setf mail
    pico.\d\+ setf mail
    mutt-*-\w\+
              setf mail
    mutt\w\{6\}
              setf mail
    ae\d\+.txt
              setf mail
    /tmp/SLRN[0-9A-Z.]\+
              setf mail
    *.eml     setf mail
    .mailcap  setf mailcap
    mailcap   setf mailcap
    *[mM]akefile
              setf make
    *.mk      setf make
    *.mak     setf make
    *.dsp     setf make
    *.ist     setf ist
    *.mst     setf ist
    *.man     setf man
    *.mv      setf maple
    *.mpl     setf maple
    *.mws     setf maple
    *.mason   setf mason
    *.mhtml   setf mason
    *.m       call FTCheck_m()
    *.mel     setf mel
    *.mf      setf mf
    *.mp      setf mp
    *.mms     call FTCheck_mms()
    *.mod     if getline(1) =~ '\<module\>' |   setf lprolog | else |   setf
modsim3 | endif
    *.m2      setf modula2
    *.DEF     setf modula2
    *.MOD     setf modula2
    *.md      setf modula2
    *.mi      setf modula2
    *.[mi][3g]
              setf modula3
    *.isc     setf monk
    *.monk    setf monk
    *.ssc     setf monk
    *.tsc     setf monk
    *.moo     setf moo
    /etc/modules.conf
              setf modconf
    /etc/conf.modules
              setf modconf
    /etc/modutils/*
              if executable(expand("<afile>")) != 1 | setf modconf | endif
    mplayer.conf
              setf mplayerconf
    C:/.mplayer/config
              setf mplayerconf
    *.s19     setf srec
    *.s28     setf srec
    *.s37     setf srec
    *.msql    setf msql
    *.mysql   setf mysql
    *.rc      setf rc
    *.mush    setf mush
    .muttrc*  setf muttrc
    C:/.mutt/muttrc*
              setf muttrc
    Muttrc    setf muttrc
    *.NS[ACGLMNPS]
              setf natural
    .netrc    setf netrc
    *.ncf     setf ncf
    *.me      if expand("<afile>") != "read.me" && expand("<afile>") !=
"click.me" |   setf nroff | endif
    *.tr      setf nroff
    *.nr      setf nroff
    *.roff    setf nroff
    *.tmac    setf nroff
    *.mom     setf nroff
    *.[1-9]   call <SID>FTnroff()
    *.mm      call <SID>FTcheck_mm()
    *.nqc     setf nqc
    *.nsi     setf nsis
    *.ml      setf ocaml
    *.mli     setf ocaml
    *.mll     setf ocaml
    *.mly     setf ocaml
    *.occ     setf occam
    *.xom     setf omnimark
    *.xin     setf omnimark
    *.or      setf openroad
    *.[Oo][Pp][Ll]
              setf opl
    *.ora     setf ora
    pf.conf   setf pf
    *.papp    setf papp
    *.pxml    setf papp
    *.pxsl    setf papp
    *.pas     setf pascal
    *.dpr     setf pascal
    *.pl      call FTCheck_pl()
    *.pm      if getline(1) =~ "XPM2" |   setf xpm2 | elseif getline(1) =~
"XPM" |   setf xpm | else |   setf perl | endif
    *.pod     setf pod
    *.php     setf php
    *.php3    setf php
    *.phtml   setf phtml
    *.pike    setf pike
    *.lpc     setf pike
    *.ulpc    setf pike
    *.pmod    setf pike
    */etc/pinforc
              setf pinfo
    C:/.pinforc
              setf pinfo
    *.rcp     setf pilrc
    .pinerc   setf pine
    pinerc    setf pine
    .pinercex setf pine
    pinercex  setf pine
    *.plm     setf plm
    *.p36     setf plm
    *.pac     setf plm
    *.pls     setf plsql
    *.plsql   setf plsql
    *.plp     setf plp
    *.po      setf po
    *.pot     setf po
    main.cf   setf pfmain
    *.ps      setf postscr
    *.pfa     setf postscr
    *.afm     setf postscr
    *.eps     setf postscr
    *.epsf    setf postscr
    *.epsi    setf postscr
    *.ai      setf postscr
    *.ppd     setf ppd
    *.pov     setf pov
    .povrayrc setf povini
    *.inc     call FTCheck_inc()
    *printcap let b:ptcap_type = "print" | setf ptcap
    *termcap  let b:ptcap_type = "term" | setf ptcap
    *.g       setf pccts
    *.it      setf ppwiz
    *.ih      setf ppwiz
    .pc       setf proc
    .procmail setf procmail
    .procmailrc
              setf procmail
    *.w       call <SID>FTprogress_cweb()
    *.i       call <SID>FTprogress_asm()
    *.p       call <SID>FTprogress_pascal()
    *.psf     setf psf
    INDEX     if getline(1) =~
'^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' |
setf psf | endif
    INFO      if getline(1) =~
'^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' |
setf psf | endif
    *.pdb     setf prolog
    *.pyx     setf pyrex
    *.pxd     setf pyrex
    *.py      setf python
    *.pyw     setf python
    *.rad     setf radiance
    *.mat     setf radiance
    .ratpoisonrc
              setf ratpoison
    ratpoisonrc
              setf ratpoison
    *\,v      setf rcs
    .inputrc  setf readline
    *.reg     if getline(1) =~? '^REGEDIT[0-9]*\s*$\|^Windows Registry
Editor Version \d*\.\d*\s*$' | setf registry | endif
    *.rib     setf rib
    *.rexx    setf rexx
    *.rex     setf rexx
    *.s       setf r
    *.S       setf r
    *.r       call <SID>FTCheck_r()
    *.R       call <SID>FTCheck_r()
    .reminders*
              setf remind
    resolv.conf
              setf resolv
    *.rnc     setf rnc
    *.rpl     setf rpl
    robots.txt
              setf robots
    *.x       setf rpcgen
    *.rst     setf rst
    *.rtf     setf rtf
    *.rb      setf ruby
    *.rbw     setf ruby
    *.gem     setf ruby
    *.gemspec setf ruby
    *.sl      setf slang
    smb.conf  setf samba
    *.sas     setf sas
    *.sa      setf sather
    *.sci     setf scilab
    *.sdl     setf sdl
    *.pr      setf sdl
    *.sed     setf sed
    sendmail.cf
              setf sm
    *.mc      setf m4
    *.sgm     if getline(1).getline(2).getline(3).getline(4).getline(5) =~?
'linuxdoc' |   setf sgmllnx | elseif getline(1) =~ '<!DOCTYPE.*DocBook' ||
getline(2) =~ '<!DOCTYPE.*DocBook' |   let b:docbk_type="sgml" |   setf
docbk | else |   setf sgml | endif
    *.sgml    if getline(1).getline(2).getline(3).getline(4).getline(5) =~?
'linuxdoc' |   setf sgmllnx | elseif getline(1) =~ '<!DOCTYPE.*DocBook' ||
getline(2) =~ '<!DOCTYPE.*DocBook' |   let b:docbk_type="sgml" |   setf
docbk | else |   setf sgml | endif
    *.decl    if getline(1).getline(2).getline(3) =~? '^<!SGML' |    setf
sgmldecl | endif
    *.dcl     if getline(1).getline(2).getline(3) =~? '^<!SGML' |    setf
sgmldecl | endif
    *.dec     if getline(1).getline(2).getline(3) =~? '^<!SGML' |    setf
sgmldecl | endif
    sgml.catalog*
              setf catalog
    catalog   setf catalog
    .bashrc*  call SetFileTypeSH("bash")
    bashrc    call SetFileTypeSH("bash")
    bash.bashrc
              call SetFileTypeSH("bash")
    .bash_profile*
              call SetFileTypeSH("bash")
    .bash_logout*
              call SetFileTypeSH("bash")
    *.bash    call SetFileTypeSH("bash")
    *.ebuild  call SetFileTypeSH("bash")
    .kshrc*   call SetFileTypeSH("ksh")
    *.ksh     call SetFileTypeSH("ksh")
    /etc/profile
              call SetFileTypeSH(getline(1))
    .profile* call SetFileTypeSH(getline(1))
    *.sh      call SetFileTypeSH(getline(1))
    *.env     call SetFileTypeSH(getline(1))
    .tcshrc*  setf tcsh
    *.tcsh    setf tcsh
    tcsh.tcshrc
              setf tcsh
    tcsh.login
              setf tcsh
    .login*   call SetFileTypeCSH()
    .cshrc*   call SetFileTypeCSH()
    csh.cshrc call SetFileTypeCSH()
    csh.login call SetFileTypeCSH()
    csh.logout
              call SetFileTypeCSH()
    *.csh     call SetFileTypeCSH()
    .alias    call SetFileTypeCSH()
    .zsh*     setf zsh
    .zlog*    setf zsh
    .zprofile setf zsh
    /etc/zprofile
              setf zsh
    .zfbfmarks
              setf zsh
    .zcompdump*
              setf zsh
    *.scm     setf scheme
    *.ss      setf scheme
    .screenrc setf screen
    screenrc  setf screen
    *.sim     setf simula
    *.sin     setf sinda
    *.s85     setf sinda
    *.il      setf skill
    .slrnrc   setf slrnrc
    *.score   setf slrnsc
    *.st      setf st
    *.cls     setf st
    *.tpl     setf smarty
    *.smil    if getline(1) =~ '<?\s*xml.*?>' |   setf xml | else |   setf
smil | endif
    *.smi     if getline(1) =~ '\<smil\>' |   setf smil | else |   setf mib
| endif
    *.smt     setf smith
    *.smith   setf smith
    *.sno     setf snobol4
    *.mib     setf mib
    *.my      setf mib
    *.hog     setf hog
    snort.conf
              setf hog
    vision.conf
              setf hog
    *.rules   setf hog
    *.spec    setf spec
    *.speedup setf spup
    *.spdata  setf spup
    *.spd     setf spup
    *.ice     setf slice
    *.sp      setf spice
    *.spice   setf spice
    *.spy     setf spyce
    *.spi     setf spyce
    squid.conf
              setf squid
    *.sql     setf sql
    *.tyb     setf sql
    *.typ     setf sql
    *.tyc     setf sql
    *.pkb     setf sql
    *.pks     setf sql
    *.sqlj    setf sqlj
    *.sqr     setf sqr
    *.sqi     setf sqr
    ssh_config
              setf sshconfig
    C:/.ssh/config
              setf sshconfig
    sshd_config
              setf sshdconfig
    *.stp     setf stp
    *.sml     setf sml
    /etc/sudoers
              setf sudoers
    sudoers.tmp
              setf sudoers
    *.t       if !<SID>FTnroff() | setf tads | endif
    tags      setf tags
    *.tak     setf tak
    *.tcl     setf tcl
    *.tk      setf tcl
    *.itcl    setf tcl
    *.itk     setf tcl
    *.tli     setf tli
    *.slt     setf tsalt
    *.ti      setf terminfo
    *.tex     setf tex
    *.latex   setf tex
    *.sty     setf tex
    *.dtx     setf tex
    *.ltx     setf tex
    *.bbl     setf tex
    *.texinfo setf texinfo
    *.texi    setf texinfo
    *.txi     setf texinfo
    texmf.cnf setf texmf
    .tidyrc   setf tidy
    tidyrc    setf tidy
    *.tf      setf tf
    .tfrc     setf tf
    tfrc      setf tf
    *.tpp     setf tpp
    *.tssgm   setf tssgm
    *.tssop   setf tssop
    *.tsscl   setf tsscl
    *.uit     setf uil
    *.uil     setf uil
    *.uc      setf uc
    *.v       setf verilog
    *.hdl     setf vhdl
    *.vhd     setf vhdl
    *.vhdl    setf vhdl
    *.vhdl_[0-9]*
              setf vhdl
    *.vbe     setf vhdl
    *.vst     setf vhdl
    *.vim     setf vim
    .exrc     setf vim
    _exrc     setf vim
    .viminfo  setf viminfo
    _viminfo  setf viminfo
    *.hw      setf virata
    *.module  setf virata
    *.pkg     setf virata
    *.frm     call <SID>FTVB("form")
    *.sba     setf vb
    vgrindefs setf vgrindefs
    *.wrl     setf vrml
    *.wm      setf webmacro
    .wgetrc   setf wget
    wgetrc    setf wget
    *.wml     setf wml
    *.wbt     setf winbatch
    wvdial.conf
              setf wvdial
    .wvdialrc setf wvdial
    .cvsrc    setf cvsrc
    cvs\d\+   setf cvs
    *.web     if
getline(1)[0].getline(2)[0].getline(3)[0].getline(4)[0].getline(5)[0] =~ "%"
|   setf web | else |   setf winbatch | endif
    *.ws[fc]  setf wsh
    XF86Config
              if getline(1) =~ '\<XConfigurator\>' |   let
b:xf86c_xfree86_version = 3 | endif | setf xf86conf
    xorg.conf let b:xf86c_xfree86_version = 4 | setf xf86conf
    xorg.conf-4
              let b:xf86c_xfree86_version = 4 | setf xf86conf
    *.xs      setf xs
    .Xdefaults
              setf xdefaults
    .Xpdefaults
              setf xdefaults
    .Xresources
              setf xdefaults
    xdm-config
              setf xdefaults
    *.ad      setf xdefaults
    *.msc     setf xmath
    *.msf     setf xmath
    *.ms      if !<SID>FTnroff() | setf xmath | endif
    *.xml     if getline(1) . getline(2) . getline(3) =~
'<!DOCTYPE.*DocBook' |   let b:docbk_type="xml" |   setf docbk | else |
setf xml | endif
    *.xmi     setf xml
    *.csproj  setf xml
    *.csproj.user
              setf xml
    *.ts      setf xml
    *.ui      setf xml
    *.xsd     setf xsd
    *.xsl     setf xslt
    *.xslt    setf xslt
    *.y       setf yacc
    *.yy      setf yacc
    *.yaml    setf yaml
    *.yml     setf yaml
    *.z8a     setf z8a
    *         if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat |
runtime! scripts.vim | endif
    /var/named/*
              setf bindzone
    [cC]hange[lL]og*
              if getline(1) =~ '; urgency='| setf debchangelog | else | setf
changelog | endif
    crontab   setf crontab
    crontab.* setf crontab
    drac.*    setf dracula
    *fvwmrc*  let b:fvwm_version = 1 | setf fvwm
    *fvwm95*.hook
              let b:fvwm_version = 1 | setf fvwm
    *fvwm2rc* if expand("<afile>:e") == "m4" | setf fvwm2m4 | else | let
b:fvwm_version = 2 | setf fvwm | endif
    .gtkrc*   setf gtkrc
    gtkrc*    setf gtkrc
    Prl*.*    setf jam
    JAM*.*    setf jam
    *jarg*    if getline(1).getline(2).getline(3).getline(4).getline(5) =~?
'THIS IS THE JARGON FILE' |   setf jargon | endif
    [mM]akefile*
              setf make
    [rR]akefile*
              setf ruby
    muttrc*   setf muttrc
    Muttrc*   setf muttrc
    tmac.*    setf nroff
    *printcap*
              if !did_filetype() | let b:ptcap_type = "print" | setf ptcap |
endif
    *termcap* if !did_filetype() | let b:ptcap_type = "term" | setf ptcap |
endif
    *vimrc*   setf vim
    svn-commit*.tmp
              setf svn
    Xresources*
              setf xdefaults
    */app-defaults/*
              setf xdefaults
    */Xresources/*
              setf xdefaults
    XF86Config-4*
              let b:xf86c_xfree86_version = 4 | setf xf86conf
    XF86Config*
              if getline(1) =~ '\<XConfigurator\>' |   let
b:xf86c_xfree86_version = 3 | endif | setf xf86conf
    *xmodmap* setf xmodmap
    zsh*      setf zsh
    zlog*     setf zsh
    *         if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
&& (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'^I||
getline(4) =~ '^#' || getline(5) =~ '^#') |   setf conf | endif
    *.avs     setf avs
    *.avsi    setf avs
    *.PROT    setf dosbatch
filetypedetect  BufRead
    *.avs     setf avs
    *.avsi    setf avs
    *.PROT    setf dosbatch
    *.orig    exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.bak     exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.old     exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.new     exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.rpmsave exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *.rpmnew  exe "doau filetypedetect BufRead " . expand("<afile>:r")
    *~        let s:name = expand("<afile>") | let s:short =
substitute(s:name, '\~$', '', '') | if s:name != s:short && s:short != "" |
exe "doau filetypedetect BufRead " . s:short | endif | unlet s:name | unlet
s:short
    *.in      if expand("<afile>:t") != "configure.in" |   exe "doau
filetypedetect BufRead " . expand("<afile>:r") | endif
    *.inp     call FTCheck_inp()
    *.aap     setf aap
    *.abc     setf abc
    *.abl     setf abel
    *.wrm     setf acedb
    *.adb     setf ada
    *.ads     setf ada
    *.ada     setf ada
    *.tdf     setf ahdl
    *.run     setf ampl
    build.xml setf ant
    proftpd.conf*
              setf apachestyle
    httpd.conf*
              setf apache
    srm.conf* setf apache
    access.conf*
              setf apache
    .htaccess setf apache
    apache.conf*
              setf apache
    *.a65     setf a65
    *.am      if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif
    C:/.asoundrc
              setf alsaconf
    /usr/share/alsa/alsa.conf
              setf alsaconf
    /etc/asound.conf
              setf alsaconf
    *.aml     setf aml
    .arch-inventory
              setf arch
    =tagging-method
              setf arch
    *.art     setf art
    *.asn     setf asn
    *.asn1    setf asn
    *.asa     if exists("g:filetype_asa") |   exe "setf " . g:filetype_asa |
else |   setf aspvbs | endif
    *.asp     if exists("g:filetype_asp") |   exe "setf " . g:filetype_asp |
elseif getline(1) . getline(2) . getline(3) =~? "perlscript" |   setf
aspperl | else |   setf aspvbs | endif
    /boot/grub/menu.lst
              setf grub
    /boot/grub/grub.conf
              setf grub
    *.asm     call <SID>FTasm()
    *.[sS]    call <SID>FTasm()
    *.[aA]    call <SID>FTasm()
    *.mac     call <SID>FTasm()
    *.lst     call <SID>FTasm()
    *.mar     setf vmasm
    *.atl     setf atlas
    *.as      setf atlas
    [mM]akefile.am
              setf automake
    *.ave     setf ave
    *.awk     setf awk
    *.mch     setf b
    *.ref     setf b
    *.imp     setf b
    *.bas     call <SID>FTVB("basic")
    *.vbs     setf vb
    *.dsm     setf vb
    *.ctl     setf vb
    *.bat     setf dosbatch
    *.btm     setf dosbatch
    *.sys     setf dosbatch
    *.cmd     if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch |
endif
    *.btm     setf btm
    *.bc      setf bc
    *.bdf     setf bdf
    *.bib     setf bib
    named.conf
              setf named
    named.root
              setf bindzone
    *.bl      setf blank
    *.c       call <SID>FTlpc()
    calendar  setf calendar
    C:/.calendar/*
              setf calendar
    */share/calendar/*/calendar.*
              setf calendar
    */share/calendar/calendar.*
              setf calendar
    *.cs      setf cs
    *.cdl     setf cdl
    *.crm     setf crm
    *.cyn     setf cynpp
    *.cc      if exists("cynlib_syntax_for_cc")|setf cynlib|else|setf
cpp|endif
    *.cpp     if exists("cynlib_syntax_for_cpp")|setf cynlib|else|setf
cpp|endif
    *.cxx     setf cpp
    *.c++     setf cpp
    *.hh      setf cpp
    *.hxx     setf cpp
    *.hpp     setf cpp
    *.moc     setf cpp
    *.tcc     setf cpp
    *.inl     setf cpp
    *.h       if exists("c_syntax_for_h") | setf c | elseif
exists("ch_syntax_for_h") | setf ch | else | setf cpp | endif
    *.chf     setf ch
    *.tlh     setf cpp
    *.css     setf css
    *.con     setf cterm
    changelog.Debian
              setf debchangelog
    changelog.dch
              setf debchangelog
    [cC]hange[lL]og
              if getline(1) =~ '; urgency='| setf debchangelog | else | setf
changelog | endif
    *..ch     setf chill
    *.ch      call <SID>FTchange()
    *.dcl     setf clean
    *.icl     setf clean
    *.eni     setf cl
    *.ent     call <SID>FTent()
    *.prg     if exists("g:filetype_prg") |   exe "setf " . g:filetype_prg |
else |   setf clipper | endif
    *.cbl     setf cobol
    *.cob     setf cobol
    *.cpy     setf cobol
    *.lib     setf cobol
    *.cfm     setf cf
    *.cfi     setf cf
    *.cfc     setf cf
    configure.in
              setf config
    configure.ac
              setf config
    *.dcd     setf dcd
    *enlightenment/*.cfg
              setf c
    *Eterm/*.cfg
              setf eterm
    lynx.cfg  setf lynx
    *baseq[2-3]/*.cfg
              setf quake
    *id1/*.cfg
              setf quake
    *quake[1-3]/*.cfg
              setf quake
    *.qc      setf c
    *.cfg     setf cfg
    *.csp     setf csp
    *.fdr     setf csp
    *.pld     setf cupl
    *.si      setf cuplsim
    */debian/control
              setf debcontrol
    *.desc    setf desc
    *.d       setf d
    *.desktop setf desktop
    .directory
              setf desktop
    *.diff    setf diff
    *.rej     setf diff
    *.patch   setf diff
    .dir_colors
              setf dircolors
    /etc/DIR_COLORS
              setf dircolors
    *.rul     if
getline(1).getline(2).getline(3).getline(4).getline(5).getline(6) =~?
'InstallShield' |   setf ishd | else |   setf diva | endif
    *.com     if getline(1).getline(2) =~ '$ORIGIN\|$TTL\|IN\s*SOA'^I||
getline(1).getline(2).getline(3).getline(4) =~ 'BIND.*named' | setf dns |
else | setf dcl | endif
    *.dot     setf dot
    *.lid     setf dylanlid
    *.intr    setf dylanintr
    *.dylan   setf dylan
    *.def     setf def
    *.drac    setf dracula
    *.drc     setf dracula
    *lvs      setf dracula
    *lpe      setf dracula
    *.dsl     setf dsl
    *.dtd     setf dtd
    *.ed\(f\|if\|n\|o\)
              setf edif
    *.ecd     setf ecd
    *.e       call FTCheck_e()
    *.E       call FTCheck_e()
    */etc/elinks.conf
              setf elinks
    C:/.elinks/elinks.conf
              setf elinks
    *.erl     setf erlang
    filter-rules
              setf elmfilt
    *esmtprc  setf esmtprc
    *.ec      setf esqlc
    *.EC      setf esqlc
    *.csc     setf csc
    exim.conf setf exim
    *.exp     setf expect
    exports   setf exports
    .fetchmailrc
              setf fetchmail
    *.fex     setf focexec
    *.focexec setf focexec
    auto.master
              setf conf
    *.mas     setf master
    *.master  setf master
    *.fs      setf forth
    *.ft      setf forth
    *.f       setf fortran
    *.F       setf fortran
    *.for     setf fortran
    *.fpp     setf fortran
    *.ftn     setf fortran
    *.f77     setf fortran
    *.F77     setf fortran
    *.f90     setf fortran
    *.F90     setf fortran
    *.f95     setf fortran
    *.F95     setf fortran
    fstab     setf fstab
    .gdbinit  setf gdb
    *.mo      setf gdmo
    *.gdmo    setf gdmo
    *.ged     setf gedcom
    gkrellmrc setf gkrellmrc
    gkrellmrc_?
              setf gkrellmrc
    *.gp      setf gp
    C:/.gnupg/options
              setf gpg
    C:/.gnupg/gpg.conf
              setf gpg
    /usr/**/gnupg/options.skel
              setf gpg
    *.gpi     setf gnuplot
    *.gs      setf grads
    *.groovy  setf groovy
    *.gsp     setf gsp
    .gtkrc    setf gtkrc
    gtkrc     setf gtkrc
    *.hs      setf haskell
    *.lhs     setf lhaskell
    *.chs     setf chaskell
    *.vc      setf hercules
    *.ev      setf hercules
    *.rs      setf hercules
    *.sum     setf hercules
    *.errsum  setf hercules
    *.hex     setf hex
    *.h32     setf hex
    *.t.html  setf tilde
    *.html    call <SID>FTCheck_html()
    *.htm     call <SID>FTCheck_html()
    *.shtml   call <SID>FTCheck_html()
    *.stm     call <SID>FTCheck_html()
    *.html.m4 setf htmlm4
    *.tmpl    setf htmlcheetah
    *.hb      setf hb
    *.icn     setf icon
    *.idl     call <SID>FTCheck_idl()
    *.odl     setf msidl
    *.mof     setf msidl
    C:/.icewm/menu
              setf icemenu
    .indent.pro
              setf indent
    *.pro     setf idlang
    *.inf     setf inform
    *.INF     setf inform
    *.4gl     setf fgl
    *.4gh     setf fgl
    *.m4gl    setf fgl
    *.ini     setf dosini
    inittab   setf inittab
    *.iss     setf iss
    *.jal     setf jal
    *.JAL     setf jal
    *.jpl     setf jam
    *.jpr     setf jam
    *.java    setf java
    *.jav     setf java
    *.jj      setf javacc
    *.jjt     setf javacc
    *.js      setf javascript
    *.javascript
              setf javascript
    *.jsp     setf jsp
    *.properties
              setf jproperties
    *.properties_??
              setf jproperties
    *.properties_??_??
              setf jproperties
    *.properties_??_??_*
              setf jproperties
    *.clp     setf jess
    *.jgr     setf jgraph
    *.kix     setf kix
    *.k       setf kwt
    *.ks      setf kscript
    *.ace     setf lace
    *.ACE     setf lace
    *.latte   setf latte
    *.lte     setf latte
    *.sig     setf lprolog
    *.ldif    setf ldif
    *.lex     setf lex
    *.l       setf lex
    /etc/libao.conf
              setf libao
    C:/.libao setf libao
    lftp.conf setf lftp
    .lftprc   setf lftp
    *lftp/rc  setf lftp
    *.ll      setf lifelines
    lilo.conf*
              setf lilo
    *.lsp     setf lisp
    *.lisp    setf lisp
    *.el      setf lisp
    *.cl      setf lisp
    *.jl      setf lisp
    .emacs    setf lisp
    .sawfishrc
              setf lisp
    *.lite    setf lite
    *.lt      setf lite
    *.lgt     setf logtalk
    *.lot     setf lotos
    *.lotos   setf lotos
    *.lou     setf lout
    *.lout    setf lout
    *.lua     setf lua
    *.lss     setf lss
    *.m4      if expand("<afile>") !~? 'html.m4$\|fvwm2rc' | setf m4 | endif
    *.mgp     setf mgp
    snd.\d\+  setf mail
    .letter   setf mail
    .letter.\d\+
              setf mail
    .followup setf mail
    .article  setf mail
    .article.\d\+
              setf mail
    pico.\d\+ setf mail
    mutt-*-\w\+
              setf mail
    mutt\w\{6\}
              setf mail
    ae\d\+.txt
              setf mail
    /tmp/SLRN[0-9A-Z.]\+
              setf mail
    *.eml     setf mail
    .mailcap  setf mailcap
    mailcap   setf mailcap
    *[mM]akefile
              setf make
    *.mk      setf make
    *.mak     setf make
    *.dsp     setf make
    *.ist     setf ist
    *.mst     setf ist
    *.man     setf man
    *.mv      setf maple
    *.mpl     setf maple
    *.mws     setf maple
    *.mason   setf mason
    *.mhtml   setf mason
    *.m       call FTCheck_m()
    *.mel     setf mel
    *.mf      setf mf
    *.mp      setf mp
    *.mms     call FTCheck_mms()
    *.mod     if getline(1) =~ '\<module\>' |   setf lprolog | else |   setf
modsim3 | endif
    *.m2      setf modula2
    *.DEF     setf modula2
    *.MOD     setf modula2
    *.md      setf modula2
    *.mi      setf modula2
    *.[mi][3g]
              setf modula3
    *.isc     setf monk
    *.monk    setf monk
    *.ssc     setf monk
    *.tsc     setf monk
    *.moo     setf moo
    /etc/modules.conf
              setf modconf
    /etc/conf.modules
              setf modconf
    /etc/modutils/*
              if executable(expand("<afile>")) != 1 | setf modconf | endif
    mplayer.conf
              setf mplayerconf
    C:/.mplayer/config
              setf mplayerconf
    *.s19     setf srec
    *.s28     setf srec
    *.s37     setf srec
    *.msql    setf msql
    *.mysql   setf mysql
    *.rc      setf rc
    *.mush    setf mush
    .muttrc*  setf muttrc
    C:/.mutt/muttrc*
              setf muttrc
    Muttrc    setf muttrc
    *.NS[ACGLMNPS]
              setf natural
    .netrc    setf netrc
    *.ncf     setf ncf
    *.me      if expand("<afile>") != "read.me" && expand("<afile>") !=
"click.me" |   setf nroff | endif
    *.tr      setf nroff
    *.nr      setf nroff
    *.roff    setf nroff
    *.tmac    setf nroff
    *.mom     setf nroff
    *.[1-9]   call <SID>FTnroff()
    *.mm      call <SID>FTcheck_mm()
    *.nqc     setf nqc
    *.nsi     setf nsis
    *.ml      setf ocaml
    *.mli     setf ocaml
    *.mll     setf ocaml
    *.mly     setf ocaml
    *.occ     setf occam
    *.xom     setf omnimark
    *.xin     setf omnimark
    *.or      setf openroad
    *.[Oo][Pp][Ll]
              setf opl
    *.ora     setf ora
    pf.conf   setf pf
    *.papp    setf papp
    *.pxml    setf papp
    *.pxsl    setf papp
    *.pas     setf pascal
    *.dpr     setf pascal
    *.pl      call FTCheck_pl()
    *.pm      if getline(1) =~ "XPM2" |   setf xpm2 | elseif getline(1) =~
"XPM" |   setf xpm | else |   setf perl | endif
    *.pod     setf pod
    *.php     setf php
    *.php3    setf php
    *.phtml   setf phtml
    *.pike    setf pike
    *.lpc     setf pike
    *.ulpc    setf pike
    *.pmod    setf pike
    */etc/pinforc
              setf pinfo
    C:/.pinforc
              setf pinfo
    *.rcp     setf pilrc
    .pinerc   setf pine
    pinerc    setf pine
    .pinercex setf pine
    pinercex  setf pine
    *.plm     setf plm
    *.p36     setf plm
    *.pac     setf plm
    *.pls     setf plsql
    *.plsql   setf plsql
    *.plp     setf plp
    *.po      setf po
    *.pot     setf po
    main.cf   setf pfmain
    *.ps      setf postscr
    *.pfa     setf postscr
    *.afm     setf postscr
    *.eps     setf postscr
    *.epsf    setf postscr
    *.epsi    setf postscr
    *.ai      setf postscr
    *.ppd     setf ppd
    *.pov     setf pov
    .povrayrc setf povini
    *.inc     call FTCheck_inc()
    *printcap let b:ptcap_type = "print" | setf ptcap
    *termcap  let b:ptcap_type = "term" | setf ptcap
    *.g       setf pccts
    *.it      setf ppwiz
    *.ih      setf ppwiz
    .pc       setf proc
    .procmail setf procmail
    .procmailrc
              setf procmail
    *.w       call <SID>FTprogress_cweb()
    *.i       call <SID>FTprogress_asm()
    *.p       call <SID>FTprogress_pascal()
    *.psf     setf psf
    INDEX     if getline(1) =~
'^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' |
setf psf | endif
    INFO      if getline(1) =~
'^\s*\(distribution\|installed_software\|root\|bundle\|product\)\s*$' |
setf psf | endif
    *.pdb     setf prolog
    *.pyx     setf pyrex
    *.pxd     setf pyrex
    *.py      setf python
    *.pyw     setf python
    *.rad     setf radiance
    *.mat     setf radiance
    .ratpoisonrc
              setf ratpoison
    ratpoisonrc
              setf ratpoison
    *\,v      setf rcs
    .inputrc  setf readline
    *.reg     if getline(1) =~? '^REGEDIT[0-9]*\s*$\|^Windows Registry
Editor Version \d*\.\d*\s*$' | setf registry | endif
    *.rib     setf rib
    *.rexx    setf rexx
    *.rex     setf rexx
    *.s       setf r
    *.S       setf r
    *.r       call <SID>FTCheck_r()
    *.R       call <SID>FTCheck_r()
    .reminders*
              setf remind
    resolv.conf
              setf resolv
    *.rnc     setf rnc
    *.rpl     setf rpl
    robots.txt
              setf robots
    *.x       setf rpcgen
    *.rst     setf rst
    *.rtf     setf rtf
    *.rb      setf ruby
    *.rbw     setf ruby
    *.gem     setf ruby
    *.gemspec setf ruby
    *.sl      setf slang
    smb.conf  setf samba
    *.sas     setf sas
    *.sa      setf sather
    *.sci     setf scilab
    *.sdl     setf sdl
    *.pr      setf sdl
    *.sed     setf sed
    sendmail.cf
              setf sm
    *.mc      setf m4
    *.sgm     if getline(1).getline(2).getline(3).getline(4).getline(5) =~?
'linuxdoc' |   setf sgmllnx | elseif getline(1) =~ '<!DOCTYPE.*DocBook' ||
getline(2) =~ '<!DOCTYPE.*DocBook' |   let b:docbk_type="sgml" |   setf
docbk | else |   setf sgml | endif
    *.sgml    if getline(1).getline(2).getline(3).getline(4).getline(5) =~?
'linuxdoc' |   setf sgmllnx | elseif getline(1) =~ '<!DOCTYPE.*DocBook' ||
getline(2) =~ '<!DOCTYPE.*DocBook' |   let b:docbk_type="sgml" |   setf
docbk | else |   setf sgml | endif
    *.decl    if getline(1).getline(2).getline(3) =~? '^<!SGML' |    setf
sgmldecl | endif
    *.dcl     if getline(1).getline(2).getline(3) =~? '^<!SGML' |    setf
sgmldecl | endif
    *.dec     if getline(1).getline(2).getline(3) =~? '^<!SGML' |    setf
sgmldecl | endif
    sgml.catalog*
              setf catalog
    catalog   setf catalog
    .bashrc*  call SetFileTypeSH("bash")
    bashrc    call SetFileTypeSH("bash")
    bash.bashrc
              call SetFileTypeSH("bash")
    .bash_profile*
              call SetFileTypeSH("bash")
    .bash_logout*
              call SetFileTypeSH("bash")
    *.bash    call SetFileTypeSH("bash")
    *.ebuild  call SetFileTypeSH("bash")
    .kshrc*   call SetFileTypeSH("ksh")
    *.ksh     call SetFileTypeSH("ksh")
    /etc/profile
              call SetFileTypeSH(getline(1))
    .profile* call SetFileTypeSH(getline(1))
    *.sh      call SetFileTypeSH(getline(1))
    *.env     call SetFileTypeSH(getline(1))
    .tcshrc*  setf tcsh
    *.tcsh    setf tcsh
    tcsh.tcshrc
              setf tcsh
    tcsh.login
              setf tcsh
    .login*   call SetFileTypeCSH()
    .cshrc*   call SetFileTypeCSH()
    csh.cshrc call SetFileTypeCSH()
    csh.login call SetFileTypeCSH()
    csh.logout
              call SetFileTypeCSH()
    *.csh     call SetFileTypeCSH()
    .alias    call SetFileTypeCSH()
    .zsh*     setf zsh
    .zlog*    setf zsh
    .zprofile setf zsh
    /etc/zprofile
              setf zsh
    .zfbfmarks
              setf zsh
    .zcompdump*
              setf zsh
    *.scm     setf scheme
    *.ss      setf scheme
    .screenrc setf screen
    screenrc  setf screen
    *.sim     setf simula
    *.sin     setf sinda
    *.s85     setf sinda
    *.il      setf skill
    .slrnrc   setf slrnrc
    *.score   setf slrnsc
    *.st      setf st
    *.cls     setf st
    *.tpl     setf smarty
    *.smil    if getline(1) =~ '<?\s*xml.*?>' |   setf xml | else |   setf
smil | end
Reply | Threaded
Open this post in threaded view
|

Re: Crash with 'substitute' in gvim (win32)?

Bram Moolenaar

Pero Brbora wrote:

> > If you run the same example with a debug build of gvim
> > (gvimd.exe) ... does it give some more human-readable fault-
> > logging information?
>
> Nothing except info from "fault log" (see bellow).
>
> I tried to provide you with a lot of info (not too much I hope).
> I must say that I wasn't alvays able to reproduce it (!?), but I
> managed to get some info from gdb.
>
> See bellow for:
> --gdb log
> --fault log
> --gvimd version
> --bugreport script (gvim)
>
> It would be nice if someone also could reproduce it, although crash
> reproduction is about 90% here.
> Also I found that "#" in 1st and 2nd line are significant, without
> them - no crash. And if you write right before issuing command
> history - sometimes no crash. So please use "example file" bellow
> and follow "crash scenario".

It appears that the crash happens in the syntax highlighting code.  But
when you edit a file like you describe syntax highlighting will not be
used.  Your bugreport also shows that the 'syntax' option is empty.
I'm guessing you have at least done ":syntax on".  Then perhaps it's the
highlighting in the command-line window that triggers the problem...

With your gdb report, some guessing and the "efence" library I located
the problem: a pointer to the command-window buffer was used while it
had already been deleted.  I'll send out a patch for this.

--
Some of the well know MS-Windows errors:
        EMULTI Multitasking attempted, system confused
        EKEYBOARD Keyboard locked, try getting out of this one!
        EXPLAIN Unexplained error, please tell us what happened
        EFUTURE Reserved for our future mistakes

 /// Bram Moolenaar -- [hidden email] -- http://www.Moolenaar.net   \\\
///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
 \\\     Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html   ///