]> granicus.if.org Git - vim/commitdiff
updated for version 7.0188 v7.0188
authorBram Moolenaar <Bram@vim.org>
Thu, 26 Jan 2006 22:25:15 +0000 (22:25 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 26 Jan 2006 22:25:15 +0000 (22:25 +0000)
12 files changed:
runtime/doc/eval.txt
runtime/doc/quickfix.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/doc/usr_41.txt
runtime/doc/version7.txt
src/eval.c
src/proto/quickfix.pro
src/quickfix.c
src/term.c
src/version.c
src/version.h

index 563e4bbe1e129f8ddcf0cd8963273a1c5279f278..c953db315ac7da6f237fbcd97b00291a40d6860c 100644 (file)
@@ -1562,6 +1562,7 @@ getftime( {fname})                Number  last modification time of file
 getftype( {fname})             String  description of type of file {fname}
 getline( {lnum})               String  line {lnum} of current buffer
 getline( {lnum}, {end})                List    lines {lnum} to {end} of current buffer
+getloclist({nr})               List    list of location list items
 getqflist()                    List    list of quickfix items
 getreg( [{regname} [, 1]])     String  contents of register
 getregtype( [{regname}])       String  type of register
@@ -1652,7 +1653,9 @@ serverlist()                      String  get a list of available servers
 setbufvar( {expr}, {varname}, {val})   set {varname} in buffer {expr} to {val}
 setcmdpos( {pos})              Number  set cursor position in command-line
 setline( {lnum}, {line})       Number  set line {lnum} to {line}
-setqflist( {list}[, {action}]) Number  set list of quickfix items using {list}
+setloclist( {nr}, {list}[, {action}])
+                               Number  modify location list using {list}
+setqflist( {list}[, {action}]) Number  modify quickfix list using {list}
 setreg( {n}, {v}[, {opt}])     Number  set register to value and type
 setwinvar( {nr}, {varname}, {val})     set {varname} in window {nr} to {val}
 simplify( {filename})          String  simplify filename as much as possible
@@ -2693,6 +2696,11 @@ getline({lnum} [, {end}])
                        :let end = search("^$") - 1
                        :let lines = getline(start, end)
 
+getloclist({nr})                                       *getloclist()*
+               Returns a list with all the entries in the location list for
+               window {nr}. When {nr} is zero the current window is used.
+               For a location list window, the displayed location list is
+               returned.  Otherwise, same as getqflist().
 
 getqflist()                                            *getqflist()*
                Returns a list with all the current quickfix errors.  Each
@@ -3971,12 +3979,17 @@ setline({lnum}, {line})                                 *setline()*
                        :endfor
 <              Note: The '[ and '] marks are not set.
 
+setloclist({nr}, {list} [, {action}])                  *setloclist()*
+               Create or replace or add to the location list for window {nr}.
+               When {nr} is zero the current window is used. For a location
+               list window, the displayed location list is modified.
+               Otherwise, same as setqflist().
 
 setqflist({list} [, {action}])                         *setqflist()*
-               Creates a quickfix list using the items in {list}.  Each item
-               in {list} is a dictionary.  Non-dictionary items in {list} are
-               ignored.  Each dictionary item can contain the following
-               entries:
+               Create or replace or add to the quickfix list using the items
+               in {list}.  Each item in {list} is a dictionary.
+               Non-dictionary items in {list} are ignored.  Each dictionary
+               item can contain the following entries:
 
                    filename    name of a file
                    lnum        line number in the file
index 6cd0878450ff77e9892dc9626920e315e75d1f42..b4b3f813fa879be18c0a3c00133439e9aec78392 100644 (file)
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.0aa.  Last change: 2006 Jan 13
+*quickfix.txt*  For Vim version 7.0aa.  Last change: 2006 Jan 26
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -73,8 +73,8 @@ The following quickfix commands can be used:
                        all, go to the [count] next error.  See |:cc| for
                        [!] and 'switchbuf'.
 
