1
0
forked from aniani/vim

updated for version 7.0188

This commit is contained in:
Bram Moolenaar 2006-01-26 22:25:15 +00:00
parent 51156d5a87
commit 17c7c01170
12 changed files with 214 additions and 52 deletions

View File

@ -1562,6 +1562,7 @@ getftime( {fname}) Number last modification time of file
getftype( {fname}) String description of type of file {fname} getftype( {fname}) String description of type of file {fname}
getline( {lnum}) String line {lnum} of current buffer getline( {lnum}) String line {lnum} of current buffer
getline( {lnum}, {end}) List lines {lnum} to {end} 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 getqflist() List list of quickfix items
getreg( [{regname} [, 1]]) String contents of register getreg( [{regname} [, 1]]) String contents of register
getregtype( [{regname}]) String type 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} setbufvar( {expr}, {varname}, {val}) set {varname} in buffer {expr} to {val}
setcmdpos( {pos}) Number set cursor position in command-line setcmdpos( {pos}) Number set cursor position in command-line
setline( {lnum}, {line}) Number set line {lnum} to {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 setreg( {n}, {v}[, {opt}]) Number set register to value and type
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val} setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
simplify( {filename}) String simplify filename as much as possible simplify( {filename}) String simplify filename as much as possible
@ -2693,6 +2696,11 @@ getline({lnum} [, {end}])
:let end = search("^$") - 1 :let end = search("^$") - 1
:let lines = getline(start, end) :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()* getqflist() *getqflist()*
Returns a list with all the current quickfix errors. Each Returns a list with all the current quickfix errors. Each
@ -3971,12 +3979,17 @@ setline({lnum}, {line}) *setline()*
:endfor :endfor
< Note: The '[ and '] marks are not set. < 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()* setqflist({list} [, {action}]) *setqflist()*
Creates a quickfix list using the items in {list}. Each item Create or replace or add to the quickfix list using the items
in {list} is a dictionary. Non-dictionary items in {list} are in {list}. Each item in {list} is a dictionary.
ignored. Each dictionary item can contain the following Non-dictionary items in {list} are ignored. Each dictionary
entries: item can contain the following entries:
filename name of a file filename name of a file
lnum line number in the file lnum line number in the file

