Compare commits

...

1072 Commits

Author SHA1 Message Date
Bram Moolenaar
89eaa4185e patch 7.4.2135
Problem:    Various tiny issues.
Solution:   Update comments, white space, etc.
2016-07-31 14:17:27 +02:00
Bram Moolenaar
b54c3ff317 patch 7.4.2134
Problem:    No error for using function() badly.
Solution:   Check for passing wrong function name. (Ken Takata)
2016-07-31 14:11:58 +02:00
Bram Moolenaar
fc1f2015e8 patch 7.4.2133
Problem:    Can't build with tiny features.
Solution:   Add #ifdef.
2016-07-30 23:18:47 +02:00
Bram Moolenaar
31440a1f2b patch 7.4.2132
Problem:    test_partial has memory leaks reported.
Solution:   Add a note about why this happens.
2016-07-30 23:14:28 +02:00
Bram Moolenaar
57e69ff2cc patch 7.4.2131
Problem:    More memory leaks when using partial, e.g. for "exit-cb".
Solution:   Don't copy the callback when using a partial.
2016-07-30 23:05:09 +02:00
Bram Moolenaar
623e263ffb patch 7.4.2130
Problem:    Pending timers cause false memory leak reports.
Solution:   Free all timers on exit.
2016-07-30 22:47:56 +02:00
Bram Moolenaar
3ab14355ed patch 7.4.2129
Problem:    Memory leak when using timer_start(). (Dominique Pelle)
Solution:   Don't copy the callback when using a partial.
2016-07-30 22:32:11 +02:00
Bram Moolenaar
1e2258297b patch 7.4.2128
Problem:    Memory leak when saving for undo fails.
Solution:   Free allocated memory. (Hirohito Higashi)
2016-07-30 21:48:59 +02:00
Bram Moolenaar
3bcfca3ab4 patch 7.4.2127
Problem:    The short form of ":noswapfile" is ":noswap" instead of ":now".
            (Kent Sibilev)
Solution:   Only require three characters.  Add a test for the short forms.
2016-07-30 19:39:29 +02:00
Bram Moolenaar
90d121fa36 patch 7.4.2126
Problem:    No tests for :diffget and :diffput
Solution:   Add tests.
2016-07-30 19:11:25 +02:00
Bram Moolenaar
b20617b0b0 Add OSX build to Travis CI. (Christian Brabandt) 2016-07-30 17:41:49 +02:00
Bram Moolenaar
a5c0cc1133 patch 7.4.2125
Problem:    Compiler warning for loss of data.
Solution:   Add a type cast. (Christian Brabandt)
2016-07-30 16:40:39 +02:00
Bram Moolenaar
623cf88f9c patch 7.4.2124
Problem:    diffmode test leaves files behind, breaking another test.
Solution:   Delete the files.
2016-07-30 16:36:01 +02:00
Bram Moolenaar
42093c0ec5 patch 7.4.2123
Problem:    No new style test for diff mode.
Solution:   Add a test.  Check that folds are in sync.
2016-07-30 16:16:54 +02:00
Bram Moolenaar
b822cb0f93 patch 7.4.2122
Problem:    Mac: don't get +clipboard in huge build.
Solution:   Move #define down below including featureh.h
2016-07-30 14:12:23 +02:00
Bram Moolenaar
9532fe7fbe patch 7.4.2121
Problem:    No easy way to check if lambda and closure are supported.
Solution:   Add the +lambda feature.
2016-07-29 22:50:35 +02:00
Bram Moolenaar
10ce39a0d5 patch 7.4.2120
Problem:    User defined functions can't be a closure.
Solution:   Add the "closure" argument. Allow using :unlet on a bound
            variable. (Yasuhiro Matsumoto, Ken Takata)
2016-07-29 22:37:06 +02:00
Bram Moolenaar
1e96d9bf98 patch 7.4.2119
Problem:    Closures are not supported.
Solution:   Capture variables in lambdas from the outer scope. (Yasuhiro
            Matsumoto, Ken Takata)
2016-07-29 22:15:09 +02:00
Bram Moolenaar
83a2a80d6f patch 7.4.2118
Problem:    Mac: can't build with tiny features.
Solution:   Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama)
2016-07-29 21:01:10 +02:00
Bram Moolenaar
f2c4c39119 patch 7.4.2117
Problem:    Deleting an augroup that still has autocmds does not give a
            warning.  The next defined augroup takes its place.
Solution:   Give a warning and prevent the index being used for another group
            name.
2016-07-29 20:50:24 +02:00
Bram Moolenaar
c73e4474b1 patch 7.4.2116
Problem:    The default vimrc for Windows is very conservative.
Solution:   Use the defaults.vim in the Windows installer.
2016-07-29 18:33:38 +02:00
Bram Moolenaar
b9a46fec3e patch 7.4.2115
Problem:    Loading defaults.vim with -C argument.
Solution:   Don't load the defaults script with -C argument.  Test sourcing
            the defaults script.  Set 'display' to "truncate".
2016-07-29 18:13:42 +02:00
Bram Moolenaar
d05b191b91 patch 7.4.2114
Problem:    Tiny build fails.
Solution:   Always include vim_time().
2016-07-29 17:03:54 +02:00
Bram Moolenaar
170b10b421 patch 7.4.2113
Problem:    Test for undo is flaky.
Solution:   Turn it into a new style test.  Use test_settime() to avoid
            flakyness.
2016-07-29 16:15:27 +02:00
Bram Moolenaar
b56195ed00 patch 7.4.2112
Problem:    getcompletion(.., 'dir') returns a match with trailing "*" when
            there are no matches. (Chdiza)
Solution:   Return an empty list when there are no matches.  Add a trailing
            slash to directories. (Yegappan Lakshmanan)  Add tests for no
            matches. (closes #947)
2016-07-28 22:53:37 +02:00
Bram Moolenaar
471a897569 Update gitignore for new test binary. (Oyvind Holm, closes #954) 2016-07-28 22:36:37 +02:00
Bram Moolenaar
8c08b5b569 patch 7.4.2111
Problem:    Defaults are very conservative.
Solution:   Move settings from vimrc_example.vim to defaults.vim.  Load
            defaults.vim if no .vimrc was found.
2016-07-28 22:24:15 +02:00
Bram Moolenaar
eac784eced patch 7.4.2110
Problem:    When there is an CmdUndefined autocmd then the error for a missing
            command is E464 instead of E492. (Manuel Ortega)
Solution:   Don't let the pointer be NULL.
2016-07-28 22:08:24 +02:00
Bram Moolenaar
ad9c2a08f0 patch 7.4.2109
Problem:    Setting 'display' to "lastline" is a drastic change, while
            omitting it results in lots of "@" lines.
Solution:   Add "truncate" to show "@@@" for a truncated line.
2016-07-27 23:26:04 +02:00
Bram Moolenaar
adfc5c2f9c patch 7.4.2108
Problem:    Netbeans test is flaky.
Solution:   Wait for the cursor to be positioned.
2016-07-27 22:56:48 +02:00
Bram Moolenaar
d955a0971c patch 7.4.2107
Problem:    Misplaced equal sign.
Solution:   Remove it.
2016-07-26 22:14:09 +02:00
Bram Moolenaar
ac77aec4da patch 7.4.2106
Problem:    Clang warns about missing field in initializer.
Solution:   Define COMMA and use it.  (Kazunobu Kuriyama)
2016-07-26 22:02:54 +02:00
Bram Moolenaar
eec2981bbe patch 7.4.2105
Problem:    Configure reports default features to be "normal" while it is
            "huge".
Solution:   Change the default text.
2016-07-26 21:27:36 +02:00
Bram Moolenaar
97baee80f0 patch 7.4.2104
Problem:    Code duplication when unreferencing a function.
Solution:   De-duplicate.
2016-07-26 20:46:08 +02:00
Bram Moolenaar
e99e84497b patch 7.4.2103
Problem:    Can't have "augroup END" right after ":au!".
Solution:   Check for the bar character before the command argument.
2016-07-26 20:43:40 +02:00
Bram Moolenaar
45a249513f patch 7.4.2102
Problem:    Tiny build with GUI fails.
Solution:   Revert one FOR_ALL_ change.
2016-07-24 22:25:15 +02:00
Bram Moolenaar
2932359000 patch 7.4.2101
Problem:    Looping over windows, buffers and tab pages is inconsistant.
Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
2016-07-24 22:04:11 +02:00
Bram Moolenaar
6835dc61ae patch 7.4.2100
Problem:    "cgn" and "dgn" do not work correctly with a single character
            match and the replacement includes the searched pattern. (John
            Beckett)
Solution:   If the match is found in the wrong column try in the next column.
            Turn the test into new style. (Christian Brabandt)
2016-07-24 17:33:05 +02:00
Bram Moolenaar
73ac0c4281 patch 7.4.2099
Problem:    When a keymap is active only "(lang)" is displayed. (Ilya
            Dogolazky)
Solution:   Show the keymap name. (Dmitri Vereshchagin, closes #933)
2016-07-24 16:17:59 +02:00
Bram Moolenaar
6f1d9a096b Updated runtime files. 2016-07-24 14:12:38 +02:00
Bram Moolenaar
00b24be454 patch 7.4.2098
Problem:    Text object tests are old style.
Solution:   Turn them into new style tests. (James McCoy, closes #941)
2016-07-23 22:04:47 +02:00
Bram Moolenaar
d4f31dc454 patch 7.4.2097
Problem:    Warning from 64 bit compiler.
Solution:   use size_t instead of int. (Mike Williams)
2016-07-23 17:28:22 +02:00
Bram Moolenaar
b49edc11a1 patch 7.4.2096
Problem:    Lambda functions show up with completion.
Solution:   Don't show lambda functions. (Ken Takata)
2016-07-23 15:47:34 +02:00
Bram Moolenaar
61c04493b0 patch 7.4.2095
Problem:    Man test fails when run with the GUI.
Solution:   Adjust for different behavior of GUI.  Add assert_inrange().
2016-07-23 15:35:35 +02:00
Bram Moolenaar
4658228262 patch 7.4.2094
Problem:    The color allocation in X11 is overly complicated.
Solution:   Remove find_closest_color(), XAllocColor() already does this.
            (Kazunobu Kuriyama)
2016-07-23 14:35:12 +02:00
Bram Moolenaar
a58c58b7e1 patch 7.4.2093
Problem:    Netbeans test fails once in a while.  Leaving log file behind.
Solution:   Add it to the list of flaky tests.  Disable logfile.
2016-07-23 14:01:15 +02:00
Bram Moolenaar
870b749ce1 patch 7.4.2092
Problem:    GTK 3 build fails with older GTK version.
Solution:   Check the pango version. (Kazunobu Kuriyama)
2016-07-22 22:26:52 +02:00
Bram Moolenaar
2e45d21c81 patch 7.4.2091
Problem:    Coverity reports a resource leak when out of memory.
Solution:   Close the file before returning.
2016-07-22 22:12:38 +02:00
Bram Moolenaar
df48fb456f patch 7.4.2090
Problem:    Using submatch() in a lambda passed to substitute() is verbose.
Solution:   Use a static list and pass it as an optional argument to the
            function.  Fix memory leak.
2016-07-22 21:50:18 +02:00
Bram Moolenaar
36edf0685c patch 7.4.2089
Problem:    Color handling of X11 GUIs is too complicated.
Solution:   Simplify the code.  Use RGBA where appropriate. (Kazunobu
            Kuriyama)
2016-07-21 22:10:12 +02:00
Bram Moolenaar
f36213597d patch 7.4.2088
Problem:    Keymap test fails with normal features.
Solution:   Bail out if the keymap feature is not supported.
2016-07-21 22:03:02 +02:00
Bram Moolenaar
e25bc5abb4 patch 7.4.2087
Problem:    Digraph code test coverage is still low.
Solution:   Add more tests. (Christian Brabandt)
2016-07-21 21:23:38 +02:00
Bram Moolenaar
ac105ed3c4 patch 7.4.2086
Problem:    Using the system default encoding makes tests unpredictable.
Solution:   Always use utf-8 or latin1 in the new style tests.  Remove setting
            encoding and scriptencoding where it is not needed.
2016-07-21 20:33:32 +02:00
Bram Moolenaar
dfd63e30d1 patch 7.4.2085
Problem:    Digraph tests fails on some systems.
Solution:   Run it separately and set 'encoding' early.
2016-07-21 10:11:03 +02:00
Bram Moolenaar
6008433381 patch 7.4.2084
Problem:    New digraph test makes testing hang.
Solution:   Don't set "nocp".
2016-07-20 22:23:49 +02:00
Bram Moolenaar
19df5cc04d patch 7.4.2083
Problem:    Coverity complains about not restoring a value.
Solution:   Restore the value, although it's not really needed.  Change return
            to jump to cleanup, might leak memory.
2016-07-20 22:11:06 +02:00
Bram Moolenaar
397eadbe25 patch 7.4.2082
Problem:    Not much test coverage for digraphs.
Solution:   Add a new style digraph test. (Christian Brabandt)
2016-07-20 22:01:12 +02:00
Bram Moolenaar
c1542744e7 patch 7.4.2081
Problem:    Line numbers in the error list are not always adjusted.
Solution:   Set b_has_qf_entry properly. (Yegappan Lakshmanan)
2016-07-20 21:44:37 +02:00
Bram Moolenaar
b869c0da31 patch 7.4.2080
Problem:    When using PERROR() on some systems assert_fails() does not see
            the error.
Solution:   Make PERROR() always report the error.
2016-07-20 00:10:51 +02:00
Bram Moolenaar
53bdec2ac9 patch 7.4.2079
Problem:    Netbeans test fails on non-Unix systems.
Solution:   Only do the permission check on Unix systems.
2016-07-20 00:03:18 +02:00
Bram Moolenaar
ca8942c6e3 patch 7.4.2078
Problem:    Running checks in po diretory fails.
Solution:   Add colors used in syntax.c to the builtiin color table.
2016-07-19 23:36:31 +02:00
Bram Moolenaar
12c11d5530 patch 7.4.2077
Problem:    Cannot update 'tabline' when a tab was closed.
Solution:   Add the TabClosed autocmd event. (partly by Felipe Morales)
2016-07-19 23:13:03 +02:00
Bram Moolenaar
4f0383bc3f patch 7.4.2076
Problem:    Syntax error when dict has '>' key.
Solution:   Check for endchar. (Ken Takata)
2016-07-19 22:43:11 +02:00
Bram Moolenaar
c917da4b3e patch 7.4.2075
Problem:    No autocommand event to initialize a window or tab page.
Solution:   Add WinNew and TabNew events. (partly by Felipe Morales)
2016-07-19 22:31:36 +02:00
Bram Moolenaar
0a0f641b98 patch 7.4.2074
Problem:    One more place using a dummy variable.
Solution:   Use offsetof(). (Ken Takata)
2016-07-19 21:30:13 +02:00
Bram Moolenaar
68015bbd84 patch 7.4.2073
Problem:    rgb.txt is read for every color name.
Solution:   Load rgb.txt once. (Christian Brabandt)  Add a test.
2016-07-19 21:05:21 +02:00
Bram Moolenaar
72ab729c3d patch 7.4.2072
Problem:    substitute() does not support a Funcref argument.
Solution:   Support a Funcref like it supports  a string starting with "\=".
2016-07-19 19:10:51 +02:00
Bram Moolenaar
f562e72df7 patch 7.4.2071
Problem:    The return value of type() is difficult to use.
Solution:   Define v:t_ constants. (Ken Takata)
2016-07-19 17:25:25 +02:00
Bram Moolenaar
6cfdb2a3ba patch 7.4.2070
Problem:    Missing change to include file.
Solution:   Include the spell header file.
2016-07-19 17:01:31 +02:00
Bram Moolenaar
9ccfebddc3 patch 7.4.2069
Problem:    spell.c is too big.
Solution:   Split it in spell file handling and spell checking.
2016-07-19 16:39:08 +02:00
Bram Moolenaar
b9644433d2 patch 7.4.2068
Problem:    Not all arguments of trunc_string() are tested.  Memory access
            error when running the message tests.
Solution:   Add another test case. (Yegappan Lakshmanan)  Make it easy to run
            unittests with valgrind.  Fix the access error.
2016-07-19 12:33:44 +02:00
Bram Moolenaar
16ec3c9be3 patch 7.4.2067
Problem:    Compiler warning for char/char_u conversion. (Tony Mechelynck)
            Inefficient code.
Solution:   Use more lines to fill with spaces. (Nikolai Pavlov) Add type cast.
2016-07-18 22:22:39 +02:00
Bram Moolenaar
c1fb763184 patch 7.4.2066
Problem:    getcompletion() not well tested.
Solution:   Add more testing.
2016-07-17 23:34:21 +02:00
Bram Moolenaar
69aa099641 patch 7.4.2065
Problem:    Compiler warns for uninitialzed variable. (John Marriott)
Solution:   Set lnum to the right value.
2016-07-17 22:33:53 +02:00
Bram Moolenaar
4f5c5f2980 patch 7.4.2064
Problem:    Coverity warns for possible buffer overflow.
Solution:   Use vim_strcat() instead of strcat().
2016-07-17 22:25:36 +02:00
Bram Moolenaar
73dad1e64c patch 7.4.2063
Problem:    eval.c is still too big.
Solution:   Split off internal functions to evalfunc.c.
2016-07-17 22:13:49 +02:00
Bram Moolenaar
840268400d patch 7.4.2062
Problem:    Using dummy variable to compute struct member offset.
Solution:   Use offsetof().
2016-07-17 20:37:43 +02:00
Bram Moolenaar
e87e6dddc2 patch 7.4.2061
Problem:    qf_init_ext() is too big.
Solution:   Move code to qf_parse_line() (Yegappan Lakshmanan)
2016-07-17 19:25:04 +02:00
Bram Moolenaar
a9093fe094 patch 7.4.2060
Problem:    Wrong file name.
Solution:   Fix typo.
2016-07-17 19:02:16 +02:00
Bram Moolenaar
6583c44857 patch 7.4.2059
Problem:    Non-Unix builds fail.
Solution:   Update Makefiles for new files.
2016-07-17 18:41:47 +02:00
Bram Moolenaar
a9b579f3d7 patch 7.4.2058
Problem:    eval.c is too big.
Solution:   Move user functions to userfunc.c
2016-07-17 18:29:19 +02:00
Bram Moolenaar
da861d631d patch 7.4.2057
Problem:    eval.c is too big.
Solution:   Move List functions to list.c
2016-07-17 15:46:27 +02:00
Bram Moolenaar
1abc52c159 patch 7.4.2056
Problem:    Build fails.
Solution:   Add missing changes.
2016-07-17 15:06:51 +02:00
Bram Moolenaar
cd52459c38 patch 7.4.2055
Problem:    eval.c is too big.
Solution:   Move Dictionary functions to dict.c.
2016-07-17 14:57:05 +02:00
Bram Moolenaar
42ebd06642 Update runtime files. 2016-07-17 13:35:14 +02:00
Bram Moolenaar
2cb70a2744 Put building with interfaces on the right target. 2016-07-16 21:58:01 +02:00
Bram Moolenaar
b2b050ab16 patch 7.4.2054
Problem:    Wrong part of #ifdef removed.
Solution:   Use the right part. (Hirohito Higashi)
2016-07-16 21:52:46 +02:00
Bram Moolenaar
87776a1ac1 Correct build condition. 2016-07-16 21:37:49 +02:00
Bram Moolenaar
8de7465d77 Add missing "then". 2016-07-16 21:24:36 +02:00
Bram Moolenaar
1a9f947cde Add a separate build target for the unittests. Hopefully the coverage will be merged then. 2016-07-16 21:18:34 +02:00
Bram Moolenaar
8211fcbdc9 Run unittests before scripttests. Hopefully does not mess up coverage. 2016-07-16 20:55:12 +02:00
Bram Moolenaar
e21d62435e patch 7.4.2053
Problem:    Can't run scripttests in the top directory.
Solution:   Add targets to the top Makefile.
2016-07-16 20:43:14 +02:00
Bram Moolenaar
c3e539fa70 patch 7.4.2052
Problem:    Coverage report is messed up by the unittests.
Solution:   Add a separate test target for script tests.  Use that when
            collecting coverage information.
2016-07-16 20:37:56 +02:00
Bram Moolenaar
502ae4ba63 patch 7.4.2051
Problem:    No proper testing of trunc_string().
Solution:   Add a unittest for message.c.
2016-07-16 19:50:13 +02:00
Bram Moolenaar
015102e91e patch 7.4.2050
Problem:    When using ":vimgrep" may end up with duplicate buffers.
Solution:   When adding an error list entry pass the buffer number if possible.
2016-07-16 18:24:56 +02:00
Bram Moolenaar
f6acffbe83 patch 7.4.2049
Problem:    There is no way to get a list of the error lists.
Solution:   Add ":chistory" and ":lhistory".
2016-07-16 16:54:24 +02:00
Bram Moolenaar
a06ecab7a5 patch 7.4.2048
Problem:    There is still code and help for unsupported systems.
Solution:   Remove the code and text. (Hirohito Higashi)
2016-07-16 14:47:36 +02:00
Bram Moolenaar
bfafb4c4a0 patch 7.4.2047
Problem:    Compiler warning for initializing a struct.
Solution:   Initialize in another way. (Anton Lindqvist)
2016-07-16 14:20:45 +02:00
Bram Moolenaar
269f595f9e Updated runtime files. 2016-07-15 22:54:41 +02:00
Bram Moolenaar
e0d3797664 patch 7.4.2046
Problem:    The qf_init_ext() function is too big.
Solution:   Refactor it. (Yegappan Lakshmanan)
2016-07-15 22:36:01 +02:00
Bram Moolenaar
5ef2e76284 patch 7.4.2045
Problem:    Memory leak when using a function callback.
Solution:   Don't save the function name when it's in the partial.
2016-07-15 21:29:35 +02:00
Bram Moolenaar
069c1e7fa9 patch 7.4.2044
Problem:    filter() and map() either require a string or defining a function.
Solution:   Support lambda, a short way to define a function that evaluates an
            expression. (Yasuhiro Matsumoto, Ken Takata)
2016-07-15 21:25:08 +02:00
Bram Moolenaar
93431df9eb patch 7.4.2043
Problem:    setbuvfar() causes a screen redraw.
Solution:   Only use aucmd_prepbuf() for options.
2016-07-15 20:14:44 +02:00
Bram Moolenaar
fdadad994a patch 7.4.2042
Problem:    GTK: display updating is not done properly and can be slow.
Solution:   Use gdk_display_flush() instead of gdk_display_sync(). Don't call
            gdk_window_process_updates().  (Kazunobu Kuriyama)
2016-07-15 17:49:58 +02:00
Bram Moolenaar
603d657219 patch 7.4.2041
Problem:    Netbeans file authentication not tested.
Solution:   Add a test.
2016-07-15 17:41:56 +02:00
Bram Moolenaar
a6aa78a3e3 patch 7.4.2040
Problem:    New files missing from distribution.
Solution:   Add new test scripts.
2016-07-15 17:11:37 +02:00
Bram Moolenaar
321efdd77a patch 7.4.2039
Problem:    The Netbeans integration is not tested.
Solution:   Add a first Netbeans test.
2016-07-15 17:09:11 +02:00
Bram Moolenaar
9280e3f95d patch 7.4.2038
Problem:    Small build still fails.
Solution:   Adjust more #ifdefs.
2016-07-14 23:03:19 +02:00
Bram Moolenaar
7399895520 patch 7.4.2037
Problem:    Small build fails.
Solution:   Adjust #ifdefs.
2016-07-14 22:34:34 +02:00
Bram Moolenaar
480778b805 patch 7.4.2036
Problem:    Looking up a buffer by number is slow if there are many.
Solution:   Use a hashtab.
2016-07-14 22:09:39 +02:00
Bram Moolenaar
da4127794a patch 7.4.2035
Problem:    On Solaris with ZFS the ACL may get removed.
Solution:   Always restore the ACL for Solaris ZFS. (Danek Duvall)
2016-07-14 20:37:07 +02:00
Bram Moolenaar
f62e797ffa patch 7.4.2034
Problem:    Build fails with some version of MinGW. (illusorypan)
Solution:   Recognize mingw32. (Ken Takata, closes #921)
2016-07-14 20:25:03 +02:00
Bram Moolenaar
6d20e17544 patch 7.4.2033
Problem:    'cscopequickfix' option does not accept new value "a".
Solution:   Adjust list of command characters. (Ken Takata)
2016-07-13 22:44:12 +02:00
Bram Moolenaar
3e946fdc7b patch 7.4.2032
Problem:    Build fails with 64 bit MinGW. (Axel Bender)
Solution:   Handle dash vs. underscore. (Ken Takata, Hirohito Higashi)
2016-07-13 20:54:43 +02:00
Bram Moolenaar
89b10421ca patch 7.4.2031
Problem:    The list_lbr_utf8 test fails if ~/.vim/syntax/c.vim sets
            'textwidth' to a non-zero value. (Oyvind A. Holm)
Solution:   Add a setup.vim file that sets 'runtimepath' and $HOME to a safe
            value. (partly by Christian Brabandt, closes #912)
2016-07-12 22:51:22 +02:00
Bram Moolenaar
e048539195 patch 7.4.2030
Problem:    ARCH must be set properly when using MinGW.
Solution:   Detect the default value of ARCH from the current compiler. (Ken
            Takata)
2016-07-12 21:17:03 +02:00
Bram Moolenaar
38ee6b041e patch 7.4.2029
Problem:    printf() does not work with 64 bit numbers.
Solution:   use the "L" length modifier. (Ken Takata)
2016-07-12 21:11:33 +02:00
Bram Moolenaar
5498a41f5a patch 7.4.2028
Problem:    cppcheck warns for using index before limits check.
Solution:   Swap the expressions. (Dominique Pelle)
2016-07-11 23:19:05 +02:00
Bram Moolenaar
4c06815c44 patch 7.4.2027
Problem:    Can't build with +eval but without +menu.
Solution:   Add #ifdef. (John Marriott)
2016-07-11 23:15:25 +02:00
Bram Moolenaar
1436d8d51c patch 7.4.2026
Problem:    Reference counting for callbacks isn't right.
Solution:   Add free_callback(). (Ken Takata)  Fix reference count.
2016-07-11 22:41:15 +02:00
Bram Moolenaar
da3a77d9ec patch 7.4.2025
Problem:    The cursor blinking stops or is irregular when receiving date over
            a channel and writing it in a buffer, and when updating the status
            line. (Ramel Eshed)
Solution:   Make it a bit better by flushing GUI output.  Don't redraw the
            cursor after updating the screen if the blink state is off.
2016-07-10 23:16:09 +02:00
Bram Moolenaar
7c0a2f367f patch 7.4.2024
Problem:    More buf_valid() calls can be optimized.
Solution:   Use bufref_valid() instead.
2016-07-10 22:11:16 +02:00
Bram Moolenaar
ea3f2e7be4 patch 7.4.2023
Problem:    buflist_findname_stat() may find a dummy buffer.
Solution:   Set the BF_DUMMY flag after loading a dummy buffer.  Start
            finding buffers from the end of the list.
2016-07-10 20:27:32 +02:00
Bram Moolenaar
25065ec375 patch 7.4.2022
Problem:    Warnings from 64 bit compiler.
Solution:   Add type casts. (Mike Williams)
2016-07-10 19:22:53 +02:00
Bram Moolenaar
19ff9bf454 patch 7.4.2021
Problem:    Still too many buf_valid() calls.
Solution:   Make au_new_curbuf a bufref.  Use bufref_valid() in more places.
2016-07-10 19:03:57 +02:00
Bram Moolenaar
453f37dbfd patch 7.4.2020
Problem:    Can't build without +autocmd feature.
Solution:   Adjust #ifdefs.
2016-07-10 18:33:59 +02:00
Bram Moolenaar
c4a927ca8d patch 7.4.2019
Problem:    When ignoring case utf_fold() may consume a lot of time.
Solution:   Optimize for ASCII.
2016-07-10 18:24:27 +02:00
Bram Moolenaar
b25f9a97e9 patch 7.4.2018
Problem:    buf_valid() can be slow when there are many buffers.
Solution:   Add bufref_valid(), only go through the buffer list when a buffer
            was freed.
2016-07-10 18:21:50 +02:00
Bram Moolenaar
8240433f48 patch 7.4.2017
Problem:    When there are many errors adding them to the quickfix list takes
            a long time.
Solution:   Add BLN_NOOPT.  Don't call buf_valid() in buf_copy_options().
            Remember the last file name used.  When going through the buffer
            list start from the end of the list.  Only call buf_valid() when
            autocommands were executed.
2016-07-10 17:00:38 +02:00
Bram Moolenaar
2bc127f940 patch 7.4.2016
Problem:    Warning from MinGW about _WIN32_WINNT redefined. (John Marriott)
Solution:   First undefine it. (Ken Takata)
2016-07-10 13:57:40 +02:00
Bram Moolenaar
5c71994f4e patch 7.4.2015
Problem:    When a file gets a name when writing it 'acd' is not effective.
            (Dan Church)
Solution:   Invoke DO_AUTOCHDIR after writing the file. (Allen Haim, closes
            #777, closes #803)  Add test_autochdir() to enable 'acd' before
            "starting" is reset.
2016-07-09 23:40:45 +02:00
Bram Moolenaar
32b808a4bd patch 7.4.2014
Problem:    Using "noinsert" in 'completeopt' does not insert match.
Solution:   Set compl_enter_selects. (Shougo, closes #875)
2016-07-09 21:57:20 +02:00
Bram Moolenaar
67081e5061 patch 7.4.2013
Problem:    Using "noinsert" in 'completeopt' breaks redo.
Solution:   Set compl_curr_match. (Shougo, closes #874)
2016-07-09 21:49:03 +02:00
Bram Moolenaar
063b9d15ab Updated runtime files. 2016-07-09 20:21:48 +02:00
Bram Moolenaar
0d3e24be56 patch 7.4.2012
Problem:    Test for getcompletion() does not pass on all systems.
Solution:   Only test what is supported.
2016-07-09 19:20:59 +02:00
Bram Moolenaar
aa4d73235b patch 7.4.2011
Problem:    It is not easy to get a list of command arguments.
Solution:   Add getcompletion(). (Yegappan Lakshmanan)
2016-07-09 18:50:29 +02:00
Bram Moolenaar
537ef08408 patch 7.4.2010
Problem:    There is a :cbottom command but no :lbottom command.
Solution:   Add :lbottom. (Yegappan Lakshmanan)
2016-07-09 17:56:19 +02:00
Bram Moolenaar
ed59aa60d3 patch 7.4.2009
Problem:    Messages test fails.
Solution:   Don't set redir_execute before returning.
2016-07-09 17:41:12 +02:00
Bram Moolenaar
79815f1ec7 patch 7.4.2008
Problem:    evalcmd() has a confusing name.
Solution:   Rename to execute().  Make silent optional.  Support a list of
            commands.
2016-07-09 17:07:29 +02:00
Bram Moolenaar
fc4ad61607 patch 7.4.2007
Problem:    Running the tests leaves a viminfo file behind.
Solution:   Make the viminfo option empty.
2016-07-09 15:38:32 +02:00
Bram Moolenaar
30445cb6e9 patch 7.4.2006
Problem:    Crash when using tabnext in BufUnload autocmd. (Norio Takagi)
Solution:   First check that the current buffer is the right one. (Hirohito
            Higashi)
2016-07-09 15:21:02 +02:00
Bram Moolenaar
ee1deb4a00 patch 7.4.2005
Problem:    After using evalcmd() message output is in the wrong position.
            (Christian Brabandt)
Solution:   Reset msg_col.
2016-07-08 23:06:21 +02:00
Bram Moolenaar
65549bdef5 patch 7.4.2004
Problem:    GUI: cursor displayed in the wrong position.
Solution:   Correct screen_cur_col and screen_cur_row.
2016-07-08 22:52:37 +02:00
Bram Moolenaar
144445d15f patch 7.4.2003
Problem:    Still cursor flickering when a callback updates the screen. (David
            Samvelyan)
Solution:   Put the cursor in the right position after updating the screen.
2016-07-08 21:41:54 +02:00
Bram Moolenaar
a06ec8f345 patch 7.4.2002
Problem:    Crash when passing number to filter() or map().
Solution:   Convert to a string. (Ozaki Kiichi)
2016-07-08 20:11:07 +02:00
Bram Moolenaar
ba768495c2 patch 7.4.2001
Problem:    Tiny build fails. (Tony Mechelynck)
Solution:   Add #ifdef.
2016-07-08 15:32:54 +02:00
Bram Moolenaar
245a7cb6d3 patch 7.4.2000
Problem:    Evalcmd test fails.
Solution:   Add missing piece.
2016-07-08 10:53:12 +02:00
Bram Moolenaar
bc5d6dd1dd patch 7.4.1999
Problem:    evalcmd() doesn't work recursively.
Solution:   Use redir_evalcmd instead of redir_vname.
2016-07-07 23:04:18 +02:00
Bram Moolenaar
bf2cc5f36d patch 7.4.1998
Problem:    When writing buffer lines to a job there is no NL to NUL
            conversion.
Solution:   Make it work symmetrical with writing lines from a job into a
            buffer.
2016-07-07 20:45:06 +02:00
Bram Moolenaar
dcb1700186 patch 7.4.1997
Problem:    Cannot easily scroll the quickfix window.
Solution:   Add ":cbottom".
2016-07-07 18:58:59 +02:00
Bram Moolenaar
1e5e1231ac patch 7.4.1996
Problem:    Capturing the output of a command takes a few commands.
Solution:   Add evalcmd().
2016-07-07 17:33:02 +02:00
Bram Moolenaar
9d5d3c9c44 patch 7.4.1995
Problem:    GUI: cursor drawn in wrong place if a timer callback causes a
            screen update. (David Samvelyan)
Solution:   Also redraw the cursor when it's blinking and on.
2016-07-07 16:43:02 +02:00
Bram Moolenaar
05e418d436 patch 7.4.1994
Problem:    True-false test fails.
Solution:   Filter the dict to only keep the value that matters.
2016-07-07 16:35:16 +02:00
Bram Moolenaar
6bb450145e patch 7.4.1993
Problem:    Not all TRUE and FALSE arguments are tested.
Solution:   Add a few more tests.
2016-07-07 15:11:19 +02:00
Bram Moolenaar
e381d3d5e0 patch 7.4.1992
Problem:    Values for true and false can be confusing.
Solution:   Update the documentation.  Add a test.  Make v:true evaluate to
            TRUE for a non-zero-arg.
2016-07-07 14:50:41 +02:00
Bram Moolenaar
00efded106 patch 7.4.1991
Problem:    glob() does not add a symbolic link when there are no wildcards.
Solution:   Remove the call to mch_getperm().
2016-07-07 14:29:10 +02:00
Bram Moolenaar
80632db65e patch 7.4.1990
Problem:    Cscope items are not sorted.
Solution:   Put the new "a" command first. (Ken Takata)
2016-07-05 22:28:40 +02:00
Bram Moolenaar
b33c7eb5b8 patch 7.4.1989
Problem:    filter() and map() only accept a string argument.
Solution:   Implement using a Funcref argument (Yasuhiro Matsumoto, Ken
            Takata)
2016-07-04 22:29:49 +02:00
Bram Moolenaar
ab9c89b68d patch 7.4.1988
Problem:    When updating viminfo with file marks there is no time order.
Solution:   Remember the time when a buffer was last used, store marks for
            the most recently used buffers.
2016-07-03 17:47:26 +02:00
Bram Moolenaar
dec85cf750 patch 7.4.1987
Problem:    When copying unrecognized lines for viminfo, end up with useless
            continuation lines.
Solution:   Skip continuation lines.
2016-07-02 22:33:46 +02:00
Bram Moolenaar
fef524bbff patch 7.4.1986
Problem:    Compiler warns for loss of data.
Solution:   Use size_t instead of int. (Christian Brabandt)
2016-07-02 22:07:22 +02:00
Bram Moolenaar
3b98b83001 patch 7.4.1985
Problem:    Missing changes in VMS build file.
Solution:   Use the right file name.
2016-07-02 21:45:17 +02:00
Bram Moolenaar
e18dbe865d Updated runtime files. 2016-07-02 21:42:23 +02:00
Bram Moolenaar
0fcc7c6dd1 patch 7.4.1984
Problem:    Not all quickfix features are tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan)
2016-07-02 21:22:52 +02:00
Bram Moolenaar
75464dc434 patch 7.4.1983
Problem:    farsi.c and arabic.c are included in a strange way.
Solution:   Build them like other files.
2016-07-02 20:27:50 +02:00
Bram Moolenaar
951fa1819a patch 7.4.1982
Problem:    Viminfo file contains duplicate change marks.
Solution:   Drop duplicate marks.
2016-07-02 19:20:06 +02:00
Bram Moolenaar
ee2615af64 patch 7.4.1981
Problem:    No testing for Farsi code.
Solution:   Add a minimal test.  Clean up Farsi code.
2016-07-02 18:25:34 +02:00
Bram Moolenaar
361c8f0e51 patch 7.4.1980
Problem:    'errorformat' is parsed for every call to ":caddexpr".  Can't add
            to two location lists asynchronously.
Solution:   Keep the previously parsed data when appropriate. (mostly by
            Yegappan Lakshmanan)
2016-07-02 15:41:47 +02:00
Bram Moolenaar
2acfbed9db patch 7.4.1979
Problem:    Getting value of binary option is wrong. (Kent Sibilev)
Solution:   Fix type cast.  Add a test.
2016-07-01 23:14:02 +02:00
Bram Moolenaar
c5af40ae64 patch 7.4.1978
Problem:    Large file test does not delete its output.
Solution:   Delete the output. Check size properly when possible. (Ken Takata)
2016-07-01 21:49:06 +02:00
Bram Moolenaar
bde9810d61 patch 7.4.1977
Problem:    With 64 bit changes don't need three calls to sprintf().
Solution:   Simplify the code, use vim_snprintf(). (Ken Takata)
2016-07-01 20:03:42 +02:00
Bram Moolenaar
22fcfad292 patch 7.4.1976
Problem:    Number variables are not 64 bits while they could be.
Solution:   Add the num64 feature. (Ken Takata)
2016-07-01 18:17:26 +02:00
Bram Moolenaar
8767f52fbf patch 7.4.1975
Problem:    On MS-Windows large files (> 2Gbyte) cause problems.
Solution:   Use "off_T" instead of "off_t".  Use "stat_T" instead of "struct
            stat".  Use 64 bit system functions if available.  (Ken Takata)
2016-07-01 17:17:39 +02:00
Bram Moolenaar
4a6c670b84 patch 7.4.1974
Problem:    GUI has a problem with some termcodes.
Solution:   Handle negative numbers. (Kazunobu Kuriyama)
2016-07-01 15:48:05 +02:00
Bram Moolenaar
4c5717ed8a patch 7.4.1973
Problem:    On MS-Windows the package directory may be added at the end
            because of forward/backward slash differences. (Matthew
            Desjardins)
Solution:   Ignore slash differences.
2016-07-01 15:39:40 +02:00
Bram Moolenaar
40de45664c patch 7.4.1972
Problem:    On Solaris select() does not work as expected when there is
            typeahead.
Solution:   Add ICANON when sleeping. (Ozaki Kiichi)
2016-07-01 15:03:46 +02:00
Bram Moolenaar
e8fea0728a patch 7.4.1971
Problem:    It is not easy to see unrecognized error lines below the current
            error position.
Solution:   Add ":clist +count".
2016-07-01 14:48:27 +02:00
Bram Moolenaar
70e136e1d8 patch 7.4.1970
Problem:    Using ":insert" in an empty buffer sets the jump mark. (Ingo
            Karkat)
Solution:   Don't adjust marks when replacing the empty line in an empty
            buffer. (closes #892)
2016-07-01 14:04:51 +02:00
Bram Moolenaar
24cf233ef9 patch 7.4.1969
Problem:    When the netbeans channel is closed consuming the buffer may cause
            a crash.
Solution:   Check for nb_channel not to be NULL. (Xavier de Gaye)
2016-07-01 12:50:54 +02:00
Bram Moolenaar
1d90a5a5af patch 7.4.1968
Problem:    Invalid memory access with "\<C-">.
Solution:   Do not recognize this as a special character. (Dominique Pelle)
2016-07-01 11:59:47 +02:00
Bram Moolenaar
6747fabc73 patch 7.4.1967
Problem:    Falling back from NFA to old regexp engine does not work properly.
            (fritzophrenic)
Solution:   Do not restore nfa_match. (Christian Brabandt, closes #867)
2016-06-28 22:39:16 +02:00
Bram Moolenaar
bcf7772a23 patch 7.4.1966
Problem:    Coverity reports a resource leak.
Solution:   Close "fd" also when bailing out.
2016-06-28 21:11:32 +02:00
Bram Moolenaar
adb78a77eb patch 7.4.1965
Problem:    When using a job in raw mode to append to a buffer garbage
            characters are added.
Solution:   Do not replace the trailing NUL with a NL. (Ozaki Kiichi)
2016-06-27 21:10:31 +02:00
Bram Moolenaar
688e3d1fd9 patch 7.4.1964
Problem:    The quickfix init function is too big.
Solution:   Factor out parsing 'errorformat' to a separate function. (Yegappan
            Lakshmanan)
2016-06-26 22:05:54 +02:00
Bram Moolenaar
97ff9b9cff patch 7.4.1963
Problem:    Running Win32 Vim in mintty does not work.
Solution:   Detect mintty and give a helpful error message. (Ken Takata)
2016-06-26 20:37:46 +02:00
Bram Moolenaar
52df117df7 patch 7.4.1962
Problem:    Two test files for increment/decrement.
Solution:   Move the old style test into the new style test. (Hirohito
            Higashi, closes #881)
2016-06-26 19:38:19 +02:00
Bram Moolenaar
00672e1d3f patch 7.4.1961
Problem:    When 'insertmode' is reset while doing completion the popup menu
            remains even though Vim is in Normal mode.
Solution:   Ignore stop_insert_mode when the popup menu is visible.  Don't set
            stop_insert_mode when 'insertmode' was already off. (Christian
            Brabandt)
2016-06-26 18:38:13 +02:00
Bram Moolenaar
04e2b4b0c4 patch 7.4.1960
Problem:    Unicode standard 9 was released.
Solution:   Update the character property tables. (Christian Brabandt)
2016-06-26 17:53:07 +02:00
Bram Moolenaar
aad30bbcde patch 7.4.1959
Problem:    Crash when running test_channel.vim on Windows.
Solution:   Check for NULL pointer result from FormatMessage(). (Christian
            Brabandt)
2016-06-26 17:31:03 +02:00
Bram Moolenaar
eeb50ab522 patch 7.4.1958
Problem:    Perl interface preprocessor statements not nicely indented.
Solution:   Improve the indenting. (Ken Takata)
2016-06-26 17:19:46 +02:00
Bram Moolenaar
7b61bf187a patch 7.4.1957
Problem:    Perl interface has obsolete workaround.
Solution:   Remove the workaround added by 7.3.623. (Ken Takata)
2016-06-26 17:16:51 +02:00
Bram Moolenaar
5d2ca04029 patch 7.4.1956
Problem:    When using CTRL-W f and pressing "q" at the ATTENTION dialog the
            newly opened window is not closed.
Solution:   Close the window and go back to the original one. (Norio Takagi,
            Hirohito Higashi)
2016-06-26 17:11:21 +02:00
Bram Moolenaar
f4fba6dcd5 patch 7.4.1955
Problem:    Using 32-bit Perl with 64-bit time_t causes memory corruption.
            (Christian Brabandt)
Solution:   Use time_T instead of time_t for global variables. (Ken Takata)
2016-06-26 16:44:24 +02:00
Bram Moolenaar
d388d2ac8b patch 7.4.1954
Problem:    No test for what 7.4.1948 fixes.
Solution:   Add a test. (Hirohito Higashi, closes #880)
2016-06-26 16:24:20 +02:00
Bram Moolenaar
802a0d902f Updated runtime files. 2016-06-26 16:17:58 +02:00
Bram Moolenaar
049cba9e97 patch 7.4.1953
Problem:    Not all parts of the quickfix code are tested.
Solution:   Add more tests. (Yegappan Lakshmanan)
2016-06-26 14:38:04 +02:00
Bram Moolenaar
b12e7ef956 patch 7.4.1952
Problem:    Cscope interface does not support finding assignments.
Solution:   Add the "a" command. (ppettina, closes #882)
2016-06-21 23:42:20 +02:00
Bram Moolenaar
85babd6db6 patch 7.4.1951
Problem:    Ruby test is old style.
Solution:   Convert to a new style test. (Ken Takata)
2016-06-21 22:59:28 +02:00
Bram Moolenaar
f50df3925b patch 7.4.1950
Problem:    Quickfix long lines test not executed for buffer.
Solution:   Call the function to test long lines. (Yegappan Lakshmanan)
2016-06-21 21:33:34 +02:00
Bram Moolenaar
38df43bd13 patch 7.4.1949
Problem:    Minor problems with the quickfix code.
Solution:   Fix the problems. (Yegappan Lakshmanan)
2016-06-20 21:41:12 +02:00
Bram Moolenaar
ad5ca9bc1e patch 7.4.1948
Problem:    Using Ctrl-A with double-byte encoding may result in garbled text.
Solution:   Skip to the start of a character. (Hirohito Higashi)
2016-06-20 21:26:08 +02:00
Bram Moolenaar
ecefe71704 patch 7.4.1947
Problem:    Viminfo continuation line with wrong length isn't skipped. (Marius
            Gedminas)
Solution:   Skip a line when encountering an error, but not two lines.
2016-06-20 12:50:17 +02:00
Bram Moolenaar
cf2d77987c patch 7.4.1946
Problem:    File list does not include new XPM libraries.
Solution:   Add the file list entries.
2016-06-20 11:28:18 +02:00
Bram Moolenaar
ddf8d1c746 patch 7.4.1945
Problem:    The Man plugin doesn't work that well.
Solution:   Use "g:ft_man_open_mode" to be able open man pages in vert split
            or separate tab. Set nomodifiable for buffer with man content. Add
            a test. (Andrey Starodubtsev, closes #873)
2016-06-20 11:22:54 +02:00
Bram Moolenaar
b5b95750a6 patch 7.4.1944
Problem:    Win32: Cannot compile with XPM feature using VC2015
Solution:   Add XPM libraries compiled with VC2015, and enable to build
            gvim.exe which supports XPM using VC2015. (Ken Takata)
2016-06-18 21:59:36 +02:00
Bram Moolenaar
678e480529 patch 7.4.1943
Problem:    Coverity warns for unreachable code.
Solution:   Remove the code that won't do anything.
2016-06-17 22:38:46 +02:00
Bram Moolenaar
d18f672fc9 patch 7.4.1942
Problem:    Background is not drawn properly when 'termguicolors' is set.
Solution:   Check cterm_normal_bg_color. (Jacob Niehus, closes #805)
2016-06-17 13:18:49 +02:00
Bram Moolenaar
a02a551e18 Updated runtime files. 2016-06-17 12:48:11 +02:00
Bram Moolenaar
3ef5bf7d45 patch 7.4.1941
Problem:    Not all quickfix tests are also done  with the location lists.
Solution:   Test more quickfix code.  Use user commands instead of "exe".
            (Yegappan Lakshmanan)
2016-06-15 22:41:31 +02:00
Bram Moolenaar
23c60f21b0 patch 7.4.1940
Problem:    "gd" hangs in some situations. (Eric Biggers)
Solution:   Remove the SEARCH_START flag when looping.  Add a test.
2016-06-15 22:03:48 +02:00
Bram Moolenaar
28607ba2b8 patch 7.4.1939
Problem:    Memory access error when reading viminfo. (Dominique Pelle)
Solution:   Correct index in jumplist when at the end.
2016-06-15 21:44:51 +02:00
Bram Moolenaar
36f0f0686c patch 7.4.1938
Problem:    When writing viminfo numbered marks were duplicated.
Solution:   Check for duplicates between current numbered marks and the ones
            read from viminfo.
2016-06-14 23:02:46 +02:00
Bram Moolenaar
ab47c61f46 patch 7.4.1937
Problem:    No test for directory stack in quickfix.
Solution:   Add a test. (Yegappan Lakshmanan)
2016-06-14 22:02:26 +02:00
Bram Moolenaar
67e3720a9d patch 7.4.1936
Problem:    Off-by-one error in bounds check. (Coverity)
Solution:   Check register number properly.
2016-06-14 21:32:28 +02:00
Bram Moolenaar
bee666f239 patch 7.4.1935
Problem:    When using the GUI search/replace a second match right after the
            replacement is skipped.
Solution:   Add the SEARCH_START flag. (Mleddy)
2016-06-14 20:39:42 +02:00
Bram Moolenaar
9bd3186052 patch 7.4.1934
Problem:    New style tests not executed with MinGW compiler.
Solution:   Add new style test support. (Yegappan Lakshmanan)
2016-06-13 22:58:39 +02:00
Bram Moolenaar
72e697d189 patch 7.4.1933
Problem:    Compiler warning about uninitialzed variable. (Yegappan)
Solution:   Give it a dummy value.
2016-06-13 22:48:01 +02:00
Bram Moolenaar
ece74ab103 patch 7.4.1932
Problem:    When writing viminfo the jumplist is not merged with the one in
            the viminfo file.
Solution:   Merge based on timestamp.
2016-06-13 22:22:15 +02:00
Bram Moolenaar
a641e1d4da patch 7.4.1931
Problem:    Using both old and new style file mark lines from viminfo.
Solution:   Skip the old style lines if the viminfo file was written with a
            Vim version that supports the new style.
2016-06-13 21:16:03 +02:00
Bram Moolenaar
bf2c0ee0b2 patch 7.4.1930
Problem:    Can't build without +spell but with +quickfix. (Charles)
Solution:   Add better #ifdef around ml_append_buf(). (closes #864)
2016-06-13 20:23:53 +02:00
Bram Moolenaar
2016ae586b patch 7.4.1929
Problem:    Inconsistent indenting and weird name.
Solution:   Fix indent, make name all upper case. (Ken Takata)
2016-06-13 20:08:43 +02:00
Bram Moolenaar
76ae22fef3 patch 7.4.1928
Problem:    Overwriting pointer argument.
Solution:   Assign to what it points to. (Dominique Pelle)
2016-06-13 20:00:29 +02:00
Bram Moolenaar
5b7d177e89 patch 7.4.1927
Problem:    Compiler warning for signed/unsigned.
Solution:   Add type cast.
2016-06-13 19:54:22 +02:00
Bram Moolenaar
a890f5e348 patch 7.4.1926
Problem:    Possible crash with many history items.
Solution:   Avoid the index going past the last item.
2016-06-12 23:03:19 +02:00
Bram Moolenaar
c95a302a4c Updated runtime files. 2016-06-12 23:01:46 +02:00
Bram Moolenaar
2d35899721 patch 7.4.1925
Problem:    Viminfo does not merge file marks properly.
Solution:   Use a timestamp.  Add the :clearjumps command.
2016-06-12 21:20:54 +02:00
Bram Moolenaar
cf08946349 patch 7.4.1924
Problem:    Missing "void" for functions without argument.
Solution:   Add "void". (Hirohito Higashi)
2016-06-12 21:18:43 +02:00
Bram Moolenaar
ae3150ec8d patch 7.4.1923
Problem:    Command line editing is not tested much.
Solution:   Add tests for expanding the file name and 'wildmenu'.
2016-06-11 23:22:36 +02:00
Bram Moolenaar
06469e979f patch 7.4.1922
Problem:    Ruby 2.4.0 unifies Fixnum and Bignum into Integer.
Solution:   Use rb_cInteger. (Weiong Mao)
2016-06-11 22:26:53 +02:00
Bram Moolenaar
724f2edf75 patch 7.4.1921
Problem:    vim_time() not included when needed.
Solution:   Adjust #ifdef.
2016-06-11 22:21:17 +02:00
Bram Moolenaar
e80ff7448d patch 7.4.1920
Problem:    Missing test changes.
Solution:   Update viminfo test.
2016-06-11 21:14:18 +02:00
Bram Moolenaar
46bbb0c4ba patch 7.4.1919
Problem:    Register contents is not merged when writing viminfo.
Solution:   Use timestamps for register contents.
2016-06-11 21:04:39 +02:00
Bram Moolenaar
62f8b4e180 patch 7.4.1918
Problem:    Not enough testing for parsing viminfo lines.
Solution:   Add test with viminfo lines in bad syntax.  Fix memory leak.
2016-06-11 15:31:47 +02:00
Bram Moolenaar
012270936c patch 7.4.1917
Problem:    History lines read from viminfo in different encoding than when
            writing are not converted.
Solution:   Convert the history lines.
2016-06-11 14:47:40 +02:00
Bram Moolenaar
b8aefa46ad patch 7.4.1916
Problem:    No proper test for what 7.4.1906 fixes.
Solution:   Add a test for reading many lines.
2016-06-10 23:02:56 +02:00
Bram Moolenaar
2a67ed83a8 patch 7.4.1915
Problem:    The effect of the PopupMenu autocommand isn't directly visible.
Solution:   Call gui_update_menus() before displaying the popup menu. (Shane
            Harper, closs #855)
2016-06-10 21:52:42 +02:00
Bram Moolenaar
e429e70f05 patch 7.4.1914
Problem:    Executing autocommands while using the signal stack has a high
            chance of crashing Vim.
Solution:   Don't invoke autocommands when on the signal stack.
2016-06-10 19:49:14 +02:00
Bram Moolenaar
1610d05241 patch 7.4.1913
Problem:    When ":doautocmd" is used modelines are used even when no
            autocommands were executed. (Daniel Hahler)
Solution:   Skip processing modelines. (closes #854)
2016-06-09 22:53:01 +02:00
Bram Moolenaar
1cee693b31 patch 7.4.1912
Problem:    No test for using setqflist() on an older quickfix list.
Solution:   Add a couple of tests.
2016-06-09 22:17:22 +02:00
Bram Moolenaar
1fd99c1ca8 patch 7.4.1911
Problem:    Recent history lines may be lost when exiting Vim.
Solution:   Merge history using the timestamp.
2016-06-09 20:24:28 +02:00
Bram Moolenaar
abc70bbf36 patch 7.4.1910
Problem:    Tests using external command to delete directory.
Solution:   Use delete().
2016-06-08 21:48:50 +02:00
Bram Moolenaar
945ec093cd patch 7.4.1909
Problem:    Doubled semicolons.
Solution:   Reduce to one. (Dominique Pelle)
2016-06-08 21:17:43 +02:00
Bram Moolenaar
5ce4a0b96a patch 7.4.1908
Problem:    Netbeans uses uninitialzed pointer and freed memory.
Solution:   Set "buffer" at the right place (hint by Ken Takata)
2016-06-08 20:17:23 +02:00
Bram Moolenaar
1d5f1d07ae patch 7.4.1907
Problem:    Warnings from 64 bit compiler.
Solution:   Change type to size_t. (Mike Williams)
2016-06-07 22:50:01 +02:00
Bram Moolenaar
5f1032d2a5 patch 7.4.1906
Problem:    Collapsing channel buffers and searching for NL does not work
            properly. (Xavier de Gary, Ramel Eshed)
Solution:   Do not assume the buffer contains a NUL or not.  Change NUL bytes
            to NL to avoid the string is truncated.
2016-06-07 22:16:36 +02:00
Bram Moolenaar
fdd82fe365 patch 7.4.1905
Problem:    Some compilers can't handle a double semicolon.
Solution:   Remove one semicolon.
2016-06-06 21:38:44 +02:00
Bram Moolenaar
c60954b48e patch 7.4.1904
Problem:    Build fails.
Solution:   Add missing changes.
2016-06-06 21:20:10 +02:00
Bram Moolenaar
45d2eeaad6 patch 7.4.1903
Problem:    When writing viminfo merging current history with history in
            viminfo may drop recent history entries.
Solution:   Add new format for viminfo lines, use it for history entries.  Use
            a timestamp for ordering the entries. Add test_settime().
            Add the viminfo version.  Does not do merging on timestamp yet.
2016-06-06 21:07:52 +02:00
Bram Moolenaar
bbe8d91e69 patch 7.4.1902
Problem:    No test for collapsing buffers for a channel.  Some text is lost.
Solution:   Add a simple test.  Set rq_buflen correctly.
2016-06-05 16:10:57 +02:00
Bram Moolenaar
762f175437 patch 7.4.1901
Problem:    Win32: the "Disabled" menu items would appear enabled.
Solution:   Use submenu_id if there is a parent. (Shane Harper, closes #834)
2016-06-04 22:36:17 +02:00
Bram Moolenaar
28b942a064 patch 7.4.1900
Problem:    Using CTRL-] in the help on "{address}." doesn't work.
Solution:   Recognize an item in {}. (Hirohito Higashi, closes #814)
2016-06-04 22:31:27 +02:00
Bram Moolenaar
8e31fd52ec patch 7.4.1899
Problem:    GTK 3: cursor blinking doesn't work well.
Solution:   Instead of gui_gtk_window_clear() use gui_mch_clear_block().
            (Kazunobu Kuriyama)
2016-06-04 22:18:13 +02:00
Bram Moolenaar
63a60ded3f patch 7.4.1898
Problem:    User commands don't support modifiers.
Solution:   Add the <mods> item. (Yegappan Lakshmanan, closes #829)
2016-06-04 22:08:55 +02:00
Bram Moolenaar
fd89d7ea81 patch 7.4.1897
Problem:    Various typos, long lines and style mistakes.
Solution:   Fix the typos, wrap lines, improve style.
2016-06-04 20:25:05 +02:00
Bram Moolenaar
82af8710bf Updated runtime files. 2016-06-04 20:20:29 +02:00
Bram Moolenaar
82faa259cc patch 7.4.1896
Problem:    Invoking mark_adjust() when adding a new line below the last line
            is pointless.
Solution:   Skip calling mark_adjust() when appending below the last line.
2016-06-04 20:14:07 +02:00
Bram Moolenaar
888ccac890 patch 7.4.1895
Problem:    Cannot use a window ID where a window number is expected.
Solution:   Add LOWEST_WIN_ID, so that the window ID can be used where a
            number is expected.
2016-06-04 18:49:36 +02:00
Bram Moolenaar
511972d810 patch 7.4.1894
Problem:    Cannot get the window ID for a mouse click.
Solution:   Add v:mouse_winid.
2016-06-04 18:09:59 +02:00
Bram Moolenaar
b3619a90ea patch 7.4.1893
Problem:    Cannot easily get the window ID for a buffer.
Solution:   Add bufwinid().
2016-06-04 17:58:52 +02:00
Bram Moolenaar
c9721bdc63 patch 7.4.1892
Problem:    balloon eval only gets the window number, not the ID.
Solution:   Add v:beval_winid.
2016-06-04 17:41:03 +02:00
Bram Moolenaar
9ed96efb3d patch 7.4.1891
Problem:    Channel reading very long lines is slow.
Solution:   Collapse multiple buffers until a NL is found.
2016-06-04 17:17:11 +02:00
Bram Moolenaar
703a8044b5 patch 7.4.1890
Problem:    GUI: When channel data is received the cursor blinking is
            interrupted.  (Ramel Eshed)
Solution:   Don't update the cursor when it is blinking.
2016-06-04 16:24:32 +02:00
Bram Moolenaar
35d88f4e2f patch 7.4.1889
Problem:    When umask is set to 0177 Vim can't create temp files. (Lcd)
Solution:   Also correct umask when using mkdtemp().
2016-06-04 14:52:00 +02:00
Bram Moolenaar
76b6dfe54b patch 7.4.1888
Problem:    Wrong computation of remaining wait time in RealWaitForChar()
Solution:   Remember the original waiting time.
2016-06-04 14:37:22 +02:00
Bram Moolenaar
e30a3d01dc patch 7.4.1887
Problem:    When receiving channel data 'updatetime' is not respected.
Solution:   Recompute the waiting time after being interrupted.
2016-06-04 14:11:20 +02:00
Bram Moolenaar
cda7764d8e patch 7.4.1886
Problem:    When waiting for a character is interrupted by receiving channel
            data and the first character of a mapping was typed, the mapping
            times out. (Ramel Eshed)
Solution:   When dealing with channel data don't return from mch_inchar().
2016-06-04 13:32:35 +02:00
Bram Moolenaar
1aa07bdead patch 7.4.1885
Problem:    MinGW console build defaults to not having +channel.
Solution:   Include the channel feature if building with huge features. (Ken
            Takata)
2016-06-03 19:43:16 +02:00
Bram Moolenaar
2f095a4bc4 patch 7.4.1884
Problem:    Updating marks in a quickfix list is very slow when the list is
            long.
Solution:   Only update marks if the buffer has a quickfix entry.
2016-06-03 19:05:49 +02:00
Bram Moolenaar
ea0345901c patch 7.4.1883
Problem:    Cppcheck found 2 incorrect printf formats.
Solution:   Use %ld and %lx. (Dominique Pelle)
2016-06-02 22:27:08 +02:00
Bram Moolenaar
b37662a0fb patch 7.4.1882
Problem:    Check for line break at end of line wrong. (Dominique Pelle)
Solution:   Correct the logic.
2016-06-02 22:18:47 +02:00
Bram Moolenaar
83e6d7ac6a patch 7.4.1881
Problem:    Appending to a long quickfix list is slow.
Solution:   Add qf_last.
2016-06-02 22:08:05 +02:00
Bram Moolenaar
76929af431 patch 7.4.1880
Problem:    MS-Windows console build defaults to not having +channel.
Solution:   Include the channel feature if building with huge features.
2016-06-02 20:26:41 +02:00
Bram Moolenaar
e38a2f7ebd patch 7.4.1879
Problem:    Channel test is flaky.
Solution:   Wait for close_cb to be invoked.
2016-06-02 20:07:09 +02:00
Bram Moolenaar
cf7c11a947 patch 7.4.1878
Problem:    Whether a job has exited isn't detected until a character is
            typed.  After calling exit_cb the cursor is in the wrong place.
Solution:   Don't wait forever for a character to be typed when there is a
            pending job.  Update the screen if neede after calling exit_cb.
2016-06-02 20:05:26 +02:00
Bram Moolenaar
01d46e41ba patch 7.4.1877
Problem:    No test for invoking "close_cb" when writing to a buffer.
Solution:   Add using close_cb to a test case.
2016-06-02 19:06:25 +02:00
Bram Moolenaar
a0055ad3a7 patch 7.4.1876
Problem:    Typing "k" at the hit-enter prompt has no effect.
Solution:   Don't assume recursive use of the prompt if a character was typed.
            (Hirohito Higashi)
2016-06-02 18:37:05 +02:00
Bram Moolenaar
8e759ba865 patch 7.4.1875
Problem:    Comparing functions and partials doesn't work well.
Solution:   Add tests. (Nikolai Pavlov)  Compare the dict and arguments in the
            partial. (closes #813)
2016-06-02 17:46:20 +02:00
Bram Moolenaar
ae3f33040b patch 7.4.1874
Problem:    Unused variable in Win32 code.
Solution:   Remove it. (Mike Williams)
2016-06-02 15:49:36 +02:00
Bram Moolenaar
4231da403e patch 7.4.1873
Problem:    When a callback adds a timer the GUI doesn't use it until later.
            (Ramel Eshed)
Solution:   Return early if a callback adds a timer.
2016-06-02 14:30:04 +02:00
Bram Moolenaar
c4bc0e6542 patch 7.4.1872
Problem:    Still build problem with old version of Perl.
Solution:   Also define SvREFCNT_inc_void_NN if needed. (Ken Takata)
2016-06-02 13:54:49 +02:00
Bram Moolenaar
864293abb7 patch 7.4.1871
Problem:    Appending to the quickfix list while the quickfix window is open
            is very slow.
Solution:   Do not delete all the lines, only append the new ones.  Avoid
            using a window while updating the list. (closes #841)
2016-06-02 13:40:04 +02:00
Bram Moolenaar
dec6c7beda patch 7.4.1870
Problem:    One more Win64 compiler warning.
Solution:   Change declared argument type. (Ken Takata)
2016-06-02 11:57:38 +02:00
Bram Moolenaar
cf190c6f01 patch 7.4.1869
Problem:    Can't build with old version of Perl.
Solution:   Define PERLIO_FUNCS_DECL. (Tom G. Christensen)
2016-06-02 11:54:06 +02:00
Bram Moolenaar
b89a25f17e patch 7.4.1868
Problem:    Setting really_exiting causes memory leaks to be reported.
Solution:   Add the in_free_all_mem flag.
2016-06-01 23:08:39 +02:00
Bram Moolenaar
3c809343c7 patch 7.4.1867
Problem:    Memory leak in test_matchstrpos.
Solution:   Free the string before overwriting. (Yegappan Lakshmanan)
2016-06-01 22:34:48 +02:00
Bram Moolenaar
a96732150c patch 7.4.1866
Problem:    Invalid memory access when exiting with EXITFREE defined.
            (Dominique Pelle)
Solution:   Set "really_exiting" and skip error messages.
2016-06-01 22:21:06 +02:00
Bram Moolenaar
9ad73239c2 patch 7.4.1865
Problem:    Memory leaks in tet49. (Dominique Pelle)
Solution:   Use NULL instead of an empty string.
2016-06-01 22:08:17 +02:00
Bram Moolenaar
22081f4a33 patch 7.4.1864
Problem:    Python: encoding error with Python 2.
Solution:   Use "getcwdu" instead of "getcwd". (Ken Takata)
2016-06-01 20:38:34 +02:00
Bram Moolenaar
9b0ac229bc patch 7.4.1863
Problem:    Compiler warnings on Win64.
Solution:   Adjust types, add type casts. (Ken Takata)
2016-06-01 20:31:43 +02:00
Bram Moolenaar
18dfb4404a patch 7.4.1862
Problem:    string() with repeated argument does not give a result usable by
            eval().
Solution:   Refactor echo_striong and tv2string(), moving the common part to
            echo_string_core(). (Ken Takata)
2016-05-31 22:31:23 +02:00
Bram Moolenaar
b055066a1d patch 7.4.1861
Problem:    Compiler warnings with 64 bit compiler.
Solution:   Change int to size_t. (Mike William)
2016-05-31 21:37:36 +02:00
Bram Moolenaar
e3188e2615 patch 7.4.1860
Problem:    Using a partial for timer_start() may cause a crash.
Solution:   Set the copyID in timer objects. (Ozaki Kiichi)
2016-05-31 21:13:04 +02:00
Bram Moolenaar
ef3abc6442 patch 7.4.1859
Problem:    Cannot use a function reference for "exit_cb".
Solution:   Use get_callback(). (Yegappan Lakshmanan)
2016-05-29 16:44:26 +02:00
Bram Moolenaar
b127cfd75f patch 7.4.1858
Problem:    When a channel writes to a buffer it doesn't find a buffer by the
            short name but re-uses it anyway.
Solution:   Find buffer also by the short name.
2016-05-29 16:24:50 +02:00
Bram Moolenaar
9f5842e63f patch 7.4.1857
Problem:    When a channel appends to a buffer that is 'nomodifiable' there is
            an error but appending is done anyway.
Solution:   Add the 'modifiable' option.  Refuse to write to a 'nomodifiable'
            when the value is 1.
2016-05-29 16:17:08 +02:00
Bram Moolenaar
324a78f3b6 patch 7.4.1856
Problem:    failing job test fails on MS-Windows.
Solution:   Expect "fail" status instead of "dead".
2016-05-28 22:47:12 +02:00
Bram Moolenaar
655da31a18 patch 7.4.1855
Problem:    Valgrind reports memory leak for job that is not freed.
Solution:   Free all jobs on exit.  Add test for failing job.
2016-05-28 22:22:34 +02:00
Bram Moolenaar
d80629cef0 patch 7.4.1854
Problem:    When setting 'termguicolors' the Ignore highlighting doesn't work.
            (Charles Campbell)
Solution:   Handle the color names "fg" and "bg" when the GUI isn't running
            and no colors are speficied, fall back to black and white.
2016-05-28 15:53:53 +02:00
Bram Moolenaar
28ae577342 patch 7.4.1853
Problem:    Crash when job and channel are in the same dict while using
            partials. (Luc Hermitte)
Solution:   Do not decrement the channel reference count too early.
2016-05-28 14:16:10 +02:00
Bram Moolenaar
af6c12c27b patch 7.4.1852
Problem:    Unix: Cannot run all tests with the GUI.
Solution:   Add the "testgui" target.
2016-05-28 13:40:10 +02:00
Bram Moolenaar
180fc2d418 patch 7.4.1851
Problem:    test_syn_attr failes when using the GUI. (Dominique Pelle)
Solution:   Escape the font name properly.
2016-05-28 13:28:10 +02:00
Bram Moolenaar
bf981eeb6b patch 7.4.1850
Problem:    GUI freezes when using a job. (Shougo)
Solution:   Unregister the channel when there is an input error.
2016-05-28 13:20:31 +02:00
Bram Moolenaar
5850a764ea patch 7.4.1849
Problem:    Still trying to read from channel that is going to be closed.
            (Ramel Eshed)
Solution:   Check if ch_to_be_closed is set.
2016-05-27 19:59:48 +02:00
Bram Moolenaar
6727bf8617 patch 7.4.1848
Problem:    Can't build with Strawberry Perl 5.24.
Solution:   Define S_SvREFCNT_dec() if needed. (Damien, Ken Takata)
2016-05-26 22:10:00 +02:00
Bram Moolenaar
13ddc5c359 patch 7.4.1847
Problem:    Getting an item from a NULL dict crashes.  Setting a register to a
            NULL list crashes. (Nikolai Pavlov, issue #768)  Comparing a NULL
            dict with a NULL dict fails.
Solution:   Properly check for NULL.
2016-05-25 22:51:17 +02:00
Bram Moolenaar
54c10ccf92 patch 7.4.1846
Problem:    Ubsan detects a multiplication overflow.
Solution:   Don't use orig_mouse_time when it's zero. (Dominique Pelle)
2016-05-25 22:00:11 +02:00
Bram Moolenaar
f8df45d84f patch 7.4.1845
Problem:    Mentioning NetBeans when reading from channel. (Ramel Eshed)
Solution:   Make the text more generic.
2016-05-25 21:48:13 +02:00
Bram Moolenaar
8e8df251bf patch 7.4.1844
Problem:    Using old function name in comment.  More functions should start
            with test_.
Solution:   Rename function in comment. (Higashi Higashi) Rename
            disable_char_avail_for_testing() to test_disable_char_avail().
            And alloc_fail() to test_alloc_fail().
2016-05-25 21:23:21 +02:00
Bram Moolenaar
2177f9fe18 patch 7.4.1843
Problem:    Tests involving Python are flaky.
Solution:   Set the pt_auto field.  Add tests. (Nikolai Pavlov)
2016-05-25 20:39:09 +02:00
Bram Moolenaar
03e19a04ac patch 7.4.1842
Problem:    get() works for Partial but not for Funcref.
Solution:   Accept Funcref.  Also return the function itself. (Nikolai Pavlov)
2016-05-24 22:29:49 +02:00
Bram Moolenaar
26852128a2 Update runtime files. 2016-05-24 20:02:38 +02:00
Bram Moolenaar
2b2b8ae5ab patch 7.4.1841
Problem:    The code to reallocate the buffer used for quickfix is repeated.
Solution:   Move the code to a function. (Yegappan Lakshmanan, closes #831)
2016-05-24 19:59:51 +02:00
Bram Moolenaar
a570244531 patch 7.4.1840
Problem:    When using packages an "after" directory cannot be used.
Solution:   Add the "after" directory of the package to 'runtimepath' if it
            exists.
2016-05-24 19:37:29 +02:00
Bram Moolenaar
2bbf8eff6f patch 7.4.1839
Problem:    Cannot get the items stored in a partial.
Solution:   Support using get() on a partial.
2016-05-24 18:37:12 +02:00
Bram Moolenaar
574860b5ee patch 7.4.1838
Problem:    Functions specifically for testing do not sort together.
Solution:   Rename garbagecollect_for_testing() to test_garbagecollect_now().
            Add test_null_list(), test_null_dict(), etc.
2016-05-24 17:33:34 +02:00
Bram Moolenaar
c67e892134 patch 7.4.1837
Problem:    The BufUnload event is triggered twice, when :bunload is used with
             set to  or .
Solution:   Do not trigger the event when ml_mfp is NULL. (Hirohito Higashi)
2016-05-24 16:07:40 +02:00
Bram Moolenaar
1d429610bf patch 7.4.1836
Problem:    When using a partial on a dictionary it always gets bound to that
            dictionary.
Solution:   Make a difference between binding a function to a dictionary
            explicitly or automatically.
2016-05-24 15:44:17 +02:00
Bram Moolenaar
991dea3ab1 patch 7.4.1835
Problem:    When splitting and closing a window the status height changes.
Solution:   Compute the frame height correctly. (Hirohito Higashi)
2016-05-24 11:31:32 +02:00
Bram Moolenaar
908be43879 patch 7.4.1834
Problem:    Possible crash when conceal is active.
Solution:   Check for the screen to be valid when redrawing a line.
2016-05-24 10:51:30 +02:00
Bram Moolenaar
2ff8b64679 patch 7.4.1833
Problem:    Cannot use an Ex command for 'keywordprg'.
Solution:   Accept an Ex command. (Nelo-Thara Wallus)
2016-05-24 10:46:45 +02:00
Bram Moolenaar
06d2d38ab7 Updated runtime files. 2016-05-20 17:24:11 +02:00
Bram Moolenaar
dc303bce10 patch 7.4.1832
Problem:    Memory leak in debug commands.
Solution:   Free memory before overwriting the pointer. (hint by Justin Keyes)
2016-05-17 17:45:38 +02:00
Bram Moolenaar
e40d75f6ef patch 7.4.1831
Problem:    When timer_stop() is called with a string there is no proper error
            message.
Solution:   Require getting a number. (Bjorn Linse)
2016-05-15 18:00:19 +02:00
Bram Moolenaar
73a733e08b patch 7.4.1830
Problem:    non-antialiased misnamed.
Solution:   Use NONANTIALIASED and NONANTIALIASED_QUALITY. (Kim Brouer,
            closes #793)
2016-05-11 21:05:05 +02:00
Bram Moolenaar
de7eb0a47b patch 7.4.1829
Problem:    No message on channel log when buffer was freed.
Solution:   Log a message.
2016-05-09 20:54:33 +02:00
Bram Moolenaar
e0f76d0097 patch 7.4.1828
Problem:    May try to access buffer that's already freed.
Solution:   When freeing a buffer remove it from any channel.
2016-05-09 20:38:53 +02:00
Bram Moolenaar
fb6ffc732e patch 7.4.1827
Problem:    No error when invoking a callback when it's not safe.
Solution:   Add an error message.  Avoid the error when freeing a channel.
2016-05-09 17:58:04 +02:00
Bram Moolenaar
cf7ff70ca7 patch 7.4.1826
Problem:    Callbacks are invoked when it's not safe. (Andrew Stewart)
Solution:   When a channel is to be closed don't invoke callbacks right away,
            wait for a safe moment.
2016-05-09 17:20:14 +02:00
Bram Moolenaar
5d96e3ae53 patch 7.4.1825
Problem:    When job writes to buffer nothing is written. (Nicola)
Solution:   Do not discard a channel before writing is done.
2016-05-08 21:47:01 +02:00
Bram Moolenaar
36e0f7da9b patch 7.4.1824
Problem:    When a job is no longer referenced and does not have an exit
            callback the process may hang around in defunc state. (Nicola)
Solution:   Call job_status() if the job is running and won't get freed
            because it might still be useful.
2016-05-08 13:21:12 +02:00
Bram Moolenaar
d9db8b448c patch 7.4.1823
Problem:    Warning from 64 bit compiler.
Solution:   Add type cast. (Mike Williams)
2016-05-08 12:52:05 +02:00
Bram Moolenaar
91c4937be1 Updated runtime files. 2016-05-08 09:50:29 +02:00
Bram Moolenaar
ea83bf06b9 patch 7.4.1822
Problem:    Redirecting stdout of a channel to "null" doesn't work. (Nicola)
Solution:   Correct the file descriptor number.
2016-05-08 09:40:51 +02:00
Bram Moolenaar
4ed6b2e2d7 patch 7.4.1821
Problem:    Test fails on MS-Windows.
Solution:   Sort the completion results.
2016-05-07 22:28:53 +02:00
Bram Moolenaar
9ccaae04c6 patch 7.4.1820
Problem:    Removing language from help tags too often.
Solution:   Only remove @en when not needed. (Hirohito Higashi)
2016-05-07 18:36:48 +02:00
Bram Moolenaar
827b165b2a patch 7.4.1819
Problem:    Compiler warnings when sprintf() is a macro.
Solution:   Don't interrupt sprintf() with an #ifdef. (Michael Jarvis,
            closes #788)
2016-05-05 18:14:03 +02:00
Bram Moolenaar
89c79b9932 patch 7.4.1818
Problem:    Help completion adds @en to all matches except the first one.
Solution:   Remove "break", go over all items.
2016-05-05 17:18:41 +02:00
Bram Moolenaar
cefe4f9948 patch 7.4.1817
Problem:    The screen is not updated if a callback is invoked when closing a
            channel.
Solution:   Invoke redraw_after_callback().
2016-05-04 21:49:19 +02:00
Bram Moolenaar
d8585eded6 patch 7.4.1816
Problem:    Looping over a null list throws an error.
Solution:   Skip over the for loop.
2016-05-01 23:05:53 +02:00
Bram Moolenaar
9a3b3311d2 patch 7.4.1815
Problem:    Compiler warnings for unused variables. (Ajit Thakkar)
Solution:   Add a dummy initialization. (Yasuhiro Matsumoto)
2016-05-01 20:20:49 +02:00
Bram Moolenaar
b8d4905592 patch 7.4.1814
Problem:    A channel may be garbage collected while it's still being used by
            a job. (James McCoy)
Solution:   Mark the channel as used if the job is still used.  Do the same
            for channels that are still used.
2016-05-01 14:22:16 +02:00
Bram Moolenaar
9b4ebc692d patch 7.4.1813
Problem:    Memory access error when running test_quickfix.
Solution:   Allocate one more byte. (Yegappan Lakshmanan)
2016-05-01 13:28:38 +02:00
Bram Moolenaar
187147aedd patch 7.4.1812
Problem:    Failure on startup with Athena and Motif.
Solution:   Check for INVALCOLOR. (Kazunobu Kuriyama)
2016-05-01 13:09:57 +02:00
Bram Moolenaar
3266c85a44 patch 7.4.1811
Problem:    Netbeans channel gets garbage collected.
Solution:   Set reference in nb_channel.
2016-04-30 18:07:05 +02:00
Bram Moolenaar
715d285d79 patch 7.4.1810
Problem:    Sending DETACH after a channel was closed isn't useful.
Solution:   Only add DETACH for a netbeans channel.
2016-04-30 17:06:31 +02:00
Bram Moolenaar
868cfc19bb patch 7.4.1809
Problem:    Using wrong short option name for 'termguicolors'.
Solution:   Use the option name.
2016-04-30 16:49:58 +02:00
Bram Moolenaar
8a24b794b8 patch 7.4.1808
Problem:    Using wrong feature name to check for 'termguicolors'.
Solution:   Use the right feature name. (Ken Takata)
2016-04-30 16:13:10 +02:00
Bram Moolenaar
d75263c020 patch 7.4.1807
Problem:    Test_out_close_cb sometimes fails.
Solution:   Always write DETACH to out, not err.
2016-04-30 16:07:23 +02:00
Bram Moolenaar
8e3d1b6326 patch 7.4.1806
Problem:    'termguicolors' option missing from the options window.
Solution:   Add the entry.
2016-04-30 15:17:19 +02:00
Bram Moolenaar
0648142700 Update runtime files. 2016-04-30 15:13:38 +02:00
Bram Moolenaar
4cc39a527f patch 7.4.1805
Problem:    Running tests in shadow dir fails.
Solution:   Link the samples directory
2016-04-30 15:08:27 +02:00
Bram Moolenaar
b20545f2a7 patch 7.4.1804
Problem:    Can't use Vim as MANPAGER.
Solution:   Add manpager.vim. (Enno Nagel, closes #491)
2016-04-30 14:15:54 +02:00
Bram Moolenaar
0b6cf69c03 patch 7.4.1803
Problem:    GTK3 doesn't handle menu separaters properly.
Solution:   Use gtk_separator_menu_item_new(). (Kazunobu Kuriyama)
2016-04-30 13:26:14 +02:00
Bram Moolenaar
6be8c8e165 patch 7.4.1802
Problem:    Quickfix doesn't handle long lines well, they are split.
Solution:   Drop characters after a limit. (Anton Lindqvist)
2016-04-30 13:17:09 +02:00
Bram Moolenaar
113ce08456 patch 7.4.1801
Problem:    Make uninstall leaves file behind.
Solution:   Delete rgb.txt. (Kazunobu Kuriyama)
2016-04-30 12:32:52 +02:00
Bram Moolenaar
631225627d patch 7.4.1800
Problem:    Unnecessary #ifdef.
Solution:   Just use USE_24BIT. (Ken Takata)
2016-04-30 12:28:15 +02:00
Bram Moolenaar
61be73bb0f patch 7.4.1799
Problem:    'guicolors' is a confusing option name.
Solution:   Use 'termguicolors' instead. (Hirohito Higashi)
2016-04-29 22:59:22 +02:00
Bram Moolenaar
bb82762907 patch 7.4.1798
Problem:    Still compiler warning for unused return value. (Charles Campbell)
Solution:   Assign to ignoredp.
2016-04-29 22:33:27 +02:00
Bram Moolenaar
c61348e83f patch 7.4.1797
Problem:    Warning from Windows 64 bit compiler.
Solution:   Change int to size_t. (Mike Williams)
2016-04-28 22:20:03 +02:00
Bram Moolenaar
283ee8b3a0 patch 7.4.1796
Problem:    Colors are wrong on MS-Windows. (Christian Robinson)
Solution:   Use existing RGB macro if it exists. (Ken Takata)
2016-04-27 20:36:31 +02:00
Bram Moolenaar
5487544fa5 patch 7.4.1795
Problem:    Compiler warning for redefining RGB. (John Marriott)
Solution:   Rename it to TORGB.
2016-04-26 22:33:17 +02:00
Bram Moolenaar
c285fe7c3f patch 7.4.1794
Problem:    Can't build on MS-Windows.
Solution:   Add missing declaration.
2016-04-26 21:51:48 +02:00
Bram Moolenaar
e8aee7dcf9 patch 7.4.1793
Problem:    Some character classes may differ between systems.  On OS/X the
            regexp test fails.
Solution:   Make this less dependent on the system. (idea by Kazunobu Kuriyama)
2016-04-26 21:39:13 +02:00
Bram Moolenaar
ab3022196e patch 7.4.1792
Problem:    Color name decoding is implemented several times.
Solution:   Move it to term.c. (Christian Brabandt)
2016-04-26 20:59:29 +02:00
Bram Moolenaar
674127e180 patch 7.4.1791
Problem:    Channel could be garbage collected too early.
Solution:   Don't free a channel or remove it from a job when it is still
            useful.
2016-04-26 20:30:07 +02:00
Bram Moolenaar
6231cb8b5b patch 7.4.1790
Problem:    Leading white space in a job command matters. (Andrew Stewart)
Solution:   Skip leading white space.
2016-04-26 19:42:42 +02:00
Bram Moolenaar
437905c25d patch 7.4.1789
Problem:    Cannot use ch_read() in the close callback.
Solution:   Do not discard the channel if there is readahead.  Do not discard
            readahead if there is a close callback.
2016-04-26 19:01:05 +02:00
Bram Moolenaar
c7baa43fdb patch 7.4.1788
Problem:    NSIS script is missing packages.
Solution:   Add the missing directories. (Ken Takata)
2016-04-26 17:34:44 +02:00
Bram Moolenaar
b2658a1ab0 patch 7.4.1787
Problem:    When a job ends the close callback is invoked before other
            callbacks. On Windows the close callback is not called.
Solution:   First invoke out/err callbacks before the close callback.
            Make the close callback work on Windows.
2016-04-26 17:16:24 +02:00
Bram Moolenaar
d10abe5201 patch 7.4.1786
Problem:    Compiled-in colors do not match rgb.txt.
Solution:   Use the rgb.txt colors. (Kazunobu Kuriyama)
2016-04-24 15:41:33 +02:00
Bram Moolenaar
490465bda6 patch 7.4.1785
Problem:    Regexp test fails on windows.
Solution:   set 'isprint' to the right value for testing.
2016-04-24 15:11:02 +02:00
Bram Moolenaar
8e9eb3a6a1 patch 7.4.1784
Problem:    The termtruecolor feature is enabled differently from many other
            features.
Solution:   Enable the termtruecolor feature for the big build, not through
            configure.
2016-04-24 15:00:11 +02:00
Bram Moolenaar
af98a49dd0 patch 7.4.1783
Problem:    The old regexp engine doesn't handle character classes correctly.
            (Manuel Ortega)
Solution:   Use regmbc() instead of regc().  Add a test.
2016-04-24 14:40:12 +02:00
Bram Moolenaar
fca6600305 patch 7.4.1782
Problem:    strcharpart() does not work properly with some multi-byte
            characters.
Solution:   Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
2016-04-23 15:30:09 +02:00
Bram Moolenaar
da5b3dcf06 patch 7.4.1781
Problem:    synIDattr() does not respect 'guicolors'.
Solution:   Change the conditition for the mode. (Christian Brabandt)
2016-04-23 15:19:02 +02:00
Bram Moolenaar
dc633cf827 patch 7.4.1780
Problem:    Warnings reported by cppcheck.
Solution:   Fix the warnings. (Dominique Pelle)
2016-04-23 14:33:19 +02:00
Bram Moolenaar
73dfe917ba patch 7.4.1779
Problem:    Using negative index in strcharpart(). (Yegappan Lakshmanan)
Solution:   Assume single byte when using a negative iindex.
2016-04-23 13:54:48 +02:00
Bram Moolenaar
b2fa54a840 patch 7.4.1778
Problem:    When using the term truecolor feature, the t_8f and t_8b termcap
            options are not set by default.
Solution:   Move the values to before BT_EXTRA_KEYS. (Christian Brabandt)
2016-04-22 21:11:09 +02:00
Bram Moolenaar
3849992b16 patch 7.4.1777
Problem:    Newly added features can escape the sandbox.
Solution:   Add checks for restricted and secure. (Yasuhiro Matsumoto)
2016-04-22 20:46:52 +02:00
Bram Moolenaar
a1c487eef7 patch 7.4.1776
Problem:    Using wrong buffer length.
Solution:   use the right name. (Kazunobu Kuriyama)
2016-04-22 20:20:19 +02:00
Bram Moolenaar
763b684373 patch 7.4.1775
Problem:    The rgb.txt file is not installed.
Solution:   Install the file. (Christian Brabandt)
2016-04-22 12:24:52 +02:00
Bram Moolenaar
902647d2df patch 7.4.1774
Problem:    Cterm true color feature has warnings.
Solution:   Add type casts.
2016-04-22 11:49:06 +02:00
Bram Moolenaar
380130f1e1 patch 7.4.1773
Problem:    Compiler warnings. (Dominique Pelle)
Solution:   Add UNUSED. Add type cast. Avoid a buffer overflow.
2016-04-22 11:24:43 +02:00
Bram Moolenaar
54a38415ca patch 7.4.1772
Problem:    Installation fails when $GTK_UPDATE_ICON_CACHE is empty.
Solution:   Add quotes. (Kazunobu Kuriyama)
2016-04-22 10:14:07 +02:00
Bram Moolenaar
21decdd3e6 patch 7.4.1771
Problem:    Warning for unused variable.
Solution:   Add #ifdef. (John Marriott)
2016-04-22 10:00:58 +02:00
Bram Moolenaar
8a633e3427 patch 7.4.1770
Problem:    Cannot use true color in the terminal.
Solution:   Add the 'guicolors' option. (Nikolai Pavlov)
2016-04-21 21:10:14 +02:00
Bram Moolenaar
6d4431e7b6 patch 7.4.1769
Problem:    No "closed", "errors" and "encoding" attribute on Python output.
Solution:   Add attributes and more tests. (Roland Puntaier, closes #622)
2016-04-21 20:00:56 +02:00
Bram Moolenaar
d106e5ba7f patch 7.4.1768
Problem:    Arguments of setqflist() are not checked properly.
Solution:   Add better checks, add a test. (Nikolai Pavlov, Hirohito Higashi,
            closes #661)
2016-04-21 19:38:07 +02:00
Bram Moolenaar
4adfaabfe7 patch 7.4.1767
Problem:    When installing Vim on a GTK system the icon cache is not updated.
Solution:   Update the GTK icon cache when possible. (Kazunobu Kuriyama)
2016-04-21 18:20:11 +02:00
Bram Moolenaar
0c1ff16b54 updated runtime files. Add avra syntax. 2016-04-21 18:01:28 +02:00
Bram Moolenaar
02cfac85b4 patch 7.4.1766
Problem:    Building instructions for MS-Windows are outdated.
Solution:   Mention setting SDK_INCLUDE_DIR. (Ben Franklin, closes #771)  Move
            outdated instructions further down.
2016-04-21 14:34:58 +02:00
Bram Moolenaar
4694a17d1e patch 7.4.1765
Problem:    Undo options are not together in the options window.
Solution:   Put them together.  (Gary Johnson)
2016-04-21 14:05:23 +02:00
Bram Moolenaar
ba53435144 patch 7.4.1763
Problem:    Coverity: useless assignment.
Solution:   Add #if 0.
2016-04-21 09:20:26 +02:00
Bram Moolenaar
268a06ce90 patch 7.4.1762
Problem:    Coverity: useless assignments.
Solution:   Remove them.
2016-04-21 09:07:01 +02:00
Bram Moolenaar
8ed43916db patch 7.4.1761
Problem:    Coverity complains about ignoring return value.
Solution:   Add "(void)" to get rid of the warning.
2016-04-21 08:56:12 +02:00
Bram Moolenaar
aa3b15dbeb Updated runtime files. 2016-04-21 08:53:19 +02:00
Bram Moolenaar
4445f7ee70 patch 7.4.1760
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef. (John Marriott)
2016-04-20 20:55:56 +02:00
Bram Moolenaar
40b1b5443c patch 7.4.1759
Problem:    When using feedkeys() in a timer the inserted characters are not
            used right away.
Solution:   Break the wait loop when characters have been added to typebuf.
            use this for testing CursorHoldI.
2016-04-20 20:18:23 +02:00
Bram Moolenaar
245c41070c patch 7.4.1758
Problem:    Triggering CursorHoldI when in CTRL-X mode causes problems.
Solution:   Do not trigger CursorHoldI in CTRL-X mode. Add "!" flag to
            feedkeys() (test with that didn't work though).
2016-04-20 17:37:41 +02:00
Bram Moolenaar
8e42ae5069 patch 7.4.1757
Problem:    When using complete() it may set 'modified' even though nothing
            was inserted.
Solution:   Use Down/Up instead of Next/Previous match. (Shougo, closes #745)
2016-04-20 16:39:19 +02:00
Bram Moolenaar
a6e4250142 patch 7.4.1756
Problem:    "dll" options are not expanded.
Solution:   Expand environment variables. (Ozaki Kiichi)
2016-04-20 16:19:52 +02:00
Bram Moolenaar
517ffbee0d patch 7.4.1755
Problem:    When using getreg() on a non-existing register a NULL list is
            returned. (Bjorn Linse)
Solution:   Allocate an empty list. Add a test.
2016-04-20 14:59:29 +02:00
Bram Moolenaar
c3691332f7 patch 7.4.1754
Problem:    When 'filetype' was set and reloading a buffer which does not
            cause it to be set, the syntax isn't loaded. (KillTheMule)
Solution:   Remember whether the FileType event was fired and fire it if not.
            (Anton Lindqvist, closes #747)
2016-04-20 12:49:49 +02:00
Bram Moolenaar
c020042083 patch 7.4.1753
Problem:    "noinsert" in 'completeopt' is sometimes ignored.
Solution:   Set the variables when the 'completeopt' was set. (Ozaki Kiichi)
2016-04-20 12:02:02 +02:00
Bram Moolenaar
8d8aa0a367 Add missing test file. 2016-04-18 20:21:12 +02:00
Bram Moolenaar
c1808d5822 patch 7.4.1752
Problem:    When adding to the quickfix list the current position is reset.
Solution:   Do not reset the position when not needed. (Yegappan Lakshmanan)
2016-04-18 20:04:00 +02:00
Bram Moolenaar
def5abe0a2 patch 7.4.1751
Problem:    Crash when 'tagstack' is off. (Dominique Pelle)
Solution:   Fix it. (Hirohito Higashi)
2016-04-18 19:46:15 +02:00
Bram Moolenaar
7f7c3325d3 patch 7.4.1750
Problem:    When a buffer gets updated while in command line mode, the screen
            may be messed up.
Solution:   Postpone the redraw when the screen is scrolled.
2016-04-18 19:27:24 +02:00
Bram Moolenaar
30e12d259e patch 7.4.1749
Problem:    When using GTK 3.20 there are a few warnings.
Solution:   Use new functions when available. (Kazunobu Kuriyama)
2016-04-17 20:49:53 +02:00
Bram Moolenaar
f9660b59b2 Add missing test file. 2016-04-16 22:19:15 +02:00
Bram Moolenaar
1538fc34fa patch 7.4.1748
Problem:    "gD" does not find match in first column of first line. (Gary
            Johnson)
Solution:   Accept match at the cursor.
2016-04-16 09:13:34 +02:00
Bram Moolenaar
fe4b186406 patch 7.4.1747
Problem:    Coverity: missing check for NULL pointer.
Solution:   Check for out of memory.
2016-04-15 21:47:54 +02:00
Bram Moolenaar
95509e18f8 patch 7.4.1746
Problem:    Memory leak in Perl.
Solution:   Decrement the reference count.  Add a test. (Damien)
2016-04-15 21:16:11 +02:00
Bram Moolenaar
5d98c9d932 patch 7.4.1745
Problem:    README file is not clear about where to get Vim.
Solution:   Add links to github, releases and the Windows installer.
            (Suggested by Christian Brabandt)
2016-04-15 20:54:52 +02:00
Bram Moolenaar
6621004289 patch 7.4.1744
Problem:    Python: Converting a sequence may leak memory.
Solution:   Decrement a reference. (Nikolay Pavlov)
2016-04-15 20:40:41 +02:00
Bram Moolenaar
75be2339d8 patch 7.4.1743
Problem:    Clang warns for uninitialzed variable. (Michael Jarvis)
Solution:   Initialize it.
2016-04-14 23:10:40 +02:00
Bram Moolenaar
5d18e0eca5 patch 7.4.1742
Problem:    strgetchar() does not work correctly.
Solution:   use mb_cptr2len().  Add a test. (Naruhiko Nishino)
2016-04-14 22:54:24 +02:00
Bram Moolenaar
b22bd46b96 patch 7.4.1741
Problem:    Not testing utf-8 characters.
Solution:   Move the right asserts to the test_expr_utf8 test.
2016-04-14 22:52:50 +02:00
Bram Moolenaar
4d58502202 patch 7.4.1740
Problem:    syn-cchar defined with matchadd() does not appear if there are no
            other syntax definitions which matches buffer text.
Solution:   Check for startcol. (Ozaki Kiichi, haya14busa, closes #757)
2016-04-14 19:50:22 +02:00
Bram Moolenaar
bea1ede1c5 patch 7.4.1739
Problem:    Messages test fails on MS-Windows.
Solution:   Adjust the asserts.  Skip the "messages maintainer" line if not
            showing all messages.
2016-04-14 19:44:36 +02:00
Bram Moolenaar
5d91646599 patch 7.4.1738
Problem:    Count for ":messages" depends on number of lines.
Solution:   Add ADDR_OTHER address type.
2016-04-14 18:42:47 +02:00
Bram Moolenaar
52196b2dbe patch 7.4.1737
Problem:    Argument marked as unused is used.
Solution:   Remove UNUSED.
2016-04-14 17:52:41 +02:00
Bram Moolenaar
baa9fcaf40 patch 7.4.1736
Problem:    Unused variable.
Solution:   Remove it. (Yasuhiro Matsumoto)
2016-04-14 17:40:56 +02:00
Bram Moolenaar
451f849fd6 patch 7.4.1735
Problem:    It is not possible to only see part of the message history.  It is
            not possible to clear messages.
Solution:   Add a count to ":messages" and a clear argument. (Yasuhiro
            Matsumoto)
2016-04-14 17:16:22 +02:00
Bram Moolenaar
0f518a8f4d patch 7.4.1734
Problem:    Test fails when not using utf-8.
Solution:   Split test in regularand utf-8 part.
2016-04-14 16:57:10 +02:00
Bram Moolenaar
839e954aaa patch 7.4.1733
Problem:    "make install" doesn't know about cross-compiling. (Christian
            Neukirchen)
Solution:   Add CROSS_COMPILING. (closes #740)
2016-04-14 16:46:02 +02:00
Bram Moolenaar
429fcfbf9a patch 7.4.1732
Problem:    Folds may close when using autocomplete. (Anmol Sethi)
Solution:   Increment/decrement disable_fold. (Christian Brabandt, closes
            #643)
2016-04-14 16:22:04 +02:00
Bram Moolenaar
8110a091bc patch 7.4.1731
Problem:    Python: turns partial into simple funcref.
Solution:   Use partials like partials. (Nikolai Pavlov, closes #734)
2016-04-14 15:56:09 +02:00
Bram Moolenaar
58de0e2dcc patch 7.4.1730
Problem:    It is not easy to get a character out of a string.
Solution:   Add strgetchar() and strcharpart().
2016-04-14 15:13:46 +02:00
Bram Moolenaar
6244a0fc29 patch 7.4.1729
Problem:    The Perl interface cannot use 'print' operator for writing
            directly in standard IO.
Solution:   Add a minimal implementation of PerlIO Layer feature and try to
            use it for STDOUT/STDERR. (Damien)
2016-04-14 14:09:25 +02:00
Bram Moolenaar
81edd171a9 patch 7.4.1728
Problem:    The help for functions require a space after the "(".
Solution:   Make CTRL-] on a function name ignore the arguments. (Hirohito
            Higashi)
2016-04-14 13:51:37 +02:00
Bram Moolenaar
ebf7dfa6f1 patch 7.4.1727
Problem:    Cannot detect a crash in tests when caused by garbagecollect().
Solution:   Add garbagecollect_for_testing().  Do not free a job if is still
            useful.
2016-04-14 12:46:51 +02:00
Bram Moolenaar
700eefe5a4 patch 7.4.1726
Problem:    ANSI compiler complains about string length.
Solution:   Split long string in two parts. (Michael Jarvis)
2016-04-13 21:14:37 +02:00
Bram Moolenaar
3780bb923a patch 7.4.1725
Problem:    Compiler errors for non-ANSI compilers.
Solution:   Remove // comment.  Remove comma at end of enum. (Michael Jarvis)
2016-04-12 22:18:53 +02:00
Bram Moolenaar
03413f4416 Updated runtime files. 2016-04-12 21:07:15 +02:00
Bram Moolenaar
73cd8fb3e8 patch 7.4.1724
Problem:    Tabline test fails in GUI.
Solution:   Remove 'e' from 'guioptions'.
2016-04-11 22:49:03 +02:00
Bram Moolenaar
f73d3bc253 patch 7.4.1723
Problem:    When using try/catch in 'tabline' it is still considered an
            error and the tabline will be disabled.
Solution:   Check did_emsg instead of called_emsg. (haya14busa, closes #746)
2016-04-11 21:55:15 +02:00
Bram Moolenaar
0239acb11f patch 7.4.1722
Problem:    Crash when calling garbagecollect() after starting a job.
Solution:   Set the copyID on job and channel. (Hirohito Higashi, Ozaki
            Kiichi)
2016-04-11 21:02:54 +02:00
Bram Moolenaar
939a1abe93 Updated runtime files. 2016-04-10 01:31:25 +02:00
Bram Moolenaar
a4d13de836 patch 7.4.1721
Problem:    The vimtbar files are unused.
Solution:   Remove them. (Ken Takata)
2016-04-08 22:17:04 +02:00
Bram Moolenaar
9e4043757c patch 7.4.1720
Problem:    Tests fail without the job feature.
Solution:   Skip tests when the job feature is not present.
2016-04-08 17:25:19 +02:00
Bram Moolenaar
107e1eef1d patch 7.4.1719
Problem:    Leaking memory when there is a cycle involving a job and a
            partial.
Solution:   Add a copyID to job and channel.  Set references in items referred
            by them.  Go through all jobs and channels to find unreferenced
            items.  Also, decrement reference counts when garbage collecting.
2016-04-08 17:07:19 +02:00
Bram Moolenaar
d56374e25d patch 7.4.1718
Problem:    Coverity: not using return value of set_ref_in_item().
Solution:   Use the return value.
2016-04-07 22:16:30 +02:00
Bram Moolenaar
0e4c1de556 patch 7.4.1717
Problem:    Leaking memory when opening a channel fails.
Solution:   Unreference partials in job options.
2016-04-07 21:40:38 +02:00
Bram Moolenaar
baec5c1768 patch 7.4.1716
Problem:    'autochdir' doesn't work for the first file. (Rob Hoelz)
Solution:   Call DO_AUTOCHDIR after startup. (Christian Brabandt, closes #704)
2016-04-06 23:06:23 +02:00
Bram Moolenaar
ddecc25947 patch 7.4.1715
Problem:    Double free when a partial is in a cycle with a list or dict.
            (Nikolai Pavlov)
Solution:   Do not free a nested list or dict used by the partial.
2016-04-06 22:59:37 +02:00
Bram Moolenaar
54f1b7abf8 patch 7.4.1714
Problem:    Non-GUI specific settings in the gvimrc_example file.
Solution:   Move some settings to the vimrc_example file.  Remove setting
            'hlsearch' again. (suggested by Hirohito Higashi)
2016-04-05 22:07:04 +02:00
Bram Moolenaar
f80663f17b patch 7.4.1713
Problem:    GTK GUI doesn't work on Wayland.
Solution:   Specify that only the X11 backend is allowed. (Simon McVittie)
2016-04-05 21:56:06 +02:00
Bram Moolenaar
49b2732644 patch 7.4.1712
Problem:    For plugins in packages, plugin authors need to take care of all
            dependencies.
Solution:   When loading "start" packages and for :packloadall, first add all
            directories to 'runtimepath' before sourcing plugins.
2016-04-05 21:13:00 +02:00
Bram Moolenaar
a742e084b6 patch 7.4.1711
Problem:    When using try/catch in 'statusline' it is still considered an
            error and the status line will be disabled.
Solution:   Check did_emsg instead of called_emsg. (haya14busa, closes #729)
2016-04-05 21:10:38 +02:00
Bram Moolenaar
17fe5e1aec patch 7.4.1710
Problem:    Not all output of an external command is read.
Solution:   Avoid timing out when the process has exited. (closes #681)
2016-04-04 22:03:08 +02:00
Bram Moolenaar
4c9ce053d9 patch 7.4.1709
Problem:    Mistake in #ifdef.
Solution:   Change PROOF_QUALITY to DRAFT_QUALITY. (Ken Takata)
2016-04-04 21:06:19 +02:00
Bram Moolenaar
2a6fa564a3 patch 7.4.1708
Problem:    New regexp engine does not work properly with EBCDIC.
Solution:   Define equivalence class characters. (Owen Leibman)
2016-04-04 20:55:59 +02:00
Bram Moolenaar
0921ecff1c patch 7.4.1707
Problem:    Cannot use empty dictionary key, even though it can be useful.
Solution:   Allow using an empty dictionary key.
2016-04-03 22:44:36 +02:00
Bram Moolenaar
e185c1efba patch 7.4.1706
Problem:    Old style function declaration breaks build.
Solution:   Remove __ARGS().
2016-04-03 22:22:30 +02:00
Bram Moolenaar
7c1c6dbb68 patch 7.4.1705
Problem:    The 'guifont' option does not allow for a quality setting.
Solution:   Add the "q" item, supported on MS-Windows. (Yasuhiro Matsumoto)
2016-04-03 22:08:05 +02:00
Bram Moolenaar
3dda7db4e1 patch 7.4.1704
Problem:    Using freed memory with "wincmd p". (Dominique Pelle)
Solution:   Also clear "prevwin" in other tab pages.
2016-04-03 21:22:58 +02:00
Bram Moolenaar
b50e5f5686 patch 7.4.1703
Problem:    Can't assert for not equal and not matching.
Solution:   Add assert_notmatch() and assert_notequal().
2016-04-03 20:57:20 +02:00
Bram Moolenaar
4afc7c5d4a patch 7.4.1702
Problem:    Using freed memory when parsing 'printoptions' fails.
Solution:   Save the old options and restore them in case of an error.
            (Dominique)
2016-04-03 14:56:52 +02:00
Bram Moolenaar
f9f22dbe4f patch 7.4.1701
Problem:    Equivalence classes still tested in old style tests.
Solution:   Remove the duplicate.
2016-04-03 14:09:59 +02:00
Bram Moolenaar
22e421549d patch 7.4.1700
Problem:    Equivalence classes are not properly tested.
Solution:   Add tests for multi-byte and latin1. Fix an error. (Owen Leibman)
2016-04-03 14:02:02 +02:00
Bram Moolenaar
71fb0c146b patch 7.4.1699
Problem:    :packadd does not work the same when used early or late.
Solution:   Always load plugins matching "plugin/**/*.vim".
2016-04-02 22:44:16 +02:00
Bram Moolenaar
298c65971e patch 7.4.1698
Problem:    Two tests fail when running tests with MinGW. (Michael Soyka)
Solution:   Convert test_getcwd.ok test_wordcount.ok to unix fileformat.
2016-04-02 22:24:20 +02:00
Bram Moolenaar
cb0700844c patch 7.4.1697
Problem:    Display problems when the 'ambiwidth' and 'emoji' options are not
            set properly or the terminal doesn't behave as expected.
Solution:   After drawing an ambiguous width character always position the
            cursor.
2016-04-02 22:14:51 +02:00
Bram Moolenaar
fd773e9e88 patch 7.4.1696
Problem:    When using :stopinsert in a silent mapping the "INSERT" message
            isn't cleared. (Coacher)
Solution:   Always clear the message. (Christian Brabandt, closes #718)
2016-04-02 19:39:16 +02:00
Bram Moolenaar
8bc189e81a patch 7.4.1695
Problem:    ":syn reset" clears the effect ":syn iskeyword". (James McCoy)
Solution:   Remove clearing the syntax keywords.
2016-04-02 19:01:58 +02:00
Bram Moolenaar
f28d871465 patch 7.4.1694
Problem:    Win32 gvim doesn't work with "dvorakj" input method.
Solution:   Wait for QS_ALLINPUT instead of QS_ALLEVENTS. (Yukihiro Nakadaira)
2016-04-02 15:59:40 +02:00
Bram Moolenaar
8e77bad3c1 Add json_test to gitignore (Hirohito Higashi) 2016-04-02 15:32:45 +02:00
Bram Moolenaar
864733ad92 patch 7.4.1693
Problem:    Building the Perl interface gives compiler warnings.
Solution:   Remove a pragma. Add noreturn attributes. (Damien)
2016-04-02 14:18:01 +02:00
Bram Moolenaar
9bd547aca4 patch 7.4.1692
Problem:    feedkeys('i', 'x') gets stuck, waits for a character to be typed.
Solution:   Behave like ":normal". (Yasuhiro Matsumoto)
2016-04-01 21:00:48 +02:00
Bram Moolenaar
b681be175b patch 7.4.1691
Problem:    When switching to a new buffer and an autocommand applies syntax
            highlighting an ml_get error may occur.
Solution:   Check "syn_buf" against the buffer in the window. (Alexander von
            Buddenbrock, closes #676)
2016-03-31 23:02:16 +02:00
Bram Moolenaar
42356150ba patch 7.4.1690
Problem:    Can't compile with the conceal feature but without multi-byte.
Solution:   Adjust #ifdef. (Owen Leibman)
2016-03-31 22:27:40 +02:00
Bram Moolenaar
758535a1df patch 7.4.1689
Problem:    Ruby interface has inconsistent coding style.
Solution:   Fix the coding style. (Ken Takata)
2016-03-30 22:06:16 +02:00
Bram Moolenaar
67c2c058ea patch 7.4.1688
Problem:    MzScheme does not support partial.
Solution:   Add minimal partial support. (Ken Takata)
2016-03-30 22:03:02 +02:00
Bram Moolenaar
bdf0bda968 patch 7.4.1687
Problem:    The channel close_cb option does not work.
Solution:   Use jo_close_partial instead of jo_err_partial. (Damien)
2016-03-30 21:06:57 +02:00
Bram Moolenaar
e9c0727003 patch 7.4.1686
Problem:    When running tests $HOME/.viminfo is written. (James McCoy)
Solution:   Add 'nviminfo' to the 'viminfo' option. (closes #722)
2016-03-30 20:50:46 +02:00
Bram Moolenaar
7db8f6f4f8 Updated runtime files. 2016-03-29 23:12:46 +02:00
Bram Moolenaar
7fed5c18f8 patch 7.4.1685
Problem:    There is no easy way to get all the information about a match.
Solution:   Add matchstrpos(). (Ozaki Kiichi)
2016-03-29 23:10:31 +02:00
Bram Moolenaar
d18cfb7dbf patch 7.4.1684
Problem:    README text is slightly outdated.
Solution:   Mention the READMEdir directory.
2016-03-29 22:29:18 +02:00
Bram Moolenaar
e609ad557c patch 7.4.1683
Problem:    Generated .bat files do not support --nofork.
Solution:   Add check for --nofork.  Also add "setlocal". (Kevin Cantú,
            closes #659)
2016-03-28 23:05:48 +02:00
Bram Moolenaar
72188e9aae patch 7.4.1682
Problem:    Coverity: no check for NULL.
Solution:   Add check for invalid argument to assert_match().
2016-03-28 22:48:29 +02:00
Bram Moolenaar
ef9d9b94a8 patch 7.4.1681
Problem:    Coverity warns for fixed size buffer length (false positive).
Solution:   Add a check for the name length.
2016-03-28 22:44:50 +02:00
Bram Moolenaar
925ccfde79 patch 7.4.1680
Problem:    Coverity warns for not checking name length (false positive).
Solution:   Only copy the characters we know are there.
2016-03-28 22:38:02 +02:00
Bram Moolenaar
7d2a5796d3 patch 7.4.1679
Problem:    Coverity: copying value of v_lock without initializing it.
Solution:   Init v_lock in rettv_list_alloc() and rettv_dict_alloc().
2016-03-28 22:30:50 +02:00
Bram Moolenaar
8b29aba019 patch 7.4.1678
Problem:    Warning for unused argument.
Solution:   Add UNUSED. (Dominique Pelle)
2016-03-28 22:17:16 +02:00
Bram Moolenaar
0b9e4d1224 patch 7.4.1677
Problem:    A reference to the removed file_select plugin remains.
Solution:   Remove it.
2016-03-28 22:05:47 +02:00
Bram Moolenaar
fead3ac9a3 patch 7.4.1676
Problem:    The shellmenu plugin has to be copied or sourced to be used.
Solution:   Turn it into a package.
2016-03-28 21:26:47 +02:00
Bram Moolenaar
e101204906 patch 7.4.1675
Problem:    The swapmous plugin has to be copied or sourced to be used.
Solution:   Turn it into the swapmouse package.
2016-03-28 21:10:49 +02:00
Bram Moolenaar
cf2d8dee51 patch 7.4.1674
Problem:    The editexisting plugin has to be copied or sourced to be used.
Solution:   Turn it into a package.
2016-03-28 21:04:37 +02:00
Bram Moolenaar
2946d0236d patch 7.4.1673
Problem:    The justify plugin has to be copied or sourced to be used.
Solution:   Turn it into a package.
2016-03-28 20:53:08 +02:00
Bram Moolenaar
e934e8f5c1 patch 7.4.1672
Problem:    The Dvorak support is a bit difficult to install.
Solution:   Turn it into an optional package.
2016-03-28 20:40:32 +02:00
Bram Moolenaar
61264d9969 patch 7.4.1671
Problem:    When help exists in multiple languages, adding @ab while "ab" is
            the default help language is unnecessary.
Solution:   Leave out "@ab" when not needed. (Ken Takata)
2016-03-28 19:59:02 +02:00
Bram Moolenaar
a32095fc8f patch 7.4.1670
Problem:    Completion doesn't work well for a variable containing "#".
Solution:   Recognize the "#". (Watiko)
2016-03-28 19:27:13 +02:00
Bram Moolenaar
8b877ac38e patch 7.4.1669
Problem:    When writing buffer lines to a pipe Vim may block.
Solution:   Avoid blocking, write more lines later.
2016-03-28 19:16:20 +02:00
Bram Moolenaar
ee1f7b3cb7 patch 7.4.1668
Problem:    channel_get_all() does multiple allocations.
Solution:   Compute the size and allocate once.
2016-03-28 14:42:14 +02:00
Bram Moolenaar
84e1d2b21a patch 7.4.1667
Problem:    Win32: waiting on a pipe with fixed sleep time.
Solution:   Start with a short delay and increase it when looping.
2016-03-28 14:20:41 +02:00
Bram Moolenaar
46c00a6565 patch 7.4.1666
Problem:    When reading JSON from a channel all readahead is used.
Solution:   Use the fill function to reduce overhead.
2016-03-28 14:11:42 +02:00
Bram Moolenaar
8038568722 patch 7.4.1665
Problem:    Crash when calling job_start() with a NULL string. (Dominique)
Solution:   Check for an invalid argument.
2016-03-27 19:13:35 +02:00
Bram Moolenaar
89c64d557d patch 7.4.1664
Problem:    Crash in :cgetexpr.
Solution:   Check for NULL pointer. (Dominique) Add a test.
2016-03-27 18:44:40 +02:00
Bram Moolenaar
ea6553bec3 patch 7.4.1663
Problem:    In tests it's often useful to check if a pattern matches.
Solution:   Add assert_match().
2016-03-27 15:13:38 +02:00
Bram Moolenaar
4f3f668c84 Updated runtime files. 2016-03-26 23:01:59 +01:00
Bram Moolenaar
c4dcd60c76 patch 7.4.1662
Problem:    No test for an invalid Ex command on a channel.
Solution:   Test handling an invalid command gracefully.  Avoid getting an
            error message, do write it to the channel log.
2016-03-26 22:56:46 +01:00
Bram Moolenaar
fa8b2e173d patch 7.4.1661
Problem:    No test for special characters in channel eval command.
Solution:   Testing sending and receiving text with special characters.
2016-03-26 22:19:27 +01:00
Bram Moolenaar
819821c5a9 patch 7.4.1660
Problem:    has('patch-7.4.1') doesn't work.
Solution:   Fix off-by-one error. (Thinca)
2016-03-26 21:24:14 +01:00
Bram Moolenaar
e1581307d2 patch 7.4.1659
Problem:    Compiler warning for argument type. (Manuel Ortega)
Solution:   Remove "&".
2016-03-26 21:04:48 +01:00
Bram Moolenaar
1473551a44 patch 7.4.1658
Problem:    A plugin does not know when VimEnter autocommands were already
            triggered.
Solution:   Add the v:vim_did_enter variable.
2016-03-26 21:00:08 +01:00
Bram Moolenaar
8fdd721047 patch 7.4.1657
Problem:    On Unix in a terminal: channel messages are not handled right away.
            (Jackson Alves de Aquino)
Solution:   Break the loop for timers when something was received.
2016-03-26 19:41:48 +01:00
Bram Moolenaar
92e35efaf6 patch 7.4.1656
Problem:    Crash when using partial with a timer.
Solution:   Increment partial reference count. (Hirohito Higashi)
2016-03-26 18:20:41 +01:00
Bram Moolenaar
1e7885abe8 patch 7.4.1655
Problem:    remote_expr() hangs. (Ramel)
Solution:   Check for messages in the waiting loop.
2016-03-25 19:03:03 +01:00
Bram Moolenaar
52c6eaffd4 patch 7.4.1654
Problem:    Crash when using expand('%:S') in a buffer without a name.
Solution:   Don't set a NUL. (James McCoy, closes #714)
2016-03-25 18:42:46 +01:00
Bram Moolenaar
da64ab322a patch 7.4.1653
Problem:    Users who loaded matchit.vim manually have to change their
            startup. (Gary Johnson)
Solution:   Add a file in the old location that loads the package.
2016-03-25 18:35:01 +01:00
Bram Moolenaar
610cc1b9b3 patch 7.4.1652
Problem:    Old style test for fnamemodify().
Solution:   Turn it into a new style test.
2016-03-25 17:55:42 +01:00
Bram Moolenaar
780d4c3fff patch 7.4.1651
Problem:    Some dead (MSDOS) code remains.
Solution:   Remove the unused lines. (Ken Takata)
2016-03-25 17:21:19 +01:00
Bram Moolenaar
f68f1d7079 patch 7.4.1650
Problem:    Quickfix test fails.
Solution:   Accept any number of matches.
2016-03-25 17:14:06 +01:00
Bram Moolenaar
aedfcbe1e6 patch 7.4.1649
Problem:    The matchit plugin needs to be copied to be used.
Solution:   Put the matchit plugin in an optional package.
2016-03-25 17:02:51 +01:00
Bram Moolenaar
bee6c0cf86 patch 7.4.1648
Problem:    Compiler has a problem copying a string into di_key[]. (Yegappan
            Lakshmanan)
Solution:   Add dictitem16_T.
2016-03-25 15:40:50 +01:00
Bram Moolenaar
8b20179c65 patch 7.4.1647
Problem:    Using freed memory after setqflist() and ":caddbuffer".  (Dominique)
Solution:   Set qf_ptr when adding the first item to the quickfix list.
2016-03-25 15:01:10 +01:00
Bram Moolenaar
4c90861e9f patch 7.4.1646
Problem:    Using Python vim.bindeval() on a partial doesn't work. (Nikolai
            Pavlov)
Solution:   Add VAR_PARTIAL support in Python.
2016-03-24 21:58:12 +01:00
Bram Moolenaar
c5fbe8af4c patch 7.4.1645
Problem:    When a dict contains a partial it can't be redefined as a
            function. (Nikolai Pavlov)
Solution:   Remove the partial when overwriting with a function.
2016-03-24 21:42:09 +01:00
Bram Moolenaar
24c77a1e3a patch 7.4.1644
Problem:    Using string() on a partial that exists in the dictionary it binds
            results in an error. (Nikolai Pavlov)
Solution:   Make string() not fail on a recursively nested structure. (Ken
            Takta)
2016-03-24 21:23:06 +01:00
Bram Moolenaar
d4caf5c16a patch 7.4.1643
Problem:    Terminating file name has side effects.
Solution:   Restore the character. (mostly by James McCoy, closes #713)
2016-03-24 19:14:35 +01:00
Bram Moolenaar
6a08454b93 patch 7.4.1642
Problem:    Handling emoji characters as full width has problems with
            backwards compatibility.
Solution:   Only put characters in the 1f000 range in the emoji table.
2016-03-24 18:24:58 +01:00
Bram Moolenaar
5ca84ce4aa patch 7.4.1641
Problem:    Using unterminated string.
Solution:   Add NUL before calling vim_strsave_shellescape(). (James McCoy)
2016-03-23 22:28:25 +01:00
Bram Moolenaar
ffec3c5349 patch 7.4.1640
Problem:    Crash when an autocommand changes a quickfix list. (Dominique)
Solution:   Check wether an entry is still valid. (Yegappan Lakshmanan,
            Hirohito Higashi)
2016-03-23 20:55:42 +01:00
Bram Moolenaar
5f436fcf99 patch 7.4.1639
Problem:    Invoking garbage collection may cause a double free.
Solution:   Don't free the dict in a partial when recursive is FALSE.
2016-03-22 22:34:03 +01:00
Bram Moolenaar
e4eb6ff089 patch 7.4.1638
Problem:    When binding a function to a dict the reference count is wrong.
Solution:   Decrement dict reference count, only reference the function when
            actually making a copy. (Ken Takata)
2016-03-22 21:00:09 +01:00
Bram Moolenaar
6c0e984f26 patch 7.4.1637
Problem:    Can't build with older MinGW compiler.
Solution:   Change option from c++11 to gnu++11. (Ken Takata)
2016-03-22 20:42:31 +01:00
Bram Moolenaar
6135d0d803 patch 7.4.1636
Problem:    When 'F' is in 'shortmess' the prompt for the encryption key isn't
            displayed. (Toothpik)
Solution:   Reset msg_silent.
2016-03-22 20:31:13 +01:00
Bram Moolenaar
6a06363861 patch 7.4.1635
Problem:    Channel test is a bit flaky.
Solution:   Remove 'DETACH' if it's there.
2016-03-21 23:18:54 +01:00
Bram Moolenaar
8e08125d3a patch 7.4.1634
Problem:    Vertical movement after CTRL-A ends up in the wrong column.
            (Urtica Dioica)
Solution:   Set curswant when appropriate. (Hirohito Higashi)
2016-03-21 23:13:32 +01:00
Bram Moolenaar
b763eba7ae patch 7.4.1633
Problem:    If the help tags file was removed "make install" fails. (Tony
            Mechelynck)
Solution:   Only try moving the file if it exists.
2016-03-21 22:40:03 +01:00
Bram Moolenaar
6098957458 patch 7.4.1632
Problem:    List of test targets is outdated.
Solution:   Update to current list of test targets.
2016-03-21 22:38:34 +01:00
Bram Moolenaar
573e445664 patch 7.4.1631
Problem:    Compiler doesn't understand switch on all enum values. (Tony
            Mechelynck)
Solution:   Initialize variable.
2016-03-21 22:35:10 +01:00
Bram Moolenaar
d63aff0a65 patch 7.4.1630
Problem:    Unicode table for double width is outdated.
Solution:   Update to the latest Unicode standard.
2016-03-21 22:15:30 +01:00
Bram Moolenaar
b86f10ee10 patch 7.4.1629
Problem:    Handling emoji characters as full width has problems with
            backwards compatibility.
Solution:   Remove ambiguous and double width characters from the emoji table.
            Use a separate table for the character class.
            (partly by Yasuhiro Matsumoto)
2016-03-21 22:09:44 +01:00
Bram Moolenaar
3f3fbd3fdb patch 7.4.1628
Problem:    64-bit Compiler warning.
Solution:   Change type of variable. (Mike Williams)
2016-03-21 12:36:28 +01:00
Bram Moolenaar
75f7265dd4 patch 7.4.1627
Problem:    Channel out_cb and err_cb are not tested.
Solution:   Add a test.
2016-03-20 22:16:56 +01:00
Bram Moolenaar
580984e026 patch 7.4.1626
Problem:    Missing changes to structs.
Solution:   Include the changes.
2016-03-20 21:17:13 +01:00
Bram Moolenaar
e18c0b3981 Updated runtime files. 2016-03-20 21:08:34 +01:00
Bram Moolenaar
be6aa46c4d patch 7.4.1625
Problem:    Trying to close file descriptor that isn't open.
Solution:   Check for negative number.
2016-03-20 21:02:00 +01:00
Bram Moolenaar
03602ec28e patch 7.4.1624
Problem:    Can't get info about a channel.
Solution:   Add ch_info().
2016-03-20 20:57:45 +01:00
Bram Moolenaar
e9d6a298df patch 7.4.1623
Problem:    All Channels share the message ID, it keeps getting bigger.
Solution:   Use a message ID per channel.
2016-03-20 19:31:33 +01:00
Bram Moolenaar
17b56c9f83 patch 7.4.1622
Problem:    Channel demo doesn't work with Python 2.6.
Solution:   Add number in formatting placeholder
2016-03-20 18:54:19 +01:00
Bram Moolenaar
a63cdb5ed6 patch 7.4.1621
Problem:    Channel test doesn't work with Python 2.6.
Solution:   Add number in formatting placeholder. (Wiredool)
2016-03-20 18:24:45 +01:00
Bram Moolenaar
4077b33a83 patch 7.4.1620
Problem:    Emoji characters are not considered as a kind of word character.
Solution:   Give emoji characters a word class number. (Yasuhiro Matsumoto)
2016-03-20 18:15:21 +01:00
Bram Moolenaar
364fa5c7ec patch 7.4.1619
Problem:    When 'fileformats' is set in the vimrc it applies to new buffers
            but not the initial buffer.
Solution:   Set 'fileformat' when starting up. (Mike Williams)
2016-03-20 17:53:25 +01:00
Bram Moolenaar
a4f6ca717b patch 7.4.1618
Problem:    Starting job with output to buffer changes options in the current
            buffer.
Solution:   Set "curbuf" earlier. (Yasuhiro Matsumoto)
2016-03-20 17:28:35 +01:00
Bram Moolenaar
ba61ac0d61 patch 7.4.1617
Problem:    When a JSON message is split it isn't decoded.
Solution:   Wait a short time for the rest of the message to arrive.
2016-03-20 16:40:37 +01:00
Bram Moolenaar
ac74d5e86c patch 7.4.1616
Problem:    Malformed channel request causes a hang.
Solution:   Drop malformed message. (Damien)
2016-03-20 14:31:00 +01:00
Bram Moolenaar
829c8e3696 patch 7.4.1615
Problem:    Build fails with tiny features.
Solution:   Adjust #ifdefs.
2016-03-19 23:07:23 +01:00
Bram Moolenaar
7eba3d2cbf patch 7.4.1614
Problem:    Still quickfix test in old style.
Solution:   Turn test 10 into a new style test.
2016-03-19 22:54:09 +01:00
Bram Moolenaar
064154c3fe patch 7.4.1613
Problem:    Still can't build with small features.
Solution:   Adjust #ifdefs.
2016-03-19 22:50:43 +01:00
Bram Moolenaar
d293b2b9d4 patch 7.4.1612
Problem:    Can't build with small features.
Solution:   Move code and #ifdefs.
2016-03-19 22:29:49 +01:00
Bram Moolenaar
44a2f923c0 patch 7.4.1611
Problem:    The versplit feature makes the code uneccessary complicated.
Solution:   Remove FEAT_VERTSPLIT, always support vertical splits when
            FEAT_WINDOWS is defined.
2016-03-19 22:11:51 +01:00
Bram Moolenaar
cc6cf9b9f9 patch 7.4.1610
Problem:    Compiler warnings for non-virtual destructor.
Solution:   Mark the classe final. (Ken Takata)
2016-03-19 20:51:35 +01:00
Bram Moolenaar
4d581a826c patch 7.4.1609
Problem:    Contents file is only for Amiga distro.
Solution:   Move it to "READMEdir".  Update some info.
2016-03-19 20:29:39 +01:00
Bram Moolenaar
5c29154b52 patch 7.4.1608
Problem:    string() doesn't handle a partial.
Solution:   Make a string from a partial.
2016-03-19 20:05:45 +01:00
Bram Moolenaar
f0e86a0dbd patch 7.4.1607
Problem:    Comparing a function that exists on two dicts is not backwards
            compatible. (Thinca)
Solution:   Only compare the function, not what the partial adds.
2016-03-19 19:38:12 +01:00
Bram Moolenaar
953cc7fb13 patch 7.4.1606
Problem:    Having type() handle a Funcref that is or isn't a partial
            differently causes problems for existing scripts.
Solution:   Make type() return the same value. (Thinca)
2016-03-19 18:52:29 +01:00
Bram Moolenaar
3905e291fe patch 7.4.1605
Problem:    Catching exception that won't be thrown.
Solution:   Remove try/catch.
2016-03-19 18:44:08 +01:00
Bram Moolenaar
3848e00e01 patch 7.4.1604
Problem:    Although emoji characters are ambiguous width, best is to treat
            them as full width.
Solution:   Update the Unicode character tables. Add the 'emoji' options.
            (Yasuhiro Matsumoto)
2016-03-19 18:42:29 +01:00
Bram Moolenaar
bfb96c047b patch 7.4.1603
Problem:    Timer with an ":echo" command messes up display.
Solution:   Redraw depending on the mode. (Hirohito Higashi)  Avoid the more
            prompt being used recursively.
2016-03-19 17:05:20 +01:00
Bram Moolenaar
cff572abb9 patch 7.4.1602
Problem:    Info files take space in the top directory.
Solution:   Move them to "READMEdir".
2016-03-19 16:24:14 +01:00
Bram Moolenaar
818c9e7edf patch 7.4.1601
Problem:    README files take a lot of space in the top directory.
Solution:   Move most of them to "READMEdir".
2016-03-19 16:09:42 +01:00
Bram Moolenaar
062cc1857d patch 7.4.1600
Problem:    libs directory is not useful.
Solution:   Remove arp.library, it was only for very old Amiga versions.
2016-03-19 15:25:51 +01:00
Bram Moolenaar
8a82c7fa5e patch 7.4.1599
Problem:    No link to Coverity.
Solution:   Add Coverity badge in README.
2016-03-19 15:15:01 +01:00
Bram Moolenaar
6d8d849f5a patch 7.4.1598
Problem:    When starting the GUI fails a swap file is left behind. (Joerg
            Plate)
Solution:   Preserve files before exiting. (closes #692)
2016-03-19 14:48:31 +01:00
Bram Moolenaar
9f6154f26e patch 7.4.1597
Problem:    Memory leak when out of memory. (Coverity)
Solution:   Free the name.
2016-03-19 14:22:11 +01:00
Bram Moolenaar
ba8cd122ef patch 7.4.1596
Problem:    Memory leak. (Coverity)
Solution:   Free the pattern.
2016-03-19 14:16:39 +01:00
Bram Moolenaar
c0a1d7f3ad patch 7.4.1595
Problem:    Not checking for failed open(). (Coverity)
Solution:   Check file descriptor not being negative.
2016-03-19 14:12:50 +01:00
Bram Moolenaar
943bb2b8eb patch 7.4.1594
Problem:    Timers don't work on Unix.
Solution:   Add missing code.
2016-03-19 14:11:18 +01:00
Bram Moolenaar
a889cf4642 patch 7.4.1593
Problem:    Using channel timeout instead of request timeout. (Coverity)
Solution:   Remove the extra assignment.
2016-03-19 13:49:43 +01:00
Bram Moolenaar
0899d69803 patch 7.4.1592
Problem:    Quickfix code using memory after being freed. (Dominique Pelle)
Solution:   Detect that the window was closed. (Hirohito Higashi)
2016-03-19 13:35:03 +01:00
Bram Moolenaar
5584df65a0 patch 7.4.1591
Problem:    The quickfix title is truncated.
Solution:   Save the command before it is truncated. (Anton Lindqvist)
2016-03-18 21:00:51 +01:00
Bram Moolenaar
3f242a844e patch 7.4.1590
Problem:    Warning for shadowed variable. (Christian Brabandt)
Solution:   Move the variable into a local block.
2016-03-18 19:39:25 +01:00
Bram Moolenaar
9e63f61cb0 patch 7.4.1589
Problem:    Combining dict and args with partial doesn't always work.
Solution:   Use the arguments from the partial.
2016-03-17 23:13:28 +01:00
Bram Moolenaar
1ff2b64b11 patch 7.4.1588
Problem:    Old style test for quickfix.
Solution:   Turn test 96 into a new style test.
2016-03-17 22:07:02 +01:00
Bram Moolenaar
1c8b4edb9b patch 7.4.1587
Problem:    Compiler warnings with 64 bit compiler.
Solution:   Add type casts. (Mike Williams)
2016-03-17 21:51:03 +01:00
Bram Moolenaar
8a1bb04637 patch 7.4.1586
Problem:    Nesting partials doesn't work.
Solution:   Append arguments. (Ken Takata)
2016-03-17 21:11:53 +01:00
Bram Moolenaar
d22a18928e patch 7.4.1585
Problem:    Partial is not recognized everywhere.
Solution:   Check for partial in trans_function_name(). (Yasuhiro Matsumoto)
            Add a test.
2016-03-17 20:50:47 +01:00
Bram Moolenaar
0e0b3dd335 patch 7.4.1584
Problem:    Timers don't work for Win32 console.
Solution:   Add check_due_timer() in WaitForChar().
2016-03-17 17:58:56 +01:00
Bram Moolenaar
597385ab43 patch 7.4.1583
Problem:    Warning for unitinialized variable.
Solution:   Initialize it. (Dominique)
2016-03-16 23:24:43 +01:00
Bram Moolenaar
6f2e4b36c9 patch 7.4.1582
Problem:    Get E923 when using function(dict.func, [], dict). (Kent Sibilev)
            Storing a function with a dict in a variable drops the dict if the
            function is script-local.
Solution:   Translate the function name.  Use dict arg if present.
2016-03-16 22:52:12 +01:00
Bram Moolenaar
65639032bb patch 7.4.1581
Problem:    Using ":call dict.func()" where the function is a partial does
            not work.  Using "dict.func()" where the function does not take a
            Dictionary does not work.
Solution:   Handle partial properly in ":call". (Yasuhiro Matsumoto)
2016-03-16 21:40:30 +01:00
Bram Moolenaar
7a5c46a9df patch 7.4.1580
Problem:    Crash when using function reference. (Luchr)
Solution:   Set initial refcount. (Ken Takata, closes #690)
2016-03-16 20:41:21 +01:00
Bram Moolenaar
a3dc5e92dc patch 7.4.1579
Problem:    Missing changes in channel.c
Solution:   Include the changes.
2016-03-15 23:19:14 +01:00
Bram Moolenaar
975b5271ee patch 7.4.1578
Problem:    There is no way to invoke a function later or periodically.
Solution:   Add timer support.
2016-03-15 23:10:59 +01:00
Bram Moolenaar
ab1fa3955f patch 7.4.1577
Problem:    Cannot pass "dict.Myfunc" around as a partial.
Solution:   Create a partial when expected.
2016-03-15 19:33:34 +01:00
Bram Moolenaar
927030af23 patch 7.4.1576
Problem:    Write error of viminfo file is not handled properly. (Christian
            Neukirchen)
Solution:   Check the return value of fclose(). (closes #682)
2016-03-15 18:23:55 +01:00
Bram Moolenaar
89e375a88f patch 7.4.1575
Problem:    Using wrong size for struct.
Solution:   Use the size for wide API. (Ken Takata)
2016-03-15 18:09:57 +01:00
Bram Moolenaar
8067a64852 Add missing test file. 2016-03-15 17:52:10 +01:00
Bram Moolenaar
d22e9465f6 patch 7.4.1574
Problem:    ":undo 0" does not work. (Florent Fayolle)
Solution:   Make it undo all the way. (closes #688)
2016-03-15 17:43:55 +01:00
Bram Moolenaar
ce2ec0a82a patch 7.4.1573
Problem:    Tests get stuck at the more prompt.
Solution:   Move the backspace test out of test_alot.
2016-03-15 17:10:19 +01:00
Bram Moolenaar
85a7cb4dcf patch 7.4.1572
Problem:    Setting 'compatible' in test influences following tests.
Solution:   Turn 'compatible' off again.
2016-03-15 16:53:26 +01:00
Bram Moolenaar
8e15ffcde7 patch 7.4.1571
Problem:    No test for ":help".
Solution:   Add a test for what 7.4.1568 fixed. (Higashi Higashi)
2016-03-15 16:35:39 +01:00
Bram Moolenaar
426dd02195 patch 7.4.1570
Problem:    There is no way to avoid the message when editing a file.
Solution:   Add the "F" flag to 'shortmess'. (Shougo, closes #686)
2016-03-15 15:09:29 +01:00
Bram Moolenaar
e27dba499a patch 7.4.1569
Problem:    Using old style tests for quickfix.
Solution:   Change them to new style tests. (Yegappan Lakshmanan)
2016-03-15 14:11:10 +01:00
Bram Moolenaar
00f9e0dbbd patch 7.4.1568
Problem:    Using CTRL-] in help on option in parentheses doesn't work.
Solution:   Skip the "(" in "('". (Hirohito Higashi)
2016-03-15 13:44:12 +01:00
Bram Moolenaar
1abb502635 patch 7.4.1567
Problem:    Crash in assert_fails().
Solution:   Check for NULL. (Dominique Pelle)  Add a test.
2016-03-15 13:33:55 +01:00
Bram Moolenaar
4f118be2bb patch 7.4.1566
Problem:    Compiler warning for shadowed variable. (Kazunobu Kuriyama)
Solution:   Remove the inner one.
2016-03-15 13:09:53 +01:00
Bram Moolenaar
f155196444 patch 7.4.1565
Problem:    Crash when assert_equal() runs into a NULL string.
Solution:   Check for NULL. (Dominique) Add a test.
2016-03-15 12:55:58 +01:00
Bram Moolenaar
346418c624 patch 7.4.1564
Problem:    An empty list in function() causes an error.
Solution:   Handle an empty list like there is no list of arguments.
2016-03-15 12:36:08 +01:00
Bram Moolenaar
790500a8e6 patch 7.4.1563
Problem:    Partial test fails on windows.
Solution:   Return 1 or -1 from compare function.
2016-03-15 11:05:45 +01:00
Bram Moolenaar
9eb3bb2930 patch 7.4.1562
Problem:    ":helptags ALL" crashes. (Lcd)
Solution:   Don't free twice.
2016-03-14 23:45:35 +01:00
Bram Moolenaar
39afdea203 patch 7.4.1561
Problem:    Missing update to proto file.
Solution:   Change the proto file.
2016-03-14 23:27:29 +01:00
Bram Moolenaar
d6c2f05260 patch 7.4.1560
Problem:    Dict options with a dash are more difficult to use.
Solution:   Use an underscore, so that dict.err_io can be used.
2016-03-14 23:22:59 +01:00
Bram Moolenaar
1735bc988c patch 7.4.1559
Problem:    Passing cookie to a callback is clumsy.
Solution:   Change function() to take arguments and return a partial.
2016-03-14 23:05:14 +01:00
Bram Moolenaar
9cdf86b86f patch 7.4.1558
Problem:    It is not easy to find out what windows display a buffer.
Solution:   Add win_findbuf().
2016-03-13 19:04:51 +01:00
Bram Moolenaar
86edef664e patch 7.4.1557
Problem:    Windows cannot be identified.
Solution:   Add a unique window number to each window and functions to use it.
2016-03-13 18:07:30 +01:00
Bram Moolenaar
a3442cb505 patch 7.4.1556
Problem:    "make install" changes the help tags file, causing it to differ
            from the repository.
Solution:   Move it aside and restore it.
2016-03-13 14:34:12 +01:00
Bram Moolenaar
fff341eb59 patch 7.4.1555
Problem:    List of test targets incomplete.
Solution:   Add newly added tests.
2016-03-13 13:27:36 +01:00
Bram Moolenaar
52f9c19015 patch 7.4.1554
Problem:    Completion for :colorscheme does not use 'packpath'.
Solution:   Make it work, add a test. (Hirohito Higashi)
2016-03-13 13:24:45 +01:00
Bram Moolenaar
8dcf259d90 patch 7.4.1553
Problem:    ":runtime" does not use 'packpath'.
Solution:   Add "what" argument.
2016-03-12 22:47:14 +01:00
Bram Moolenaar
7f8989dd8a patch 7.4.1552
Problem:    ":colorscheme" does not use 'packpath'.
Solution:   Also use in "start" and "opt" directories in 'packpath'.
2016-03-12 22:11:39 +01:00
Bram Moolenaar
6bef5306e4 patch 7.4.1551
Problem:    Cannot generate help tags in all doc directories.
Solution:   Make ":helptags ALL" work.
2016-03-12 21:28:26 +01:00
Bram Moolenaar
2d8f56acb3 patch 7.4.1550
Problem:    Cannot load packages early.
Solution:   Add the ":packloadall" command.
2016-03-12 20:34:27 +01:00
Bram Moolenaar
c835293d54 patch 7.4.1549
Problem:    Test for syntax attributes fails in Win32 GUI.
Solution:   Use an existing font name.
2016-03-12 20:15:21 +01:00
Bram Moolenaar
5a2800fd14 patch 7.4.1548
Problem:    Two tests fail.
Solution:   Adjust the expected error number. Remove check for type.
2016-03-12 19:33:49 +01:00
Bram Moolenaar
385111bd86 patch 7.4.1547
Problem:    Getting a cterm highlight attribute that is not set results in the
            string "-1".
Solution:   Return an empty string. (Taro Muraoka)
2016-03-12 19:23:00 +01:00
Bram Moolenaar
f6f32c38bf patch 7.4.1546
Problem:    Sticky type checking is more annoying than useful.
Solution:   Remove the error for changing a variable type.
2016-03-12 19:03:59 +01:00
Bram Moolenaar
b4ebf9ae3b patch 7.4.1545
Problem:    GTK3: horizontal cursor movement in Visual selection not good.
Solution:   Make it work better. (Kazunobu Kuriyama)
2016-03-12 16:28:18 +01:00
Bram Moolenaar
583c1f14a4 patch 7.4.1544
Problem:    On Win32 escaping the command does not work properly.
Solution:   Reset 'ssl' when escaping the command. (Yasuhiro Matsumoto)
2016-03-12 15:58:34 +01:00
Bram Moolenaar
5a6ec52392 patch 7.4.1543
Problem:    Channel log methods are not tested.
Solution:   Log job activity and check it.
2016-03-12 15:51:44 +01:00
Bram Moolenaar
1adda3403d patch 7.4.1542
Problem:    job_start() with a list is not tested.
Solution:   Call job_start() with a list.
2016-03-12 15:39:40 +01:00
Bram Moolenaar
8950a563b3 patch 7.4.1541
Problem:    Missing job_info().
Solution:   Implement it.
2016-03-12 15:22:55 +01:00
Bram Moolenaar
ac42afd10b patch 7.4.1540
Problem:    Channel test is a bit flaky.
Solution:   Increase expected wait time.
2016-03-12 13:48:49 +01:00
Bram Moolenaar
8e2c942ce4 patch 7.4.1539
Problem:    Too much code in eval.c.
Solution:   Move job and channel code to channel.c.
2016-03-12 13:43:33 +01:00
Bram Moolenaar
77cdfd1038 Updated runtime files. 2016-03-12 12:57:59 +01:00
Bram Moolenaar
4fc563b397 patch 7.4.1538
Problem:    Selection with the mouse does not work in command line mode.
Solution:   Use cairo functions. (Kazunobu Kuriyama)
2016-03-12 12:40:58 +01:00
Bram Moolenaar
509ce2a558 patch 7.4.1537
Problem:    Too many feature flags for pipes, jobs and channels.
Solution:   Only use FEAT_JOB_CHANNEL.
2016-03-11 22:52:15 +01:00
Bram Moolenaar
de27989157 patch 7.4.1536
Problem:    Cannot re-use a channel for another job.
Solution:   Add the "channel" option to job_start().
2016-03-11 22:19:44 +01:00
Bram Moolenaar
9e496854a9 patch 7.4.1535
Problem:    The feedkeys test has a one second delay.
Solution:   Avoid need_wait_return() to delay. (Hirohito Higashi)
2016-03-11 19:31:47 +01:00
Bram Moolenaar
846cdb2275 patch 7.4.1534
Problem:    Compiler warning for shadowed variable. (Kazunobu Kuriyama)
Solution:   Rename it.
2016-03-11 18:52:22 +01:00
Bram Moolenaar
74c5bbf134 patch 7.4.1533
Problem:    Using feedkeys() with an empty string disregards 'x' option.
Solution:   Make 'x' work with an empty string. (Thinca)
2016-03-10 22:19:53 +01:00
Bram Moolenaar
7bffaa9f9b patch 7.4.1532
Problem:    MS-Windows channel leaks file descriptor.
Solution:   Use CreateFile with the right options. (Yasuhiro Matsumoto)
2016-03-10 21:46:03 +01:00
Bram Moolenaar
40e8cb292c patch 7.4.1531
Problem:    Compiler warning for unitinialized variable. (Dominique Pelle)
Solution:   Always give the variable a value.
2016-03-10 21:10:58 +01:00
Bram Moolenaar
75578a388d patch 7.4.1530
Problem:    MS-Windows job_start() closes wrong handle.
Solution:   Close hThread on the process info. (Ken Takata)
2016-03-10 16:33:31 +01:00
Bram Moolenaar
29fd03878c patch 7.4.1529
Problem:    Specifying buffer number for channel not implemented yet.
Solution:   Implement passing a buffer number.
2016-03-09 23:14:07 +01:00
Bram Moolenaar
af1a0e371e patch 7.4.1528
Problem:    Using "ever" for packages is confusing.
Solution:   Use "start", as it's related to startup.
2016-03-09 22:19:26 +01:00
Bram Moolenaar
562ca71428 patch 7.4.1527
Problem:    Channel test is flaky on MS-Windows.
Solution:   Limit the select() timeout to 50 msec and try with a new socket if
            it fails.
2016-03-09 21:50:05 +01:00
Bram Moolenaar
d5d3d307dd patch 7.4.1526
Problem:    Writing to file and not connecting a channel doesn't work for
            MS-Windows.
Solution:   Make it work. (Yasuhiro Matsumoto)
2016-03-09 20:54:51 +01:00
Bram Moolenaar
beb003b303 patch 7.4.1525
Problem:    On a high resolution screen the toolbar icons are too small.
Solution:   Add "huge" and "giant" to 'toolbariconsize'. (Brian Gix)
2016-03-08 22:47:17 +01:00
Bram Moolenaar
045a284a83 patch 7.4.1524
Problem:    Channel test fails on BSD.
Solution:   Break out of the loop when connect() succeeds. (Ozaki Kiichi)
2016-03-08 22:33:07 +01:00
Bram Moolenaar
0622732b32 patch 7.4.1523
Problem:    Writing channel to a file fails on MS-Windows.
Solution:   Disable it for now.
2016-03-08 20:58:29 +01:00
Bram Moolenaar
6ff02c9651 patch 7.4.1522
Problem:    Cannot write channel err to a buffer.
Solution:   Implement it.
2016-03-08 20:12:44 +01:00
Bram Moolenaar
8322e1f06e patch 7.4.1521
Problem:    File permission test fails on MS-Windows.
Solution:   Expect a different permission.
2016-03-08 19:20:04 +01:00
Bram Moolenaar
d9d473ea12 patch 7.4.1520
Problem:    Channel test: Waiting for a file to appear doesn't work.
Solution:   In waitFor() ignore errors.
2016-03-08 19:07:22 +01:00
Bram Moolenaar
13d6fb17a2 patch 7.4.1519
Problem:    Channel output to file not implemented for MS-Windows.
Solution:   Implement it. (Yasuhiro Matsumoto)
2016-03-08 18:40:52 +01:00
Bram Moolenaar
f65333c9b5 patch 7.4.1518
Problem:    Channel with disconnected in/out/err is not supported.
Solution:   Implement it for Unix.
2016-03-08 18:27:21 +01:00
Bram Moolenaar
367aabdbf7 patch 7.4.1517
Problem:    Compiler warning with 64bit compiler.
Solution:   Add typecast. (Mike Williams)
2016-03-08 17:13:06 +01:00
Bram Moolenaar
8049253b96 patch 7.4.1516
Problem:    Cannot change file permissions.
Solution:   Add setfperm().
2016-03-08 17:08:53 +01:00
Bram Moolenaar
9fe885e49a patch 7.4.1515
Problem:    Channel test is a bit flaky.
Solution:   Instead of a fixed sleep time wait until an expression evaluates
            to true.
2016-03-08 16:06:55 +01:00
Bram Moolenaar
e98d121052 patch 7.4.1514
Problem:    Channel output to file not implemented yet.
Solution:   Implement it for Unix.
2016-03-08 15:37:41 +01:00
Bram Moolenaar
41e0f2f48f patch 7.4.1513
Problem:    "J" fails if there are not enough lines. (Christian Neukirchen)
Solution:   Reduce the count, only fail on the last line.
2016-03-08 14:44:42 +01:00
Bram Moolenaar
94d0191dbc patch 7.4.1512
Problem:    Channel input from file not supported on MS-Windows.
Solution:   Implement it. (Yasuhiro Matsumoto)
2016-03-08 13:48:51 +01:00
Bram Moolenaar
af6e36ff16 patch 7.4.1511
Problem:    Statusline highlighting is sometimes wrong.
Solution:   Check for Highlight type. (Christian Brabandt)
2016-03-08 12:56:33 +01:00
Bram Moolenaar
5f148ec0b5 Update runtime files. 2016-03-07 22:59:26 +01:00
Bram Moolenaar
304563c0b3 patch 7.4.1510
Problem:    Channel test fails on AppVeyor.
Solution:   Wait longer than 10 msec if needed.
2016-03-07 22:26:28 +01:00
Bram Moolenaar
151f656e17 patch 7.4.1509
Problem:    Keeping both a variable for a job and the channel it refers to is
            a hassle.
Solution:   Allow passing the job where a channel is expected. (Damien)
2016-03-07 21:19:38 +01:00
Bram Moolenaar
47cff3a444 patch 7.4.1508
Problem:    Can't build GvimExt with MingW.
Solution:   Adjust the makefile. (Ben Fritz)
2016-03-07 20:58:50 +01:00
Bram Moolenaar
4e329fcaf7 patch 7.4.1507
Problem:    Crash when starting a job fails.
Solution:   Check for the channel to be NULL.  (idea by Yasuhiro Matsumoto)
2016-03-07 15:24:03 +01:00
Bram Moolenaar
b69fccf377 patch 7.4.1506
Problem:    Job cannot read from a file.
Solution:   Implement reading from a file for Unix.
2016-03-06 23:06:25 +01:00
Bram Moolenaar
d0b6502a7a patch 7.4.1505
Problem:    When channel log is enabled get too many "looking for messages"
            log entries.
Solution:   Only give the message after another message.
2016-03-06 21:50:33 +01:00
Bram Moolenaar
3f39f64866 patch 7.4.1504
Problem:    No test for reading last-but-one line.
Solution:   Add a test.
2016-03-06 21:35:57 +01:00
Bram Moolenaar
839fd11d7e patch 7.4.1503
Problem:    Crash when using ch_getjob(). (Damien)
Solution:   Check for a NULL job.
2016-03-06 21:34:03 +01:00
Bram Moolenaar
99ef06296f patch 7.4.1502
Problem:    Writing last-but-one line of buffer to a channel isn't implemented
            yet.
Solution:   Implement it.  Fix leaving a swap file behind.
2016-03-06 20:22:25 +01:00
Bram Moolenaar
38fd4bb284 patch 7.4.1501
Problem:    Garbage collection with an option channel is not tested.
Solution:   Call garbagecollect() in the test.
2016-03-06 16:38:28 +01:00
Bram Moolenaar
9ef00be261 patch 7.4.1500
Problem:    Should_free flag set to FALSE.
Solution:   Set it to TRUE. (Neovim 4415)
2016-03-06 14:58:28 +01:00
Bram Moolenaar
be82c25486 patch 7.4.1499
Problem:    No error message when :packadd does not find anything.
Solution:   Add an error message. (Hirohito Higashi)
2016-03-06 14:44:08 +01:00
Bram Moolenaar
2588b5a43f patch 7.4.1498
Problem:    Error for locked item when using json_decode(). (Shougo)
Solution:   Initialize v_lock.
2016-03-05 23:23:02 +01:00
Bram Moolenaar
0ecbe33718 patch 7.4.1497
Problem:    Cursor drawing problem with GTK 3.
Solution:   Handle blinking differently. (Kazunobu Kuriyama)
2016-03-05 22:40:52 +01:00
Bram Moolenaar
a96909cfaf patch 7.4.1496
Problem:    Crash when built with GUI but it's not active. (Dominique Pelle)
Solution:   Check gui.in_use.
2016-03-05 22:19:41 +01:00
Bram Moolenaar
802d559431 patch 7.4.1495
Problem:    Compiler warnings when building on Unix with the job feature but
            without the channel feature.
Solution:   Move #ifdefs. (Dominique Pelle)
2016-03-05 22:05:27 +01:00
Bram Moolenaar
119d4693e0 patch 7.4.1494
Problem:    clr_history() does not work properly.
Solution:   Increment hisptr. Add a test. (Yegappan Lakshmanan)
2016-03-05 21:21:24 +01:00
Bram Moolenaar
5983ad0b03 patch 7.4.1493
Problem:    Wrong callback invoked for zero-id messages.
Solution:   Don't use the first one-time callback when the sequence number
            doesn't match.
2016-03-05 20:54:36 +01:00
Bram Moolenaar
35ca0e7a1c patch 7.4.1492
Problem:    No command line completion for ":packadd".
Solution:   Implement completion. (Hirohito Higashi)
2016-03-05 17:41:49 +01:00
Bram Moolenaar
019b9c644e Add new test file. 2016-03-05 17:26:00 +01:00
Bram Moolenaar
20b4f463f4 patch 7.4.1491
Problem:    Visual-block shift breaks multi-byte characters.
Solution:   Compute column differently. (Yasuhiro Matsumoto) Add a test.
2016-03-05 17:25:39 +01:00
Bram Moolenaar
2369c15407 patch 7.4.1490
Problem:    Compiler warning for unused function.
Solution:   Add #ifdef. (Dominique Pelle)
2016-03-04 23:08:25 +01:00
Bram Moolenaar
0c171716c0 patch 7.4.1489
Problem:    "inline" is not supported by old MSVC.
Solution:   use "__inline". (Ken Takata)
2016-03-04 22:57:20 +01:00
Bram Moolenaar
179f1b9a7d patch 7.4.1488
Problem:    Not using key when result from hangul_string_convert() is NULL.
Solution:   Fall back to not converted string.
2016-03-04 22:52:34 +01:00
Bram Moolenaar
328da0dcb7 Update runtime files. 2016-03-04 22:22:32 +01:00
Bram Moolenaar
6300317b15 patch 7.4.1487
Problem:    For WIN32 isinf() is defined as a macro.
Solution:   Define it as an inline function. (ZyX)
2016-03-04 22:19:21 +01:00
Bram Moolenaar
f365482736 patch 7.4.1486
Problem:    ":loadplugin" is not optimal, some people find it confusing.
Solution:   Only use ":packadd" with an optional "!".
2016-03-04 22:12:23 +01:00
Bram Moolenaar
014069a7ac patch 7.4.1485
Problem:    Job input from buffer is not implemented.
Solution:   Implement it.  Add "in-top" and "in-bot" options.
2016-03-03 22:51:40 +01:00
Bram Moolenaar
c25558bff4 patch 7.4.1484
Problem:    Channel "err-io" value "out" is not supported.
Solution:   Connect stderr to stdout if wanted.
2016-03-03 21:02:23 +01:00
Bram Moolenaar
d6547fc647 patch 7.4.1483
Problem:    A one-time callback is not used for a raw channel.
Solution:   Use a one-time callback when it exists.
2016-03-03 19:35:02 +01:00
Bram Moolenaar
da94fdf258 patch 7.4.1482
Problem:    "timeout" option not supported on ch_send*() and ch_eval*().
Solution:   Get and use the timeout option from the argument.
2016-03-03 18:09:10 +01:00
Bram Moolenaar
9f7820f83b patch 7.4.1481
Problem:    Can't build with small features.
Solution:   Add #ifdef.
2016-03-03 17:22:49 +01:00
Bram Moolenaar
91715873d1 patch 7.4.1480
Problem:    Cannot add a pack direcory without loading a plugin.
Solution:   Add the :packadd command.
2016-03-03 17:13:03 +01:00
Bram Moolenaar
863c1a9079 patch 7.4.1479
Problem:    No testfor ":loadplugin".
Solution:   Add a test.  Fix how option is being set.
2016-03-03 15:47:06 +01:00
Bram Moolenaar
1bdd42627d patch 7.4.1478
Problem:    ":loadplugin" doesn't take care of ftdetect files.
Solution:   Also load ftdetect scripts when appropriate.
2016-03-03 14:23:10 +01:00
Bram Moolenaar
b5760a1ce5 patch 7.4.1477
Problem:    Test_reltime is flaky, it depends on timing.
Solution:   When it fails run it a second time.
2016-03-03 13:10:44 +01:00
Bram Moolenaar
f1d2501ebe patch 7.4.1476
Problem:    Function arguments marked as unused while they are not.
Solution:   Remove UNUSED. (Yegappan Lakshmanan)
2016-03-03 12:22:53 +01:00
Bram Moolenaar
00ded43a5a patch 7.4.1475
Problem:    When using hangulinput with utf-8 a CSI character is
            misintepreted.
Solution:   Convert CSI to K_CSI. (SungHyun Nam)
2016-03-03 11:45:15 +01:00
Bram Moolenaar
5fac467474 patch 7.4.1474
Problem:    Compiler warnings without the float feature.
Solution:   Move #ifdefs. (John Marriott)
2016-03-02 22:16:32 +01:00
Bram Moolenaar
d1413d9098 patch 7.4.1473
Problem:    Can't build without the autocommand feature.
Solution:   Add #ifdefs. (Yegappan Lakshmanan)
2016-03-02 21:51:56 +01:00
Bram Moolenaar
4ca812b153 patch 7.4.1472
Problem:    Coverity warning for not using return value.
Solution:   Add "(void)".
2016-03-02 21:51:16 +01:00
Bram Moolenaar
bf73b91c66 patch 7.4.1471
Problem:    Missing out-of-memory check.  And Coverity warning.
Solution:   Bail out when msg is NULL.
2016-03-02 21:16:59 +01:00
Bram Moolenaar
289a90551d patch 7.4.1470
Problem:    Coverity reports missing restore.
Solution:   Move json_encode() call up.
2016-03-02 21:09:32 +01:00
Bram Moolenaar
42bc6dde46 patch 7.4.1469
Problem:    Channel test sometimes fails, especially on OS/X. (Kazunobu
            Kuriyama)
Solution:   Change the && into ||, call getsockopt() in more situations.
            (Ozaki Kiichi)
2016-03-02 20:48:47 +01:00
Bram Moolenaar
51d1d53680 patch 7.4.1468
Problem:    Sort test doesn't test with "1" argument.
Solution:   Also test ignore-case sorting. (Yasuhiro Matsumoto)
2016-03-01 22:51:46 +01:00
Bram Moolenaar
10b369f670 patch 7.4.1467
Problem:    Can't build without the float feature.
Solution:   Add #ifdefs. (Nick Owens, closes #667)
2016-02-29 23:12:49 +01:00
Bram Moolenaar
6b584af3d7 patch 7.4.1466
Problem:    Coverity reports dead code.
Solution:   Remove the two lines.
2016-02-29 23:03:23 +01:00
Bram Moolenaar
cc7f8be3e0 patch 7.4.1465
Problem:    Coverity reported possible use of NULL pointer when using buffer
            output with JSON mode.
Solution:   Make it actually possible to use JSON mode with a buffer.
            Re-encode the JSON to append it to the buffer.
2016-02-29 22:55:56 +01:00
Bram Moolenaar
5131c144fe patch 7.4.1464
Problem:    When the argument of sort() is zero or empty it fails.
Solution:   Make zero work as documented. (suggested by Yasuhiro Matsumoto)
2016-02-29 22:05:26 +01:00
Bram Moolenaar
a6b8976bb7 patch 7.4.1463
Problem:    Configure doesn't find isinf() and isnan() on some systems.
Solution:   Use a configure check that includes math.h.
2016-02-29 21:38:26 +01:00
Bram Moolenaar
2f6271b1e7 patch 7.4.1462
Problem:    Two more rarily used functions with errors.
Solution:   Add proper argument types. (Dominique Pelle)
2016-02-29 21:20:48 +01:00
Bram Moolenaar
a86f14a923 patch 7.4.1461
Problem:    When starting job on MS-Windows all parts of the command are put
            in quotes.
Solution:   Only use quotes when needed. (Yasuhiro Matsumoto)
2016-02-29 21:05:48 +01:00
Bram Moolenaar
fdcc9afb71 patch 7.4.1460
Problem:    Syntax error in rarily used code.
Solution:   Fix the mch_rename() declaration. (Ken Takata)
2016-02-29 12:52:39 +01:00
Bram Moolenaar
e081e21f76 patch 7.4.1459
Problem:    MS-Windows doesn't know socklen_t.
Solution:   Use previous method for WIN32.
2016-02-28 22:33:46 +01:00
Bram Moolenaar
fdd6ce4a2f patch 7.4.1458
Problem:    When a JSON channel has a callback it may never be cleared.
Solution:   Do not write "DETACH" into a JS or JSON channel.
2016-02-28 22:21:38 +01:00
Bram Moolenaar
d42119fff2 patch 7.4.1457
Problem:    Opening a channel with select() is not done properly.
Solution:   Also used read-fds. Use getsockopt() to check for errors. (Ozaki
            Kiichi)
2016-02-28 20:51:49 +01:00
Bram Moolenaar
29e1951e14 patch 7.4.1456
Problem:    Test 87 fails with Python 3.5.
Solution:   Work around difference. (Taro Muraoka)
2016-02-28 20:13:18 +01:00
Bram Moolenaar
fc2457e21d patch 7.4.1455
Problem:    JSON decoding test for surrogate pairs is in the wrong place.
Solution:   Move the test lines. (Ken Takata)
2016-02-28 20:04:09 +01:00
Bram Moolenaar
9730f74a0b patch 7.4.1454
Problem:    The exit callback test is flaky.
Solution:   Loop to wait for a short time up to a second.
2016-02-28 19:50:51 +01:00
Bram Moolenaar
9bfdba3de3 patch 7.4.1453
Problem:    Missing --not-a-term.
Solution:   Add the argument.
2016-02-28 19:39:20 +01:00
Bram Moolenaar
18b5d6df10 patch 7.4.1452
Problem:    When a callback adds a syntax item either the redraw doesn't
            happen right away or in the GUI the cursor is in the wrong
            position for a moment. (Jakson Alves de Aquino)
Solution:   Redraw after the callback was invoked.
2016-02-28 19:30:24 +01:00
Bram Moolenaar
707659490d patch 7.4.1451
Problem:    Vim hangs when a channel has a callback but isn't referenced.
Solution:   Have channel_unref() only return TRUE when the channel was
            actually freed.
2016-02-28 19:28:59 +01:00
Bram Moolenaar
1c39102666 patch 7.4.1450
Problem:    Json encoding still fails when encoding is not utf-8.
Solution:   Set 'encoding' before :scriptencoding.  Run the json test
            separately to avoid affecting other tests.
2016-02-28 18:04:00 +01:00
Bram Moolenaar
8cc6977a96 patch 7.4.1449
Problem:    Build fails with job feature but without channel feature.
Solution:   Add #ifdef.
2016-02-28 16:42:03 +01:00
Bram Moolenaar
c5215e943b patch 7.4.1448
Problem:    JSON tests fail if 'encoding' is not utf-8.
Solution:   Force encoding to utf-8.
2016-02-28 16:29:50 +01:00
Bram Moolenaar
d6051b5eb8 patch 7.4.1447
Problem:    Memory leak when using ch_read(). (Dominique Pelle)
            No log message when stopping a job and a few other situations.
            Too many "Nothing to read" messages.  Channels are not freed.
Solution:   Free the listtv.  Add more log messages. Remove "Nothing to read"
            message.  Remove the channel from the job when its refcount
            becomes zero.
2016-02-28 15:49:03 +01:00
Bram Moolenaar
80e7884739 patch 7.4.1446
Problem:    Crash when using json_decode().
Solution:   Terminate string with a NUL byte.
2016-02-28 15:21:13 +01:00
Bram Moolenaar
b362872837 patch 7.4.1445
Problem:    Memory corruption when 'encoding' is not utf-8.
Solution:   Convert decoded string later.
2016-02-28 14:56:39 +01:00
Bram Moolenaar
0f526f5652 patch 7.4.1444
Problem:    Can't build with JSON but without multi-byte.
Solution:   Fix pointer name.
2016-02-27 22:59:41 +01:00
Bram Moolenaar
dae8d21dd2 Updated runtime files 2016-02-27 22:40:16 +01:00
Bram Moolenaar
3f2a5d8dfb patch 7.4.1443
Problem:    Can't build GTK3 with small features.
Solution:   Use gtk_widget_get_window().  Fix typos. (Dominique Pelle)
2016-02-27 22:08:16 +01:00
Bram Moolenaar
e0fd2aa8f6 patch 7.4.1442
Problem:    MS-Windows: more compilation warnings for destructor.
Solution:   Add "virtual". (Ken Takata)
2016-02-27 21:59:51 +01:00
Bram Moolenaar
e26643e6bc patch 7.4.1441
Problem:    Using empty name instead of no name for channel buffer.
Solution:   Remove the empty name.
2016-02-27 21:53:02 +01:00
Bram Moolenaar
fefecb0fbe patch 7.4.1440
Problem:    Can't build on Windows.
Solution:   Change #ifdefs.  Only define isnan when used.
2016-02-27 21:27:20 +01:00
Bram Moolenaar
f97ddbeb25 patch 7.4.1439
Problem:    Using uninitialzed variable.
Solution:   Initialize vc_type.
2016-02-27 21:13:38 +01:00
Bram Moolenaar
c7f0ebc6d1 patch 7.4.1438
Problem:    Can't get buffer number of a channel.
Solution:   Add ch_getbufnr().
2016-02-27 21:10:09 +01:00
Bram Moolenaar
136f29a91d patch 7.4.1437
Problem:    Old system doesn't have isinf() and NAN. (Ben Fritz)
Solution:   Adjust #ifdefs.  Detect isnan() and isinf() functions with
            configure. Use a replacement when missing. (Kazunobu Kuriyama)
2016-02-27 20:14:15 +01:00
Bram Moolenaar
e98991b8cf patch 7.4.1436
Problem:    Sniff files still referenced in distribution.
Solution:   Remove sniff files from distribution.
2016-02-27 19:26:01 +01:00
Bram Moolenaar
8b1862a316 patch 7.4.1435
Problem:    It is confusing that ch_sendexpr() and ch_sendraw() wait for a
            response.
Solution:   Add ch_evalexpr() and ch_evalraw().
2016-02-27 19:21:24 +01:00
Bram Moolenaar
b6ff81188d patch 7.4.1434
Problem:    JSON encoding doesn't hanel surrogate pair.
Solution:   Improve multi-byte handling of JSON. (Yasuhiro Matsumoto)
2016-02-27 18:41:27 +01:00
Bram Moolenaar
85b11769ab patch 7.4.1433
Problem:    The Sniff interface is no longer useful, the tool has not been
            available for may years.
Solution:   Delete the Sniff interface and related code.
2016-02-27 18:13:23 +01:00
Bram Moolenaar
4d1961783f patch 7.4.1432
Problem:    Typo in button text.
Solution:   Fix the typo. (Dominique Pelle)
2016-02-27 18:07:44 +01:00
Bram Moolenaar
9e24f0c5c1 patch 7.4.1431
Problem:    Including header files twice.
Solution:   Remove the extra includes.
2016-02-27 17:22:27 +01:00
Bram Moolenaar
7ce686c990 patch 7.4.1430
Problem:    When encoding JSON, turning NaN and Infinity into null without
            giving an error is not useful.
Solution:   Pass NaN and Infinity on.  If the receiver can't handle them it
            will generate the error.
2016-02-27 16:33:22 +01:00
Bram Moolenaar
d804fdf4c2 patch 7.4.1429
Problem:    On MS-Windows, when not use renderoptions=type:directx, drawing
            emoji will be broken.
Solution:   Fix usage of unicodepdy. (Yasuhiro Matsumoto)
2016-02-27 16:04:58 +01:00
Bram Moolenaar
edb4f2b360 patch 7.4.1428
Problem:    Compiler warning for non-virtual destructor.
Solution:   Make it virtual. (Yasuhiro Matsumoto)
2016-02-27 15:27:23 +01:00
Bram Moolenaar
43acbce1bb patch 7.4.1427
Problem:    Trailing comma in enums is not ANSI C.
Solution:   Remove the trailing commas.
2016-02-27 15:21:32 +01:00
Bram Moolenaar
187db50d04 patch 7.4.1426
Problem:    The "out-io" option for jobs is not implemented yet.
Solution:   Implement the "buffer" value: append job output to a buffer.
2016-02-27 14:44:26 +01:00
Bram Moolenaar
6e722e2f94 patch 7.4.1425
Problem:    There are still references to MS-DOS support.
Solution:   Remove most of the help txt and install instructions. (Ken Takata)
2016-02-26 19:58:58 +01:00
Bram Moolenaar
0c0dac1fb1 patch 7.4.1424
Problem:    Not using --not-a-term when running tests on MS-Windows.
Solution:   Use NO_PLUGIN. (Christian Brabandt)
2016-02-26 15:56:42 +01:00
Bram Moolenaar
4cafa6dc7f patch 7.4.1423
Problem:    Channel test fails on MS-Windows.
Solution:   Do not give an error message when reading fails, assume the other
            end exited.
2016-02-26 11:52:39 +01:00
Bram Moolenaar
46c85439c9 patch 7.4.1422
Problem:    Error when reading fails uses wrong errno.  Keeping channel open
            after job stops results in test failing.
Solution:   Move the error up.  Add ch_job_killed.
2016-02-26 11:17:46 +01:00
Bram Moolenaar
c8dcbb12c5 patch 7.4.1421
Problem:    May free a channel when a callback may need to be invoked.
Solution:   Keep the channel when refcount is zero.
2016-02-25 23:10:17 +01:00
Bram Moolenaar
d2227a02b0 patch 7.4.1420
Problem:    Missing makefile.
Solution:   Type the path correctly.
2016-02-25 22:37:42 +01:00
Bram Moolenaar
49c39ff678 patch 7.4.1419
Problem:    Tests slowed down because of the "not a terminal" warning.
Solution:   Add the --not-a-term command line argument.
2016-02-25 21:21:52 +01:00
Bram Moolenaar
923d926d57 patch 7.4.1418
Problem:    job_stop() on MS-Windows does not really stop the job.
Solution:   Make the default to stop the job forcefully. (Ken Takata)
            Make MS-Windows and Unix more similar.
2016-02-25 20:56:01 +01:00
Bram Moolenaar
265f64efcf patch 7.4.1417
Problem:    Missing appveyor.bat from the distribution.
Solution:   Add it to the list of files.
2016-02-25 20:37:40 +01:00
Bram Moolenaar
669cac0a80 patch 7.4.1416
Problem:    Using "u_char" intead of "char_u", which doesn't work everywhere.
            (Jörg Plate)
Solution:   Use "char_u" always.
2016-02-25 15:25:03 +01:00
Bram Moolenaar
f391327adb Updated runtime files. 2016-02-25 00:00:01 +01:00
Bram Moolenaar
84f4996d2a patch 7.4.1415
Problem:    Dropped the skip-tags setting.
Solution:   Put it back.
2016-02-24 22:27:05 +01:00
Bram Moolenaar
81275ca9ce patch 7.4.1414
Problem:    Appveyor only builds one feature set.
Solution:   Build a combination of features and GUI/console. (Christian
            Brabandt)
2016-02-24 21:02:20 +01:00
Bram Moolenaar
8b374215cc patch 7.4.1413
Problem:    When calling ch_close() the close callback is invoked, even though
            the docs say it isn't. (Christian J. Robinson)
Solution:   Don't call the close callback.
2016-02-24 20:43:06 +01:00
Bram Moolenaar
68c85fcdf3 patch 7.4.1412
Problem:    Compiler warning for indent. (Dominique Pelle)
Solution:   Fix the indent.
2016-02-24 12:57:50 +01:00
Bram Moolenaar
9e34110816 patch 7.4.1411
Problem:    Compiler warning for indent. (Ajit Thakkar)
Solution:   Indent normally.
2016-02-23 23:04:36 +01:00
Bram Moolenaar
42dd7aee41 patch 7.4.1410
Problem:    Leaking memory in cscope interface.
Solution:   Free memory when no tab is found. (Christian Brabandt)
2016-02-23 22:50:12 +01:00
Bram Moolenaar
1858a842af patch 7.4.1409
Problem:    Configure includes GUI despite --disable-gui flag.
Solution:   Add SKIP_GTK3. (Kazunobu Kuriyama)
2016-02-23 22:30:31 +01:00
Bram Moolenaar
3ea0f1ae31 patch 7.4.1408
Problem:    MS-Windows doesn't have isnan() and isinf().
Solution:   Use _isnan() and _isinf().
2016-02-23 22:07:32 +01:00
Bram Moolenaar
f1b6ac7229 patch 7.4.1407
Problem:    json_encode() does not handle NaN and inf properly. (David
            Barnett)
Solution:   For JSON turn them into "null".  For JS use "NaN" and "Infinity".
            Add isnan().
2016-02-23 21:26:43 +01:00
Bram Moolenaar
e16e5a9d8d patch 7.4.1406
Problem:    Leaking memory in cs_print_tags_priv().
Solution:   Free tbuf. (idea by Forrest Fleming)
2016-02-23 20:44:08 +01:00
Bram Moolenaar
8aefbe0ad5 patch 7.4.1405
Problem:    Completion menu flickers.
Solution:   Delay showing the popup menu. (Shougo, Justin M. Keyes, closes
            #656)
2016-02-23 20:13:16 +01:00
Bram Moolenaar
9186a27622 patch 7.4.1404
Problem:    ch_read() doesn't time out on MS-Windows.
Solution:   Instead of WM_NETBEANS use select(). (Yukihiro Nakadaira)
2016-02-23 19:34:01 +01:00
Bram Moolenaar
0106e3d0bf patch 7.4.1403
Problem:    Can't build without the quickfix feature.
Solution:   Add #ifdefs. Call ex_ni() for unimplemented commands. (Yegappan
            Lakshmanan)
2016-02-23 18:55:43 +01:00
Bram Moolenaar
9892189d2e patch 7.4.1402
Problem:    GTK 3 is not supported.
Solution:   Add GTK 3 support. (Kazunobu Kuriyama)
2016-02-23 17:14:37 +01:00
Bram Moolenaar
6bd364e084 patch 7.4.1401
Problem:    Having 'autochdir' set during startup and using diff mode doesn't
            work. (Axel Bender)
Solution:   Don't use 'autochdir' while still starting up. (Christian
            Brabandt)
2016-02-23 16:19:07 +01:00
Bram Moolenaar
254ebaf068 patch 7.4.1400
Problem:    Perl eval doesn't work properly on 64-bit big-endian machine.
Solution:   Use 32 bit type for the key. (Danek Duvall)
2016-02-23 16:06:28 +01:00
Bram Moolenaar
48e330aff9 patch 7.4.1399
Problem:    The MS-DOS code does not build.
Solution:   Remove the old MS-DOS code.
2016-02-23 14:53:34 +01:00
Bram Moolenaar
4e221c99e8 patch 7.4.1398
Problem:    The close-cb option is not implemented yet.
Solution:   Implemente close-cb. (Yasuhiro Matsumoto)
2016-02-23 13:20:22 +01:00
Bram Moolenaar
0bb6108eb4 patch 7.4.1397
Problem:    Sort test fails on MS-Windows.
Solution:   Correct the compare function.
2016-02-22 23:50:28 +01:00
Bram Moolenaar
1daae446e5 patch 7.4.1396
Problem:    Compiler warnings for conversions.
Solution:   Add type cast.
2016-02-22 23:25:25 +01:00
Bram Moolenaar
eed284a169 patch 7.4.1395
Problem:    Using DETACH in quotes is not compatible with the Netbeans
            interface. (Xavier de Gaye)
Solution:   Remove the quotes, only use them for JSON and JS mode.
2016-02-22 23:13:33 +01:00
Bram Moolenaar
0b962473dd patch 7.4.1394
Problem:    Can't sort inside a sort function.
Solution:   Use a struct to store the sort parameters. (Jacob Niehus)
2016-02-22 22:51:33 +01:00
Bram Moolenaar
bd73ae1bc6 patch 7.4.1393
Problem:    Starting a job hangs in the GUI. (Takuya Fujiwara)
Solution:   Don't check if ch_job is NULL when checking for an error.
            (Yasuhiro Matsumoto)
2016-02-22 22:19:22 +01:00
Bram Moolenaar
2cd5bb2505 patch 7.4.1392
Problem:    Some tests fail for Win32 console version.
Solution:   Move the tests to SCRIPTS_MORE2.  Pass VIMRUNTIME. (Christian
            Brabandt)
2016-02-22 22:05:32 +01:00
Bram Moolenaar
4db20ab091 patch 7.4.1391
Problem:    Warning for uninitialzed variable.
Solution:   Set it to zero. (Christian Brabandt)
2016-02-22 21:48:30 +01:00
Bram Moolenaar
33c31d5abf patch 7.4.1390
Problem:    When building with GTK and glib-compile-resources cannot be found
            building Vim fails. (Michael Gehring)
Solution:   Make GLIB_COMPILE_RESOURCES empty instead of leaving it at "no".
            (nuko8, closes #655)
2016-02-22 21:07:06 +01:00
Bram Moolenaar
b2bd6a087d patch 7.4.1389
Problem:    Incomplete function declaration.
Solution:   Add "void". (Yasuhiro Matsumoto)
2016-02-22 20:20:25 +01:00
Bram Moolenaar
bdcd752750 patch 7.4.1388
Problem:    Compiler warning. (Cesar Romani)
Solution:   Initialize variable.
2016-02-22 20:19:03 +01:00
Bram Moolenaar
8f8ae40ce4 patch 7.4.1387
Problem:    Win16 docs still referenced.
Solution:   Remove Win16 files from the docs Makefile. (Kenichi Ito)
2016-02-22 20:07:49 +01:00
Bram Moolenaar
23c463a157 patch 7.4.1386
Problem:    When the Job exit callback is invoked, the job may be freed too
            soon. (Yasuhiro Matsumoto)
Solution:   Increase refcount.
2016-02-22 11:39:27 +01:00
Bram Moolenaar
5e83840756 patch 7.4.1385
Problem:    Compiler warning for using array.
Solution:   Use the right member name. (Yegappan Lakshmanan)
2016-02-21 23:12:41 +01:00
Bram Moolenaar
f6fee0e2d4 patch 7.4.1384
Problem:    It is not easy to use a set of plugins and their dependencies.
Solution:   Add packages, ":loadopt", 'packpath'.
2016-02-21 23:02:49 +01:00
Bram Moolenaar
271273c39f patch 7.4.1383
Problem:    GvimExt only loads the old libintl.dll.
Solution:   Also try loading libint-8.dll. (Ken Takata, closes #608)
2016-02-21 20:30:22 +01:00
Bram Moolenaar
02e83b438e patch 7.4.1382
Problem:    Can't get the job of a channel.
Solution:   Add ch_getjob().
2016-02-21 20:10:26 +01:00
Bram Moolenaar
eab089d22f patch 7.4.1381
Problem:    Exit value not available on MS-Windows.
Solution:   Set the exit value.
2016-02-21 19:32:02 +01:00
Bram Moolenaar
ee1cffc07a patch 7.4.1380
Problem:    The job exit callback is not implemented.
Solution:   Add the "exit-cb" option.
2016-02-21 19:14:41 +01:00
Bram Moolenaar
b7522a2f0c patch 7.4.1379
Problem:    Channel test fails on Win32 console.
Solution:   Don't sleep when timeout is zero. Call channel_wait() before
            channel_read(). Channels are not polled during ":sleep". (Yukihiro
            Nakadaira)
2016-02-21 17:20:55 +01:00
Bram Moolenaar
65edff8f51 patch 7.4.1378
Problem:    Can't change job settings after it started.
Solution:   Add job_setoptions() with the "stoponexit" flag.
2016-02-21 16:40:11 +01:00
Bram Moolenaar
08298fa1d3 patch 7.4.1377
Problem:    Test_connect_waittime() is flaky.
Solution:   Ignore the "Connection reset by peer" error.
2016-02-21 13:01:53 +01:00
Bram Moolenaar
decb14d68c Update channel.txt 2016-02-20 23:32:02 +01:00
Bram Moolenaar
b6b5252bcd patch 7.4.1376
Problem:    ch_setoptions() cannot set all options.
Solution:   Support more options.
2016-02-20 23:30:07 +01:00
Bram Moolenaar
e89ff0472b patch 7.4.1375
Problem:    Still some Win16 code.
Solution:   Remove FEAT_GUI_W16.(Hirohito Higashi)
2016-02-20 22:17:05 +01:00
Bram Moolenaar
af7559f666 patch 7.4.1374
Problem:    Channel test hangs on MS-Windows.
Solution:   Disable the ch_read() that is supposed to time out.
2016-02-20 21:48:25 +01:00
Bram Moolenaar
ece61b06ef patch 7.4.1373
Problem:    Calling a Vim function over a channel requires turning the
            arguments into a string.
Solution:   Add the "call" command. (Damien)  Also merge "expr" and "eval"
            into one.
2016-02-20 21:39:05 +01:00
Bram Moolenaar
6f3a544228 patch 7.4.1372
Problem:    channel read implementation is incomplete.
Solution:   Add ch_read() and options for ch_readraw().
2016-02-20 19:56:13 +01:00
Bram Moolenaar
fffd5560c6 patch 7.4.1371
Problem:    X11 GUI callbacks don't specify the part of the channel.
Solution:   Pass the fd instead of the channel ID.
2016-02-20 18:44:39 +01:00
Bram Moolenaar
ddbe7d26b1 patch 7.4.1370
Problem:    The Python test script may keep on running.
Solution:   Join the threads. (Yasuhiro Matsumoto)
2016-02-20 18:26:48 +01:00
Bram Moolenaar
42d38a2db1 patch 7.4.1369
Problem:    Channels don't have a queue for stderr.
Solution:   Have a queue for each part of the channel.
2016-02-20 18:18:59 +01:00
Bram Moolenaar
914331648d patch 7.4.1368
Problem:    One more Win16 file remains.
Solution:   Delete it.
2016-02-20 15:50:18 +01:00
Bram Moolenaar
e0fa3742ea Updated runtime files. 2016-02-20 15:47:01 +01:00
Bram Moolenaar
c6b14f0a83 patch 7.4.1367
Problem:    Compiler warning for unreachable code.
Solution:   Remove a "break". (Danek Duvall)
2016-02-20 15:26:42 +01:00
Bram Moolenaar
663128270e patch 7.4.1366
Problem:    Typo in test and resulting error in test result.
Solution:   Fix the typo and correct the result. (James McCoy, close #650)
2016-02-20 15:10:50 +01:00
Bram Moolenaar
befb366aff patch 7.4.1365
Problem:    Cannot execute a single test function.
Solution:   Add an argument to filter the functions with. (Yasuhiro Matsumoto)
2016-02-20 14:41:40 +01:00
Bram Moolenaar
cf7164a088 patch 7.4.1364
Problem:    The Win 16 code is not maintained and unused.
Solution:   Remove the Win 16 support.
2016-02-20 13:55:06 +01:00
Bram Moolenaar
065bbac8ad patch 7.4.1363
Problem:    Compiler warnings with tiny build.
Solution:   Add #ifdefs.
2016-02-20 13:08:46 +01:00
Bram Moolenaar
8600ace876 patch 7.4.1362
Problem:    Using unitinialized value.
Solution:   Initialize jo_set.
2016-02-19 23:31:40 +01:00
Bram Moolenaar
254e00d714 patch 7.4.1361
Problem:    Channel test fails on Solaris.
Solution:   Use the 1 msec waittime for all systems.
2016-02-19 23:23:12 +01:00
Bram Moolenaar
0ba75a9714 patch 7.4.1360
Problem:    Can't remove a callback with ch_setoptions().
Solution:   When passing zero or an empty string remove the callback.
2016-02-19 23:21:26 +01:00
Bram Moolenaar
1f6ef66254 patch 7.4.1359
Problem:    Channel test ch_sendexpr() times out.
Solution:   Increase the timeout
2016-02-19 22:59:44 +01:00
Bram Moolenaar
1d6fbe6540 patch 7.4.1358
Problem:    Compiler warning when not building with +crypt.
Solution:   Add #ifdef. (John Marriott)
2016-02-19 22:46:34 +01:00
Bram Moolenaar
132006c3d0 patch 7.4.1357
Problem:    Error for returning value from void function.
Solution:   Don't do that.
2016-02-19 22:38:15 +01:00
Bram Moolenaar
40ea1da14b patch 7.4.1356
Problem:    Job and channel options parsing is scattered.
Solution:   Move all option value parsing to get_job_options();
2016-02-19 22:33:35 +01:00
Bram Moolenaar
ed5a78e11c patch 7.4.1355
Problem:    Win32 console and GUI handle channels differently.
Solution:   Consolidate code between Win32 console and GUI.
2016-02-19 21:05:03 +01:00
Bram Moolenaar
223b723be0 patch 7.4.1354
Problem:    MS-Windows: Mismatch between default compile options and what the
            code expects.
Solution:   Change the default WINVER from 0x0500 to 0x0501. (Ken Takata)
2016-02-19 19:43:49 +01:00
Bram Moolenaar
922d25f99c patch 7.4.1353
Problem:    Test_connect_waittime is skipped for MS-Windows.
Solution:   Add the test back, it works now.
2016-02-18 22:58:26 +01:00
Bram Moolenaar
93bf558cae patch 7.4.1352
Problem:    The test script lists all functions before executing them.
Solution:   Only list the function currently being executed.
2016-02-18 22:25:47 +01:00
Bram Moolenaar
81661fb868 patch 7.4.1351
Problem:    When the port isn't opened yet when ch_open() is called it may
            fail instead of waiting for the specified time.
Solution:   Loop when select() succeeds but when connect() failed. Also use
            channel logging for jobs.  Add ch_log().
2016-02-18 22:23:34 +01:00
Bram Moolenaar
ec70bdd68a patch 7.4.1350
Problem:    When the test server fails to start Vim hangs.
Solution:   Check that there is actually something to read from the tty fd.
2016-02-18 22:17:42 +01:00
Bram Moolenaar
74a97b1ea0 patch 7.4.1349
Problem:    And some more MingW compiler warnings. (Cesar Romani)
Solution:   Add type casts.
2016-02-18 21:19:21 +01:00
Bram Moolenaar
7f0608fb52 patch 7.4.1348
Problem:    More compiler warnings. (John Marriott)
Solution:   Add type casts, remove unused variable.
2016-02-18 20:46:39 +01:00
Bram Moolenaar
8b778d5599 patch 7.4.1347
Problem:    When there is any error Vim will use a non-zero exit code.
Solution:   When using ":silent!" do not set the exit code. (Yasuhiro
            Matsumoto)
2016-02-18 20:31:34 +01:00
Bram Moolenaar
a1e24b9bc9 patch 7.4.1346
Problem:    Compiler warnings in build with -O2.
Solution:   Add inintializations.
2016-02-18 20:18:09 +01:00
Bram Moolenaar
a87e2c277e patch 7.4.1345
Problem:    A few more compiler warnings. (Axel Bender)
Solution:   Add type casts.
2016-02-17 20:48:19 +01:00
Bram Moolenaar
203219048f patch 7.4.1344
Problem:    Can't compile Win32 GUI with tiny features.
Solution:   Add #ifdef. (Christian Brabandt)
2016-02-17 12:30:17 +01:00
Bram Moolenaar
cd39bbcd1d patch 7.4.1343
Problem:    Can't compile with +job but without +channel. (Andrei Olsen)
Solution:   Move get_job_options up and adjust #ifdef.
2016-02-17 10:05:42 +01:00
Bram Moolenaar
e74e8e7d75 patch 7.4.1342
Problem:    On Mac OS/X the waittime must be > 0 for connect to work.
Solution:   Use select() in a different way. (partly by Kazunobu Kuriyama)
            Always use a waittime of 1 or more.
2016-02-16 22:01:30 +01:00
Bram Moolenaar
910b8aac5d patch 7.4.1341
Problem:    It's difficult to add more arguments to ch_sendraw() and
            ch_sendexpr().
Solution:   Make the third option a dictionary.
2016-02-16 21:03:07 +01:00
Bram Moolenaar
7d63f62460 patch 7.4.1340
Problem:    Merge left extra #endif behind.
Solution:   Remove the #endif
2016-02-16 20:31:31 +01:00
Bram Moolenaar
418f81b5fa patch 7.4.1339
Problem:    Warnings when building the GUI with MingW. (Cesar Romani)
Solution:   Add type cats. (Yasuhiro Matsumoto)
2016-02-16 20:12:02 +01:00
Bram Moolenaar
0c2c96e47c patch 7.4.1338
Problem:    Another part of the change is missing.
Solution:   Type os_unix.c right this time.
2016-02-16 19:44:20 +01:00
Bram Moolenaar
ba093bc000 patch 7.4.1337
Problem:    Part of the change is missing.
Solution:   Add changes to eval.c
2016-02-16 19:37:29 +01:00
Bram Moolenaar
9a6e33a19b patch 7.4.1336
Problem:    Channel NL mode is not supported yet.
Solution:   Add NL mode support to channels.
2016-02-16 19:25:12 +01:00
Bram Moolenaar
5d54a04598 patch 7.4.1335
Problem:    Can't build on MS-Windows with +job but without +channel. (Cesar
            Romani)
Solution:   Add #ifdefs. (Yasuhiro Matsumoto)
2016-02-16 16:39:51 +01:00
Bram Moolenaar
6aa2cd4be2 patch 7.4.1334
Problem:    Many compiler warnings with MingW.
Solution:   Add type casts. (Yasuhiro Matsumoto)
2016-02-16 15:06:59 +01:00
Bram Moolenaar
f8df7addc5 patch 7.4.1333
Problem:    Channel test fails on non-darwin builds.
Solution:   Add the "osx" feature and test for that. (Kazunobu Kuriyama)
2016-02-16 14:07:40 +01:00
Bram Moolenaar
acd58ef676 patch 7.4.1332
Problem:    Problem using Python3 when compiled with MingW.
Solution:   Define PYTHON3_HOME as a wide character string. (Yasuhiro
            Matsumoto)
2016-02-16 13:42:24 +01:00
Bram Moolenaar
d46ae142aa patch 7.4.1331
Problem:    Crash when closing the channel in a callback. (Christian J.
            Robinson)
Solution:   Take the callback out of the list before invoking it.
2016-02-16 13:33:52 +01:00
Bram Moolenaar
0943a09db8 patch 7.4.1330
Problem:    fd_read() has an unused argument.
Solution:   Remove the timeout. (Yasuhiro Matsumoto)
2016-02-16 13:11:17 +01:00
Bram Moolenaar
5cefd40982 patch 7.4.1329
Problem:    Crash when using channel that failed to open.
Solution:   Check for NULL.  Update messages. (Yukihiro Nakadaira)
2016-02-16 12:44:26 +01:00
Bram Moolenaar
12dcf024e9 patch 7.4.1328
Problem:    Can't compile with +job but without +channel. (John Marriott)
Solution:   Add more #ifdefs.
2016-02-15 23:09:04 +01:00
Bram Moolenaar
b6a7737938 patch 7.4.1327
Problem:    Channel test doesn't work if Python executable is python.exe.
Solution:   Find py.exe or python.exe. (Ken Takata)
2016-02-15 22:55:28 +01:00
Bram Moolenaar
97eba78f69 patch 7.4.1326
Problem:    Build rules are bit too complicated.
Solution:   Remove -lwsock32 from Netbeans, it's already added for the channel
            feature that it depends on. (Tony Mechelynck)
2016-02-15 22:45:12 +01:00
Bram Moolenaar
2368917d8f patch 7.4.1325
Problem:    Channel test fails on difference between Unix and DOS line endings.
Solution:   Strip off CR.  Make assert show difference better.
2016-02-15 22:37:37 +01:00
Bram Moolenaar
38a55639d6 Update runtime files. 2016-02-15 22:07:32 +01:00
Bram Moolenaar
d807036d10 patch 7.4.1324
Problem:    Channels with pipes don't work on MS-Windows.
Solution:   Add pipe I/O support. (Yasuhiro Matsumoto)
2016-02-15 21:56:54 +01:00
Bram Moolenaar
a971df849f patch 7.4.1323
Problem:    Do not get warnings when building with MingW.
Solution:   Remove the -w flag. (Ken Takata)
2016-02-15 21:22:10 +01:00
Bram Moolenaar
3bece9fee9 patch 7.4.1322
Problem:    Crash when unletting the variable that holds the channel in a
            callback function.  (Christian Robinson)
Solution:   Increase the reference count while invoking the callback.
2016-02-15 20:39:46 +01:00
Bram Moolenaar
71b0f7b5c0 patch 7.4.1321
Problem:    Compiler complains about missing statement.
Solution:   Add an empty statement. (Andrei Olsen)
2016-02-15 12:44:20 +01:00
Bram Moolenaar
44d571868f patch 7.4.1320
Problem:    Building with Cygwin or MingW with channel but without Netbeans
            doesn't work.
Solution:   Set NETBEANS to "no" when not used.
2016-02-14 23:11:23 +01:00
Bram Moolenaar
16eb4f8800 patch 7.4.1319
Problem:    Tests fail on MS-Windows and on Unix with GUI.
Solution:   Fix unregistering.
2016-02-14 23:02:34 +01:00
Bram Moolenaar
7b3ca76a45 patch 7.4.1318
Problem:    Channel with pipes doesn't work in GUI.
Solution:   Register input handlers for pipes.
2016-02-14 19:13:43 +01:00
Bram Moolenaar
0727d362b4 patch 7.4.1317
Problem:    MS-Windows: channel test fails.
Solution:   Temporarily disable Test_connect_waittime().
2016-02-14 00:19:59 +01:00
Bram Moolenaar
fa4bce7dd2 patch 7.4.1316
Problem:    Can't build MS-Windows console version. (Tux)
Solution:   Add #ifdefs.
2016-02-13 23:50:08 +01:00
Bram Moolenaar
7707344dde patch 7.4.1315
Problem:    Using a channel handle does not allow for freeing it when unused.
Solution:   Add the Channel variable type.
2016-02-13 23:23:53 +01:00
Bram Moolenaar
e516c39ee9 patch 7.4.1314
Problem:    Warning for uninitialzed variable.
Solution:   Initialize it. (Dominique Pelle)
2016-02-13 18:50:38 +01:00
Bram Moolenaar
bfa1ffca8b patch 7.4.1313
Problem:    MS-Windows: Using socket after it was closed causes an exception.
Solution:   Don't give an error when handling WM_NETBEANS.  Re-enable tests
            for MS-Windows.
2016-02-13 18:40:30 +01:00
Bram Moolenaar
f8b7d890f1 patch 7.4.1312
Problem:    sock_T is not defined without the +channel feature.
Solution:   Always define it.
2016-02-13 17:24:26 +01:00
Bram Moolenaar
d090d7bab5 patch 7.4.1311
Problem:    sock_T is defined too late.
Solution:   Move it up.
2016-02-13 17:09:53 +01:00
Bram Moolenaar
6463ca229c patch 7.4.1310
Problem:    Jobs don't open a channel.
Solution:   Create pipes and add them to the channel.  Add ch_logfile().
            Only Unix for now.
2016-02-13 17:04:46 +01:00
Bram Moolenaar
00af60bbb6 patch 7.4.1309
Problem:    When a test fails not all relevant info is listed.
Solution:   Add the errors to the messages.
2016-02-13 14:06:14 +01:00
Bram Moolenaar
45c7f05473 patch 7.4.1308
Problem:    Typo in test.
Solution:   Change endf to endif.
2016-02-12 22:35:51 +01:00
Bram Moolenaar
f02c5cffd8 patch 7.4.1307
Problem:    Some channel tests fail on MS-Windows.
Solution:   Disable the failing tests temporarily.
2016-02-12 22:25:56 +01:00
Bram Moolenaar
76467dfcaf patch 7.4.1306
Problem:    Job control doesn't work well on MS-Windows.
Solution:   Various fixes. (Ken Takata, Ozaki Kiichi , Yukihiro Nakadaira,
            Yasuhiro Matsumoto)
2016-02-12 19:30:26 +01:00
Bram Moolenaar
7c29f38781 patch 7.4.1305
Problem:    "\%1l^#.*" does not match on a line starting with "#".
Solution:   Do not clear the start-of-line flag. (Christian Brabandt)
2016-02-12 19:08:15 +01:00
Bram Moolenaar
7823a3bd2e patch 7.4.1304
Problem:    Function names are difficult to read.
Solution:   Rename jsonencode to json_encode, jsondecode to json_decode,
            jsencode to js_encode and jsdecode to js_decode.
2016-02-11 21:08:32 +01:00
Bram Moolenaar
b6a4fee37e patch 7.4.1303
Problem:    A Funcref is not accepted as a callback.
Solution:   Make a Funcref work. (Damien)
2016-02-11 20:48:34 +01:00
Bram Moolenaar
6119e6156e patch 7.4.1302
Problem:    Typo in struct field name. (Ken Takata)
Solution:   Rename jf_pi to jv_pi.
2016-02-11 12:48:36 +01:00
Bram Moolenaar
39b21272d5 patch 7.4.1301
Problem:    Missing options in ch_open().
Solution:   Add s:chopt like in the other calls. (Ozaki Kiichi)
2016-02-10 23:28:21 +01:00
Bram Moolenaar
2ab375e54e patch 7.4.1300
Problem:    Cannot test CursorMovedI because there is typeahead.
Solution:   Add disable_char_avail_for_testing().
2016-02-10 22:23:06 +01:00
Bram Moolenaar
f6157284de patch 7.4.1299
Problem:    When the server sends a message with ID zero the channel handler
            is not invoked. (Christian J.  Robinson)
Solution:   Recognize zero value for the request ID.  Add a test for invoking
            the channel handler.
2016-02-10 21:07:14 +01:00
Bram Moolenaar
d6a8d48587 patch 7.4.1298
Problem:    When the channel test fails in an unexpected way the server keeps
            running.
Solution:   Use try/catch. (Ozaki Kiichi)
2016-02-10 20:32:20 +01:00
Bram Moolenaar
a483326e3b patch 7.4.1297
Problem:    On Mac test_channel leaves python instances running.
Solution:   Use a small waittime to make ch_open() work. (Ozaki Kiichi)
2016-02-09 23:33:25 +01:00
Bram Moolenaar
f068dcafcf patch 7.4.1296
Problem:    Cursor changes column with up motion when the matchparen plugin
            saves and restores the cursor position. (Martin Kunev)
Solution:   Make sure curswant is updated before invoking the autocommand.
2016-02-09 21:24:46 +01:00
Bram Moolenaar
4d8747cdfc patch 7.4.1295
Problem:    string(job) doesn't work well on MS-Windows.
Solution:   Use the process ID. (Yasuhiro Matsumoto)
2016-02-09 20:39:26 +01:00
Bram Moolenaar
7280140c08 patch 7.4.1294
Problem:    job_stop() only kills the started process.
Solution:   Send the signal to the process group. (Olaf Dabrunz)
2016-02-09 11:37:50 +01:00
Bram Moolenaar
e56bf15c16 patch 7.4.1293
Problem:    Sometimes a channel may hang waiting for a message that was
            already discarded. (Ken Takata)
Solution:   Store the ID of the message blocking on in the channel.
2016-02-08 23:23:42 +01:00
Bram Moolenaar
2fc83fcd1d patch 7.4.1292
Problem:    Some compilers complain about uninitialzed variable, even though
            all possible cases are handled. (Dominique Pelle)
Solution:   Add a default initialization.
2016-02-08 22:57:24 +01:00
Bram Moolenaar
b92abad0c5 patch 7.4.1291
Problem:    On MS-Windows the channel test server doesn't quit.
Solution:   Use return instead of break. (Ken Takata)
2016-02-08 22:37:24 +01:00
Bram Moolenaar
cbebd4879c Updated runtime files. 2016-02-07 23:02:56 +01:00
Bram Moolenaar
ee5aeae22b patch 7.4.1290
Problem:    Coverity complains about uneccessary check for NULL.
Solution:   Remove the check.
2016-02-07 22:30:47 +01:00
Bram Moolenaar
0fa98e7b85 patch 7.4.1289
Problem:    Channel test fails on MS-Windows, connect() takes too long.
Solution:   Adjust the test for MS-Windows using "waittime".
2016-02-07 22:21:19 +01:00
Bram Moolenaar
ae8eb3ca92 patch 7.4.1288
Problem:    ch_sendexpr() does not use JS encoding.
Solution:   Use the encoding that fits the channel mode.  Refuse using
            ch_sendexpr() on a raw channel.
2016-02-07 21:59:26 +01:00
Bram Moolenaar
74f5e65bcc patch 7.4.1287
Problem:    Channel test fails.
Solution:   Use reltimefloat().
2016-02-07 21:44:49 +01:00
Bram Moolenaar
7a84dbe6be patch 7.4.1286
Problem:    ch_open() with a timeout doesn't work correctly.
Solution:   Change how select() is used.  Don't give an error on timeout.
            Add a test for ch_open() failing.
2016-02-07 21:29:00 +01:00
Bram Moolenaar
cb00f03933 Add missing test file. 2016-02-07 21:25:56 +01:00
Bram Moolenaar
79c2c881bb patch 7.4.1285
Problem:    Cannot measure elapsed time.
Solution:   Add reltimefloat().
2016-02-07 21:19:28 +01:00
Bram Moolenaar
dc94a26a64 patch 7.4.1284
Problem:    Test 49 fails.
Solution:   Check for a different error message.
2016-02-07 20:29:00 +01:00
Bram Moolenaar
942d6b2268 patch 7.4.1283
Problem:    The job feature isn't available on MS-Windows.
Solution:   Add the job feature.  Fix argument of job_stop(). (Yasuhiro
            Matsumoto)
2016-02-07 19:57:16 +01:00
Bram Moolenaar
768ce2435a patch 7.4.1282
Problem:    Crash when evaluating the pattern of ":catch" causes an error.
            (Dominique Pelle)
Solution:   Block error messages at this point.
2016-02-07 19:46:12 +01:00
Bram Moolenaar
ea8c219ca8 patch 7.4.1281
Problem:    No test for skipping over code that isn't evaluated.
Solution:   Add a test with code that would fail when not skipped.
2016-02-07 19:27:53 +01:00
Bram Moolenaar
eba6d8c66c patch 7.4.1280
Problem:    Missing case value.
Solution:   Add VAR_JOB.
2016-02-07 19:25:51 +01:00
Bram Moolenaar
595e64e259 patch 7.4.1279
Problem:    jsonencode() is not producing strict JSON.
Solution:   Add jsencode() and jsdecode().  Make jsonencode() and jsondecode()
            strict.
2016-02-07 19:19:53 +01:00
Bram Moolenaar
55fab439a6 patch 7.4.1278
Problem:    When jsonencode() fails it still returns something.
Solution:   Return an empty string on failure.
2016-02-07 16:53:13 +01:00
Bram Moolenaar
a6f72ba7c6 patch 7.4.1277
Problem:    Compiler can complain about missing enum value in switch with some
            combination of features.
Solution:   Remove #ifdefs around case statements.
2016-02-07 15:57:00 +01:00
Bram Moolenaar
fbc4b4db3a patch 7.4.1276
Problem:    Warning for not using return value of fcntl().
Solution:   Explicitly ignore the return value.
2016-02-07 15:14:01 +01:00
Bram Moolenaar
cb4b01230b patch 7.4.1275
Problem:    Build fails on MS-Windows.
Solution:   Fix wrong #ifdef.
2016-02-07 14:53:21 +01:00
Bram Moolenaar
835dc636a5 patch 7.4.1274
Problem:    Cannot run a job.
Solution:   Add job_start(), job_status() and job_stop(). Currently only works
            for Unix.
2016-02-07 14:27:38 +01:00
Bram Moolenaar
c5f98ee987 patch 7.4.1273
Problem:    assert_false(v:false) still fails.
Solution:   Fix the typo.
2016-02-07 00:00:35 +01:00
Bram Moolenaar
1701481c53 patch 7.4.1272
Problem:    Using future enum value.
Solution:   Remove it.
2016-02-06 20:32:25 +01:00
Bram Moolenaar
3712792637 patch 7.4.1271
Problem:    assert_false(v:false) reports an error. (Nikolai Pavlov)
Solution:   Recognize v:true and v:false. (Closes #625)
2016-02-06 20:29:28 +01:00
Bram Moolenaar
81e7a9c3fb patch 7.4.1270
Problem:    Warnings for missing values in switch.
Solution:   Change switch to if-else or add values.
2016-02-06 19:57:20 +01:00
Bram Moolenaar
4f8b8faec3 patch 7.4.1269
Problem:    Encoding {'key':} to JSON doesn't give an error (Tyru)
Solution:   Give an error.
2016-02-06 18:42:07 +01:00
Bram Moolenaar
26dfc41335 patch 7.4.1268
Problem:    Waittime is used as seconds instead of milliseconds. (Hirohito
            Higashi)
Solution:   Divide by 1000.
2016-02-06 18:18:54 +01:00
Bram Moolenaar
a03f233515 patch 7.4.1267
Problem:    Easy to miss handling all types of variables.
Solution:   Change the variable type into an enum.
2016-02-06 18:09:59 +01:00
Bram Moolenaar
ab9fc7e0cf patch 7.4.1266
Problem:    A BufAdd autocommand may cause an ml_get error (Christian
            Brabandt)
Solution:   Increment RedrawingDisabled earlier.
2016-02-06 15:29:40 +01:00
Bram Moolenaar
f416086f26 patch 7.4.1265
Problem:    Not all channel commands are tested.
Solution:   Add a test for "normal", "expr" and "redraw".
2016-02-05 23:09:12 +01:00
Bram Moolenaar
6076fe1986 patch 7.4.1264
Problem:    Crash when receiving an empty array.
Solution:   Check for array with wrong number of arguments. (Damien)
2016-02-05 22:49:56 +01:00
Bram Moolenaar
4d919d748e patch 7.4.1263
Problem:    ch_open() hangs when the server isn't running.
Solution:   Add a timeout. Use a dict to pass arguments. (Yasuhiro Matsumoto)
2016-02-05 22:36:41 +01:00
Bram Moolenaar
a07fec9c85 patch 7.4.1262
Problem:    The channel callback is not invoked.
Solution:   Make a list of pending callbacks.
2016-02-05 21:04:08 +01:00
Bram Moolenaar
4b6a6dcbe7 patch 7.4.1261
Problem:    Pending channel messages are garbage collected. Leaking memory in
            ch_sendexpr().  Leaking memory for a decoded JSON string.
Solution:   Mark the message list as used. Free the encoded JSON.  Don't save
            the JSON string.
2016-02-04 22:49:49 +01:00
Bram Moolenaar
a8343c1808 patch 7.4.1260
Problem:    The channel feature doesn't work on Win32 GUI.
Solution:   Use WSAGetLastError(). (Ken Takata)
2016-02-04 22:09:48 +01:00
Bram Moolenaar
3fc3e14282 patch 7.4.1259
Problem:    No test for what patch 7.3.414 fixed.
Solution:   Add a test. (Elias Diem)
2016-02-04 21:53:33 +01:00
Bram Moolenaar
a02b321686 patch 7.4.1258
Problem:    The channel test can fail if messages arrive later.
Solution:   Add a short sleep. (Jun T.)
2016-02-04 21:03:33 +01:00
Bram Moolenaar
681baaf4a4 Update runtime files. 2016-02-04 20:57:07 +01:00
Bram Moolenaar
e24692573a patch 7.4.1257
Problem:    Channel test fails in some configurations.
Solution:   Add check for the +channel feature.
2016-02-04 10:54:34 +01:00
Bram Moolenaar
b3e2f00f39 patch 7.4.1256
Problem:    On Mac sys.exit(0) doesn't kill the test server.
Solution:   Use self.server.shutdown(). (Jun Takimoto)
2016-02-04 00:11:37 +01:00
Bram Moolenaar
66624ff0d9 patch 7.4.1255
Problem:    Crash for channel "eval" command without third argument.
Solution:   Check for missing argument.
2016-02-03 23:59:43 +01:00
Bram Moolenaar
3b05b135e3 patch 7.4.1254
Problem:    Opening a second channel causes a crash. (Ken Takata)
Solution:   Don't re-allocate the array with channels.
2016-02-03 23:25:07 +01:00
Bram Moolenaar
608a8919ca patch 7.4.1253
Problem:    Python test server not displaying second of two commands.
            Solaris doesn't have "pkill --full".
Solution:   Also echo the second command. Use "pkill -f".
2016-02-03 22:39:51 +01:00
Bram Moolenaar
e7bed627c8 patch 7.4.1252
Problem:    The channel test server may receive two messages concatenated.
Solution:   Split the messages.
2016-02-03 22:20:29 +01:00
Bram Moolenaar
bf087cead9 patch 7.4.1251
Problem:    New test file missing from distribution.
Solution:   Add src/testdir/*.py.
2016-02-03 21:56:42 +01:00
Bram Moolenaar
2212c4154c patch 7.4.1250
Problem:    Running tests in shadow directory fails.
Solution:   Also link testdir/*.py
2016-02-03 21:45:27 +01:00
Bram Moolenaar
fcb1e3d168 patch 7.4.1249
Problem:    Crash when the process a channel is connected to exits.
Solution:   Use the file descriptor properly.  Add a test. (Damien)
            Also add a test for eval().
2016-02-03 21:32:46 +01:00
Bram Moolenaar
f92591f7f9 patch 7.4.1248
Problem:    Can't reliably stop the channel test server.  Can't start the
            server if the python file is not executable.
Solution:   Use "pkill" instead of "killall".  Run the python file as an
            argument instead of as an executable.
2016-02-03 20:22:32 +01:00
Bram Moolenaar
a0f9cd148e patch 7.4.1247
Problem:    The channel test doesn't run on MS-Windows.
Solution:   Make it work on the MS-Windows console. (Ken Takata)
2016-02-03 20:13:24 +01:00
Bram Moolenaar
7c764f7bbf Make the python script executable. 2016-02-02 23:33:43 +01:00
Bram Moolenaar
d7ece1008e patch 7.4.1246
Problem:    The channel functionality isn't tested.
Solution:   Add a test using a Python test server.
2016-02-02 23:23:02 +01:00
Bram Moolenaar
d087566a41 patch 7.4.1245
Problem:    File missing from distribution.
Solution:   Add json_test.c.
2016-02-02 20:52:42 +01:00
Bram Moolenaar
f57969a20a patch 7.4.1244
Problem:    The channel functions don't sort together.
Solution:   Use a common "ch_" prefix.
2016-02-02 20:47:49 +01:00
Bram Moolenaar
fbf9c6b6c3 patch 7.4.1243
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Elias Diem)
2016-02-02 19:43:57 +01:00
Bram Moolenaar
8d8c509ac8 patch 7.4.1242
Problem:    json_test fails without the eval feature.
Solution:   Add #ifdef.
2016-02-02 19:15:38 +01:00
Bram Moolenaar
04b08c3de6 patch 7.4.1241
Problem:    Missing change in Makefile due to diff mismatch
Solution:   Update the list of object files.
2016-02-02 19:01:55 +01:00
Bram Moolenaar
bc07309225 patch 7.4.1240
Problem:    Visual studio tools are noisy.
Solution:   Suppress startup info. (Mike Williams)
2016-02-02 18:50:45 +01:00
Bram Moolenaar
df5b27b20e patch 7.4.1239
Problem:    JSON message after the first one is dropped.
Solution:   Put remainder of message back in the queue.
2016-02-02 18:43:17 +01:00
Bram Moolenaar
56ead341a7 patch 7.4.1238
Problem:    Can't handle two messages right after each other.
Solution:   Find the end of the JSON.  Read more when incomplete.  Add a C
            test for the JSON decoding.
2016-02-02 18:20:08 +01:00
Bram Moolenaar
d9ea9069f5 patch 7.4.1237
Problem:    Can't translate message without adding a line break.
Solution:   Join the two parts of the message.
2016-02-02 12:38:02 +01:00
Bram Moolenaar
885f24fbca patch 7.4.1236
Problem:    When "syntax manual" was used switching between buffers removes
            the highlighting.
Solution:   Set the syntax option without changing the value. (Anton
            Lindqvist)
2016-02-01 22:54:46 +01:00
Bram Moolenaar
11e0afa00a patch 7.4.1235
Problem:    Missing change to eval.c.
Solution:   Include that change.
2016-02-01 22:41:00 +01:00
Bram Moolenaar
5e9b2fa9bb Updated runtime files and translations. 2016-02-01 22:37:05 +01:00
Bram Moolenaar
488a130ea2 patch 7.4.1234
Problem:    Demo server only runs with Python 2.
Solution:   Make it run with Python 3 as well. (Ken Takata)
2016-02-01 22:01:10 +01:00
Bram Moolenaar
14ad611ca4 patch 7.4.1233
Problem:    Channel command may cause a crash.
Solution:   Check for NULL argument. (Damien)
2016-02-01 21:47:13 +01:00
Bram Moolenaar
1357caf31f patch 7.4.1232
Problem:    Compiler warnings when the Sniff feature is enabled.
Solution:   Add UNUSED.
2016-02-01 21:40:14 +01:00
Bram Moolenaar
19d2f15898 patch 7.4.1231
Problem:    JSON messages are not parsed properly.
Solution:   Queue received messages.
2016-02-01 21:38:19 +01:00
Bram Moolenaar
ca568aeec6 patch 7.4.1230
Problem:    Win32: opening a channel may hang.  Not checking for messages
            while waiting for characters.
Solution:   Add a zero timeout.  Call parse_queued_messages(). (Yasuhiro
            Matsumoto)
2016-02-01 21:32:58 +01:00
Bram Moolenaar
fb1f62691e patch 7.4.1229
Problem:    "eval" and "expr" channel commands don't work yet.
Solution:   Implement them.  Update the error numbers.  Also add "redraw".
2016-01-31 20:24:32 +01:00
Bram Moolenaar
155500077c patch 7.4.1228
Problem:    copy() and deepcopy() fail with special variables. (Nikolai
            Pavlov)
Solution:   Make it work.  Add a test.  Closes #614.
2016-01-31 18:45:24 +01:00
Bram Moolenaar
448a22549b patch 7.4.1227
Problem:    Compiler warnings.
Solution:   Add UNUSED.  Add type cast. (Yegappan Lakshmanan)
2016-01-31 18:08:34 +01:00
Bram Moolenaar
3803bad99d patch 7.4.1226
Problem:    GRESOURCE_HDR is unused.
Solution:   Remove it. (Kazunobu Kuriyama)
2016-01-31 17:56:07 +01:00
Bram Moolenaar
d14e00ea67 patch 7.4.1225
Problem:    Still a few old style function declarations.
Solution:   Make them new style. (Hirohito Higashi)
2016-01-31 17:30:51 +01:00
Bram Moolenaar
bbb3339dbf patch 7.4.1224
Problem:    Build problems with GTK on BSD. (Mike Williams)
Solution:   Don't use "$<". Skip building gui_gtk_gresources.h when it doesn't
            work. (Kazunobu Kuriyama)
2016-01-31 16:37:33 +01:00
Bram Moolenaar
a542c680a8 patch 7.4.1223
Problem:    Crash when setting v:errors to a number.
Solution:   Free the typval without assuming its type. (Yasuhiro Matsumoto)
2016-01-31 16:28:04 +01:00
Bram Moolenaar
e2c3810c2a patch 7.4.1222
Problem:    ":normal" command and others missing in tiny build.
Solution:   Graduate FEAT_EX_EXTRA.
2016-01-31 14:55:40 +01:00
Bram Moolenaar
3c124e3ac8 patch 7.4.1221
Problem:    Including netbeans and channel support in small and tiny builds.
            Build fails with some interfaces.
Solution:   Only include these features in small build and above.  Let
            configure fail if trying to enable an interface that won't build.
2016-01-31 14:36:58 +01:00
Bram Moolenaar
fa399af7ec patch 7.4.1220
Problem:    Warnings for unused variables in tiny build. (Tony Mechelynck)
Solution:   Move declarations inside #ifdef. (Hirohito Higashi)
2016-01-31 14:13:21 +01:00
Bram Moolenaar
937204a917 patch 7.4.1219
Problem:    Build fails with +channel but without +float.
Solution:   Add #ifdef.
2016-01-30 23:37:38 +01:00
Bram Moolenaar
779a7759ad patch 7.4.1218
Problem:    Missing change in configure.  More changes for function style.
Solution:   Avoid the typos.
2016-01-30 23:26:34 +01:00
Bram Moolenaar
20fb9f3464 patch 7.4.1217
Problem:    Execution of command on channel doesn't work yet.
Solution:   Implement the "ex" and "normal" commands.
2016-01-30 23:20:33 +01:00
Bram Moolenaar
ba4ef2757c patch 7.4.1216
Problem:    Still using HAVE_STDARG_H.
Solution:   Assume it's always defined.
2016-01-30 21:48:49 +01:00
Bram Moolenaar
b638a7be95 patch 7.4.1215
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 21:29:58 +01:00
Bram Moolenaar
764b23c8fd patch 7.4.1214
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 21:10:09 +01:00
Bram Moolenaar
055409764c patch 7.4.1213
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 20:31:25 +01:00
Bram Moolenaar
c1ab67674a patch 7.4.1212
Problem:    Can't build with Motif.
Solution:   Fix function declaration.(Dominique Pelle)
2016-01-30 19:45:49 +01:00
Bram Moolenaar
9b57814db1 patch 7.4.1211
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 19:39:49 +01:00
Bram Moolenaar
52ea13da0f patch 7.4.1210
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 18:51:09 +01:00
Bram Moolenaar
02fdaeaa69 patch 7.4.1209
Problem:    Can't build with Athena.
Solution:   Fix function declarations.
2016-01-30 18:13:55 +01:00
Bram Moolenaar
68c2f638e6 patch 7.4.1208
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 17:24:07 +01:00
Bram Moolenaar
66f948e928 patch 7.4.1207
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 16:39:25 +01:00
Bram Moolenaar
78c0b7d43e patch 7.4.1206
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 15:52:46 +01:00
Bram Moolenaar
7454a06e26 patch 7.4.1205
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 15:14:10 +01:00
Bram Moolenaar
305598b712 patch 7.4.1204
Problem:    Latin1 characters cause encoding conversion.
Solution:   Remove the characters.
2016-01-30 13:53:36 +01:00
Bram Moolenaar
4349c57543 patch 7.4.1203
Problem:    Still more files still using __ARGS.
Solution:   Remove __ARGS in really the last files.
2016-01-30 13:28:28 +01:00
Bram Moolenaar
3e96c3d241 patch 7.4.1202
Problem:    Still one more file still using __ARGS.
Solution:   Remove __ARGS in the last file. (script by Hirohito Higashi)
            (closes #612)
2016-01-29 23:46:21 +01:00
Bram Moolenaar
569850724e patch 7.4.1201
Problem:    One more file still using __ARGS.
Solution:   Remove __ARGS in the last file. (script by Hirohito Higashi)
2016-01-29 23:23:06 +01:00
Bram Moolenaar
d99df423c5 patch 7.4.1200
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 23:20:40 +01:00
Bram Moolenaar
baaa7e9ec7 patch 7.4.1199
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 22:47:03 +01:00
Bram Moolenaar
92b8b2d307 patch 7.4.1198
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
            Also remove use of HAVE_STDARG_H.
2016-01-29 22:36:45 +01:00
Bram Moolenaar
d25c16e2f2 patch 7.4.1197
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 22:13:30 +01:00
Bram Moolenaar
f28dbcea37 patch 7.4.1196
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 22:03:47 +01:00
Bram Moolenaar
f12d983dea patch 7.4.1195
Problem:    The channel feature does not work in the MS-Windows console.
Solution:   Add win32 console support. (Yasuhiro Matsumoto)
2016-01-29 21:11:25 +01:00
Bram Moolenaar
83162468b3 patch 7.4.1194
Problem:    Compiler warning for not using return value of fwrite().
Solution:   Return OK/FAIL. (Charles Campbell)
2016-01-28 23:10:07 +01:00
Bram Moolenaar
b8b6511fc1 patch 7.4.1193
Problem:    Can't build the channel feature on MS-Windows.
Solution:   Add #ifdef HAVE_POLL.
2016-01-28 23:01:49 +01:00
Bram Moolenaar
fa06a517b5 patch 7.4.1192
Problem:    Can't build with FEAT_EVAL but without FEAT_MBYTE. (John
            Marriott)
Solution:   Add #ifdef for FEAT_MBYTE.
2016-01-28 22:46:58 +01:00
Bram Moolenaar
298b440930 Update runtime files. 2016-01-28 22:38:53 +01:00
Bram Moolenaar
3b5f929b18 patch 7.4.1191
Problem:    The channel feature isn't working yet.
Solution:   Add the connect(), disconnect(), sendexpr() and sendraw()
            functions.  Add initial documentation.  Add a demo server.
2016-01-28 22:37:01 +01:00
Bram Moolenaar
ba59ddbd36 patch 7.4.1190
Problem:    On OSX the default flag for dlopen() is different.
Solution:   Add RTLD_LOCAL in the configure check. (sv99, closes #604)
2016-01-28 15:34:25 +01:00
Bram Moolenaar
923e43b837 patch 7.4.1189
Problem:    Using another language on MS-Windows does not work. (Yongwei Wu)
Solution:   Undo the change to try loading libintl-8.dll first.
2016-01-28 15:07:38 +01:00
Bram Moolenaar
009d84a34f patch 7.4.1188
Problem:    Using older JSON standard.
Solution:   Update the link.  Adjust the text a bit.
2016-01-28 14:12:00 +01:00
Bram Moolenaar
85be35f33e patch 7.4.1187
Problem:    MS-Windows channel code only supports one channel.  Doesn't build
            without netbeans support.
Solution:   Get the channel index from the socket in the message. Closes #600.
2016-01-27 21:08:18 +01:00
Bram Moolenaar
4a1314cb9c patch 7.4.1186
Problem:    Error messages for security context are hard to translate.
Solution:   Use one string with %s. (Ken Takata)
2016-01-27 20:47:18 +01:00
Bram Moolenaar
0d6f835683 patch 7.4.1185
Problem:    Can't build with TCL on some systems.
Solution:   Rename the channel_ functions.
2016-01-27 11:07:47 +01:00
Bram Moolenaar
54e09e7198 patch 7.4.1184
Problem:    MS-Windows build is still broken.
Solution:   Change nbsock to ch_fd.
2016-01-26 23:49:31 +01:00
Bram Moolenaar
fb4194e4e0 patch 7.4.1183
Problem:    MS-Windows build is broken.
Solution:   Remove init in wrong place.
2016-01-26 23:39:55 +01:00
Bram Moolenaar
d04a020a8a patch 7.4.1182
Problem:    Still socket code intertwined with netbeans.
Solution:   Move code from netbeans.c to channel.c
2016-01-26 23:30:18 +01:00
Bram Moolenaar
6650a69454 patch 7.4.1181
Problem:    free_tv() can't handle special variables. (Damien)
Solution:   Add the variable type.
2016-01-26 19:59:10 +01:00
Bram Moolenaar
ac80999985 add missing test file 2016-01-25 22:44:54 +01:00
Bram Moolenaar
7465c6375f patch 7.4.1180
Problem:    Crash with invalid argument to glob2regpat().
Solution:   Check for NULL. (Justin M. Keyes, closes #596)  Add a test.
2016-01-25 22:20:27 +01:00
Bram Moolenaar
f4f79b84a5 patch 7.4.1179
Problem:    test_writefile and test_viml do not delete the tempfile.
Solution:   Delete the tempfile. (Charles Cooper)  Add DeleteTheScript().
2016-01-25 20:38:30 +01:00
Bram Moolenaar
767d8c1a1a patch 7.4.1178
Problem:    empty() doesn't work for the new special variables.
Solution:   Make empty() work. (Damien)
2016-01-25 20:22:54 +01:00
Bram Moolenaar
5aec481097 patch 7.4.1177
Problem:    The +channel feature is not in :version output. (Tony Mechelynck)
Solution:   Add the feature string.
2016-01-25 20:15:45 +01:00
Bram Moolenaar
1d63539cc7 patch 7.4.1176
Problem:    Missing change to proto file.
Solution:   Update the proto file. (Charles Cooper)
2016-01-25 16:05:56 +01:00
Bram Moolenaar
f75612fd99 patch 7.4.1175
Problem:    Can't build with Mingw and Cygwin.
Solution:   Remove extra "endif". (Christian J. Robinson)
2016-01-25 14:17:04 +01:00
Bram Moolenaar
3e53c700a2 patch 7.4.1174
Problem:    Netbeans contains dead code insde #ifdef.
Solution:   Remove the dead code.
2016-01-24 22:17:03 +01:00
Bram Moolenaar
65591001e4 patch 7.4.1173
Problem:    No test for new behavior of v:true et al.
Solution:   Add a test.
2016-01-24 21:51:57 +01:00
Bram Moolenaar
16435480f0 patch 7.4.1172
Problem:    Configure is overly positive.
Solution:   Insert "test".
2016-01-24 21:31:54 +01:00
Bram Moolenaar
2e2301437c patch 7.4.1171
Problem:    Makefile dependencies are outdated.
Solution:   Run "make depend". Add GTK resource dependencies.
2016-01-24 20:54:37 +01:00
Bram Moolenaar
0e7f88e73e patch 7.4.1170
Problem:    Missing changes in src/Makefile, Filelist.
Solution:   Add the missing changes.
2016-01-24 20:41:51 +01:00
Bram Moolenaar
e0874f8cbc patch 7.4.1169
Problem:    The socket I/O is intertwined with the netbeans code.
Solution:   Start refactoring the netbeans communication to split off the
            socket I/O.  Add the +channel feature.
2016-01-24 20:36:41 +01:00
Bram Moolenaar
705ada1aff Update a few runtime files. 2016-01-24 17:56:50 +01:00
Bram Moolenaar
f48aa160fd patch 7.4.1168
Problem:    This doesn't give the right result: eval(string(v:true)). (Nikolay
            Pavlov)
Solution:   Make the string "v:true" instead of "true".
2016-01-24 17:54:24 +01:00
Bram Moolenaar
0436922965 patch 7.4.1167
Problem:    No tests for "is" and "isnot" with the new variables.
Solution:   Add tests.
2016-01-24 17:21:29 +01:00
Bram Moolenaar
fcaaae6b3f patch 7.4.1166
Problem:    Can't encode a Funcref into JSON.  jsonencode() doesn't handle the
            same list or dict twice properly.  (Nikolay Pavlov)
Solution:   Give an error.  Reset copyID when the list or dict is finished.
2016-01-24 16:49:11 +01:00
Bram Moolenaar
938ee834d3 patch 7.4.1165
Problem:    When defining DYNAMIC_ICONV_DLL in the makefile, the build fails.
Solution:   Add #ifdef's. (Taro Muraoka)  Try the newer version first.
2016-01-24 15:36:03 +01:00
Bram Moolenaar
6039c7f053 patch 7.4.1164
Problem:    No tests for comparing special variables.  Error in jsondecode()
            not reported.  test_json does not work Japanse system.
Solution:   Set scriptencoding. (Ken Takata) Add a few more tests. Add error.
2016-01-24 15:05:32 +01:00
Bram Moolenaar
17a13437c9 patch 7.4.1163
Problem:    Expressions "0 + v:true" and "'' . v:true" cause an error.
Solution:   Return something sensible when using a special variable as a
            number or as a string. (suggested by Damien)
2016-01-24 14:22:10 +01:00
Bram Moolenaar
9e3be26872 patch 7.4.1162
Problem:    Missing error number in MzScheme. (Dominique Pelle)
Solution:   Add a proper error number.
2016-01-24 13:58:40 +01:00
Bram Moolenaar
2faa29f896 patch 7.4.1161
Problem:    ":argadd" without argument is supposed to add the current buffer
            name to the arglist.
Solution:   Make it work as documented. (Coot, closes #577)
2016-01-23 23:02:34 +01:00
Bram Moolenaar
bd4593ffb1 patch 7.4.1160
Problem:    No error for jsondecode('"').
Solution:   Give an error message for missing double quote.
2016-01-23 22:51:07 +01:00
Bram Moolenaar
e240c2da79 patch 7.4.1159
Problem:    Automatically generated function prototypes use __ARGS.
Solution:   Remove __ARGS from osdef.sh.
2016-01-23 22:46:10 +01:00
Bram Moolenaar
48e697e4b6 patch 7.4.1158
Problem:    Still using __ARGS().
Solution:   Remove __ARGS() from eval.c
2016-01-23 22:17:30 +01:00
Bram Moolenaar
f95534c3d4 patch 7.4.1157
Problem:    type() does not work for v:true, v:none, etc.
Solution:   Add new type numbers.
2016-01-23 21:59:52 +01:00
Bram Moolenaar
2dedb45260 patch 7.4.1156
Problem:    Coverity warns for NULL pointer and ignoring return value.
Solution:   Check for NULL pointer. When dict_add() returns FAIL free the item.
2016-01-23 21:38:51 +01:00
Bram Moolenaar
64922b9014 patch 7.4.1155
Problem:    Build with normal features fails.
Solution:   Always deinfe dict_lookup().
2016-01-23 19:54:30 +01:00
Bram Moolenaar
520e1e41f3 patch 7.4.1154
Problem:    No support for JSON.
Solution:   Add jsonencode() and jsondecode().  Also add v:false, v:true,
            v:null and v:none.
2016-01-23 19:46:28 +01:00
Bram Moolenaar
6920c72d4d patch 7.4.1153
Problem:    Autocommands triggered by quickfix cannot always get the current
            title value.
Solution:   Call qf_fill_buffer() later. (Christian Brabandt)
2016-01-22 22:44:10 +01:00
Bram Moolenaar
09e786e7a7 patch 7.4.1152
Problem:    Langmap test fails with normal build.
Solution:   Check for +langmap feature.
2016-01-21 23:53:06 +01:00
Bram Moolenaar
13d5aeef56 Update runtime files 2016-01-21 23:36:05 +01:00
Bram Moolenaar
5f8a14b9de patch 7.4.1151
Problem:    Missing change to eval.c
Solution:   Also change feedkeys().
2016-01-21 23:34:58 +01:00
Bram Moolenaar
25281634cd patch 7.4.1150
Problem:    'langmap' applies to the first character typed in Select mode.
            (David Watson)
Solution:   Check for SELECTMODE. (Christian Brabandt, closes #572)
            Add the 'x' flag to feedkeys().
2016-01-21 23:32:32 +01:00
Bram Moolenaar
d6357e8f93 patch 7.4.1149
Problem:    Using the local value of 'errorformat' causes more problems than
            it solves.
Solution:   Revert 7.4.1013.
2016-01-21 21:48:09 +01:00
Bram Moolenaar
e5f2be6159 patch 7.4.1148
Problem:    Default for MingW and Cygwin is still "normal".
Solution:   Use "huge" as default. (Ken Takata)
2016-01-21 20:24:34 +01:00
Bram Moolenaar
88e8f9f144 patch 7.4.1147
Problem:    Conflict for "chartab". (Kazunobu Kuriyama)
Solution:   Rename the global one to something less obvious.  Move it into
            src/chartab.c.
2016-01-20 22:48:02 +01:00
Bram Moolenaar
a7c3795a2e patch 7.4.1146
Problem:    Can't build with Python 3 interface using MingW.
Solution:   Update the Makefile. (Yasuhiro Matsumoto, Ken Takata)
2016-01-20 22:23:15 +01:00
Bram Moolenaar
23c4f7183c patch 7.4.1145
Problem:    Default features are conservative.
Solution:   Make the default feature set for most of todays systems "huge".
2016-01-20 22:11:59 +01:00
Bram Moolenaar
17576a1e33 patch 7.4.1144
Problem:    Can't build on several systems.
Solution:   Include float.h. (Christian Robinson, closes #570 #571)
2016-01-20 20:05:44 +01:00
Bram Moolenaar
f7edf40448 patch 7.4.1143
Problem:    Can't sort on floating point numbers.
Solution:   Add the "f" flag to ":sort".  (Alex Jakushev)  Also add the "f"
            flag to sort().
2016-01-19 23:36:15 +01:00
Bram Moolenaar
b8060fe862 patch 7.4.1142
Problem:    Cannot define keyword characters for a syntax file.
Solution:   Add the ":syn iskeyword" command. (Christian Brabandt)
2016-01-19 22:29:28 +01:00
Bram Moolenaar
6773a348da patch 7.4.1141
Problem:    Using searchpair() with a skip expression that uses syntax
            highlighting sometimes doesn't work. (David Fishburn)
Solution:   Reset next_match_idx. (Christian Brabandt)
2016-01-19 20:52:44 +01:00
Bram Moolenaar
e266d6d664 patch 7.4.1140
Problem:    Recognizing <sid> does not work when the language is Turkish.
            (Christian Brabandt)
Solution:   Use MB_STNICMP() instead of STNICMP().
2016-01-19 20:51:32 +01:00
Bram Moolenaar
fce7b3d24f patch 7.4.1139
Problem:    MS-Windows: getftype() returns "file for symlink to directory.
Solution:   Make it return "dir". (Ken Takata)
2016-01-19 19:00:32 +01:00
Bram Moolenaar
3a466a8718 patch 7.4.1138
Problem:    When running gvim in the foreground some icons are missing.
            (Taylor Venable)
Solution:   Move the call to gui_gtk_register_resource(). (Kazunobu Kuriyama)
2016-01-19 17:47:25 +01:00
Bram Moolenaar
62ef797496 patch 7.4.1137
Problem:    Illegal memory access when using :copen and :cclose.
Solution:   Avoid that curbuf is invalid. (suggestion by Justin M. Keyes)
            Add a test.
2016-01-19 14:51:54 +01:00
Bram Moolenaar
da5dcd9366 patch 7.4.1136
Problem:    Wrong argument to assert_exception() causes a crash. (reported by
            Coverity)
Solution:   Check for NULL pointer.  Add a test.
2016-01-19 14:31:20 +01:00
Bram Moolenaar
301417041b patch 7.4.1135
Problem:    One more arglist test fails on MS-Windows.
Solution:   Don't edit "Y" after editing "y".
2016-01-19 14:14:08 +01:00
Bram Moolenaar
82e4184d48 patch 7.4.1134
Problem:    The arglist test fails on MS-Windows.
Solution:   Only check for failure of argedit on Unix.
2016-01-19 13:50:57 +01:00
Bram Moolenaar
ef26954a35 patch 7.4.1133
Problem:    Generated function prototypes still have __ARGS().
Solution:   Generate function prototypes without __ARGS().
2016-01-19 13:22:12 +01:00
Bram Moolenaar
99dbe291f5 patch 7.4.1132
Problem:    Old style tests for the argument list.
Solution:   Add more new style tests. (Yegappan Lakshmanan)
2016-01-19 13:07:23 +01:00
Bram Moolenaar
b20e334859 patch 7.4.1131
Problem:    New lines in the viminfo file are dropped.
Solution:   Copy lines starting with "|".  Fix that when using :rviminfo in a
            function global variables were restored as function-local
            variables.
2016-01-18 23:29:01 +01:00
Bram Moolenaar
61ff4dd6a4 patch 7.4.1130
Problem:    Memory leak in :vimgrep.
Solution:   Call FreeWild(). (Yegappan Lakshmanan)
2016-01-18 20:30:17 +01:00
Bram Moolenaar
77324fc9d3 patch 7.4.1129
Problem:    Python None value can't be converted to a Vim value.
Solution:   Just use zero. (Damien)
2016-01-17 22:37:03 +01:00
Bram Moolenaar
85084ef1e9 Update help files. 2016-01-17 22:26:33 +01:00
Bram Moolenaar
203258c3ad patch 7.4.1128
Problem:    MS-Windows: delete() does not recognize junctions.
Solution:   Add mch_isrealdir() for MS-Windows. Update mch_is_symbolic_link().
            (Ken Takata)
2016-01-17 22:15:16 +01:00
Bram Moolenaar
021b593e7e patch 7.4.1127
Problem:    Both old and new style tests for Perl.
Solution:   Merge the old tests with the new style tests.
2016-01-17 22:05:48 +01:00
Bram Moolenaar
c970330676 patch 7.4.1126
Problem:    Can only get the directory of the current window.
Solution:   Add window and tab arguments to getcwd() and haslocaldir().
            (Thinca, Hirohito Higashi)
2016-01-17 21:49:33 +01:00
Bram Moolenaar
e9b892ebcd patch 7.4.1125
Problem:    There is no perleval().
Solution:   Add perleval(). (Damien)
2016-01-17 21:15:58 +01:00
Bram Moolenaar
25b2b94ea7 patch 7.4.1124
Problem:    MS-Windows: dead key behavior is not ideal.
Solution:   Handle dead keys differently when not in Insert or Select mode.
            (John Wellesz, closes #399)
2016-01-17 20:53:12 +01:00
Bram Moolenaar
a24f0a550f patch 7.4.1123
Problem:    Using ":argadd" when there are no arguments results in the second
            argument to be the current one. (Yegappan Lakshmanan)
Solution:   Correct the w_arg_idx value.
2016-01-17 19:39:00 +01:00
Bram Moolenaar
42c9cfa7f4 patch 7.4.1122
Problem:    Test 92 and 93 fail when using gvim on a system with a non utf-8
            locale.
Solution:   Avoid using .gvimrc by adding -U NONE. (Yukihiro Nakadaira)
2016-01-17 18:49:57 +01:00
Bram Moolenaar
08b270a8a4 patch 7.4.1121
Problem:    test_expand leaves files behind.
Solution:   Edit another file before deleting, otherwise the swap file
            remains.
2016-01-17 18:34:19 +01:00
Bram Moolenaar
336bd622c3 patch 7.4.1120
Problem:    delete(x, 'rf') fails if a directory is empty. (Lcd)
Solution:   Ignore not finding matches in an empty directory.
2016-01-17 18:23:58 +01:00
Bram Moolenaar
72defda84e patch 7.4.1119
Problem:    argidx() has a wrong value after ":%argdelete". (Yegappan
            Lakshmanan)
Solution:   Correct the value of w_arg_idx.  Add a test.
2016-01-17 18:04:33 +01:00
Bram Moolenaar
a99b90437a patch 7.4.1118
Problem:    Tests hang in 24 line terminal.
Solution:   Set the 'more' option off.
2016-01-17 17:10:59 +01:00
Bram Moolenaar
d82103ed85 patch 7.4.1117
Problem:    No longer get "." and ".." in directory list.
Solution:   Do not skip "." and ".." unless EW_DODOT is set.
2016-01-17 17:04:05 +01:00
Bram Moolenaar
b0967d587f patch 7.4.1116
Problem:    delete(x, 'rf') does not delete files starting with a dot.
Solution:   Also delete files starting with a dot.
2016-01-17 16:49:43 +01:00
Bram Moolenaar
d0232917ce patch 7.4.1115
Problem:    MS-Windows: make clean in testdir doesn't clean everything.
Solution:   Add command to delete X* directories. (Ken Takata)
2016-01-17 16:15:32 +01:00
Bram Moolenaar
43a34f9f74 patch 7.4.1114
Problem:    delete() does not work well with symbolic links.
Solution:   Recognize symbolik links.
2016-01-17 15:56:34 +01:00
Bram Moolenaar
4119cf80e1 patch 7.4.1113
Problem:    Using {ns} in variable name does not work. (lilydjwg)
Solution:   Fix recognizing colon.  Add a test.
2016-01-17 14:59:01 +01:00
670 changed files with 107931 additions and 70345 deletions

2
.gitignore vendored
View File

@@ -78,3 +78,5 @@ src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/memfile_test
src/json_test
src/message_test

View File

@@ -1,19 +1,53 @@
language: c
os:
- osx
- linux
compiler:
- clang
- gcc
env:
- COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src
- BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
CHECK_AUTOCONF=yes
- COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
# Mac OSX build
- BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
sudo: false
git:
depth: 1
# instead of a 6*2*2 matrix (2*os + 2*compiler + 6*env),
# exclude some builds on mac os x and linux
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
matrix:
exclude:
- os: osx
env: BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- os: osx
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- os: osx
env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- os: osx
env: BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
- os: linux
compiler: clang
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- os: linux
compiler: clang
env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- os: linux
env: BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
branches:
except:
- /^v[0-9]/
@@ -31,15 +65,18 @@ addons:
before_install:
- pip install --user cpp-coveralls
# Lua is not installed on Travis OSX
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi && (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && make -j$NPROC)
- ${SRCDIR}/vim --version
- make $SHADOWOPT test
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; fi
- make $SHADOWOPT $TEST
after_success:
- if [ x"$COVERAGE" = "xyes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
# vim:set sts=2 sw=2 tw=0 et:

View File

@@ -6,6 +6,7 @@ SRC_ALL = \
.hgignore \
.travis.yml \
appveyor.yml \
src/appveyor.bat \
src/README.txt \
src/alloc.h \
src/arabic.c \
@@ -13,13 +14,16 @@ SRC_ALL = \
src/ascii.h \
src/blowfish.c \
src/buffer.c \
src/channel.c \
src/charset.c \
src/crypt.c \
src/crypt_zip.c \
src/dict.c \
src/diff.c \
src/digraph.c \
src/edit.c \
src/eval.c \
src/evalfunc.c \
src/ex_cmds.c \
src/ex_cmds.h \
src/ex_cmds2.c \
@@ -39,6 +43,9 @@ SRC_ALL = \
src/gui_beval.h \
src/hardcopy.c \
src/hashtab.c \
src/json.c \
src/json_test.c \
src/list.c \
src/keymap.h \
src/macros.h \
src/main.c \
@@ -49,6 +56,7 @@ SRC_ALL = \
src/memline.c \
src/menu.c \
src/message.c \
src/message_test.c \
src/misc1.c \
src/misc2.c \
src/move.c \
@@ -70,6 +78,8 @@ SRC_ALL = \
src/sha256.c \
src/structs.h \
src/spell.c \
src/spell.h \
src/spellfile.c \
src/syntax.c \
src/tag.c \
src/term.c \
@@ -77,6 +87,7 @@ SRC_ALL = \
src/termlib.c \
src/ui.c \
src/undo.c \
src/userfunc.c \
src/version.c \
src/version.h \
src/vim.h \
@@ -88,8 +99,11 @@ SRC_ALL = \
src/testdir/README.txt \
src/testdir/Make_all.mak \
src/testdir/*.in \
src/testdir/*.py \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/shared.vim \
src/testdir/setup.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
@@ -111,20 +125,25 @@ SRC_ALL = \
src/testdir/bench*.vim \
src/testdir/samples/*.txt \
src/proto.h \
src/proto/arabic.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
src/proto/dict.pro \
src/proto/diff.pro \
src/proto/digraph.pro \
src/proto/edit.pro \
src/proto/eval.pro \
src/proto/evalfunc.pro \
src/proto/ex_cmds.pro \
src/proto/ex_cmds2.pro \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/farsi.pro \
src/proto/fileio.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
@@ -132,6 +151,8 @@ SRC_ALL = \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
@@ -153,12 +174,14 @@ SRC_ALL = \
src/proto/search.pro \
src/proto/sha256.pro \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
src/proto/term.pro \
src/proto/termlib.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/winclip.pro \
src/proto/window.pro \
@@ -255,7 +278,6 @@ SRC_DOS_UNIX = \
src/if_python3.c \
src/if_py_both.h \
src/if_ruby.c \
src/if_sniff.h \
src/if_tcl.c \
src/proto/if_cscope.pro \
src/proto/if_lua.pro \
@@ -285,16 +307,13 @@ SRC_DOS = \
src/GvimExt/uninst.bat \
README_srcdos.txt \
src/INSTALLpc.txt \
src/Make_bc3.mak \
src/Make_bc5.mak \
src/Make_cyg.mak \
src/Make_cyg_ming.mak \
src/Make_djg.mak \
src/Make_ivc.mak \
src/Make_dvc.mak \
src/Make_ming.mak \
src/Make_mvc.mak \
src/Make_w16.mak \
src/bigvim.bat \
src/bigvim64.bat \
src/msvcsetup.bat \
@@ -308,31 +327,23 @@ SRC_DOS = \
src/glbl_ime.h \
src/gui_dwrite.cpp \
src/gui_dwrite.h \
src/gui_w16.c \
src/gui_w32.c \
src/gui_w48.c \
src/guiw16rc.h \
src/gui_w32_rc.h \
src/if_ole.cpp \
src/if_ole.h \
src/if_ole.idl \
src/if_perl_msvc/stdbool.h \
src/iscygpty.c \
src/iscygpty.h \
src/iid_ole.c \
src/os_dos.h \
src/os_msdos.c \
src/os_msdos.h \
src/os_w32dll.c \
src/os_w32exe.c \
src/os_win16.c \
src/os_win32.c \
src/os_mswin.c \
src/os_win16.h \
src/os_win32.h \
src/proto/gui_w16.pro \
src/proto/gui_w32.pro \
src/proto/if_ole.pro \
src/proto/os_msdos.pro \
src/proto/os_win16.pro \
src/proto/os_win32.pro \
src/proto/os_mswin.pro \
src/testdir/Make_dos.mak \
@@ -343,15 +354,10 @@ SRC_DOS = \
src/vim.rc \
src/vimio.h \
src/gvim.exe.mnf \
src/vim16.def \
src/vim16.rc \
src/vimrun.c \
src/vimtbar.h \
src/xpm_w32.c \
src/xpm_w32.h \
src/xxd/Make_bc3.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_djg.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
@@ -384,18 +390,17 @@ SRC_DOS_BIN = \
src/VisVim/Res/*.bmp \
src/tearoff.bmp \
src/tools.bmp \
src/tools16.bmp \
src/vim*.ico \
src/vim.tlb \
src/vimtbar.lib \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/include/*.h \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/vimtbar.dll \
src/xpm/x86/lib-vc14/libXpm.lib \
nsis/icons/*.bmp \
nsis/icons/*.ico \
@@ -466,7 +471,6 @@ SRC_EXTRA = \
$(SRC_VMS) \
README_os390.txt \
src/Make_mint.mak \
src/if_sniff.c \
src/infplist.xml \
src/link.390 \
src/os_beos.c \
@@ -496,7 +500,6 @@ RT_ALL = \
runtime/ftoff.vim \
runtime/gvimrc_example.vim \
runtime/macros/README.txt \
runtime/macros/dvorak \
runtime/macros/editexisting.vim \
runtime/macros/hanoi/click.me \
runtime/macros/hanoi/hanoi.vim \
@@ -508,7 +511,6 @@ RT_ALL = \
runtime/macros/life/click.me \
runtime/macros/life/life.vim \
runtime/macros/matchit.vim \
runtime/macros/matchit.txt \
runtime/macros/maze/README.txt \
runtime/macros/maze/[mM]akefile \
runtime/macros/maze/main.aap \
@@ -524,8 +526,9 @@ RT_ALL = \
runtime/macros/urm/examples \
runtime/macros/urm/urm \
runtime/macros/urm/urm.vim \
runtime/mswin.vim \
runtime/defaults.vim \
runtime/evim.vim \
runtime/mswin.vim \
runtime/optwin.vim \
runtime/ftplugin.vim \
runtime/ftplugof.vim \
@@ -538,6 +541,16 @@ RT_ALL = \
runtime/tutor/tutor \
runtime/tutor/tutor.vim \
runtime/vimrc_example.vim \
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
runtime/pack/dist/opt/editexisting/plugin/editexisting.vim \
runtime/pack/dist/opt/justify/plugin/justify.vim \
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
runtime/pack/dist/opt/matchit/doc/tags \
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
# runtime files for all distributions without CR-NL translation
RT_ALL_BIN = \
@@ -618,7 +631,6 @@ RT_AMI = \
README.txt.info \
README_ami.txt \
README_ami.txt.info \
libs/arp.library \
runtime/doc.info \
runtime/doc/*.info \
runtime/icons/README.txt \
@@ -705,7 +717,35 @@ EXTRA = \
src/tee/Makefile \
src/tee/Make_mvc.mak \
src/tee/tee.c \
csdpmi4b.zip \
# files in READMEdir that are included from the top dir
IN_README_DIR = \
README.txt.info \
README_ami.txt \
README_ami.txt.info \
README_amibin.txt \
README_amibin.txt.info \
README_amisrc.txt \
README_amisrc.txt.info \
README_bindos.txt \
README_dos.txt \
README_extra.txt \
README_mac.txt \
README_ole.txt \
README_os2.txt \
README_os390.txt \
README_src.txt \
README_srcdos.txt \
README_unix.txt \
README_vms.txt \
README_w32s.txt \
Contents \
Contents.info \
Vim.info \
Xxd.info \
runtime.info \
src.info \
vimdir.info \
# generic language files
LANG_GEN = \

View File

@@ -32,7 +32,7 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests unittests testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@@ -213,24 +213,13 @@ MINOR = 4
# > bigvim64.bat
#
#
# OBSOLETE systems: You can build this if you have an appropriate system.
# OBSOLETE systems: You can build these if you have an appropriate system.
#
# 16 bit DOS version: (doesn't build anywhere)
# - Set environment for compiling with Borland C++ 3.1.
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
# case set environment for compiling with Borland C++ 4.0 and do
# "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
# NOTE: this currently fails because Vim is too big.
# - "make test" and check the output.
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
# "uninstald16.exe".
# 16 bit DOS version: You need to get a very old version of Vim, for several
# years even the tiny build is too big to fit in DOS memory.
#
# 32 bit DOS version: (requires Windows XP or earlier)
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for
# "ALL DONE".
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
# "uninstald32.exe".
# 32 bit DOS version: Support was removed in 7.4.1399. When syncing to before
# that it probably won't build.
#
# Win32s GUI version: (requires a very old compiler)
# - Set environment for Visual C++ 4.1 (requires a new console window):
@@ -242,12 +231,9 @@ MINOR = 4
# - Rename "uninstal.exe" to "uninstalw32.exe"
# - The produced uninstalw32.exe and vimrun.exe are used.
#
# OS/2: (requires an OS/2 system)
# - Unpack the Unix archive.
# - "make -f Make_os2.mak".
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
# them to here.
# - "make os2bin".
# OS/2 support was removed in patch 7.4.1008. If you want to give it a try
# sync to before that and check the old version of this Makefile for
# instructions.
VIMVER = vim-$(MAJOR).$(MINOR)
VERSION = $(MAJOR)$(MINOR)
@@ -269,9 +255,13 @@ dist:
mkdir dist
# Clean up some files to avoid they are included.
# Copy README files to the top directory.
prepare:
if test -f runtime/doc/uganda.nsis.txt; then \
rm runtime/doc/uganda.nsis.txt; fi
for name in $(IN_README_DIR); do \
cp READMEdir/"$$name" .; \
done
# For the zip files we need to create a file with the comment line
dist/comment:
@@ -336,6 +326,7 @@ unixall: dist prepare
$(EXTRA) \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
# Need to use a "distclean" config.mk file
# Note: this file is not included in the repository to avoid problems, but it's
# OK to put it in the archive.
@@ -372,6 +363,7 @@ amirt: dist prepare
$(RT_NO_UNIX) \
$(RT_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
@@ -392,6 +384,7 @@ amibin: dist prepare
Vim \
Xxd \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
cd dist && tar cf vim$(VERSION)bin.tar Vim Vim.info
@@ -410,6 +403,7 @@ amisrc: dist prepare
$(SRC_AMI) \
$(SRC_AMI_DOS) \
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
cd dist && tar cf vim$(VERSION)src.tar Vim Vim.info
@@ -483,6 +477,7 @@ dosrt_files: dist prepare no_title.vim
$(RT_DOS_BIN) \
$(LANG_GEN_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
@@ -517,6 +512,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe

View File

@@ -2,25 +2,28 @@
[![Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Coverage Status](https://coveralls.io/repos/vim/vim/badge.svg?branch=master&service=github)](https://coveralls.io/github/vim/vim?branch=master)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
## What is Vim? ##
Vim is an almost compatible version of the UNIX editor Vi. Many new features
have been added: multi-level undo, syntax highlighting, command line history,
on-line help, spell checking, filename completion, block operations, etc.
There is also a Graphical User Interface (GUI) available. See
`runtime/doc/vi_diff.txt` for differences with Vi.
Vim is a greatly improved version of the good old UNIX editor Vi. Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
available. Still, Vi compatibility is maintained, those who have Vi "in the
fingers" will feel at home. See `runtime/doc/vi_diff.txt` for differences with
Vi.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
defined by the user, and the mouse can be used.
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-DOS, MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh,
VMS and almost all flavours of UNIX. Porting to other systems should not be
very difficult. Older versions of Vim run on MS-Windows 95/98/Me, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
Vim runs under MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh, VMS and
almost all flavours of UNIX. Porting to other systems should not be very
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
## Distribution ##
@@ -37,10 +40,39 @@ Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check http://www.vim.org/download.php for
an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from [github](https://github.com/vim/vim).
* Get the source code as an [archive](https://github.com/vim/vim/releases).
* Get a Windows executable from the
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.
## Compiling ##
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
`src` directory. See `src/INSTALL` for instructions.
## Installation ##
See one of these files for system-specific instructions. Either in the
READMEdir directory (in the repository) or the top directory (if you unpack an
archive):
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are other `README_*.txt` files, depending on the distribution you used.
## Documentation ##
The vim tutor is a one hour training course for beginners. Mostly it can be
The Vim tutor is a one hour training course for beginners. Often it can be
started as `vimtutor`. See `:help tutor` for more information.
The best is to use `:help` in Vim. If you don't have an executable yet, read
@@ -76,26 +108,6 @@ For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
## Compiling ##
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
`src` directory. See `src/INSTALL` for instructions.
## Installation ##
See one of these files for system-specific instructions:
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are more `README_*.txt` files, depending on the distribution you used.
## Contributing ##
If you would like to help making Vim better, see the [CONTRIBUTING.md](https://github.com/vim/vim/blob/master/CONTRIBUTING.md) file.

View File

@@ -3,21 +3,23 @@ README.txt for version 7.4 of Vim: Vi IMproved.
WHAT IS VIM?
Vim is an almost compatible version of the UNIX editor Vi. Many new features
have been added: multi-level undo, syntax highlighting, command line history,
on-line help, spell checking, filename completion, block operations, etc.
There is also a Graphical User Interface (GUI) available. See
"runtime/doc/vi_diff.txt" for differences with Vi.
Vim is a greatly improved version of the good old UNIX editor Vi. Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
available. Still, Vi compatibility is maintained, those who have Vi "in the
fingers" will feel at home. See "runtime/doc/vi_diff.txt" for differences with
Vi.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
defined by the user, and the mouse can be used.
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-DOS, MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh,
VMS and almost all flavours of UNIX. Porting to other systems should not be
very difficult. Older versions of Vim run on MS-Windows 95/98/Me, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
Vim runs under MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh, VMS and
almost all flavours of UNIX. Porting to other systems should not be very
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
DISTRIBUTION
@@ -34,10 +36,38 @@ Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check "http://www.vim.org/download.php" for
an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from github: https://github.com/vim/vim.
* Get the source code as an archive: https://github.com/vim/vim/releases.
* Get a Windows executable from the vim-win32-installer repository:
https://github.com/vim/vim-win32-installer/releases.
COMPILING
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
"src" directory. See src/INSTALL for instructions.
INSTALLATION
See one of these files for system-specific instructions. Either in the
READMEdir directory (in the repository) or the top directory (if you unpack an
archive):
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
DOCUMENTATION
The vim tutor is a one hour training course for beginners. Mostly it can be
The Vim tutor is a one hour training course for beginners. Often it can be
started as "vimtutor". See ":help tutor" for more information.
The best is to use ":help" in Vim. If you don't have an executable yet, read
@@ -74,23 +104,9 @@ For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
COMPILING
CONTRIBUTING
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
"src" directory. See src/INSTALL for instructions.
INSTALLATION
See one of these files for system-specific instructions:
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
If you would like to help making Vim better, see the CONTRIBUTING.md file.
INFORMATION

View File

@@ -9,7 +9,7 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 7.4. Also runs under UNIX, MSDOS and other systems.
Version 7.4. Also runs under UNIX, MS-Windows, Mac, etc.
vim74rt.tgz contains the documentation and syntax files.
vim74bin.tgz contains the binaries.
vim74src.tgz contains the sources.
@@ -19,5 +19,5 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
Xxd Hex dumper and reader. Can be used to view files as hex, edit
them and write them back. Can also be used to patch files.
Version 1.8 (1997 May 22)
Version 1.10 (1997 May 22)
Author: Juergen Weigert

0
Contents.info → READMEdir/Contents.info Executable file → Normal file
View File

0
README.txt.info → READMEdir/README.txt.info Executable file → Normal file
View File

0
README_ami.txt.info → READMEdir/README_ami.txt.info Executable file → Normal file
View File

View File

View File

0
Vim.info → READMEdir/Vim.info Executable file → Normal file
View File

0
Xxd.info → READMEdir/Xxd.info Executable file → Normal file
View File

0
runtime.info → READMEdir/runtime.info Executable file → Normal file
View File

0
src.info → READMEdir/src.info Executable file → Normal file
View File

0
vimdir.info → READMEdir/vimdir.info Executable file → Normal file
View File

View File

@@ -2,6 +2,18 @@ version: "{build}"
skip_tags: true
environment:
matrix:
- FEATURE: HUGE
- FEATURE: NORMAL
# disabled
# - FEATURE: TINY
# - FEATURE: SMALL
# - FEATURE: BIG
matrix:
fast_finish: true
before_build:
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
# Work around for Python 2.7.11's bug
@@ -9,12 +21,14 @@ before_build:
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64
build_script:
- cd src
- sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
- nmake -f Make_mvc2.mak CPU=AMD64 GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34-x64
- .\gvim -u NONE -c "redir @a | ver | 0put a | wq!" ver.txt
- type ver.txt
- src/appveyor.bat
test_script:
- cd testdir
- cd src/testdir
# Testing with MSVC gvim
- nmake -f Make_dos.mak VIMPROG=..\gvim
- nmake -f Make_dos.mak clean
# Testing with MingW console version
- nmake -f Make_dos.mak VIMPROG=..\vim
# vim: sw=2 sts=2 et ts=2 sr

Binary file not shown.

Binary file not shown.

View File

@@ -215,6 +215,28 @@ Section "Vim executables and runtime files"
SetOutPath $0\macros
File ${VIMRT}\macros\*.*
SetOutPath $0\pack\dist\opt\dvorak\dvorak
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
SetOutPath $0\pack\dist\opt\dvorak\plugin
File ${VIMRT}\pack\dist\opt\dvorak\plugin\*.*
SetOutPath $0\pack\dist\opt\editexisting\plugin
File ${VIMRT}\pack\dist\opt\editexisting\plugin\*.*
SetOutPath $0\pack\dist\opt\justify\plugin
File ${VIMRT}\pack\dist\opt\justify\plugin\*.*
SetOutPath $0\pack\dist\opt\matchit\doc
File ${VIMRT}\pack\dist\opt\matchit\doc\*.*
SetOutPath $0\pack\dist\opt\matchit\plugin
File ${VIMRT}\pack\dist\opt\matchit\plugin\*.*
SetOutPath $0\pack\dist\opt\shellmenu\plugin
File ${VIMRT}\pack\dist\opt\shellmenu\plugin\*.*
SetOutPath $0\pack\dist\opt\swapmouse\plugin
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
SetOutPath $0\plugin
File ${VIMRT}\plugin\*.*

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 15.0
" Last Change: 2013 May 13
" Version: 16.0
" Last Change: 2015 Dec 29
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
" Usage: For detailed help
" ":help sql.txt"
@@ -16,6 +16,12 @@
" look backwards to a FROM clause and find the first table
" and complete it.
"
" Version 16.0 (Dec 2015)
" - NF: If reseting the cache and table, procedure or view completion
" had been used via dbext, have dbext delete or recreate the
" dictionary so that new objects are picked up for the
" next completion.
"
" Version 15.0 (May 2013)
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
" to use regular expressions to pick up extended syntax group names.
@@ -103,7 +109,7 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
let g:loaded_sql_completion = 150
let g:loaded_sql_completion = 160
let s:keepcpo= &cpo
set cpo&vim
@@ -459,6 +465,29 @@ function! sqlcomplete#Complete(findstart, base)
let s:tbl_cols = []
let s:syn_list = []
let s:syn_value = []
if s:sql_file_table != ""
if g:loaded_dbext >= 2300
call DB_DictionaryDelete("table")
else
DBCompleteTables!
endif
endif
if s:sql_file_procedure != ""
if g:loaded_dbext >= 2300
call DB_DictionaryDelete("procedure")
else
DBCompleteProcedures!
endif
endif
if s:sql_file_view != ""
if g:loaded_dbext >= 2300
call DB_DictionaryDelete("view")
else
DBCompleteViews!
endif
endif
let s:sql_file_table = ""
let s:sql_file_procedure = ""
let s:sql_file_view = ""

View File

@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Jan 17, 2012
" Version: 35
" Author: Charles E. Campbell
" Date: Apr 11, 2016
" Version: 37
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" Copyright: (c) 2004-2011 by Charles E. Campbell
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied.
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
let g:loaded_vimball = "v35"
let g:loaded_vimball = "v37"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -142,7 +142,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
let lastline= line("$") + 1
if lastline == 2 && getline("$") == ""
call setline(1,'" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.')
call setline(1,'" Vimball Archiver by Charles E. Campbell')
call setline(2,'UseVimball')
call setline(3,'finish')
let lastline= line("$") + 1
@@ -179,7 +179,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
" remove the evidence
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
exe "tabc! ".vbtabnr
" restore options
call vimball#RestoreSettings()
@@ -280,7 +280,7 @@ fun! vimball#Vimball(really,...)
" when AsNeeded/filename is filereadable or was present in VimballRecord
if fname =~ '\<plugin/'
let anfname= substitute(fname,'\<plugin/','AsNeeded/','')
if filereadable(anfname) || (exists("s:VBRstring") && s:VBRstring =~ anfname)
if filereadable(anfname) || (exists("s:VBRstring") && s:VBRstring =~# anfname)
" call Decho("using anfname<".anfname."> instead of <".fname.">")
let fname= anfname
endif
@@ -379,10 +379,10 @@ fun! vimball#Vimball(really,...)
call s:RecordInFile(home)
" restore events, delete tab and buffer
exe "tabn ".vbtabnr
exe "sil! tabn ".vbtabnr
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
exe "sil! tabn ".curtabnr
exe "sil! tabc! ".vbtabnr
call vimball#RestoreSettings()
call s:ChgDir(curdir)
@@ -555,7 +555,7 @@ fun! vimball#ShowMesg(level,msg)
set noruler noshowcmd
redraw!
if &fo =~ '[ta]'
if &fo =~# '[ta]'
echomsg "***vimball*** ".a:msg
else
if a:level == s:WARNING || a:level == s:USAGE
@@ -715,7 +715,7 @@ fun! vimball#SaveSettings()
" call Dfunc("SaveSettings()")
let s:makeep = getpos("'a")
let s:regakeep= @a
if exists("&acd")
if exists("+acd")
let s:acdkeep = &acd
endif
let s:eikeep = &ei
@@ -728,7 +728,7 @@ fun! vimball#SaveSettings()
let s:vekeep = &ve
let s:ffkeep = &l:ff
let s:swfkeep = &l:swf
if exists("&acd")
if exists("+acd")
setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
else
setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
@@ -743,7 +743,7 @@ endfun
fun! vimball#RestoreSettings()
" call Dfunc("RestoreSettings()")
let @a = s:regakeep
if exists("&acd")
if exists("+acd")
let &acd = s:acdkeep
endif
let &l:fen = s:fenkeep
@@ -760,7 +760,7 @@ fun! vimball#RestoreSettings()
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",s:makeep)
endif
if exists("&acd")
if exists("+acd")
unlet s:acdkeep
endif
unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep s:pmkeep s:ffkeep

View File

@@ -2,6 +2,7 @@
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
" added line suggested by Anton Lindqvist 2016 Mar 31
if exists("current_compiler")
finish
@@ -24,6 +25,7 @@ CompilerSet errorformat=
\%f:%l:\ %trror:\ %m,
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\%f:\\(%*[^\\)]\\):\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: HTML Tidy
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2013 Jul 7
" Last Change: 2016 Apr 21
if exists("current_compiler")
finish
@@ -12,8 +12,8 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S
" sample warning: foo.html:8:1: Warning: inserting missing 'foobar' element
" sample error: foo.html:9:2: Error: <foobar> is not recognized!
CompilerSet errorformat=%f:%l:%c:\ Error:%m,%f:%l:%c:\ Warning:%m,%-G%.%#
" foo.html:8:1: Warning: inserting missing 'foobar' element
" foo.html:9:2: Error: <foobar> is not recognized!
CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%#

112
runtime/defaults.vim Normal file
View File

@@ -0,0 +1,112 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2016 Jul 29
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
" Individual settings can be reverted with ":set option&".
" Other commands can be reverted as mentioned below.
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" Allow backspacing over everything in insert mode.
set backspace=indent,eol,start
set history=200 " keep 200 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set wildmenu " display completion matches in a status line
" Show @@@ in the last line if it is truncated.
set display=truncate
" Do incremental searching when it's possible to timeout.
if has('reltime')
set incsearch
endif
" Do not recognize octal numbers for Ctrl-A and Ctrl-X, most users find it
" confusing.
set nrformats-=octal
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries.
if has('win32')
set guioptions-=t
endif
" Don't use Ex mode, use Q for formatting.
" Revert with ":unmap Q".
map Q gq
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
" so that you can undo CTRL-U after inserting a line break.
" Revert with ":iunmap <C-U>".
inoremap <C-U> <C-G>u<C-U>
" In many terminal emulators the mouse works just fine. By enabling it you
" can position the cursor, Visually select and scroll with the mouse.
if has('mouse')
set mouse=a
endif
" Switch syntax highlighting on when the terminal has colors or when using the
" GUI (which always has colors).
if &t_Co > 2 || has("gui_running")
" Revert with ":syntax off".
syntax on
" I like highlighting strings inside C comments.
" Revert with ":unlet c_comment_strings".
let c_comment_strings=1
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
" Revert with ":filetype off".
filetype plugin indent on
" Put these in an autocmd group, so that you can revert them with:
" ":augroup vimStartup | au! | augroup END"
augroup vimStartup
au!
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") >= 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
augroup END
endif " has("autocmd")
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
" Only define it when not defined already.
" Revert with: ":delcommand DiffOrig".
if !exists(":DiffOrig")
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
\ | wincmd p | diffthis
endif
if has('langmap') && exists('+langnoremap')
" Prevent that the langmap option applies to characters that result from a
" mapping. If unset (default), this may break plugins (but it's backward
" compatible).
set langnoremap
endif

View File

@@ -17,6 +17,7 @@ DOCS = \
arabic.txt \
autocmd.txt \
change.txt \
channel.txt \
cmdline.txt \
debug.txt \
debugger.txt \
@@ -31,7 +32,6 @@ DOCS = \
ft_ada.txt \
ft_sql.txt \
gui.txt \
gui_w16.txt \
gui_w32.txt \
gui_x11.txt \
hangulin.txt \
@@ -142,6 +142,7 @@ DOCS = \
version5.txt \
version6.txt \
version7.txt \
version8.txt \
vi_diff.txt \
visual.txt \
windows.txt \
@@ -151,6 +152,7 @@ HTMLS = \
arabic.html \
autocmd.html \
change.html \
channel.html \
cmdline.html \
debug.html \
debugger.html \
@@ -165,7 +167,6 @@ HTMLS = \
ft_ada.html \
ft_sql.html \
gui.html \
gui_w16.html \
gui_w32.html \
gui_x11.html \
hangulin.html \
@@ -275,6 +276,7 @@ HTMLS = \
version5.html \
version6.html \
version7.html \
version8.html \
vi_diff.html \
vimindex.html \
visual.html \
@@ -386,9 +388,6 @@ hebrew.txt:
russian.txt:
touch russian.txt
gui_w16.txt:
touch gui_w16.txt
gui_w32.txt:
touch gui_w32.txt

View File

@@ -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 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -52,9 +52,6 @@ effects. Be careful not to destroy your text.
==============================================================================
2. Defining autocommands *autocmd-define*
Note: The ":autocmd" command cannot be followed by another command, since any
'|' is considered part of the command.
*:au* *:autocmd*
:au[tocmd] [group] {event} {pat} [nested] {cmd}
Add {cmd} to the list of commands that Vim will
@@ -67,6 +64,12 @@ Note: The ":autocmd" command cannot be followed by another command, since any
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
Note: The ":autocmd" command can only be followed by another command when the
'|' appears before {cmd}. This works: >
:augroup mine | au! BufRead | augroup END
But this sees "augroup" as part of the defined command: >
:augroup mine | au BufRead * set tw=70 | augroup END
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
arguments are not expanded when the autocommand is defined. These will be
expanded when the Event is recognized, and the {cmd} is executed. The only
@@ -293,6 +296,9 @@ Name triggered by ~
|CursorMoved| the cursor was moved in Normal mode
|CursorMovedI| the cursor was moved in Insert mode
|WinNew| after creating a new window
|TabNew| after creating a new tab page
|TabClosed| after closing a tab page
|WinEnter| after entering another window
|WinLeave| before leaving a window
|TabEnter| after entering another tab page
@@ -539,6 +545,9 @@ CursorHold When the user doesn't press a key for the time
versions}
*CursorHoldI*
CursorHoldI Just like CursorHold, but in Insert mode.
Not triggered when waiting for another key,
e.g. after CTRL-V, and not when in CTRL-X mode
|insert_expand|.
*CursorMoved*
CursorMoved After the cursor was moved in Normal or Visual
@@ -871,6 +880,8 @@ Syntax When the 'syntax' option has been set. The
where this option was set, and <amatch> for
the new value of 'syntax'.
See |:syn-on|.
*TabClosed*
TabClosed After closing a tab page.
*TabEnter*
TabEnter Just after entering a tab page. |tab-page|
After triggering the WinEnter and before
@@ -879,6 +890,10 @@ TabEnter Just after entering a tab page. |tab-page|
TabLeave Just before leaving a tab page. |tab-page|
A WinLeave event will have been triggered
first.
*TabNew*
TabNew When a tab page was created. |tab-page|
A WinEnter event will have been triggered
first, TabEnter follows.
*TermChanged*
TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
@@ -918,7 +933,15 @@ VimEnter After doing all the startup stuff, including
loading .vimrc files, executing the "-c cmd"
arguments, creating all windows and loading
the buffers in them.
*VimLeave*
Just before this event is triggered the
|v:vim_did_enter| variable is set, so that you
can do: >
if v:vim_did_enter
call s:init()
else
au VimEnter * call s:init()
endif
< *VimLeave*
VimLeave Before exiting Vim, just after writing the
.viminfo file. Executed only once, like
VimLeavePre.
@@ -956,6 +979,11 @@ WinLeave Before leaving a window. If the window to be
WinLeave autocommands (but not for ":new").
Not used for ":qa" or ":q" when exiting Vim.
*WinNew*
WinNew When a new window was created. Not done for
the fist window, when Vim has just started.
Before a WinEnter event.
==============================================================================
6. Patterns *autocmd-patterns* *{pat}*
@@ -1193,6 +1221,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]

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.4. Last change: 2016 Jan 02
*change.txt* For Vim version 7.4. Last change: 2016 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -98,10 +98,10 @@ These commands delete text. You can repeat them with the `.` command
An exception for the d{motion} command: If the motion is not linewise, the
start and end of the motion are not in the same line, and there are only
blanks before the start and after the end of the motion, the delete becomes
linewise. This means that the delete also removes the line of blanks that you
might expect to remain. Use the |o_v| operator to force the motion to be
characterwise.
blanks before the start and there are no non-blanks after the end of the
motion, the delete becomes linewise. This means that the delete also removes
the line of blanks that you might expect to remain. Use the |o_v| operator to
force the motion to be characterwise.
Trying to delete an empty region of text (e.g., "d0" in the first column)
is an error when 'cpoptions' includes the 'E' flag.
@@ -109,7 +109,9 @@ is an error when 'cpoptions' includes the 'E' flag.
*J*
J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see
below).
below). Fails when on the last line of the buffer.
If [count] is too big it is reduce to the number of
lines available.
*v_J*
{Visual}J Join the highlighted lines, with a minimum of two
@@ -409,6 +411,11 @@ CTRL-X Subtract [count] from the number or alphabetic
{Visual}CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. {not in Vi}
On MS-Windows, this is mapped to cut Visual text
|dos-standard-mappings|. If you want to disable the
mapping, use this: >
silent! vunmap <C-X>
<
*v_g_CTRL-X*
{Visual}g CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. If several lines
@@ -845,7 +852,7 @@ Examples: >
:s/abcde/abc^Mde/ modifies "abcde" to "abc", "de" (two lines)
:s/$/\^M/ modifies "abcde" to "abcde^M"
:s/\w\+/\u\0/g modifies "bla bla" to "Bla Bla"
:s/\w\+/\L\u/g modifies "BLA bla" to "Bla Bla"
:s/\w\+/\L\u\0/g modifies "BLA bla" to "Bla Bla"
Note: "\L\u" can be used to capitalize the first letter of a word. This is
not compatible with Vi and older versions of Vim, where the "\u" would cancel
@@ -977,8 +984,6 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
`:retab!` may also change a sequence of spaces by
<Tab> characters, which can mess up a printf().
{not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
*retab-example*
Example for using autocommands and ":retab" to edit a file which is stored
@@ -1200,7 +1205,7 @@ name '"'. This means you have to type two double quotes. Writing to the ""
register writes to register "0.
{Vi: register contents are lost when changing files, no '"'}
2. Numbered registers "0 to "9 *quote_number* *quote0* *quote1*
2. Numbered registers "0 to "9 *quote_number* *quote0* *quote1*
*quote2* *quote3* *quote4* *quote9*
Vim fills these registers with text from yank and delete commands.
Numbered register 0 contains the text from the most recent yank command,
@@ -1354,22 +1359,16 @@ The next three commands always work on whole lines.
Center lines in [range] between [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
:[range]ri[ght] [width] *:ri* *:right*
Right-align lines in [range] at [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
*:le* *:left*
:[range]le[ft] [indent]
Left-align lines in [range]. Sets the indent in the
lines to [indent] (default 0). {not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
*gq*
gq{motion} Format the lines that {motion} moves over.
@@ -1745,7 +1744,7 @@ Vim has a sorting function and a sorting command. The sorting function can be
found here: |sort()|, |uniq()|.
*:sor* *:sort*
:[range]sor[t][!] [i][u][r][n][x][o][b] [/{pattern}/]
:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/]
Sort lines in [range]. When no range is given all
lines are sorted.
@@ -1753,10 +1752,18 @@ found here: |sort()|, |uniq()|.
With [i] case is ignored.
Options [n][f][x][o][b] are mutually exclusive.
With [n] sorting is done on the first decimal number
in the line (after or inside a {pattern} match).
One leading '-' is included in the number.
With [f] sorting is done on the Float in the line.
The value of Float is determined similar to passing
the text (after or inside a {pattern} match) to
str2float() function. This option is available only
if Vim was compiled with Floating point support.
With [x] sorting is done on the first hexadecimal
number in the line (after or inside a {pattern}
match). A leading "0x" or "0X" is ignored.
@@ -1768,10 +1775,10 @@ found here: |sort()|, |uniq()|.
With [b] sorting is done on the first binary number in
the line (after or inside a {pattern} match).
With [u] only keep the first of a sequence of
identical lines (ignoring case when [i] is used).
Without this flag, a sequence of identical lines
will be kept in their original order.
With [u] (u stands for unique) only keep the first of
a sequence of identical lines (ignoring case when [i]
is used). Without this flag, a sequence of identical
lines will be kept in their original order.
Note that leading and trailing white space may cause
lines to be different.

716
runtime/doc/channel.txt Normal file
View File

@@ -0,0 +1,716 @@
*channel.txt* For Vim version 7.4. Last change: 2016 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
Inter-process communication *channel*
Vim uses channels to communicate with other processes.
A channel uses a socket or pipes. *socket-interface*
Jobs can be used to start processes and communicate with them.
The Netbeans interface also uses a channel. |netbeans|
1. Overview |job-channel-overview|
2. Channel demo |channel-demo|
3. Opening a channel |channel-open|
4. Using a JSON or JS channel |channel-use|
5. Channel commands |channel-commands|
6. Using a RAW or NL channel |channel-raw|
7. More channel functions |channel-more|
8. Starting a job with a channel |job-start|
9. Starting a job without a channel |job-start-nochannel|
10. Job options |job-options|
11. Controlling a job |job-control|
{Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
{only when compiled with the |+job| feature for job stuff}
==============================================================================
1. Overview *job-channel-overview*
There are four main types of jobs:
1. A deamon, serving several Vim instances.
Vim connects to it with a socket.
2. One job working with one Vim instance, asynchronously.
Uses a socket or pipes.
3. A job performing some work for a short time, asynchronously.
Uses a socket or pipes.
4. Running a filter, synchronously.
Uses pipes.
For when using sockets See |job-start|, |job-start-nochannel| and
|channel-open|. For 2 and 3, one or more jobs using pipes, see |job-start|.
For 4 use the ":{range}!cmd" command, see |filter|.
Over the socket and pipes these protocols are available:
RAW nothing known, Vim cannot tell where a message ends
NL every message ends in a NL (newline) character
JSON JSON encoding |json_encode()|
JS JavaScript style JSON-like encoding |js_encode()|
Common combination are:
- Using a job connected through pipes in NL mode. E.g., to run a style
checker and receive errors and warnings.
- Using a deamon, connecting over a socket in JSON mode. E.g. to lookup
crosss-refrences in a database.
==============================================================================
2. Channel demo *channel-demo* *demoserver.py*
This requires Python. The demo program can be found in
$VIMRUNTIME/tools/demoserver.py
Run it in one terminal. We will call this T1.
Run Vim in another terminal. Connect to the demo server with: >
let channel = ch_open('localhost:8765')
In T1 you should see:
=== socket opened === ~
You can now send a message to the server: >
echo ch_evalexpr(channel, 'hello!')
The message is received in T1 and a response is sent back to Vim.
You can see the raw messages in T1. What Vim sends is:
[1,"hello!"] ~
And the response is:
[1,"got it"] ~
The number will increase every time you send a message.
The server can send a command to Vim. Type this on T1 (literally, including
the quotes):
["ex","echo 'hi there'"] ~
And you should see the message in Vim. You can move the cursor a word forward:
["normal","w"] ~
To handle asynchronous communication a callback needs to be used: >
func MyHandler(channel, msg)
echo "from the handler: " . a:msg
endfunc
call ch_sendexpr(channel, 'hello!', {'callback': "MyHandler"})
Vim will not wait for a response. Now the server can send the response later
and MyHandler will be invoked.
Instead of giving a callback with every send call, it can also be specified
when opening the channel: >
call ch_close(channel)
let channel = ch_open('localhost:8765', {'callback': "MyHandler"})
call ch_sendexpr(channel, 'hello!')
When trying out channels it's useful to see what is going on. You can tell
Vim to write lines in log file: >
call ch_logfile('channellog', 'w')
See |ch_logfile()|.
==============================================================================
3. Opening a channel *channel-open*
To open a channel: >
let channel = ch_open({address} [, {options}])
if ch_status(channel) == "open"
" use the channel
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: *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
*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
and the received message. Example: >
func Handle(channel, msg)
echo 'Received: ' . a:msg
endfunc
let channel = ch_open("localhost:8765", {"callback": "Handle"})
<
When "mode" is "json" or "js" the "msg" argument is the body
of the received message, converted to Vim types.
When "mode" is "nl" the "msg" argument is one message,
excluding the NL.
When "mode" is "raw" the "msg" argument is the whole message
as a string.
For all callbacks: Use |function()| to bind it to arguments
and/or a Dictionary. Or use the form "dict.function" to bind
the Dictionary.
Callbacks are only called at a "safe" moment, usually when Vim
is waiting for the user to type a character. Vim does not use
multi-threading.
*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: >
func MyCloseHandler(channel)
< Vim will invoke callbacks that handle data before invoking
close_cb, thus when this function is called no more data will
be received.
*waittime*
"waittime" The time to wait for the connection to be made in
milliseconds. A negative number waits forever.
The default is zero, don't wait, which is useful if a local
server is supposed to be running already. On Unix Vim
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).
When "mode" is "json" or "js" the "callback" is optional. When omitted it is
only possible to receive a message after sending one.
To change the channel options after opening it use |ch_setoptions()|. The
arguments are similar to what is passed to |ch_open()|, but "waittime" cannot
be given, since that only applies to opening the channel.
For example, the handler can be added or changed: >
call ch_setoptions(channel, {'callback': callback})
When "callback" is empty (zero or an empty string) the handler is removed.
After a callback has been invoked Vim will update the screen and put the
cursor back where it belongs. Thus the callback should not need to do
`:redraw`.
The timeout can be changed: >
call ch_setoptions(channel, {'timeout': msec})
<
*channel-close* *E906*
Once done with the channel, disconnect it like this: >
call ch_close(channel)
When a socket is used this will close the socket for both directions. When
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.
*E898* *E901* *E902*
If there is an error reading or writing a channel it will be closed.
*E630* *E631*
==============================================================================
4. Using a JSON or JS channel *channel-use*
If mode is JSON then a message can be sent synchronously like this: >
let response = ch_evalexpr(channel, {expr})
This awaits a response from the other side.
When mode is JS this works the same, except that the messages use
JavaScript encoding. See |js_encode()| for the difference.
To send a message, without handling a response or letting the channel callback
handle the response: >
call ch_sendexpr(channel, {expr})
To send a message and letting the response handled by a specific function,
asynchronously: >
call ch_sendexpr(channel, {expr}, {'callback': Handler})
Vim will match the response with the request using the message ID. Once the
response is received the callback will be invoked. Further responses with the
same ID will be ignored. If your server sends back multiple responses you
need to send them with ID zero, they will be passed to the channel callback.
The {expr} is converted to JSON and wrapped in an array. An example of the
message that the receiver will get when {expr} is the string "hello":
[12,"hello"] ~
The format of the JSON sent is:
[{number},{expr}]
In which {number} is different every time. It must be used in the response
(if any):
[{number},{response}]
This way Vim knows which sent message matches with which received message and
can call the right handler. Also when the messages arrive out of order.
The sender must always send valid JSON to Vim. Vim can check for the end of
the message by parsing the JSON. It will only accept the message if the end
was received.
When the process wants to send a message to Vim without first receiving a
message, it must use the number zero:
[0,{response}]
Then channel handler will then get {response} converted to Vim types. If the
channel does not have a handler the message is dropped.
It is also possible to use ch_sendraw() and ch_evalraw() on a JSON or JS
channel. The caller is then completely responsible for correct encoding and
decoding.
==============================================================================
5. Channel commands *channel-commands*
With a JSON channel the process can send commands to Vim that will be
handled by Vim internally, it does not require a handler for the channel.
Possible commands are: *E903* *E904* *E905*
["redraw" {forced}]
["ex", {Ex command}]
["normal", {Normal mode command}]
["expr", {expression}, {number}]
["expr", {expression}]
["call", {func name}, {argument list}, {number}]
["call", {func name}, {argument list}]
With all of these: Be careful what these commands do! You can easily
interfere with what the user is doing. To avoid trouble use |mode()| to check
that the editor is in the expected state. E.g., to send keys that must be
inserted as text, not executed as a command:
["ex","if mode() == 'i' | call feedkeys('ClassName') | endif"] ~
Errors in these commands are normally not reported to avoid them messing up
the display. If you do want to see them, set the 'verbose' option to 3 or
higher.
Command "redraw" ~
The other commands do not update the screen, so that you can send a sequence
of commands without the cursor moving around. You must end with the "redraw"
command to show any changed text and show the cursor where it belongs.
The argument is normally an empty string:
["redraw", ""] ~
To first clear the screen pass "force":
["redraw", "force"] ~
Command "ex" ~
The "ex" command is executed as any Ex command. There is no response for
completion or error. You could use functions in an |autoload| script:
["ex","call myscript#MyFunc(arg)"]
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" ~
The "normal" command is executed like with ":normal!", commands are not
mapped. Example to open the folds under the cursor:
["normal" "zO"]
Command "expr" with response ~
The "expr" command can be used to get the result of an expression. For
example, to get the number of lines in the current buffer:
["expr","line('$')", -2] ~
It will send back the result of the expression:
[-2, "last line"] ~
The format is:
[{number}, {result}]
Here {number} is the same as what was in the request. Use a negative number
to avoid confusion with message that Vim sends. Use a different number on
every request to be able to match the request with the response.
{result} is the result of the evaluation and is JSON encoded. If the
evaluation fails or the result can't be encoded in JSON it is the string
"ERROR".
Command "expr" without a response ~
This command is similar to "expr" above, but does not send back any response.
Example:
["expr","setline('$', ['one', 'two', 'three'])"] ~
There is no third argument in the request.
Command "call" ~
This is similar to "expr", but instead of passing the whole expression as a
string this passes the name of a function and a list of arguments. This
avoids the conversion of the arguments to a string and escaping and
concatenating them. Example:
["call", "line", ["$"], -2] ~
Leave out the fourth argument if no response is to be sent:
["call", "setline", ["$", ["one", "two", "three"]]] ~
==============================================================================
6. Using a RAW or NL channel *channel-raw*
If mode is RAW or NL then a message can be send like this: >
let response = ch_evalraw(channel, {string})
The {string} is sent as-is. The response will be what can be read from the
channel right away. Since Vim doesn't know how to recognize the end of the
message you need to take care of it yourself. The timeout applies for reading
the first byte, after that it will not wait for anything more.
If mode is "nl" you can send a message in a similar way. You are expected
to put in the NL after each message. Thus you can also send several messages
ending in a NL at once. The response will be the text up to and including the
first NL. This can also be just the NL for an empty response.
If no NL was read before the channel timeout an empty string is returned.
To send a message, without expecting a response: >
call ch_sendraw(channel, {string})
The process can send back a response, the channel handler will be called with
it.
To send a message and letting the response handled by a specific function,
asynchronously: >
call ch_sendraw(channel, {string}, {'callback': 'MyHandler'})
This {string} can also be JSON, use |json_encode()| to create it and
|json_decode()| to handle a received JSON message.
It is not possible to use |ch_evalexpr()| or |ch_sendexpr()| on a raw channel.
==============================================================================
7. More channel functions *channel-more*
To obtain the status of a channel: ch_status(channel). The possible results
are:
"fail" Failed to open the channel.
"open" The channel can be used.
"buffered" The channel was closed but there is data to read.
"closed" The channel was closed.
To obtain the job associated with a channel: ch_getjob(channel)
To read one message from a channel: >
let output = ch_read(channel)
This uses the channel timeout. To read without a timeout, just get any
message that is available: >
let output = ch_read(channel, {'timeout': 0})
When no message was available then the result is v:none for a JSON or JS mode
channels, an empty string for a RAW or NL channel.
To read all output from a RAW channel that is available: >
let output = ch_readraw(channel)
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*
To start a job and open a channel for stdin/stdout/stderr: >
let job = job_start(command, {options})
You can get the channel with: >
let channel = job_getchannel(job)
The channel will use NL mode. If you want another mode it's best to specify
this in {options}. When changing the mode later some text may have already
been received and not parsed correctly.
If the command produces a line of output that you want to deal with, specify
a handler for stdout: >
let job = job_start(command, {"out_cb": "MyHandler"})
The function will be called with the channel and a message. You would define
it like this: >
func MyHandler(channel, msg)
Without the handler you need to read the output with |ch_read()| or
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
The handler defined for "out_cb" will not receive stderr. If you want to
handle that separately, add an "err_cb" handler: >
let job = job_start(command, {"out_cb": "MyHandler",
\ "err_cb": "ErrHandler"})
If you want to handle both stderr and stdout with one handler use the
"callback" option: >
let job = job_start(command, {"callback": "MyHandler"})
You can send a message to the command with ch_evalraw(). If the channel is in
JSON or JS mode you can use ch_evalexpr().
There are several options you can use, see |job-options|.
For example, to start a job and write its output in buffer "dummy": >
let logjob = job_start("tail -f /tmp/log",
\ {'out_io': 'buffer', 'out_name': 'dummy'})
sbuf dummy
Job input from a buffer ~
To run a job that reads from a buffer: >
let job = job_start({command},
\ {'in_io': 'buffer', 'in_name': 'mybuffer'})
<
*E915* *E918*
The buffer is found by name, similar to |bufnr()|. The buffer must exist and
be loaded when job_start() is called.
By default this reads the whole buffer. This can be changed with the "in_top"
and "in_bot" options.
A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
time a line is added to the buffer, the last-but-one line will be send to the
job stdin. This allows for editing the last line and sending it when pressing
Enter.
NUL bytes in the text will be passed to the job (internally Vim stores these
as NL bytes).
Reading job output in the close callback ~
*read-in-close-cb*
If the job can take some time and you don't need intermediate results, you can
add a close callback and read the output there: >
func! CloseHandler(channel)
while ch_status(a:channel) == 'buffered'
echomsg ch_read(a:channel)
endwhile
endfunc
let job = job_start(command, {'close_cb': 'CloseHandler'})
You will want to do something more useful than "echomsg".
==============================================================================
9. Starting a job without a channel *job-start-nochannel*
To start another process without creating a channel: >
let job = job_start(command,
\ {"in_io": "null", "out_io": "null", "err_io": "null"})
This starts {command} in the background, Vim does not wait for it to finish.
When Vim sees that neither stdin, stdout or stderr are connected, no channel
will be created. Often you will want to include redirection in the command to
avoid it getting stuck.
There are several options you can use, see |job-options|.
*job-start-if-needed*
To start a job only when connecting to an address does not work, do something
like this: >
let channel = ch_open(address, {"waittime": 0})
if ch_status(channel) == "fail"
let job = job_start(command)
let channel = ch_open(address, {"waittime": 1000})
endif
Note that the waittime for ch_open() gives the job one second to make the port
available.
==============================================================================
10. Job options *job-options*
The {options} argument in job_start() is a dictionary. All entries are
optional. Some options can be used after the job has started, using
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* *out_cb*
"out_cb": handler Callback for when there is something to read on
stdout. Only for when the channel uses pipes. When
"out_cb" wasn't set the channel callback is used.
The two arguments are the channel and the message.
*job-err_cb* *err_cb*
"err_cb": handler Callback for when there is something to read on
stderr. Only for when the channel uses pipes. When
"err_cb" wasn't set the channel callback is used.
The two arguments are the channel and the message.
*job-close_cb*
"close_cb": handler Callback for when the channel is closed. Same as
"close_cb" on |ch_open()|, see |close_cb|.
*job-exit_cb*
"exit_cb": handler Callback for when the job ends. The arguments are the
job and the exit status.
Vim checks about every 10 seconds for jobs that ended.
The check also be triggered by calling |job_status()|,
which may then invoke the exit_cb handler.
Note that data can be buffered, callbacks may still be
called after the process ends.
*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.
"stoponexit": "" Do not stop the job when Vim exits.
The default is "term".
*job-term*
"term": "open" Start a terminal and connect the job
stdin/stdout/stderr to it.
NOTE: Not implemented yet!
"channel": {channel} Use an existing channel instead of creating a new one.
The parts of the channel that get used for the new job
will be disconnected from what they were used before.
If the channel was still use by another job this may
cause I/O errors.
Existing callbacks and other settings remain.
*job-in_io* *in_top* *in_bot* *in_name* *in_buf*
"in_io": "null" disconnect stdin (read from /dev/null)
"in_io": "pipe" stdin is connected to the channel (default)
"in_io": "file" stdin reads from a file
"in_io": "buffer" stdin reads from a buffer
"in_top": number when using "buffer": first line to send (default: 1)
"in_bot": number when using "buffer": last line to send (default: last)
"in_name": "/path/file" the name of the file or buffer to read from
"in_buf": number the number of the buffer to read from
*job-out_io* *out_name* *out_buf*
"out_io": "null" disconnect stdout (goes to /dev/null)
"out_io": "pipe" stdout is connected to the channel (default)
"out_io": "file" stdout writes to a file
"out_io": "buffer" stdout appends to a buffer (see below)
"out_name": "/path/file" the name of the file or buffer to write to
"out_buf": number the number of the buffer to write to
"out_modifiable": 0 when writing to a buffer, 'modifiable' will be off
(see below)
*job-err_io* *err_name* *err_buf*
"err_io": "out" stderr messages to go to stdout
"err_io": "null" disconnect stderr (goes to /dev/null)
"err_io": "pipe" stderr is connected to the channel (default)
"err_io": "file" stderr writes to a file
"err_io": "buffer" stderr appends to a buffer (see below)
"err_name": "/path/file" the name of the file or buffer to write to
"err_buf": number the number of the buffer to write to
"err_modifiable": 0 when writing to a buffer, 'modifiable' will be off
(see below)
"block_write": number only for testing: pretend every other write to stdin
will block
Writing to a buffer ~
When the out_io or err_io mode is "buffer" and there is a callback, the text
is appended to the buffer before invoking the callback.
When a buffer is used both for input and output, the output lines are put
above the last line, since the last line is what is written to the channel
input. Otherwise lines are appended below the last line.
When using JS or JSON mode with "buffer", only messages with zero or negative
ID will be added to the buffer, after decoding + encoding. Messages with a
positive number will be handled by a callback, commands are handled as usual.
The name of the buffer from "out_name" or "err_name" is compared the full name
of existing buffers, also after expanding the name for the current directory.
E.g., when a buffer was created with ":edit somename" and the buffer name is
"somename" it will use that buffer.
If there is no matching buffer a new buffer is created. Use an empty name to
always create a new buffer. |ch_getbufnr()| can then be used to get the
buffer number.
For a new buffer 'buftype' is set to "nofile" and 'bufhidden' to "hide". If
you prefer other settings, create the buffer first and pass the buffer number.
The "out_modifiable" and "err_modifiable" options can be used to set the
'modifiable' option off, or write to a buffer that has 'modifiable' off. That
means that lines will be appended to the buffer, but the user can't easily
change the buffer.
When an existing buffer is to be written where 'modifiable' is off and the
"out_modifiable" or "err_modifiable" options is not zero, an error is given
and the buffer will not be written to.
When the buffer written to is displayed in a window and the cursor is in the
first column of the last line, the cursor will be moved to the newly added
line and the window is scrolled up to show the cursor if needed.
Undo is synced for every added line. NUL bytes are accepted (internally Vim
stores these as NL bytes).
Writing to a file ~
*E920*
The file is created with permissions 600 (read-write for the user, not
accessible for others). Use |setfperm()| to change this.
If the file already exists it is truncated.
==============================================================================
11. Controlling a job *job-control*
To get the status of a job: >
echo job_status(job)
To make a job stop running: >
job_stop(job)
This is the normal way to end a job. On Unix it sends a SIGTERM to the job.
It is possible to use other ways to stop the job, or even send arbitrary
signals. E.g. to force a job to stop, "kill it": >
job_stop(job, "kill")
For more options see |job_stop()|.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
*develop.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -166,12 +166,27 @@ This list is not complete. Look in the source code for more examples.
MAKING CHANGES *style-changes*
The basic steps to make changes to the code:
1. Adjust the documentation. Doing this first gives you an impression of how
1. Get the code from github. That makes it easier to keep your changed
version in sync with the main code base (it may be a while before your
changes will be included). You do need to spend some time learning git,
it's not the most user friendly tool.
2. Adjust the documentation. Doing this first gives you an impression of how
your changes affect the user.
2. Make the source code changes.
3. Check ../doc/todo.txt if the change affects any listed item.
4. Make a patch with "diff -c" against the unmodified code and docs.
5. Make a note about what changed and include it with the patch.
3. Make the source code changes.
4. Check ../doc/todo.txt if the change affects any listed item.
5. Make a patch with "git diff". You can also create a pull request on
github, but it's the diff that matters.
6. Make a note about what changed, preferably mentioning the problem and the
solution. Send an email to the vim-dev maillist with an explanation and
include the diff. Or create a pull request on github.
C COMPILER *style-compiler*
The minimal C compiler version supported is C89, also known as ANSI C.
Later standards don't add much and C89 is the widest supported.
One restriction that this implies: no // comments, only /* comments */.
USE OF COMMON FUNCTIONS *style-functions*
@@ -197,7 +212,7 @@ NAMES *style-names*
Function names can not be more than 31 characters long (because of VMS).
Don't use "delete" as a variable name, C++ doesn't like it.
Don't use "delete" or "this" as a variable name, C++ doesn't like it.
Because of the requirement that Vim runs on as many systems as possible, we
need to avoid using names that are already defined by the system. This is a
@@ -288,8 +303,27 @@ OK: do
a = 1;
while (cond);
Wrong: if (cond) {
cmd;
cmd;
} else {
cmd;
cmd;
}
Functions start with:
OK: if (cond)
{
cmd;
cmd;
}
else
{
cmd;
cmd;
}
Use ANSI (new style) function declarations with the return type on a separate
indented line.
Wrong: int function_name(int arg1, int arg2)
@@ -299,16 +333,14 @@ OK: /*
* Return value explanation.
*/
int
function_name(arg1, arg2)
int arg1; /* short comment about arg1 */
int arg2; /* short comment about arg2 */
function_name(
int arg1, /* short comment about arg1 */
int arg2) /* short comment about arg2 */
{
int local; /* comment about local */
local = arg1 * arg2;
NOTE: Don't use ANSI style function declarations. A few people still have to
use a compiler that doesn't support it.
SPACES AND PUNCTUATION *style-spaces*

View File

@@ -14,9 +14,7 @@
#define LINELEN 200
int
main(argc, argv)
int argc;
char **argv;
main(int argc, char **argv)
{
char line[LINELEN];
char *p1, *p2;

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.4. Last change: 2016 Jan 03
*editing.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -393,7 +393,7 @@ These are the common ones:
To avoid the special meaning of the wildcards prepend a backslash. However,
on MS-Windows the backslash is a path separator and "path\[abc]" is still seen
as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
is to use "path\[[]abc]". Then the file "path[abc]" literally.
is to use "path\[[]abc]", this matches the file "path\[abc]".
*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
@@ -403,16 +403,21 @@ Note there are some commands where this works slightly differently, see
Example: >
:n **/*.txt
Finds files:
ttt.txt
subdir/ttt.txt
a/b/c/d/ttt.txt
When non-wildcard characters are used these are only matched in the first
directory. Example: >
:n /usr/inc**/*.h
aaa.txt ~
subdir/bbb.txt ~
a/b/c/d/ccc.txt ~
When non-wildcard characters are used right before or after "**" these are
only matched in the top directory. They are not used for directories further
down in the tree. For example: >
:n /usr/inc**/types.h
Finds files:
/usr/include/types.h
/usr/include/sys/types.h
/usr/inc_old/types.h
/usr/include/types.h ~
/usr/include/sys/types.h ~
/usr/inc/old/types.h ~
Note that the path with "/sys" is included because it does not need to match
"/inc". Thus it's like matching "/usr/inc*/*/*...", not
"/usr/inc*/inc*/inc*".
*backtick-expansion* *`-expansion*
On Unix and a few other systems you can also use backticks for the file name
argument, for example: >
@@ -639,6 +644,7 @@ list of the current window.
:0argadd x x a b c
:1argadd x a x b c
:$argadd x a b c x
And after the last one:
:+2argadd y a b c x y
There is no check for duplicates, it is possible to
add a file to the argument list twice.
@@ -1010,7 +1016,7 @@ the newly written file (it might be there but contain bogus data). In that
case try recovery, because the swap file is synced to disk and might still be
there. |:recover|
The directories given with the 'backupdir' option is used to put the backup
The directories given with the 'backupdir' option are used to put the backup
file in. (default: same directory as the written file).
Whether the backup is a new file, which is a copy of the original file, or the
@@ -1215,7 +1221,7 @@ Examples: >
If you want to always use ":confirm", set the 'confirm' option.
*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
*:browse* *:bro* *E338* *E614* *E615* *E616*
:bro[wse] {command} Open a file selection dialog for an argument to
{command}. At present this works for |:e|, |:w|,
|:wall|, |:wq|, |:wqall|, |:x|, |:xall|, |:exit|,
@@ -1458,6 +1464,18 @@ using zip, "[blowfish]" when using blowfish, etc.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
To test for blowfish support you can use these conditions: >
has('crypt-blowfish')
has('crypt-blowfish2')
This works since Vim 7.4.1099 while blowfish support was added earlier.
Thus the condition failing doesn't mean blowfish is not supported. You can
test for blowfish with: >
v:version >= 703
And for blowfish2 with: >
v:version > 704 || (v:version == 704 && has('patch401'))
If you are sure Vim includes patch 7.4.237 a simpler check is: >
has('patch-7.4.401')
<
*E817* *E818* *E819* *E820*
When encryption does not work properly, you would be able to write your text
to a file and never be able to read it back. Therefore a test is performed to

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.4. Last change: 2015 Dec 06
*filetype.txt* For Vim version 7.4. Last change: 2016 Jun 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -579,12 +579,56 @@ CTRL-] Jump to the manual page for the word under the cursor.
CTRL-T Jump back to the previous manual page.
q Same as ":quit"
To use a vertical split instead of horizontal: >
let g:ft_man_open_mode = 'vert'
To use a new tab: >
let g:ft_man_open_mode = 'tab'
To enable folding use this: >
let g:ft_man_folding_enable = 1
If you do not like the default folding, use an autocommand to add your desired
folding style instead. For example: >
autocmd FileType man setlocal foldmethod=indent foldenable
You may also want to set 'keywordprg' to make the |K| command open a manual
page in a Vim window: >
set keywordprg=:Man
MANPAGER *manpager.vim*
The :Man command allows you to turn Vim into a manpager (that syntax highlights
manpages and follows linked manpages on hitting CTRL-]).
Works on:
- Linux
- Mac OS
- FreeBSD
- Cygwin
- Win 10 under Bash
Untested:
- Amiga OS
- BeOS
- OS/2
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
For (t)csh by adding to the config file
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
For fish by adding to the config file
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
If man sets the $MAN_PN environment variable, like man-db, the most common
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
superfluous.
PDF *ft-pdf-plugin*

View File

@@ -25,7 +25,7 @@ Other GUI documentation:
First you must make sure you actually have a version of Vim with the GUI code
included. You can check this with the ":version" command, it says "with xxx
GUI", where "xxx" is X11-Motif, X11-Athena, Photon, GTK, GTK2, etc., or
GUI", where "xxx" is X11-Motif, X11-Athena, Photon, GTK2, GTK3, etc., or
"MS-Windows 32 bit GUI version".
How to start the GUI depends on the system used. Mostly you can run the
@@ -514,11 +514,14 @@ a menu entry. Hit <Enter> to execute it. Hit <Esc> if you want to cancel.
This does require the |+menu| feature enabled at compile time.
*tear-off-menus*
GTK+ and Motif support Tear-off menus. These are sort of sticky menus or
GTK+ 2 and Motif support Tear-off menus. These are sort of sticky menus or
pop-up menus that are present all the time. If the resizing does not work
correctly, this may be caused by using something like "Vim*geometry" in the
defaults. Use "Vim.geometry" instead.
As to GTK+ 3, tear-off menus have been deprecated since GTK+ 3.4.
Accordingly, they are disabled if gvim is linked against GTK+ 3.4 or later.
The Win32 GUI version emulates Motif's tear-off menus. Actually, a Motif user
will spot the differences easily, but hopefully they're just as useful. You
can also use the |:tearoff| command together with |hidden-menus| to create
@@ -650,8 +653,8 @@ When no or zero priority is given, 500 is used.
The priority for the PopUp menu is not used.
The Help menu will be placed on the far right side of the menu bar on systems
which support this (Motif and GTK+). For GTK+ 2, this is not done anymore
because right-aligning the Help menu is now discouraged UI design.
which support this (Motif and GTK+). For GTK+ 2 and 3, this is not done
anymore because right-aligning the Help menu is now discouraged UI design.
You can use a priority higher than 9999, to make it go after the Help menu,
but that is non-standard and is discouraged. The highest possible priority is

View File

@@ -1,186 +0,0 @@
*gui_w16.txt* For Vim version 7.4. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
Vim's Graphical User Interface *gui-w16* *win16-gui*
1. Starting the GUI |win16-start|
2. Vim as default editor |win16-default-editor|
3. Using the clipboard |win16-clipboard|
4. Shell Commands |win16-shell|
5. Special colors |win16-colors|
6. Windows dialogs & browsers |win16-dialogs|
7. Various |win16-various|
Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_msdos.txt| For items common to DOS and Windows.
|gui_w32.txt| Some items here are also applicable to the Win16 version.
{Vi does not have a Windows GUI}
The Win16 version of Vim will run on Windows 3.1 or later. It has not been
tested on 3.0, it probably won't work without being recompiled and
modified. (But you really should upgrade to 3.11 anyway. :)
In most respects it behaves identically to the Win32 GUI version, including
having a flat-style toolbar(!). The chief differences:
1) Bold/Italic text is not available, to speed up repaint/reduce resource
usage. (You can re-instate this by undefining MSWIN16_FASTTEXT.)
2) No tearoff menu emulation.
3) No OLE interface.
4) No long filename support (of course).
5) No tooltips on toolbar buttons - instead they produce command-line tips
like menu items do.
6) Line length limited to 32767 characters (like 16-bit DOS version).
==============================================================================
1. Starting the GUI *win16-start*
The Win16 GUI version of Vim will always start the GUI, no matter how you
start it or what it's called. There is no 'console' version as such, but you
can use one of the DOS versions in a DOS box.
The Win16 GUI has an extra menu item: "Window/Select Font". It brings up the
standard Windows font selector. Note that bold and italic fonts are not
supported in an attempt to maximize GDI drawing speed.
Setting the menu height doesn't work for the Win16 GUI.
*win16-maximized*
If you want Vim to start with a maximized window, add this command to your
vimrc or gvimrc file: >
au GUIEnter * simalt ~x
<
There is a specific version of gvim.exe that runs under the Win32s subsystem
of Windows 3.1 or 3.11. See |win32s|.
==============================================================================
2. Vim as default editor *win16-default-editor*
To set Vim as the default editor for a file type you can use File Manager's
"Associate" feature.
When you open a file in Vim by double clicking it, Vim changes to that
file's directory.
See also |notepad|.
==============================================================================
3. Using the clipboard *win16-clipboard*
Windows has a clipboard, where you can copy text to, and paste text from. Vim
supports this in several ways.
The clipboard works in the same way as the Win32 version: see |gui-clipboard|.
==============================================================================
4. Shell Commands *win16-shell*
Vim spawns a DOS window for external commands, to make it possible to run any
DOS command. The window uses the _default.pif settings.
*win16-!start*
Normally, Vim waits for a command to complete before continuing (this makes
sense for most shell commands which produce output for Vim to use). If you
want Vim to start a program and return immediately, you can use the following
syntax:
:!start {command}
This may only work for a Windows program though.
Don't forget that you must tell Windows 3.1x to keep executing a DOS command
in the background while you switch back to Vim.
==============================================================================
5. Special colors *win16-colors*
On Win16, the normal DOS colors can be used. See |dos-colors|.
Additionally the system configured colors can also be used. These are known
by the names Sys_XXX, where XXX is the appropriate system color name, from the
following list (see the Win32 documentation for full descriptions). Case is
ignored.
Sys_BTNFace Sys_BTNShadow Sys_ActiveBorder
Sys_ActiveCaption Sys_AppWorkspace Sys_Background
Sys_BTNText Sys_CaptionText Sys_GrayText
Sys_Highlight Sys_HighlightText Sys_InactiveBorder
Sys_InactiveCaption Sys_InactiveCaptionText Sys_Menu
Sys_MenuText Sys_ScrollBar Sys_Window
Sys_WindowFrame Sys_WindowText
Probably the most useful values are
Sys_Window Normal window background
Sys_WindowText Normal window text
Sys_Highlight Highlighted background
Sys_HighlightText Highlighted text
These extra colors are also available:
Gray, Grey, LightYellow, SeaGreen, Orange, Purple, SlateBlue, Violet,
See also |rgb.txt|.
==============================================================================
*win16-dialogs*
6. Windows dialogs & browsers
The Win16 GUI can use familiar Windows components for some operations, as well
as the traditional interface shared with the console version.
6.1 Dialogs
The dialogs displayed by the "confirm" family (i.e. the 'confirm' option,
|:confirm| command and |confirm()| function) are GUI-based rather than the
console-based ones used by other versions. There is no option to change this.
6.2 File Browsers
When prepending ":browse" before file editing commands, a file requester is
used to allow you to select an existing file. See |:browse|.
==============================================================================
7. Various *win16-various*
*win16-printing*
The "File/Print" menu uses Notepad to print the current buffer. This is a bit
clumsy, but it's portable. If you want something else, you can define your
own print command. For example, you could look for the 16-bit version of
PrintFile. See $VIMRUNTIME/menu.vim for how it works by default.
Using this should also work: >
:w >>prn
Vim supports a number of standard MS Windows features. Some of these are
detailed elsewhere: see |'mouse'|, |win32-hidden-menus|.
Also see |:simalt|
*win16-drag-n-drop*
You can drag and drop one or more files into the vim window, where they will
be opened as normal. If you hold down Shift while doing this, Vim changes to
the (first) dropped file's directory. If you hold Ctrl, Vim will always split
a new window for the file. Otherwise it's only done if the current buffer has
been changed.
You can also drop a directory's icon, but rather than open all files in the
directory (which wouldn't usually be what you want) Vim instead changes to
that directory and begins a new file.
If Vim happens to be editing a command line, the names of the dropped files
and directories will be inserted at the cursor. This allows you to use these
names with any Ex command.
*win16-truetype*
It is recommended that you use a raster font and not a TrueType
fixed-pitch font. E.g. use Courier, not Courier New. This is not just
to use less resources but because there are subtle bugs in the
handling of fixed-pitch TrueType in Win3.1x. In particular, when you move
a block cursor over a pipe character '|', the cursor is drawn in the wrong
size and bits get left behind. This is a bug in the Win3.1x GDI, it doesn't
happen if you run the exe under 95/NT.
vim:tw=78:sw=4:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08
*gui_x11.txt* For Vim version 7.4. Last change: 2016 Apr 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -305,7 +305,7 @@ If a name is used that exists on other systems, but not in X11, the default
"arrow" pointer is used.
==============================================================================
5. GTK version *gui-gtk* *GTK+* *GTK*
5. GTK version *gui-gtk* *GTK+* *GTK* *GTK3*
The GTK version of the GUI works a little bit different.
@@ -369,6 +369,16 @@ Write this in the file ~/.gtkrc and it will be used by GTK+. For GTK+ 2
you might have to use the file ~/.gtkrc-2.0 instead, depending on your
distribution.
For GTK+ 3, an effect similar to the above can be obtained by adding the
following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
$HOME/.config/gtk-3.0/gtk.css):
>
.tooltip {
background-color: #ffffcc;
color: #000000;
}
<
Using Vim as a GTK+ plugin *gui-gtk-socketid*
When the GTK+ version of Vim starts up normally, it creates its own top level

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.4. Last change: 2016 Jan 10
*help.txt* For Vim version 7.4. Last change: 2016 Mar 31
VIM - main help file
k
@@ -155,7 +155,6 @@ Special issues ~
GUI ~
|gui.txt| Graphical User Interface (GUI)
|gui_w16.txt| Windows 3.1 GUI
|gui_w32.txt| Win32 GUI
|gui_x11.txt| X11 GUI
@@ -165,7 +164,6 @@ Interfaces ~
|if_mzsch.txt| MzScheme interface
|if_perl.txt| Perl interface
|if_pyth.txt| Python interface
|if_sniff.txt| SNiFF+ interface
|if_tcl.txt| Tcl interface
|if_ole.txt| OLE automation interface for Win32
|if_ruby.txt| Ruby interface
@@ -180,6 +178,7 @@ Versions ~
|version5.txt| Differences between Vim version 4.6 and 5.x
|version6.txt| Differences between Vim version 5.7 and 6.x
|version7.txt| Differences between Vim version 6.4 and 7.x
|version8.txt| Differences between Vim version 7.4 and 8.x
*sys-file-list*
Remarks about specific systems ~
|os_390.txt| OS/390 Unix

View File

@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 7.4. Last change: 2014 Sep 19
*helphelp.txt* For Vim version 7.4. Last change: 2016 Apr 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -197,6 +197,9 @@ command: >
*E154* *E150* *E151* *E152* *E153* *E670*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
When {dir} is ALL then all "doc" directories in
'runtimepath' will be used.
All "*.txt" and "*.??x" files in the directory and
sub-directories are scanned for a help tag definition
in between stars. The "*.??x" files are for
@@ -205,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
@@ -258,7 +263,9 @@ The second one finds the English user manual, even when 'helplang' is set to
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
tag only exists for English "@en" is omitted.
tag only exists for English "@en" is omitted. When the first candidate has an
"@ab" extension and it matches the first language in 'helplang' "@ab" is also
omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
@@ -315,6 +322,10 @@ aligned on a line.
When referring to an existing help tag and to create a hot-link, place the
name between two bars (|) eg. |help-writing|.
When referring to a Vim command and to create a hot-link, place the
name between two backticks, eg. inside `:filetype`. You will see this is
highlighted as a command, like a code block (see below).
When referring to a Vim option in the help file, place the option name between
two single quotes, eg. 'statusline'

View File

@@ -97,8 +97,8 @@ command does the same and also splits the window (short: "scs").
The available subcommands are:
*E563* *E564* *E566* *E568* *E569* *E622* *E623*
*E625* *E626* *E609*
*E563* *E564* *E566* *E568* *E622* *E623* *E625*
*E626* *E609*
add : Add a new cscope database/connection.
USAGE :cs add {file|dir} [pre-path] [flags]
@@ -129,6 +129,7 @@ The available subcommands are:
6 or e: Find this egrep pattern
7 or f: Find this file
8 or i: Find files #including this file
9 or a: Find places where this symbol is assigned a value
For all types, except 4 and 6, leading white space for {name} is
removed. For 4 and 6 there is exactly one space between {querytype}
@@ -255,13 +256,13 @@ started will have no effect!
{not available when compiled without the |+quickfix| feature}
'cscopequickfix' specifies whether to use quickfix window to show cscope
results. This is a list of comma-separated values. Each item consists of
|cscope-find| command (s, g, d, c, t, e, f or i) and flag (+, - or 0).
|cscope-find| command (s, g, d, c, t, e, f, i or a) and flag (+, - or 0).
'+' indicates that results must be appended to quickfix window,
'-' implies previous results clearance, '0' or command absence - don't use
quickfix. Search is performed from start until first command occurrence.
The default value is "" (don't use quickfix anyway). The following value
seems to be useful: >
:set cscopequickfix=s-,c-,d-,i-,t-,e-
:set cscopequickfix=s-,c-,d-,i-,t-,e-,a-
<
*cscopetag* *cst*
If 'cscopetag' is set, the commands ":tag" and CTRL-] as well as "vim -t"
@@ -422,6 +423,7 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>a :cs find a <C-R>=expand("<cword>")<CR><CR>
" Using 'CTRL-spacebar' then a search type makes the vim window
" split horizontally, with search result displayed in
@@ -435,6 +437,7 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
nmap <C-Space>f :scs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-Space>i :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-Space>d :scs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>a :scs find a <C-R>=expand("<cword>")<CR><CR>
" Hitting CTRL-space *twice* before the search type does a vertical
" split instead of a horizontal one
@@ -453,6 +456,8 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
\:vert scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-Space><C-Space>d
\:vert scs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>a
\:vert scs find a <C-R>=expand("<cword>")<CR><CR>
==============================================================================
7. Cscope availability and information *cscope-info*

View File

@@ -410,13 +410,20 @@ This means that Vim will search for the Lua DLL or shared library file only
when needed. When you don't use the Lua interface you don't need it, thus
you can use Vim without this file.
On MS-Windows to use the Lua interface the Lua DLL must be in your search path.
In a console window type "path" to see what directories are used. The version
of the DLL must match the Lua version Vim was compiled with.
On Unix the 'luadll' option can be used to specify the Lua shared library file
instead of DYNAMIC_LUA_DLL file what was specified at compile time. The
version of the shared library must match the Lua version Vim was compiled with.
MS-Windows ~
To use the Lua interface the Lua DLL must be in your search path. In a
console window type "path" to see what directories are used. The 'luadll'
option can be also used to specify the Lua DLL. The version of the DLL must
match the Lua version Vim was compiled with.
Unix ~
The 'luadll' option can be used to specify the Lua shared library file instead
of DYNAMIC_LUA_DLL file what was specified at compile time. The version of
the shared library must match the Lua version Vim was compiled with.
==============================================================================

View File

@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 7.4. Last change: 2012 Dec 17
*if_mzsch.txt* For Vim version 7.4. Last change: 2016 Jan 24
VIM REFERENCE MANUAL by Sergey Khorev
@@ -265,7 +265,7 @@ directly from Scheme. For instance: >
<
==============================================================================
7. Dynamic loading *mzscheme-dynamic* *E815*
7. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.
@@ -294,7 +294,7 @@ to set the environment variable as the following: >
PLTCONFIGDIR=C:\Racket63\etc
<
==============================================================================
8. MzScheme setup *mzscheme-setup*
8. MzScheme setup *mzscheme-setup* *E895*
Vim requires "racket/base" module for if_mzsch core (fallback to "scheme/base"
if it doesn't exist), "r5rs" module for test and "raco ctool" command for

View File

@@ -284,7 +284,8 @@ used for building Vim.
To use the Perl interface the Perl DLL must be in your search path.
If Vim reports it cannot find the perl512.dll, make sure your $PATH includes
the directory where it is located. The Perl installer normally does that.
In a console window type "path" to see what directories are used.
In a console window type "path" to see what directories are used. The
'perldll' option can be also used to specify the Perl DLL.
The name of the DLL must match the Perl version Vim was compiled with.
Currently the name is "perl512.dll". That is for Perl 5.12. To know for

View File

@@ -653,10 +653,37 @@ vim.List object *python-List*
class List(vim.List): # Subclassing
vim.Function object *python-Function*
Function-like object, acting like vim |Funcref| object. Supports `.name`
attribute and is callable. Accepts special keyword argument `self`, see
|Dictionary-function|. You can also use `vim.Function(name)` constructor,
it is the same as `vim.bindeval('function(%s)'%json.dumps(name))`.
Function-like object, acting like vim |Funcref| object. Accepts special
keyword argument `self`, see |Dictionary-function|. You can also use
`vim.Function(name)` constructor, it is the same as
`vim.bindeval('function(%s)'%json.dumps(name))`.
Attributes (read-only):
Attribute Description ~
name Function name.
args `None` or a |python-List| object with arguments. Note
that this is a copy of the arguments list, constructed
each time you request this attribute. Modifications made
to the list will be ignored (but not to the containers
inside argument list: this is like |copy()| and not
|deepcopy()|).
self `None` or a |python-Dictionary| object with self
dictionary. Note that explicit `self` keyword used when
calling resulting object overrides this attribute.
auto_rebind Boolean. True if partial created from this Python object
and stored in the VimL dictionary should be automatically
rebound to the dictionary it is stored in when this
dictionary is indexed. Exposes Vim internal difference
between `dict.func` (auto_rebind=True) and
`function(dict.func,dict)` (auto_rebind=False). This
attribute makes no sense if `self` attribute is `None`.
Constructor additionally accepts `args`, `self` and `auto_rebind`
keywords. If `args` and/or `self` argument is given then it constructs
a partial, see |function()|. `auto_rebind` is only used when `self`
argument is given, otherwise it is assumed to be `True` regardless of
whether it was given or not. If `self` is given then it defaults to
`False`.
Examples: >
f = vim.Function('tr') # Constructor
@@ -670,6 +697,11 @@ vim.Function object *python-Function*
print f(self={}) # Like call('DictFun', [], {})
print isinstance(f, vim.Function) # True
p = vim.Function('DictFun', self={})
print f()
p = vim.Function('tr', args=['abc', 'a'])
print f('b')
==============================================================================
8. pyeval() and py3eval() Vim functions *python-pyeval*
@@ -686,18 +718,24 @@ This means that Vim will search for the Python DLL or shared library file only
when needed. When you don't use the Python interface you don't need it, thus
you can use Vim without this file.
On MS-Windows to use the Python interface the Python DLL must be in your search
path. In a console window type "path" to see what directories are used.
MS-Windows ~
To use the Python interface the Python DLL must be in your search path. In a
console window type "path" to see what directories are used. The 'pythondll'
or 'pythonthreedll' option can be also used to specify the Python DLL.
The name of the DLL must match the Python version Vim was compiled with.
Currently the name is "python24.dll". That is for Python 2.4. To know for
sure edit "gvim.exe" and search for "python\d*.dll\c".
On Unix the 'pythondll' or 'pythonthreedll' option can be used to specify the
Python shared library file instead of DYNAMIC_PYTHON_DLL or
DYNAMIC_PYTHON3_DLL file what were specified at compile time. The version of
the shared library must match the Python 2.x or Python 3 version Vim was
compiled with.
Unix ~
The 'pythondll' or 'pythonthreedll' option can be used to specify the Python
shared library file instead of DYNAMIC_PYTHON_DLL or DYNAMIC_PYTHON3_DLL file
what were specified at compile time. The version of the shared library must
match the Python 2.x or Python 3 version Vim was compiled with.
==============================================================================
10. Python 3 *python3*
@@ -708,7 +746,7 @@ if the `:py3` command is working: >
:py3 print("Hello")
< *:py3file*
The `:py3file` command works similar to `:pyfile`.
*:py3do* *E863*
*:py3do*
The `:py3do` command works similar to `:pydo`.

View File

@@ -199,6 +199,7 @@ This means that Vim will search for the Ruby DLL file or shared library only
when needed. When you don't use the Ruby interface you don't need it, thus
you can use Vim even though this library file is not on your system.
MS-Windows ~
You need to install the right version of Ruby for this to work. You can find
@@ -207,7 +208,8 @@ http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
Currently that is ruby-1.9.1-p429-i386-mswin32.zip
To use the Ruby interface the Ruby DLL must be in your search path. In a
console window type "path" to see what directories are used.
console window type "path" to see what directories are used. The 'rubydll'
option can be also used to specify the Ruby DLL.
The name of the DLL must match the Ruby version Vim was compiled with.
Currently the name is "msvcrt-ruby191.dll". That is for Ruby 1.9.1. To know
@@ -218,6 +220,7 @@ and comment-out the check for _MSC_VER.
You may also need to rename the include directory name to match the version,
strangely for Ruby 1.9.3 the directory is called 1.9.1.
Unix ~
The 'rubydll' option can be used to specify the Ruby shared library file

View File

@@ -1,95 +1,11 @@
*if_sniff.txt* For Vim version 7.4. Last change: 2005 Mar 29
*if_sniff.txt* For Vim version 7.4. Last change: 2016 Feb 27
VIM REFERENCE MANUAL
by Anton Leherbauer (toni@takefive.co.at)
SNiFF+ and Vim *sniff*
1. Introduction |sniff-intro|
2. Commands |sniff-commands|
3. Compiling Vim with SNiFF+ interface |sniff-compiling|
{Vi does not have any of these commands} *E275* *E274* *E276* *E278* *E279*
The SNiFF+ interface only works, when Vim was compiled with the |+sniff|
feature.
==============================================================================
1. Introduction *sniff-intro*
The following features for the use with SNiFF+ are available:
* Vim can be used for all editing requests
* SNiFF+ recognizes and updates all browsers when a file is saved in Vim
* SNiFF+ commands can be issued directly from Vim
How to use Vim with SNiFF+
1. Make sure SNiFF+ is running.
2. In the Editor view of the Preferences dialog set the Field named
'External Editor' to 'Emacs/Vim'.
4. Start Vim
5. Connect to SNiFF+ (:sniff connect)
Once a connection is established, SNiFF+ uses Vim for all requests to show or
edit source code. On the other hand, you can send queries to SNiFF+ with the
:sniff command.
==============================================================================
2. Commands *sniff-commands*
*:sniff* *:sni*
:sni[ff] request [symbol] Send request to sniff with optional symbol.
{not in Vi}
:sni[ff] Display all possible requests and the connection
status
Most requests require a symbol (identifier) as parameter. If it is omitted,
Vim will use the current word under the cursor.
The available requests are listed below:
request mapping description
-------------------------------------------------------------------------------
connect sc Establish connection with SNiFF+.
Make sure SNiFF+ is prepared for this in the
Preferences
disconnect sq Disconnect from SNiFF+. You can reconnect any
time with :sniff connect (or 'sc')
toggle st Toggle between implementation
and definition file
find-symbol sf Load the symbol into a Symbol Browser
browse-class sb Loads the class into a Class Browser
superclass ss Edit superclass of symbol
overridden so Edit overridden method of symbol
retrieve-file srf Retrieve symbol in current file
retrieve-project srp Retrieve symbol in current project
retrieve-all-projects srP Retrieve symbol in all projects
retrieve-next sR Retrieve symbol using current Retriever
settings
goto-symbol sg Goto definition or implementation of symbol
hierarchy sh Load symbol into the Hierarchy Browser
restr-hier sH same as above but show only related classes
xref-to sxt Start a refers-to query on symbol and
load the results into the Cross Referencer
xref-by sxb Start a referred-by query on symbol
xref-has sxh Start a refers-to components query on symbol
xref-used-by sxu Start a referred-by as component query on
symbol
show-docu sd Show documentation of symbol
gen-docu sD Generate documentation of symbol
The mappings are defined in a file 'sniff.vim', which is part of every SNiFF+
product ($SNIFF_DIR/config/sniff.vim). This file is sourced whenever Vim
connects to SNiFF+.
==============================================================================
3. Compiling Vim with SNiFF+ interface *sniff-compiling*
To compile Vim with SNiFF+ support, you need two source files of the extra
archive: if_sniff.c and if_sniff.h.
On Unix: Edit the Makefile and uncomment the line "--enable-sniff". Or run
configure manually with this argument.
On NT: Specify SNIFF=yes with your make command.
The SNiFF+ support was removed at patch 7.4.1433. If you want to check it out
sync to before that.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -16,7 +16,7 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
8. Examples |tcl-examples|
9. Dynamic loading |tcl-dynamic|
{Vi does not have any of these commands} *E280* *E281*
{Vi does not have any of these commands} *E280*
The Tcl interface only works when Vim was compiled with the |+tcl| feature.
@@ -526,7 +526,8 @@ can use Vim without this file.
MS-Windows ~
To use the Tcl interface the Tcl DLL must be in your search path. In a
console window type "path" to see what directories are used.
console window type "path" to see what directories are used. The 'tcldll'
option can be also used to specify the Tcl DLL.
The name of the DLL must match the Tcl version Vim was compiled with.
Currently the name is "tcl86.dll". That is for Tcl 8.6. To know for sure

View File

@@ -813,7 +813,7 @@ PHP indenting can be altered in several ways by modifying the values of some
global variables:
*php-comment* *PHP_autoformatcomment*
To not enable auto-formating of comments by default (if you want to use your
To not enable auto-formatting of comments by default (if you want to use your
own 'formatoptions'): >
:let g:PHP_autoformatcomment = 0

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2016 Jan 10
*index.txt* For Vim version 7.4. Last change: 2016 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -49,6 +49,7 @@ tag char action in Insert mode ~
|i_CTRL-G_k| CTRL-G k line up, to column where inserting started
|i_CTRL-G_k| CTRL-G <Up> line up, to column where inserting started
|i_CTRL-G_u| CTRL-G u start new undoable edit
|i_CTRL-G_U| CTRL-G U don't break undo with next cursor movement
|i_<BS>| <BS> delete character before the cursor
|i_digraph| {char1}<BS>{char2}
enter digraph (only when 'digraph' option set)
@@ -859,6 +860,7 @@ tag command note action in Visual mode ~
------------------------------------------------------------------------------
|v_CTRL-\_CTRL-N| CTRL-\ CTRL-N stop Visual mode
|v_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|v_CTRL-A| CTRL-A 2 add N to number in highlighted text
|v_CTRL-C| CTRL-C stop Visual mode
|v_CTRL-G| CTRL-G toggle between Visual mode and Select mode
|v_<BS>| <BS> 2 Select mode: delete highlighted area
@@ -867,6 +869,7 @@ tag command note action in Visual mode ~
command
|v_CTRL-V| CTRL-V make Visual mode blockwise or stop Visual
mode
|v_CTRL-X| CTRL-X 2 subtract N from number in highlighted text
|v_<Esc>| <Esc> stop Visual mode
|v_CTRL-]| CTRL-] jump to highlighted tag
|v_!| !{filter} 2 filter the highlighted lines through the
@@ -923,6 +926,8 @@ tag command note action in Visual mode ~
|v_a}| a} same as aB
|v_c| c 2 delete highlighted area and start insert
|v_d| d 2 delete highlighted area
|v_g_CTRL-A| g CTRL-A 2 add N to number in highlighted text
|v_g_CTRL-X| g CTRL-X 2 subtract N from number in highlighted text
|v_gJ| gJ 2 join the highlighted lines without
inserting spaces
|v_gq| gq 2 format the highlighted lines
@@ -1134,6 +1139,7 @@ tag command action ~
|:caddfile| :caddf[ile] add error message to current quickfix list
|:call| :cal[l] call a function
|:catch| :cat[ch] part of a :try command
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|:cc| :cc go to specific error
|:cclose| :ccl[ose] close quickfix window
@@ -1151,8 +1157,10 @@ 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
|:chistory| :chi[story] list the error lists
|: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
@@ -1293,6 +1301,7 @@ tag command action ~
|:last| :la[st] go to the last file in the argument list
|:language| :lan[guage] set the language (locale)
|:later| :lat[er] go to newer change, redo
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|:lbuffer| :lb[uffer] parse locations and jump to first location
|:lcd| :lc[d] change directory locally
|:lchdir| :lch[dir] change directory locally
@@ -1312,6 +1321,7 @@ tag command action ~
|:lgrep| :lgr[ep] run 'grepprg' and jump to first match
|:lgrepadd| :lgrepa[dd] like :grep, but append to current list
|:lhelpgrep| :lh[elpgrep] like ":helpgrep" but uses location list
|:lhistory| :lhi[story] list the location lists
|:ll| :ll go to specific location
|:llast| :lla[st] go to the specified location, default last one
|:llist| :lli[st] list all locations
@@ -1394,6 +1404,8 @@ tag command action ~
|:ounmap| :ou[nmap] like ":unmap" but for Operator-pending mode
|:ounmenu| :ounme[nu] remove menu for Operator-pending mode
|:ownsyntax| :ow[nsyntax] set new local syntax highlight for this window
|:packadd| :pa[ckadd] add a plugin from 'packpath'
|:packloadall| :packl[oadall] load all packages under 'packpath'
|:pclose| :pc[lose] close preview window
|:pedit| :ped[it] edit file in the preview window
|:perl| :pe[rl] execute Perl command
@@ -1498,7 +1510,6 @@ tag command action ~
|:smile| :smi[le] make the user happy
|:snext| :sn[ext] split window and go to next file in the
argument list
|:sniff| :sni[ff] send request to sniff
|:snomagic| :sno[magic] :substitute with 'nomagic'
|:snoremap| :snor[emap] like ":noremap" but for Select mode
|:snoremenu| :snoreme[nu] like ":noremenu" but for Select mode
@@ -1539,14 +1550,14 @@ tag command action ~
|:tabdo| :tabdo execute command in each tab page
|:tabedit| :tabe[dit] edit a file in a new tab page
|:tabfind| :tabf[ind] find file in 'path', edit it in a new tab page
|:tabfirst| :tabfir[st] got to first tab page
|:tablast| :tabl[ast] got to last tab page
|:tabfirst| :tabfir[st] go to first tab page
|:tablast| :tabl[ast] go to last tab page
|:tabmove| :tabm[ove] move tab page to other position
|:tabnew| :tabnew edit a file in a new tab page
|:tabnext| :tabn[ext] go to next tab page
|:tabonly| :tabo[nly] close all tab pages except the current one
|:tabprevious| :tabp[revious] go to previous tab page
|:tabrewind| :tabr[ewind] got to first tab page
|:tabrewind| :tabr[ewind] go to first tab page
|:tabs| :tabs list the tab pages and what they contain
|:tab| :tab create new tab when opening new window
|:tag| :ta[g] jump to tag

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.4. Last change: 2015 Sep 15
*insert.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1872,8 +1872,6 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
or script is finished.
This command does not work from |:normal|.
{not in Vi}
{not available when compiled without the |+ex_extra|
feature}
*:stopi* *:stopinsert*
:stopi[nsert] Stop Insert mode as soon as possible. Works like
@@ -1891,15 +1889,11 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
script that the replacement will only start after
the function or script is finished.
{not in Vi}
{not available when compiled without the |+ex_extra|
feature}
*:startgreplace*
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
mode, like with |gR|.
{not in Vi}
{not available when compiled without the |+ex_extra|
feature}
==============================================================================
10. Inserting a file *inserting-file*

View 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 Jul 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1274,6 +1274,7 @@ completion can be enabled:
-complete=mapping mapping name
-complete=menu menus
-complete=option options
-complete=packadd optional package |pack-add| names
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
@@ -1358,7 +1359,7 @@ Possible attributes are:
Note that -range=N and -count=N are mutually exclusive - only one should be
specified.
*E889* *:command-addr*
*:command-addr*
It is possible that the special characters in the range like ., $ or % which
by default correspond to the current line, last line and the whole buffer,
relate to arguments, (loaded) buffers, windows or tab pages.
@@ -1411,6 +1412,27 @@ The valid escape sequences are
<bang> (See the '-bang' attribute) Expands to a ! if the
command was executed with a ! modifier, otherwise
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|.
Examples: >
command! -nargs=+ -complete=file MyEdit
\ for f in expand(<q-args>, 0, 1) |
\ exe '<mods> split ' . f |
\ endfor
function! SpecialEdit(files, mods)
for f in expand(a:files, 0, 1)
exe a:mods . ' split ' . f
endfor
endfunction
command! -nargs=+ -complete=file Sedit
\ call SpecialEdit(<q-args>, <q-mods>)
<
*<reg>* *<register>*
<reg> (See the '-register' attribute) The optional register,
if specified. Otherwise, expands to nothing. <register>

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.4. Last change: 2013 May 18
*mbyte.txt* For Vim version 7.4. Last change: 2016 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -1010,6 +1010,7 @@ text, you can use the 'keymap' option. This will translate one or more
(English) characters to another (non-English) character. This only happens
when typing text, not when typing Vim commands. This avoids having to switch
between two keyboard settings.
{only available when compiled with the |+keymap| feature}
The value of the 'keymap' option specifies a keymap file to use. The name of
this file is one of these two:

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.4. Last change: 2013 Feb 23
*message.txt* For Vim version 7.4. Last change: 2016 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,6 +19,15 @@ The ":messages" command can be used to view previously given messages. This
is especially useful when messages have been overwritten or truncated. This
depends on the 'shortmess' option.
:messages Show all messages.
:{count}messages Show the {count} most recent messages.
:messages clear Clear all messages.
:{count}messages clear Clear messages, keeping only the {count} most
recent ones.
The number of remembered messages is fixed at 20 for the tiny version and 200
for other versions.
@@ -58,8 +67,9 @@ If you are lazy, it also works without the shift key: >
When an error message is displayed, but it is removed before you could read
it, you can see it again with: >
:echo errmsg
or view a list of recent messages with: >
Or view a list of recent messages with: >
:messages
See `:messages` above.
LIST OF MESSAGES
@@ -476,8 +486,6 @@ in memory, you can reduce that with these options:
helps for a change that affects all lines.
- 'undoreload' Set to zero to disable.
Also see |msdos-limitations|.
*E339* >
Pattern too long
@@ -665,6 +673,12 @@ You must be using an awful lot of buffers. It's now possible that two buffers
have the same number, which causes various problems. You might want to exit
Vim and restart it.
*E931* >
Buffer cannot be registered
Out of memory or a duplicate buffer number. May happen after W14. Looking up
a buffer will not always work, better restart Vim.
*E296* *E297* >
Seek error in swap file write
Write error in swap file

View File

@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.4. Last change: 2012 Jan 15
*mlang.txt* For Vim version 7.4. Last change: 2016 Jan 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -97,13 +97,15 @@ If you used the self-installing .exe file, message translations should work
already. Otherwise get the libintl.dll file if you don't have it yet:
http://sourceforge.net/projects/gettext
Or:
https://mlocati.github.io/gettext-iconv-windows/
This also contains tools xgettext, msgformat and others.
libintl.dll should be placed in same directory with (g)vim.exe, or some
place where PATH environment value describe. Message files (vim.mo)
have to be placed in "$VIMRUNTIME/lang/xx/LC_MESSAGES", where "xx" is the
abbreviation of the language (mostly two letters).
place where PATH environment value describe. Vim also finds libintl-8.dll.
Message files (vim.mo) have to be placed in "$VIMRUNTIME/lang/xx/LC_MESSAGES",
where "xx" is the abbreviation of the language (mostly two letters).
If you write your own translations you need to generate the .po file and
convert it to a .mo file. You need to get the source distribution and read

View 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 Jul 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -586,7 +586,7 @@ i[ "inner [] block", select [count] '[' ']' blocks. This
When used in Visual mode it is made characterwise.
a) *v_a)* *a)* *a(*
a( *v_ab* *v_a(* *ab*
a( *vab* *v_ab* *v_a(* *ab*
ab "a block", select [count] blocks, from "[count] [(" to
the matching ')', including the '(' and ')' (see
|[(|). Does not include white space outside of the
@@ -594,7 +594,7 @@ ab "a block", select [count] blocks, from "[count] [(" to
When used in Visual mode it is made characterwise.
i) *v_i)* *i)* *i(*
i( *v_ib* *v_i(* *ib*
i( *vib* *v_ib* *v_i(* *ib*
ib "inner block", select [count] blocks, from "[count] [("
to the matching ')', excluding the '(' and ')' (see
|[(|).
@@ -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

View File

@@ -1,10 +1,10 @@
*netbeans.txt* For Vim version 7.4. Last change: 2015 Mar 14
*netbeans.txt* For Vim version 7.4. Last change: 2016 Jul 15
VIM REFERENCE MANUAL by Gordon Prieur et al.
*socket-interface* *netbeans* *netbeans-support*
*netbeans* *netbeans-support*
Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
@@ -59,6 +59,8 @@ Current projects using the NetBeans protocol of Vim are:
Check the specific project pages to see how to use Vim with these projects.
An alternative is to use a channel, see |channel|.
In the rest of this help page, we will use the term "Vim Controller" to
describe the program controlling Vim through the NetBeans socket interface.
@@ -194,6 +196,8 @@ There are two different ways to run Vim in NetBeans mode:
+ an IDE may start Vim with the |-nb| command line argument
+ NetBeans can be started from within Vim with the |:nbstart| command
Vim uses a 3 second timeout on trying to make the connection.
*netbeans-parameters*
Three forms can be used to setup the NetBeans connection parameters.
When started from the command line, the |-nb| command line argument may be:
@@ -823,9 +827,9 @@ REJECT Not used.
6.7 Protocol errors *nb-protocol_errors*
These errors occur when a message violates the protocol:
*E627* *E628* *E629* *E630* *E631* *E632* *E633* *E634* *E635* *E636*
*E627* *E628* *E629* *E632* *E633* *E634* *E635* *E636*
*E637* *E638* *E639* *E640* *E641* *E642* *E643* *E644* *E645* *E646*
*E647* *E648* *E649* *E650* *E651* *E652* *E653* *E654*
*E647* *E648* *E649* *E650* *E651* *E652*
==============================================================================

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2016 Jan 09
*options.txt* For Vim version 7.4. Last change: 2016 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -69,7 +69,7 @@ achieve special effects. These options come in three forms:
:se[t] {option}:{value}
Set string or number option to {value}.
For numeric options the value can be given in decimal,
hex (preceded with 0x) or octal (preceded with '0').
hex (preceded with 0x) or octal (preceded with '0').
The old value can be inserted by typing 'wildchar' (by
default this is a <Tab> or CTRL-E if 'compatible' is
set). See |cmdline-completion|.
@@ -887,7 +887,8 @@ A jump table for the options with a short description can be found at |Q_op|.
done with ":syntax on".
*'backspace'* *'bs'*
'backspace' 'bs' string (default "")
'backspace' 'bs' string (default "", set to "indent,eol,start"
in |defaults.vim|)
global
{not in Vi}
Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
@@ -1002,7 +1003,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- The backup file will be created in the first directory in the list
where this is possible. The directory must exist, Vim will not
create it for you.
- Empty means that no backup file will be created ( 'patchmode' is
- Empty means that no backup file will be created ('patchmode' is
impossible!). Writing may fail because of this.
- A directory "." means to put the backup file in the same directory
as the edited file.
@@ -1070,7 +1071,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Note that environment variables are not expanded. If you want to use
$HOME you must expand it explicitly, e.g.: >
:let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
:let &backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
< Note that the default also makes sure that "crontab -e" works (when a
backup would be made by renaming the original file crontab won't see
@@ -1103,6 +1104,7 @@ A jump table for the options with a short description can be found at |Q_op|.
v:beval_bufnr number of the buffer in which balloon is going to show
v:beval_winnr number of the window
v:beval_winid ID of the window
v:beval_lnum line number
v:beval_col column number (byte index)
v:beval_text word under or after the mouse pointer
@@ -1211,10 +1213,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'bioskey' 'biosk' boolean (default on)
global
{not in Vi} {only for MS-DOS}
When on the BIOS is called to obtain a keyboard character. This works
better to detect CTRL-C, but only works for the console. When using a
terminal over a serial port reset this option.
Also see |'conskey'|.
This was for MS-DOS and is no longer supported.
*'bomb'* *'nobomb'*
'bomb' boolean (default off)
@@ -1248,7 +1247,7 @@ A jump table for the options with a short description can be found at |Q_op|.
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
characters when 'encoding' is an 8-bit encoding.
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
'breakindent' 'bri' boolean (default off)
local to window
{not in Vi}
@@ -1429,8 +1428,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Only non-printable keys are allowed.
The key can be specified as a single character, but it is difficult to
type. The preferred way is to use the <> notation. Examples: >
:set cedit=<C-Y>
:set cedit=<Esc>
:exe "set cedit=\<C-Y>"
:exe "set cedit=\<Esc>"
< |Nvi| also has this option, but it only uses the first character.
See |cmdwin|.
@@ -1698,7 +1697,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' boolean (default on, off when a |vimrc| or |gvimrc|
file is found)
file is found, reset in |defaults.vim|)
global
{not in Vi}
This option has the effect of making Vim either more Vi-compatible, or
@@ -1795,7 +1794,7 @@ A jump table for the options with a short description can be found at |Q_op|.
when CTRL-P or CTRL-N are used. It is also used for whole-line
completion |i_CTRL-X_CTRL-L|. It indicates the type of completion
and the places to scan. It is a comma separated list of flags:
. scan the current buffer ( 'wrapscan' is ignored)
. scan the current buffer ('wrapscan' is ignored)
w scan buffers from other windows
b scan other loaded buffers that are in the buffer list
u scan the unloaded buffers that are in the buffer list
@@ -1946,13 +1945,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'conskey' 'consk' boolean (default off)
global
{not in Vi} {only for MS-DOS}
When on direct console I/O is used to obtain a keyboard character.
This should work in most cases. Also see |'bioskey'|. Together,
three methods of console input are available:
'conskey' 'bioskey' action ~
on on or off direct console input
off on BIOS
off off STDIN
This was for MS-DOS and is no longer supported.
*'copyindent'* *'ci'* *'nocopyindent'* *'noci'*
'copyindent' 'ci' boolean (default off)
@@ -1969,7 +1962,7 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: 'copyindent' is reset when 'compatible' is set.
Also see 'preserveindent'.
*'cpoptions'* *'cpo'*
*'cpoptions'* *'cpo'* *cpo*
'cpoptions' 'cpo' string (Vim default: "aABceFs",
Vi default: all flags)
global
@@ -2295,12 +2288,14 @@ A jump table for the options with a short description can be found at |Q_op|.
the encrypted bytes will be different.
*blowfish2*
blowfish2 Blowfish method. Medium strong encryption. Requires
Vim 7.4.399 or later, files can NOT be read by Vim 7.3
Vim 7.4.401 or later, files can NOT be read by Vim 7.3
and older. This adds a "seed" to the file, every time
you write the file the encrypted bytes will be
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.
@@ -2629,11 +2624,17 @@ A jump table for the options with a short description can be found at |Q_op|.
Change the way text is displayed. This is comma separated list of
flags:
lastline When included, as much as possible of the last line
in a window will be displayed. When not included, a
last line that doesn't fit is replaced with "@" lines.
in a window will be displayed. "@@@" is put in the
last columns of the last screen line to indicate the
rest of the line is not displayed.
truncate Like "lastline", but "@@@" is displayed in the first
column of the last screen line. Overrules "lastline".
uhex Show unprintable characters hexadecimal as <xx>
instead of using ^C and ~C.
When neither "lastline" or "truncate" is included, a last line that
doesn't fit is replaced with "@" lines.
*'eadirection'* *'ead'*
'eadirection' 'ead' string (default "both")
global
@@ -2653,6 +2654,15 @@ A jump table for the options with a short description can be found at |Q_op|.
also 'gdefault' option.
Switching this option on is discouraged!
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
'emoji' 'emo' boolean (default: on)
global
{not in Vi}
{only available when compiled with the |+multi_byte|
feature}
When on all Unicode emoji characters are considered to be full width.
*'encoding'* *'enc'* *E543*
'encoding' 'enc' string (default: "latin1" or value from $LANG)
global
@@ -3030,8 +3040,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
@@ -3096,17 +3106,17 @@ A jump table for the options with a short description can be found at |Q_op|.
item default Used for ~
stl:c ' ' or '^' statusline of the current window
stlnc:c ' ' or '-' statusline of the non-current windows
stlnc:c ' ' or '=' statusline of the non-current windows
vert:c '|' vertical separators |:vsplit|
fold:c '-' filling 'foldtext'
diff:c '-' deleted lines of the 'diff' option
Any one that is omitted will fall back to the default. For "stl" and
"stlnc" the space will be used when there is highlighting, '^' or '-'
"stlnc" the space will be used when there is highlighting, '^' or '='
otherwise.
Example: >
:set fillchars=stl:^,stlnc:-,vert:\|,fold:-,diff:-
:set fillchars=stl:^,stlnc:=,vert:\|,fold:-,diff:-
< This is similar to the default, except that these characters will also
be used when there is highlighting.
@@ -3334,6 +3344,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
@@ -3377,41 +3422,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
@@ -3632,6 +3642,10 @@ A jump table for the options with a short description can be found at |Q_op|.
HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
Normally you would use "cDEFAULT".
qXX - quality XX. Valid quality names are: PROOF, DRAFT,
ANTIALIASED, NONANTIALIASED, CLEARTYPE, DEFAULT.
Normally you would use "qDEFAULT".
Some quality values isn't supported in legacy OSs.
Use a ':' to separate the options.
- A '_' can be used in the place of a space, so you don't need to use
@@ -3712,8 +3726,10 @@ A jump table for the options with a short description can be found at |Q_op|.
screen.
*'guioptions'* *'go'*
'guioptions' 'go' string (default "egmrLtT" (MS-Windows),
"aegimrLtT" (GTK, Motif and Athena))
'guioptions' 'go' string (default "egmrLtT" (MS-Windows, "t" is
removed in |defaults.vim|),
"aegimrLtT" (GTK, Motif and Athena),
)
global
{not in Vi}
{only available when compiled with GUI enabled}
@@ -3741,7 +3757,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The same applies to the modeless selection.
*'go-P'*
'P' Like autoselect but using the "+ register instead of the "*
register.
register.
*'go-A'*
'A' Autoselect for the modeless selection. Like 'a', but only
applies to the modeless selection.
@@ -4035,7 +4051,8 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: This option is reset when 'compatible' is set.
*'history'* *'hi'*
'history' 'hi' number (Vim default: 50, Vi default: 0)
'history' 'hi' number (Vim default: 50, Vi default: 0,
set to 200 in |defaults.vim|)
global
{not in Vi}
A history of ":" commands, and a history of previous search patterns
@@ -4287,7 +4304,8 @@ A jump table for the options with a short description can be found at |Q_op|.
evaluating 'includeexpr' |textlock|.
*'incsearch'* *'is'* *'noincsearch'* *'nois'*
'incsearch' 'is' boolean (default off)
'incsearch' 'is' boolean (default off, set in |defaults.vim| if the
+reltime feature is supported)
global
{not in Vi}
{not available when compiled without the
@@ -4489,6 +4507,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'*', '"' and '|' (so that CTRL-] on a command finds the help for that
command).
When the 'lisp' option is on the '-' character is always included.
This option also influences syntax highlighting, unless the syntax
uses |:syn-iskeyword|.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.
@@ -4579,16 +4599,18 @@ A jump table for the options with a short description can be found at |Q_op|.
*'keywordprg'* *'kp'*
'keywordprg' 'kp' string (default "man" or "man -s", DOS: ":help",
OS/2: "view /", VMS: "help")
VMS: "help")
global or local to buffer |global-local|
{not in Vi}
Program to use for the |K| command. Environment variables are
expanded |:set_env|. ":help" may be used to access the Vim internal
help. (Note that previously setting the global option to the empty
value did this, which is now deprecated.)
When "man" is used, Vim will automatically translate a count for the
"K" command to a section number. Also for "man -s", in which case the
"-s" is removed when there is no count.
When the first character is ":", the command is invoked as a Vim
Ex command prefixed with [count].
When "man", "man -s" or an Ex command is used, Vim will automatically
translate a count for the "K" command and pass it as the first
argument. For "man -s" the "-s" is removed when there is no count.
See |option-backslash| about including spaces and backslashes.
Example: >
:set keywordprg=man\ -s
@@ -4667,7 +4689,7 @@ A jump table for the options with a short description can be found at |Q_op|.
< Warning: This deletes all menus that you defined yourself!
*'langnoremap'* *'lnr'* *'nolangnoremap'* *'nolnr'*
'langnoremap' 'lnr' boolean (default off)
'langnoremap' 'lnr' boolean (default off, set in |defaults.vim|)
global
{not in Vi}
{only available when compiled with the |+langmap|
@@ -4848,13 +4870,14 @@ A jump table for the options with a short description can be found at |Q_op|.
reset this option. |-u| |--noplugin|
*'luadll'*
'luadll' string (default depends on the build)
'luadll' string (default depends on the build)
global
{not in Vi}
{only available when compiled with the |+lua/dyn|
feature}
Specifies the name of the Lua shared library. The default is
DYNAMIC_LUA_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5022,7 +5045,7 @@ A jump table for the options with a short description can be found at |Q_op|.
without a limit.
On 64 bit machines higher values might work. But hey, do you really
need more than 2 Gbyte for text editing? Keep in mind that text is
stored in the swap file, one can edit files > 2 Gbyte anyay. We do
stored in the swap file, one can edit files > 2 Gbyte anyway. We do
need the memory to store undo info.
Also see 'maxmem'.
@@ -5113,6 +5136,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
@@ -5131,7 +5155,8 @@ A jump table for the options with a short description can be found at |Q_op|.
set and to the Vim default value when 'compatible' is reset.
*'mouse'* *E538*
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
'mouse' string (default "", "a" for GUI, MS-DOS and Win32,
set to "a" in |defaults.vim|)
global
{not in Vi}
Enable the use of the mouse. Only works for certain terminals
@@ -5297,7 +5322,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Negative or zero value means no thread scheduling.
*'nrformats'* *'nf'*
'nrformats' 'nf' string (default "bin,octal,hex")
'nrformats' 'nf' string (default "bin,octal,hex",
set to "bin,hex" in |defaults.vim|)
local to buffer
{not in Vi}
This defines what bases Vim will consider for numbers when using the
@@ -5305,7 +5331,7 @@ A jump table for the options with a short description can be found at |Q_op|.
respectively; see |CTRL-A| for more info on these commands.
alpha If included, single alphabetical characters will be
incremented or decremented. This is useful for a list with a
letter index a), b), etc. *octal-nrformats*
letter index a), b), etc. *octal-nrformats*
octal If included, numbers that start with a zero will be considered
to be octal. Example: Using CTRL-A on "007" results in "010".
hex If included, numbers starting with "0x" or "0X" will be
@@ -5335,7 +5361,7 @@ A jump table for the options with a short description can be found at |Q_op|.
relative to the cursor. Together with 'number' there are these
four combinations (cursor in line 3):
'nonu' 'nu' 'nonu' 'nu'
'nonu' 'nu' 'nonu' 'nu'
'nornu' 'nornu' 'rnu' 'rnu'
|apple | 1 apple | 2 apple | 2 apple
@@ -5407,6 +5433,12 @@ A jump table for the options with a short description can be found at |Q_op|.
This option was supported on RISC OS, which has been removed.
*'packpath'* *'pp'*
'packpath' 'pp' string (default: see 'runtimepath')
{not in Vi}
Directories used to find packages. See |packages|.
*'paragraphs'* *'para'*
'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
global
@@ -5568,13 +5600,14 @@ A jump table for the options with a short description can be found at |Q_op|.
this doesn't work when $INCL contains a comma or white space.
*'perldll'*
'perldll' string (default depends on the build)
'perldll' string (default depends on the build)
global
{not in Vi}
{only available when compiled with the |+perl/dyn|
feature}
Specifies the name of the Perl shared library. The default is
DYNAMIC_PERL_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5705,13 +5738,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|ins-completion-menu|.
*'pythondll'*
'pythondll' string (default depends on the build)
'pythondll' string (default depends on the build)
global
{not in Vi}
{only available when compiled with the |+python/dyn|
feature}
Specifies the name of the Python 2.x shared library. The default is
DYNAMIC_PYTHON_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5723,6 +5757,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Python 3 shared library. The default is
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5946,18 +5981,19 @@ A jump table for the options with a short description can be found at |Q_op|.
The 'rightleft' option must be set for 'rightleftcmd' to take effect.
*'rubydll'*
'rubydll' string (default: depends on the build)
'rubydll' string (default: depends on the build)
global
{not in Vi}
{only available when compiled with the |+ruby/dyn|
feature}
Specifies the name of the Ruby shared library. The default is
DYNAMIC_RUBY_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'ruler'* *'ru'* *'noruler'* *'noru'*
'ruler' 'ru' boolean (default off)
'ruler' 'ru' boolean (default off, set in |defaults.vim|)
global
{not in Vi}
{not available when compiled without the
@@ -6043,6 +6079,7 @@ A jump table for the options with a short description can be found at |Q_op|.
keymap/ key mapping files |mbyte-keymap|
lang/ menu translations |:menutrans|
menu.vim GUI menus |menu.vim|
pack/ packages |:packadd|
plugin/ plugin scripts |write-plugin|
print/ files for printing |postscript-print-encoding|
spell/ spell checking files |spell|
@@ -6064,6 +6101,8 @@ A jump table for the options with a short description can be found at |Q_op|.
personal preferences to overrule or add to the distributed defaults
or system-wide settings (rarely needed).
More entries are added when using |packages|.
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
wildcards are allowed, but can significantly slow down searching for
runtime files. For speed, use as few items as possible and avoid
@@ -6429,6 +6468,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The |FilterReadPre|, |FilterReadPost| and |FilterWritePre|,
|FilterWritePost| autocommands event are not triggered when
'shelltemp' is off.
The `system()` function does not respect this option and always uses
temp files.
*'shelltype'* *'st'*
'shelltype' 'st' number (default 0)
@@ -6534,7 +6575,9 @@ A jump table for the options with a short description can be found at |Q_op|.
c don't give |ins-completion-menu| messages. For example,
"-- XXX completion (YYY)", "match 1 of 2", "The only match",
"Pattern not found", "Back at original", etc.
q use "recording" instead of "recording @a"
q use "recording" instead of "recording @a"
F don't give the file info when editing a file, like `:silent`
was used for the command
This gives you the opportunity to avoid that a change between buffers
requires you to hit <Enter>, but still gives as useful a message as
@@ -6583,8 +6626,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"n" flag to 'cpoptions'.
*'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
'showcmd' 'sc' boolean (Vim default: on, off for Unix, Vi default:
off)
'showcmd' 'sc' boolean (Vim default: on, off for Unix,
Vi default: off, set in |defaults.vim|)
global
{not in Vi}
{not available when compiled without the
@@ -6981,7 +7024,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The option consists of printf style '%' items interspersed with
normal text. Each status line item is of the form:
%-0{minwid}.{maxwid}{item}
All fields except the {item} is optional. A single percent sign can
All fields except the {item} are optional. A single percent sign can
be given as "%%". Up to 80 items can be specified. *E541*
When the option starts with "%!" then it is used as an expression,
@@ -7438,13 +7481,14 @@ A jump table for the options with a short description can be found at |Q_op|.
mapping which should not change the tagstack.
*'tcldll'*
'tcldll' string (default depends on the build)
'tcldll' string (default depends on the build)
global
{not in Vi}
{only available when compiled with the |+tcl/dyn|
feature}
Specifies the name of the Tcl shared library. The default is
DYNAMIC_TCL_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -7493,7 +7537,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Encoding used for the terminal. This specifies what character
encoding the keyboard produces and the display will understand. For
the GUI it only applies to the keyboard ( 'encoding' is used for the
the GUI it only applies to the keyboard ('encoding' is used for the
display). Except for the Mac when 'macatsui' is off, then
'termencoding' should be "macroman".
*E617*
@@ -7516,6 +7560,18 @@ A jump table for the options with a short description can be found at |Q_op|.
:set encoding=utf-8
< You need to do this when your system has no locale support for UTF-8.
*'termguicolors'* *'tgc'*
'termguicolors' 'tgc' boolean (default off)
global
{not in Vi}
{not available when compiled without the
|+termguicolors| feature}
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
the terminal (thus using 24-bit color). Requires a ISO-8613-3
compatible terminal.
If setting this option does not work (produces a colorless UI)
reading |xterm-true-color| might help.
*'terse'* *'noterse'*
'terse' boolean (default off)
global
@@ -7569,6 +7625,7 @@ A jump table for the options with a short description can be found at |Q_op|.
non-keyword characters (white space is preferred). Maximum line
length is 510 bytes.
To obtain a file to be used here, check out this ftp site:
[Sorry this link doesn't work anymore, do you know the right one?]
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
@@ -7769,13 +7826,15 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{only in the GTK+ 2 GUI}
Controls the size of toolbar icons. The possible values are:
tiny Use tiny toolbar icons.
small Use small toolbar icons (default).
medium Use medium-sized toolbar icons.
large Use large toolbar icons.
tiny Use tiny icons.
small Use small icons (default).
medium Use medium-sized icons.
large Use large icons.
huge Use even larger icons.
giant Use very big icons.
The exact dimensions in pixels of the various icon sizes depend on
the current theme. Common dimensions are large=32x32, medium=24x24,
small=20x20 and tiny=16x16.
the current theme. Common dimensions are giant=48x48, huge=32x32,
large=24x24, medium=24x24, small=20x20 and tiny=16x16.
If 'toolbariconsize' is empty, the global default size as determined
by user preferences or the current theme is used.
@@ -8136,10 +8195,10 @@ A jump table for the options with a short description can be found at |Q_op|.
has been used since the last search command.
*viminfo-n*
n Name of the viminfo file. The name must immediately follow
the 'n'. Must be the last one! If the "-i" argument was
given when starting Vim, that file name overrides the one
given here with 'viminfo'. Environment variables are expanded
when opening the file, not when setting the option.
the 'n'. Must be at the end of the option! If the "-i"
argument was given when starting Vim, that file name overrides
the one given here with 'viminfo'. Environment variables are
expanded when opening the file, not when setting the option.
*viminfo-r*
r Removable media. The argument is a string (up to the next
','). This parameter can be given several times. Each
@@ -8325,7 +8384,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default off)
'wildmenu' 'wmnu' boolean (default off, set in |defaults.vim|)
global
{not in Vi}
{not available if compiled without the |+wildmenu|
@@ -8624,7 +8683,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'writedelay' 'wd' number (default 0)
global
{not in Vi}
The number of microseconds to wait for each character sent to the
The number of milliseconds to wait for each character sent to the
screen. When non-zero, characters are sent to the terminal one by
one. For MS-DOS pcterm this does not work. For debugging purposes.

View File

@@ -1,4 +1,4 @@
*os_390.txt* For Vim version 7.4. Last change: 2010 May 30
*os_390.txt* For Vim version 7.4. Last change: 2016 Feb 27
VIM REFERENCE MANUAL by Ralf Schandl
@@ -108,7 +108,6 @@ Never tested:
- Langmap (|'langmap'|)
- Python support (|Python|)
- Right-to-left mode (|'rightleft'|)
- SNiFF+ interface (|sniff|)
- TCL interface (|tcl|)
...

View File

@@ -1,4 +1,4 @@
*os_beos.txt* For Vim version 7.4. Last change: 2010 Aug 14
*os_beos.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -248,8 +248,9 @@ reality. Vim uses this mapping:
Button 3 -> MiddleMouse.
If your mouse has fewer than 3 buttons you can provide your own mapping from
mouse clicks with modifier(s) to other mouse buttons. See the file
vim-5.x/macros/swapmous.vim for an example. |gui-mouse-mapping|
mouse clicks with modifier(s) to other mouse buttons. See the swapmouse
package for an example: |gui-mouse-mapping|
$VIMRUNTIME/pack/dist/opt/swapmouse/plugin/swapmouse.vim
12. Color names *beos-colors*

View File

@@ -94,6 +94,7 @@ Shift-Insert paste text (from clipboard) *<S-Insert>*
CTRL-Insert copy Visual text (to clipboard) *<C-Insert>*
CTRL-Del cut Visual text (to clipboard) *<C-Del>*
Shift-Del cut Visual text (to clipboard) *<S-Del>*
CTRL-X cut Visual text (to clipboard)
These mappings accomplish this (Win32 and DJGPP versions of Vim):
@@ -102,6 +103,7 @@ Shift-Insert <M-N><M-T> "*P "-d"*P <C-R><C-O>*
CTRL-Insert <M-N><M-U> "*y
Shift-Del <M-N><M-W> "*d
CTRL-Del <M-N><M-X> "*d
CTRL-X <C-X> "*d
Or these mappings (non-Win32 version of Vim):

View File

@@ -1,276 +1,15 @@
*os_msdos.txt* For Vim version 7.4. Last change: 2005 Mar 29
*os_msdos.txt* For Vim version 7.4. Last change: 2016 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
*msdos* *ms-dos* *MSDOS* *MS-DOS*
This file contains the particularities for the MS-DOS version of Vim.
This file used to contain the particularities for the MS-DOS version of Vim.
MS-DOS support was removed in patch 7.4.1399. If you want to use it you will
need to get a version older than that. Note that the MS-DOS version doesn't
work, there is not enough memory. The DOS32 version (using DJGPP) might still
work on older systems.
1. Two versions for MS-DOS |msdos-versions|
2. Known problems |msdos-problems|
3. Long file names |msdos-longfname|
4. Termcap codes |msdos-termcap|
5. Shifted arrow keys |msdos-arrows|
6. Filename extensions |msdos-fname-extensions|
7. Memory usage and limitations |msdos-limitations|
8. Symbolically linked files |msdos-linked-files|
9. Copy/paste in a dos box |msdos-copy-paste|
Additionally, there are a number of common Win32 and DOS items:
File locations |dos-locations|
Using backslashes |dos-backslash|
Standard mappings |dos-standard-mappings|
Screen output and colors |dos-colors|
File formats |dos-file-formats|
:cd command |dos-:cd|
Interrupting |dos-CTRL-Break|
Temp files |dos-temp-files|
Shell option default |dos-shell|
For compiling Vim see src/INSTALL.pc. *msdos-compiling*
==============================================================================
1. Two versions for MS-DOS *msdos-versions*
There are two versions of Vim that can be used with MS-DOS machines:
*dos16*
Dos16 version Can be used on any MS-DOS system, only uses up to 640 Kbyte of
memory. Also runs on OS/2, Windows 95, and NT. Excludes some
Vim-specific features (autocommands, syntax highlighting,
etc.). Recommended for use on pre-386 machines.
*dos32*
Dos32 version Requires 386 processor and a |DPMI| driver, uses all
available memory. Supports long file names and the Windows
clipboard, but NOT on Windows NT. Recommended for MS-DOS,
Windows 3.1 and Windows 95.
There are also two versions that run under Windows:
Win32 version Requires Windows 95 or Windows NT, uses all available
memory, supports long file names, etc. Has some problems on
Windows 95. Recommended for Windows NT. See |os_win32.txt|
Win32 GUI Requirements like the Win32 version, but runs in its own
window, instead of a console. Has scrollbars, menu, etc.
Recommended for Windows 95 and Windows NT. See |gui-w32|.
It is recommended to use the Dos32 or Win32 version. Although the Dos16
version is able to edit very big files, it quickly runs out of memory when
making big changes. Disabling undo helps: ":set ul=-1". The screen updating
of the Dos16 version is the fastest of the three on DOS or Windows 95; on
Windows NT, the Win32 version is just as fast.
*DPMI*
For the Dos32 version, you may need a DPMI driver when running in MS-DOS. If
you are running Windows or installed a clever memory manager, it will probably
work already. If you get the message "No DPMI", you need to install a DPMI
driver. Such a driver is included with the executable in CSDPMI4B.ZIP. Run
"cwsdpmi" just before starting Vim each time. Or you might want to include
"cwsdpmi -p" in your autoexec.bat to make it resident. The latest version of
"CSDPMI*.ZIP" can be obtained from: "ftp.neosoft.com:pub/users/s/sandmann".
*minimal-features*
The 16 bit DOS version has been compiled with minimal features. Check the
|+feature-list| which ones are included (marked with a "T").
You can include more features by editing feature.h and recompiling.
==============================================================================
2. Known problems *msdos-problems*
When using smartdrive (MS-DOS 6.x) with write-behind caching, it is possible
that Vim will try to create a swap file on a read-only file system (e.g.
write protected floppy). You will then be given the message >
A serious disk error has occurred .., Retry (r)?
There is nothing you can do but unprotect the floppy or switch off the
computer. Even CTRL-ALT-DEL will not get you out of this. This is really a
problem of smartdrive, not Vim. Smartdrive works fine otherwise. If this
bothers you, don't use the write-behind caching.
Vim can't read swap files that have been opened already, unless the "share"
command has been used. If you see stray warnings for existing swap files,
include the "share" command in your config.sys or autoexec.bat (see your MSDOS
documentation).
The Dos16 version can only have about 10 files open (in a window or hidden) at
one time. With more files you will get error messages when trying to read or
write a file, and for filter commands. Or Vim runs out of memory, and random
problems may result.
The Dos32 version cannot have an unlimited number of files open at any one
time. The limit depends on the setting of FILES in your CONFIG.SYS. This
defaults to 15; if you need to edit a lot of files, you should increase this.
If you do not set FILES high enough, you can get strange errors, and shell
commands may cause a crash!
The Dos32 version can work with long file names. When doing file name
completion, matches for the short file name will also be found. But this will
result in the corresponding long file name. For example, if you have the long
file name "this_is_a_test" with the short file name "this_i~1", the command
":e *1" will start editing "this_is_a_test".
When using the Dos32 version and you run into problems with DPMI support,
check if there is a program in your config.sys that eats resources. One
program known to cause this problem is "netx", which says "NetWare v. 3.26
Workstation shell". Replace it with version 3.32 to fix the problem.
The Dos32 version will parse its arguments to handle quotation. This is good
to edit a file with spaces in its name, for example: >
vim "program files\accessories\ppp.scp"
A side effect is that single quotes are removed. Insert a backslash to avoid
that. For example, to edit the file "fi'le.txt": >
vim fi\'le.txt
==============================================================================
3. Long file names *msdos-longfname*
If the Dos32 version is run on Windows 95, it can use long file names. It
will work by default. If you want to disable this, use this setting:
set LFN=N
You can put this in your autoexec.bat file.
Note: If you have installed DJGPP on your machine, you probably have a
"djgpp.env" file, which contains "LFN=n". You need to use "LFN=Y" to switch
on using long file names then.
==============================================================================
4. Termcap codes *msdos-termcap*
If you want to use another output method (e.g., when using a terminal on a COM
port), set the terminal name to "pcansi". You can change the termcap options
when needed (see |terminal-options|). Note that the
normal IBM ansi.sys does not support all the codes of the builtin pcansi
terminal. If you use ansi.sys, you will need to delete the termcap entries
t_al and t_dl with >
:set t_al= t_dl=
Otherwise, the screen will not be updated correctly. It is better to use
nansi.sys, nnansi.sys, or the like instead of ansi.sys.
If you want to use Vim on a terminal connected to a COM: port, reset the
'bioskey' option. Otherwise the commands will be read from the PC keyboard.
CTRL-C and CTRL-P may not work correctly with 'bioskey' reset.
==============================================================================
5. Shifted arrow keys *msdos-arrows*
Use CTRL-arrow-left and CTRL-arrow-right instead of SHIFT-arrow-left and
SHIFT-arrow-right. The arrow-up and arrow-down cannot be used with SHIFT or
CTRL.
==============================================================================
6. Filename extensions *msdos-fname-extensions*
MS-DOS allows for only one file name extension. Therefore, when appending an
extension, the '.' in the original file name is replaced with a '_', the name
is truncated to 8 characters, and the new extension (e.g., ".swp") is
appended. Two examples: "test.c" becomes "test_c.bak", "thisisat.est"
becomes "thisisat.bak". To reduce these problems, the default for
'backupext' is "~" instead of ".bak". The backup file for "thisisat.est"
then becomes "thisisat.es~". The 'shortname' option is not available,
because it would always be set.
==============================================================================
7. Memory usage and limitations *msdos-limitations*
A swap file is used to store most of the text. You should be able to edit
very large files. However, memory is used for undo and other things. If you
delete a lot of text, you can still run out of memory in the Dos16 version.
If Vim gives an "Out of memory" warning, you should stop editing. The result
of further editing actions is unpredictable. Setting 'undolevels' to 0 saves
some memory. Running the maze macros on a big maze is guaranteed to run out
of memory, because each change is remembered for undo. In this case set
'undolevels' to a negative number. This will switch off undo completely.
*msdos-clipboard-limits*
In the Dos32 version, extended memory is used to avoid these problems.
However, if you are using the clipboard, you can still run into memory
limitations because the Windows clipboard can only communicate with Vim using
Dos memory. This means that the largest amount of text that can be sent to
or received from the Windows clipboard is limited by how much free Dos memory
is available on your system.
You can usually maximize the amount of available Dos memory by adding the
following lines to Dos's "config.sys" file: >
DOS=HIGH,UMB
DEVICE=C:\WINDOWS\himem.sys
DEVICE=C:\WINDOWS\emm386.exe RAM
Modifying config.sys in this way will also help to make more memory available
for the Dos16 version, if you are using that.
In the Dos16 version the line length is limited to about 32000 characters.
When reading a file the lines are automatically split. But editing a line
in such a way that it becomes too long may give unexpected results.
==============================================================================
8. Symbolically linked files *msdos-linked-files*
When using Vim to edit a symbolically linked file on a unix NFS file server,
you may run into problems. When writing the file, Vim does not "write
through" the symlink. Instead, it deletes the symbolic link and creates a new
file in its place.
On Unix, Vim is prepared for links (symbolic or hard). A backup copy of the
original file is made and then the original file is overwritten. This assures
that all properties of the file remain the same. On non-Unix systems, the
original file is renamed and a new file is written. Only the protection bits
are set like the original file. However, this doesn't work properly when
working on an NFS-mounted file system where links and other things exist. The
only way to fix this in the current version is not making a backup file, by
":set nobackup nowritebackup" |'writebackup'|
A similar problem occurs when mounting a Unix filesystem through Samba or a
similar system. When Vim creates a new file it will get the default user ID
for the mounted file system. This may be different from the original user ID.
To avoid this set the 'backupcopy' option to "yes".
==============================================================================
9. Copy/paste in a dos box *msdos-copy-paste*
*E450* *E451* *E452* *E453* *E454*
The 32 bit version can copy/paste from/to the Windows clipboard directly. Use
the "* register. Large amounts of text can be copied this way, but it must be
possible to allocate memory for it, see |msdos-clipboard-limits|. When moving
text from one Vim to another, the type of the selection
(characterwise/linewise/blockwise) is passed on.
In other versions, the following can be used.
(posted to comp.editors by John Velman <velman@igate1.hac.com>)
How to copy/paste text from/to vim in a dos box:
1) To get VIM to run in a window, instead of full screen, press alt+enter.
This toggles back and forth between full screen and a dos window.
NOTE: In Windows 95 you must have the property "Fast Pasting" unchecked!
In the properties dialog box for the MS-DOS window, go to "MS-DOS
Prompt/Misc/Fast pasting" and make sure that it is NOT checked.
To make this permanent, change the properties for
"\windows\system\conagent.exe" (from Philip Nelson, unverified).
2) To paste something _into_ Vim, put Vim in insert mode.
3) Put the text you want to paste on the windows clipboard.
4) Click the control box in the upper left of the Vim window. (This looks
like a big minus sign.) If you don't want to use the mouse, you can get
this with alt+spacebar.
5) On the resulting dropdown menu choose "Edit".
6) On the child dropdown menu choose "Paste".
To copy something from the Vim window to the clipboard,
1) Select the control box to get the control drop down menu.
2) Select "Edit".
3) Select "Mark".
4) Using either the keys or the mouse, select the part of the Vim window that
you want to copy. To use the keys, use the arrow keys, and hold down shift
to extend the selection.
5) When you've completed your selection, press 'enter'. The selection
is now in the windows clipboard. By the way, this can be any
rectangular selection, for example columns 4-25 in rows 7-10. It can
include anything in the VIM window: the output of a :!dir, for
example.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.4. Last change: 2014 Sep 25
*os_win32.txt* For Vim version 7.4. Last change: 2016 Mar 05
VIM REFERENCE MANUAL by George Reilly
@@ -96,6 +96,31 @@ The directory of the Vim executable is appended to $PATH. This is mostly to
make "!xxd" work, as it is in the Tools menu. And it also means that when
executable() returns 1 the executable can actually be executed.
Quotes in file names *win32-quotes*
Quotes inside a file name (or any other command line argument) can be escaped
with a backslash. E.g. >
vim -c "echo 'foo\"bar'"
Alternatively use three quotes to get one: >
vim -c "echo 'foo"""bar'"
The quotation rules are:
1. A `"` starts quotation.
2. Another `"` or `""` ends quotation. If the quotation ends with `""`, a `"`
is produced at the end of the quoted string.
Examples, with [] around an argument:
"foo" -> [foo]
"foo"" -> [foo"]
"foo"bar -> [foobar]
"foo" bar -> [foo], [bar]
"foo""bar -> [foo"bar]
"foo"" bar -> [foo"], [bar]
"foo"""bar" -> [foo"bar]
==============================================================================
3. Restore screen contents *win32-restore*

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.4. Last change: 2016 Jan 03
*pattern.txt* For Vim version 7.4. Last change: 2016 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -576,7 +576,7 @@ An atom can be followed by an indication of how many times the atom can be
matched and in what way. This is called a multi. See |/multi| for an
overview.
*/star* */\star* *E56*
*/star* */\star*
* (use \* when 'magic' is not set)
Matches 0 or more of the preceding atom, as many as possible.
Example 'nomagic' matches ~
@@ -596,7 +596,7 @@ overview.
the end of the file and then tries matching "END", backing up one
character at a time.
*/\+* *E57*
*/\+*
\+ Matches 1 or more of the preceding atom, as many as possible. {not in
Vi}
Example matches ~
@@ -612,7 +612,7 @@ overview.
\? Just like \=. Cannot be used when searching backwards with the "?"
command. {not in Vi}
*/\{* *E58* *E60* *E554* *E870*
*/\{* *E60* *E554* *E870*
\{n,m} Matches n to m of the preceding atom, as many as possible
\{n} Matches n of the preceding atom
\{n,} Matches at least n of the preceding atom, as many as possible
@@ -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}
@@ -1079,8 +1083,8 @@ x A single character, with no special meaning, matches itself
belonging to that character class. The following character classes
are supported:
Name Contents ~
*[:alnum:]* [:alnum:] letters and digits
*[:alpha:]* [:alpha:] letters
*[:alnum:]* [:alnum:] ASCII letters and digits
*[:alpha:]* [:alpha:] ASCII letters
*[:blank:]* [:blank:] space and tab characters
*[:cntrl:]* [:cntrl:] control characters
*[:digit:]* [:digit:] decimal digits
@@ -1088,7 +1092,7 @@ x A single character, with no special meaning, matches itself
*[:lower:]* [:lower:] lowercase letters (all letters when
'ignorecase' is used)
*[:print:]* [:print:] printable characters including space
*[:punct:]* [:punct:] punctuation characters
*[:punct:]* [:punct:] ASCII punctuation characters
*[:space:]* [:space:] whitespace characters
*[:upper:]* [:upper:] uppercase letters (all letters when
'ignorecase' is used)
@@ -1104,8 +1108,9 @@ x A single character, with no special meaning, matches itself
'/', alphabetic, numeric, '_' or '~'.
These items only work for 8-bit characters, except [:lower:] and
[:upper:] also work for multi-byte characters when using the new
regexp engine. In the future these items may work for multi-byte
characters.
regexp engine. See |two-engines|. In the future these items may
work for multi-byte characters. For now, to get all "alpha"
characters you can use: [[:lower:][:upper:]].
*/[[=* *[==]*
- An equivalence class. This means that characters are matched that
have almost the same meaning, e.g., when ignoring accents. This

View File

@@ -1,25 +1,25 @@
*pi_logipat.txt* Logical Patterns Mar 13, 2013
*logiPat.txt* Logical Patterns Jun 22, 2015
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
(see |copyright|) except use "LogiPat" instead of "Vim"
No warranty, express or implied. Use At-Your-Own-Risk.
==============================================================================
1. Contents *logipat* *logipat-contents*
1. Contents *logiPat* *logiPat-contents*
1. Contents.................: |logiPat-contents|
2. LogiPat Manual...........: |logiPat-manual|
3. LogiPat Examples.........: |logiPat-examples|
4. Caveat...................: |logiPat-caveat|
5. LogiPat History..........: |logiPat-history|
1. Contents.................: |logipat-contents|
2. LogiPat Manual...........: |logipat-manual|
3. LogiPat Examples.........: |logipat-examples|
4. Caveat...................: |logipat-caveat|
5. LogiPat History..........: |logipat-history|
==============================================================================
2. LogiPat Manual *logipat-manual* *logipat-man*
2. LogiPat Manual *logiPat-manual* *logiPat-man*
*logipat-arg* *logipat-input* *logipat-pattern* *logipat-operators*
*logiPat-arg* *logiPat-input* *logiPat-pattern* *logiPat-operators*
Boolean logic patterns are composed of
operators ! = not
@@ -30,13 +30,12 @@ Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
:LogiPat {boolean-logic pattern} *:LogiPat*
:LogiPat is a command which takes a boolean-logic
argument (|logipat-arg|).
argument (|logiPat-arg|).
:LP {boolean-logic pattern} *:LP*
:LP is a shorthand command version of :LogiPat
(|:LogiPat|).
:ELP {boolean-logic pattern} *:ELP*
:LPE {boolean-logic pattern} *:LPE*
No search is done, but the conversion from the
boolean logic pattern to the regular expression
is performed and echoed onto the display.
@@ -59,8 +58,9 @@ Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
To get a " inside a pattern, as opposed to having it delimit
the pattern, double it.
==============================================================================
3. LogiPat Examples *logipat-examples*
3. LogiPat Examples *logiPat-examples*
LogiPat takes Boolean logic arguments and produces a regular
expression which implements the choices. A series of examples
@@ -96,22 +96,26 @@ Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
==============================================================================
4. Caveat *logipat-caveat*
4. Caveat *logiPat-caveat*
The "not" operator may be fragile; ie. it may not always play well
with the & (logical-and) and | (logical-or) operators. Please try out
your patterns, possibly with :set hls, to insure that what is matching
is what you want.
==============================================================================
3. LogiPat History *logipat-history*
==============================================================================
3. LogiPat History *logiPat-history*
v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard
plugin distribution; hence the name change
v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
in \%(...\) parentheses
Dec 12, 2011 * |:ELP| added
Dec 12, 2011 * |:LPE| added
* "" is mapped to a single " and left inside patterns
v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working
v1 May 23, 2005 * initial release
==============================================================================
vim:tw=78:ts=8:ft=help

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.4. Last change: 2015 Oct 31
*pi_netrw.txt* For Vim version 7.4. Last change: 2016 Apr 20
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -6,7 +6,7 @@
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 1999-2015 Charles E Campbell *netrw-copyright*
Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
The VIM LICENSE applies to the files in this package, including
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
@@ -48,9 +48,10 @@ Copyright: Copyright (C) 1999-2015 Charles E Campbell *netrw-copyright*
Introduction To Browsing............................|netrw-intro-browse|
Quick Reference: Maps...............................|netrw-browse-maps|
Quick Reference: Commands...........................|netrw-browse-cmds|
Banner Display......................................|netrw-I|
Bookmarking A Directory.............................|netrw-mb|
Browsing............................................|netrw-cr|
Squeezing the Current Tree-Listing Directory......|:netrw-s-cr|
Squeezing the Current Tree-Listing Directory........|netrw-s-cr|
Browsing With A Horizontally Split Window...........|netrw-o|
Browsing With A New Tab.............................|netrw-t|
Browsing With A Vertically Split Window.............|netrw-v|
@@ -75,11 +76,13 @@ Copyright: Copyright (C) 1999-2015 Charles E Campbell *netrw-copyright*
Making The Browsing Directory The Current Directory.|netrw-c|
Marking Files.......................................|netrw-mf|
Unmarking Files.....................................|netrw-mF|
Marking Files By Location List......................|netrw-qL|
Marking Files By QuickFix List......................|netrw-qF|
Marking Files By Regular Expression.................|netrw-mr|
Marked Files: Arbitrary Shell Command...............|netrw-mx|
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
Marked Files: Arbitrary Vim Command.................|netrw-mv|
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
Marked Files: Compression And Decompression.........|netrw-mz|
Marked Files: Copying...............................|netrw-mc|
Marked Files: Diff..................................|netrw-md|
@@ -1113,6 +1116,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
qb List bookmarked directories and history |netrw-qb|
qf Display information on file |netrw-qf|
qF Mark files using a quickfix list |netrw-qF|
qL Mark files using a |location-list| |netrw-qL|
r Reverse sorting order |netrw-r|
R Rename the designated file(s)/directory(ies) |netrw-R|
s Select sorting style: by name, time, or file size |netrw-s|
@@ -1162,6 +1166,14 @@ QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
:Texplore[!] [dir] Tab & Explore..........................|netrw-explore|
:Vexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
BANNER DISPLAY *netrw-I*
One may toggle the banner display on and off by pressing "I".
Also See: |g:netrw_banner|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
One may easily "bookmark" the currently browsed directory by using >
@@ -1203,7 +1215,7 @@ Related Topics:
|g:netrw_home| controls where .netrwbook is kept
BROWSING *netrw-cr* {{{2
BROWSING *netrw-enter* *netrw-cr* {{{2
Browsing is simple: move the cursor onto a file or directory of interest.
Hitting the <cr> (the return key) will select the file or directory.
@@ -1244,11 +1256,21 @@ The price for such re-use is that when changes are made (such as new files
are introduced into a directory), the listing may become out-of-date. One may
always refresh directory listing buffers by pressing ctrl-L (see
|netrw-ctrl-l|).
*:netrw-s-cr*
Squeezing the Current Tree-Listing Directory~
When the tree listing style is enabled (see |netrw-i|) and one is using
gvim, then the <s-cr> mapping may be used to squeeze (close) the
directory currently containing the cursor.
*netrw-s-cr*
Squeezing the Current Tree-Listing Directory~
When the tree listing style is enabled (see |netrw-i|) and one is using
gvim, then the <s-cr> mapping may be used to squeeze (close) the
directory currently containing the cursor.
Otherwise, one may remap a key combination of one's own choice to get
this effect: >
nmap <buffer> <silent> <nowait> YOURKEYCOMBO <Plug>NetrwTreeSqueeze
<
Put this line in $HOME/ftplugin/netrw/netrw.vim; it needs to be generated
for netrw buffers only.
Related topics:
|netrw-ctrl-r| |netrw-o| |netrw-p|
@@ -1497,11 +1519,13 @@ One may also use visual mode (see |visual-start|) to select the text that the
special handler will use. Normally gx uses expand("<cfile>") to pick up the
text under the cursor; one may change what |expand()| uses via the
|g:netrw_gx| variable. Alternatively, one may select the text to be used by
gx via first making a visual selection (see |visual-block|).
gx via first making a visual selection (see |visual-block|) or by changing
the |'isfname'| option (which is global, so netrw doesn't modify it).
Associated setting variables:
|g:netrw_gx| control how gx picks up the text under the cursor
|g:netrw_nogx| prevent gx map while editing
|g:netrw_suppress_gx_mesg| controls gx's suppression of browser messages
*netrw_filehandler*
@@ -1715,8 +1739,9 @@ Also see: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
EXPLORING WITH STARS AND PATTERNS {{{2
When Explore, Sexplore, Hexplore, or Vexplore are used with one of the
following four patterns Explore generates a list of files which satisfy
the request. >
following four patterns Explore generates a list of files which satisfy the
request for the local file system. These exploration patterns will not work
with remote file browsing.
*/filepat files in current directory which satisfy filepat
**/filepat files in current directory or below which satisfy the
@@ -2081,15 +2106,22 @@ Netrw provides several ways to mark files:
:MF *.c
<
* Note that :MF uses |<f-args>| to break the line
at spaces.
(Note that :MF uses |<f-args>| to break the line
at spaces)
* Mark files using the |argument-list| (|netrw-mA|)
* Mark files based upon a |location-list| (|netrw-qL|)
* Mark files based upon the quickfix list (|netrw-qF|)
(|quickfix-error-lists|)
The following netrw maps make use of marked files:
|netrw-a| Hide marked files/directories
|netrw-D| Delete marked files/directories
|netrw-ma| Move marked files' names to |arglist|
|netrw-mA| Move |arglist| filenames to marked file list
|netrw-mb| Append marked files to bookmarks
|netrw-mB| Delete marked files from bookmarks
|netrw-mc| Copy marked files to target
@@ -2148,8 +2180,14 @@ UNMARKING FILES *netrw-mF* {{{2
The "mF" command will unmark all files in the current buffer. One may also use
mf (|netrw-mf|) on a specific, already marked, file to unmark just that file.
MARKING FILES BY LOCATION LIST *netrw-qL* {{{2
(also see |netrw-mf|)
MARKING FILES BY QUICKFIX LIST *netrw-qF* {{{2
One may convert |location-list|s into a marked file list using "qL".
You may then proceed with commands such as me (|netrw-me|) to edit them.
MARKING FILES BY QUICKFIX LIST *netrw-qF* {{{2
(also see |netrw-mf|)
One may convert |quickfix-error-lists| into a marked file list using "qF".
@@ -2225,6 +2263,16 @@ The command that will be run with this example:
tar cf mynewtarball.tar 'file1' 'file2' ...
MARKED FILES: ARGUMENT LIST *netrw-ma* *netrw-mA*
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the global marked-file list)
Using ma, one moves filenames from the marked file list to the argument list.
Using mA, one moves filenames from the argument list to the marked file list.
See Also: |netrw-qF| |argument-list| |:args|
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the local marked file list)
@@ -2234,7 +2282,7 @@ If any marked files are decompressed, then "mz" will compress them
using the command specified by |g:netrw_compress|; by default,
that's "gzip".
For decompression, netrw provides a |Dictionary| of suffices and their
For decompression, netrw uses a |Dictionary| of suffices and their
associated decompressing utilities; see |g:netrw_decompress|.
Remember that one can mark multiple files by regular expression
@@ -2289,7 +2337,7 @@ The command will ask for the requested pattern; one may then enter: >
pattern
<
With /pattern/, editing will start with the first item on the |quickfix| list
that vimgrep sets up (see |:copen|, |:cnext|, |:cprevious|). The |:vimgrep|
that vimgrep sets up (see |:copen|, |:cnext|, |:cprevious|, |:cclose|). The |:vimgrep|
command is in use, so without 'g' each line is added to quickfix list only
once; with 'g' every match is included.
@@ -2758,6 +2806,16 @@ your browsing preferences. (see also: |netrw-settings|)
evaluation will be suppressed
(see |'ballooneval'|)
*g:netrw_sizestyle* not defined: actual bytes (default)
="b" : actual bytes (default)
="h" : human-readable (ex. 5k, 4m, 3g)
uses 1000 base
="H" : human-readable (ex. 5K, 4M, 3G)
uses 1024 base
The long listing (|netrw-i|) and query-file
maps (|netrw-qf|) will display file size
using the specified style.
*g:netrw_usetab* if this variable exists and is non-zero, then
the <tab> map supporting shrinking/expanding a
Lexplore or netrw window will be enabled.
@@ -2874,6 +2932,13 @@ your browsing preferences. (see also: |netrw-settings|)
such as listing, file removal, etc.
default: ssh
*g:netrw_suppress_gx_mesg* =1 : browsers sometimes produce messages
which are normally unwanted intermixed
with the page.
However, when using links, for example,
those messages are what the browser produces.
By setting this option to 0, netrw will not
suppress browser messages.
*g:netrw_tmpfile_escape* =' &;'
escape() is applied to all temporary files
@@ -3026,14 +3091,14 @@ These will:
Related: if you like this idea, you may also find :Lexplore
(|netrw-:Lexplore|) or |g:netrw_chgwin| of interest
Also see: |g:netrw_chgwin| |netrw-P| |'previewwindow'|
Also see: |g:netrw_chgwin| |netrw-P| |'previewwindow'| |CTRL-W_z| |:pclose|
PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
To edit a file or directory in the previously used (last accessed) window (see
:he |CTRL-W_p|), press a "P". If there's only one window, then the one window
will be horizontally split (by default).
To edit a file or directory under the cursor in the previously used (last
accessed) window (see :he |CTRL-W_p|), press a "P". If there's only one
window, then the one window will be horizontally split (by default).
If there's more than one window, the previous window will be re-used on
the selected file/directory. If the previous window's associated buffer
@@ -3172,7 +3237,7 @@ only if your terminal supports differentiating <c-tab> from a plain
* Else bring up a |:Lexplore| window
If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping
for <c-tab>, then the <tab> will not be mapped. One may map something other
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) >
nmap <unique> (whatever) <Plug>NetrwShrink
@@ -3639,13 +3704,13 @@ called netrw.vimrc with the following contents: >
<
Then run netrw as follows: >
vim -u netrw.vimrc --noplugins [some path here]
vim -u netrw.vimrc --noplugins -i NONE [some path here]
<
Perform whatever netrw commands you need to, and check that the problem is
still present. This procedure sidesteps any issues due to personal .vimrc
settings and other plugins. If the problem does not appear, then you need
to determine what setting in your .vimrc is causing the conflict with netrw
or which plugin.
settings, .viminfo file, and other plugins. If the problem does not appear,
then you need to determine which setting in your .vimrc is causing the
conflict with netrw or which plugin(s) is/are involved.
Step 3: If the problem still is present, then get a debugging trace from
netrw:
@@ -3700,6 +3765,54 @@ netrw:
==============================================================================
12. History *netrw-history* {{{1
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
fnameescape() on the base portion
Mar 01, 2016 * (gt_macki) reported where :Explore would
make file unlisted. Fixed (tst943)
Apr 04, 2016 * (reported by John Little) netrw normally
suppresses browser messages, but sometimes
those "messages" are what is wanted.
See |g:netrw_suppress_gx_mesg|
Apr 06, 2016 * (reported by Carlos Pita) deleting a remote
file was giving an error message. Fixed.
Apr 08, 2016 * (Charles Cooper) had a problem with an
undefined b:netrw_curdir. He also provided
a fix.
Apr 20, 2016 * Changed s:NetrwGetBuffer(); now uses
dictionaries. Also fixed the "No Name"
buffer problem.
v155: Oct 29, 2015 * (Timur Fayzrakhmanov) reported that netrw's
mapping of ctrl-l was not allowing refresh of
other windows when it was done in a netrw
window.
Nov 05, 2015 * Improved s:TreeSqueezeDir() to use search()
instead of a loop
* NetrwBrowse() will return line to
w:netrw_bannercnt if cursor ended up in
banner
Nov 16, 2015 * Added a <Plug>NetrwTreeSqueeze (|netrw-s-cr|)
Nov 17, 2015 * Commented out imaps -- perhaps someone can
tell me how they're useful and should be
retained?
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
Nov 20, 2015 * gx (|netrw-gx|) on an url downloaded the
file in addition to simply bringing up the
url in a browser. Fixed.
Nov 23, 2015 * Added |g:netrw_sizestyle| support
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
maps.
Jan 05, 2016 * |netrw-qL| implemented to mark files based
upon |location-list|s; similar to |netrw-qF|.
Jan 19, 2016 * using - call delete(directoryname,"d") -
instead of using g:netrw_localrmdir if
v7.4 + patch#1107 is available
Jan 28, 2016 * changed to using |winsaveview()| and
|winrestview()|
Jan 28, 2016 * s:NetrwTreePath() now does a save and
restore of view
Feb 08, 2016 * Fixed a tree-listing problem with remote
directories
v154: Feb 26, 2015 * (Yuri Kanivetsky) reported a situation where
a file was not treated properly as a file
due to g:netrw_keepdir == 1
@@ -3860,7 +3973,7 @@ netrw:
handling.
* |:Lexplore| path: will be used to update
a left-side netrw browsing directory.
Mar 12, 2014 * |:netrw-s-cr|: use <s-cr> to close
Mar 12, 2014 * |netrw-s-cr|: use <s-cr> to close
tree directory implemented
Mar 13, 2014 * (Tony Mechylynck) reported that using
the browser with ftp on a directory,

View File

@@ -1,12 +1,12 @@
*pi_vimball.txt* For Vim version 7.4. Last change: 2012 Jan 17
*pi_vimball.txt* For Vim version 7.4. Last change: 2016 Apr 11
----------------
Vimball Archiver
----------------
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *Vimball-copyright*
Copyright: (c) 2004-2015 by Charles E. Campbell *Vimball-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including vimballPlugin.vim, vimball.vim, and pi_vimball.txt.
except use "vimball" instead of "VIM". Like anything else that's free,
@@ -99,10 +99,10 @@ MAKING DIRECTORIES VIA VIMBALLS *g:vimball_mkdir*
If it doesn't exist, then if g:vimball_mkdir doesn't exist, it is set
as follows: >
|g:netrw_local_mkdir|, if it exists
"mkdir" , if it is executable
"makedir" , if it is executable
Otherwise , it is undefined.
|g:netrw_localmkdir|, if it exists
"mkdir" , if it is executable
"makedir" , if it is executable
Otherwise , it is undefined.
< One may explicitly specify the directory making command using
g:vimball_mkdir. This command is used to make directories that
are needed as indicated by the vimball.
@@ -120,8 +120,7 @@ CONTROLLING THE VIMBALL EXTRACTION DIRECTORY *g:vimball_home*
source the file to extract its contents.
Extraction will only proceed if the first line of a putative vimball
file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
line.
file holds the "Vimball Archiver by Charles E. Campbell" line.
LISTING FILES IN A VIMBALL *:VimballList*
@@ -182,13 +181,16 @@ WINDOWS *vimball-windows*
==============================================================================
4. Vimball History *vimball-history* {{{1
37 : Jul 18, 2014 * (by request of T. Miedema) added augroup around
the autocmds in vimballPlugin.vim
Jul 06, 2015 * there are two uses of tabc; changed to tabc!
34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
prepending the current directory to it.
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,
its now turned off)
32 : May 19, 2010 * (Christian Brabandt) :so someplugin.vba and
32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
:so someplugin.vba.gz (and the other supported
compression types) now works
* (Jan Steffens) added support for xz compression
@@ -200,6 +202,7 @@ WINDOWS *vimball-windows*
MkVimball, however, now will create *.vmb files.
Feb 11, 2011 * motoyakurotsu reported an error with vimball's
handling of zero-length files
Feb 18, 2016 * Changed =~ to =~# where appropriate
30 : Dec 08, 2008 * fnameescape() inserted to protect error
messaging using corrupted filenames from
causing problems

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.4. Last change: 2015 Dec 31
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jul 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,11 +35,13 @@ positions in files. For example, |:vimgrep| finds pattern matches. You can
use the positions in a script with the |getqflist()| function. Thus you can
do a lot more than the edit/compile/fix cycle!
If you are using Manx's Aztec C compiler on the Amiga look here for how to use
it with Vim: |quickfix-manx|. If you are using another compiler you should
save the error messages in a file and start Vim with "vim -q filename". An
easy way to do this is with the |:make| command (see below). The
'errorformat' option should be set to match the error messages from your
If you have the error messages in a file you can start Vim with: >
vim -q filename
From inside Vim an easy way to run a command and handle the output is with the
|:make| command (see below).
The 'errorformat' option should be set to match the error messages from your
compiler (see |errorformat| below).
*location-list* *E776*
@@ -49,13 +51,21 @@ have a separate location list. A location list can be associated with only
one window. The location list is independent of the quickfix list.
When a window with a location list is split, the new window gets a copy of the
location list. When there are no references to a location list, the location
list is destroyed.
location list. When there are no longer any references to a location list,
the location list is destroyed.
The following quickfix commands can be used. The location list commands are
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
command with 'l'.
*E924*
If the current window was closed by an |autocommand| while processing a
location list command, it will be aborted.
*E925* *E926*
If the current quickfix or location list was changed by an |autocommand| while
processing a quickfix or location list command, it will be aborted.
*:cc*
:cc[!] [nr] Display error [nr]. If [nr] is omitted, the same
error is displayed again. Without [!] this doesn't
@@ -217,9 +227,9 @@ command with 'l'.
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
jump to the first error.
If {expr} is a String, then each new-line terminated
line in the String is processed using the value
of 'errorformat' (buffer-local value if it was set)
and the result is added to the quickfix list.
line in the String is processed using the global value
of 'errorformat' and the result is added to the
quickfix list.
If {expr} is a List, then each String item in the list
is processed and added to the quickfix list. Non
String items in the List are ignored.
@@ -262,11 +272,24 @@ command with 'l'.
The 'switchbuf' settings are respected when jumping
to a buffer.
:cl[ist] +{count} List the current and next {count} valid errors. This
is similar to ":clist from from+count", where "from"
is the current error position.
:cl[ist]! [from] [, [to]]
List all errors.
*:lli* *:llist*
:lli[st] [from] [, [to]]
:cl[ist]! +{count} List the current and next {count} error lines. This
is useful to see unrecognized lines after the current
one. For example, if ":clist" shows:
8384 testje.java:252: error: cannot find symbol ~
Then using ":cl! +3" shows the reason:
8384 testje.java:252: error: cannot find symbol ~
8385: ZexitCode = Fmainx(); ~
8386: ^ ~
8387: symbol: method Fmainx() ~
:lli[st] [from] [, [to]] *:lli* *:llist*
Same as ":clist", except the location list for the
current window is used instead of the quickfix list.
@@ -310,7 +333,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
etc.
< When the current file can't be |abandon|ed and the [!]
is not present, the command fails.
When an error is detected excecution stops.
When an error is detected execution stops.
The last buffer (or where an error occurred) becomes
the current buffer.
{cmd} can contain '|' to concatenate several commands.
@@ -412,6 +435,17 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
*:lw* *:lwindow*
:lw[indow] [height] Same as ":cwindow", except use the window showing the
location list for the current window.
*:cbo* *:cbottom*
:cbo[ttom] Put the cursor in the last line of the quickfix window
and scroll to make it visible. This is useful for
when errors are added by an asynchronous callback.
Only call it once in a while if there are many
updates to avoid a lot of redrawing.
*:lbo* *:lbottom*
:lbo[ttom] Same as ":cbottom", except use the window showing the
location list for the current window.
Normally the quickfix window is at the bottom of the screen. If there are
@@ -449,6 +483,9 @@ expression.
The BufWinEnter event is also triggered, again using "quickfix" for the buffer
name.
Note: When adding to an existing quickfix list the autocommand are not
triggered.
Note: Making changes in the quickfix window has no effect on the list of
errors. 'modifiable' is off to avoid making changes. If you delete or insert
lines anyway, the relation between the text and the error number is messed up.
@@ -493,7 +530,7 @@ lists. They set one of the existing error lists as the current one.
list, an error message is given.
*:lolder* *:lol*
:lol[der] [count] Same as ":colder", except use the location list for
:lol[der] [count] Same as `:colder`, except use the location list for
the current window instead of the quickfix list.
*:cnewer* *:cnew* *E381*
@@ -502,9 +539,20 @@ lists. They set one of the existing error lists as the current one.
list, an error message is given.
*:lnewer* *:lnew*
:lnew[er] [count] Same as ":cnewer", except use the location list for
:lnew[er] [count] Same as `:cnewer`, except use the location list for
the current window instead of the quickfix list.
*:chistory* *:chi*
:chi[story] Show the list of error lists. The current list is
marked with ">". The output looks like:
error list 1 of 3; 43 errors ~
> error list 2 of 3; 0 errors ~
error list 3 of 3; 15 errors ~
*:lhistory* *:lhi*
:lhi[story] Show the list of location lists, otherwise like
`:chistory`.
When adding a new error list, it becomes the current list.
When ":colder" has been used and ":make" or ":grep" is used to add a new error

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.4. Last change: 2015 Nov 10
*quickref.txt* For Vim version 7.4. Last change: 2016 Jun 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -679,6 +679,7 @@ Short explanation of each option: *option-list*
'display' 'dy' list of flags for how to display text
'eadirection' 'ead' in which direction 'equalalways' works
'edcompatible' 'ed' toggle flags of ":substitute" command
'emoji' 'emo' emoji characters are considered full width
'encoding' 'enc' encoding used internally
'endofline' 'eol' write <EOL> for last line in file
'equalalways' 'ea' windows are automatically made the same size
@@ -810,7 +811,8 @@ Short explanation of each option: *option-list*
'omnifunc' 'ofu' function for filetype-specific completion
'opendevice' 'odev' allow reading/writing devices on MS-Windows
'operatorfunc' 'opfunc' function to be called for |g@| operator
'osfiletype' 'oft' no longer supported
'osfiletype' 'oft' no longer supported
'packpath' 'pp' list of directories used for packages
'paragraphs' 'para' nroff macros that separate paragraphs
'paste' allow pasting text
'pastetoggle' 'pt' key code that causes 'paste' to toggle
@@ -829,6 +831,7 @@ Short explanation of each option: *option-list*
'printmbcharset' 'pmbcs' CJK character set to be used for :hardcopy
'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy
'printoptions' 'popt' controls the format of :hardcopy output
'prompt' 'prompt' enable prompt in Ex mode
'pumheight' 'ph' maximum height of the popup menu
'pythondll' name of the Python 2 dynamic library
'pythonthreedll' name of the Python 3 dynamic library
@@ -913,6 +916,7 @@ Short explanation of each option: *option-list*
'term' name of the terminal
'termbidi' 'tbidi' terminal takes care of bi-directionality
'termencoding' 'tenc' character encoding used by the terminal
'termguicolors' 'tgc' use GUI colors for the terminal
'terse' shorten some messages
'textauto' 'ta' obsolete, use 'fileformats'
'textmode' 'tx' obsolete, use 'fileformat'

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.4. Last change: 2016 Jan 16
*repeat.txt* For Vim version 7.4. Last change: 2016 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8,12 +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. Debugging scripts |debug-scripts|
6. 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*
@@ -70,8 +72,8 @@ examples.
The global commands work by first scanning through the [range] lines and
marking each line where a match occurs (for a multi-line pattern, only the
start of the match matters).
In a second scan the [cmd] is executed for each marked line with its line
number prepended. For ":v" and ":g!" the command is executed for each not
In a second scan the [cmd] is executed for each marked line, as if the cursor
was in that line. For ":v" and ":g!" the command is executed for each not
marked line. If a line is deleted its mark disappears.
The default for [range] is the whole buffer (1,$). Use "CTRL-C" to interrupt
the command. If an error message is given for a line, the command for that
@@ -181,10 +183,12 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
{not in Vi}
*:ru* *:runtime*
:ru[ntime][!] {file} ..
:ru[ntime][!] [where] {file} ..
Read Ex commands from {file} in each directory given
by 'runtimepath'. There is no error for non-existing
files. Example: >
by 'runtimepath' and/or 'packpath'. There is no error
for non-existing files.
Example: >
:runtime syntax/c.vim
< There can be multiple {file} arguments, separated by
@@ -198,6 +202,15 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
When it is not included only the first found file is
sourced.
When [where] is omitted only 'runtimepath' is used.
Other values:
START search under "start" in 'packpath'
OPT search under "opt" in 'packpath'
PACK search under "start" and "opt" in
'packpath'
ALL first use 'runtimepath', then search
under "start" and "opt" in 'packpath'
When {file} contains wildcards it is expanded to all
matching files. Example: >
:runtime! plugin/*.vim
@@ -212,6 +225,59 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
about each searched file.
{not in Vi}
*:pa* *:packadd* *E919*
:pa[ckadd][!] {name} Search for an optional plugin directory in 'packpath'
and source any plugin files found. The directory must
match:
pack/*/opt/{name} ~
The directory is added to 'runtimepath' if it wasn't
there yet.
If the directory pack/*/opt/{name}/after exists it is
added at the end of 'runtimepath'.
Note that {name} is the directory name, not the name
of the .vim file. All the files matching the pattern
pack/*/opt/{name}/plugin/**/*.vim ~
will be sourced. This allows for using subdirectories
below "plugin", just like with plugins in
'runtimepath'.
If the filetype detection was not enabled yet (this
is usually done with a "syntax enable" or "filetype
on" command in your .vimrc file), this will also look
for "{name}/ftdetect/*.vim" files.
When the optional ! is added no plugin files or
ftdetect scripts are loaded, only the matching
directories are added to 'runtimepath'. This is
useful in your .vimrc. The plugins will then be
loaded during initialization, see |load-plugins|.
Also see |pack-add|.
*:packl* *:packloadall*
:packl[oadall][!] Load all packages in the "start" directory under each
entry in 'packpath'.
First all the directories found are added to
'runtimepath', then the plugins found in the
directories are sourced. This allows for a plugin to
depend on something of another plugin, e.g. an
"autoload" directory. See |packload-two-steps| for
how this can be useful.
This is normally done automatically during startup,
after loading your .vimrc file. With this command it
can be done earlier.
Packages will be loaded only once. After this command
it won't happen again. When the optional ! is added
this command will load packages even when done before.
An error only causes sourcing the script where it
happens to be aborted, further plugins will be loaded.
See |packages|.
:scripte[ncoding] [encoding] *:scripte* *:scriptencoding* *E167*
Specify the character encoding used in the script.
The following lines will be converted from [encoding]
@@ -229,7 +295,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
... not converted ...
< When conversion isn't supported by the system, there
is no error message and no conversion is done.
is no error message and no conversion is done. When a
line can't be converted there is no error and the
original line is kept.
Don't use "ucs-2" or "ucs-4", scripts cannot be in
these encodings (they would contain NUL bytes).
@@ -388,7 +456,188 @@ Rationale:
< Therefore the unusual leading backslash is used.
==============================================================================
5. Debugging scripts *debug-scripts*
5. Using Vim packages *packages*
A Vim package is a directory that contains one or more plugins. The
advantages over normal plugins:
- A package can be downloaded as an archive and unpacked in its own directory.
Thus the files are not mixed with files of other plugins. That makes it
easy to update and remove.
- A package can be a git, mercurial, etc. repository. That makes it really
easy to update.
- A package can contain multiple plugins that depend on each other.
- A package can contain plugins that are automatically loaded on startup and
ones that are only loaded when needed with `:packadd`.
Using a package and loading automatically ~
Let's assume your Vim files are in the "~/.vim" directory and you want to add a
package from a zip archive "/tmp/foopack.zip":
% mkdir -p ~/.vim/pack/foo
% cd ~/.vim/pack/foo
% unzip /tmp/foopack.zip
The directory name "foo" is arbitrary, you can pick anything you like.
You would now have these files under ~/.vim:
pack/foo/README.txt
pack/foo/start/foobar/plugin/foo.vim
pack/foo/start/foobar/syntax/some.vim
pack/foo/opt/foodebug/plugin/debugger.vim
When Vim starts up, after processing your .vimrc, it scans all directories in
'packpath' for plugins under the "pack/*/start" directory. First all those
directories are added to 'runtimepath'. Then all the plugins are loaded.
See |packload-two-steps| for how these two steps can be useful.
In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
"~/.vim/pack/foo/start/foobar" to 'runtimepath'.
If the "foobar" plugin kicks in and sets the 'filetype' to "some", Vim will
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" are not loaded automatically, only the
ones under "pack/foo/start". See |pack-add| below for how the "opt" directory
is used.
Loading packages automatically will not happen if loading plugins is disabled,
see |load-plugins|.
To load packages earlier, so that 'runtimepath' gets updated: >
:packloadall
This also works when loading plugins is disabled. The automatic loading will
only happen once.
If the package has an "after" directory, that directory is added to the end of
'runtimepath', so that anything there will be loaded later.
Using a single plugin and loading it automatically ~
If you don't have a package but a single plugin, you need to create the extra
directory level:
% mkdir -p ~/.vim/pack/foo/start/foobar
% cd ~/.vim/pack/foo/start/foobar
% unzip /tmp/someplugin.zip
You would now have these files:
pack/foo/start/foobar/plugin/foo.vim
pack/foo/start/foobar/syntax/some.vim
From here it works like above.
Optional plugins ~
*pack-add*
To load an optional plugin from a pack use the `:packadd` command: >
:packadd foodebug
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 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 if 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
Dependencies between plugins ~
*packload-two-steps*
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:
pack/foo/start/one/plugin/one.vim >
call foolib#getit()
< pack/foo/start/two/plugin/two.vim >
call foolib#getit()
< pack/foo/start/lib/autoload/foolib.vim >
func foolib#getit()
This works, because loading packages will first add all found directories to
'runtimepath' before sourcing the plugins.
==============================================================================
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
@@ -490,7 +739,7 @@ Additionally, these commands can be used:
bt
where
*>frame*
frame N Goes to N bactrace level. + and - signs make movement
frame N Goes to N backtrace level. + and - signs make movement
relative. E.g., ":frame +3" goes three frames up.
*>up*
up Goes one level up from call stacktrace.
@@ -500,7 +749,7 @@ Additionally, these commands can be used:
About the additional commands in debug mode:
- There is no command-line completion for them, you get the completion for the
normal Ex commands only.
- You can shorten them, up to a single character, unless more then one command
- You can shorten them, up to a single character, unless more than one command
starts with the same letter. "f" stands for "finish", use "fr" for "frame".
- Hitting <CR> will repeat the previous one. When doing another command, this
is reset (because it's not clear what you want to repeat).
@@ -613,7 +862,7 @@ OBSCURE
user, don't use typeahead for debug commands.
==============================================================================
6. 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.

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.4. Last change: 2014 Jul 09
*starting.txt* For Vim version 7.4. Last change: 2016 Jul 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -12,9 +12,10 @@ Starting Vim *starting*
4. Initialization |initialization|
5. $VIM and $VIMRUNTIME |$VIM|
6. Suspending |suspend|
7. Saving settings |save-settings|
8. Views and Sessions |views-sessions|
9. The viminfo file |viminfo-file|
7. Exiting |exiting|
8. Saving settings |save-settings|
9. Views and Sessions |views-sessions|
10. The viminfo file |viminfo-file|
==============================================================================
1. Vim arguments *vim-arguments*
@@ -44,6 +45,7 @@ filename One or more file names. The first one will be the current
vim -- -filename
< All arguments after the "--" will be interpreted as file names,
no other options or "+command" argument can follow.
For behavior of quotes on MS-Windows, see |win32-quotes|.
*--*
- This argument can mean two things, depending on whether Ex
@@ -247,7 +249,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-Z Restricted mode. All commands that make use of an external
shell are disabled. This includes suspending with CTRL-Z,
":sh", filtering, the system() function, backtick expansion,
delete(), rename(), mkdir(), writefile(), libcall(), etc.
delete(), rename(), mkdir(), writefile(), libcall(),
job_start(), etc.
{not in Vi}
*-g*
@@ -413,6 +416,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
not needed, because Vim will be able to find out what type
of terminal you are using. (See |terminal-info|.) {not in Vi}
*--not-a-term*
--not-a-term Tells Vim that the user knows that the input and/or output is
not connected to a terminal. This will avoid the warning and
the two second delay that would happen. {not in Vi}
*-d*
-d Start in diff mode, like |vimdiff|.
{not in Vi} {not available when compiled without the |+diff|
@@ -798,13 +806,13 @@ accordingly. Vim proceeds in this order:
For the Macintosh the $VIMRUNTIME/macmap.vim is read.
*VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc* *$MYVIMRC*
c. Four places are searched for initializations. The first that exists
c. Five places are searched for initializations. The first that exists
is used, the others are ignored. The $MYVIMRC environment variable is
set to the file that was first found, unless $MYVIMRC was already set
and when using VIMINIT.
- The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
- The user vimrc file(s):
I The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
II The user vimrc file(s):
"$HOME/.vimrc" (for Unix and OS/2) (*)
"$HOME/.vim/vimrc" (for Unix and OS/2) (*)
"s:.vimrc" (for Amiga) (*)
@@ -821,11 +829,14 @@ accordingly. Vim proceeds in this order:
Note: For MS-DOS and Win32, "$HOME" is checked first. If no
"_vimrc" or ".vimrc" is found there, "$VIM" is tried.
See |$VIM| for when $VIM is not set.
- The environment variable EXINIT.
The value of $EXINIT is used as an Ex command line.
- The user exrc file(s). Same as for the user vimrc file, but with
"vimrc" replaced by "exrc". But only one of ".exrc" and "_exrc" is
used, depending on the system. And without the (*)!
III The environment variable EXINIT.
The value of $EXINIT is used as an Ex command line.
IV The user exrc file(s). Same as for the user vimrc file, but with
"vimrc" replaced by "exrc". But only one of ".exrc" and "_exrc" is
used, depending on the system. And without the (*)!
V The default vimrc file, $VIMRUNTIME/defaults.vim. This sets up
options values and has "syntax on" and "filetype on" commands,
which is what most new users will want. See |defaults.vim|.
d. If the 'exrc' option is on (which is not the default), the current
directory is searched for three files. The first that exists is used,
@@ -856,6 +867,11 @@ accordingly. Vim proceeds in this order:
commands from the command line have not been executed yet. You can
use "--cmd 'set noloadplugins'" |--cmd|.
Packages are loaded. These are plugins, as above, but found in the
"start" directory of each entry in 'packpath'. Every plugin directory
found is added in 'runtimepath' and then the plugins are sourced. See
|packages|.
5. Set 'shellpipe' and 'shellredir'
The 'shellpipe' and 'shellredir' options are set according to the
value of the 'shell' option, unless they have been set before.
@@ -892,10 +908,14 @@ 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.
The $MYVIMRC or $MYGVIMRC file will be set to the first found vimrc and/or
gvimrc file.
Some hints on using initializations:
Standard setup:
@@ -942,16 +962,29 @@ problems if you have a file with only <NL>s and have a line like
*compatible-default*
When Vim starts, the 'compatible' option is on. This will be used when Vim
starts its initializations. But as soon as a user vimrc file is found, or a
vimrc file in the current directory, or the "VIMINIT" environment variable is
set, it will be set to 'nocompatible'. This has the side effect of setting or
resetting other options (see 'compatible'). But only the options that have
not been set or reset will be changed. This has the same effect like the
value of 'compatible' had this value when starting Vim. Note that this
doesn't happen for the system-wide vimrc file nor when Vim was started with
the |-u| command line argument. It does also happen for gvimrc files. The
$MYVIMRC or $MYGVIMRC file will be set to the first found vimrc and/or gvimrc
file.
starts its initializations. But as soon as:
- a user vimrc file is found, or
- a vimrc file in the current directory, or
- the "VIMINIT" environment variable is set, or
- the "-N" command line argument is given, or
even when no vimrc file exists.
- the |defaults.vim| script is loaded, or
- gvimrc file was found,
then it will be set to 'nocompatible'.
Note that this does NOT happen when a system-wide vimrc file was found.
This has the side effect of setting or resetting other options (see
'compatible'). But only the options that have not been set or reset will be
changed. This has the same effect like the value of 'compatible' had this
value when starting Vim.
'compatible is NOT reset, and |defaults.vim| is not loaded:
- when Vim was started with the |-u| command line argument, especially with
"-u NONE", or
- when started with the |-C| command line argument, or
- when the name of the executable ends in "ex". (This has been done to make
Vim behave like "ex", when it is started as "ex")
But there is a side effect of setting or resetting 'compatible' at the moment
a .vimrc file is found: Mappings are interpreted the moment they are
@@ -959,16 +992,24 @@ encountered. This makes a difference when using things like "<CR>". If the
mappings depend on a certain value of 'compatible', set or reset it before
giving the mapping.
The above behavior can be overridden in these ways:
- If the "-N" command line argument is given, 'nocompatible' will be used,
even when no vimrc file exists.
- If the "-C" command line argument is given, 'compatible' will be used, even
when a vimrc file exists.
- If the "-u {vimrc}" argument is used, 'compatible' will be used.
- When the name of the executable ends in "ex", then this works like the "-C"
argument was given: 'compatible' will be used, even when a vimrc file
exists. This has been done to make Vim behave like "ex", when it is started
as "ex".
*defaults.vim*
If Vim is started normally and no user vimrc file is found, the
$VIMRUTIME/defaults.vim script is loaded. This will set 'compatible' off,
switch on syntax highlighting and a few more things. See the script for
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
patch 7.4.2111 to be exact).
This should work well for new Vim users. If you create your own .vimrc, it is
recommended to add this line somewhere near the top: >
source $VIMRUNTIME/defaults.vim
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
is way to do this. Alternatively, you can copy defaults.vim to your .vimrc
and modify it.
If you don't like some of the defaults, you can still source defaults.vim and
revert individual settings. See the defaults.vim file for hints on how to
revert each item.
Avoiding trojan horses: *trojan-horse*
While reading the "vimrc" or the "exrc" file in the current directory, some
@@ -1133,7 +1174,20 @@ can't paste it in another application (since Vim is going to sleep an attempt
to get the selection would make the program hang).
==============================================================================
7. Saving settings *save-settings*
7. Exiting *exiting*
There are several ways to exit Vim:
- Close the last window with `:quit`. Only when there are no changes.
- Close the last window with `:quit!`. Also when there are changes.
- Close all windows with `:qall`. Only when there are no changes.
- Close all windows with `:qall!`. Also when there are changes.
- Use `:cquit`. Also when there are changes.
When using `:cquit` or when there was an error message Vim exits with exit
code 1. Errors can be avoided by using `:silent!`.
==============================================================================
8. Saving settings *save-settings*
Mostly you will edit your vimrc files manually. This gives you the greatest
flexibility. There are a few commands to generate a vimrc file automatically.
@@ -1195,7 +1249,7 @@ option, which has several side effects. See |'compatible'|.
'compatible' option to the output file first, because of these side effects.
==============================================================================
8. Views and Sessions *views-sessions*
9. Views and Sessions *views-sessions*
This is introduced in sections |21.4| and |21.5| of the user manual.
@@ -1342,7 +1396,7 @@ To automatically save and restore views for *.c files: >
au BufWinEnter *.c silent loadview
==============================================================================
9. The viminfo file *viminfo* *viminfo-file* *E136*
10. The viminfo file *viminfo* *viminfo-file* *E136*
*E575* *E576* *E577*
If you exit Vim and later start it again, you would normally lose a lot of
information. The viminfo file can be used to remember that information, which
@@ -1384,6 +1438,34 @@ 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
*viminfo-timestamp*
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
The timestamp feature was added before Vim 8.0. Older versions of Vim,
starting with 7.4.1131, will keep the items with timestamp, but not use them.
Thus when using both an older and a newer version of Vim the most recent data
will be kept.
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
@@ -1506,14 +1588,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.

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2015 Dec 19
*syntax.txt* For Vim version 7.4. Last change: 2016 May 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -941,26 +941,27 @@ To disable them use ":unlet". Example: >
:unlet c_comment_strings
Variable Highlight ~
c_gnu GNU gcc specific items
c_comment_strings strings and numbers inside a comment
c_space_errors trailing white space and spaces before a <Tab>
c_no_trail_space_error ... but no trailing spaces
c_no_tab_space_error ... but no spaces before a <Tab>
c_no_bracket_error don't highlight {}; inside [] as errors
c_no_curly_error don't highlight {}; inside [] and () as errors;
*c_gnu* GNU gcc specific items
*c_comment_strings* strings and numbers inside a comment
*c_space_errors* trailing white space and spaces before a <Tab>
*c_no_trail_space_error* ... but no trailing spaces
*c_no_tab_space_error* ... but no spaces before a <Tab>
*c_no_bracket_error* don't highlight {}; inside [] as errors
*c_no_curly_error* don't highlight {}; inside [] and () as errors;
except { and } in first column
c_curly_error highlight a missing }; this forces syncing from the
*c_curly_error* highlight a missing }; this forces syncing from the
start of the file, can be slow
c_no_ansi don't do standard ANSI types and constants
c_ansi_typedefs ... but do standard ANSI types
c_ansi_constants ... but do standard ANSI constants
c_no_utf don't highlight \u and \U in strings
c_syntax_for_h for *.h files use C syntax instead of C++ and use objc
*c_no_ansi* don't do standard ANSI types and constants
*c_ansi_typedefs* ... but do standard ANSI types
*c_ansi_constants* ... but do standard ANSI constants
*c_no_utf* don't highlight \u and \U in strings
*c_syntax_for_h* for *.h files use C syntax instead of C++ and use objc
syntax instead of objcpp
c_no_if0 don't highlight "#if 0" blocks as comments
c_no_cformat don't highlight %-formats in strings
c_no_c99 don't highlight C99 standard items
c_no_c11 don't highlight C11 standard items
*c_no_if0* don't highlight "#if 0" blocks as comments
*c_no_cformat* don't highlight %-formats in strings
*c_no_c99* don't highlight C99 standard items
*c_no_c11* don't highlight C11 standard items
*c_no_bsd* don't highlight BSD specific types
When 'foldmethod' is set to "syntax" then /* */ comments and { } blocks will
become a fold. If you don't want comments to become a fold use: >
@@ -1042,6 +1043,21 @@ This works immediately.
CLOJURE *ft-clojure-syntax*
The default syntax groups can be augmented through the
*g:clojure_syntax_keywords* and *b:clojure_syntax_keywords* variables. The
value should be a |Dictionary| of syntax group names to a |List| of custom
identifiers:
>
let g:clojure_syntax_keywords = {
\ 'clojureMacro': ["defproject", "defcustom"],
\ 'clojureFunc': ["string/join", "string/replace"]
\ }
<
Refer to the Clojure syntax script for valid syntax group names.
If the |buffer-variable| *b:clojure_syntax_without_core_keywords* is set, only
language constants and special forms are matched.
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
Any list, vector, or map that extends over more than one line can be folded
using the standard Vim |fold-commands|.
@@ -2890,7 +2906,7 @@ You may wish to embed languages into sh. I'll give an example courtesy of
Lorance Stinson on how to do this with awk as an example. Put the following
file into $HOME/.vim/after/syntax/sh/awkembed.vim: >
" AWK Embedding: {{{1
" AWK Embedding:
" ==============
" Shamelessly ripped from aspperl.vim by Aaron Hope.
if exists("b:current_syntax")
@@ -3361,6 +3377,13 @@ Note that schemas are not actually limited to plain scalars, but this is the
only difference between schemas defined in YAML specification and the only
difference defined in the syntax file.
ZSH *zsh.vim* *ft-zsh-syntax*
The syntax script for zsh allows for syntax-based folding: >
:let g:zsh_fold_enable = 1
==============================================================================
5. Defining a syntax *:syn-define* *E410*
@@ -3438,6 +3461,32 @@ SPELL CHECKING *:syn-spell*
To activate spell checking the 'spell' option must be set.
SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
:sy[ntax] iskeyword [clear | {option}]
This defines the keyword characters. It's like the 'iskeyword' option
for but only applies to syntax highlighting.
clear: Syntax specific iskeyword setting is disabled and the
buffer-local 'iskeyword' setting is used.
{option} Set the syntax 'iskeyword' option to a new value.
Example: >
:syntax iskeyword @,48-57,192-255,$,_
<
This would set the syntax specific iskeyword option to include all
alphabetic characters, plus the numeric characters, all accented
characters and also includes the "_" and the "$".
If no argument is given, the current value will be output.
Setting this option influences what |/\k| matches in syntax patterns
and also determines where |:syn-keyword| will be checked for a new
match.
It is recommended when writing syntax files, to use this command
to the correct value for the specific syntax language and not change
the 'iskeyword' option.
DEFINING KEYWORDS *:syn-keyword*
@@ -3469,6 +3518,7 @@ DEFINING KEYWORDS *:syn-keyword*
isn't, the keyword will never be recognized.
Multi-byte characters can also be used. These do not have to be in
'iskeyword'.
See |:syn-iskeyword| for defining syntax specific iskeyword settings.
A keyword always has higher priority than a match or region, the
keyword is used if more than one item matches. Keywords do not nest
@@ -4500,9 +4550,9 @@ in their own color.
:colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath'
for the file "colors/{name}.vim". The first one that
is found is loaded.
To see the name of the currently active color scheme: >
:colo
< The name is also stored in the g:colors_name variable.
Also searches all plugins in 'packpath', first below
"start" and then under "opt".
Doesn't work recursively, thus you can't use
":colorscheme" in a color scheme script.
After the color scheme has been loaded the
@@ -4744,6 +4794,10 @@ font={font-name} *highlight-font*
All fonts used, except for Menu and Tooltip, should be of the same
character size as the default font! Otherwise redrawing problems will
occur.
To use a font name with an embedded space or other special character,
put it in single quotes. The single quote cannot be used then.
Example: >
:hi comment font='Monospace 10'
guifg={color-name} *highlight-guifg*
guibg={color-name} *highlight-guibg*
@@ -5013,6 +5067,9 @@ defaults back: >
:syntax reset
It is a bit of a wrong name, since it does not reset any syntax items, it only
affects the highlighting.
This doesn't change the colors for the 'highlight' option.
Note that the syntax colors that you set in your vimrc file will also be reset

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.4. Last change: 2015 Nov 24
*term.txt* For Vim version 7.4. Last change: 2016 Apr 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -302,7 +302,10 @@ Added by Vim (there are no standard codes for these):
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
see |'ambiwidth'|
t_RB request terminal background color *t_RB* *'t_RB'*
see |'ambiwidth'|
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|xterm-true-color|
KEY CODES
Note: Use the <> form if possible
@@ -419,6 +422,26 @@ VT220, etc.). The result is that codes like <xF1> are no longer needed.
Note: This is only done on startup. If the xterm options are changed after
Vim has started, the escape sequences may not be recognized anymore.
*xterm-true-color*
Vim supports using true colors in the terminal (taken from |highlight-guifg|
and |highlight-guibg|), given that the terminal supports this. To make this
work the 'termguicolors' option needs to be set.
Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
and |t_8b| options explicitly. Default values of these options are
"^[[38;2;%lu;%lu;%lum" and "^[[48;2;%lu;%lu;%lum" respectively, but it is only
set when `$TERM` is `xterm`. Some terminals accept the same sequences, but
with all semicolons replaced by colons (this is actually more compatible, but
less widely supported): >
set t_8f=^[[38:2:%lu:%lu:%lum
set t_8b=^[[48:2:%lu:%lu:%lum
(replace `^[` with real escape)
These options contain printf strings, with |printf()| (actually, its C
equivalent hence `l` modifier) invoked with the t_ option value and three
unsigned long integers that may have any value between 0 and 255 (inclusive)
representing red, green and blue colors respectively.
*xterm-resize*
Window resizing with xterm only works if the allowWindowOps resource is
enabled. On some systems and versions of xterm it's disabled by default
@@ -542,7 +565,7 @@ correct values.
One command can be used to set the screen size:
*:mod* *:mode* *E359* *E362*
*:mod* *:mode* *E359*
:mod[e] [mode]
Without argument this only detects the screen size and redraws the screen.

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2016 Jan 15
*todo.txt* For Vim version 7.4. Last change: 2016 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -27,14 +27,34 @@ Priority classification:
See |develop.txt| for development plans. You can vote for which items should
be worked on, but only if you sponsor Vim development. See |sponsor|.
Issues can also be entered online: http://code.google.com/p/vim/issues/list
Issues can also be entered online: https://github.com/vim/vim/issues
Updates will be forwarded to the vim_dev maillist. Issues entered there will
not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
+channel:
- Channel test fails with Motif. Sometimes kills the X11 server.
- 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 an option to drop text of very long lines? Default to 1 Mbyte.
- 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?
- For connection to server, a "keep open" flag would be useful. Retry
connecting in the main loop with zero timeout.
Later
- job_start(): run job in a newly opened terminal.
With xterm could use -S{pty}.
Regexp problems:
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
(Manuel Ortega, 2016 Apr 24)
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
LC_CTYPE
- The regexp engines are not reentrant, causing havoc when interrupted by a
remote expression or something else. Move global variables onto the stack
or into an allocated struct.
@@ -55,6 +75,7 @@ Regexp problems:
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
- Does not work with NFA regexp engine:
\%u, \%x, \%o, \%d followed by a composing character
- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
2015 Feb 7)
@@ -75,6 +96,165 @@ 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.
- Search for /\%d0\+ causes error E363 in a file with consecutive NUL
characters. (Christian Brabandt, 2016 Jun 7)
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?
Should json_encode()/json_decode() restrict recursiveness?
Or avoid recursiveness.
Patch to test popupmenu. Fails, possibly due to a bug.
(Christian Brabandt, 2016 Jul 23)
7 In "-- INSERT (lang) --" show the name of the keymap used instead of
"lang". (Ilya Dogolazky)
Patch: Show keymap name in mode indicator (Dmitri Vereshchagin, 2016 Jul 19,
#933)
Patch to fix the Problem using cgn to change a search hit when
replacement includes hit. Reported by John Beckett, fix by Christian Brabandt,
2016 Jan 11.
Once .exe with updated installer is available: Add remark to download page
about /S and /D options (Ken Takata, 2016 Apr 13)
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
Problem with completion on "**/" in $path. (issue #932)
Happens in uniquefy_paths() ? More info Jul 22.
Fix for this (Harm te Hennepe, 2016 Jul 21, #939)
Cursor positioned in the wrong place when editing src/testdir/test_viml.vim.
Javascript indent wrong after /* in single quoted string:
var SRC = 'src/*.js';
function log(tag) {
a = b;
}
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
Add tests for using number larger than number of lines in buffer.
Updating marks in quickfix list is broken. (Yegappan, 2016 Jul 18)
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
For current Windows build .pdb file is missing. (Gabriele Fava, 2016 May 11)
5)
Support closure for lambda? Ken Takata is working on it.
Patch Jul 19. Still need test updates.
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
functions. (Christian Brabandt, 2013 May 8, update May 21)
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
Second one. Update May 22.
Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
Rethink this: can we add an argument to setqflist() and getqflist() for these
extra items?
Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
13, last version) Update June 26, #830.
Instead use a Vim script implementation, invoked from a Vim command.
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
Also with latest version.
Still problems with 'emoji'. See issue #721. Patch 7.4.1697 half-fixes it.
Avoid PLAN_WRITE in windgoto() ?
Should already never use utf-8 chars to position the cursor.
Cannot delete a file with square brackets with delete(). (#696)
No autocommand for when changing directory. Patch from allen haim, 2016 Jun
27, #888
Justin M Keyes: use "global" or "window" for the pattern. Can add "tab"
later.
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
Otherwise task flickers in taskbar.
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
Also for ":@.".
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
Patch on issue #728 by Christian Brabandt, 2016 Apr 7. Update with test: Apr 8.
Explanation Apr 12.
Might be related to:
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
Patch to add 'topbot' to 'belloff' option. (Coot, 2016 Mar 18, #695)
Patch for C syntax HL. (Bradley Garagan, 2016 Apr 17) #763
Patch to make matchit work better, respect 'matchpairs'. (Ken Takata, 2016 Mar
25)
This does not work: :set cscopequickfix=a-
(Linewi, 2015 Jul 12, #914)
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 .)?
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
What does it change?
When generating the Unicode tables with runtime/tools/unicode.vim the
emoji_width table has only one entry.
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
Reject the value? #710.
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
Update mentioned by Christian, 2016 Apr 25.
Update from Ken Takata, 2016 Jul 17.
Patch to improve cscope. (Adrian Kocis, #843)
Patch for groovy multi-line comment highlighting. (Justin M. Keyes, 2016 May
20 #644)
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 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.
>
Patch to improve indenting for C++ constructor with initializer list.
(Hirohito Higashi, 2016 Mar 31)
After 7.5 is released:
- Drop support for older MS-Windows systems, before XP.
Patch from Ken Takata, 2016 Mar 8.
Add stronger encryption. Could use libsodium (NaCl).
https://github.com/jedisct1/libsodium/
Possibly include the needed code so that it can be build everywhere.
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
Kiichi, 2016 Feb 28)
Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
Need to try out instructions in INSSTALLpc.txt about how to install all
interfaces and how to build Vim with them.
@@ -82,14 +262,35 @@ Appveyor build with self-installing executable, includes getting most
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
result: https://ci.appveyor.com/project/k-takata/vim/history
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
More info Jul 24. Not clear why.
Duplication of completion suggestions for ":!hom". Issue 539.
Patch by Christian, 2016 Jan 29
>
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016
Apr 17) #762
Use vim.vim syntax highlighting for help file examples, but without ":" in
'iskeyword' for syntax.
Patch to make "%:h:h" return "." instead of the full path.
(Coot, 2016 Jan 24, #592)
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
When command names are very long :command output is difficult to read. Use a
maximum for the column width? (#871)
Patcy by varmanishant, 2016 Jun 18, #876
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?
@@ -97,7 +298,8 @@ 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)
Add has('crypt-blowfish') and has('crypt-blowfish2') (Smu Johnson)
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)
@@ -105,6 +307,33 @@ Access to uninitialized memory in match_backref() regexp_nda.c:4882
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
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,
":watchlist" lists the items. (Charles Campbell)
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)
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.
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
Do not trigger the event?
Using ":windo" to set options in all windows has the side effect that it
changes the window layout and the current window. Make a variant that saves
and restores. Use in the matchparen plugin.
@@ -113,6 +342,23 @@ Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
6, 2nd message)
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
Patch to fix that executable() may fail on very long filename in MS-Windows.
(Ken Takata, 2016 Feb 1)
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
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 27, update Apr 13)
Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
Only remembers one error.
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
@@ -124,9 +370,6 @@ Instead of separately uploading patches to the ftp site, we can get them from
github with a URL like this:
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
Diff for version.c contains more context, can't skip a patch.
>
Can src/GvimExt/Make_cyg.mak be removed?
Same for src/xxd/Make_cyg.mak
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
triggered. Use the code from the end of set_num_option() in
@@ -134,61 +377,41 @@ set_color_count().
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
Patch to fix cursor position in right-left mode with concealing.
(Hirohito Higashi, 2016 Jan 13)
Comparing nested structures with "==" uses a different comparator than when
comparing individual items.
Also, "'' == 0" evaluates to true, which isn't nice.
Add "===" to have a strict comparison (type and value match).
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
equals 1 and 1.0, v:false equals 0 and 0.0.?
Plugin to use Vim in MANPAGER. Konfekt, PR #491
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
Patch for explaining the help. (Christian Brabandt, 2015 Jan 8)
Should be in the user manual?
Patch to recognize string slice for variable followed by colon.
(Hirohito Higashi, 2015 Nov 24)
Patch to add debug backtrace. (Alberto Fanjul, 2015 Sep 27)
Update 2016 Jan 2. Issue #433
Patch to gvim.nsi for appveyor build. (Ken Takata, 2016 Jan 12)
Patch to improve behavior of dead keys on MS-Windows. (John Wellesz, 2015 Aug
25) https://github.com/vim/vim/pull/399.diff
Patch to make mzscheme (racket) interface work. (Yukihiro Nakadaira, 2015 Jan
10) Doesn't work for me, need to build from source. Include anyway?
Additional patch by Ken Takata, 2016 Jan 13.
Merged patch by Yasuhiro Nakadaira,, 2016 Jan 14.
Update for INSSTALLpc.txt by Ken Takata, Jan 14.
MS-Windows: When editing a file with a leading space, writing it uses the
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
Can't recognize the $ProgramFiles(x86) environment variable. Recognize it
specifically? First try with the parens, then without.
Half-finished patch to fix the Problem using cgn to change a search hit when
replacement includes hit. Reported by John Beckett, fix by Christian Brabandt,
2016 Jan 11.
Patch to fix pointer cast warning in VS2015. (Mike Williams, 2015 Dec 13)
Patch to make building GVimExt with VS2015. (Mike Williams, 2015 Dec 13)
Patch to add :mapgroup, put mappings in a group like augroup.
(Yasuhiro Matsumoto, 2016 Feb 19)
Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation.
Patch to add perleval(). (Damien, 2015 Dec 8, update 2016 Jan 4)
Can we cache the syntax attributes, so that updates for 'relativenumber' and
'cursorline'/'cursorcolumn' are a lot faster?
Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15)
Build with Python on Mac does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)
Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
Need a Vim equivalent of None and a way to test for it.
Need a Vim equivalent of Python's None and a way to test for it.
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 Jun 5.
To support Thai (and other languages) word boundaries, include the ICU
library: http://userguide.icu-project.org/boundaryanalysis
@@ -196,27 +419,12 @@ library: http://userguide.icu-project.org/boundaryanalysis
When complete() first argument is before where insert started and 'backspace'
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
Patch to fix bug in searchpair(). (Christian Brabandt, 2016 Jan 11)
Problem reported by David Fishburn, using searchpair() with synID() used in
the skip expression.
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
Goes away when disabling the swap file. (might1, Feb 16)
Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
30)
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
Nov 29)
If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
2015 Oct 7)
Using an external diff is inefficient. Not all systems have a good diff
program available (esp. MS-Windows). Would be nice to have in internal diff
implementation. Can then also use this for displaying changes within a line.
@@ -234,33 +442,20 @@ effects for when set by the user, on init and when reset to default.
The argument for "-S" is not taken literally, the ":so" command expands
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30)
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
Update Aug 14.
Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
26, update 2013 Dec 14, another 2014 Nov 22)
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
Sep 10)
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8.
Patch to improve I/O for Perl. (Damine, 2015 Jan 9)
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
Needs a different check for CLEARTYPE_QUALITY.
Problem mentioned by Christian Brabandt, 2016 Jan 4.
Example in editing.txt uses $HOME with the expectating that it ends in a
Example in editing.txt uses $HOME with the expectation that it ends in a
slash. For me it does, but perhaps not for everybody. Add a function that
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
@@ -273,10 +468,6 @@ Patch to fix checking global option value when not using it.
When 'showbreak' is set repeating a Visual operation counts the size of the
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
Patch to apply 'fileformats' when starting Vim. (Mike Williams, 2015 Jul 22)
Patch for matchit plugin related to multibyte chars. (Ken Takata, 2015 Jul 22)
Patch for multi-byte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior:
@@ -286,11 +477,15 @@ Is this the right solution? Need to cleanup langmap behavior:
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing. Remarks on issue 543.
same thing. Remarks on issue 543 (Roland Puntaier).
Also see #737: langmap not applied to replaying recording.
Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.
Would be useful to have a treemap() or deepmap() function. Like map() but
when an item is a list or dict would recurse into it.
Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22)
Is this right?
@@ -301,9 +496,6 @@ Breaks test_eval. Inefficient, can we only compute y_width when needed?
Patch to use different terminal mode settings for system(). (Hayaki Saito)
Does this work for everybody?
Patch to fix that wide characters do not work properly after exiting.
(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
Patch to add wordcount(). Same info as g CTRL-G. (Christian Brabandt, 2015
Nov 17)
@@ -329,6 +521,7 @@ Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
Patch for drag&drop reordering of GUI tab pages reordering.
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
Update 2016 Mar 15.
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
@@ -356,18 +549,10 @@ Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
2015 Feb 6.
Plugins need to make a lot of effort, lots of mappings, to know what happened
before pressing the key that triggers a plugin action. How about keeping the
last N pressed keys, so that they do not need to be mapped?
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
Is this a good solution?
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
functions. (Christian Brabandt, 2013 May 8, update May 21)
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
Second one. Update May 22.
Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
Patch to add /pattern/ to :oldfiles. Pull #575.
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
@@ -384,7 +569,7 @@ Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
Updated patch by Roland Eggner, Dec 16
Updated patch from Charles, 2016 Jan 4.
Updated patch from Charles, 2016 Jul 2
Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
@@ -397,7 +582,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 2015 Jul 25 (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
@@ -420,9 +605,6 @@ Jun 8)
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
insert a space. (Micha Mos, 2014 Nov 7)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Update Dec 6.
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
No error for missing endwhile. (ZyX, 2014 Mar 20)
@@ -444,9 +626,8 @@ compatible with Vim spell files. The old files can no longer be downloaded.
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Has a problem (email 2015 Jan 7).
Update 2015 Jan 10.
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
More tests May 14. Update May 29. Update Aug 10.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
Idea: For a window in the middle (has window above and below it), use
right-mouse-drag on the status line to move a window up/down without changing
@@ -457,9 +638,6 @@ What for systems that don't have unsetenv()?
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
Patch to add TabNew, TabNewEntered and TabClosed autocommand events.
(Felipe Morales, 2015 Feb 1)
This does not give an error: (Andre Sihera, 2014 Mar 21)
vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
This neither: (ZyX)
@@ -473,11 +651,13 @@ Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
2014 Jun 8)
Include a plugin manager with Vim? Neobundle seems to be the best currently.
Also Vundle: https://github.com/gmarik/vundle
Long message about this from ZyX, 2014 Mar 23. And following replies.
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
User view:
- Support multiple sources, basically any http:// URL. Be able to look into
the files before deciding to install.
- Support multiple sources, basically any http:// URL. Or a central place that
will work for everybody (github? redirects from vim.org?).
Be able to look into the files before deciding to install.
- Be able to try out a plugin and remove it again with (almost) no traces.
- Each plugin needs a "manifest" file that has the version, dependencies
(including Vim version and features), conflicts, list of files, etc.
@@ -524,18 +704,6 @@ various other commands. (ZyX, 2014 Mar 30)
Patch to skip sort if no line matches the expression.
(Christian Brabandt, 2014 Jun 25)
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
Or add uniq() instead? Patch by lcd47, but it has problems.
Patch to support expression argument to sort() instead of a function name.
Yasuhiro Matsumoto, 2013 May 31.
Or should we add a more general mechanism, like a lambda() function?
Patch by Yasuhiro Matsumoto, 2014 Sep 16.
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
instead. (Samuel Ferencik, 2013 Sep 28)
@@ -557,6 +725,7 @@ Patch to add ":undorecover", get as much text out of the undo file as
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
It can replace the BeOS code, which is likely not used anymore.
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
@@ -582,11 +751,6 @@ Patch by Thomas Tuegel, also for GTK, 2013 Nov 24
:help gives example for z?, but it does not work. m? and t? do work.
Python: Extended funcrefs: use func_T* structure in place of char_u* function
names.
(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
With tests: Sep 5.
@@ -673,6 +837,7 @@ optional. (2013 Jul 12)
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
Improve the installer for MS-Windows. There are a few alternatives:
- Add silent install option. (Shane Lee, #751)
- Installer from Cream (Steve Hall).
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
https://github.com/gpwen/vim-installer-mui2
@@ -976,7 +1141,7 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
May 24) Update May 26.
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
@@ -1432,8 +1597,6 @@ still delete them. Also convert all buffer file names?
Update src/testdir/main.aap.
"vim -c 'sniff connect'" hangs Vim. (Dominique Pelle, 2008 Dec 7)
Something wrong with session that has "cd" commands and "badd", in such a way
that Vim doesn't find the edited file in the buffer list, causing the
ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
@@ -1449,9 +1612,6 @@ probably causes this.
'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
2009 Jan 16)
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
Document that default font in Athena can be set with resources:
XtDefaultFont: "9x15"
XtDefaultFontSet: "9x15"
@@ -1619,9 +1779,6 @@ Fail to edit file after failed register access. Error flag remains set?
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
src/testdir/Make_dos.mak: not all tests are included, e.g., test49, without a
remark why.
Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
1)
@@ -1799,10 +1956,6 @@ Win32: using "gvim --remote-tab-silent fname" sometimes gives an empty screen
with the more prompt. Caused by setting the guitablabel? (Thomas Michael
Engelke, 2007 Dec 20 - 2008 Jan 17)
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
pointer in long and seek offset in 64 bit var.
Patches from Ken Takata might help (2014 Apr 17)
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
@@ -2165,10 +2318,17 @@ Add an option for a minimal text length before inserting a line break for
(Kartik Agaram)
At next release:
- Build a huge version by default.
- Improve plugin handling: Automatic updates, handle dependencies?
E.g. Vundle: https://github.com/gmarik/vundle
Better plugin support (not plugin manager, see elsewhere for that):
- Avoid use of feedkeys, add eval functions where needed:
- manipulating the Visual selection?
- Add createmark(): add a mark like mM, but return a unique ID. Need some way
to clean them up again... Use a name + the script ID.
Add createmark( , 'c') to track inserts/deletes before the column.
- Plugins need to make a lot of effort, lots of mappings, to know what
happened before pressing the key that triggers a plugin action. How about
keeping the last N pressed keys, so that they do not need to be mapped?
- equivalent of netbeans_beval_cb(). With an autocommand?
- Add something to enable debugging when a remote message is received.
More patches:
@@ -2530,7 +2690,7 @@ GUI:
Need better separation of Vim core and GUI code.
8 When fontset support is enabled, setting 'guifont' to a single font
doesn't work.
8 Menu priority for sub-menus for: Amiga, BeOS.
8 Menu priority for sub-menus for: Amiga.
8 When translating menus ignore the part after the Tab, the shortcut. So
that the same menu item with a different shortcut (e.g., for the Mac) are
still translated.
@@ -2582,64 +2742,7 @@ GUI:
currently. This is very obvious on a 66Mhz 486.
MSDOS/DJGPP:
9 Pressing CTRL-C often crashes the console Vim runs in. (Ken Liao)
When 'bioskey' isn't set it doesn't happen. Could be a problem with the
BIOS emulation of the console. Version 5.6 already had this problem.
8 DJGPP: "cd c:" can take us to a directory that no longer exists.
change_drive() doesn't check this. How to check for this error?
9 The 16 bit version runs out of memory very quickly. Should find unused
code and reduce static data. Resetting 'writebackup' helps to be able to
write a file.
9 Crash when running on Windows 98 in a console window and pressing CTRL-C.
Happens now and then. When debugging Vim in gdb this also happens. Since
the console crashes, might be a bug in the DOS console. Resetting
'bioskey' avoids it, but then CTRL-C doesn't work.
9 DOS: Make CTRL-Fx and ALT-Fx work.
CTRL-F1 = CE-5E, CTRL-F2 = CE-5F, .., CTRL-F10 = CE-67
ALT-F1 = CE-68, ALT-F2 = CE-69, .., ALT-F10 = CE-71
Shifted cursor keys produce same codes as unshifted keys. Use bioskey(2)
to get modifier mask for <S-C-M-Fx>.
Use K_SPECIAL/KS_MODIFIER codes to insert modifier mask in input stream?
Make this work like in Win32 console.
Mapping things like <M-A> doesn't work, because it generates an extended
key code. Use a translation table?
9 Can't read an opened swap file when the "share" command has not been used.
At least ignore the swap files that Vim has opened itself.
8 Use DJGPP 2.03.
8 The Dos32 version (DJGPP) can't use long file names on Windows NT.
Check if new package can be used (v2misc/ntlfn08[bs].zip).
8 setlocale() is bogus.
8 Vim busy waits for new characters or mouse clicks. Should put in some
sort of sleep, to avoid eating 50% of the CPU time. Test on an unpatched
Windows 95 system!
8 DJGPP: when shell is bash, make fails. (Donahoe)
7 Hitting CTRL-P twice quickly (e.g., in keyword completion) on a 8088
machine, starts printer echo! (John Mullin).
7 MSDOS 16 bit version can't work with COMSPEC that has an argument, e.g.:
COMSPEC=C:\WINDOWS\COMMAND.COM /E:4096 (Bradley)
Caused by BCC system() function (Borland "make" has the same problem).
8 Mouse: handle left&right button pressed as middle button pressed. Add
modifier keys shift, ctrl and alt.
7 When too many files are open (depends on FILES), strange things happen.
The Dos16 version runs out of memory, in the Dos32 version "!ls" causes a
crash. Another symptom: .swp files are not deleted, existing files are
"[New file]".
7 DJGPP version doesn't work with graphics display mode. Switch to a mode
that is supported?
8 DJGPP: ":mode" doesn't work for many modes. Disable them.
8 DJGPP: When starting in Ex mode, shouldn't clear the screen. (Walter
Briscoe)
MSDOS, OS/2 and Win32:
8 OS/2: Add backtick expansion. Undefine NO_EXPANDPATH and use
gen_expand_wildcards().
8 OS/2: Add clipboard support? See example clipbrd.exe from Alexander
Wagner.
8 OS/2: Add Extended Attributes support and define HAVE_ACL.
8 OS/2: When editing a file name "foo.txt" that is actually called FOO.txt,
writing uses "foo.txt". Should obtain the real file name.
Win32 console:
8 Should $USERPROFILE be preferred above $HOMEDRIVE/$HOMEPATH? No, but it's
a good fallback, thus use:
$HOME
@@ -3453,8 +3556,6 @@ Multi-byte characters:
convert_input() for Mac GUI.
- Add mnemonics from RFC1345 longer than two characters.
Support CTRL-K _{mnemonic}_
7 In "-- INSERT (lang) --" show the name of the keymap used instead of
"lang". (Ilya Dogolazky)
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
table anymore (breakat_flags[]).
Simplistic solution: when 'formatoptions' contains "m" also break a line
@@ -3517,10 +3618,7 @@ Syntax highlighting:
one is contained in. Like "keepend" but specified on the contained item,
instead of the containing item.
8 cpp.vim: In C++ it's allowed to use {} inside ().
8 Some syntax files set 'iskeyword'. When switching to another filetype
this isn't reset. Add a special keyword definition for the syntax rules?
When this is done, use vim.vim syntax highlighting for help file examples,
but without ":" in 'iskeyword' for syntax.
8 Some syntax files set 'iskeyword', they should use "syn iskeyword".
Also need a separate 'iskeyword' for the command line, e.g., in a help
window ":e /asdf/asdf/" CTRL-W works different.
8 Add specific syntax item to match with parens/braces that don't have a
@@ -3646,7 +3744,7 @@ Syntax highlighting:
unprintable char another color. Would be useful for ^M at end of line.
Built-in script language:
Vim script language:
8 Make the filename and line number available to script functions, so that
they can give useful debugging info. The whole call stack would be ideal.
At least use this for error messages.
@@ -3667,14 +3765,10 @@ Built-in script language:
7 ":include" command: just like ":source" but doesn't start a new scriptID?
Will be tricky for the list of script names.
8 Have a look at VSEL. Would it be useful to include? (Bigham)
8 Add ":fungroup" command, to group function definitions together. When
encountered, all functions in the group are removed. Suggest using an
obscure name to avoid name clashes. Require a ":fungroup END" in the same
sourced file? Assume the group ends at the end of the file. Handle
nested packages?
Alternative: Support packages. {package-name}:{function-name}().
Packages are loaded automatically when first used, from
$VIMRUNTIME/packages (or use a search path).
8 Have a prefix for a function to make it unique. When using packages it
can be the plugin name.
Perhaps also have a way to remove everything that the package added?
including autocommands.
7 Pre-parse or compile Vim scripts into a bytecode.
1. Put the bytecode with the original script, with an ":if
has('bytecode')" around it, so that it's only used with a Vim that
@@ -3691,8 +3785,6 @@ Built-in script language:
8 Add functions:
has(":command") Check if ":command" works. compare function
with "ex_ni". E.g. for ":simalt".
system() With a List argument. Bypasses the shell, use
exec() directly. (Bob Hiestand)
escape() Add argument to specify what to escape with.
modestack() Instead of just the current mode return the
stack of Insert / CTRL-O / :normal things.
@@ -3742,7 +3834,7 @@ Built-in script language:
8 Pass the command line arguments to Vim scripts in some way. As v:args
List? Or extra parameter to argv()?
8 Add command arguments with three dashes, passed on to Vim scripts.
7 Add optional arguments to user functions:
9 Add optional arguments to user functions:
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
6 User functions: Functions local to buffer "b:func()"?
8 For Strings add ":let var[{expr}] = {expr}". When past the end of "var"
@@ -4795,7 +4887,7 @@ Searching:
lines 23 to 45? Or does this conflict with Ex range syntax?
8 Allow identical pairs in 'matchpairs'. Restrict the search to the current
line.
7 Allow longer pairs in 'matchpairs'. Use ~/vim/macros/matchit.vim as an
7 Allow longer pairs in 'matchpairs'. Use matchit.vim as an
example.
8 Make it possible to define the character that "%" checks for in
#if/#endif. For nmake it's !if/!endif.
@@ -5248,13 +5340,8 @@ Registers:
Debug mode:
7 Add something to enable debugging when a remote message is received.
8 Add breakpoints for setting an option
8 Add breakpoints for assigning to a variable.
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,
":watchlist" lists the items. (Charles Campbell)
7 Store the history from debug mode in viminfo.
7 Make the debug mode history available with histget() et al.

View File

@@ -1,4 +1,4 @@
*usr_02.txt* For Vim version 7.4. Last change: 2016 Jan 15
*usr_02.txt* For Vim version 7.4. Last change: 2016 Jan 16
VIM USER MANUAL - by Bram Moolenaar
@@ -554,38 +554,42 @@ Summary: *help-summary* >
8) Ex-commands always start with ":", so to go to the :s command help: >
:help :s
9) Key combinations. They usually start with a single letter indicating
the mode for which they can be used. E.g.: >
:help i_CTRL-X
< takes you to the family of Ctrl-X commands for insert mode which can be
used to auto complete different things. Note, that certain keys will
always be written the same, e.g. Control will always be CTRL.
For normal mode commands there is no prefix and the topic is available at
:h CTRL-<Letter>. E.g. >
:help CTRL-W
< In contrast >
:help c_CTRL-R
< will describe what the Ctrl-R does when entering commands in the Command
line and >
:help v_Ctrl-A
< talks about incrementing numbers in visual mode and >
:help g_CTRL-A
< talks about the g<C-A> command (e.g. you have to press "g" then <Ctrl-A>).
Here the "g" stand for the normal command "g" which always expects a second
key before doing something similar to the commands starting with "z"
9) Commands specifically for debugging start with ">". To go to to the help
for the "cont" debug command: >
:help >cont
10) Regexp items always start with /. So to get help for the "\+" quantifier
10) Key combinations. They usually start with a single letter indicating
the mode for which they can be used. E.g.: >
:help i_CTRL-X
< takes you to the family of Ctrl-X commands for insert mode which can be
used to auto complete different things. Note, that certain keys will
always be written the same, e.g. Control will always be CTRL.
For normal mode commands there is no prefix and the topic is available at
:h CTRL-<Letter>. E.g. >
:help CTRL-W
< In contrast >
:help c_CTRL-R
< will describe what the Ctrl-R does when entering commands in the Command
line and >
:help v_Ctrl-A
< talks about incrementing numbers in visual mode and >
:help g_CTRL-A
< talks about the g<C-A> command (e.g. you have to press "g" then <Ctrl-A>).
Here the "g" stand for the normal command "g" which always expects a second
key before doing something similar to the commands starting with "z"
11) Regexp items always start with /. So to get help for the "\+" quantifier
in Vim regexes: >
:help /\+
< If you need to know everything about regular expressions, start reading
at: >
< If you need to know everything about regular expressions, start reading
at: >
:help pattern.txt
11) Registers always start with "quote". To find out about the special ":"
12) Registers always start with "quote". To find out about the special ":"
register: >
:help quote:
12) Vim Script (VimL) is available at >
13) Vim Script (VimL) is available at >
:help eval.txt
< Certain aspects of the language are available at :h expr-X where "X" is a
single letter. E.g. >
@@ -600,7 +604,7 @@ Summary: *help-summary* >
< talks about the append VimL function rather than how to append text in the
current buffer.
13) Mappings are talked about in the help page :h |map.txt|. Use >
14) Mappings are talked about in the help page :h |map.txt|. Use >
:help mapmode-i
< to find out about the |:imap| command. Also use :map-topic
to find out about certain subtopics particular for mappings. e.g: >
@@ -609,19 +613,19 @@ Summary: *help-summary* >
:help map-bar
< for how the '|' is handled in mappings.
14) Command definitions are talked about :h command-topic, so use >
15) Command definitions are talked about :h command-topic, so use >
:help command-bar
< to find out about the '!' argument for custom commands.
15) Window management commands always start with CTRL-W, so you find the
16) Window management commands always start with CTRL-W, so you find the
corresponding help at :h CTRL-W_letter. E.g. >
:help CTRL-W_p
< for moving the previous accessed window). You can also access >
< for moving the previous accessed window. You can also access >
:help windows.txt
< and read your way through if you are looking for window handling
commands.
16) Use |:helpgrep| to search in all help pages (and also of any installed
17) Use |:helpgrep| to search in all help pages (and also of any installed
plugins). See |:helpgrep| for how to use it.
To search for a topic: >
:helpgrep topic
@@ -632,7 +636,7 @@ Summary: *help-summary* >
:copen
< Move around to the match you like and press Enter to jump to that help.
17) The user manual. This describes help topics for beginners in a rather
18) The user manual. This describes help topics for beginners in a rather
friendly way. Start at |usr_toc.txt| to find the table of content (as you
might have guessed): >
:help usr_toc.txt
@@ -645,31 +649,31 @@ Summary: *help-summary* >
:help 10.1
< goes to chapter 10.1 in |usr_10.txt| and talks about recording macros.
18) Highlighting groups. Always start with hl-groupname. E.g. >
19) Highlighting groups. Always start with hl-groupname. E.g. >
:help hl-WarningMsg
< talks about the WarningMsg highlighting group.
19) Syntax highlighting is namespaced to :syn-topic e.g. >
20) Syntax highlighting is namespaced to :syn-topic e.g. >
:help :syn-conceal
< talks about the conceal argument for the :syn command.
20) Quickfix commands usually start with :c while location list commands
21) Quickfix commands usually start with :c while location list commands
usually start with :l
21) Autocommand events can be found by their name: >
22) Autocommand events can be found by their name: >
:help BufWinLeave
< To see all possible events: >
:help autocommands-events
22) Command-line switches always start with "-". So for the help of the -f
23) Command-line switches always start with "-". So for the help of the -f
command switch of Vim use: >
:help -f
23) Optional features always start with "+". To find out about the
24) Optional features always start with "+". To find out about the
conceal feature use: >
:help +conceal
24) Documentation for included filetype specific functionality is usually
25) Documentation for included filetype specific functionality is usually
available in the form ft-<filetype>-<functionality>. So >
:help ft-c-syntax
< talks about the C syntax file and the option it provides. Sometimes,
@@ -679,7 +683,7 @@ Summary: *help-summary* >
:help ft-tex-plugin
< are available.
25) Error and Warning codes can be looked up directly in the help. So >
26) Error and Warning codes can be looked up directly in the help. So >
:help E297
< takes you exactly to the description of the swap error message and >
:help W10

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.4. Last change: 2012 Nov 20
*usr_05.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM USER MANUAL - by Bram Moolenaar
@@ -12,10 +12,11 @@ Vim's capabilities. Or define your own macros.
|05.1| The vimrc file
|05.2| The example vimrc file explained
|05.3| Simple mappings
|05.4| Adding a plugin
|05.5| Adding a help file
|05.6| The option window
|05.7| Often used options
|05.4| Adding a package
|05.5| Adding a plugin
|05.6| Adding a help file
|05.7| The option window
|05.8| Often used options
Next chapter: |usr_06.txt| Using syntax highlighting
Previous chapter: |usr_04.txt| Making small changes
@@ -263,7 +264,45 @@ The ":map" command (with no arguments) lists your current mappings. At
least the ones for Normal mode. More about mappings in section |40.1|.
==============================================================================
*05.4* Adding a plugin *add-plugin* *plugin*
*05.4* Adding a package *add-package* *matchit-install*
A package is a set of files that you can add to Vim. There are two kinds of
packages: optional and automatically loaded on startup.
The Vim distribution comes with a few packages that you can optionally use.
For example, the matchit plugin. This plugin makes the "%" command jump to
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
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
package directory in 'runtimepath', so that the help file can be found.
You can find packages on the Internet in various places. It usually comes as
an archive or as a repository. For an archive you can follow these steps:
1. create the package directory: >
mkdir -p ~/.vim/pack/fancy
< "fancy" can be any name of your liking. Use one that describes the
package.
2. unpack the archive in that directory. This assumes the top
directory in the archive is "start": >
cd ~/.vim/pack/fancy
unzip /tmp/fancy.zip
< If the archive layout is different make sure that you end up with a
path like this:
~/.vim/pack/fancy/start/fancytext/plugin/fancy.vim ~
Here "fancytext" is the name of the package, it can be anything
else.
More information about packages can be found here: |packages|.
==============================================================================
*05.5* Adding a plugin *add-plugin* *plugin*
Vim's functionality can be extended by adding plugins. A plugin is nothing
more than a Vim script file that is loaded automatically when Vim starts. You
@@ -324,10 +363,9 @@ Example for Unix (assuming you didn't have a plugin directory yet): >
mkdir ~/.vim
mkdir ~/.vim/plugin
cp /usr/local/share/vim/vim60/macros/justify.vim ~/.vim/plugin
cp /tmp/yourplugin.vim ~/.vim/plugin
That's all! Now you can use the commands defined in this plugin to justify
text.
That's all! Now you can use the commands defined in this plugin.
Instead of putting plugins directly into the plugin/ directory, you may
better organize them by putting them into subdirectories under plugin/.
@@ -415,23 +453,19 @@ Further reading:
|new-filetype| How to detect a new file type.
==============================================================================
*05.5* Adding a help file *add-local-help* *matchit-install*
*05.6* Adding a help file *add-local-help*
If you are lucky, the plugin you installed also comes with a help file. We
will explain how to install the help file, so that you can easily find help
for your new plugin.
Let us use the "matchit.vim" plugin as an example (it is included with
Vim). This plugin makes the "%" command jump to 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).
This plugin comes with documentation: "matchit.txt". Let's first copy the
plugin to the right directory. This time we will do it from inside Vim, so
that we can use $VIMRUNTIME. (You may skip some of the "mkdir" commands if
you already have the directory.) >
Let us use the "doit.vim" plugin as an example. This plugin comes with
documentation: "doit.txt". Let's first copy the plugin to the right
directory. This time we will do it from inside Vim. (You may skip some of
the "mkdir" commands if you already have the directory.) >
:!mkdir ~/.vim
:!mkdir ~/.vim/plugin
:!cp $VIMRUNTIME/macros/matchit.vim ~/.vim/plugin
:!cp /tmp/doit.vim ~/.vim/plugin
The "cp" command is for Unix, on MS-DOS you can use "copy".
@@ -441,7 +475,7 @@ Now create a "doc" directory in one of the directories in 'runtimepath'. >
Copy the help file to the "doc" directory. >
:!cp $VIMRUNTIME/macros/matchit.txt ~/.vim/doc
:!cp /tmp/doit.txt ~/.vim/doc
Now comes the trick, which allows you to jump to the subjects in the new help
file: Generate the local tags file with the |:helptags| command. >
@@ -450,10 +484,10 @@ file: Generate the local tags file with the |:helptags| command. >
Now you can use the >
:help g%
:help doit
command to find help for "g%" in the help file you just added. You can see an
entry for the local help file when you do: >
command to find help for "doit" in the help file you just added. You can see
an entry for the local help file when you do: >
:help local-additions
@@ -464,7 +498,7 @@ them through the tag.
For writing a local help file, see |write-local-help|.
==============================================================================
*05.6* The option window
*05.7* The option window
If you are looking for an option that does what you want, you can search in
the help files here: |options|. Another way is by using this command: >
@@ -503,7 +537,7 @@ border. This is what the 'scrolloff' option does, it specifies an offset
from the window border where scrolling starts.
==============================================================================
*05.7* Often used options
*05.8* Often used options
There are an awful lot of options. Most of them you will hardly ever use.
Some of the more useful ones will be mentioned here. Don't forget you can

View File

@@ -1,4 +1,4 @@
*usr_25.txt* For Vim version 7.4. Last change: 2014 Oct 29
*usr_25.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM USER MANUAL - by Bram Moolenaar
@@ -196,12 +196,16 @@ Vim has no built-in way of justifying text. However, there is a neat macro
package that does the job. To use this package, execute the following
command: >
:runtime macros/justify.vim
:packadd justify
Or put this line in your |vimrc|: >
packadd! justify
This Vim script file defines a new visual command "_j". To justify a block of
text, highlight the text in Visual mode and then execute "_j".
Look in the file for more explanations. To go there, do "gf" on this name:
$VIMRUNTIME/macros/justify.vim.
$VIMRUNTIME/pack/dist/opt/justify/plugin/justify.vim.
An alternative is to filter the text through an external program. Example: >

View File

@@ -1,4 +1,4 @@
*usr_29.txt* For Vim version 7.4. Last change: 2008 Jun 28
*usr_29.txt* For Vim version 7.4. Last change: 2016 Feb 27
VIM USER MANUAL - by Bram Moolenaar
@@ -265,9 +265,6 @@ doesn't work if the tags file isn't sorted.
The 'taglength' option can be used to tell Vim the number of significant
characters in a tag.
When you use the SNiFF+ program, you can use the Vim interface to it |sniff|.
SNiFF+ is a commercial program.
Cscope is a free program. It does not only find places where an identifier is
declared, but also where it is used. See |cscope|.

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.4. Last change: 2015 Nov 30
*usr_41.txt* For Vim version 7.4. Last change: 2016 Jul 24
VIM USER MANUAL - by Bram Moolenaar
@@ -592,6 +592,7 @@ String manipulation: *string-functions*
match() position where a pattern matches in a string
matchend() position where a pattern match ends in a string
matchstr() match of a pattern in a string
matchstrpos() match and positions of a pattern in a string
matchlist() like matchstr() and also return submatches
stridx() first index of a short string in a long string
strridx() last index of a short string in a long string
@@ -601,13 +602,16 @@ 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
byteidxcomp() like byteidx() but count composing characters
repeat() repeat a string multiple times
eval() evaluate a string expression
execute() execute an Ex command and get the output
List manipulation: *list-functions*
get() get an item without error for wrong index
@@ -677,6 +681,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
@@ -731,11 +736,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
@@ -747,6 +755,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
@@ -768,6 +777,7 @@ Date and Time: *date-functions* *time-functions*
strftime() convert time to a string
reltime() get the current or elapsed time accurately
reltimestr() convert reltime() result to a string
reltimefloat() convert reltime() result to a Float
*buffer-functions* *window-functions* *arg-functions*
Buffers, windows and the argument list:
@@ -784,9 +794,15 @@ Buffers, windows and the argument list:
tabpagenr() get the number of a tab page
tabpagewinnr() like winnr() for a specified tab page
winnr() get the window number for the current window
bufwinid() get the window ID of a specific buffer
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
@@ -794,6 +810,7 @@ Command line: *command-line-functions*
setcmdpos() set position of the cursor in the command line
getcmdtype() return the current command-line type
getcmdwintype() return the current command-line window type
getcompletion() list of command-line completion matches
Quickfix and location lists: *quickfix-functions*
getqflist() list of quickfix errors
@@ -889,9 +906,58 @@ Mappings: *mapping-functions*
wildmenumode() check if the wildmode is active
Testing: *test-functions*
assert_equal() assert that two expressions values are equal
assert_equal() assert that two expressions values are equal
assert_notequal() assert that two expressions values are not equal
assert_inrange() assert that an expression is inside a range
assert_match() assert that a pattern matches the value
assert_notmatch() assert that a pattern does not match the value
assert_false() assert that an expression is false
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
test_alloc_fail() make memory allocation fail
test_autochdir() enable 'autochdir' during startup
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
json_encode() encode an expression to a JSON string
json_decode() 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
@@ -916,14 +982,16 @@ Various: *various-functions*
shiftwidth() effective value of 'shiftwidth'
wordcount() get byte/word/char count of buffer
taglist() get list of matching tags
tagfiles() get a list of tags files
luaeval() evaluate Lua expression
mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
wordcount() get byte/word/char count of buffer
==============================================================================
*41.7* Defining a function
@@ -1391,9 +1459,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
@@ -2226,7 +2294,7 @@ This construct makes sure the function is only defined once: >
:endif
<
UNDO *undo_ftplugin*
UNDO *undo_indent* *undo_ftplugin*
When the user does ":setfiletype xyz" the effect of the previous filetype
should be undone. Set the b:undo_ftplugin variable to the commands that will
@@ -2241,6 +2309,9 @@ global value. That is mostly the best way to reset the option value.
This does require removing the "C" flag from 'cpoptions' to allow line
continuation, as mentioned above |use-cpo-save|.
For undoing the effect of an indent script, the b:undo_indent variable should
be set accordingly.
FILE NAME

View File

@@ -1,4 +1,4 @@
*usr_toc.txt* For Vim version 7.4. Last change: 2010 Jul 20
*usr_toc.txt* For Vim version 7.4. Last change: 2016 Mar 25
VIM USER MANUAL - by Bram Moolenaar
@@ -104,10 +104,11 @@ Read this from start to end to learn the essential commands.
|05.1| The vimrc file
|05.2| The example vimrc file explained
|05.3| Simple mappings
|05.4| Adding a plugin
|05.5| Adding a help file
|05.6| The option window
|05.7| Often used options
|05.4| Adding a package
|05.5| Adding a plugin
|05.6| Adding a help file
|05.7| The option window
|05.8| Often used options
|usr_06.txt| Using syntax highlighting
|06.1| Switching it on

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.4. Last change: 2016 Jan 10
*various.txt* For Vim version 7.4. Last change: 2016 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -208,8 +208,6 @@ g8 Print the hex values of the bytes used in the
Example: >
:exe "normal \<c-w>\<c-w>"
< {not in Vi, of course}
{not available when the |+ex_extra| feature was
disabled at compile time}
:{range}norm[al][!] {commands} *:normal-range*
Execute Normal mode commands {commands} for each line
@@ -218,8 +216,6 @@ g8 Print the hex values of the bytes used in the
for each line. Otherwise it's the same as the
":normal" command without a range.
{not in Vi}
{not available when |+ex_extra| feature was disabled
at compile time}
*:sh* *:shell* *E371*
:sh[ell] This command starts a shell. When the shell exits
@@ -319,6 +315,7 @@ N *+builtin_terms* some terminals builtin |builtin-terms|
B *++builtin_terms* maximal terminals builtin |builtin-terms|
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
and ":goto" commands.
m *+channel* inter process communication |channel|
N *+cindent* |'cindent'|, C indenting
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
*+clipboard* |clipboard| support
@@ -341,8 +338,7 @@ m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
*+dnd* Support for DnD into the "~ register |quote_~|.
B *+emacs_tags* |emacs-tags| files
N *+eval* expression evaluation |eval.txt|
N *+ex_extra* Vim's extra Ex commands: |:center|, |:left|,
|:normal|, |:retab| and |:right|
N *+ex_extra* always on now, used to be for Vim's extra Ex commands
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
B *+farsi* |farsi| language
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
@@ -362,6 +358,7 @@ m *+hangul_input* Hangul input support |hangul|
*+iconv* Compiled with the |iconv()| function
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
N *+insert_expand* |insert_expand| Insert mode completion
m *+job* starting and stopping jobs |job|
N *+jumplist* |jumplist|
B *+keymap* |'keymap'|
B *+langmap* |'langmap'|
@@ -393,7 +390,9 @@ N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
m *+netbeans_intg* |netbeans|
*+num64* 64-bit Number support |Number|
m *+ole* Win32 GUI only: |ole-interface|
N *+packages* Loading |packages|
N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+perl* Perl interface |perl|
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
@@ -414,7 +413,6 @@ m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
N *+scrollbind* |'scrollbind'|
B *+signs* |:sign|
N *+smartindent* |'smartindent'|
m *+sniff* SniFF interface |sniff|
N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
@@ -428,8 +426,10 @@ m *+tcl* Tcl interface |tcl|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
*+terminfo* uses |terminfo| instead of termcap
N *+termresponse* support for |t_RV| and |v:termresponse|
B *+termguicolors* 24-bit color in xterm-compatible terminals support
N *+textobjects* |text-objects| selection
*+tgetent* non-Unix only: able to use external termcap
N *+timers* the |timer_start()| function
N *+title* Setting the window 'title' and 'icon'
N *+toolbar* |gui-toolbar|
N *+user_commands* User-defined commands. |user-commands|
@@ -470,9 +470,12 @@ N *+X11* Unix only: can restore window title |X11|
shown on the screen. When [!] is included, an
existing file is overwritten. When [!] is omitted,
and {file} exists, this command fails.
Only one ":redir" can be active at a time. Calls to
":redir" will close any active redirection before
starting redirection to the new target.
starting redirection to the new target. For recursive
use check out |execute()|.
To stop the messages and commands from being echoed to
the screen, put the commands in a function and call it
with ":silent call Function()".
@@ -512,13 +515,15 @@ N *+X11* Unix only: can restore window title |X11|
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
command output messages will cause errors. {not in Vi}
To get the output of one command the |execute()|
function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used. {not in Vi}
:redi[r] END End redirecting messages. {not in Vi}
*:sil* *:silent*
*:sil* *:silent* *:silent!*
:sil[ent][!] {command} Execute {command} silently. Normal messages will not
be given or added to the message history.
When [!] is added, error messages will also be
@@ -608,13 +613,16 @@ K Run a program to lookup the keyword under the
directory of Vim. It is called 'ref' and does a
simple spelling check.
Special cases:
- If 'keywordprg' begins with ":" it is invoked as
a Vim Ex command with [count].
- If 'keywordprg' is empty, the ":help" command is
used. It's a good idea to include more characters
in 'iskeyword' then, to be able to find more help.
- When 'keywordprg' is equal to "man", a count before
"K" is inserted after the "man" command and before
the keyword. For example, using "2K" while the
cursor is on "mkdir", results in: >
- When 'keywordprg' is equal to "man" or starts with
":", a [count] before "K" is inserted after
keywordprg and before the keyword. For example,
using "2K" while the cursor is on "mkdir", results
in: >
!man 2 mkdir
< - When 'keywordprg' is equal to "man -s", a count
before "K" is inserted after the "-s". If there is

Some files were not shown because too many files have changed in this diff Show More