-                                                       *:ln* *:lnext*
-:[count]ln[ext][!]     Same as ":cnext", except the location list for the
+                                                       *:lne* *:lnext*
+:[count]lne[xt][!]     Same as ":cnext", except the location list for the
                        current window is used instead of the quickfix list.
 
 :[count]cN[ext][!]                     *:cp* *:cprevious* *:cN* *:cNext*
@@ -83,8 +83,8 @@ The following quickfix commands can be used:
                        all, go to the [count] previous error.  See |:cc| for
                        [!] and 'switchbuf'.
 
-                                       *:lp* *:lprevious* *:lN* *:lNext*
-:[count]lN[ext][!]
+                               
+:[count]lN[ext][!]                     *:lp* *:lprevious* *:lN* *:lNext*
 :[count]lp[revious][!] Same as ":cNext" and ":cprevious", except the location
                        list for the current window is used instead of the
                        quickfix list.
@@ -107,8 +107,8 @@ The following quickfix commands can be used:
                        the [count] previous error.  See |:cc| for [!] and
                        'switchbuf'.
 
-                                       *:lpf* *:lpfile* *:lNf* *:lNfile*
-:[count]lNf[ile][!]
+
+:[count]lNf[ile][!]                    *:lpf* *:lpfile* *:lNf* *:lNfile*
 :[count]lpf[ile][!]    Same as ":cNfile" and ":cpfile", except the location
                        list for the current window is used instead of the
                        quickfix list.
@@ -153,13 +153,13 @@ The following quickfix commands can be used:
                        You can not use the -q command-line option to set
                        the location list.
 
-                                                       *:cg* *:cgetfile*
-:cg[etfile][!] [errorfile]
+               
+:cg[etfile][!] [errorfile]                             *:cg* *:cgetfile*
                        Read the error file.  Just like ":cfile" but don't
                        jump to the first error.
 
-                                                       *:lg* *:lgetfile*
-:lg[etfile][!] [errorfile]
+                       
+:lg[etfile][!] [errorfile]                             *:lg* *:lgetfile*
                        Same as ":cgetfile", except the location list for the
                        current window is used instead of the quickfix list.
 
@@ -260,12 +260,12 @@ on) is executed. See |QuickFixCmdPre| and |QuickFixCmdPost| for details.
                        the current window.  It is not possible to open a
                        second quickfix window.
 
-                                                       *:lope* *:lopen*
-:lope[n] [height]      Open a window to show the location list for the
+                                                       *:lop* *:lopen*
+:lop[en] [height]      Open a window to show the location list for the
                        current window. Works only when the location list for
-                       the current window is present. You can have more than
-                       one location window opened at a time.  Otherewise,
-                       same as ":copen".
+                       the current window is present.  You can have more than
+                       one location window opened at a time.  Otherwise, it
+                       acts the same same as ":copen".
 
                                                        *:ccl* *:cclose*
 :ccl[ose]              Close the quickfix window.