View 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 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 all, go to the [count] next error. See |:cc| for
[!] and 'switchbuf'. [!] and 'switchbuf'.
*:ln* *:lnext* *:lne* *:lnext*
:[count]ln[ext][!] Same as ":cnext", except the location list for the :[count]lne[xt][!] Same as ":cnext", except the location list for the
current window is used instead of the quickfix list. current window is used instead of the quickfix list.
:[count]cN[ext][!] *:cp* *:cprevious* *:cN* *:cNext* :[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 all, go to the [count] previous error. See |:cc| for
[!] and 'switchbuf'. [!] 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 :[count]lp[revious][!] Same as ":cNext" and ":cprevious", except the location
list for the current window is used instead of the list for the current window is used instead of the
quickfix list. quickfix list.
@ -107,8 +107,8 @@ The following quickfix commands can be used:
the [count] previous error. See |:cc| for [!] and the [count] previous error. See |:cc| for [!] and
'switchbuf'. '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 :[count]lpf[ile][!] Same as ":cNfile" and ":cpfile", except the location
list for the current window is used instead of the list for the current window is used instead of the
quickfix list. quickfix list.
@ -153,13 +153,13 @@ The following quickfix commands can be used:
You can not use the -q command-line option to set You can not use the -q command-line option to set
the location list. the location list.
*:cg* *:cgetfile*
:cg[etfile][!] [errorfile] :cg[etfile][!] [errorfile] *:cg* *:cgetfile*
Read the error file. Just like ":cfile" but don't Read the error file. Just like ":cfile" but don't
jump to the first error. jump to the first error.
*:lg* *:lgetfile*
:lg[etfile][!] [errorfile] :lg[etfile][!] [errorfile] *:lg* *:lgetfile*
Same as ":cgetfile", except the location list for the Same as ":cgetfile", except the location list for the
current window is used instead of the quickfix list. 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 the current window. It is not possible to open a
second quickfix window. second quickfix window.
*:lope* *:lopen* *:lop* *:lopen*
:lope[n] [height] Open a window to show the location list for the :lop[en] [height] Open a window to show the location list for the
current window. Works only when the location list for current window. Works only when the location list for
the current window is present. You can have more than the current window is present. You can have more than
one location window opened at a time. Otherewise, one location window opened at a time. Otherwise, it
same as ":copen". acts the same same as ":copen".
*:ccl* *:cclose* *:ccl* *:cclose*
:ccl[ose] Close the quickfix window. :ccl[ose] Close the quickfix window.

View File

@ -2099,15 +2099,27 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:keepjumps motion.txt /*:keepjumps* :keepjumps motion.txt /*:keepjumps*
:keepmarks motion.txt /*:keepmarks* :keepmarks motion.txt /*:keepmarks*
:l various.txt /*:l* :l various.txt /*:l*
:lN quickfix.txt /*:lN*
:lNext quickfix.txt /*:lNext*
:lNf quickfix.txt /*:lNf*
:lNfile quickfix.txt /*:lNfile*
:la editing.txt /*:la* :la editing.txt /*:la*
:lad quickfix.txt /*:lad*
:laddexpr quickfix.txt /*:laddexpr*
:laddf quickfix.txt /*:laddf*
:laddfile quickfix.txt /*:laddfile*
:lan mlang.txt /*:lan* :lan mlang.txt /*:lan*
:lang mlang.txt /*:lang* :lang mlang.txt /*:lang*
:language mlang.txt /*:language* :language mlang.txt /*:language*
:last editing.txt /*:last* :last editing.txt /*:last*
:lb quickfix.txt /*:lb*
:lbuffer quickfix.txt /*:lbuffer*
:lc editing.txt /*:lc* :lc editing.txt /*:lc*
:lcd editing.txt /*:lcd* :lcd editing.txt /*:lcd*
:lch editing.txt /*:lch* :lch editing.txt /*:lch*
:lchdir editing.txt /*:lchdir* :lchdir editing.txt /*:lchdir*
:lcl quickfix.txt /*:lcl*
:lclose quickfix.txt /*:lclose*
:le change.txt /*:le* :le change.txt /*:le*
:left change.txt /*:left* :left change.txt /*:left*
:lefta windows.txt /*:lefta* :lefta windows.txt /*:lefta*
@ -2123,13 +2135,32 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:let-star eval.txt /*:let-star* :let-star eval.txt /*:let-star*
:let-unpack eval.txt /*:let-unpack* :let-unpack eval.txt /*:let-unpack*
:let.= eval.txt /*:let.=* :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* :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* :lm map.txt /*:lm*
:lmap map.txt /*:lmap* :lmap map.txt /*:lmap*
:lmap_l map.txt /*:lmap_l* :lmap_l map.txt /*:lmap_l*
:lmapc map.txt /*:lmapc* :lmapc map.txt /*:lmapc*
:lmapclear map.txt /*:lmapclear* :lmapclear map.txt /*:lmapclear*
:ln map.txt /*:ln* :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* :lnoremap map.txt /*:lnoremap*
:lo starting.txt /*:lo* :lo starting.txt /*:lo*
:loadk mbyte.txt /*:loadk* :loadk mbyte.txt /*:loadk*
@ -2139,9 +2170,21 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:lockmarks motion.txt /*:lockmarks* :lockmarks motion.txt /*:lockmarks*
:lockv eval.txt /*:lockv* :lockv eval.txt /*:lockv*
:lockvar eval.txt /*:lockvar* :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* :ls windows.txt /*:ls*
:lu map.txt /*:lu* :lu map.txt /*:lu*
:lunmap map.txt /*:lunmap* :lunmap map.txt /*:lunmap*
:lw quickfix.txt /*:lw*
:lwindow quickfix.txt /*:lwindow*
:m change.txt /*:m* :m change.txt /*:m*
:ma motion.txt /*:ma* :ma motion.txt /*:ma*
:mak quickfix.txt /*:mak* :mak quickfix.txt /*:mak*
@ -3798,6 +3841,7 @@ E772 spell.txt /*E772*
E773 recover.txt /*E773* E773 recover.txt /*E773*
E774 map.txt /*E774* E774 map.txt /*E774*
E775 map.txt /*E775* E775 map.txt /*E775*
E776 quickfix.txt /*E776*
E777 quickfix.txt /*E777* E777 quickfix.txt /*E777*
E778 spell.txt /*E778* E778 spell.txt /*E778*
E779 spell.txt /*E779* E779 spell.txt /*E779*
@ -5229,6 +5273,7 @@ getfsize() eval.txt /*getfsize()*
getftime() eval.txt /*getftime()* getftime() eval.txt /*getftime()*
getftype() eval.txt /*getftype()* getftype() eval.txt /*getftype()*
getline() eval.txt /*getline()* getline() eval.txt /*getline()*
getloclist() eval.txt /*getloclist()*
getqflist() eval.txt /*getqflist()* getqflist() eval.txt /*getqflist()*
getreg() eval.txt /*getreg()* getreg() eval.txt /*getreg()*
getregtype() eval.txt /*getregtype()* getregtype() eval.txt /*getregtype()*
@ -5729,6 +5774,8 @@ local-variables eval.txt /*local-variables*
locale mbyte.txt /*locale* locale mbyte.txt /*locale*
locale-name mbyte.txt /*locale-name* locale-name mbyte.txt /*locale-name*
localtime() eval.txt /*localtime()* localtime() eval.txt /*localtime()*
location-list quickfix.txt /*location-list*
location-list-window quickfix.txt /*location-list-window*
long-lines version5.txt /*long-lines* long-lines version5.txt /*long-lines*
lowercase change.txt /*lowercase* lowercase change.txt /*lowercase*
lpc.vim syntax.txt /*lpc.vim* 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-6 version6.txt /*new-items-6*
new-items-7 version7.txt /*new-items-7* new-items-7 version7.txt /*new-items-7*
new-line-continuation version5.txt /*new-line-continuation* 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-manpage-trans version7.txt /*new-manpage-trans*
new-multi-byte version5.txt /*new-multi-byte* new-multi-byte version5.txt /*new-multi-byte*
new-multi-lang version6.txt /*new-multi-lang* new-multi-lang version6.txt /*new-multi-lang*
@ -6458,6 +6506,7 @@ set-spc-auto spell.txt /*set-spc-auto*
setbufvar() eval.txt /*setbufvar()* setbufvar() eval.txt /*setbufvar()*
setcmdpos() eval.txt /*setcmdpos()* setcmdpos() eval.txt /*setcmdpos()*
setline() eval.txt /*setline()* setline() eval.txt /*setline()*
setloclist() eval.txt /*setloclist()*
setqflist() eval.txt /*setqflist()* setqflist() eval.txt /*setqflist()*
setreg() eval.txt /*setreg()* setreg() eval.txt /*setreg()*
setting-guifont gui.txt /*setting-guifont* setting-guifont gui.txt /*setting-guifont*

View 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 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*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Include location list commands, patch from Yegappan Lakshmanan. ccomplete / omnicomplete:
ccomplete:
- When an option is set: In completion mode and the user types (identifier) - 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. characters, advance to the first match instead of removing the popup menu.
If there is no match remove the selection. (Yegappan Lakshmanan) If there is no match remove the selection. (Yegappan Lakshmanan)
@ -58,6 +56,7 @@ ccomplete:
Can't reproduce it right now... Can't reproduce it right now...
spelling: spelling:
- Also use the spelling dictionary for dictionary completion.
- Use runtime/cleanadd script to cleanup .add files. When to invoke it? - Use runtime/cleanadd script to cleanup .add files. When to invoke it?
After deleting a word with "zw" and some timestamp difference perhaps? After deleting a word with "zw" and some timestamp difference perhaps?
Store it as spell/cleanadd.vim. Store it as spell/cleanadd.vim.
@ -94,7 +93,6 @@ spelling:
obtain). But new Myspell wordlist will come (Hagen) obtain). But new Myspell wordlist will come (Hagen)
- Finding suggestions with sound folding is slow. Somehow store the - Finding suggestions with sound folding is slow. Somehow store the
sound-folded words and link to the words it comes from? 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) - 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 command like "zg" that selects one of the files 'spellfile'.
- Add a "zug" command that undoes "zg"? Deletes the good word instead of - Add a "zug" command that undoes "zg"? Deletes the good word instead of

View File

@ -747,6 +747,7 @@ Various:
exists() check if a variable, function, etc. exists exists() check if a variable, function, etc. exists
has() check if a feature is supported in Vim has() check if a feature is supported in Vim
getqflist() list of quickfix errors getqflist() list of quickfix errors
getloclist() list of location list items
cscope_connection() check if a cscope connection exists cscope_connection() check if a cscope connection exists
did_filetype() check if a FileType autocommand was used did_filetype() check if a FileType autocommand was used
eventhandler() check if invoked by an event handler eventhandler() check if invoked by an event handler
@ -758,7 +759,8 @@ Various:
libcallnr() idem, returning a number libcallnr() idem, returning a number
getreg() get contents of a register getreg() get contents of a register
getregtype() get type 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 setreg() set contents and type of a register
taglist() get list of matching tags taglist() get list of matching tags

View 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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,6 +30,7 @@ POSIX compatibility |new-posix|
Debugger support |new-debug-support| Debugger support |new-debug-support|
Remote file explorer |new-netrw-explore| Remote file explorer |new-netrw-explore|
Define an operator |new-define-operator| Define an operator |new-define-operator|
Location list |new-location-list|
Various new items |new-items-7| Various new items |new-items-7|
IMPROVEMENTS |improvements-7| IMPROVEMENTS |improvements-7|
@ -356,6 +357,13 @@ through the |g@| operator.
See |:map-operator| for the explanation and an example. 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* 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 |count()| count nr of times a value is in a List or Dictionary
|deepcopy()| make a full copy of a List or Dictionary |deepcopy()| make a full copy of a List or Dictionary
|empty()| check if List or Dictionary is empty |empty()| check if List or Dictionary is empty
|getloclist()| list of location list items (Yegappan Lakshmanan)
|getqflist()| list of quickfix errors (Yegappan Lakshmanan) |getqflist()| list of quickfix errors (Yegappan Lakshmanan)
|extend()| append one List to another or add items from one |extend()| append one List to another or add items from one
Dictionary to another Dictionary to another
@ -509,7 +518,8 @@ New and extended functions: ~
|repeat()| repeat "expr" "count" times (Christophe Poucet) |repeat()| repeat "expr" "count" times (Christophe Poucet)
|reverse()| reverse the order of a List |reverse()| reverse the order of a List
|searchdecl()| search for declaration of variable |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 |sort()| sort a List
|soundfold()| get the sound-a-like equivalent of a word |soundfold()| get the sound-a-like equivalent of a word
|split()| split a String into a List |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 Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
different value. different value.
VHDL indent file (Gerald Lai)
New Keymaps: ~ New Keymaps: ~

View 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_getftime __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getftype __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_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_getqflist __ARGS((typval_T *argvars, typval_T *rettv));
static void f_getreg __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_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_setbufvar __ARGS((typval_T *argvars, typval_T *rettv));
static void f_setcmdpos __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_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_setqflist __ARGS((typval_T *argvars, typval_T *rettv));
static void f_setreg __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_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 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 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 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. */ /* Character used as separated in autoload function/variable names. */
#define AUTOLOAD_CHAR '#' #define AUTOLOAD_CHAR '#'
@ -6863,6 +6866,7 @@ static struct fst
{"getftime", 1, 1, f_getftime}, {"getftime", 1, 1, f_getftime},
{"getftype", 1, 1, f_getftype}, {"getftype", 1, 1, f_getftype},
{"getline", 1, 2, f_getline}, {"getline", 1, 2, f_getline},
{"getloclist", 1, 1, f_getloclist},
{"getqflist", 0, 0, f_getqflist}, {"getqflist", 0, 0, f_getqflist},
{"getreg", 0, 2, f_getreg}, {"getreg", 0, 2, f_getreg},
{"getregtype", 0, 1, f_getregtype}, {"getregtype", 0, 1, f_getregtype},
@ -6943,6 +6947,7 @@ static struct fst
{"setbufvar", 3, 3, f_setbufvar}, {"setbufvar", 3, 3, f_setbufvar},
{"setcmdpos", 1, 1, f_setcmdpos}, {"setcmdpos", 1, 1, f_setcmdpos},
{"setline", 2, 2, f_setline}, {"setline", 2, 2, f_setline},
{"setloclist", 2, 3, f_setloclist},
{"setqflist", 1, 2, f_setqflist}, {"setqflist", 1, 2, f_setqflist},
{"setreg", 2, 3, f_setreg}, {"setreg", 2, 3, f_setreg},
{"setwinvar", 3, 3, f_setwinvar}, {"setwinvar", 3, 3, f_setwinvar},
@ -9790,13 +9795,14 @@ f_getline(argvars, rettv)
get_buffer_lines(curbuf, lnum, end, retlist, 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 static void
f_getqflist(argvars, rettv) get_qf_ll_ist(wp, rettv)
typval_T *argvars; win_T *wp;
typval_T *rettv; typval_T *rettv;
{ {
#ifdef FEAT_QUICKFIX #ifdef FEAT_QUICKFIX
@ -9811,9 +9817,40 @@ f_getqflist(argvars, rettv)
rettv->vval.v_list = l; rettv->vval.v_list = l;
rettv->v_type = VAR_LIST; rettv->v_type = VAR_LIST;
++l->lv_refcount; ++l->lv_refcount;
(void)get_errorlist(l); (void)get_errorlist(wp, l);
} }
#endif #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 #endif
} }
static win_T *find_win_by_nr __ARGS((typval_T *vp));
static win_T * static win_T *
find_win_by_nr(vp) find_win_by_nr(vp)
typval_T *vp; typval_T *vp;
@ -13571,12 +13606,14 @@ f_setline(argvars, rettv)
} }
/* /*
* "setqflist()" function * Used by "setqflist()" and "setloclist()" functions
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
static void static void
f_setqflist(argvars, rettv) set_qf_ll_list(wp, list_arg, action_arg, rettv)
typval_T *argvars; win_T *wp;
typval_T *list_arg;
typval_T *action_arg;
typval_T *rettv; typval_T *rettv;
{ {
#ifdef FEAT_QUICKFIX #ifdef FEAT_QUICKFIX
@ -13587,27 +13624,57 @@ f_setqflist(argvars, rettv)
rettv->vval.v_number = -1; rettv->vval.v_number = -1;
#ifdef FEAT_QUICKFIX #ifdef FEAT_QUICKFIX
if (argvars[0].v_type != VAR_LIST) if (list_arg->v_type != VAR_LIST)
EMSG(_(e_listreq)); EMSG(_(e_listreq));
else 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) if (act == NULL)
return; /* type error; errmsg already given */ return; /* type error; errmsg already given */
if (*act == 'a' || *act == 'r') if (*act == 'a' || *act == 'r')
action = *act; action = *act;
} }
if (l != NULL && set_errorlist(l, action) == OK) if (l != NULL && set_errorlist(wp, l, action) == OK)
rettv->vval.v_number = 0; rettv->vval.v_number = 0;
} }
#endif #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 * "setreg()" function
*/ */

