# HG changeset patch # User vimboss # Date 1123876759 0 # Node ID bf5ba8a0cdee590c0841391f9a8b65c456ed06bb # Parent 147da3983fcaaa684fa229c5de2a8bf75c602bac updated for version 7.0129 diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0aa. Last change: 2005 Aug 11 +*options.txt* For Vim version 7.0aa. Last change: 2005 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5701,6 +5701,8 @@ A jump table for the options with a shor Only used when 'spell' is set. Be careful with special characters, see |option-backslash| about including spaces and backslashes. + To set this option automatically depending on the language, see + |set-spc-auto|. *'spellfile'* *'spf'* 'spellfile' 'spf' string (default empty) @@ -5757,6 +5759,11 @@ A jump table for the options with a shor files twice. How the related spell files are found is explained here: |spell-load|. + After this option has been set successfully, Vim will source the files + "spell/LANG.vim" in 'runtimepath'. "LANG" is the value of 'spelllang' + up to the first comma, dot or underscore. See |set-spc-auto|. + + *'spellsuggest'* *'sps'* 'spellsuggest' 'sps' string (default "best") global diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.0. Last change: Aug 09, 2005 +*pi_netrw.txt* For Vim version 7.0. Last change: Aug 11, 2005 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -80,19 +80,19 @@ 1. Netrw Reference *netrw-ref* want it ignored, then set this variable as shown. Its mere existence is enough to cause <.netrc> to be ignored. - Controlling External Applications + Controlling External Applications *netrw-externapp* Protocol Variable Default Value -------- ---------------- ------------- - dav: g:netrw_dav_cmd = "cadaver" - fetch: g:netrw_fetch_cmd = "fetch -o" - ftp: g:netrw_ftp_cmd = "ftp" - http: g:netrw_http_cmd = "fetch -o" if fetch is available - http: g:netrw_http_cmd = "wget -q -O" If wget is available - rcp: g:netrw_rcp_cmd = "rcp" - rsync: g:netrw_rsync_cmd = "rsync -a" - scp: g:netrw_scp_cmd = "scp -q" - sftp: g:netrw_sftp_cmd = "sftp" + dav: *g:netrw_dav_cmd* = "cadaver" + fetch: *g:netrw_fetch_cmd* = "fetch -o" + ftp: *g:netrw_ftp_cmd* = "ftp" + http: *g:netrw_http_cmd* = "fetch -o" if fetch is available + http: g:netrw_http_cmd = "wget -q -O" If wget is available + rcp: *g:netrw_rcp_cmd* = "rcp" + rsync: *g:netrw_rsync_cmd* = "rsync -a" + scp: *g:netrw_scp_cmd* = "scp -q" + sftp: *g:netrw_sftp_cmd* = "sftp" READING *netrw-read* *netrw-nread* :Nread ? give help @@ -136,31 +136,41 @@ 1. Netrw Reference *netrw-ref* :call NetUserPass("uid","password") -- sets global uid and password VARIABLES *netrw-variables* - b:netrw_lastfile last file Network-read/written retained on + *b:netrw_lastfile* + last file Network-read/written retained on a per-buffer basis (supports plain :Nw ) - s:netrw_line during Nw/NetWrite, holds current line number - s:netrw_col during Nw/NetWrite, holds current column number + *s:netrw_line* + during :Nw/NetWrite, holds current line number + *s:netrw_col* + during :Nw/NetWrite, holds current column number s:netrw_line and s:netrw_col are used to restore the cursor position on writes - g:netrw_ftp if it doesn't exist, use default ftp + *g:netrw_ftp* + if it doesn't exist, use default ftp =0 use default ftp (uid password) =1 use alternate ftp method (user uid password) - g:netrw_ftpmode ="binary" (default) + *g:netrw_ftpmode* + ="binary" (default) ="ascii" - g:netrw_uid (ftp) user-id, retained on a per-session basis - g:netrw_passwd (ftp) password, retained on a per-session basis - g:netrw_win95ftp =1 if using Win95, will remove four trailing blank + *g:netrw_uid* + (ftp) user-id, retained on a per-session basis + *g:netrw_passwd* + (ftp) password, retained on a per-session basis + *g:netrw_win95ftp* + =1 if using Win95, will remove four trailing blank lines that o/s's ftp "provides" on transfers =0 force normal ftp behavior (no trailing line removal) - g:netrw_cygwin =1 assume scp under windows is from cygwin + *g:netrw_cygwin* + =1 assume scp under windows is from cygwin Also permits network browsing to use ls with time and size sorting (default if windows) =0 assume Windows' scp accepts windows-style paths Network browsing uses dir instead of ls This option is ignored if you're using unix - g:netrw_use_nt_rcp=0 don't use the rcp of WinNT, Win2000 and WinXP + *g:netrw_use_nt_rcp* + =0 don't use the rcp of WinNT, Win2000 and WinXP =1 use WinNT's rcp in binary mode (default) PATHS *netrw-path* @@ -620,17 +630,17 @@ NETRW BROWSER VARIABLES *netrw-brows --- ----------- Var Explanation --- ----------- -< g:netrw_alto change from above splitting to +< *g:netrw_alto* change from above splitting to below splitting by setting this variable (see |netrw-o|) default: =0 - g:netrw_altv change from left splitting to + *g:netrw_altv* change from left splitting to right splitting by setting this variable (see |netrw-v|) default: =0 - g:netrw_ftp_browse_reject ftp can produce a number of errors + *g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings that can show up as "directories" and "files" in the listing. This pattern is used to @@ -644,7 +654,7 @@ NETRW BROWSER VARIABLES *netrw-brows : connect to address [0-9a-fA-F:]* : No route to host$' - g:netrw_ssh_browse_reject ssh can sometimes produce unwanted + *g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines/messages/banners/and whatnot that one doesn't want masquerading as "directories" and "files". Use @@ -652,71 +662,71 @@ NETRW BROWSER VARIABLES *netrw-brows messages. By default its value is: '^total\s\+\d\+$' - g:netrw_keepdir =1 (default) keep current directory + *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_list_cmd* command for listing remote directories default: (if ssh is executable) "ssh HOSTNAME ls -FLa" - g:netrw_longlist if =1, then long listing will be default + *g:netrw_longlist* if =1, then long listing will be default - g:netrw_ftp_list_cmd options for passing along to ftp for + *g:netrw_ftp_list_cmd* options for passing along to ftp for directory listing. Defaults: unix or g:netrw_cygwin set: : "ls -lF" otherwise "dir" - g:netrw_list_hide comma separated list of patterns for + *g:netrw_list_hide* comma separated list of patterns for hiding files default: "" - g:netrw_local_mkdir command for making a local directory + *g:netrw_local_mkdir* command for making a local directory default: "ssh HOSTNAME mkdir" - g:netrw_local_rmdir remove directory command (rmdir) + *g:netrw_local_rmdir* remove directory command (rmdir) default: "rmdir" - g:netrw_maxfilenamelen =32 by default, selected so as to make + *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_mkdir_cmd* command for making a remote directory default: "ssh HOSTNAME mkdir" - g:netrw_rm_cmd command for removing files + *g:netrw_rm_cmd* command for removing files default: "ssh HOSTNAME rm" - g:netrw_rmdir_cmd command for removing directories + *g:netrw_rmdir_cmd* command for removing directories default: "ssh HOSTNAME rmdir" - g:netrw_rmf_cmd command for removing softlinks + *g:netrw_rmf_cmd* command for removing softlinks default: "ssh HOSTNAME rm -f" - g:netrw_hide if true, the hiding list is used + *g:netrw_hide* if true, the hiding list is used default: =0 - g:netrw_sort_by sort by "name", "time", or "size" + *g:netrw_sort_by* sort by "name", "time", or "size" default: "name" - g:netrw_sort_direction sorting direction: "normal" or "reverse" + *g:netrw_sort_direction* sorting direction: "normal" or "reverse" default: "normal" - g:netrw_sort_sequence when sorting by name, first sort by the + *g:netrw_sort_sequence* when sorting by name, first sort by the comma-separated pattern sequence default: '[\/]$,*,\.bak$,\.o$,\.h$, \.info$,\.swp$,\.obj$' - g:netrw_timefmt specify format string to strftime() (%c) + *g:netrw_timefmt* specify format string to strftime() (%c) default: "%c" - g:netrw_winsize specify initial size of new o/v windows + *g:netrw_winsize* specify initial size of new o/v windows default: "" INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro* @@ -815,7 +825,7 @@ GOING UP *netrw--* To go up a directory, press - or his the when atop the ../ directory entry in the listing. -Netrw will modify the command in *g:netrw_list_cmd* to perform the directory +Netrw will modify the command in |g:netrw_list_cmd| to perform the directory listing operation. By default the command is: ssh HOSTNAME ls -FLa @@ -862,20 +872,17 @@ succeeding. Netrw will ask for confirma You may select a range of lines with the "V" command (visual selection), and then pressing "D". - *g:netrw_rm_cmd* The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used to control the attempts to remove files and directories. The g:netrw_rm_cmd is used with files, and its default value is: g:netrw_rm_cmd: ssh HOSTNAME rm - *g:netrw_rmdir_cmd* The g:netrw_rmdir_cmd variable is used to support the removal of directories. Its default value is: g:netrw_rmdir_cmd: ssh HOSTNAME rmdir - *g:netrw_rmf_cmd* If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt to remove it again using the g:netrw_rmf_cmd variable. Its default value is: @@ -898,7 +905,7 @@ One may rename a block of files and dire the V (|linewise-visual|). -HIDING FILES OR DIRECTORIES *g:netrw-a* *g:netrw_list_hide* +HIDING FILES OR DIRECTORIES *g:netrw-a* Netrw's browsing facility allows one to use the hiding list in one of three ways: ignore it, hide files which match, and show only those files @@ -1188,6 +1195,11 @@ which is loaded automatically at startup ============================================================================== 10. History *netrw-history* + v61: * document upgrade -- netrw variable-based settings all should + have tags. Supports NetrwSettings command. + * several important variables are window-oriented. Netrw has + to transfer these across a window split. See s:BufWinVars() + and s:UseBufWinVars(). v60: * when using the i map to switch between long and short listings, netrw will now keep cursor on same line * "Match # of #" now uses status line diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.0aa. Last change: 2005 Aug 11 +*spell.txt* For Vim version 7.0aa. Last change: 2005 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -155,7 +155,8 @@ and sorted. See |'spellsuggest'|. The 'spellcapcheck' option is used to check the first word of a sentence starts with a capital. This doesn't work for the first word in the file. When there is a line break right after a sentence the highlighting of the next -line may be postponed. Use |CTRL-L| when needed. +line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for +how it can be set automatically when 'spelllang' is set. ============================================================================== 2. Remarks on spell checking *spell-remarks* @@ -319,6 +320,21 @@ find these functions useful: spellsuggest() get list of spelling suggestions soundfold() get the sound-a-like version of a word + +SETTING 'spellcapcheck' AUTOMATICALLY *set-spc-auto* + +After the 'spelllang' option has been set successfully, Vim will source the +files "spell/LANG.vim" in 'runtimepath'. "LANG" is the value of 'spelllang' +up to the first comma, dot or underscore. This can be used to set options +specifically for the language, especially 'spellcapcheck'. + +The distribution includes a few of these files. Use this command to see what +they do: > + :next $VIMRUNTIME/spell/*.vim + +Note that the default scripts don't set 'spellcapcheck' if it was changed from +the default value. This assumes the user prefers another value then. + ============================================================================== 3. Generating a spell file *spell-mkspell* diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1640,12 +1640,18 @@ 90.5 usr_90.txt /*90.5* :@ repeat.txt /*:@* :@: repeat.txt /*:@:* :@@ repeat.txt /*:@@* +:Explore pi_netrw.txt /*:Explore* +:Hexplore pi_netrw.txt /*:Hexplore* :Man filetype.txt /*:Man* :N editing.txt /*:N* +:Nexplore pi_netrw.txt /*:Nexplore* :Next editing.txt /*:Next* :P various.txt /*:P* +:Pexplore pi_netrw.txt /*:Pexplore* :Print various.txt /*:Print* +:Sexplore pi_netrw.txt /*:Sexplore* :TOhtml syntax.txt /*:TOhtml* +:Vexplore pi_netrw.txt /*:Vexplore* :X editing.txt /*:X* :\bar cmdline.txt /*:\\bar* :_! cmdline.txt /*:_!* @@ -4222,6 +4228,7 @@ a} motion.txt /*a}* b motion.txt /*b* b:changedtick-variable eval.txt /*b:changedtick-variable* b:current_syntax-variable syntax.txt /*b:current_syntax-variable* +b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile* b:var eval.txt /*b:var* backslash intro.txt /*backslash* backspace intro.txt /*backspace* @@ -4984,11 +4991,43 @@ g, motion.txt /*g,* g0 motion.txt /*g0* g8 various.txt /*g8* g:netrw-a pi_netrw.txt /*g:netrw-a* +g:netrw_alto pi_netrw.txt /*g:netrw_alto* +g:netrw_altv pi_netrw.txt /*g:netrw_altv* +g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin* +g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd* +g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd* +g:netrw_ftp pi_netrw.txt /*g:netrw_ftp* +g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject* +g:netrw_ftp_cmd pi_netrw.txt /*g:netrw_ftp_cmd* +g:netrw_ftp_list_cmd pi_netrw.txt /*g:netrw_ftp_list_cmd* +g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode* +g:netrw_hide pi_netrw.txt /*g:netrw_hide* +g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd* +g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir* g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd* g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide* +g:netrw_local_mkdir pi_netrw.txt /*g:netrw_local_mkdir* +g:netrw_local_rmdir pi_netrw.txt /*g:netrw_local_rmdir* +g:netrw_longlist pi_netrw.txt /*g:netrw_longlist* +g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen* +g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd* +g:netrw_passwd pi_netrw.txt /*g:netrw_passwd* +g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd* g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd* g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd* g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd* +g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd* +g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd* +g:netrw_sftp_cmd pi_netrw.txt /*g:netrw_sftp_cmd* +g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by* +g:netrw_sort_direction pi_netrw.txt /*g:netrw_sort_direction* +g:netrw_sort_sequence pi_netrw.txt /*g:netrw_sort_sequence* +g:netrw_ssh_browse_reject pi_netrw.txt /*g:netrw_ssh_browse_reject* +g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt* +g:netrw_uid pi_netrw.txt /*g:netrw_uid* +g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp* +g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp* +g:netrw_winsize pi_netrw.txt /*g:netrw_winsize* g:var eval.txt /*g:var* g; motion.txt /*g;* g< message.txt /*g<* @@ -5762,6 +5801,7 @@ netrw-edithide pi_netrw.txt /*netrw-edit netrw-ex pi_netrw.txt /*netrw-ex* netrw-explore pi_netrw.txt /*netrw-explore* netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds* +netrw-externapp pi_netrw.txt /*netrw-externapp* netrw-file pi_netrw.txt /*netrw-file* netrw-fixup pi_netrw.txt /*netrw-fixup* netrw-ftp pi_netrw.txt /*netrw-ftp* @@ -5784,6 +5824,12 @@ netrw-nwrite pi_netrw.txt /*netrw-nwrite netrw-o pi_netrw.txt /*netrw-o* netrw-options pi_netrw.txt /*netrw-options* netrw-p pi_netrw.txt /*netrw-p* +netrw-p1 pi_netrw.txt /*netrw-p1* +netrw-p2 pi_netrw.txt /*netrw-p2* +netrw-p3 pi_netrw.txt /*netrw-p3* +netrw-p4 pi_netrw.txt /*netrw-p4* +netrw-p5 pi_netrw.txt /*netrw-p5* +netrw-p6 pi_netrw.txt /*netrw-p6* netrw-passwd pi_netrw.txt /*netrw-passwd* netrw-path pi_netrw.txt /*netrw-path* netrw-pexplore pi_netrw.txt /*netrw-pexplore* @@ -6226,6 +6272,8 @@ s/\r change.txt /*s\/\\r* s/\t change.txt /*s\/\\t* s/\u change.txt /*s\/\\u* s/\~ change.txt /*s\/\\~* +s:netrw_col pi_netrw.txt /*s:netrw_col* +s:netrw_line pi_netrw.txt /*s:netrw_line* s:var eval.txt /*s:var* s change.txt /*s* sandbox eval.txt /*sandbox* @@ -6274,6 +6322,7 @@ serverlist() eval.txt /*serverlist()* servername-variable eval.txt /*servername-variable* session-file starting.txt /*session-file* set-option options.txt /*set-option* +set-spc-auto spell.txt /*set-spc-auto* setbufvar() eval.txt /*setbufvar()* setcmdpos() eval.txt /*setcmdpos()* setline() eval.txt /*setline()* @@ -6683,6 +6732,12 @@ terminal-info term.txt /*terminal-info* terminal-options term.txt /*terminal-options* terminfo term.txt /*terminfo* termresponse-variable eval.txt /*termresponse-variable* +tex-error syntax.txt /*tex-error* +tex-folding syntax.txt /*tex-folding* +tex-math syntax.txt /*tex-math* +tex-runon syntax.txt /*tex-runon* +tex-slow syntax.txt /*tex-slow* +tex-style syntax.txt /*tex-style* tex-syntax syntax.txt /*tex-syntax* tex.vim syntax.txt /*tex.vim* text-objects motion.txt /*text-objects* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 11 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,11 +30,6 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- -Spell checking: default value for 'spellcapcheck' in spell file? -For Hebrew and Yiddish it should be empty. - -Using "@:" has two problems (Tim Chase, 2005 Aug 9) - Mac unicode patch (Da Woon Jung): - selecting proportional font breaks display - UTF-8 text causes display problems. Font replacement causes this. diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2005 Aug 11 +*version7.txt* For Vim version 7.0aa. Last change: 2005 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -761,6 +761,9 @@ could not contain ":". Now include the pattern matches. In the example a ":" not followed by a line number is included in the file name. (suggested by Emanuele Giaquinta) +For command-line completion the matches for various types of arguments are now +sorted: user commands, variables, syntax names, etc. + ============================================================================== COMPILE TIME CHANGES *compile-changes-7* @@ -848,7 +851,8 @@ When converting a string with a hex or o ignored. ":echo '-05' + 0" resulted in 5 instead of -5. Using "@:" to repeat a command line didn't work when it contains control -characters. +characters. Also remove "'<,'>" when in Visual mode to avoid that it appears +twice. When using file completion for a user command, it would not expand environment variables like for a regular command with a file argument. diff --git a/runtime/plugin/netrw.vim b/runtime/plugin/netrw.vim --- 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: Aug 10, 2005 +" Last Change: Aug 12, 2005 " Maintainer: Charles E Campbell, Jr -" Version: 60 +" Version: 61 " License: Vim License (see vim's :help license) " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. " Permission is hereby granted to use and distribute this code, @@ -22,7 +22,7 @@ if exists("g:loaded_netrw") || &cp finish endif -let g:loaded_netrw = "v60" +let g:loaded_netrw = "v61" if v:version < 700 let loaded_explorer = 1 endif @@ -1079,6 +1079,9 @@ fun! NetBrowse(dirname) return endif + " use buffer-oriented WinVars if buffer ones exist but window ones don't + call s:UseBufWinVars() + " make this buffer modifiable setlocal ma nonu nowrap @@ -1161,6 +1164,9 @@ fun! NetBrowse(dirname) exe "silent doau BufReadPost ".fname keepjumps 1d + " save certain window-oriented variables into buffer-oriented variables + call s:BufWinVars() + setlocal nonu nomod noma " call Dret("NetBrowse : file<".fname.">") @@ -1429,6 +1435,8 @@ endfun " NetGetWord: it gets the directory named under the cursor fun! NetGetWord() " call Dfunc("NetGetWord() line#".line(".")) + call s:UseBufWinVars() + if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt let dirname= "./" let curline= getline(".") @@ -2166,6 +2174,9 @@ fun! LocalBrowse(dirname) set noautochdir endif + " use buffer-oriented WinVars if buffer ones exist but window ones don't + call s:UseBufWinVars() + " find buffer number of buffer named precisely the same as a:dirname let bufnum= bufnr(a:dirname) " call Decho("findbuf: bufnum=".bufnum) @@ -2380,6 +2391,9 @@ fun! LocalBrowse(dirname) " record previous current directory let w:netrw_prvdir= b:netrw_curdir + " save certain window-oriented variables into buffer-oriented variables + call s:BufWinVars() + setlocal noma nomod nonu bh=hide nobl if has("netbeans_intg") || has("sun_workshop") let &autochdir= keep_autochdir @@ -3299,6 +3313,7 @@ fun! s:SaveWinVars() if exists("w:netrw_explore_mtchcnt")|let s:explore_mtchcnt = w:netrw_explore_mtchcnt|endif if exists("w:netrw_explore_bufnr") |let s:explore_bufnr = w:netrw_explore_bufnr |endif if exists("w:netrw_explore_line") |let s:explore_line = w:netrw_explore_line |endif + if exists("w:netrw_explore_list") |let s:explore_list = w:netrw_explore_list |endif " call Dret("SaveWinVars") endfun @@ -3314,9 +3329,48 @@ fun! s:CopyWinVars() if exists("s:explore_mtchcnt")|let w:netrw_explore_mtchcnt = s:explore_mtchcnt|unlet s:explore_mtchcnt|endif if exists("s:explore_bufnr") |let w:netrw_explore_bufnr = s:explore_bufnr |unlet s:explore_bufnr |endif if exists("s:explore_line") |let w:netrw_explore_line = s:explore_line |unlet s:explore_line |endif + if exists("s:explore_list") |let w:netrw_explore_list = s:explore_list |unlet s:explore_list |endif " call Dret("CopyWinVars") endfun +" --------------------------------------------------------------------- +" BufWinVars: (used by NetBrowse() and LocalBrowse()) {{{1 +" To allow separate windows to have their own activities, such as +" Explore **/pattern, several variables have been made window-oriented. +" However, when the user splits a browser window (ex: ctrl-w s), these +" variables are not inherited by the new window. BufWinVars() and +" UseBufWinVars() get around that. +fun! s:BufWinVars() +" call Dfunc("BufWinVars()") + if exists("w:netrw_bannercnt") |let b:netrw_bannercnt = w:netrw_bannercnt |endif + if exists("w:netrw_method") |let b:netrw_method = w:netrw_method |endif + if exists("w:netrw_prvdir") |let b:netrw_prvdir = w:netrw_prvdir |endif + if exists("w:netrw_explore_indx") |let b:netrw_explore_indx = w:netrw_explore_indx |endif + if exists("w:netrw_explore_listlen")|let b:netrw_explore_listlen = w:netrw_explore_listlen|endif + if exists("w:netrw_explore_mtchcnt")|let b:netrw_explore_mtchcnt = w:netrw_explore_mtchcnt|endif + if exists("w:netrw_explore_bufnr") |let b:netrw_explore_bufnr = w:netrw_explore_bufnr |endif + if exists("w:netrw_explore_line") |let b:netrw_explore_line = w:netrw_explore_line |endif + if exists("w:netrw_explore_list") |let b:netrw_explore_list = w:netrw_explore_list |endif +" call Dret("BufWinVars") +endfun + +" --------------------------------------------------------------------- +" UseBufWinVars: (used by NetBrowse() and LocalBrowse() {{{1 +" Matching function to BufferWinVars() +fun! s:UseBufWinVars() +" call Dfunc("UseBufWinVars()") + if exists("b:netrw_bannercnt") && !exists("w:netrw_bannercnt") |let w:netrw_bannercnt = b:netrw_bannercnt |endif + if exists("b:netrw_method") && !exists("w:netrw_method") |let w:netrw_method = b:netrw_method |endif + if exists("b:netrw_prvdir") && !exists("w:netrw_prvdir") |let w:netrw_prvdir = b:netrw_prvdir |endif + if exists("b:netrw_explore_indx") && !exists("w:netrw_explore_indx") |let w:netrw_explore_indx = b:netrw_explore_indx |endif + if exists("b:netrw_explore_listlen") && !exists("w:netrw_explore_listlen")|let w:netrw_explore_listlen = b:netrw_explore_listlen|endif + if exists("b:netrw_explore_mtchcnt") && !exists("w:netrw_explore_mtchcnt")|let w:netrw_explore_mtchcnt = b:netrw_explore_mtchcnt|endif + if exists("b:netrw_explore_bufnr") && !exists("w:netrw_explore_bufnr") |let w:netrw_explore_bufnr = b:netrw_explore_bufnr |endif + if exists("b:netrw_explore_line") && !exists("w:netrw_explore_line") |let w:netrw_explore_line = b:netrw_explore_line |endif + if exists("b:netrw_explore_list") && !exists("w:netrw_explore_list") |let w:netrw_explore_list = b:netrw_explore_list |endif +" call Dret("UseBufWinVars") +endfun + let &cpo= s:keepcpo unlet s:keepcpo " ------------------------------------------------------------------------ diff --git a/src/digraph.c b/src/digraph.c --- a/src/digraph.c +++ b/src/digraph.c @@ -2367,12 +2367,12 @@ keymap_init() # ifdef FEAT_MBYTE /* try finding "keymap/'keymap'_'encoding'.vim" in 'runtimepath' */ sprintf((char *)buf, "keymap/%s_%s.vim", curbuf->b_p_keymap, p_enc); - if (cmd_runtime(buf, FALSE) == FAIL) + if (source_runtime(buf, FALSE) == FAIL) # endif { /* try finding "keymap/'keymap'.vim" in 'runtimepath' */ sprintf((char *)buf, "keymap/%s.vim", curbuf->b_p_keymap); - if (cmd_runtime(buf, FALSE) == FAIL) + if (source_runtime(buf, FALSE) == FAIL) { vim_free(buf); return (char_u *)N_("E544: Keymap file not found"); diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -17775,7 +17775,7 @@ script_autoload(name, reload) } /* Try loading the package from $VIMRUNTIME/autoload/.vim */ - if (cmd_runtime(scriptname, FALSE) == OK) + if (source_runtime(scriptname, FALSE) == OK) ret = TRUE; } diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -2391,7 +2391,7 @@ ex_compiler(eap) do_unlet((char_u *)"b:current_compiler", TRUE); sprintf((char *)buf, "compiler/%s.vim", eap->arg); - if (cmd_runtime(buf, TRUE) == FAIL) + if (source_runtime(buf, TRUE) == FAIL) EMSG2(_("E666: compiler not supported: %s"), eap->arg); vim_free(buf); @@ -2426,7 +2426,7 @@ ex_compiler(eap) ex_runtime(eap) exarg_T *eap; { - cmd_runtime(eap->arg, eap->forceit); + source_runtime(eap->arg, eap->forceit); } static void source_callback __ARGS((char_u *fname, void *cookie)); @@ -2447,7 +2447,7 @@ source_callback(fname, cookie) * return FAIL when no file could be sourced, OK otherwise. */ int -cmd_runtime(name, all) +source_runtime(name, all) char_u *name; int all; { diff --git a/src/ex_getln.c b/src/ex_getln.c --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -4151,14 +4151,14 @@ ExpandGeneric(xp, regmatch, num_file, fi { int i; int count = 0; - int loop; + int round; char_u *str; /* do this loop twice: - * loop == 0: count the number of matching names - * loop == 1: copy the matching names into allocated memory + * round == 0: count the number of matching names + * round == 1: copy the matching names into allocated memory */ - for (loop = 0; loop <= 1; ++loop) + for (round = 0; round <= 1; ++round) { for (i = 0; ; ++i) { @@ -4170,7 +4170,7 @@ ExpandGeneric(xp, regmatch, num_file, fi if (vim_regexec(regmatch, str, (colnr_T)0)) { - if (loop) + if (round) { str = vim_strsave_escaped(str, (char_u *)" \t\\."); (*file)[count] = str; @@ -4187,7 +4187,7 @@ ExpandGeneric(xp, regmatch, num_file, fi ++count; } } - if (loop == 0) + if (round == 0) { if (count == 0) return OK; @@ -4201,6 +4201,10 @@ ExpandGeneric(xp, regmatch, num_file, fi count = 0; } } + + /* Sort the results. */ + sort_strings(*file, *num_file); + return OK; } diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -550,7 +550,7 @@ main */ if (p_lpl) { - cmd_runtime((char_u *)"plugin/*.vim", TRUE); + source_runtime((char_u *)"plugin/*.vim", TRUE); TIME_MSG("loading plugins"); } #endif diff --git a/src/ops.c b/src/ops.c --- a/src/ops.c +++ b/src/ops.c @@ -1160,7 +1160,14 @@ do_execreg(regname, colon, addcr) p = vim_strsave_escaped_ext(last_cmdline, (char_u *)"\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037", Ctrl_V, FALSE); if (p != NULL) - retval = put_in_typebuf(p, TRUE); + { + /* When in Visual mode "'<,'>" will be prepended to the command. + * Remove it when it's already there. */ + if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0) + retval = put_in_typebuf(p + 5, TRUE); + else + retval = put_in_typebuf(p, TRUE); + } vim_free(p); } #endif diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -5793,25 +5793,6 @@ did_set_string_option(opt_idx, varp, new } #endif -#ifdef FEAT_AUTOCMD -# ifdef FEAT_SYN_HL - /* When 'syntax' is set, load the syntax of that name */ - else if (varp == &(curbuf->b_p_syn)) - { - apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn, - curbuf->b_fname, TRUE, curbuf); - } -# endif - - /* When 'filetype' is set, trigger the FileType autocommands of that name */ - else if (varp == &(curbuf->b_p_ft)) - { - did_filetype = TRUE; - apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft, - curbuf->b_fname, TRUE, curbuf); - } -#endif - #ifdef FEAT_QUICKFIX /* When 'bufhidden' is set, check for valid value. */ else if (gvarp == &p_bh) @@ -6159,6 +6140,46 @@ did_set_string_option(opt_idx, varp, new /* May set global value for local option. */ else if (!(opt_flags & OPT_LOCAL) && opt_flags != OPT_GLOBAL) set_string_option_global(opt_idx, varp); + +#ifdef FEAT_AUTOCMD + /* + * Trigger the autocommand only after setting the flags. + */ +# ifdef FEAT_SYN_HL + /* When 'syntax' is set, load the syntax of that name */ + if (varp == &(curbuf->b_p_syn)) + { + apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn, + curbuf->b_fname, TRUE, curbuf); + } +# endif + else if (varp == &(curbuf->b_p_ft)) + { + /* 'filetype' is set, trigger the FileType autocommand */ + did_filetype = TRUE; + apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft, + curbuf->b_fname, TRUE, curbuf); + } +#endif +#ifdef FEAT_SYN_HL + if (varp == &(curbuf->b_p_spl)) + { + char_u fname[200]; + + /* + * Source the spell/LANG.vim in 'runtimepath'. + * They could set 'spellcapcheck' depending on the language. + * Use the first name in 'spelllang' up to '_region' or + * '.encoding'. + */ + for (p = curbuf->b_p_spl; *p != NUL; ++p) + if (vim_strchr((char_u *)"_.,", *p) != NULL) + break; + vim_snprintf((char *)fname, 200, "spell/%.*s.vim", + (int)(p - curbuf->b_p_spl), curbuf->b_p_spl); + source_runtime(fname, TRUE); + } +#endif } #ifdef FEAT_MOUSE diff --git a/src/po/it.po b/src/po/it.po --- a/src/po/it.po +++ b/src/po/it.po @@ -605,7 +605,7 @@ msgid "E742: Cannot change value of %s" msgstr "E742: Non riesco a cambiare il valore di %s" msgid "E698: variable nested too deep for making a copy" -msgstr "E698 Variabile troppo nidificata per poterla copiare" +msgstr "E698: Variabile troppo nidificata per poterla copiare" #, c-format msgid "E124: Missing '(': %s" diff --git a/src/proto/ex_cmds2.pro b/src/proto/ex_cmds2.pro --- a/src/proto/ex_cmds2.pro +++ b/src/proto/ex_cmds2.pro @@ -53,7 +53,7 @@ void ex_argdelete __ARGS((exarg_T *eap)) void ex_listdo __ARGS((exarg_T *eap)); void ex_compiler __ARGS((exarg_T *eap)); void ex_runtime __ARGS((exarg_T *eap)); -int cmd_runtime __ARGS((char_u *name, int all)); +int source_runtime __ARGS((char_u *name, int all)); int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname, void *ck), void *cookie)); void ex_options __ARGS((exarg_T *eap)); void ex_source __ARGS((exarg_T *eap)); diff --git a/src/syntax.c b/src/syntax.c --- a/src/syntax.c +++ b/src/syntax.c @@ -4421,7 +4421,7 @@ syn_cmd_include(eap, syncing) prev_toplvl_grp = curbuf->b_syn_topgrp; curbuf->b_syn_topgrp = sgl_id; if (source ? do_source(eap->arg, FALSE, FALSE) == FAIL - : cmd_runtime(eap->arg, TRUE) == FAIL) + : source_runtime(eap->arg, TRUE) == FAIL) EMSG2(_(e_notopen), eap->arg); curbuf->b_syn_topgrp = prev_toplvl_grp; current_syn_inc_tag = prev_syn_inc_tag; @@ -6174,7 +6174,7 @@ init_highlight(both, reset) else { ++recursive; - (void)cmd_runtime((char_u *)"syntax/syncolor.vim", TRUE); + (void)source_runtime((char_u *)"syntax/syncolor.vim", TRUE); --recursive; } } @@ -6204,7 +6204,7 @@ load_colors(name) if (buf != NULL) { sprintf((char *)buf, "colors/%s.vim", name); - retval = cmd_runtime(buf, FALSE); + retval = source_runtime(buf, FALSE); vim_free(buf); #ifdef FEAT_AUTOCMD apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf); diff --git a/src/version.h b/src/version.h --- a/src/version.h +++ b/src/version.h @@ -36,5 +36,5 @@ #define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_MEDIUM "7.0aa ALPHA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 11)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 11, compiled " +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 12)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Aug 12, compiled "