index 036f4fbd0980ae0773948b8a85e85a5329542505..4ad56bb993f035e23c9ef3b3fe81d601a29706c9 100644 (file)
@@ -2099,15 +2099,27 @@ $VIMRUNTIME     starting.txt    /*$VIMRUNTIME*
 :keepjumps     motion.txt      /*:keepjumps*
 :keepmarks     motion.txt      /*:keepmarks*
 :l     various.txt     /*:l*
+:lN    quickfix.txt    /*:lN*
+:lNext quickfix.txt    /*:lNext*
+:lNf   quickfix.txt    /*:lNf*
+:lNfile        quickfix.txt    /*:lNfile*
 :la    editing.txt     /*:la*
+:lad   quickfix.txt    /*:lad*
+:laddexpr      quickfix.txt    /*:laddexpr*
+:laddf quickfix.txt    /*:laddf*
+:laddfile      quickfix.txt    /*:laddfile*
 :lan   mlang.txt       /*:lan*
 :lang  mlang.txt       /*:lang*
 :language      mlang.txt       /*:language*
 :last  editing.txt     /*:last*
+:lb    quickfix.txt    /*:lb*
+:lbuffer       quickfix.txt    /*:lbuffer*
 :lc    editing.txt     /*:lc*
 :lcd   editing.txt     /*:lcd*
 :lch   editing.txt     /*:lch*
 :lchdir        editing.txt     /*:lchdir*
+:lcl   quickfix.txt    /*:lcl*
+:lclose        quickfix.txt    /*:lclose*
 :le    change.txt      /*:le*
 :left  change.txt      /*:left*
 :lefta windows.txt     /*:lefta*
@@ -2123,13 +2135,32 @@ $VIMRUNTIME     starting.txt    /*$VIMRUNTIME*
 :let-star      eval.txt        /*:let-star*
 :let-unpack    eval.txt        /*:let-unpack*
 :let.= eval.txt        /*:let.=*
+:lex   quickfix.txt    /*:lex*
+:lexpr quickfix.txt    /*:lexpr*
+:lf    quickfix.txt    /*:lf*
+:lfile quickfix.txt    /*:lfile*
+:lfir  quickfix.txt    /*:lfir*
+:lfirst        quickfix.txt    /*:lfirst*
+:lg    quickfix.txt    /*:lg*
+:lgetfile      quickfix.txt    /*:lgetfile*
 :list  various.txt     /*:list*
+:ll    quickfix.txt    /*:ll*
+:lla   quickfix.txt    /*:lla*
+:llast quickfix.txt    /*:llast*
+:lli   quickfix.txt    /*:lli*
+:llist quickfix.txt    /*:llist*
 :lm    map.txt /*:lm*
 :lmap  map.txt /*:lmap*
 :lmap_l        map.txt /*:lmap_l*
 :lmapc map.txt /*:lmapc*
 :lmapclear     map.txt /*:lmapclear*
 :ln    map.txt /*:ln*
+:lne   quickfix.txt    /*:lne*
+:lnew  quickfix.txt    /*:lnew*
+:lnewer        quickfix.txt    /*:lnewer*
+:lnext quickfix.txt    /*:lnext*
+:lnf   quickfix.txt    /*:lnf*
+:lnfile        quickfix.txt    /*:lnfile*
 :lnoremap      map.txt /*:lnoremap*
 :lo    starting.txt    /*:lo*
 :loadk mbyte.txt       /*:loadk*
@@ -2139,9 +2170,21 @@ $VIMRUNTIME      starting.txt    /*$VIMRUNTIME*
 :lockmarks     motion.txt      /*:lockmarks*
 :lockv eval.txt        /*:lockv*
 :lockvar       eval.txt        /*:lockvar*
+:lol   quickfix.txt    /*:lol*
+:lolder        quickfix.txt    /*:lolder*
+:lop   quickfix.txt    /*:lop*
+:lopen quickfix.txt    /*:lopen*
+:lp    quickfix.txt    /*:lp*
+:lpf   quickfix.txt    /*:lpf*
+:lpfile        quickfix.txt    /*:lpfile*
+:lprevious     quickfix.txt    /*:lprevious*
+:lr    quickfix.txt    /*:lr*
+:lrewind       quickfix.txt    /*:lrewind*
 :ls    windows.txt     /*:ls*
 :lu    map.txt /*:lu*
 :lunmap        map.txt /*:lunmap*
+:lw    quickfix.txt    /*:lw*
+:lwindow       quickfix.txt    /*:lwindow*
 :m     change.txt      /*:m*
 :ma    motion.txt      /*:ma*
 :mak   quickfix.txt    /*:mak*
@@ -3798,6 +3841,7 @@ E772      spell.txt       /*E772*
 E773   recover.txt     /*E773*
 E774   map.txt /*E774*
 E775   map.txt /*E775*
+E776   quickfix.txt    /*E776*
 E777   quickfix.txt    /*E777*
 E778   spell.txt       /*E778*
 E779   spell.txt       /*E779*
@@ -5229,6 +5273,7 @@ getfsize()        eval.txt        /*getfsize()*
 getftime()     eval.txt        /*getftime()*
 getftype()     eval.txt        /*getftype()*
 getline()      eval.txt        /*getline()*
+getloclist()   eval.txt        /*getloclist()*
 getqflist()    eval.txt        /*getqflist()*
 getreg()       eval.txt        /*getreg()*
 getregtype()   eval.txt        /*getregtype()*
@@ -5729,6 +5774,8 @@ local-variables   eval.txt        /*local-variables*
 locale mbyte.txt       /*locale*
 locale-name    mbyte.txt       /*locale-name*
 localtime()    eval.txt        /*localtime()*
+location-list  quickfix.txt    /*location-list*
+location-list-window   quickfix.txt    /*location-list-window*
 long-lines     version5.txt    /*long-lines*
 lowercase      change.txt      /*lowercase*
 lpc.vim        syntax.txt      /*lpc.vim*
@@ -6042,6 +6089,7 @@ new-indent-flex   version6.txt    /*new-indent-flex*
 new-items-6    version6.txt    /*new-items-6*
 new-items-7    version7.txt    /*new-items-7*
 new-line-continuation  version5.txt    /*new-line-continuation*
+new-location-list      version7.txt    /*new-location-list*
 new-manpage-trans      version7.txt    /*new-manpage-trans*
 new-multi-byte version5.txt    /*new-multi-byte*
 new-multi-lang version6.txt    /*new-multi-lang*
@@ -6458,6 +6506,7 @@ set-spc-auto      spell.txt       /*set-spc-auto*
 setbufvar()    eval.txt        /*setbufvar()*
 setcmdpos()    eval.txt        /*setcmdpos()*
 setline()      eval.txt        /*setline()*
+setloclist()   eval.txt        /*setloclist()*
 setqflist()    eval.txt        /*setqflist()*
 setreg()       eval.txt        /*setreg()*
 setting-guifont        gui.txt /*setting-guifont*
index 2566b8c640860cf1c396f9adbead4592464bf794..8d49c5f4f2e91b64507a0640e2e8dc9a97f28368 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Jan 25
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Jan 26
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -30,9 +30,7 @@ be worked on, but only if you sponsor Vim development.  See |sponsor|.
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Include location list commands, patch from Yegappan Lakshmanan.
-
-ccomplete:
+ccomplete / omnicomplete:
 - When an option is set: In completion mode and the user types (identifier)
   characters, advance to the first match instead of removing the popup menu.
   If there is no match remove the selection. (Yegappan Lakshmanan)
@@ -58,6 +56,7 @@ ccomplete:
     Can't reproduce it right now...
 
 spelling:
+- Also use the spelling dictionary for dictionary completion.
 - Use runtime/cleanadd script to cleanup .add files.  When to invoke it?
   After deleting a word with "zw" and some timestamp difference perhaps?
   Store it as spell/cleanadd.vim.
@@ -94,7 +93,6 @@ spelling:
     obtain).  But new Myspell wordlist will come (Hagen)
 - Finding suggestions with sound folding is slow.  Somehow store the
   sound-folded words and link to the words it comes from?
-- Also use the spelling dictionary for dictionary completion.
 - Have "zg" and "zw" report the file that was modified. (Marvin Renich)
 - Add a command like "zg" that selects one of the files 'spellfile'.
 - Add a "zug" command that undoes "zg"?  Deletes the good word instead of
index 0df95013c03e3d97da21b79cbe2ad6454e3e2788..2b73315603b867505ea22928256b426fe734aa33 100644 (file)
@@ -747,6 +747,7 @@ Various:
        exists()                check if a variable, function, etc. exists
        has()                   check if a feature is supported in Vim
        getqflist()             list of quickfix errors
+       getloclist()            list of location list items
        cscope_connection()     check if a cscope connection exists
        did_filetype()          check if a FileType autocommand was used
        eventhandler()          check if invoked by an event handler
@@ -758,7 +759,8 @@ Various:
        libcallnr()             idem, returning a number
        getreg()                get contents of a register
        getregtype()            get type of a register
-       setqflist()             create a quickfix list
+       setqflist()             modify a quickfix list
+       setloclist()            modify a location list
        setreg()                set contents and type of a register
        taglist()               get list of matching tags
 
index ed929f31a7bbe6f2997e9d82b32a5aef5e6722f8..763ecb82160e7e039778c3e5758d63c9ccaee26b 100644 (file)
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Jan 25
+*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Jan 26
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -30,6 +30,7 @@ POSIX compatibility                   |new-posix|
 Debugger support                       |new-debug-support|
 Remote file explorer                   |new-netrw-explore|
 Define an operator                     |new-define-operator|
+Location list                          |new-location-list|
 Various new items                      |new-items-7|
 
 IMPROVEMENTS                           |improvements-7|
@@ -356,6 +357,13 @@ through the |g@| operator.
 
 See |:map-operator| for the explanation and an example.
 
+Location list                                          *new-location-list*
+-------------
+
+The support for a per-window quickfix list (location list) is added. The
+location list can be displayed in a location window (similar to the quickfix
+window). You can open more than one location list window. A set of commands
+similar to the quickfix commands are added to browse the location list.
 
 Various new items                                      *new-items-7*
 -----------------
@@ -474,6 +482,7 @@ New and extended 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
+|getloclist()|         list of location list items (Yegappan Lakshmanan)
 |getqflist()|          list of quickfix errors (Yegappan Lakshmanan)
 |extend()|             append one List to another or add items from one
                        Dictionary to another
@@ -509,7 +518,8 @@ New and extended functions: ~
 |repeat()|             repeat "expr" "count" times (Christophe Poucet)
 |reverse()|            reverse the order of a List
 |searchdecl()|         search for declaration of variable
-|setqflist()|          create a quickfix list (Yegappan Lakshmanan)
+|setloclist()|         modify a location list (Yegappan Lakshmanan)
+|setqflist()|          modify a quickfix list (Yegappan Lakshmanan)
 |sort()|               sort a List
 |soundfold()|          get the sound-a-like equivalent of a word
 |split()|              split a String into a List
@@ -587,6 +597,8 @@ Moved all the indent settings from the filetype plugin to the indent file.
 Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
 different value.
 
+VHDL indent file (Gerald Lai)
+
 
 New Keymaps: ~
 
index e93182f87d8357062a9808c1beda8fb95ac21c44..47fccbca9faa7d619cacf06e73edd22b9b12913f 100644 (file)
@@ -517,6 +517,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_getloclist __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));
@@ -595,6 +596,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_setloclist __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));
@@ -704,6 +706,7 @@ static void func_unref __ARGS((char_u *name));
 static void func_ref __ARGS((char_u *name));
 static void call_user_func __ARGS((ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, linenr_T firstline, linenr_T lastline, dict_T *selfdict));
 static void add_nr_var __ARGS((dict_T *dp, dictitem_T *v, char *name, varnumber_T nr));
+static win_T *find_win_by_nr __ARGS((typval_T *vp));
 
 /* Character used as separated in autoload function/variable names. */
 #define AUTOLOAD_CHAR '#'
