diff options
-rw-r--r-- | runtime/doc/autocmd.txt | 2 | ||||
-rw-r--r-- | runtime/doc/channel.txt | 97 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 72 | ||||
-rw-r--r-- | runtime/doc/helphelp.txt | 4 | ||||
-rw-r--r-- | runtime/doc/options.txt | 9 | ||||
-rw-r--r-- | runtime/doc/repeat.txt | 103 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 9 | ||||
-rw-r--r-- | runtime/doc/tags | 11 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 40 | ||||
-rw-r--r-- | runtime/doc/usr_05.txt | 5 |
10 files changed, 232 insertions, 120 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 5d502f123..dea70a362 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.4. Last change: 2015 Dec 05 +*autocmd.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt index df7ec9f35..7d684fbc0 100644 --- a/runtime/doc/channel.txt +++ b/runtime/doc/channel.txt @@ -1,4 +1,4 @@ -*channel.txt* For Vim version 7.4. Last change: 2016 Mar 15 +*channel.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -120,24 +120,13 @@ Use |ch_status()| to see if the channel could be opened. {address} has the form "hostname:port". E.g., "localhost:8765". -{options} is a dictionary with optional entries: +{options} is a dictionary with optional entries: *channel-open-options* "mode" can be: *channel-mode* "json" - Use JSON, see below; most convenient way. Default. "js" - Use JS (JavaScript) encoding, more efficient than JSON. "nl" - Use messages that end in a NL character "raw" - Use raw messages - *in_mode* *out_mode* *err_mode* -"in_mode" mode specifically for stdin, only when using pipes -"out_mode" mode specifically for stdout, only when using pipes -"err_mode" mode specifically for stderr, only when using pipes - Note: when setting "mode" the part specific mode is - overwritten. Therefore set "mode" first and the part specific - mode later. - - Note: when writing to a file or buffer and when reading from a - buffer NL mode is used by default. - *channel-callback* *E921* "callback" A function that is called when a message is received that is not handled otherwise. It gets two arguments: the channel @@ -155,16 +144,8 @@ Use |ch_status()| to see if the channel could be opened. as a string. For all callbacks: Use |function()| to bind it to arguments - and/or a dictionary. - *out_cb* -"out_cb" A function like "callback" but used for stdout. Only for when - the channel uses pipes. When "out_cb" wasn't set the channel - callback is used. - *err_cb* -"err_cb" A function like "callback" but used for stderr. Only for when - the channel uses pipes. When "err_cb" wasn't set the channel - callback is used. - + and/or a Dictionary. Or use the form "dict.function" to bind + the Dictionary. *close_cb* "close_cb" A function that is called when the channel gets closed, other than by calling ch_close(). It should be defined like this: > @@ -178,16 +159,10 @@ Use |ch_status()| to see if the channel could be opened. actually uses a 1 msec timeout, that is required on many systems. Use a larger value for a remote server, e.g. 10 msec at least. - + *channel-timeout* "timeout" The time to wait for a request when blocking, E.g. when using ch_evalexpr(). In milliseconds. The default is 2000 (2 seconds). - *out_timeout* *err_timeout* -"out_timeout" Timeout for stdout. Only when using pipes. -"err_timeout" Timeout for stderr. Only when using pipes. - Note: when setting "timeout" the part specific mode is - overwritten. Therefore set "timeout" first and the part - specific mode later. When "mode" is "json" or "js" the "callback" is optional. When omitted it is only possible to receive a message after sending one. @@ -215,6 +190,13 @@ pipes are used (stdin/stdout/stderr) they are all closed. This might not be what you want! Stopping the job with job_stop() might be better. All readahead is discarded, callbacks will no longer be invoked. +Note that a channel is closed in three stages: + - The I/O ends, log message: "Closing channel". There can still be queued + messages to read or callbacks to invoke. + - The readahead is cleared, log message: "Clearing channel". Some variables + may still reference the channel. + - The channel is freed, log message: "Freeing channel". + When the channel can't be opened you will get an error message. There is a difference between MS-Windows and Unix: On Unix when the port doesn't exist ch_open() fails quickly. On MS-Windows "waittime" applies. @@ -326,6 +308,9 @@ completion or error. You could use functions in an |autoload| script: You can also use "call |feedkeys()|" to insert any key sequence. +When there is an error a message is written to the channel log, if it exists, +and v:errmsg is set to the error. + Command "normal" ~ @@ -428,6 +413,23 @@ To read all output from a RAW channel that is available: > To read the error output: > let output = ch_readraw(channel, {"part": "err"}) +ch_read() and ch_readraw() use the channel timeout. When there is nothing to +read within that time an empty string is returned. To specify a different +timeout in msec use the "timeout" option: + {"timeout": 123} ~ +To read from the error output use the "part" option: + {"part": "err"} ~ +To read a message with a specific ID, on a JS or JSON channel: + {"id": 99} ~ +When no ID is specified or the ID is -1, the first message is returned. This +overrules any callback waiting for this message. + +For a RAW channel this returns whatever is available, since Vim does not know +where a message ends. +For a NL channel this returns one message. +For a JS or JSON channel this returns one decoded message. +This includes any sequence number. + ============================================================================== 8. Starting a job with a channel *job-start* *job* @@ -524,15 +526,31 @@ job_setoptions(job, {options}). Many options can be used with the channel related to the job, using ch_setoptions(channel, {options}). See |job_setoptions()| and |ch_setoptions()|. + *in_mode* *out_mode* *err_mode* +"in_mode" mode specifically for stdin, only when using pipes +"out_mode" mode specifically for stdout, only when using pipes +"err_mode" mode specifically for stderr, only when using pipes + See |channel-mode| for the values. + + Note: when setting "mode" the part specific mode is + overwritten. Therefore set "mode" first and the part + specific mode later. + + Note: when writing to a file or buffer and when + reading from a buffer NL mode is used by default. + *job-callback* "callback": handler Callback for something to read on any part of the channel. - *job-out_cb* + *job-out_cb* *out_cb* "out_cb": handler Callback for when there is something to read on - stdout. - *job-err_cb* + stdout. Only for when the channel uses pipes. When + "out_cb" wasn't set the channel callback is used. + + *job-err_cb* *err_cb* "err_cb": handler Callback for when there is something to read on - stderr. + stderr. Only for when the channel uses pipes. When + "err_cb" wasn't set the channel callback is used. *job-close_cb* "close_cb": handler Callback for when the channel is closed. Same as "close_cb" on ch_open(). @@ -542,6 +560,17 @@ See |job_setoptions()| and |ch_setoptions()|. Vim checks about every 10 seconds for jobs that ended. The callback can also be triggered by calling |job_status()|. + *job-timeout* +"timeout" The time to wait for a request when blocking, E.g. + when using ch_evalexpr(). In milliseconds. The + default is 2000 (2 seconds). + *out_timeout* *err_timeout* +"out_timeout" Timeout for stdout. Only when using pipes. +"err_timeout" Timeout for stderr. Only when using pipes. + Note: when setting "timeout" the part specific mode is + overwritten. Therefore set "timeout" first and the + part specific mode later. + *job-stoponexit* "stoponexit": {signal} Send {signal} to the job when Vim exits. See |job_stop()| for possible values. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index e17448125..c2e9a7160 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2016 Mar 20 +*eval.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2716,13 +2716,6 @@ ch_close({handle}) *ch_close()* Close {handle}. See |channel-close|. {handle} can be Channel or a Job that has a Channel. - Note that a channel is closed in three stages: - - The I/O ends, log message: "Closing channel". There can - still be queued messages to read or callbacks to invoke. - - The readahead is cleared, log message: "Clearing channel". - Some variables may still reference the channel. - - The channel is freed, log message: "Freeing channel". - {only available when compiled with the |+channel| feature} ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()* @@ -2732,7 +2725,8 @@ ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()* {handle} can be Channel or a Job that has a Channel. *E917* {options} must be a Dictionary. It must not have a "callback" - entry. It can have a "timeout" entry. + entry. It can have a "timeout" entry to specify the timeout + for this specific request. ch_evalexpr() waits for a response and returns the decoded expression. When there is an error or timeout it returns an @@ -2816,65 +2810,34 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()* ch_open({address} [, {options}]) *ch_open()* Open a channel to {address}. See |channel|. - Returns a Channel. Use |ch_status()| to check for - failure. + Returns a Channel. Use |ch_status()| to check for failure. {address} has the form "hostname:port", e.g., "localhost:8765". - If {options} is given it must be a |Dictionary|. The optional - items are: - mode "raw", "js" or "json". - Default "json". - callback function to call for requests with a zero - sequence number. See |channel-callback|. - Default: none. - waittime Specify connect timeout as milliseconds. - Negative means forever. - Default: 0 (don't wait) - timeout Specify response read timeout value in - milliseconds. - Default: 2000. + If {options} is given it must be a |Dictionary|. + See |channel-open-options|. + {only available when compiled with the |+channel| feature} ch_read({handle} [, {options}]) *ch_read()* Read from {handle} and return the received message. {handle} can be Channel or a Job that has a Channel. - - This uses the channel timeout. When there is nothing to read - within that time an empty string is returned. To specify a - different timeout in msec use the "timeout" option: - {"timeout": 123} ~ - To read from the error output use the "part" option: - {"part": "err"} ~ - To read a message with a specific ID, on a JS or JSON channel: - {"id": 99} ~ - When no ID is specified or the ID is -1, the first message is - returned. This overrules any callback waiting for this - message. - - For a RAW channel this returns whatever is available, since - Vim does not know where a message ends. - For a NL channel this returns one message. - For a JS or JSON channel this returns one decoded message. - This includes any sequence number. + See |channel-more|. + {only available when compiled with the |+channel| feature} ch_readraw({handle} [, {options}]) *ch_readraw()* Like ch_read() but for a JS and JSON channel does not decode - the message. + the message. See |channel-more|. + {only available when compiled with the |+channel| feature} ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()* Send {expr} over {handle}. The {expr} is encoded according to the type of channel. The function cannot be used - with a raw channel. See |channel-use|. *E912* + with a raw channel. + See |channel-use|. *E912* {handle} can be Channel or a Job that has a Channel. - {options} must be a Dictionary. The "callback" item is a - Funcref or the name of a function it is invoked when the - response is received. See |channel-callback|. - Without "callback" the channel handler is invoked, otherwise - any received message is dropped. - {only available when compiled with the |+channel| feature} ch_sendraw({handle}, {string} [, {options}]) *ch_sendraw()* @@ -6675,13 +6638,17 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number, Float, String or a composition of them, then the result can be parsed back with |eval()|. {expr} type result ~ - String 'string' + String 'string' (single quotes are doubled) Number 123 Float 123.123456 or 1.123456e8 Funcref function('name') List [item, item] Dictionary {key: value, key: value} - Note that in String values the ' character is doubled. + + When a List or Dictionary has a recursive reference it is + replaced by "[...]" or "{...}". Using eval() on the result + will then fail. + Also see |strtrans()|. *strlen()* @@ -7665,6 +7632,7 @@ unix Unix version of Vim. user_commands User-defined commands. vertsplit Compiled with vertically split windows |:vsplit|. vim_starting True while initial source'ing takes place. |startup| + *vim_starting* viminfo Compiled with viminfo support. virtualedit Compiled with 'virtualedit' option. visual Compiled with Visual mode. diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt index 4835f1f2b..3a9ec6875 100644 --- a/runtime/doc/helphelp.txt +++ b/runtime/doc/helphelp.txt @@ -1,4 +1,4 @@ -*helphelp.txt* For Vim version 7.4. Last change: 2016 Mar 12 +*helphelp.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -208,9 +208,11 @@ command: > sorted. When there are duplicates an error message is given. An existing tags file is silently overwritten. + The optional "++t" argument forces adding the "help-tags" tag. This is also done when the {dir} is equal to $VIMRUNTIME/doc. + To rebuild the help tags in the runtime directory (requires write permission there): > :helptags $VIMRUNTIME/doc diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 35cef9de6..f71c4ad2d 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.4. Last change: 2016 Mar 19 +*options.txt* For Vim version 7.4. Last change: 2016 Mar 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2292,6 +2292,8 @@ A jump table for the options with a short description can be found at |Q_op|. different. The whole undo file is encrypted, not just the pieces of text. + You should use "blowfish2", also to re-encrypt older files. + When reading an encrypted file 'cryptmethod' will be set automatically to the detected method of the file being read. Thus if you write it without changing 'cryptmethod' the same method will be used. @@ -3030,8 +3032,8 @@ A jump table for the options with a short description can be found at |Q_op|. file only, the option is not changed. When 'binary' is set, the value of 'fileformats' is not used. - Note that when Vim starts up with an empty buffer this option is not - used. Set 'fileformat' in your .vimrc instead. + When Vim starts up with an empty buffer the first item is used. You + can overrule this by setting 'fileformat' in your .vimrc. For systems with a Dos-like <EOL> (<CR><NL>), when reading files that are ":source"ed and for vimrc files, automatic <EOL> detection may be @@ -5115,6 +5117,7 @@ A jump table for the options with a short description can be found at |Q_op|. written. A ":set nomodified" command also resets the original values to the current values and the 'modified' option will be reset. + Similarly for 'eol' and 'bomb'. This option is not set when a change is made to the buffer as the result of a BufNewFile, BufRead/BufReadPost, BufWritePost, FileAppendPost or VimLeave autocommand event. See |gzip-example| for diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index c8624a266..df94a7412 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 7.4. Last change: 2016 Mar 15 +*repeat.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -8,13 +8,14 @@ Repeating commands, Vim scripts and debugging *repeating* Chapter 26 of the user manual introduces repeating |usr_26.txt|. -1. Single repeats |single-repeat| -2. Multiple repeats |multi-repeat| -3. Complex repeats |complex-repeat| -4. Using Vim scripts |using-scripts| -5. Using Vim packages |packages| -6. Debugging scripts |debug-scripts| -7. Profiling |profiling| +1. Single repeats |single-repeat| +2. Multiple repeats |multi-repeat| +3. Complex repeats |complex-repeat| +4. Using Vim scripts |using-scripts| +5. Using Vim packages |packages| +6. Creating Vim packages |package-create| +7. Debugging scripts |debug-scripts| +8. Profiling |profiling| ============================================================================== 1. Single repeats *single-repeat* @@ -481,7 +482,7 @@ find the syntax/some.vim file, because its directory is in 'runtimepath'. Vim will also load ftdetect files, if there are any. -Note that the files under "pack/foo/opt" or not loaded automatically, only the +Note that the files under "pack/foo/opt" are not loaded automatically, only the ones under "pack/foo/start". See |pack-add| below for how the "opt" directory is used. @@ -516,14 +517,90 @@ To load an optional plugin from a pack use the `:packadd` command: > This searches for "pack/*/opt/foodebug" in 'packpath' and will find ~/.vim/pack/foo/opt/foodebug/plugin/debugger.vim and source it. -This could be done inside always.vim, if some conditions are met. Or you -could add this command to your |.vimrc|. +This could be done if some conditions are met. For example, depending on +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 +|--noplugin|. It is perfectly normal for a package to only have files in the "opt" directory. You then need to load each plugin when you want to use it. + +Where to put what ~ + +Since color schemes, loaded with `:colorscheme`, are found below +"pack/*/start" and "pack/*/opt", you could put them anywhere. We recommend +you put them below "pack/*/opt", for example +".vim/pack/mycolors/opt/dark/colors/very_dark.vim". + +Filetype plugins should go under "pack/*/start", so that they are always +found. Unless you have more than one plugin for a file type and want to +select which one to load with `:packadd`. E.g. depending on the compiler +version: > + if foo_compiler_version > 34 + packadd foo_new + else + packadd foo_old + endif + +The "after" directory is most likely not useful in a package. It's not +disallowed though. + +============================================================================== +6. Creating Vim packages *package-create* + +This assumes you write one or more plugins that you distribute as a package. + +If you have two unrelated plugins you would use two packages, so that Vim +users can chose what they include or not. Or you can decide to use one +package with optional plugins, and tell the user to add the ones he wants with +`:packadd`. + +Decide how you want to distribute the package. You can create an archive or +you could use a repository. An archive can be used by more users, but is a +bit harder to update to a new version. A repository can usually be kept +up-to-date easily, but it requires a program like "git" to be available. +You can do both, github can automatically create an archive for a release. + +Your directory layout would be like this: + start/foobar/plugin/foo.vim " always loaded, defines commands + start/foobar/plugin/bar.vim " always loaded, defines commands + start/foobar/autoload/foo.vim " loaded when foo command used + start/foobar/doc/foo.txt " help for foo.vim + start/foobar/doc/tags " help tags + opt/fooextra/plugin/extra.vim " optional plugin, defines commands + opt/fooextra/autoload/extra.vim " loaded when extra command used + opt/fooextra/doc/extra.txt " help for extra.vim + opt/fooextra/doc/tags " help tags + +This allows for the user to do: > + mkdir ~/.vim/pack/myfoobar + cd ~/.vim/pack/myfoobar + git clone https://github.com/you/foobar.git + +Here "myfoobar" is a name that the user can choose, the only condition is that +it differs from other packages. + +In your documentation you explain what the plugins do, and tell the user how +to load the optional plugin: > + :packadd! fooextra + +You could add this packadd command in one of your plugins, to be executed when +the optional plugin is needed. + +Run the `:helptags` command to generate the doc/tags file. Including this +generated file in the package means that the user can drop the package in his +pack directory and the help command works right away. Don't forget to re-run +the command after changing the plugin help: > + :helptags path/start/foobar/doc + :helptags path/opt/fooextra/doc + ============================================================================== -6. Debugging scripts *debug-scripts* +7. Debugging scripts *debug-scripts* Besides the obvious messages that you can add to your scripts to find out what they are doing, Vim offers a debug mode. This allows you to step through a @@ -748,7 +825,7 @@ OBSCURE user, don't use typeahead for debug commands. ============================================================================== -7. Profiling *profile* *profiling* +8. Profiling *profile* *profiling* Profiling means that Vim measures the time that is spent on executing functions and/or scripts. The |+profile| feature is required for this. diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index 4b32a50cd..d2c44b90b 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.4. Last change: 2016 Mar 05 +*starting.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -866,8 +866,8 @@ accordingly. Vim proceeds in this order: use "--cmd 'set noloadplugins'" |--cmd|. Plugin packs are loaded. These are plugins, as above, but found in - 'packpath' directories. Every plugin directory found is added in - 'runtimepath'. See |packages|. + 'packpath' "start" directories. Every plugin directory found is added + in 'runtimepath'. See |packages|. 5. Set 'shellpipe' and 'shellredir' The 'shellpipe' and 'shellredir' options are set according to the @@ -905,8 +905,9 @@ accordingly. Vim proceeds in this order: 12. Execute startup commands If a "-t" flag was given to Vim, the tag is jumped to. The commands given with the |-c| and |+cmd| arguments are executed. - The starting flag is reset, has("vim_starting") will now return zero. If the 'insertmode' option is set, Insert mode is entered. + The starting flag is reset, has("vim_starting") will now return zero. + The |v:vim_did_enter| variable is set to 1. The |VimEnter| autocommands are executed. Some hints on using initializations: diff --git a/runtime/doc/tags b/runtime/doc/tags index e275ef065..1840ff6eb 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1637,6 +1637,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 05.5 usr_05.txt /*05.5* 05.6 usr_05.txt /*05.6* 05.7 usr_05.txt /*05.7* +05.8 usr_05.txt /*05.8* 06.1 usr_06.txt /*06.1* 06.2 usr_06.txt /*06.2* 06.3 usr_06.txt /*06.3* @@ -4453,6 +4454,8 @@ E921 channel.txt /*E921* E922 eval.txt /*E922* E923 eval.txt /*E923* E924 quickfix.txt /*E924* +E925 quickfix.txt /*E925* +E926 quickfix.txt /*E926* E93 windows.txt /*E93* E94 windows.txt /*E94* E95 message.txt /*E95* @@ -4886,6 +4889,7 @@ 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* add-option-flags options.txt /*add-option-flags* +add-package usr_05.txt /*add-package* add-plugin usr_05.txt /*add-plugin* added-5.1 version5.txt /*added-5.1* added-5.2 version5.txt /*added-5.2* @@ -5222,7 +5226,9 @@ channel-demo channel.txt /*channel-demo* channel-mode channel.txt /*channel-mode* channel-more channel.txt /*channel-more* channel-open channel.txt /*channel-open* +channel-open-options channel.txt /*channel-open-options* channel-raw channel.txt /*channel-raw* +channel-timeout channel.txt /*channel-timeout* channel-use channel.txt /*channel-use* channel.txt channel.txt /*channel.txt* char-variable eval.txt /*char-variable* @@ -6872,6 +6878,7 @@ job-start-if-needed channel.txt /*job-start-if-needed* job-start-nochannel channel.txt /*job-start-nochannel* job-stoponexit channel.txt /*job-stoponexit* job-term channel.txt /*job-term* +job-timeout channel.txt /*job-timeout* job_getchannel() eval.txt /*job_getchannel()* job_info() eval.txt /*job_info()* job_setoptions() eval.txt /*job_setoptions()* @@ -7600,6 +7607,7 @@ out_name channel.txt /*out_name* out_timeout channel.txt /*out_timeout* p change.txt /*p* pack-add repeat.txt /*pack-add* +package-create repeat.txt /*package-create* packages repeat.txt /*packages* page-down intro.txt /*page-down* page-up intro.txt /*page-up* @@ -8767,6 +8775,7 @@ v:true eval.txt /*v:true* v:val eval.txt /*v:val* v:var eval.txt /*v:var* v:version eval.txt /*v:version* +v:vim_did_enter eval.txt /*v:vim_did_enter* v:warningmsg eval.txt /*v:warningmsg* v:windowid eval.txt /*v:windowid* v_! change.txt /*v_!* @@ -8940,6 +8949,8 @@ vim-variable eval.txt /*vim-variable* vim.vim syntax.txt /*vim.vim* vim7 version7.txt /*vim7* vim: options.txt /*vim:* +vim_did_enter-variable eval.txt /*vim_did_enter-variable* +vim_starting eval.txt /*vim_starting* vimball pi_vimball.txt /*vimball* vimball-contents pi_vimball.txt /*vimball-contents* vimball-extract pi_vimball.txt /*vimball-extract* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 15bc65cc5..00ba71f82 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2016 Mar 20 +*todo.txt* For Vim version 7.4. Last change: 2016 Mar 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -34,22 +34,18 @@ not be repeated below, unless there is extra information. *known-bugs* -------------------- Known bugs and current work ----------------------- +assert_matches('pattern', value) + +channel: -- add test for out-cb and err-cb. -- Move more details from eval.txt to channel.txt. Add tags in eval.txt. - When decoding json, don't read all the typeahead at once, use the reader properly. - 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. -- Add more ch_log calls, basically at every branch, before every callback, etc. - Add remark about undo sync, is there a way to force it? - When starting a job, have an option to open the server socket, so we know the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz, Feb 9) How to do this on MS-Windows? -- Add more unit-testing in json_test.c -- Add a test where ["eval","getline(123)"] gets a line with special - characters (NUL, 0x80, etc.). Check that it isn't garbled. - Make sure errors lead to a useful error msg. ["ex","foobar"] - For connection to server, a "keep open" flag would be useful. Retry connecting in the main loop with zero timeout. @@ -57,7 +53,11 @@ Later - job_start(): run job in a newly opened terminal. With xterm could use -S{pty}. -Packages: how about "after" directory? +Partial: +- Maybe we also need VAR_PARTIAL support in if_mzsch. + +Packages: +- make package for editexisting, others? Make it so that the window ID can be used where currently a window nr is used @@ -70,6 +70,9 @@ Why does this: echo "a" . 1.1 result in: a11 Should recognize float (so long as it's not ".1.1"). +Patch to make tag jump work on function({expr}). (Hirohito Higashi, 2016 Mar +25) + Allow for an empty dictionary key? Patch to improve I/O for Perl. (Damien, 2016 Jan 9, update Jan 22 2nd one) @@ -119,6 +122,10 @@ Regexp problems: matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24) - Search for \\~ causes error E874. +Using freed memory in quickfix code. (Dominique, 2016 Mar 21) + +Patch 7.4.1401 caused autochdir not to work on startup. (Rob Hoelz, #704) + Patch to fix that folds close with autocomplete. #643 Christian Brabandt, 2016 Feb 18. @@ -137,6 +144,7 @@ Patch to put undo options together in undo window. Patch to have better check for {action} argument of setqflist(). Nikolai Pavlov, Feb 25, #661. Can be even more strict. Also see patch from Hirohito Higash, Feb 25. +Updated patch, 2016 Mar 25. Patch to update the GTK icon cache when installing. (Kazunobu Kuriyama, 2016 Feb 3) @@ -147,12 +155,18 @@ Cannot delete a file with square brackets with delete(). (#696) Patch to add 'topbot' to 'belloff' option. (Coot, 2016 Mar 18, #695) +Patch to make matchit work better, respect 'matchpairs'. (Ken Takata, 2016 Mar +25) + 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 .)? Patch for Python: #622. (Roland Puntaier, 2016 Feb 2) What does it change? +It's possible to add ",," to 'wildignore', an empty entry. Causes problems. +Reject the value? #710. + Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12) More tests May 14. Update May 29. Update Aug 10. Now part of large file patches. (Ken Takata, 2016 Feb 1) @@ -202,6 +216,10 @@ Patch to make "%:h:h" return "." instead of the full path. Remove SPACE_IN_FILENAME ? What could possibly go wrong? +Patch to change GUI behavior: instead of changing the window size change the +lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20, +#703) + Installation of .desktop files does not work everywhere. It's now fixed, but the target directory probably isn't right. Add configure check? @@ -220,6 +238,8 @@ Patch to avoid redrawing tabline when the popup menu is visible. Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24) +Add value "smart" to 'tagcase': ignore case when tag is all lower case. + 7 Add a watchpoint in the debug mode: An expression that breaks execution when evaluating to non-zero. Add the "watchadd expr" command, stop when the value of the expression changes. ":watchdel" deletes an item, @@ -247,6 +267,8 @@ https://gist.github.com/presuku/d3d6b230b9b6dcfc0477 Patch to make the behavior of "w" more straightforward, but not Vi compatible. With a 'cpo' flag. (Christian Brabandt, 2016 Feb 8) +Patch to add optionproperties(). (Anton Lindqvist, 2016 Mar 26) + Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3) Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17) @@ -298,7 +320,7 @@ Value returned by virtcol() changes depending on how lines wrap. This is inconsistent with the documentation. Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar -13, last version) +13, last version) Update Mar 21. Can we cache the syntax attributes, so that updates for 'relativenumber' and 'cursorline'/'cursorcolumn' are a lot faster? diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index b36f91f50..126edc57d 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -275,10 +275,9 @@ matching HTML tags, if/else/endif in Vim scripts, etc. Very useful, although it's not backwards compatible (that's why it is not enabled by default). To start using the matchit plugin, add one line to your vimrc file: > - packadd matchit + packadd! matchit -That's all! You can also type the command to try it out. Now you can find -help about this plugin: > +That's all! After restarting Vim you can find help about this plugin: > :help matchit This works, because when `:packadd` loaded the plugin it also added the |