]> granicus.if.org Git - vim/commitdiff
updated for version 7.0033
authorBram Moolenaar <Bram@vim.org>
Fri, 7 Jan 2005 21:48:26 +0000 (21:48 +0000)
committerBram Moolenaar <Bram@vim.org>
Fri, 7 Jan 2005 21:48:26 +0000 (21:48 +0000)
runtime/doc/eval.txt
runtime/doc/options.txt
runtime/doc/tags
src/version.h

index 7c6a1fdab25eaa4bddbcf7095651de2e635b7d4d..f729bfcf7e44c38fa716d31f29f1b2b77e12dfb0 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 06
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 07
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -934,8 +934,8 @@ See |function-list| for a list grouped by what the function is used for.
 
 USAGE                          RESULT  DESCRIPTION     ~
 
+add( {list}, {item})           List    append {item} to List {list}
 append( {lnum}, {string})      Number  append {string} below line {lnum}
-append( {list}, {item})                List    append {item} to List {list}
 argc()                         Number  number of files in the argument list
 argidx()                       Number  current index in the argument list
 argv( {nr})                    String  {nr} entry of the argument list
@@ -982,6 +982,7 @@ foldlevel( {lnum})          Number  fold level at {lnum}
 foldtext( )                    String  line displayed for closed fold
 foreground( )                  Number  bring the Vim window to the foreground
 function( {name})              Funcref reference to function {name}
+get( {list}, {idx} [, {def}])  any     get item {idx} from {list} or {def}
 getchar( [expr])               Number  get one character from the user
 getcharmod( )                  Number  modifiers for the last typed character
 getbufvar( {expr}, {varname})          variable {varname} in buffer {expr}
@@ -1051,6 +1052,7 @@ remove( {list}, {idx} [, {end}])  any     remove items {idx}-{end} from {list}
 rename( {from}, {to})          Number  rename (move) file from {from} to {to}
 repeat( {expr}, {count})       String  repeat {expr} {count} times
 resolve( {filename})           String  get filename a shortcut points to
+reverse( {list})               List    reverse {list} in-place
 search( {pattern} [, {flags}]) Number  search for {pattern}
 searchpair( {start}, {middle}, {end} [, {flags} [, {skip}]])
                                Number  search for other end of start/end pair
@@ -1063,6 +1065,8 @@ setline( {lnum}, {line})  Number  set line {lnum} to {line}
 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
+sort( {list} [, {func}])       List    sort {list}, using {func} to compare
+str2list( {expr} [, {pat}])    List    make List from {pat} separated {expr}
 strftime( {format}[, {time}])  String  time in specified format
 stridx( {haystack}, {needle})  Number  first index of {needle} in {haystack}
 string( {expr})                        String  {expr} converted to a String
@@ -1095,19 +1099,25 @@ winnr()                         Number  number of current window
 winrestcmd()                   String  returns command to restore window sizes
 winwidth( {nr})                        Number  width of window {nr}
 
-append({expr1}, {expr2})                               *append()*
-               If {expr1} is a List: Append the item {expr2} to List {expr1}.
-               Returns the resulting List. Examples: >
-                       :let alist = append([1, 2, 3], item)
-                       :call append(mylist, "woodstock")
-<              Note that when {expr2} is a List it is appended as a single
+add({list}, {expr})                                    *add()*
+               Append the item {expr} to List {list}.  Returns the resulting
+               List. Examples: >
+                       :let alist = add([1, 2, 3], item)
+                       :call add(mylist, "woodstock")
+<              Note that when {expr} is a List it is appended as a single
                item.  Use |extend()| to concatenate Lists.
 
-               When {expr1} is not a List: Append the text {expr2} after line
-               {expr1} in the current buffer.  {expr1} can be zero, to insert
-               a line before the first one.  Returns 1 for failure ({expr1}
-               out of range or out of memory), 0 for success.  Example: >
+
+append({lnum}, {expr})                                 *append()*
+               When {expr} is a List: Append each item of the list as a text
+               line below line {lnum} in the current buffer.
+               Otherwise append the text line {expr} below line {lnum} in the
+               current buffer.
+               {lnum} can be zero, to insert a line before the first one.
+               Returns 1 for failure ({lnum} out of range or out of memory),
+               0 for success.  Example: >
                        :let failed = append(line('$'), "# THE END")
+                       :let failed = append(0, ["Chapter 1", "the beginning"])
 <
                                                        *argc()*
 argc()         The result is the number of files in the argument list of the
@@ -1644,8 +1654,8 @@ extend({list1}, {list2} [, {idx}])                        *extend()*
                Examples: >
                        :echo sort(extend(mylist, [7, 5]))
                        :call extend(mylist, [2, 3], 1)
