diff options
-rw-r--r-- | runtime/doc/os_unix.txt | 4 | ||||
-rw-r--r-- | runtime/doc/quickfix.txt | 12 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 32 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 10 | ||||
-rw-r--r-- | runtime/doc/vimdiff.1 | 4 | ||||
-rw-r--r-- | runtime/plugin/gzip.vim | 4 | ||||
-rw-r--r-- | src/eval.c | 126 | ||||
-rw-r--r-- | src/installml.sh | 2 | ||||
-rw-r--r-- | src/po/ko.po | 4 | ||||
-rw-r--r-- | src/proto/quickfix.pro | 1 |
10 files changed, 140 insertions, 59 deletions
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt index 903a574ab..965b18d99 100644 --- a/runtime/doc/os_unix.txt +++ b/runtime/doc/os_unix.txt @@ -1,4 +1,4 @@ -*os_unix.txt* For Vim version 7.0aa. Last change: 2003 Mar 15 +*os_unix.txt* For Vim version 7.0aa. Last change: 2005 Mar 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -54,7 +54,7 @@ supports colors, but "T_Co" is empty or zero): > For real color terminals the ":highlight" command can be used. -The file "tools/Vim132" is a shell script that can be used to put Vim in 132 +The file "tools/vim132" is a shell script that can be used to put Vim in 132 column mode on a vt100 and lookalikes. vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index f9a56af89..d40d7e772 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Feb 24 +*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Mar 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -32,7 +32,7 @@ without having to remember all the error messages. In Vim the quickfix commands are used more generally to find a list of positions in files. For example, |:vimgrep| finds pattern matches. You can -use the positions in a script with the |errorlist()| function. Thus you can +use the positions in a script with the |getqflist()| function. Thus you can do a lot more than the edit/compile/fix cycle! If you are using Manx's Aztec C compiler on the Amiga look here for how to use @@ -609,6 +609,7 @@ Basic items uses the length for the column number) %*{conv} any scanf non-assignable conversion %% the single '%' character + %s search text (finds a string) The "%f" conversion depends on the current 'isfname' setting. @@ -631,6 +632,13 @@ or > to indicate the column of the error. This is to be used in a multi-line error message. See |errorformat-javac| for a useful example. +The "%s" conversion specifies the text to search for to locate the error line. +The text is used as a literal string. The anchors "^" and "$" are added to +the text to locate the error line exactly matching the search text and the +text is prefixed with the "\V" atom to make it "very nomagic". The "%s" +conversion can be used to locate lines without a line number in the error +output. Like the output of the "grep" shell command. +When the pattern is present the line number will not be used. Changing directory diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 269eb439e..3464c83db 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Mar 22 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Mar 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,11 +30,9 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -Problem with hang in setmouse() -> update_mouseshape() (Froloff) - - check for termcap_active in option.c - - add gui.starting in misc2.c +Check that xterm function keys XHOME and ZHOME do work. -":e" causes a scroll (in spell.c). +Wildcard expansion failure: ":w /tmp/$$.`echo test`" (Adri Verhoef) Mac unicode patch (Da Woon Jung): - selecting proportional font breaks display @@ -51,22 +49,24 @@ autoload: helpfile doc/myscript.txt For the "helpfile" item ":helptags" is run. +Win32: Balloon text can't contain line break. + Awaiting response: - Patch for mch_FullName() also in Vim 6.3? os_mswin.c - Win32: tearoff menu window should have a scrollbar when it's taller than the screen. -When on a line with a single character, "A CTRL-O <Home>" puts cursor back -after end-of-line. (Peter Winters) Make "o_eol" global and reset it when -moving cursor? - PLANNED FOR VERSION 7.0: - Add SPELLCHECKER, with support for many languages. - Use "engspchk" from Charles Campbell for ideas. + - Alternative: use MySpell library (in OpenOffice.org). + http://spellchecker.mozdev.org/source.html - Alternative: use aspell library. - - Implement 's addition. + - Dump pre-parsed spell structs in a file? + - More complicated: Regions with different languages? E.g. comments in + English, strings in German (po file). - Commands required: add word to private dict: wrong and OK (in popup menu for evim) :spell good <word> zg @@ -86,6 +86,7 @@ PLANNED FOR VERSION 7.0: Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn cluster" but change the contains list directly for matching syntax items. + - Install spell files with src/main.aap. Alternatives using ispell or aspell: 8 Add spell checking. Use "ispell -a" somehow. ~/vim/patches/wm_vim-5_4d.zip can be used as an example (includes @@ -2624,8 +2625,13 @@ Incsearch: Searching: 7 Add "g/" and "gb" to search for a pattern in the Visually selected text? "g?" is already used for rot13. -8 Add a mechanism for recursiveness: "\(([^()]*\@@[^()]*)\)\@r". \@@ stands - for "go recursive here" and \@r marks the recursive atom. +8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands + for "go recursive here" and \@( \) marks the recursive part. + Perl does it this way: + $paren = qr/ \(( [^()] | (??{ $paren }) )* \) /x; + Here $paren is evaluated when it's encountered. This is like a regexp + inside a regexp. In the above terms it would be: + \@((\([^()]\|\@g\)*)\) 8 Add an item for a big character range, so that one can search for a chinese character: \z[234-1234] or \z[XX-YY] or \z[0x23-0x234]. 7 Add an item stack to allow matching (). One side is "push X on @@ -3394,6 +3400,8 @@ Various improvements: '}' as the start of a section (e.g. one shiftwidth to the right). 7 Allow using Vim in a pipe: "ls | vim -u xxx.vim - | yyy". Only needs implementing ":w" to stdout in the buffer that was read from stdin. + Perhaps writing to stdout will work, since stderr is used for the terminal + I/O. 8 Allow opening an unnamed buffer with ":e !cmd" and ":sp !cmd". Vile can do it. - Add commands like ]] and [[ that do not include the line jumped to. diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 50e7657b0..9657ca514 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2005 Mar 20 +*version7.txt* For Vim version 7.0aa. Last change: 2005 Mar 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -197,7 +197,7 @@ patterns, this also allows grepping in compressed and remote files. |:vimgrep|. If you want to use the search results in a script you can use the -|errorlist()| function. +|getqflist()| function. POSIX compatibility *new-posix* @@ -323,7 +323,7 @@ New functions: ~ |count()| count nr of times a value is in a List or Dictionary |deepcopy()| make a full copy of a List or Dictionary |empty()| check if List or Dictionary is empty -|errorlist()| list of quickfix errors +|getqflist()| list of quickfix errors |extend()| append one List to another or add items from one Dictionary to another |filter()| remove selected items from a List or Dictionary @@ -351,6 +351,7 @@ New functions: ~ |remove()| remove one or more items from a List or Dictionary |repeat()| Repeat "expr" "count" times. (Christophe Poucet) |reverse()| reverse the order of a List +|setqflist()| create a quickfix list |sort()| sort a List |split()| split a String into a List |string()| String representation of a List or Dictionary @@ -1013,4 +1014,7 @@ Don't move the cursor if it's somewhere past the first line. When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash. Don't insert a DBCS character with a NUL second byte. +In Insert mode CTRL-O <Home> didn't move the cursor. Made "ins_at_eol" global +and reset it in nv_home(). + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/vimdiff.1 b/runtime/doc/vimdiff.1 index e48728412..079aeeda8 100644 --- a/runtime/doc/vimdiff.1 +++ b/runtime/doc/vimdiff.1 @@ -32,8 +32,8 @@ The 'foldmethod' option is set to "diff", which puts ranges of lines without changes in a fold. 'foldcolumn' is set to two to make it easy to spot the folds and open or close them. .SH OPTIONS -Vertical splits are used to align the lines, as if the "-O" argument was used. -To use horizontal splits intead, use the "-o" argument. +Vertical splits are used to align the lines, as if the "\-O" argument was used. +To use horizontal splits intead, use the "\-o" argument. .PP For all other arguments see vim(1). .SH SEE ALSO diff --git a/runtime/plugin/gzip.vim b/runtime/plugin/gzip.vim index 2b9b5238d..0e9d0f5b8 100644 --- a/runtime/plugin/gzip.vim +++ b/runtime/plugin/gzip.vim @@ -1,6 +1,6 @@ " Vim plugin for editing compressed files. " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2004 Jul 30 +" Last Change: 2005 Mar 24 " Exit quickly when: " - this plugin was already loaded @@ -118,7 +118,7 @@ fun s:write(cmd) " don't do anything if the cmd is not supported if s:check(a:cmd) " Rename the file before compressing it. - let nm = expand("<afile>") + let nm = resolve(expand("<afile>")) let nmt = s:tempname(nm) if rename(nm, nmt) == 0 call system(a:cmd . " " . nmt) diff --git a/src/eval.c b/src/eval.c index dd135afba..74f985a6f 100644 --- a/src/eval.c +++ b/src/eval.c @@ -428,7 +428,6 @@ static void f_did_filetype __ARGS((typval_T *argvars, typval_T *rettv)); static void f_diff_filler __ARGS((typval_T *argvars, typval_T *rettv)); static void f_diff_hlID __ARGS((typval_T *argvars, typval_T *rettv)); static void f_empty __ARGS((typval_T *argvars, typval_T *rettv)); -static void f_errorlist __ARGS((typval_T *argvars, typval_T *rettv)); static void f_escape __ARGS((typval_T *argvars, typval_T *rettv)); static void f_eval __ARGS((typval_T *argvars, typval_T *rettv)); static void f_eventhandler __ARGS((typval_T *argvars, typval_T *rettv)); @@ -462,6 +461,7 @@ static void f_getfsize __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getftime __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getftype __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getline __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_getqflist __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getreg __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getregtype __ARGS((typval_T *argvars, typval_T *rettv)); static void f_getwinposx __ARGS((typval_T *argvars, typval_T *rettv)); @@ -536,6 +536,7 @@ static void f_serverlist __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setbufvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setcmdpos __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setline __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_setqflist __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setreg __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv)); @@ -5121,7 +5122,7 @@ list_append_tv(l, tv) } /* - * Add a dictionary to a list. Used by errorlist(). + * Add a dictionary to a list. Used by getqflist(). * Return FAIL when out of memory. */ int @@ -5670,6 +5671,40 @@ dict_find(d, key, len) } /* + * Get a string item from a dictionary in allocated memory. + * Returns NULL if the entry doesn't exist or out of memory. + */ + char_u * +get_dict_string(d, key) + dict_T *d; + char_u *key; +{ + dictitem_T *di; + + di = dict_find(d, key, -1); + if (di == NULL) + return NULL; + return vim_strsave(get_tv_string(&di->di_tv)); +} + +/* + * Get a number item from a dictionary. + * Returns 0 if the entry doesn't exist or out of memory. + */ + long +get_dict_number(d, key) + dict_T *d; + char_u *key; +{ + dictitem_T *di; + + di = dict_find(d, key, -1); + if (di == NULL) + return 0; + return get_tv_number(&di->di_tv); +} + +/* * Return an allocated string with the string representation of a Dictionary. * May return NULL. */ @@ -6078,7 +6113,6 @@ static struct fst {"diff_filler", 1, 1, f_diff_filler}, {"diff_hlID", 2, 2, f_diff_hlID}, {"empty", 1, 1, f_empty}, - {"errorlist", 0, 0, f_errorlist}, {"escape", 2, 2, f_escape}, {"eval", 1, 1, f_eval}, {"eventhandler", 0, 0, f_eventhandler}, @@ -6113,6 +6147,7 @@ static struct fst {"getftime", 1, 1, f_getftime}, {"getftype", 1, 1, f_getftype}, {"getline", 1, 2, f_getline}, + {"getqflist", 0, 0, f_getqflist}, {"getreg", 0, 1, f_getreg}, {"getregtype", 0, 1, f_getregtype}, {"getwinposx", 0, 0, f_getwinposx}, @@ -6189,6 +6224,7 @@ static struct fst {"setbufvar", 3, 3, f_setbufvar}, {"setcmdpos", 1, 1, f_setcmdpos}, {"setline", 2, 2, f_setline}, + {"setqflist", 1, 1, f_setqflist}, {"setreg", 2, 3, f_setreg}, {"setwinvar", 3, 3, f_setwinvar}, {"simplify", 1, 1, f_simplify}, @@ -7578,36 +7614,6 @@ f_empty(argvars, rettv) } /* - * "errorlist()" function - */ -/*ARGSUSED*/ - static void -f_errorlist(argvars, rettv) - typval_T *argvars; - typval_T *rettv; -{ -#ifdef FEAT_QUICKFIX - list_T *l; -#endif - - rettv->vval.v_number = FALSE; -#ifdef FEAT_QUICKFIX - l = list_alloc(); - if (l != NULL) - { - if (get_errorlist(l) != FAIL) - { - rettv->vval.v_list = l; - rettv->v_type = VAR_LIST; - ++l->lv_refcount; - } - else - list_free(l); - } -#endif -} - -/* * "escape({string}, {chars})" function */ static void @@ -8915,6 +8921,36 @@ f_getline(argvars, rettv) } /* + * "getqflist()" function + */ +/*ARGSUSED*/ + static void +f_getqflist(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ +#ifdef FEAT_QUICKFIX + list_T *l; +#endif + + rettv->vval.v_number = FALSE; +#ifdef FEAT_QUICKFIX + l = list_alloc(); + if (l != NULL) + { + if (get_errorlist(l) != FAIL) + { + rettv->vval.v_list = l; + rettv->v_type = VAR_LIST; + ++l->lv_refcount; + } + else + list_free(l); + } +#endif +} + +/* * "getreg()" function */ static void @@ -12291,6 +12327,30 @@ f_setline(argvars, rettv) } /* + * "setqflist()" function + */ +/*ARGSUSED*/ + static void +f_setqflist(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + rettv->vval.v_number = -1; + +#ifdef FEAT_QUICKFIX + if (argvars[0].v_type != VAR_LIST) + EMSG(_(e_listreq)); + else + { + list_T *l = argvars[0].vval.v_list; + + if (l != NULL && set_errorlist(l) == OK) + rettv->vval.v_number = 0; + } +#endif +} + +/* * "setreg()" function */ static void diff --git a/src/installml.sh b/src/installml.sh index bae0a8e36..8cb926453 100644 --- a/src/installml.sh +++ b/src/installml.sh @@ -38,7 +38,7 @@ rgviewname=${14} gvimdiffname=${15} eviewname=${16} -if test $what = "install" -a (-e $destdir/$vimname.1 -o -e $destdir/$vimdiffname.1 -o -e $destdir/$eviewname.1); then +if test $what = "install" -a \( -e $destdir/$vimname.1 -o -e $destdir/$vimdiffname.1 -o -e $destdir/$eviewname.1 \); then if test ! -d $destdir; then echo creating $destdir ./mkinstalldirs $destdir diff --git a/src/po/ko.po b/src/po/ko.po index 2b4ca8575..7e0b493bf 100644 --- a/src/po/ko.po +++ b/src/po/ko.po @@ -161,8 +161,8 @@ msgid "line %ld of %ld --%d%%-- col " msgstr "%ld / %ld ÁÙ --%d%%-- Ä " #: buffer.c:2868 -msgid "[No file]" -msgstr "[ÆÄÀÏ ¾øÀ½]" +msgid "[No Name]" +msgstr "[À̸§ ¾øÀ½]" #. must be a help buffer #: buffer.c:2908 diff --git a/src/proto/quickfix.pro b/src/proto/quickfix.pro index c73187668..87621ca58 100644 --- a/src/proto/quickfix.pro +++ b/src/proto/quickfix.pro @@ -21,6 +21,7 @@ void ex_cfile __ARGS((exarg_T *eap)); void ex_vimgrep __ARGS((exarg_T *eap)); char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags)); int get_errorlist __ARGS((list_T *list)); +int set_errorlist __ARGS((list_T *list)); void ex_cbuffer __ARGS((exarg_T *eap)); void ex_helpgrep __ARGS((exarg_T *eap)); /* vim: set ft=c : */ |