@@ -6863,6 +6866,7 @@ static struct fst
     {"getftime",       1, 1, f_getftime},
     {"getftype",       1, 1, f_getftype},
     {"getline",                1, 2, f_getline},
+    {"getloclist",     1, 1, f_getloclist},
     {"getqflist",      0, 0, f_getqflist},
     {"getreg",         0, 2, f_getreg},
     {"getregtype",     0, 1, f_getregtype},
@@ -6943,6 +6947,7 @@ static struct fst
     {"setbufvar",      3, 3, f_setbufvar},
     {"setcmdpos",      1, 1, f_setcmdpos},
     {"setline",                2, 2, f_setline},
+    {"setloclist",     2, 3, f_setloclist},
     {"setqflist",      1, 2, f_setqflist},
     {"setreg",         2, 3, f_setreg},
     {"setwinvar",      3, 3, f_setwinvar},
@@ -9790,13 +9795,14 @@ f_getline(argvars, rettv)
     get_buffer_lines(curbuf, lnum, end, retlist, rettv);
 }
 
+static void get_qf_ll_ist __ARGS((win_T *wp, typval_T *rettv));
+
 /*
- * "getqflist()" function
+ * Shared by getqflist() and getloclist() functions
  */
-/*ARGSUSED*/
     static void
-f_getqflist(argvars, rettv)
-    typval_T   *argvars;
+get_qf_ll_ist(wp, rettv)
+    win_T      *wp;
     typval_T   *rettv;
 {
 #ifdef FEAT_QUICKFIX
@@ -9811,9 +9817,40 @@ f_getqflist(argvars, rettv)
        rettv->vval.v_list = l;
        rettv->v_type = VAR_LIST;
        ++l->lv_refcount;
-       (void)get_errorlist(l);
+       (void)get_errorlist(wp, l);
     }
 #endif