View File

@ -21,8 +21,8 @@ void ex_cnext __ARGS((exarg_T *eap));
void ex_cfile __ARGS((exarg_T *eap)); void ex_cfile __ARGS((exarg_T *eap));
void ex_vimgrep __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)); char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags));
int get_errorlist __ARGS((list_T *list)); int get_errorlist __ARGS((win_T *wp, list_T *list));
int set_errorlist __ARGS((list_T *list, int action)); int set_errorlist __ARGS((win_T *wp, list_T *list, int action));
void ex_cbuffer __ARGS((exarg_T *eap)); void ex_cbuffer __ARGS((exarg_T *eap));
void ex_cexpr __ARGS((exarg_T *eap)); void ex_cexpr __ARGS((exarg_T *eap));
void ex_helpgrep __ARGS((exarg_T *eap)); void ex_helpgrep __ARGS((exarg_T *eap));

View File

@ -3248,7 +3248,8 @@ unload_dummy_buffer(buf)
* Add each quickfix error to list "list" as a dictionary. * Add each quickfix error to list "list" as a dictionary.
*/ */
int int
get_errorlist(list) get_errorlist(wp, list)
win_T *wp;
list_T *list; list_T *list;
{ {
qf_info_T *qi = &ql_info; qf_info_T *qi = &ql_info;
@ -3257,6 +3258,13 @@ get_errorlist(list)
qfline_T *qfp; qfline_T *qfp;
int i; int i;
if (wp != NULL)
{
qi = GET_LOC_LIST(wp);
if (qi == NULL)
return FAIL;
}
if (qi->qf_curlist >= qi->qf_listcount if (qi->qf_curlist >= qi->qf_listcount
|| qi->qf_lists[qi->qf_curlist].qf_count == 0) || qi->qf_lists[qi->qf_curlist].qf_count == 0)
return FAIL; return FAIL;
@ -3292,7 +3300,8 @@ get_errorlist(list)
* of dictionaries. * of dictionaries.
*/ */
int int
set_errorlist(list, action) set_errorlist(wp, list, action)
win_T *wp;
list_T *list; list_T *list;
int action; int action;
{ {
@ -3307,6 +3316,13 @@ set_errorlist(list, action)
int retval = OK; int retval = OK;
qf_info_T *qi = &ql_info; 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) if (action == ' ' || qi->qf_curlist == qi->qf_listcount)
/* make place for a new list */ /* make place for a new list */
qf_new_list(qi); qf_new_list(qi);

View File

@ -3446,13 +3446,13 @@ term_cursor_shape()
if (State & INSERT) if (State & INSERT)
{ {
if (showing_insert_mode != TRUE) if (showing_insert_mode != TRUE)
out_str(T_CSI); /* disable cursor */ out_str(T_CSI); /* Insert mode cursor */
showing_insert_mode = TRUE; showing_insert_mode = TRUE;
} }
else else
{ {
if (showing_insert_mode != FALSE) if (showing_insert_mode != FALSE)
out_str(T_CEI); /* disable cursor */ out_str(T_CEI); /* non-Insert mode cursor */
showing_insert_mode = FALSE; showing_insert_mode = FALSE;
} }
} }

View File

@ -144,6 +144,11 @@ static char *(features[]) =
#else #else
"-cscope", "-cscope",
#endif #endif
#ifdef CURSOR_SHAPE
"+cursorshape",
#else
"-cursorshape",
#endif
#if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG) #if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
"+dialog_con_gui", "+dialog_con_gui",
#else #else

View File

@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA" #define VIM_VERSION_MEDIUM "7.0aa ALPHA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 25)" #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 25, compiled " #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 26, compiled "