summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/os_unix.txt4
-rw-r--r--runtime/doc/quickfix.txt12
-rw-r--r--runtime/doc/todo.txt32
-rw-r--r--runtime/doc/version7.txt10
-rw-r--r--runtime/doc/vimdiff.14
-rw-r--r--runtime/plugin/gzip.vim4
-rw-r--r--src/eval.c126
-rw-r--r--src/installml.sh2
-rw-r--r--src/po/ko.po4
-rw-r--r--src/proto/quickfix.pro1
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 : */