From 3fdfa4a9a52ab3d1a790262ee872a49853ad4626 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 7 Oct 2004 21:02:47 +0000 Subject: updated for version 7.0017 --- runtime/doc/autocmd.txt | 19 +++++--- runtime/doc/change.txt | 4 +- runtime/doc/digraph.txt | 27 ++++++++-- runtime/doc/eval.txt | 19 +++++--- runtime/doc/if_mzsch.txt | 30 ++++++++++-- runtime/doc/options.txt | 8 ++- runtime/doc/pi_netrw.txt | 122 +++++++++++++++++++++++++++------------------- runtime/doc/syntax.txt | 4 +- runtime/doc/tags | 6 ++- runtime/doc/todo.txt | 118 ++++++++++++++++++++++++++++++++++++-------- runtime/doc/usr_41.txt | 8 +-- runtime/doc/version7.txt | 25 +++++++++- runtime/filetype.vim | 31 +++++++++--- runtime/indent/eiffel.vim | 10 ++-- runtime/indent/java.vim | 4 +- runtime/menu.vim | 4 +- runtime/plugin/netrw.vim | 93 ++++++++++++++++++++--------------- runtime/scripts.vim | 8 +-- runtime/syntax/lss.vim | 4 +- runtime/syntax/pccts.vim | 2 +- runtime/syntax/pod.vim | 14 ++++-- runtime/syntax/samba.vim | 18 +++++-- runtime/syntax/scheme.vim | 37 ++++++++++++-- 23 files changed, 445 insertions(+), 170 deletions(-) (limited to 'runtime') diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 14605e80f3..eddfead8a0 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Aug 30 +*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Sep 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -234,22 +234,26 @@ BufWriteCmd Before writing the whole buffer to a file. should not be changed. |Cmd-event| *FileWritePre* FileWritePre Before writing to a file, when not writing the - whole buffer. + whole buffer. Use the '[ and '] marks for the + range of lines. *FileWritePost* FileWritePost After writing to a file, when not writing the whole buffer. *FileWriteCmd* FileWriteCmd Before writing to a file, when not writing the whole buffer. Should do the writing to the - file. Should not change the buffer. + file. Should not change the buffer. Use the + '[ and '] marks for the range of lines. |Cmd-event| *FileAppendPre* -FileAppendPre Before appending to a file. +FileAppendPre Before appending to a file. Use the '[ and '] + marks for the range of lines. *FileAppendPost* FileAppendPost After appending to a file. *FileAppendCmd* FileAppendCmd Before appending to a file. Should do the - appending to the file. |Cmd-event| + appending to the file. Use the '[ and '] + marks for the range of lines.|Cmd-event| *FilterWritePre* FilterWritePre Before writing a file for a filter command or making a diff. @@ -738,8 +742,9 @@ The '[ and '] marks have a special position: the new lines will be inserted. - Before the *ReadPost event the '[ mark is set to the first line that was just read, the '] mark to the last line. -- Before executing the *WritePre and *AppendPre autocommands the '[ mark is - set to the first line that will be written, the '] mark to the last line. +- Before executing the *WriteCmd, *WritePre and *AppendPre autocommands the '[ + mark is set to the first line that will be written, the '] mark to the last + line. Careful: '[ and '] change when using commands that change the buffer. In commands which expect a file name, you can use "" for the file name diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index 93c554f33d..48a16111d3 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1,4 +1,4 @@ -*change.txt* For Vim version 7.0aa. Last change: 2004 Jun 16 +*change.txt* For Vim version 7.0aa. Last change: 2004 Sep 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -659,7 +659,7 @@ magic nomagic action ~ \0 replaced with the whole matched pattern *\0* *s/\0* \1 replaced with the matched pattern in the first pair of () *s/\1* - \2 replaced with the matched pattern in the first + \2 replaced with the matched pattern in the second pair of () *s/\2* .. .. *s/\3* \9 replaced with the matched pattern in the ninth diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt index 529b30d2da..ed4527175b 100644 --- a/runtime/doc/digraph.txt +++ b/runtime/doc/digraph.txt @@ -1,4 +1,4 @@ -*digraph.txt* For Vim version 7.0aa. Last change: 2001 Sep 03 +*digraph.txt* For Vim version 7.0aa. Last change: 2004 Oct 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -28,7 +28,8 @@ An alternative is using the 'keymap' option. *E104* *E39* :dig[raphs] {char1}{char2} {number} ... Add digraph {char1}{char2} to the list. {number} is - the decimal representation of the character. + the decimal representation of the character. Normally + it is the Unicode character, see |digraph-encoding|. Example: > :digr e: 235 a: 228 < Avoid defining a digraph with '_' (underscore) as the @@ -48,7 +49,24 @@ In the middle of each column is the resulting character. This may be mangled if you look at it on a system that does not support digraphs or if you print this file. -The decimal number is the number of the character. + *digraph-encoding* +The decimal number normally is the Unicode number of the character. Note that +the meaning doesn't change when 'encoding' changes. The character will be +converted from Unicode to 'encoding' when needed. This does require the +conversion to be available, it might fail. + +When Vim was compiled without the +multi_byte feature, you need to specify the +character in the encoding given with 'encoding'. You might want to use +something like this: > + + if has("multi_byte") + digraph oe 339 + elseif &encoding == "iso-8859-15" + digraph oe 189 + endif + +This defines the "oe" digraph for a character that is number 339 in Unicode +and 189 in latin9 (iso-8859-15). ============================================================================== 2. Using digraphs *digraphs-use* @@ -142,6 +160,9 @@ Example: a: is These are the RFC1345 digraphs for the one-byte characters. See the output of ":digraphs" for the others. The characters above 255 are only available when Vim was compiled with the |+multi_byte| feature. + +Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was +added for this. *digraph-table* char digraph hex dec official name ~ ^@ NU 0x00 0 NULL (NUL) diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index b854362873..f3ee1feaf4 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0aa. Last change: 2004 Sep 13 +*eval.txt* For Vim version 7.0aa. Last change: 2004 Oct 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -125,8 +125,8 @@ Expression syntax summary, from least to most significant: |expr8| expr9[expr1] index in String |expr9| number number constant - "string" string constant - 'string' literal string constant + "string" string constant, backslash is special + 'string' string constant &option option value (expr1) nested expression variable internal variable @@ -355,13 +355,18 @@ Note that "\000" and "\x00" force the end of the string. literal-string *literal-string* *E115* --------------- -'string' literal string constant *expr-'* +'string' string constant *expr-'* Note that single quotes are used. -This string is taken literally. No backslashes are removed or have a special -meaning. A literal-string cannot contain a single quote. Use a normal string -for that. +This string is taken as it is. No backslashes are removed or have a special +meaning. A literal-string cannot contain a single quote. Use a normal, +double-quoted string for that. + +Single quoted strings are useful for patterns, so that backslashes do not need +to be doubled. These two commands are equivalent: > + if a =~ "\\s*" + if a =~ '\s*' option *expr-option* *E112* *E113* diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt index 269a0cede5..d31815a291 100644 --- a/runtime/doc/if_mzsch.txt +++ b/runtime/doc/if_mzsch.txt @@ -79,9 +79,33 @@ All the examples below assume this naming scheme. Note that you need to do this again for every buffer. The auto-instantiation can be achieved with autocommands, e.g. you can put -something like this in your .vimrc: > - au VimEnter,BufNew,BufNewFile,BufAdd,BufReadPre * - \:mz (require (prefix vim- vimext) +something like this in your .vimrc (EOFs should not have indentation): > + function s:MzRequire() + if has("mzscheme") + :mz << EOF + (require (prefix vim- vimext)) + (let ((buf (vim-get-buff-by-name (vim-eval "expand(\"\")")))) + (when (and buf (not (eq? buf (vim-curr-buff)))) + (parameterize ((current-namespace (vim-get-buff-namespace buf))) + (namespace-attach-module vim-global-namespace 'vimext) + (namespace-require '(prefix vim vimext))))) + EOF + endif + endfunction + + function s:MzStartup() + if has("mzscheme") + au BufNew,BufNewFile,BufAdd,BufReadPre * :call s:MzRequire() + :mz << EOF + (current-library-collection-paths + (cons + (build-path (find-system-path 'addon-dir) (version) "collects") + (current-library-collection-paths))) + EOF + endif + endfunction + + call s:MzStartup() < The global namespace just instantiated this module with the prefix "vimext:". diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 17201b457e..4879a64b69 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0aa. Last change: 2004 Sep 04 +*options.txt* For Vim version 7.0aa. Last change: 2004 Oct 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -954,6 +954,12 @@ A jump table for the options with a short description can be found at |Q_op|. prefer using ".bak", but make sure that you don't have files with ".bak" that you want to keep. + If you like to keep a lot of backups, you could use a BufWritePre + autocommand to change 'backupext' just before writing the file to + include a timestamp. > + :au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~' +< Use 'backupdir' to put the backup in a different directory. + *'backupskip'* *'bsk'* 'backupskip' 'bsk' string (default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*") global diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 991c9a4a05..47d0d7e7eb 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt For Vim version 6.2. Last change: Sep 10, 2004 +*pi_netrw.txt For Vim version 6.2. Last change: Sep 13, 2004 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -587,10 +587,14 @@ NETRW BROWSER VARIABLES *netrw-browse-var* "directories" and "files" in the listing. This pattern is used to remove such embedded messages. - g:netrw_keepdir keep current directory immune from the - browsing directory. The browsing - directory is contained in b:netrw_curdir + g:netrw_keepdir =1 (default) keep current directory + immune from the browsing directory. + =0 keep the current directory the + same as the browsing directory. + The browsing directory is contained in + b:netrw_curdir g:netrw_list_cmd command for listing remote directories + g:netrw_longlist if =1, then long listing will be default g:netrw_ftp_list_cmd options for passing along to ftp for directory listing. Defaults: unix or g:netrw_cygwin set: : "ls -lF" @@ -601,6 +605,12 @@ NETRW BROWSER VARIABLES *netrw-browse-var* g:netrw_local_rmdir remove directory command (rmdir) g:netrw_local_rename rename file/directory command unix-default: rm win32-default: ren + g:netrw_maxfilenamelen =32 by default, selected so as to make + long listings fit on 80 column displays. + If your screen is wider, and you have + file/directory names longer than 32 bytes, + you may set this option to keep listings + columnar. g:netrw_mkdir_cmd command for making a remote directory g:netrw_rm_cmd command for removing files g:netrw_rmdir_cmd command for removing directories @@ -825,22 +835,26 @@ See the for an example of how to handle an html file with mozilla. -MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* +MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* *netrw-curdir* -By default, g:netrw_keepdir is 0. This setting means that the current -directory will track the browsing directory. However, setting g:netrw_keepdir -to 1 (say, in your <.vimrc>) will keep the current directory independent -of the browsing directory. In that case, in order to make the two -directories the same, use the "c" map (just type c). +By default, g:netrw_keepdir is 1. This setting means that the current +directory will not track the browsing directory. However, setting +g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the +currently browsed directory be the current directory. +With the default setting for g:netrw_keepdir, in order to make the two +directories the same, use the "c" map (just type c). That map will set +the current directory to the current browsing directory. -BOOKMARKING A DIRECTORY *netrw-b* + +BOOKMARKING A DIRECTORY *netrw-b* *netrw-bookmark* *netrw-bookmarks* One may easily "bookmark" a directory by using {cnt}b -Any count may be used. +Any count may be used. One may use viminfo's "!" option to retain bookmarks +between vim sessions. CHANGING TO A BOOKMARKED DIRECTORY *netrw-B* @@ -913,7 +927,10 @@ the associated security issues. P4. I would like long listings to be the default. - let g:netrw_longlist=1 + let g:netrw_longlist=1 + + Check out |netrw-browse-var| for more customizations that + you can set. P5. My times come up oddly in local browsing @@ -923,10 +940,10 @@ the associated security issues. your <.vimrc>: let g:netrw_timefmt= "%X" (where X is the option) - P6. I don't want my current directory changing just because I'm - browsing somewhere. + P6. I want my current directory to track my browsing. + How do I do that? - let g:netrw_keepdir= 1 + let g:netrw_keepdir= 0 ============================================================================== @@ -979,60 +996,65 @@ which is loaded automatically at startup (assuming :set nocp). ============================================================================== 10. History *netrw-history* - v48: * One may use ftp to do remote host file browsing + v50: * directories now displayed using buftype=nofile; should keep the + directory names as-is + * attempts to remove empty "[No File]" buffers leftover + from :file ..name.. commands + * bugfix: a "caps-lock" editing difficulty left in v49 was fixed + * syntax highlighting for "Showing:" the hiding list included + * bookmarks can now be retained if "!" is in the viminfo option + v49: * will use ftp for http://.../ browsing v48: * One may use ftp to + do remote host file browsing * (windows and !cygwin) remote browsing with ftp can now use the "dir" command internally to provide listings * g:netrw_keepdir now allows one to keep the initial current - directory as the current directory (normally the local - file browser makes the currently viewed directory the - current directory) + directory as the current directory (normally the local file + browser makes the currently viewed directory the current + directory) * g:netrw_alto and g:netrw_altv now support alternate placement of windows started with o or v * Nread ? and Nwrite ? now uses echomsg (instead of echo) so :messages can repeat showing the help * bugfix: avoids problems with partial matches of directory names to prior buffers with longer names - * one can suppress error messages with g:netrw_quiet - * ctrl-h used instead of h for editing hiding list - * one may edit the sorting sequence with the S map - * now allows confirmation of deletion with [y(es) n(o) a(ll) q(uit)] - * the "x" map now handles special file viewing with: - (windows) rundll32 url.dll - (gnome) gnome-open - (kde) kfmclient - If none of these are on the executable path, then + * one can suppress error messages with g:netrw_quiet ctrl-h used + * instead of h for editing hiding list one may edit the + * sorting sequence with the S map now allows confirmation of + * deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles + * special file viewing with: + (windows) rundll32 url.dll (gnome) gnome-open (kde) + kfmclient If none of these are on the executable path, then NetrwFileHandlers.vim is used. * directory bookmarking during both local and remote browsing implemented * one may view all, use the hiding list to suppress, or use the - hiding list to show-only remote and local file/directory listings - * improved unusual file and directory name handling - * preview window support - v47: * now handles local directory browsing. - v46: * now handles remote directory browsing + hiding list to show-only remote and local file/directory + listings + * improved unusual file and directory name handling preview + * window support + v47: * now handles local directory browsing. v46: * now handles + remote directory browsing * g:netrw_silent (if 1) will cause all transfers to be silent'd - v45: * made the [user@]hostname:path form a bit more restrictive - to better handle errors in using protocols - (e.g. scp:usr@host:file was being recognized as an rcp request) - v44: * changed from "rsync -a" to just "rsync" + v45: * made the [user@]hostname:path form a bit more restrictive to + better handle errors in using protocols (e.g. scp:usr@host:file + was being recognized as an rcp request) v44: * changed from + "rsync -a" to just "rsync" * somehow an editing error messed up the test to recognize use of the fetch method for NetRead. * more debugging statements included - v43: * moved "Explanation" comments to help file - as "Network Reference" (|netrw-ref|) + v43: * moved "Explanation" comments to help file as + "Network Reference" (|netrw-ref|) * now uses Dfunc() Decho() and Dret() for debugging * removed superfluous NetRestorePosn() calls - v42: * now does BufReadPre and BufReadPost events on file:///* - and file://localhost/* - v41: * installed file:///* and file://localhost/* handling - v40: * prevents redraw when a protocol error occurs so that the - user may see it - v39: * sftp support - v38: * Now uses NetRestorePosn() calls with Nread/Nwrite commands + v42: * now does BufReadPre and BufReadPost events on file:///* and + file://localhost/* v41: * installed file:///* and + file://localhost/* handling v40: * prevents redraw when a + protocol error occurs so that the user may see it v39: * sftp + support v38: * Now uses NetRestorePosn() calls with + Nread/Nwrite commands * Temporary files now removed via bwipe! instead of bwipe - (thanks to Dave Roberts) - v37: * Claar's modifications which test if ftp is successful, otherwise - give an error message + (thanks to Dave Roberts) v37: * Claar's modifications which + test if ftp is successful, otherwise give an error message * After a read, the alternate file was pointing to the temp file. The temp file buffer is now wiped out. * removed silent from transfer methods so user can see what's diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 152728f531..6fe03f9dd1 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.0aa. Last change: 2004 Sep 13 +*syntax.txt* For Vim version 7.0aa. Last change: 2004 Sep 18 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1799,7 +1799,7 @@ If you do not want complex things like '@{${"foo"}}' to be parsed: > :let perl_no_extended_vars = 1 -{In Vim 6.x it was the other way around: "perl_extended_vars" enabled it.) +(In Vim 6.x it was the other way around: "perl_extended_vars" enabled it.) The coloring strings can be changed. By default strings and qq friends will be highlighted like the first line. If you set the variable diff --git a/runtime/doc/tags b/runtime/doc/tags index 98aa7aa2ea..c46eeb65bc 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -3542,6 +3542,7 @@ E675 print.txt /*E675* E676 options.txt /*E676* E677 eval.txt /*E677* E678 pattern.txt /*E678* +E679 syntax.txt /*E679* E68 pattern.txt /*E68* E69 pattern.txt /*E69* E70 pattern.txt /*E70* @@ -4414,6 +4415,7 @@ diff-options diff.txt /*diff-options* diff-patchexpr diff.txt /*diff-patchexpr* diff.txt diff.txt /*diff.txt* digraph-arg change.txt /*digraph-arg* +digraph-encoding digraph.txt /*digraph-encoding* digraph-table digraph.txt /*digraph-table* digraph.txt digraph.txt /*digraph.txt* digraphs digraph.txt /*digraphs* @@ -4920,7 +4922,6 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* -help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* @@ -5454,6 +5455,8 @@ netrw-R pi_netrw.txt /*netrw-R* netrw-S pi_netrw.txt /*netrw-S* netrw-activate pi_netrw.txt /*netrw-activate* netrw-b pi_netrw.txt /*netrw-b* +netrw-bookmark pi_netrw.txt /*netrw-bookmark* +netrw-bookmarks pi_netrw.txt /*netrw-bookmarks* netrw-browse pi_netrw.txt /*netrw-browse* netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds* netrw-browse-var pi_netrw.txt /*netrw-browse-var* @@ -5463,6 +5466,7 @@ netrw-contents pi_netrw.txt /*netrw-contents* netrw-cr pi_netrw.txt /*netrw-cr* netrw-credits pi_netrw.txt /*netrw-credits* netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l* +netrw-curdir pi_netrw.txt /*netrw-curdir* netrw-d pi_netrw.txt /*netrw-d* netrw-debug pi_netrw.txt /*netrw-debug* netrw-delete pi_netrw.txt /*netrw-delete* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index d4d0cdaa20..7cb6dbad69 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2004 Sep 13 +*todo.txt* For Vim version 7.0aa. Last change: 2004 Oct 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,18 +30,15 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Endless loop when "syntax reset" in ~/.vim/after/syntax/syncolor.vim. -Crash when using ":set background=dark". Solved! -Limit init_highlight() to five recursive calls? - patch for Vim 6.3 for free_oldval and init_highlight()? +Add browsedir(): like browse() but for directories. + For GTK it already sort-of works when the default name is empty. -Crash with long line. (Walter Briscoe, Sep 13) +When ":file" sets the alternate file name and it's empty this doesn't make +sense. Could skip it, but would that break scripts that rely on the buffer to +exist? -Add fix for appending BOM to 6.3? Reported by Alex Jakushev. - -Win32 console doesn't compile. Does GetCommandLineW() work for non-GUI? -(Dave Roberts) If yes, then move the functions to another file. -link with kernel32.lib? +Folding support for 2html. (Carl Osterwisch, Oct 4) +How to evaluate an expression in the sandbox? Aborting at the ATTENTION prompt causes trouble: buffer remains active, nwindows isn't closed (fixed in buffer.c) @@ -59,7 +56,44 @@ Win32: When the path to a file has Russian characters, ":cd %:p:h" doesn't work. (Valery Kondakoff) Solved in os_mswin.c. Add to 6.3? +Patch for Win32 textdomain: NAKADAIRA Yukihiro, Sept 17. + +GTK 2 error message with this sequence (Namsh Oct 7): + - start gvim with French locale + - set enc=utf-8 + - :aunmenu * + - :unlet did_install_default_menus + - :source $VIMRUNTIME/menu.vim + Valencia: executable("xxd.exe") returns true while "!xxd" doesn't work. +Works fine for me. Only in specific environment? + +netrw plugin: When coming back to the same directory a scratch buffer appears. +Only on Win32. (Charles Campbell, Sept 15) + +New Eiffel indent script from Jocelyn Fiat. OK with David Clarke. + +Win32: not using 'tenc' in GUI causes problems on Win 98? (Jiri Jezdinsky) +Try out with Russian input method. + +After "Y" '[ and '] are not at start/end of the yanked text. (Ken Clark) + +Patch for adding 'fsync' option: disable using fsync() on file write. (Sept. +26, Ciaran McCreesh) + +Folding for C syntax: (Olaf Dabrunz 27 sept 2004) + +Add remark about using Vim with VS .net to Visvim docs. (David Fishburn, Sept +27) + +Vim icon for documents associated with Vim? (Rahul Kulkarni, sept 28) + +Add a function to test if a font name actually works. + +When using "set laststatus=2 cmdheight=2" in the .gvimrc you only get one line +for the cmdline. (Christian Robinson) When the Vim window is resized (e.g., +xterm with many lines) it's OK. + For version 7.0: @@ -70,6 +104,7 @@ For version 7.0: 7 For Visual mode: Command to do a search for the string in the marked area. Only when fewer than two lines. Use "g/" and "gb". Patch from Yegappan Lakshmanan. 2004 Jul 11 + When more than two lines: perform a search in the Visual area only. 8 Make 'statusline' local, so that each window can have a different value. But should it also be local to a buffer? (Yegappan Lakshmanan has a patch, 2004 Jul 11) @@ -168,6 +203,12 @@ For version 7.0: - findmatch() should be adjusted for Lisp. See remark at get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram, incomplete patch Mar 18) + - Set user variables to the names of the actually used user vimrc file, + the first directory looked for user plugins/syntax files. + $MYVIMRC for .vimrc, $MYGVIMRC for .gvimrc, $MYRUNTIME/plugin for + runtime files? + Also: when the environment variable exists, use it. If it doesn't + exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR - In the kvim/KDE source files fix the formatting. @@ -192,6 +233,8 @@ For version 7.0: the contains list directly for matching syntax items. - Keep wordlist in syntax group, load it only once and use it several times later. Sort of global syntax items. + - Use wordlists from openoffice (myspell). Work together with them to + update the wordlist. (Adri Verhoef, Aad Nales) - REFACTORING: The main() function is very long. Move parts to separate functions, especially loops. Ideas from Walter Briscoe (2003 Apr 3, 2004 Feb 9). @@ -205,9 +248,33 @@ For version 7.0: http://sourceforge.net/projects/insenvim http://cedet.sourceforge.net/intellisense.shtml (for Emacs) Ivan Villanueva has something for Java. + Can't call it Intellisense, it is a trademark by Microsoft. + Ideas from the Vim 7 BOF at SANE: + - It's not possible to have one solution for all languages. Design an + interface for completion plugins. The matches can be done in a + Vim-script list. + - For interpreted languages, use the interpreter to obtain information. + Should work for Java (Eclipse does this), Python, Tcl, etc. + - Check Readline for its completion interface. + - Use ctags for other languages. Writing a file could trigger running + ctags, merging the tags of the changed file. +- UNDO TREE: keep all states of the text, don't delete undo info. + When making a change, instead of clearing any future undo (thus redo) + info, make a new branch. + To navigate through the undo tree number the states of the text + sequentially and make it possible to go through the tree in that order. + Could also use timestamps (to show the time and/or jump to a state five + minutes ago). (David Schweikert) + To go from one state to another: backtrack to a common state, then forward + again. + Only difficult thing: When going back in time, how to find the previous + text state in the tree? + Show the list of changes in a window to be able to select a version? - PERSISTENT UNDO: store undo in a file. - Support multiple threads. Show the list of changes in a window to be able - to select a version. + Use timestamps, so that a version a certain time ago can be found and info + before some time/date can be flushed. 'undopersist' gives maximum time to + keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and + extension: ".filename.un~" (like swapfile but "un~" instead of "swp"). 7 SWAP FILE CHANGE: When a dos format file was edited with ":e ++ff=unix", Vim is killed and trying to recover the file, 'ff' will be dos. Same for non-default fileencoding. (Miroslaw Dobrzanski-Neumann, Jul 17) @@ -235,8 +302,12 @@ For version 7.0: - STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is. Especially when using the scrollbar. Typing a cursor-movement command scrolls back to where the cursor is. +- Execute a function with standard option values. No need to save and + restore option values. Especially useful for new options. Problem: how + to avoid a performance penalty (esp. for string options)? 8 Support four composing/combining characters, needed for Hebrew. (Ron Aaron) Add the 'maxcombining' option to set the nr. of composing characters. + At the same time support more colors (use two bytes when necessary). - Add a few more things to 'diffopt': "horizontal", "vertical", "foldcolumn". (Benji Fisher, 2004 Jun 21) - FileChangedShellPost autocommand event: after (not) reloading a changed @@ -265,6 +336,9 @@ For version 7.0: - "onemore" flag in 'virtualedit': move cursor past end of line. Patch by Mattias Flodin (2004 Jul 30) +The fsync() in buf_write() causes laptop harddisk spinup. Add an option to +avoid it? + Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug 2004). Should also work for 'filetype'. @@ -274,6 +348,9 @@ Smilauer, 2004 Sep 13) Win32: In 'fileencodings' allow using "acp" for the active codepage. Useful value: "ucs-bom,utf-8,acp,latin1" +Win32: Cannot edit a file starting with # with --remote. (Giuseppe Bilotta, +Oct 6 2004) + For manipulating buffers without opening a new window, support Virtual windows. Example: :virtwin let l = GetBufLine(4, 10) @@ -291,6 +368,10 @@ Win32: In the generated batch files, use $VIMRUNTIME if it's set. Examples by Mathias Michaelis (2004 Sep 6) Also place vimtutor.bat in %windir%? +Support ":enew filename" to edit a new buffer with a name. It's like "enew | +file filename" but without setting the alternate file to a buffer without a +name. (Charles Campbell) + Vi incompatibility: 9 In Ex mode, "u" undoes all changes, not just the last one. (John Cowan) @@ -386,6 +467,7 @@ GTK+ GUI known bugs: KDE GUI known bugs: - The default font is ugly. bold text isn't displayed correctly. + (bold characters are half the width of normal characters) - Error messages when starting up. The "tip of the day" box is empty. - Encoding of menu items needs to be converted. (Yasuhiro Matsumoto) @@ -2041,6 +2123,7 @@ Autocommands: *Leave - Leaving a mode (in pair with the above *Enter) VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled when exiting isn't a good idea. + WinMoved - when windows have been moved around, e.g, ":wincmd J" CmdUndefined - Like FuncUndefined but for user commands. SearchPost - After doing a search command (e.g. to do "M") PreDirChanged/PostDirChanged @@ -2511,8 +2594,6 @@ Mappings and Abbreviations: - Add command to repeat a whole mapping ("." only repeats the last change in a mapping). Also: Repeat a whole insert command, including any mappings that it included. Sort-of automatic recording? -- Make it possible to undo all the commands from a mapping, including a - trailing unfinished command, e.g. for ":map K iX^[r". - Add an option to ":map" that makes it display the special keys in <> notation (e.g. instead of ^M). Or just always do this? - Include an option (or flag to 'cpoptions') that makes errors in mappings @@ -2663,6 +2744,8 @@ item stack to allow matching (). One side is "push X on Undo: +- Make it possible to undo all the commands from a mapping, including a + trailing unfinished command, e.g. for ":map K iX^[r". - When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not possible, even when typing immediately. (Grahn) Also for "i", "a", etc. Postpone saving for undo until something is really inserted? @@ -2676,9 +2759,6 @@ Undo: version without changing the rest of the file. Stop doing this when a change includes only some of these lines and changes the line count. Need to store these undo actions as a separate change that can be undone. -7 Add an undo tree: When making a change, instead of clearing any future - undo (thus redo) info, make a new branch. How to navigate through the - undo tree? - For u_save() include the column number. This can be used to set '[ and ']. And in the future the undo can be made more efficient (Webb). - In out-of-memory situations: Free allocated space in undo, and reduce the @@ -2897,7 +2977,7 @@ Digraphs: below/above). - Use digraph table to tell Vim about the collating sequence of special characters? -8 Add command to remove (all) digraphs. (Brown) +8 Add command to remove one or more (all) digraphs. (Brown) 7 Support different sets of digraphs (depending on the character set?). At least Latin1/Unicode, Latin-2, MS-DOS (esp. for Win32). diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 97c39d9a06..ace402f9a1 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.0aa. Last change: 2004 Aug 28 +*usr_41.txt* For Vim version 7.0aa. Last change: 2004 Oct 06 VIM USER MANUAL - by Bram Moolenaar @@ -218,9 +218,9 @@ To avoid the need for a backslash, you can use a string in single quotes: > :echo name < "peter" ~ -Inside a single-quote string all the characters are taken literally. The -drawback is that it's impossible to include a single quote. A backslash is -taken literally as well, thus you can't use it to change the meaning of the +Inside a single-quote string all the characters are as they are. The drawback +is that it's impossible to include a single quote. A backslash is taken +literally as well, thus you can't use it to change the meaning of the character after it. In double-quote strings it is possible to use special characters. Here are a few useful ones: diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 01705ff299..7074532498 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2004 Sep 13 +*version7.txt* For Vim version 7.0aa. Last change: 2004 Oct 07 VIM REFERENCE MANUAL by Bram Moolenaar @@ -243,6 +243,12 @@ upper case. Add color support to the builtin vt320 terminal codes. For the '%' item in 'viminfo', allow a number to set a maximum for the number of buffers. +When a file looks like a shell script, check for an "exec" command that starts +the tcl interpreter. (suggested by Alexios Zavras) + +Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that +digraphs still work when iconv is not available. + ============================================================================== COMPILE TIME CHANGES *compile-changes-7* @@ -373,4 +379,21 @@ When an error message is given while waiting for a character (e.g., when an xterm reports the number of colors), the hit-enter prompt overwrote the last line. Don't reset msg_didout in normal_cmd() for K_IGNORE. +Mac GUI: Shift-Tab didn't work. + +When defining tooltip text, don't translate terminal codes, since it's not +going to be used like a command. + +GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a +GTK error. Invalid characters may appear when 'encoding' is changed. + +GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango. + +Win32: When 'encoding' is changed while starting up, use the Unicode command +line to convert the file arguments to 'encoding'. Both for the GUI and the +console version. + +Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because +there is no codepage for latin9. Do our own conversion from latin9 to UCS2. + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 5fd12aa9fc..26c222f0bb 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" Last Change: 2004 Sep 11 +" Last Change: 2004 Oct 02 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -1339,22 +1339,41 @@ fun! SetFileTypeSH(name) unlet b:is_bash endif endif - setf sh + call SetFileTypeShell("sh") +endfun + +" For shell-like file types, check for an "exec" command hidden in a comment, +" as used for Tcl. +fun! SetFileTypeShell(name) + let l = 2 + while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)' + " Skip empty and comment lines. + let l = l + 1 + endwhile + if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$' + " Found an "exec" line after a comment with continuation + let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '') + if n =~ '\ +" Maintainer: Jocelyn Fiat +" Previous-Maintainer: David Clarke " $Date$ " $Revision$ -" URL: http://gadicath.webhop.net/other/eiffel.vim +" URL: http://www.djoce.net/page/vim/ +" Last Change: 2004 Sep 14 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -20,8 +22,6 @@ setlocal comments=:-- setlocal indentkeys+==end,=else,=ensure,=require,=check,=loop,=until setlocal indentkeys+==creation,=feature,=inherit,=class,=is,=redefine,=rename,=variant setlocal indentkeys+==invariant,=do,=local,=export -setlocal sw=3 -setlocal tw=78 " Define some stuff " keywords grouped by indenting @@ -96,7 +96,7 @@ function GetEiffelIndent() " set indent of zero end statements that are at an indent of 3, this should " only ever be the class's end. - if getline(v:lnum) =~ '^\s*end\>' && ind == 3 + if getline(v:lnum) =~ '^\s*end\>' && ind == &sw let ind = 0 endif diff --git a/runtime/indent/java.vim b/runtime/indent/java.vim index a600c4bf33..311d7086e6 100644 --- a/runtime/indent/java.vim +++ b/runtime/indent/java.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Java -" Maintainer: Toby Allsopp -" Last Change: 2003 Oct 21 +" Maintainer: Toby Allsopp (resigned) +" Last Change: 2004 Oct 05 " Only load this indent file when no other was loaded. if exists("b:did_indent") diff --git a/runtime/menu.vim b/runtime/menu.vim index b4ab630309..b504ff82cc 100644 --- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -2,7 +2,7 @@ " You can also use this as a start for your own set of menus. " " Maintainer: Bram Moolenaar -" Last Change: 2004 May 26 +" Last Change: 2004 Sep 16 " Note that ":an" (short for ":anoremenu") is often used to make a menu work " in all modes and avoid side effects from mappings defined by the user. @@ -382,7 +382,7 @@ if has("keymap") endif unlet s:n endif -if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_photon") +if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac") an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=* endif diff --git a/runtime/plugin/netrw.vim b/runtime/plugin/netrw.vim index 9f5dc9e74a..608cc7d21e 100644 --- a/runtime/plugin/netrw.vim +++ b/runtime/plugin/netrw.vim @@ -1,7 +1,7 @@ " netrw.vim: Handles file transfer and remote directory listing across a network -" Last Change: Sep 10, 2004 +" Last Change: Sep 14, 2004 " Maintainer: Charles E. Campbell, Jr. PhD -" Version: 48 +" Version: 51a NOT RELEASED " License: Vim License (see vim's :help license) " " But be doers of the Word, and not only hearers, deluding your own selves @@ -14,7 +14,7 @@ if exists("g:loaded_netrw") || &cp finish endif -let g:loaded_netrw = "v48" +let g:loaded_netrw = "v51a" let s:save_cpo = &cpo let loaded_explorer = 1 set cpo&vim @@ -115,7 +115,7 @@ if !exists("g:netrw_hide") let g:netrw_hide= 1 endif if !exists("g:netrw_ftp_browse_reject") - let g:netrw_ftp_browse_reject='^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not' + let g:netrw_ftp_browse_reject='^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$' endif if !exists("g:netrw_keepdir") let g:netrw_keepdir= 1 @@ -140,6 +140,9 @@ endif if !exists("g:netrw_altv") let g:netrw_altv= 0 endif +if !exists("g:netrw_maxfilenamelen") + let g:netrw_maxfilenamelen= 32 +endif " BufEnter event ignored by decho when following variable is true " Has a side effect that doau BufReadPost doesn't work, so @@ -211,9 +214,11 @@ if version >= 600 au BufReadCmd file:///* exe "silent doau BufReadPre ".expand("")|exe 'e /'.substitute(expand(""),"file:/*","","")|exe "silent doau BufReadPost ".expand("") au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".expand("")|exe 'e /'.substitute(expand(""),"file:/*","","")|exe "silent doau BufReadPost ".expand("") endif - au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("")|exe "Nread 0r ".expand("")|exe "silent doau BufReadPost ".expand("") - au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("")|exe "Nread " .expand("")|exe "silent doau BufReadPost ".expand("") - au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("")|exe "Nwrite " .expand("")|exe "silent doau BufWritePost ".expand("") + au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("")|exe "Nread 0r ".expand("")|exe "silent doau BufReadPost ".expand("") + au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("")|exe "Nread " .expand("")|exe "silent doau BufReadPost ".expand("") + au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("")|exe "Nwrite " .expand("")|exe "silent doau BufWritePost ".expand("") + au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("")|exe "'[,']Nwrite " .expand("")|exe "silent doau BufWritePost ".expand("") +" au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* if exists("vcount")|call Decho("vcount=".vcount)|else|call Decho("no vcount")|endif augroup END endif @@ -1025,7 +1030,8 @@ fun! NetBrowse(dirname) " call Dfunc("NetBrowse(dirname<".a:dirname.">) longlist=".g:netrw_longlist) " sanity check - if exists("b:netrw_method") && b:netrw_method =~ '[23]' + if exists("b:netrw_method") && b:netrw_method =~ '[235]' +" call Decho("b:netrw_method=".b:netrw_method) if !executable("ftp") if !exists("g:netrw_quiet") echoerr "***netrw*** this system doesn't support remote directory listing via ftp" @@ -1066,11 +1072,13 @@ fun! NetBrowse(dirname) " call Decho("set up path <".path .">") " call Decho("set up fname <".fname .">") - if method == "ftp" + if method == "ftp" || method == "http" + let method = "ftp" let listcmd = g:netrw_ftp_list_cmd else let listcmd = substitute(g:netrw_list_cmd,'\',user.machine,'') endif + if exists("b:netrw_method") " call Decho("setting s:netrw_method<".b:netrw_method.">") let s:netrw_method= b:netrw_method @@ -1144,11 +1152,12 @@ fun! NetBrowse(dirname) endif " rename file to reflect where its from - setlocal ts=32 bt=nofile bh=wipe nobl + setlocal bt=nofile bh=wipe nobl noswf + exe "setlocal ts=".g:netrw_maxfilenamelen " call Decho("exe file ".escape(bufname,s:netrw_cd_escape)) exe 'file '.escape(bufname,s:netrw_cd_escape) " call Decho("renaming file to bufname<".bufname.">") - setlocal bt=nowrite bh=hide nobl + setlocal bh=hide nobl " set up buffer-local mappings " call Decho("set up buffer-local mappings") @@ -1338,7 +1347,6 @@ fun! NetBrowseChgDir(dirname,newdir) else " strip off a directory name from dirname let dirname= substitute(dirname,'^\(.*/\)[^/]\+/','\1','') - exe "silent! keepjumps ".curline.",$d" endif " call Decho("go up one dir: dirname<".dirname."> trailer<".trailer.">") @@ -1573,7 +1581,7 @@ fun! NetBrowseX(fname,remote) if a:remote == 1 let eikeep= &ei - set ei=all bh=delete bt=nofile + set ei=all bh=delete bt=nofile noswf exe "norm! \" let &ei= eikeep redraw! @@ -1601,15 +1609,13 @@ fun! NetBrowseFtpCmd(path,cmd) exe "silent! keepjumps ".curline.",$d" "......................................... - if s:netrw_method == 2 + if s:netrw_method == 2 || s:netrw_method == 5 " ftp + <.netrc>: Method #2 if a:path != "" put ='cd '.a:path endif exe "put ='".a:cmd."'" - - -" redraw!|call inputsave()|call input("Pausing...")|call inputrestore() "Decho +" redraw!|call inputsave()|call input("Pausing...")|call inputrestore() if exists("g:netrw_port") && g:netrw_port != "" " call Decho("exe ".g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port) exe g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port @@ -1875,29 +1881,29 @@ fun! NetBookmarkDir(chg,curdir) if a:chg == 0 " bookmark the current directory - let s:netrw_bookmarkdir_{v:count}= a:curdir - if !exists("s:bookmarkmax") - let s:bookmarkmax= v:count - elseif v:count > s:bookmarkmax - let s:bookmarkmax= v:count + let g:NETRW_BOOKMARKDIR_{v:count}= a:curdir + if !exists("g:NETRW_BOOKMARKMAX") + let g:NETRW_BOOKMARKMAX= v:count + elseif v:count > g:NETRW_BOOKMARKMAX + let g:NETRW_BOOKMARKMAX= v:count endif elseif a:chg == 1 " change to the bookmarked directory - if exists("s:netrw_bookmarkdir_{v:count}") - exe "e ".s:netrw_bookmarkdir_{v:count} + if exists("g:NETRW_BOOKMARKDIR_{v:count}") + exe "e ".g:NETRW_BOOKMARKDIR_{v:count} else echomsg "Sorry, bookmark#".v:count." doesn't exist!" endif - elseif exists("s:bookmarkmax") + elseif exists("g:NETRW_BOOKMARKMAX") " list bookmarks -" call Decho("list bookmarks [0,".s:bookmarkmax."]") +" call Decho("list bookmarks [0,".g:NETRW_BOOKMARKMAX."]") let cnt= 0 - while cnt <= s:bookmarkmax - if exists("s:netrw_bookmarkdir_{cnt}") - echo "Netrw Bookmark#".cnt.": ".s:netrw_bookmarkdir_{cnt} -" call Decho("Netrw Bookmark#".cnt.": ".s:netrw_bookmarkdir_{cnt}) + while cnt <= g:NETRW_BOOKMARKMAX + if exists("g:NETRW_BOOKMARKDIR_{cnt}") + echo "Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt} +" call Decho("Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt}) endif let cnt= cnt + 1 endwhile @@ -1905,7 +1911,6 @@ fun! NetBookmarkDir(chg,curdir) " call Dret("NetBookmarkDir") endfun - " --------------------------------------------------------------------- " Browsing Support For Local Directories And Files: {{{1 @@ -1972,20 +1977,32 @@ fun! LocalBrowse(dirname) endif endif " call Decho("buffer already exists, but needs re-listing (buf#".dirnamenr.")") +" call Decho("buffer name<".bufname("%")."> dirname<".dirname.">") setlocal ma keepjumps %d - if expand("%:p") != dirname + if expand("%") != dirname + " set standard browser options on buffer + setlocal bt=nofile bh=hide nobl noswf + exe "setlocal ts=".g:netrw_maxfilenamelen exe 'silent! file '.escape(dirname,s:netrw_cd_escape) -" call Decho("renamed file to<".escape(dirname,' #').">") +" call Decho("renamed buffer to<".escape(dirname,s:netrw_cd_escape).">") +" call Decho("yielding actual bufname<".bufname("%").">") endif else " call Decho("generate new buffer named<".escape(dirname,' #').">") silent! enew! + " set standard browser options on buffer + setlocal bt=nofile bh=hide nobl noswf + exe "setlocal ts=".g:netrw_maxfilenamelen exe 'silent! file '.substitute(escape(dirname,s:netrw_cd_escape),'/$','','e') -" call Decho("renamed file to<".escape(dirname,s:netrw_cd_escape).">") +" call Decho("renamed buffer to<".substitute(escape(dirname,s:netrw_cd_escape),'/$','','e').">") +" call Decho("yielding actual bufname<".bufname("%").">") + endif + if bufname("#") == "" && bufnr("#") != -1 + " the file command produces a lot of [No File] buffers +" call Decho("wiping out nofile buffer#".bufnr("#")) + exe bufnr("#")."bwipe" endif - " set standard browser options on buffer - setlocal ts=32 bt=nowrite bh=hide nobl " set up all the maps " call Decho("Setting up local browser maps") @@ -2076,7 +2093,7 @@ fun! LocalBrowse(dirname) setlocal noma nomod if g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif -" call Dret("LocalBrowse : file<".expand("%:p").">") +" call Dret("LocalBrowse : file<".expand("%:p")."> bufname<".bufname("%").">") endfun " --------------------------------------------------------------------- @@ -2123,7 +2140,7 @@ fun! LocalBrowseList(dirname) let filelist = substitute(filelist,'^.\{-}\n\(.*\)$','\1','e') else let file = filelist - let filelist= "" + let filelist = "" endif let pfile= file if isdirectory(file) diff --git a/runtime/scripts.vim b/runtime/scripts.vim index 07d04ff075..69bee3aaf7 100644 --- a/runtime/scripts.vim +++ b/runtime/scripts.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types in scripts " " Maintainer: Bram Moolenaar -" Last change: 2004 Sep 02 +" Last change: 2004 Oct 02 " This file is called by an autocommand for every file that has just been " loaded into a buffer. It checks if the type of file can be recognized by @@ -57,14 +57,14 @@ if s:line1 =~ "^#!" " csh scripts elseif s:name =~ '^csh\>' if exists("g:filetype_csh") - let &ft = g:filetype_csh + call SetFileTypeShell(g:filetype_csh) else - set ft=csh + call SetFileTypeShell("csh") endif " tcsh scripts elseif s:name =~ '^tcsh\>' - set ft=tcsh + call SetFileTypeShell("tcsh") " Z shell scripts elseif s:name =~ '^zsh\>' diff --git a/runtime/syntax/lss.vim b/runtime/syntax/lss.vim index fe20701d15..6620707f92 100644 --- a/runtime/syntax/lss.vim +++ b/runtime/syntax/lss.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Lynx 2.7.1 style file -" Maintainer: Scott Bigham -" Last Change: 2001 May 09 +" Maintainer: Scott Bigham +" Last Change: 2004 Oct 06 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded diff --git a/runtime/syntax/pccts.vim b/runtime/syntax/pccts.vim index ef52681179..8341f5bd43 100644 --- a/runtime/syntax/pccts.vim +++ b/runtime/syntax/pccts.vim @@ -1,6 +1,6 @@ " Vim syntax file " Language: PCCTS -" Maintainer: Scott Bigham +" Maintainer: Scott Bigham " Last Change: 10 Aug 1999 " For version 5.x: Clear all syntax items diff --git a/runtime/syntax/pod.vim b/runtime/syntax/pod.vim index 24d0c852cc..60f3353650 100644 --- a/runtime/syntax/pod.vim +++ b/runtime/syntax/pod.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Perl POD format -" Maintainer: Scott Bigham -" Last Change: 2001 May 09 +" Maintainer: Scott Bigham +" Last Change: 2004 Oct 05 " To add embedded POD documentation highlighting to your syntax file, add " the commands: @@ -25,7 +25,7 @@ elseif exists("b:current_syntax") endif " POD commands -syn match podCommand "^=head[12]" nextgroup=podCmdText +syn match podCommand "^=head[1234]" nextgroup=podCmdText syn match podCommand "^=item" nextgroup=podCmdText syn match podCommand "^=over" nextgroup=podOverIndent skipwhite syn match podCommand "^=back" @@ -52,7 +52,11 @@ syn match podSpecial "\(\<\|&\)\I\i*\(::\I\i*\)*([^)]*)" syn match podSpecial "[$@%]\I\i*\(::\I\i*\)*\>" " Special formatting sequences -syn region podFormat start="[IBSCLFXEZ]<" end=">" oneline contains=podFormat +syn region podFormat start="[IBSCLFX]<[^<]"me=e-1 end=">" oneline contains=podFormat +syn match podFormat "Z<>" +syn match podFormat "E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2 +syn match podEscape "\I\i*>"me=e-1 contained +syn match podEscape2 "\d\+>"me=e-1 contained " Define the default highlighting. " For version 5.7 and earlier: only when not done already @@ -72,6 +76,8 @@ if version >= 508 || !exists("did_pod_syntax_inits") HiLink podFormat Identifier HiLink podVerbatimLine PreProc HiLink podSpecial Identifier + HiLink podEscape String + HiLink podEscape2 Number delcommand HiLink endif diff --git a/runtime/syntax/samba.vim b/runtime/syntax/samba.vim index 10f7edce65..31570e093d 100644 --- a/runtime/syntax/samba.vim +++ b/runtime/syntax/samba.vim @@ -2,7 +2,7 @@ " Language: samba configuration files (smb.conf) " Maintainer: Rafael Garcia-Suarez " URL: http://rgarciasuarez.free.fr/vim/syntax/samba.vim -" Last change: 2002 May 06 +" Last change: 2004 September 21 " Don't forget to run your config file through testparm(1)! @@ -17,8 +17,8 @@ endif syn case ignore syn match sambaParameter /^[a-zA-Z \t]\+=/ contains=sambaKeyword -syn match sambaSection /^\s*\[[a-zA-Z0-9_\-. ]\+\]/ -syn match sambaMacro /%[SPugUGHvhmLMNpRdaIT]/ +syn match sambaSection /^\s*\[[a-zA-Z0-9_\-.$ ]\+\]/ +syn match sambaMacro /%[SPugUGHvhmLMNpRdaITD]/ syn match sambaMacro /%$([a-zA-Z0-9_]\+)/ syn match sambaComment /^\s*[;#].*/ syn match sambaContinue /\\$/ @@ -92,6 +92,18 @@ syn keyword sambaKeyword contained acls allocate bytes count csc devmode syn keyword sambaKeyword contained disable dn egd entropy enum extensions mmap syn keyword sambaKeyword contained policy spin spoolss +" Since Samba 3.0.2 +syn keyword sambaKeyword contained abort afs algorithmic backend +syn keyword sambaKeyword contained charset cups defer display +syn keyword sambaKeyword contained enable idmap kerberos lookups +syn keyword sambaKeyword contained methods modules nested NIS ntlm NTLMv2 +syn keyword sambaKeyword contained objects paranoid partners passdb +syn keyword sambaKeyword contained plaintext prefix primary private +syn keyword sambaKeyword contained profile quota realm replication +syn keyword sambaKeyword contained reported rid schannel sendfile sharing +syn keyword sambaKeyword contained shutdown signing special spnego +syn keyword sambaKeyword contained store unknown unwriteable + " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet diff --git a/runtime/syntax/scheme.vim b/runtime/syntax/scheme.vim index 1d4f55ddc1..41d491c657 100644 --- a/runtime/syntax/scheme.vim +++ b/runtime/syntax/scheme.vim @@ -194,7 +194,6 @@ if exists("b:is_mzscheme") || exists("is_mzscheme") syn keyword schemeExtSyntax error raise opt-lambda define-values unit unit/sig define-signature syn keyword schemeExtSyntax invoke-unit/sig define-values/invoke-unit/sig compound-unit/sig import export syn keyword schemeExtSyntax link syntax quasisyntax unsyntax with-syntax - hi def link schemeExtSyntax Type syn keyword schemeExtFunc format system-type current-extension-compiler current-extension-linker syn keyword schemeExtFunc use-standard-linker use-standard-compiler @@ -217,7 +216,6 @@ if exists("b:is_mzscheme") || exists("is_mzscheme") syn keyword schemeExtFunc exn:special-comment? exn:syntax? exn:thread? exn:user? exn:variable? exn:application:mismatch? " Command-line parsing syn keyword schemeExtFunc command-line current-command-line-arguments once-any help-labels multi once-each - hi def link schemeExtFunc PreProc " syntax quoting, unquoting and quasiquotation syn region schemeUnquote matchgroup=Delimiter start="#," end=![ \t\[\]()";]!me=e-1 contains=ALL @@ -230,6 +228,37 @@ if exists("b:is_mzscheme") || exists("is_mzscheme") syn region schemeQuoted matchgroup=Delimiter start="#['`](" matchgroup=Delimiter end=")" contains=ALL endif + +if exists("b:is_chicken") || exists("is_chicken") + syn match schemeOther oneline "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" + syn match schemeExtSyntax oneline "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+" + + syn keyword schemeExtSyntax unit uses declare hide foreign-declare foreign-parse foreign-parse/spec + syn keyword schemeExtSyntax foreign-lambda foreign-lambda* + syn keyword schemeExtSyntax let-optionals let-optionals* define-foreign-variable + syn keyword schemeExtFunc ##core#inline ##sys#error ##sys#update-errno + + " here-string + syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+ + + if filereadable(expand(":p:h")."/cpp.vim") + unlet! b:current_syntax + syn include @ChickenC :p:h/cpp.vim + syn region ChickenC matchgroup=schemeOther start=+(\@<=foreign-declare "+ end=+")\@=+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+foreign-declare\s*#<<\z(.*\)$+hs=s+15 end=+^\z1$+ contains=@ChickenC + syn region ChickenC matchgroup=schemeOther start=+(\@<=foreign-parse "+ end=+")\@=+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+foreign-parse\s*#<<\z(.*\)$+hs=s+13 end=+^\z1$+ contains=@ChickenC + syn region ChickenC matchgroup=schemeOther start=+(\@<=foreign-parse/spec "+ end=+")\@=+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+foreign-parse/spec\s*#<<\z(.*\)$+hs=s+18 end=+^\z1$+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+#>+ end=+<#+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+#>?+ end=+<#+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+#>!+ end=+<#+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+#>\$+ end=+<#+ contains=@ChickenC + syn region ChickenC matchgroup=schemeComment start=+#>%+ end=+<#+ contains=@ChickenC + endif + +endif + " Synchronization and the wrapping up... syn sync match matchPlace grouphere NONE "^[^ \t]" @@ -255,12 +284,14 @@ if version >= 508 || !exists("did_scheme_syntax_inits") HiLink schemeBoolean Boolean HiLink schemeDelimiter Delimiter - HiLink schemeConstant Constant + HiLink schemeConstant Constant HiLink schemeComment Comment HiLink schemeMultilineComment Comment HiLink schemeError Error + HiLink schemeExtSyntax Type + HiLink schemeExtFunc PreProc delcommand HiLink endif -- cgit v1.2.3