+
+}
+
+/*
+ * "getloclist()" function
+ */
+/*ARGSUSED*/
+    static void
+f_getloclist(argvars, rettv)
+    typval_T   *argvars;
+    typval_T   *rettv;
+{
+    win_T      *win;
+
+    rettv->vval.v_number = FALSE;
+
+    win = find_win_by_nr(&argvars[0]);
+    if (win != NULL)
+       get_qf_ll_ist(win, rettv);
+}
+
+/*
+ * "getqflist()" function
+ */
+/*ARGSUSED*/
+    static void
+f_getqflist(argvars, rettv)
+    typval_T   *argvars;
+    typval_T   *rettv;
+{
+    get_qf_ll_ist(NULL, rettv);
 }
 
 /*
@@ -9937,8 +9974,6 @@ f_getwinposy(argvars, rettv)
 #endif
 }
 
-static win_T *find_win_by_nr __ARGS((typval_T *vp));
-
     static win_T *
 find_win_by_nr(vp)
     typval_T   *vp;
@@ -13571,12 +13606,14 @@ f_setline(argvars, rettv)
 }
 
 /*
- * "setqflist()" function
+ * Used by "setqflist()" and "setloclist()" functions
  */
 /*ARGSUSED*/
     static void
-f_setqflist(argvars, rettv)
-    typval_T   *argvars;
+set_qf_ll_list(wp, list_arg, action_arg, rettv)
+    win_T      *wp;
+    typval_T   *list_arg;
+    typval_T   *action_arg;
     typval_T   *rettv;
 {
 #ifdef FEAT_QUICKFIX
@@ -13587,27 +13624,57 @@ f_setqflist(argvars, rettv)
     rettv->vval.v_number = -1;
 
 #ifdef FEAT_QUICKFIX
-    if (argvars[0].v_type != VAR_LIST)
+    if (list_arg->v_type != VAR_LIST)
        EMSG(_(e_listreq));
     else
     {
-       list_T  *l = argvars[0].vval.v_list;
+       list_T  *l = list_arg->vval.v_list;
 
-       if (argvars[1].v_type == VAR_STRING)
+       if (action_arg->v_type == VAR_STRING)
        {
-           act = get_tv_string_chk(&argvars[1]);
+           act = get_tv_string_chk(action_arg);
            if (act == NULL)
                return;         /* type error; errmsg already given */
            if (*act == 'a' || *act == 'r')
                action = *act;
        }
 
-       if (l != NULL && set_errorlist(l, action) == OK)
+       if (l != NULL && set_errorlist(wp, l, action) == OK)
            rettv->vval.v_number = 0;
     }
 #endif
 }
 