-<              Use |append()| to concatenate one item to a list.  To
-               concatenate two lists into a new list use the + operator: >
+<              Use |add()| to concatenate one item to a list.  To concatenate
+               two lists into a new list use the + operator: >
                        :let newlist = [1, 2, 3] + [4, 5]
 
 filereadable({file})                                   *filereadable()*
@@ -1743,10 +1753,30 @@ foreground()    Move the Vim window to the foreground.  Useful when sent from
                {only in the Win32, Athena, Motif and GTK GUI versions and the
                Win32 console version}
 
+
 function({name})                                       *function()*
                Return a Funcref variable that refers to function {name}.
                {name} can be a user defined function or an internal function.
 
+
+get({list}, {idx} [, {default}])                       *get*
+               Get item {idx} from List {list}.  When this item is not
+               available return {default}.  Return zero when {default} is
+               omitted.
+
+getbufvar({expr}, {varname})                           *getbufvar()*
+               The result is the value of option or local buffer variable
+               {varname} in buffer {expr}.  Note that the name without "b:"
+               must be used.
+               This also works for a global or local window option, but it
+               doesn't work for a global or local window variable.
+               For the use of {expr}, see |bufname()| above.
+               When the buffer or variable doesn't exist an empty string is
+               returned, there is no error message.
+               Examples: >
+                       :let bufmodified = getbufvar(1, "&mod")
+                       :echo "todo myvar = " . getbufvar("todo", "myvar")
+<
 getchar([expr])                                                *getchar()*
                Get a single character from the user.  If it is an 8-bit
                character, the result is a number.  Otherwise a String is
@@ -1798,19 +1828,6 @@ getcharmod()                                             *getcharmod()*
                character itself are obtained.  Thus Shift-a results in "A"
                with no modifier.
 
-getbufvar({expr}, {varname})                           *getbufvar()*
-               The result is the value of option or local buffer variable
-               {varname} in buffer {expr}.  Note that the name without "b:"
-               must be used.
-               This also works for a global or local window option, but it
-               doesn't work for a global or local window variable.
-               For the use of {expr}, see |bufname()| above.
-               When the buffer or variable doesn't exist an empty string is
-               returned, there is no error message.
-               Examples: >
-                       :let bufmodified = getbufvar(1, "&mod")
-                       :echo "todo myvar = " . getbufvar("todo", "myvar")
-<
 getcmdline()                                           *getcmdline()*
                Return the current command-line.  Only works when the command
                line is being edited, thus requires use of |c_CTRL-\_e| or
@@ -1892,8 +1909,9 @@ getftype({fname})                                 *getftype()*
                "file" are returned.
 
                                                        *getline()*
-getline({lnum}) The result is a String, which is line {lnum} from the current
-               buffer.  Example: >
+getline({lnum} [, {end}])
+               Without {end} the result is a String, which is line {lnum}
+               from the current buffer.  Example: >
                        getline(1)
 <              When {lnum} is a String that doesn't start with a
                digit, line() is called to translate the String into a Number.
@@ -1902,6 +1920,18 @@ getline({lnum}) The result is a String, which is line {lnum} from the current
 <              When {lnum} is smaller than 1 or bigger than the number of
                lines in the buffer, an empty string is returned.
 
+               When {end} is given the result is a List where each item is a
+               line from the current buffer in the range {lnum} to {end},
+               including line {end}.
+               {end} is used in the same way as {lnum}.
+               Non-existing lines are silently omitted.
+               When {end} is before {lnum} an error is given.
+               Example: >
+                       :let start = line('.')
+                       :let end = search("^$") - 1
+                       :let lines = getline(start, end)
+
+
 getreg([{regname}])                                    *getreg()*
                The result is a String, which is the contents of register
                {regname}. Example: >
@@ -1910,6 +1940,7 @@ getreg([{regname}])                                       *getreg()*
                register. (For use in maps).
                If {regname} is not specified, |v:register| is used.
 
+
 getregtype([{regname}])                                        *getregtype()*
                The result is a String, which is type of register {regname}.
                The value will be one of:
@@ -1920,6 +1951,7 @@ getregtype([{regname}])                                   *getregtype()*
                <CTRL-V> is one character with value 0x16.
                If {regname} is not specified, |v:register| is used.
 
+
                                                        *getwinposx()*
 getwinposx()   The result is a Number, which is the X coordinate in pixels of
                the left hand side of the GUI Vim window.  The result will be
@@ -2218,7 +2250,7 @@ insert({list}, {item} [, {idx}])                  *insert()*
                        :let mylist = insert([2, 3, 5], 1)
                        :call insert(mylist, 4, -1)
                        :call insert(mylist, 6, len(mylist))
