]> granicus.if.org Git - vim/commitdiff
Updated runtime files.
authorBram Moolenaar <Bram@vim.org>
Sun, 12 Jun 2016 21:01:46 +0000 (23:01 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 12 Jun 2016 21:01:46 +0000 (23:01 +0200)
17 files changed:
runtime/doc/autocmd.txt
runtime/doc/eval.txt
runtime/doc/index.txt
runtime/doc/map.txt
runtime/doc/motion.txt
runtime/doc/options.txt
runtime/doc/pattern.txt
runtime/doc/repeat.txt
runtime/doc/starting.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/doc/usr_41.txt
runtime/doc/windows.txt
runtime/ftplugin/c.vim
runtime/ftplugin/python.vim
runtime/syntax/viminfo.vim
runtime/tools/blink.c

index c3978fa3d6aef94776ea637c01df7a9c9c13d62e..d33d6f28b541f70b1037b66f7145ca1374629f08 100644 (file)
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.4.  Last change: 2016 Apr 20
+*autocmd.txt*   For Vim version 7.4.  Last change: 2016 Jun 09
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1204,6 +1204,8 @@ option will not cause any commands to be executed.
                        argument is present. You probably want to use
                        <nomodeline> for events that are not used when loading
                        a buffer, such as |User|.
+                       Processing modelines is also skipped when no
+                       matching autocommands were executed.
 
                                                *:doautoa* *:doautoall*
 :doautoa[ll] [<nomodeline>] [group] {event} [fname]
index 4cbece7a0786b689fc25815aab5f0d7832eea069..68508c6bfd2fa0412f7edcde80c15551410d23b3 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*     For Vim version 7.4.  Last change: 2016 Jun 04
+*eval.txt*     For Vim version 7.4.  Last change: 2016 Jun 06
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1468,9 +1468,11 @@ v:exception      The value of the exception most recently caught and not
                                        *v:false* *false-variable*
 v:false                A Number with value zero. Used to put "false" in JSON.  See
                |json_encode()|.
-               When used as a string this evaluates to "false". >
+               When used as a string this evaluates to "v:false". >
                        echo v:false
-<                      false ~
+<                      v:false ~
+               That is so that eval() can parse the string back to the same
+               value.
 
                                        *v:fcs_reason* *fcs_reason-variable*
 v:fcs_reason   The reason why the |FileChangedShell| event was triggered.
@@ -1613,17 +1615,21 @@ v:mouse_col     Column number for a mouse click obtained with |getchar()|.
 v:none         An empty String. Used to put an empty item in JSON.  See
                |json_encode()|.
                When used as a number this evaluates to zero.
-               When used as a string this evaluates to "none". >
+               When used as a string this evaluates to "v:none". >
                        echo v:none
-<                      none ~
+<                      v:none ~
+               That is so that eval() can parse the string back to the same
+               value.
 
                                        *v:null* *null-variable*
 v:null         An empty String. Used to put "null" in JSON.  See
                |json_encode()|.
                When used as a number this evaluates to zero.
-               When used as a string this evaluates to "null". >
+               When used as a string this evaluates to "v:null". >
                        echo v:null
-<                      null ~
+<                      v:null ~
+               That is so that eval() can parse the string back to the same
+               value.
 
                                        *v:oldfiles* *oldfiles-variable*
 v:oldfiles     List of file names that is loaded from the |viminfo| file on
@@ -1796,9 +1802,11 @@ v:throwpoint     The point where the exception most recently caught and not
                                                *v:true* *true-variable*
 v:true         A Number with value one. Used to put "true" in JSON.  See
                |json_encode()|.
-               When used as a string this evaluates to "true". >
+               When used as a string this evaluates to "v:true". >
                        echo v:true
-<                      true ~
+<                      v:true ~
+               That is so that eval() can parse the string back to the same
+               value.
                                                *v:val* *val-variable*
 v:val          Value of the current item of a |List| or |Dictionary|.  Only
                valid while evaluating the expression used with |map()| and
@@ -2218,6 +2226,7 @@ test_null_job()                   Job     null value for testing
 test_null_list()               List    null value for testing
 test_null_partial()            Funcref null value for testing
 test_null_string()             String  null value for testing
+test_settime({expr})           none    set current time for testing
 timer_start({time}, {callback} [, {options}])
                                Number  create a timer
 timer_stop({timer})            none    stop a timer
@@ -7275,6 +7284,11 @@ test_null_partial()                                      *test_null_partial()*
 test_null_string()                                     *test_null_string()*
                Return a String that is null. Only useful for testing.
 
+test_settime({expr})                                   *test_settime()*
+               Set the time Vim uses internally.  Currently only used for
+               timestamps in the history, as they are used in viminfo.
+               {expr} must evaluate to a number.  When the value is zero the
+               normal behavior is restored.
 
                                                        *timer_start()*
 timer_start({time}, {callback} [, {options}])
index c636b7cb314e29597ea14ed48e6c28eb218cfde0..f040e5f2bb749235fa6a98ab0aae8f7b0c77d267 100644 (file)
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.4.  Last change: 2016 Apr 12
+*index.txt*     For Vim version 7.4.  Last change: 2016 Jun 12
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1156,8 +1156,9 @@ tag             command         action ~
 |:chdir|       :chd[ir]        change directory
 |:checkpath|   :che[ckpath]    list included files
 |:checktime|   :checkt[ime]    check timestamp of loaded buffers
-|:clist|       :cl[ist]        list all errors
 |:clast|       :cla[st]        go to the specified error, default last one
+|:clearjumps|  :cle[arjumps]   clear the jump list
+|:clist|       :cl[ist]        list all errors
 |:close|       :clo[se]        close current window
 |:cmap|                :cm[ap]         like ":map" but for Command-line mode
 |:cmapclear|   :cmapc[lear]    clear all mappings for Command-line mode
index 21858e09966a934b82f35b0aae54fd3ae0fd756f..5584460660dbe026d115f50a826cb7d6613ede6b 100644 (file)
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 7.4.  Last change: 2016 Jan 10
+*map.txt*       For Vim version 7.4.  Last change: 2016 Jun 10
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1413,11 +1413,11 @@ The valid escape sequences are
                expands to nothing.
                                                *<mods>*
        <mods>  The command modifiers, if specified. Otherwise, expands to
-               nothing. Supported modifiers are |aboveleft|, |belowright|,
-               |botright|, |browse|, |confirm|, |hide|, |keepalt|,
-               |keepjumps|, |keepmarks|, |keeppatterns|, |lockmarks|,
-               |noswapfile|, |silent|, |tab|, |topleft|, |verbose|, and
-               |vertical|.
+               nothing. Supported modifiers are |:aboveleft|, |:belowright|,
+               |:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
+               |:keepjumps|, |:keepmarks|, |:keeppatterns|, |:lockmarks|,
+               |:noswapfile|, |:silent|, |:tab|, |:topleft|, |:verbose|, and
+               |:vertical|.
                Examples: >
                    command! -nargs=+ -complete=file MyEdit
                                \ for f in expand(<q-args>, 0, 1) |
index 97160ad4d881b1453c99e5f2cb52700b6b4c4f77..aee4e4ac2f05c2f70463890414b161d43b8854de 100644 (file)
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.4.  Last change: 2015 Jun 06
+*motion.txt*    For Vim version 7.4.  Last change: 2016 Jun 12
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1027,7 +1027,8 @@ unless the line containing that position was changed or deleted.
 
                                                        *CTRL-O*
 CTRL-O                 Go to [count] Older cursor position in jump list
-                       (not a motion command).  {not in Vi}
+                       (not a motion command).
+                       {not in Vi}
                        {not available without the |+jumplist| feature}
 
 <Tab>          or                                      *CTRL-I* *<Tab>*
@@ -1037,8 +1038,14 @@ CTRL-I                   Go to [count] newer cursor position in jump list
                        {not available without the |+jumplist| feature}
 
                                                        *:ju* *:jumps*
-:ju[mps]               Print the jump list (not a motion command).  {not in
-                       Vi} {not available without the |+jumplist| feature}
+:ju[mps]               Print the jump list (not a motion command).
+                       {not in Vi}
+                       {not available without the |+jumplist| feature}
+
+                                                       *:cle* *:clearjumps*
+:cle[arjumps]          Clear the jump list of the current window.
+                       {not in Vi}
+                       {not available without the |+jumplist| feature}
 
                                                        *jumplist*
 Jumps are remembered in a jump list.  With the CTRL-O and CTRL-I command you
index fbeeb9edc866dfec8e8243c0f5eb443d64293007..2751fb2bd36d8d5a10e545fdf6110d013f40b0e3 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 7.4.  Last change: 2016 Jun 04
+*options.txt*  For Vim version 7.4.  Last change: 2016 Jun 08
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -3337,6 +3337,41 @@ A jump table for the options with a short description can be found at |Q_op|.
        It is not allowed to change text or jump to another window while
        evaluating 'foldtext' |textlock|.
 
+                                               *'formatexpr'* *'fex'*
+'formatexpr' 'fex'     string (default "")
+                       local to buffer
+                       {not in Vi}
+                       {not available when compiled without the |+eval|
+                       feature}
+       Expression which is evaluated to format a range of lines for the |gq|
+       operator or automatic formatting (see 'formatoptions').  When this
+       option is empty 'formatprg' is used.
+
+       The |v:lnum|  variable holds the first line to be formatted.
+       The |v:count| variable holds the number of lines to be formatted.
+       The |v:char|  variable holds the character that is going to be
+                     inserted if the expression is being evaluated due to
+                     automatic formatting.  This can be empty.  Don't insert
+                     it yet!
+
+       Example: >
+               :set formatexpr=mylang#Format()
+<      This will invoke the mylang#Format() function in the
+       autoload/mylang.vim file in 'runtimepath'. |autoload|
+
+       The expression is also evaluated when 'textwidth' is set and adding
+       text beyond that limit.  This happens under the same conditions as
+       when internal formatting is used.  Make sure the cursor is kept in the
+       same spot relative to the text then!  The |mode()| function will
+       return "i" or "R" in this situation.
+       
+       When the expression evaluates to non-zero Vim will fall back to using
+       the internal format mechanism.
+
+       The expression will be evaluated in the |sandbox| when set from a
+       modeline, see |sandbox-option|.  That stops the option from working,
+       since changing the buffer text is not allowed.
+
                                        *'formatoptions'* *'fo'*
 'formatoptions' 'fo'   string (Vim default: "tcq", Vi default: "vt")
                        local to buffer
@@ -3380,41 +3415,6 @@ A jump table for the options with a short description can be found at |Q_op|.
        This option cannot be set from a |modeline| or in the |sandbox|, for
        security reasons.
 
-                                               *'formatexpr'* *'fex'*
-'formatexpr' 'fex'     string (default "")
-                       local to buffer
-                       {not in Vi}
-                       {not available when compiled without the |+eval|
-                       feature}
-       Expression which is evaluated to format a range of lines for the |gq|
-       operator or automatic formatting (see 'formatoptions').  When this
-       option is empty 'formatprg' is used.
-
-       The |v:lnum|  variable holds the first line to be formatted.
-       The |v:count| variable holds the number of lines to be formatted.
-       The |v:char|  variable holds the character that is going to be
-                     inserted if the expression is being evaluated due to
-                     automatic formatting.  This can be empty.  Don't insert
-                     it yet!
-
-       Example: >
-               :set formatexpr=mylang#Format()
-<      This will invoke the mylang#Format() function in the
-       autoload/mylang.vim file in 'runtimepath'. |autoload|
-
-       The expression is also evaluated when 'textwidth' is set and adding
-       text beyond that limit.  This happens under the same conditions as
-       when internal formatting is used.  Make sure the cursor is kept in the
-       same spot relative to the text then!  The |mode()| function will
-       return "i" or "R" in this situation.
-       
-       When the expression evaluates to non-zero Vim will fall back to using
-       the internal format mechanism.
-
-       The expression will be evaluated in the |sandbox| when set from a
-       modeline, see |sandbox-option|.  That stops the option from working,
-       since changing the buffer text is not allowed.
-
                                        *'fsync'* *'fs'* *'nofsync'* *'nofs'*
 'fsync' 'fs'           boolean (default on)
                        global
index 38d172c4340aa36a9a544f0f922c363c7181d8d9..d47fd9255b1cf9880f53207ab9fa45f7550e5ce0 100644 (file)
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.4.  Last change: 2016 Apr 26
+*pattern.txt*   For Vim version 7.4.  Last change: 2016 Jun 08
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -954,14 +954,18 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
 <      When 'hlsearch' is set and you move the cursor around and make changes
        this will clearly show when the match is updated or not.
        To match the text up to column 17: >
-               /.*\%17v
-<      Column 17 is included, because that's where the "\%17v" matches,
-       even though this is a |/zero-width| match.  Adding a dot to match the
-       next character has the same result: >
-               /.*\%17v.
+               /^.*\%17v
+<      Column 17 is not included, because this is a |/zero-width| match. To
+       include the column use: >
+               /^.*\%17v.
 <      This command does the same thing, but also matches when there is no
        character in column 17: >
-               /.*\%<18v.
+               /^.*\%<18v.
+<      Note that without the "^" to anchor the match in the first column,
+       this will also highlight column 17: >
+               /.*\%17v
+<      Column 17 is highlighted by 'hlsearch' because there is another match
+       where ".*" matches zero characters.
 <
 
 Character classes: {not in Vi}
index 791e7a54abfa979b2fd2134c3c3a56039c8b46f9..9124f79c6541a675b3a0844a678a7bc06154b8ed 100644 (file)
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 7.4.  Last change: 2016 May 24
+*repeat.txt*    For Vim version 7.4.  Last change: 2016 Jun 11
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -541,7 +541,7 @@ whether Vim supports a feature or a dependency is missing.
 You can also load an optional plugin at startup, by putting this command in
 your |.vimrc|: >
        :packadd! foodebug
-The extra "!" is so that the plugin isn't loaded with Vim was started with
+The extra "!" is so that the plugin isn't loaded if Vim was started with
 |--noplugin|.
 
 It is perfectly normal for a package to only have files in the "opt"
@@ -620,7 +620,7 @@ the command after changing the plugin help: >
 
 Dependencies between plugins ~
                                                        *packload-two-steps*
-Suppose you have two plugins that depend on the same functionality. You can
+Suppose you have two plugins that depend on the same functionality. You can
 put the common functionality in an autoload directory, so that it will be
 found automatically.  Your package would have these files:
 
index 23546d959fc8a0ddec1e699b4c3b20b6d739410e..26aead3e33b4b0c6ef809811f4df574bdd07b7e8 100644 (file)
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.4.  Last change: 2016 Apr 22
+*starting.txt*  For Vim version 7.4.  Last change: 2016 Jun 12
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1413,6 +1413,29 @@ file (it's actually merged with the existing one, if one exists).  The
 'viminfo' option is a string containing information about what info should be
 stored, and contains limits on how much should be stored (see 'viminfo').
 
+Merging happens in two ways.  Most items that have been changed or set in the
+current Vim session are stored, and what was not changed is filled from what
+is currently in the viminfo file.  For example:
+- Vim session A reads the viminfo, which contains variable START.
+- Vim session B does the same
+- Vim session A sets the variables AAA and BOTH and exits
+- Vim session B sets the variables BBB and BOTH and exits
+Now the viminfo will have:
+   START - it was in the viminfo and wasn't changed in session A or B
+   AAA   - value from session A, session B kept it
+   BBB   - value from session B
+   BOTH  - value from session B, value from session A is lost
+
+For some items a timestamp is used to keep the last changed version.  Here it
+doesn't matter in which sequence Vim sessions exit, the newest item(s) are
+always kept.  This is used for:
+- The command line history.
+- The search string history.
+- The input-line history.
+- Contents of non-empty registers.
+- The jump list
+- File marks
+
 Notes for Unix:
 - The file protection for the viminfo file will be set to prevent other users
   from being able to read it, because it may contain any text or commands that
@@ -1535,14 +1558,14 @@ most of the information will be restored).
                        already set (registers, marks, |v:oldfiles|, etc.)
                        will be overwritten   {not in Vi}
 
-                               *:wv* *:wviminfo* *E137* *E138* *E574* *E886*
+                       *:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
 :wv[iminfo][!] [file]  Write to viminfo file [file] (default: see above).
                        The information in the file is first read in to make
                        a merge between old and new info.  When [!] is used,
                        the old information is not read first, only the
                        internal info is written.  If 'viminfo' is empty, marks
                        for up to 100 files will be written.
-                       When you get error "E138: Can't write viminfo file"
+                       When you get error "E929: Too many viminfo temp files"
                        check that no old temp files were left behind (e.g.
                        ~/.viminf*) and that you can write in the directory of
                        the .viminfo file.
index 83d63dbd70f390b6e342e706b56c34c81d62ee42..0c0bcdb080aed22202b384468bd18d3479dd2d6a 100644 (file)
@@ -2074,6 +2074,8 @@ $VIM_POSIX        vi_diff.txt     /*$VIM_POSIX*
 :cl    quickfix.txt    /*:cl*
 :cla   quickfix.txt    /*:cla*
 :clast quickfix.txt    /*:clast*
+:cle   motion.txt      /*:cle*
+:clearjumps    motion.txt      /*:clearjumps*
 :clist quickfix.txt    /*:clist*
 :clo   windows.txt     /*:clo*
 :close windows.txt     /*:close*
@@ -3360,6 +3362,7 @@ $VIM_POSIX        vi_diff.txt     /*$VIM_POSIX*
 <line1>        map.txt /*<line1>*
 <line2>        map.txt /*<line2>*
 <lt>   intro.txt       /*<lt>*
+<mods> map.txt /*<mods>*
 <nomodeline>   autocmd.txt     /*<nomodeline>*
 <q-args>       map.txt /*<q-args>*
 <reg>  map.txt /*<reg>*
@@ -4451,6 +4454,7 @@ E925      quickfix.txt    /*E925*
 E926   quickfix.txt    /*E926*
 E927   eval.txt        /*E927*
 E928   eval.txt        /*E928*
+E929   starting.txt    /*E929*
 E93    windows.txt     /*E93*
 E94    windows.txt     /*E94*
 E95    message.txt     /*E95*
@@ -5244,6 +5248,7 @@ channel-callback  channel.txt     /*channel-callback*
 channel-close  channel.txt     /*channel-close*
 channel-commands       channel.txt     /*channel-commands*
 channel-demo   channel.txt     /*channel-demo*
+channel-functions      usr_41.txt      /*channel-functions*
 channel-mode   channel.txt     /*channel-mode*
 channel-more   channel.txt     /*channel-more*
 channel-open   channel.txt     /*channel-open*
@@ -6894,6 +6899,7 @@ job-control       channel.txt     /*job-control*
 job-err_cb     channel.txt     /*job-err_cb*
 job-err_io     channel.txt     /*job-err_io*
 job-exit_cb    channel.txt     /*job-exit_cb*
+job-functions  usr_41.txt      /*job-functions*
 job-in_io      channel.txt     /*job-in_io*
 job-options    channel.txt     /*job-options*
 job-out_cb     channel.txt     /*job-out_cb*
@@ -8622,6 +8628,7 @@ test_null_job()   eval.txt        /*test_null_job()*
 test_null_list()       eval.txt        /*test_null_list()*
 test_null_partial()    eval.txt        /*test_null_partial()*
 test_null_string()     eval.txt        /*test_null_string()*
+test_settime() eval.txt        /*test_settime()*
 testing-variable       eval.txt        /*testing-variable*
 tex-cchar      syntax.txt      /*tex-cchar*
 tex-cole       syntax.txt      /*tex-cole*
@@ -8652,6 +8659,7 @@ throw-from-catch  eval.txt        /*throw-from-catch*
 throw-variables        eval.txt        /*throw-variables*
 throwpoint-variable    eval.txt        /*throwpoint-variable*
 time-functions usr_41.txt      /*time-functions*
+timer-functions        usr_41.txt      /*timer-functions*
 timer_start()  eval.txt        /*timer_start()*
 timer_stop()   eval.txt        /*timer_stop()*
 timestamp      editing.txt     /*timestamp*
index 792b19410aaa1757842f218d65770c849d2419e6..912083c9b36f8eec3a7b0cea95c3bea758955c6e 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Jun 04
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Jun 12
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -34,7 +34,22 @@ not be repeated below, unless there is extra information.
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Further implement 'barline' in viminfo:
+- jumplist: merge with vi_jumplist.
+- Use timestamp for more items: locations, marks.
+- Docs: lines are copied by Vim since 7.4.1131
+- Check if debug history works.
+
+Problem with setqflist([]): grep 4 times, ":colder 3", setqflist([]) will
+clear the next list, not the current one.  Ramel Eshed, Jun 8.
+
+Patch: Fix drawing background with &termguicolors #805 (Jacob Niehus)
+
 +channel:
+- GUI cursor blinking interrupted when the job output goes to a buffer that is
+  in a window. (Ramel Eshed, 2016 Jun 9)
+- GUI cursor blinking interrupted when there is a status line.  (Ramel Eshed,
+  2016 Jun 9)
 - When a message in the queue but there is no callback, drop it after a while?
   Add timestamp to queued messages and callbacks with ID, remove after a
   minute.  Option to set the droptime.
@@ -49,6 +64,18 @@ Later
 - job_start(): run job in a newly opened terminal.
     With xterm could use -S{pty}.
 
+Quickfix improvements for backgroupd building and grepping:
+- Move 'efm' parsing to a separate function.  If 'efm' is the same as last
+  time re-use the fmt_first list.
+- Do not clear "dir_stack", "directory" and "file_stack", "currfile" when
+  using ":addexpr".
+  Move multiline, multiignore, multiscan outside of the function.
+- Add :cbottom, if quickfix window is visible scroll to make the last line
+  visible. Use scroll_cursor_bot(0, FALSE);
+- Add a flag/property/option to quickfix commands and functions to keep a file
+  name as a string and not create a buffer for it? To avoid creating lots of
+  buffers. (Ramel Eshed)
+
 Regexp problems:
 - Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
   (Manuel Ortega, 2016 Apr 24)
@@ -95,12 +122,8 @@ Regexp problems:
 - The pattern "\1" with the old engine gives E65, with the new engine it
   matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
 - Search for \\~ causes error E874.
-
-Patch to reduce number of memory allocations for quickfix lines.
-(Yegappan Lakshmanan, 2016 May 22, #831)
-
-User commands: add a <> item to pass on command modifiers, such as ":tab".
-Patch by Yegappan Lakshmanan, 2016 May 22, #829.
+- Search for /\%d0\+  causes error E363 in a file with consecutive NUL
+  characters. (Christian Brabandt, 2016 Jun 7)
 
 jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
 What if there is an invalid character?
@@ -110,34 +133,11 @@ about /S and /D options (Ken Takata, 2016 Apr 13)
 
 Cursor positioned in the wrong place when editing src/testdir/test_viml.vim.
 
-When using "k" at the hit-enter prompt only get the hit-enter prompt, not
-scrolling up. (Ramel Eshed, 2016 May 25)
-Related patches: Patch 7.4.1603, Patch 7.4.1594 
-Patch by Hirohito Higashi, 2016 May 26.
-
-Patch to make cursor blinking work better with GTK3. (Kazunobu Kuriyama, 2016
-Apr 19)  Need to check this works on Linux.
-Alternative:
-- add gui_restart_blink flag, set when key typed.
-- in gui_mch_start_blink(): continue if possible.
-- in gui_mch_stop_blink(): remember last state.
-
 Use ADDR_OTHER instead of ADDR_LINES for many more commands.
 Add tests for using number larger than number of lines in buffer.
 
-Patch to fix escaping special characters for delete(). (tc-0, 2016 Mar 20,
-#700) Test fails on MS-Windows.
-
 Invalid behavior with NULL list. (Nikolai Pavlov, #768)
 
-Patch to fix using CTRL-] on "{address}." in help. (Hirohito Higashi, 2016 May
-18, #814)
-
-Can we add a function to parse one line for 'errorformat'?  Like ":caddexpr"
-for one line.
-
-Patch to fix greying popup menu items. (Shane Harper, 2016 May 23, #834)
-
 &t_ut not used with 'termguicolors' is set. (Jacob Niehus, 2016 May 14, #804)
 Patch to fix this, Jacob Niehus, 2016 May 14, #805)
 
@@ -152,6 +152,11 @@ Correction for test, Ken Takata, 2016 May 27.
 
 Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
 
+":caddexpr" should keep state, so that directory changes can be respected.
+(Luc Hermitte, 2016 Jun 6)
+Don't clear dir_stack and file_stack when returning, do it on entry when not
+adding iterms.  And keep them in qf_list_T.
+
 Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
 13, last version)  Update May 22, #830.
 
@@ -190,6 +195,9 @@ Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
 
 Patch to improve map documentation. Issue #799.
 
+Patch for restoring wide characters in the console buffer.
+(Ken Takata, 2016 Jun 7)
+
 We can use '. to go to the last change in the current buffer, but how about
 the last change in any buffer?  Can we use ', (, is next to .)?
 
@@ -224,7 +232,9 @@ When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
 Because of using the initial buffer? (Dun Peal, 2016 May 12)
 
 Patch to add the :bvimgrep command.  (Christian Brabandt, 2014 Nov 12)
-Updated 2016 Feb 10
+Updated 2016 Jun 10, #858
+
+Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
 
 Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
 No test, needs some work to include.
@@ -286,6 +296,9 @@ Should use /usr/local/share/applications or /usr/share/applications.
 Or use $XDG_DATA_DIRS.
 Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
 
+Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
+Lakshmanan, 2016 Apr 2016)  Update Jun 8.
+
 Access to uninitialized memory in match_backref() regexp_nda.c:4882
 (Dominique Pelle, 2015 Nov 6)
 
@@ -296,7 +309,7 @@ directory exists. (Sergio Gallelli, 2013 Dec 29)
     when evaluating to non-zero.  Add the "watchadd expr" command, stop when
     the value of the expression changes.  ":watchdel" deletes an item,
     ":watchlist" lists the items. (Charles Campbell)
-Patch by Christian Brabandt, 2016 Feb 1.
+Patch by Christian Brabandt, 2016 Jun 10, #859
 
 If ":bd" also closes a Tab page then the " mark is not set.  (Harm te Hennepe,
 2016 Apr 25, #780)
@@ -305,6 +318,7 @@ Patch to avoid redrawing tabline when the popup menu is visible.
 (Christian Brabandt, 2016 Jan 28)
 
 Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
+Update 2016 Jun 10, #861
 
 Add value "smart" to 'tagcase': ignore case when tag is all lower case.
 Patch from Christian Brabandt, 2016 Mar 30, #712.
@@ -397,7 +411,7 @@ Use v:none.  var == v:none
 
 Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
 24)  Also need a way to get the global arg list?  Update later on Jan 24
-Update Mar 5. Update Apr 7.
+Update Mar 5. Update Apr 7.  Update Jun 5.
 
 To support Thai (and other languages) word boundaries, include the ICU
 library:  http://userguide.icu-project.org/boundaryanalysis
@@ -577,7 +591,7 @@ Patch: On MS-Windows shellescape() may have to triple double quotes.
 (Ingo Karkat, 2015 Jan 16)
 
 Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
-Update 2016 Jan 31 (email).
+Update 2016 Jun 10, # 857
 
 Redo only remembers the last change.  Could use "{count}g." to redo an older
 change.  How does the user know which change?  At least have a way to list
@@ -828,9 +842,6 @@ May 17: with winlist() and tabpagelist().
 May 19: with local variables.
 May 28: with options
 
-Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
-Lakshmanan, 2016 Apr 2016)
-
 Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
 28)  With tests: Oct 9.
 
@@ -1316,12 +1327,6 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
 Winckler, 2011 May 11)
 Requires a map mode for Insert mode started from blockwise Visual mode.
 
-Use json format for new items in .viminfo:
-    |["info","any info"]
-    |["text","text text text"
-    |"continuation line"]
-    |["hist",242342342,{"arg":"value"}]
-
 Writing nested List and Dict in viminfo gives error message and can't be read
 back. (Yukihiro Nakadaira, 2010 Nov 13)
 
index 69298e53f23f906113cc24caa10e958480c6200f..66aa77136525360fefd2413956c8e05c105f52d4 100644 (file)
@@ -1,4 +1,4 @@
-*usr_41.txt*   For Vim version 7.4.  Last change: 2016 Jun 04
+*usr_41.txt*   For Vim version 7.4.  Last change: 2016 Jun 11
 
                     VIM USER MANUAL - by Bram Moolenaar
 
@@ -602,7 +602,9 @@ String manipulation:                                        *string-functions*
        strdisplaywidth()       size of string when displayed, deals with tabs
        substitute()            substitute a pattern match with a string
        submatch()              get a specific match in ":s" and substitute()
-       strpart()               get part of a string
+       strpart()               get part of a string using byte index
+       strcharpart()           get part of a string using char index
+       strgetchar()            get character from a string using char index
        expand()                expand special keywords
        iconv()                 convert text from one encoding to another
        byteidx()               byte index of a character in a string
@@ -678,6 +680,7 @@ Floating point computation:                         *float-functions*
        sinh()                  hyperbolic sine
        cosh()                  hyperbolic cosine
        tanh()                  hyperbolic tangent
+       isnan()                 check for not a number
 
 Other computation:                                     *bitwise-function*
        and()                   bitwise AND
@@ -732,11 +735,14 @@ Working with text in the current buffer:          *text-functions*
        searchpair()            find the other end of a start/skip/end
        searchpairpos()         find the other end of a start/skip/end
        searchdecl()            search for the declaration of a name
+       getcharsearch()         return character search information
+       setcharsearch()         set character search information
 
                                        *system-functions* *file-functions*
 System functions and manipulation of files:
        glob()                  expand wildcards
        globpath()              expand wildcards in a number of directories
+       glob2regpat()           convert a glob pattern into a search pattern
        findfile()              find a file in a list of directories
        finddir()               find a directory in a list of directories
        resolve()               find out where a shortcut points to
@@ -748,6 +754,7 @@ System functions and manipulation of files:
        filereadable()          check if a file can be read
        filewritable()          check if a file can be written to
        getfperm()              get the permissions of a file
+       setfperm()              set the permissions of a file
        getftype()              get the kind of a file
        isdirectory()           check if a directory exists
        getfsize()              get the size of a file
@@ -790,6 +797,11 @@ Buffers, windows and the argument list:
        bufwinnr()              get the window number of a specific buffer
        winbufnr()              get the buffer number of a specific window
        getbufline()            get a list of lines from the specified buffer
+       win_findbuf()           find windows containing a buffer
+       win_getid()             get window ID of a window
+       win_gotoid()            go to window with ID
+       win_id2tabwin()         get tab and window nr from window ID
+       win_id2win()            get window nr from window ID
 
 Command line:                                  *command-line-functions*
        getcmdline()            get the current command line
@@ -900,14 +912,48 @@ Testing:                              *test-functions*
        assert_true()           assert that an expression is true
        assert_exception()      assert that a command throws an exception
        assert_fails()          assert that a function call fails
-
-Inter-process communication:
+       test_alloc_fail()       make memory allocation fail
+       test_disable_char_avail()       test without typeahead
+       test_garbagecollect_now()       free memory right now
+       test_null_channel()     return a null Channel
+       test_null_dict()        return a null Dict
+       test_null_job()         return a null Job
+       test_null_list()        return a null List
+       test_null_partial()     return a null Partial function
+       test_null_string()      return a null String
+
+Inter-process communication:               *channel-functions*
        ch_open()               open a channel
        ch_close()              close a channel
+       ch_read()               read a message from a channel
+       ch_readraw()            read a raw message from a channel
        ch_sendexpr()           send a JSON message over a channel
        ch_sendraw()            send a raw message over a channel
+       ch_evalexpr()           evaluates an expression over channel
+       ch_evalraw()            evaluates a raw string over channel
+       ch_status()             get status of a channel
+       ch_getbufnr()           get the buffer number of a channel
+       ch_getjob()             get the job associated with a channel
+       ch_info()               get channel information
+       ch_log()                write a message in the channel log file
+       ch_logfile()            set the channel log file
+       ch_setoptions()         set the options for a channel
        jsonencode()            encode an expression to a JSON string
        jsondecode()            decode a JSON string to Vim types
+       js_encode()             encode an expression to a JSON string
+       js_decode()             decode a JSON string to Vim types
+
+Jobs:                                          *job-functions*
+       job_start()             start a job
+       job_stop()              stop a job
+       job_status()            get the status of a job
+       job_getchannel()        get the channel used by a job
+       job_info()              get information about a job
+       job_setoptions()        set options for a job
+
+Timers:                                                *timer-functions*
+       timer_start()           create a timer
+       timer_stop()            stop a timer
 
 Various:                                       *various-functions*
        mode()                  get current editing mode
@@ -1408,9 +1454,9 @@ Now we can instantiate a Dutch translation object: >
 And a German translator: >
 
        :let uk2de = copy(transdict)
-       :let uk2de.words = {'one': 'ein', 'two': 'zwei', 'three': 'drei'}
+       :let uk2de.words = {'one': 'eins', 'two': 'zwei', 'three': 'drei'}
        :echo uk2de.translate('three one')
-<      drei ein ~
+<      drei eins ~
 
 You see that the copy() function is used to make a copy of the "transdict"
 Dictionary and then the copy is changed to add the words.  The original
index f4c9001f9419fdd09397892780b767679abe5051..9bf096001f79380398c72db594309d1f4cddf347 100644 (file)
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.4.  Last change: 2016 Feb 01
+*windows.txt*   For Vim version 7.4.  Last change: 2016 Jun 10
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -76,6 +76,16 @@ places where a Normal mode command can't be used or is inconvenient.
 The main Vim window can hold several split windows.  There are also tab pages
 |tab-page|, each of which can hold multiple windows.
 
+Each window has a unique identifier called the window ID.  This identifier
+will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
+functions can be used to convert between the window/tab number and the
+identifier.  There is also the window number, which may change whenever
+windows are opened or closed, see |winnr()|.
+
+Each buffer has a unique number and the number will not change within a Vim
+session.  The |bufnr()| and |bufname()| functions can be used to convert
+between a buffer name and the buffer number.
+
 ==============================================================================
 2. Starting Vim                                                *windows-starting*
 
index 19e8c51edb923112b9e95546a83cb8545bf5d188..5c95438458127d0b9808463cadae18fca489bb07 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    C
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2012 Jul 10
+" Last Change: 2016 Jun 12
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -37,7 +37,7 @@ endif
 " When the matchit plugin is loaded, this makes the % command skip parens and
 " braces in comments.
 let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
-let b:match_skip = 's:comment\|string\|character'
+let b:match_skip = 's:comment\|string\|character\|special'
 
 " Win32 can filter files in the browse dialog
 if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
index 75c7e879961550ffd4b5f1fcc9c6315f55c3134d..9e2c5a763e12bf88464a5127567ed810dc7c2730 100644 (file)
@@ -1,8 +1,9 @@
 " Vim filetype plugin file
 " Language:    python
-" Maintainer:  Johannes Zellner <johannes@zellner.org>
-" Last Change: 2014 Feb 09
-" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
+" Maintainer:  James Sully <sullyj3@gmail.com>
+" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
+" Last Change: Fri, 10 June 2016
+" https://github.com/sullyj3/vim-ftplugin-python
 
 if exists("b:did_ftplugin") | finish | endif
 let b:did_ftplugin = 1
@@ -21,10 +22,10 @@ setlocal omnifunc=pythoncomplete#Complete
 
 set wildignore+=*.pyc
 
-nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
-nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
-nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
-nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
+nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)\>')<cr>
+nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)\>')<cr>
+nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)\>')<cr>
+nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)\>')<cr>
 
 if !exists('*<SID>Python_jump')
   fun! <SID>Python_jump(motion) range
index 7af3b89ae0c6a42d02b399fc59b5f216fd4ae900..667e1bab2af2964339e01d0a05e029d9ecb45b3a 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    Vim .viminfo file
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2012 Feb 03
+" Last Change: 2016 Jun 05
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -30,11 +30,15 @@ syn match viminfoOptionName "\*\a*"ms=s+1 contained
 " Comments
 syn match viminfoComment "^#.*"
 
+" New style lines.  TODO: highlight numbers and strings.
+syn match viminfoNew "^|.*"
+
 " Define the default highlighting.
 " Only used when an item doesn't have highlighting yet
 hi def link viminfoComment     Comment
 hi def link viminfoError       Error
 hi def link viminfoStatement   Statement
+hi def link viminfoNew         String
 
 let b:current_syntax = "viminfo"
 
index 5b5b2817239663f8befc946dea2e8f863d5b9760..a782061fddde44064d54aeabfc60c5838ee25353 100644 (file)
@@ -6,9 +6,10 @@
  */
 
 #include <stdio.h>
+#include <unistd.h>
 
        int
-main()
+main(void)
 {
        while (1)
        {