+/*
+ * "setloclist()" function
+ */
+/*ARGSUSED*/
+    static void
+f_setloclist(argvars, rettv)
+    typval_T   *argvars;
+    typval_T   *rettv;
+{
+    win_T      *win;
+
+    rettv->vval.v_number = -1;
+
+    win = find_win_by_nr(&argvars[0]);
+    if (win != NULL)
+       set_qf_ll_list(win, &argvars[1], &argvars[2], rettv);
+}
+
+/*
+ * "setqflist()" function
+ */
+/*ARGSUSED*/
+    static void
+f_setqflist(argvars, rettv)
+    typval_T   *argvars;
+    typval_T   *rettv;
+{
+    set_qf_ll_list(NULL, &argvars[0], &argvars[1], rettv);
+}
+
 /*
  * "setreg()" function
  */
index 4ea4f01d49dc0b47a6f062d1b19ba23adad51d17..152f9064f6d4359a56e7b69a503281271f08cff6 100644 (file)
@@ -21,8 +21,8 @@ void ex_cnext __ARGS((exarg_T *eap));
 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, int action));
+int get_errorlist __ARGS((win_T *wp, list_T *list));
+int set_errorlist __ARGS((win_T *wp, list_T *list, int action));
 void ex_cbuffer __ARGS((exarg_T *eap));
 void ex_cexpr __ARGS((exarg_T *eap));
 void ex_helpgrep __ARGS((exarg_T *eap));