-<              The last example can be done simpler with |append()|.
+<              The last example can be done simpler with |add()|.
                Note that when {item} is a List it is inserted as a single
                item.  Use |extend()| to concatenate Lists.
 
@@ -2551,8 +2583,7 @@ remote_send({server}, {string} [, {idvar}])
                 \ echo remote_read(expand("<amatch>"))
                :echo remote_send("gvim", ":sleep 10 | echo ".
                 \ 'server2client(expand("<client>"), "HELLO")<CR>')
-
-
+<
 remove({list}, {idx} [, {end}])                                *remove()*
                Without {end}: Remove the item at {idx} from List {list} and
                return it.
@@ -2583,6 +2614,7 @@ repeat({expr}, {count})                                   *repeat()*
                        :let longlist = repeat(['a', 'b'], 3)
 <              Results in ['a', 'b', 'a', 'b', 'a', 'b'].
 
+
 resolve({filename})                                    *resolve()* *E655*
                On MS-Windows, when {filename} is a shortcut (a .lnk file),
                returns the path the shortcut points to in a simplified form.
@@ -2596,6 +2628,12 @@ resolve({filename})                                      *resolve()* *E655*
                current directory (provided the result is still a relative
                path name) and also keeps a trailing path separator.
 
+                                                       *reverse()*
+reverse({list})        Reverse the order of items in {list} in-place.  Returns
+               {list}.
+               If you want a list to remain unmodified make a copy first: >
+                       :let revlist = reverse(copy(mylist))
+
 search({pattern} [, {flags}])                          *search()*
                Search for regexp pattern {pattern}.  The search starts at the
                cursor position.
@@ -2819,6 +2857,34 @@ simplify({filename})                                     *simplify()*
                directory.  In order to resolve all the involved symbolic
                links before simplifying the path name, use |resolve()|.
 
+
+sort({list} [, {func}])                                        *sort()*
+               Sort the items in {list} in-place.  Returns {list}.  If you
+               want a list to remain unmodified make a copy first: >
+                       :let sortedlist = sort(copy(mylist))
+<              Uses the string representation of each item to sort on.
+               When {func} is given and it is one then case is ignored.
+               When {func} is a Funcref or a function name, this function is
+               called to compare items.  The function is invoked with two
+               items as argument and must return zero if they are equal, 1 if
+               the first one sorts after the second one, -1 if the first one
+               sorts before the second one.  Example: >
+                       func MyCompare(i1, i2)
+                          return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
+                       endfunc
+                       let sortedlist = sort(mylist, "MyCompare")
+
+str2list({expr} [, {pattern}])                         *str2list()*
+               Make a List out of {expr}.  When {pattern} is omitted each
+               white-separated sequence of characters becomes an item.
+               Otherwise the string is split where {pattern} matches,
+               removing the matched characters.  Empty strings are omitted.
+               Example: >
+                       :let words = str2list(getline('.'), '\W\+')
+<              Since empty strings are not added the "\+" isn't required but
+               it makes the function work a bit faster.
+
+
 strftime({format} [, {time}])                          *strftime()*
                The result is a String, which is a formatted date and time, as
                specified by the {format} string.  The given {time} is used,
@@ -2835,7 +2901,9 @@ strftime({format} [, {time}])                             *strftime()*
                  :echo strftime("%H:%M")          11:55
                  :echo strftime("%c", getftime("file.c"))
                                                   Show mod time of file.c.
-<
+<              Not available on all systems.  To check use: >
+                       :if exists("*strftime")
+
 stridx({haystack}, {needle})                           *stridx()*
                The result is a Number, which gives the index in {haystack} of
                the first occurrence of the String {needle} in the String
index 01535c7b09d1ed71b03e0668bacb44aff62b408f..b91f4caf45b68adb8fe231434eb3f0c72da3ba89 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 05
+*options.txt*  For Vim version 7.0aa.  Last change: 2005 Jan 07
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1096,6 +1096,8 @@ A jump table for the options with a short description can be found at |Q_op|.
                        'hidden' is set or using |:hide|, like using
                        |:bwipeout|
 
+       CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
+       are lost without a warning.
        This option is used together with 'buftype' and 'swapfile' to specify
        special kinds of buffers.   See |special-buffers|.
 
