1:" Use this script to create the file "bugreport.txt", which contains
2:" information about the environment of a possible bug in Vim.
3:"
4:" Maintainer:	Bram Moolenaar <Bram@vim.org>
5:" Last change:	2005 Jun 12
6:"
7:" To use inside Vim:
8:"	:so $VIMRUNTIME/bugreport.vim
9:" Or, from the command line:
10:"	vim -s $VIMRUNTIME/bugreport.vim
11:"
12:" The "if 1" lines are to avoid error messages when expression evaluation is
13:" not compiled in.
14:"
15:if 1
16:  let more_save = &more
17:endif
18:set nomore
19:if has("unix")
20:  !echo "uname -a" >bugreport.txt
21:  !uname -a >>bugreport.txt
22:endif
23:redir >>bugreport.txt
24:version
25:if 1
26:  func <SID>CheckDir(n)
27:    if isdirectory(a:n)
28:      echo 'directory "' . a:n . '" exists'
29:    else
30:      echo 'directory "' . a:n . '" does NOT exist'
31:    endif
32:  endfun
33:  func <SID>CheckFile(n)
34:    if filereadable(a:n)
35:      echo '"' . a:n . '" is readable'
36:    else
37:      echo '"' . a:n . '" is NOT readable'
38:    endif
39:  endfun
40:  echo "--- Directories and Files ---"
41:  echo '$VIM = "' . $VIM . '"'
42:  call <SID>CheckDir($VIM)
43:  echo '$VIMRUNTIME = "' . $VIMRUNTIME . '"'
44:  call <SID>CheckDir($VIMRUNTIME)
45:  call <SID>CheckFile(&helpfile)
46:  call <SID>CheckFile(fnamemodify(&helpfile, ":h") . "/tags")
47:  call <SID>CheckFile($VIMRUNTIME . "/menu.vim")
48:  call <SID>CheckFile($VIMRUNTIME . "/filetype.vim")
49:  call <SID>CheckFile($VIMRUNTIME . "/syntax/synload.vim")
50:  delfun <SID>CheckDir
51:  delfun <SID>CheckFile
52:  echo "--- Scripts sourced ---"
53:  scriptnames
54:endif
55:set all
56:set termcap
57:if has("autocmd")
58:  au
59:endif
60:if 1
61:  echo "--- Normal/Visual mode mappings ---"
62:endif
63:map
64:if 1
65:  echo "--- Insert/Command-line mode mappings ---"
66:endif
67:map!
68:if 1
69:  echo "--- Abbreviations ---"
70:endif
71:ab
72:if 1
73:  echo "--- Highlighting ---"
74:endif
75:highlight
76:if 1
77:  echo "--- Variables ---"
78:endif
79:if 1
80:  let
81:endif
82:redir END
83:set more&
84:if 1
85:  let &more = more_save
86:  unlet more_save
87:endif
88:e bugreport.txt
89