index 923c7fda0b5716fd2e758545efe271d7cec26746..ff3e4ce09a2392f093d47b9fb25ccbe9c080971d 100644 (file)
@@ -3248,7 +3248,8 @@ unload_dummy_buffer(buf)
  * Add each quickfix error to list "list" as a dictionary.
  */
     int
-get_errorlist(list)
+get_errorlist(wp, list)
+    win_T      *wp;
     list_T     *list;
 {
     qf_info_T  *qi = &ql_info;
@@ -3257,6 +3258,13 @@ get_errorlist(list)
     qfline_T   *qfp;
     int                i;
 
+    if (wp != NULL)
+    {
+       qi = GET_LOC_LIST(wp);
+       if (qi == NULL)
+           return FAIL;
+    }
+
     if (qi->qf_curlist >= qi->qf_listcount
        || qi->qf_lists[qi->qf_curlist].qf_count == 0)
        return FAIL;
@@ -3292,7 +3300,8 @@ get_errorlist(list)
  * of dictionaries.
  */
     int
-set_errorlist(list, action)
+set_errorlist(wp, list, action)
+    win_T      *wp;
     list_T     *list;
     int                action;
 {
@@ -3307,6 +3316,13 @@ set_errorlist(list, action)
     int                retval = OK;
     qf_info_T  *qi = &ql_info;
 
+    if (wp != NULL)
+    {
+       qi = ll_get_or_alloc_list(curwin);
+       if (qi == NULL)
+           return FAIL;
+    }
+
     if (action == ' ' || qi->qf_curlist == qi->qf_listcount)
        /* make place for a new list */
        qf_new_list(qi);
index 1f27533681e5055804764c420b4e58c79dd3ad9a..2dbe5557344e2666c42cdae61ab7ea745ea4372c 100644 (file)
@@ -3446,13 +3446,13 @@ term_cursor_shape()
     if (State & INSERT)
     {
        if (showing_insert_mode != TRUE)
-           out_str(T_CSI);         /* disable cursor */
+           out_str(T_CSI);         /* Insert mode cursor */
        showing_insert_mode = TRUE;
     }
     else
     {
        if (showing_insert_mode != FALSE)
-           out_str(T_CEI);         /* disable cursor */
+           out_str(T_CEI);         /* non-Insert mode cursor */
        showing_insert_mode = FALSE;
     }
 }
index f14734813a22e9dd0f46d745583fae30b509f23d..e9150d514cf78a40e3b7001ef91297e971e1f1d8 100644 (file)
@@ -144,6 +144,11 @@ static char *(features[]) =
 #else
        "-cscope",
 #endif
+#ifdef CURSOR_SHAPE
+       "+cursorshape",
+#else
+       "-cursorshape",
+#endif
 #if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
        "+dialog_con_gui",
 #else
index 569cb6e804066d30269b33e84511f38556f15e44..522ec90018b22607136a2d4977acce6c45126bb6 100644 (file)
@@ -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 (2006 Jan 25)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 25, compiled "
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 26)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 26, compiled "