index b6c0445ee2143a771e7a915cdb42419e76cf8167..23d0dc077773fa6477d3ede0d3c3476c9ecb1e83 100644 (file)
@@ -3955,6 +3955,7 @@ abel.vim  syntax.txt      /*abel.vim*
 active-buffer  windows.txt     /*active-buffer*
 ada-syntax     syntax.txt      /*ada-syntax*
 ada.vim        syntax.txt      /*ada.vim*
+add()  eval.txt        /*add()*
 add-filetype-plugin    usr_05.txt      /*add-filetype-plugin*
 add-global-plugin      usr_05.txt      /*add-global-plugin*
 add-local-help usr_05.txt      /*add-local-help*
@@ -4181,6 +4182,7 @@ c_CTRL-^  cmdline.txt     /*c_CTRL-^*
 c_CTRL-_       cmdline.txt     /*c_CTRL-_*
 c_digraph      cmdline.txt     /*c_digraph*
 c_wildchar     cmdline.txt     /*c_wildchar*
+call() eval.txt        /*call()*
 carriage-return        intro.txt       /*carriage-return*
 case   change.txt      /*case*
 catch-all      eval.txt        /*catch-all*
@@ -4289,6 +4291,7 @@ copy-move change.txt      /*copy-move*
 copying        uganda.txt      /*copying*
 copyright      uganda.txt      /*copyright*
 count  intro.txt       /*count*
+count()        eval.txt        /*count()*
 count-bytes    tips.txt        /*count-bytes*
 count-items    tips.txt        /*count-items*
 count-variable eval.txt        /*count-variable*
@@ -4624,6 +4627,7 @@ expr-barbar       eval.txt        /*expr-barbar*
 expr-env       eval.txt        /*expr-env*
 expr-env-expand        eval.txt        /*expr-env-expand*
 expr-function  eval.txt        /*expr-function*
+expr-is        eval.txt        /*expr-is*
 expr-nesting   eval.txt        /*expr-nesting*
 expr-number    eval.txt        /*expr-number*
 expr-option    eval.txt        /*expr-option*
@@ -4647,6 +4651,7 @@ expression        eval.txt        /*expression*
 expression-commands    eval.txt        /*expression-commands*
 expression-syntax      eval.txt        /*expression-syntax*
 exrc   starting.txt    /*exrc*
+extend()       eval.txt        /*extend()*
 extension-removal      cmdline.txt     /*extension-removal*
 extensions-improvements        todo.txt        /*extensions-improvements*
 f      motion.txt      /*f*
@@ -4829,6 +4834,7 @@ g`a       motion.txt      /*g`a*
 ga     various.txt     /*ga*
 gd     pattern.txt     /*gd*
 ge     motion.txt      /*ge*
+get    eval.txt        /*get*
 getbufvar()    eval.txt        /*getbufvar()*
 getchar()      eval.txt        /*getchar()*
 getcharmod()   eval.txt        /*getcharmod()*
@@ -5193,6 +5199,7 @@ indent-expression indent.txt      /*indent-expression*
 indent.txt     indent.txt      /*indent.txt*
 indentkeys-format      indent.txt      /*indentkeys-format*
 index  index.txt       /*index*
+index()        eval.txt        /*index()*
 index.txt      index.txt       /*index.txt*
 info-message   starting.txt    /*info-message*
 inform-syntax  syntax.txt      /*inform-syntax*
@@ -5891,6 +5898,7 @@ restore-position  tips.txt        /*restore-position*
 restricted-mode        starting.txt    /*restricted-mode*
 retab-example  change.txt      /*retab-example*
 rethrow        eval.txt        /*rethrow*
+reverse()      eval.txt        /*reverse()*
 rexx-syntax    syntax.txt      /*rexx-syntax*
 rexx.vim       syntax.txt      /*rexx.vim*
 rgb.txt        gui_w32.txt     /*rgb.txt*
@@ -6033,6 +6041,7 @@ sniff     if_sniff.txt    /*sniff*
 sniff-commands if_sniff.txt    /*sniff-commands*
 sniff-compiling        if_sniff.txt    /*sniff-compiling*
 sniff-intro    if_sniff.txt    /*sniff-intro*
+sort() eval.txt        /*sort()*
 space  intro.txt       /*space*
 spec-customizing       pi_spec.txt     /*spec-customizing*
 spec-how-to-use-it     pi_spec.txt     /*spec-how-to-use-it*
@@ -6069,6 +6078,7 @@ startup-terminal  term.txt        /*startup-terminal*
 static-tag     tagsrch.txt     /*static-tag*
 status-line    windows.txt     /*status-line*
 statusmsg-variable     eval.txt        /*statusmsg-variable*
+str2list()     eval.txt        /*str2list()*
 strftime()     eval.txt        /*strftime()*
 stridx()       eval.txt        /*stridx()*
 string()       eval.txt        /*string()*
index 67ce20babc7a4488cf98c6a22a98fcb92ebd0714..6807bd8d4390a98ef35f1fa87c17ef0868c07df3 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 (2004 Jan 6)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 6, compiled "
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 7)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 7, compiled "