Compare commits

...

1696 Commits

Author SHA1 Message Date
21456cdccb patch 8.2.0253: crash when using :disassamble without argument
Problem:    Crash when using :disassamble without argument. (Dhiraj Mishra)
Solution:   Check for missing argument. (Dominique Pelle, closes #5635,
            closes #5637)
2020-02-13 21:29:32 +01:00
3dd64608f6 patch 8.2.0252: Windows compiler warns for using size_t
Problem:    Windows compiler warns for using size_t.
Solution:   Change to int. (Mike Williams)
2020-02-13 20:31:28 +01:00
7306d6b1c9 patch 8.2.0251: a couple of function return types can be more specific
Problem:    A couple of function return types can be more specific.
Solution:   Use a better return type. (Ken Takata, closes #5629)
2020-02-12 22:25:56 +01:00
4f5776c17c patch 8.2.0250: test_clear_search_pat() is unused
Problem:    test_clear_search_pat() is unused.
Solution:   Remove the function. (Yegappan Lakshmanan, closes #5624)
2020-02-12 22:15:19 +01:00
3fb377fa78 patch 8.2.0249: MS-Windows: various warnings
Problem:    MS-Windows: various warnings.
Solution:   Set the charset to utf-8. Add _WIN32_WINNT and _USING_V110_SDK71_.
            (Ken Takata, closes #5625)
2020-02-12 21:52:32 +01:00
2f18975088 patch 8.2.0248: MS-Windows: dealing with deprecation is too complicated
Problem:    MS-Windows: dealing with deprecation is too complicated.
Solution:   Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build
            file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken
            Takata, closes #5626)
2020-02-12 21:15:43 +01:00
3b0ef8cfdb patch 8.2.0247: misleading comment in NSIS installer script
Problem:    Misleading comment in NSIS installer script.
Solution:   Negate the meaning of the comment. (Ken Takata, closes #5627)
2020-02-12 21:03:32 +01:00
49c99fcca0 patch 8.2.0246: MSVC: deprecation warnings with Ruby
Problem:    MSVC: deprecation warnings with Ruby.
Solution:   Move _CRT_SECURE_NO_DEPRECATE to build file. (Ken Takata,
            closes #5622)
2020-02-11 23:01:39 +01:00
5489eab345 patch 8.2.0245: MSVC: error message if the auto directory already exists
Problem:    MSVC: error message if the auto directory already exists.
Solution:   Add "if not exists". (Ken Takata, closes #5620)
2020-02-11 22:49:18 +01:00
5f1d3ae8a8 patch 8.2.0244: compiler warning in Lua interface
Problem:    Compiler warning in Lua interface.
Solution:   Add type cast. (Ken Takata, closes #5621)
2020-02-11 22:37:35 +01:00
9f6277bdde patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Problem:    Insufficient code coverage for ex_docmd.c functions.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5618)
2020-02-11 22:04:02 +01:00
799439a5d8 patch 8.2.0242: preview popup window test fails with long directory name
Problem:    Preview popup window test fails with long directory name. (Jakub
            Kądziołka)
Solution:   Use "silent cd". (closes #5615)
2020-02-11 21:44:17 +01:00
99234f29aa patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Problem:    Crash when setting 'buftype' to "quickfix".
Solution:   Check that error list is not NULL. (closes #5613)
2020-02-10 22:56:54 +01:00
408030e8d0 patch 8.2.0240: using memory after it was freed
Problem:    Using memory after it was freed. (Dominique Pelle)
Solution:   Do not mix converion buffer with other buffer.
2020-02-10 22:44:32 +01:00
355757aed6 patch 8.2.0239: MS-Windows: 'env' job option does not override existing vars
Problem:    MS-Windows: 'env' job option does not override existing
            environment variables.  (Tim Pope)
Solution:   Set the environment variables later. (Yasuhiro Matsumoto,
            closes #5485, closes #5608)
2020-02-10 22:06:32 +01:00
b3e195cca7 patch 8.2.0238: MS-Windows: job_stop() results in exit value zero
Problem:    MS-Windows: job_stop() results in exit value zero.
Solution:   Call TerminateJobObject() with -1 instead of 0. (Yasuhiro
            Matsumoto, closes #5150, closes #5614)
2020-02-10 21:32:19 +01:00
7ba3b91e03 patch 8.2.0237: crash when setting 'wincolor' on finished terminal window
Problem:    Crash when setting 'wincolor' on finished terminal window.
            (Bakudankun)
Solution:   Check that the vterm is not NULL. (Yasuhiro Matsumoto, closes
            #5607, closes #5610)
2020-02-10 20:34:04 +01:00
57ea2924e5 patch 8.2.0236: MS-Windows unintall doesn't delete vimtutur.bat
Problem:    MS-Windows unintall doesn't delete vimtutur.bat.
Solution:   Change directory before deletion. (Ken Takata, closes #5603)
2020-02-09 14:27:20 +01:00
dbe5d361fe patch 8.2.0235: draw error when an empty group is removed from 'statusline'
Problem:    Draw error when an empty group is removed from 'statusline'.
Solution:   Do not use highlighting from a removed group.
2020-02-08 18:35:31 +01:00
d5b9914938 patch 8.2.0234: message test fails on SunOS
Problem:    Message test fails on SunOS.
Solution:   Adjust expectation for printf "%p". (Ozaki Kiichi, closes #5595)
2020-02-08 17:14:46 +01:00
4f645c54ef patch 8.2.0233: crash when using garbagecollect() in between rand()
Problem:    Crash when using garbagecollect() in between rand().
Solution:   Redesign the rand() and srand() implementation. (Yasuhiro
            Matsumoto, closes #5587, closes #5588)
2020-02-08 16:40:39 +01:00
165315584d patch 8.2.0232: the :compiler command causes a crash
Problem:    The :compiler command causes a crash. (Daniel Steinberg)
Solution:   Do not use the script index if it isn't set.
2020-02-08 16:00:46 +01:00
d02e508a18 patch 8.2.0231: silent system command may clear the screen
Problem:    Silent system command may clear the screen.
Solution:   Do not clear the screen in t_te.
2020-02-08 14:22:53 +01:00
670218839a patch 8.2.0230: terminal popup test is flaky
Problem:    Terminal popup test is flaky.
Solution:   Increase wait time a bit.
2020-02-07 22:20:53 +01:00
f2460a3aec patch 8.2.0229: compare instructions not tested
Problem:    Compare instructions not tested.
Solution:   Add test cases.  Fix disassemble with line continuation.
2020-02-07 22:09:54 +01:00
348808f7c0 patch 8.2.0228: configure does not recognize gcc version on BSD
Problem:    Configure does not recognize gcc version on BSD.
Solution:   Do not use "\+" in the pattern matching the version number. (Ozaki
            Kiichi, closes #5590)
2020-02-07 20:50:07 +01:00
c2a4b35b86 patch 8.2.0227: compiling a few instructions not tested
Problem:    Compiling a few instructions not tested.
Solution:   Add more test cases.
2020-02-06 22:41:16 +01:00
04d0522046 patch 8.2.0226: compiling for loop not tested
Problem:    Compiling for loop not tested.
Solution:   Add a test.  Make variable initialization work for more types.
2020-02-06 22:06:54 +01:00
777770fbb0 patch 8.2.0225: compiling lambda not tested yet
Problem:    compiling lambda not tested yet.
Solution:   Add test for lambda and funcref. Drop unused instruction arg.
2020-02-06 21:27:08 +01:00
158906cffc patch 8.2.0224: compiling :elseif not tested yet
Problem:    compiling :elseif not tested yet.
Solution:   Add test for :elseif.  Fix generating jumps.
2020-02-06 20:39:45 +01:00
5cab73f8cc patch 8.2.0223: some instructions not yet tested
Problem:    Some instructions not yet tested.
Solution:   Disassemble more instructions.  Move tests to a new file.  Compile
            call to s:function().
2020-02-06 19:25:19 +01:00
170fcfcf25 patch 8.2.0222: Vim9: optional function arguments don't work yet
Problem:    Vim9: optional function arguments don't work yet.
Solution:   Implement optional function arguments.
2020-02-06 17:51:35 +01:00
6e587dcbf3 patch 8.2.0221: no test for Vim9 += and ..=
Problem:    No test for Vim9 += and ..=.
Solution:   Add tests.
2020-02-06 13:15:52 +01:00
1af5ce01c3 patch 8.2.0220: terminal test did pass on Mac
Problem:    Terminal test did pass on Mac.
Solution:   Remove the skip again.
2020-02-06 11:54:35 +01:00
4af11174f7 patch 8.2.0219: terminal test still fails on Mac
Problem:    Terminal test still fails on Mac.
Solution:   Skip part of the test on Mac.
2020-02-05 23:01:34 +01:00
0de50864a7 patch 8.2.0218: several Vim9 instructions are not tested
Problem:    Several Vim9 instructions are not tested.
Solution:   Add more tests.
2020-02-05 22:55:48 +01:00
adbc11c2ee patch 8.2.0217: terminal test fails on Mac
Problem:    Terminal test fails on Mac.
Solution:   Add a short wait.
2020-02-05 22:21:08 +01:00
ff80cb6807 patch 8.2.0216: several Vim9 instructions are not tested
Problem:    Several Vim9 instructions are not tested.
Solution:   Add more tests. Fix :disassamble output. Make catch with pattern
            work.
2020-02-05 22:10:05 +01:00
a78e9c61a0 patch 8.2.0215: wrong file name shortening
Problem:    Wrong file name shortening. (Ingo Karkat)
Solution:   Better check for path separator. (Yasuhiro Matsumoto,
            closes #5583, closes #5584)
2020-02-05 21:14:00 +01:00
2e6638d5f0 patch 8.2.0214: a popup window with a terminal can be made hidden
Problem:    A popup window with a terminal can be made hidden.
Solution:   Disallow hiding a terminal popup.
2020-02-05 21:07:18 +01:00
7077892a79 patch 8.2.0213: configure does not recognize gcc 10.0 and later
Problem:    Configure does not recognize gcc 10.0 and later.
Solution:   Adjust the pattern matching the version number. (Sergei
            Trofimovich, closes #5580)
2020-02-05 20:44:24 +01:00
07ada5ff2f patch 8.2.0212: missing search/substitute pattern hardly tested
Problem:    Missing search/substitute pattern hardly tested.
Solution:   Add test_clear_search_pat() and tests. (Yegappan Lakshmanan,
            closes #5579)
2020-02-05 20:38:22 +01:00
94255df057 patch 8.2.0211: test for ANSI colors fails without an "ls" command
Problem:    Test for ANSI colors fails without an "ls" command.
Solution:   Use "dir". (Ken Takata, closes #5582)
2020-02-05 20:10:33 +01:00
eed3571fe0 patch 8.2.0210: Coverity complains about uninitialized field
Problem:    Coverity complains about uninitialized field.
Solution:   Initialize the field.
2020-02-04 23:08:14 +01:00
560979ed4f Update runtime files. 2020-02-04 22:53:05 +01:00
80147dda4f patch 8.2.0209: function a bit far away from where it's used
Problem:    Function a bit far away from where it's used.
Solution:   Move function close to where it's used. (Ken Takata, closes #5569)
2020-02-04 22:32:59 +01:00
d816cd94d8 patch 8.2.0208: fnamemodify() does not apply ":~" when followed by ":."
Problem:    Fnamemodify() does not apply ":~" when followed by ":.".
Solution:   Don't let a failing ":." cause the ":~" to be skipped. (Yasuhiro
            Matsumoto, closes #5577)
2020-02-04 22:23:09 +01:00
bfe1204312 patch 8.2.0207: crash when missing member type on list argument
Problem:    Crash when missing member type on list argument.
Solution:   Check for invalid type. (closes #5572)
2020-02-04 21:54:07 +01:00
26e117e9bc patch 8.2.0206: calling Vim9 function using default argument fails
Problem:    Calling Vim9 function using default argument fails.
Solution:   Give an appropriate error. (closes #5572)
2020-02-04 21:24:15 +01:00
a5edb670dc patch 8.2.0205: error code E899 used twice
Problem:    Error code E899 used twice.
Solution:   Use E863 for the terminal in popup error.
2020-02-03 22:58:48 +01:00
631ebc4814 patch 8.2.0204: crash when using winnr('j') in a popup window
Problem:    Crash when using winnr('j') in a popup window.
Solution:   Do not search for neighbors in a popup window. (closes #5568)
2020-02-03 22:15:26 +01:00
e20b9ececa patch 8.2.0203: :helptags and some other functionality not tested
Problem:    :helptags and some other functionality not tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5567)
2020-02-03 21:40:04 +01:00
e7ddf4e337 patch 8.2.0202: when 'lazyredraw' is set the window title may not be updated
Problem:    When 'lazyredraw' is set the window title may not be updated.
Solution:   Set "do_redraw" before entering the main loop. (Jason Franklin)
2020-02-03 21:29:30 +01:00
4e12a5df37 patch 8.2.0201: cannot assign to an imported variable
Problem:    Cannot assign to an imported variable.
Solution:   Make it work.
2020-02-03 20:50:59 +01:00
b283a8a680 patch 8.2.0200: Vim9 script commands not sufficiently tested
Problem:    Vim9 script commands not sufficiently tested.
Solution:   Add more tests.  Fix storing global variable.  Make script
            variables work.
2020-02-02 22:24:04 +01:00
0f18b6d17b patch 8.2.0199: Vim9 script commands not sufficiently tested
Problem:    Vim9 script commands not sufficiently tested.
Solution:   Add more tests.  Fix script-local function use.
2020-02-02 17:22:27 +01:00
43c60eda2a patch 8.2.0198: no tests for y/n prompt
Problem:    No tests for y/n prompt.
Solution:   Add tests. (Dominique Pelle, closes #5564)
2020-02-02 15:55:19 +01:00
ea3db914c0 patch 8.2.0197: some Ex commands not sufficiently tested
Problem:    Some Ex commands not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5565)
2020-02-02 15:32:13 +01:00
d98c0b63ab patch 8.2.0196: blocking commands for a finished job in a popup window
Problem:    Blocking commands for a finished job in a popup window.
Solution:   Do not block commands if the job has finished.  Adjust test.
2020-02-02 15:25:16 +01:00
3180fe6c6d patch 8.2.0195: some tests fail when run in the GUI
Problem:    Some tests fail when run in the GUI.
Solution:   Make sure the window width is enough.  In the GUI run terminal Vim
            in the terminal, if possible.
2020-02-02 13:47:06 +01:00
3c01c4a028 patch 8.2.0194: some commands can cause problems in terminal popup
Problem:    Some commands can cause problems in terminal popup.
Solution:   Disallow more commands.
2020-02-01 23:04:24 +01:00
284d1c24e2 patch 8.2.0193: still build failure without +terminal feature
Problem:    Still build failure without +terminal feature.
Solution:   Add more #ifdefs.
2020-02-01 22:39:32 +01:00
91cd59a0a2 patch 8.2.0192: build failure without +terminal feature
Problem:    Build failure without +terminal feature.
Solution:   Add #ifdefs.
2020-02-01 22:18:37 +01:00
219c7d0638 patch 8.2.0191: cannot put a terminal in a popup window
Problem:    Cannot put a terminal in a popup window.
Solution:   Allow opening a terminal in a popup window.  It will always have
            keyboard focus until closed.
2020-02-01 21:57:29 +01:00
ab067a21b9 patch 8.2.0190: Kotlin files are not recognized
Problem:    Kotlin files are not recognized.
Solution:   Detect Kotlin files. (Alkeryn, closes #5560)
2020-01-31 22:57:59 +01:00
7cc96923c4 patch 8.2.0189: cd() with NULL argument crashes
Problem:    cd() with NULL argument crashes.
Solution:   Check for NULL. (Ken Takata, closes #5558)
2020-01-31 22:41:38 +01:00
7f829cab35 patch 8.2.0188: Check commands don't work well with Vim9 script
Problem:    Check commands don't work well with Vim9 script.
Solution:   Improve constant expression handling.
2020-01-31 22:12:41 +01:00
0b76ad53b3 patch 8.2.0187: reduntant code
Problem:    Reduntant code.
Solution:   Remove unused assignments. (Dominique Pelle, closes #5557)
2020-01-31 21:20:51 +01:00
705724e430 patch 8.2.0186: a couple of tests may fail when features are missing
Problem:    A couple of tests may fail when features are missing.
Solution:   Check for features. (Dominique Pelle, closes #5561)
2020-01-31 21:13:42 +01:00
a259d8d30b patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Problem:    Vim9 script: cannot use "if has()" to skip lines.
Solution:   Evaluate constant expression at runtime.
2020-01-31 20:10:50 +01:00
92be6e3f46 patch 8.2.0184: blob test fails
Problem:    Blob test fails.
Solution:   Check for different error when float feature is missing.
2020-01-30 19:39:04 +01:00
5feabe00c4 patch 8.2.0183: tests fail when the float feature is disabled
Problem:    Tests fail when the float feature is disabled.
Solution:   Skip tests that don't work without float support.
2020-01-30 18:24:53 +01:00
9f2d020d39 patch 8.2.0182: min() and max() materialize a range() list
Problem:    Min() and max() materialize a range() list.
Solution:   Compute the result without materializing the list. (#5541)
2020-01-30 16:40:10 +01:00
21109272f5 patch 8.2.0181: problems parsing :term arguments
Problem:    Problems parsing :term arguments.
Solution:   Improve parsing, fix memory leak, add tests. (Ozaki Kiichi,
            closes #5536)
2020-01-30 16:27:20 +01:00
0c3064b39b patch 8.2.0180: test for wrapmargin fails if terminal is not 80 columns
Problem:    Test for wrapmargin fails if terminal is not 80 columns.
Solution:   Vertical split the window. (Ken Takata, closes #5554)
2020-01-30 16:09:25 +01:00
b09920203a patch 8.2.0179: still a few places where range() does not work
Problem:    Still a few places where range() does not work.
Solution:   Fix using range() causing problems.
2020-01-30 14:55:42 +01:00
df54382eac patch 8.2.0178: with VTP the screen may not be restored properly
Problem:    With VTP the screen may not be restored properly.
Solution:   Add another set of saved RGB values. (Nobuhiro Takasaki,
            closes #5548)
2020-01-30 11:53:59 +01:00
70b3e706b4 patch 8.2.0177: memory leak in get_tags()
Problem:    Memory leak in get_tags().
Solution:   Free matches when finding a pseudo-tag line. (Dominique Pelle,
            closes #5553)
2020-01-29 22:38:45 +01:00
e258368b4f patch 8.2.0176: generating os headers does not work for Swedish
Problem:    Generating os headers does not work for Swedish.
Solution:   Set the locale to C. (Christian Brabandt, closes #5258)
2020-01-29 22:29:40 +01:00
db661fb95d patch 8.2.0175: crash when removing list element in map()
Problem:    Crash when removing list element in map().
Solution:   Lock the list. (closes #2652)
2020-01-29 22:17:16 +01:00
5d98dc2a48 patch 8.2.0174: various commands not completely tested
Problem:    Various commands not completely tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #5551)
2020-01-29 21:57:34 +01:00
0ff6aad393 patch 8.2.0173: build fails with old compiler
Problem:    Build fails with old compiler.
Solution:   Do not use anonymous unions. (John Marriott)
2020-01-29 21:27:21 +01:00
4549ece47c patch 8.2.0172: Coverity warning for not restoring character
Problem:    Coverity warning for not restoring character.
Solution:   Restore the character also in case of failure.
2020-01-28 23:13:42 +01:00
9a5e5a3e33 patch 8.2.0171: Coverity warning for using uninitialized buffer
Problem:    Coverity warning for using uninitialized buffer.
Solution:   Check the skip flag.
2020-01-28 23:09:23 +01:00
a6d536829a patch 8.2.0170: Coverity warning for ignoring return value
Problem:    Coverity warning for ignoring return value.
Solution:   Check the return value and return if failed.
2020-01-28 23:04:06 +01:00
8cbd6dfc0c patch 8.2.0169: Coverity warning for dead code
Problem:    Coverity warning for dead code.
Solution:   Check if inside try-finally.
2020-01-28 22:59:45 +01:00
97a2af39cd patch 8.2.0168: Coverity warning for assigning NULL to an option
Problem:    Coverity warning for assigning NULL to an option.
Solution:   Use empty string instead of NULL.
2020-01-28 22:52:48 +01:00
58ceca5cae patch 8.2.0167: Coverity warning for ignoring return value
Problem:    Coverity warning for ignoring return value.
Solution:   Check the return value and jump if failed.
2020-01-28 22:46:22 +01:00
07da94b0f0 patch 8.2.0166: Coverity warning for using uninitialized variable
Problem:    Coverity warning for using uninitialized variable.
Solution:   Check for failure.
2020-01-28 22:39:19 +01:00
5b18c248d3 patch 8.2.0165: Coverity warning for using NULL pointer
Problem:    Coverity warning for using NULL pointer.
Solution:   Add missing "else".
2020-01-28 22:30:32 +01:00
842931cd7a patch 8.2.0164: test_alot takes too long
Problem:    Test_alot takes too long.
Solution:   Run several tests individually.
2020-01-28 21:53:28 +01:00
272ca95fc3 patch 8.2.0163: test hangs on MS-Windows console
Problem:    Test hangs on MS-Windows console.
Solution:   use feedkeys() instead of test_feedinput(). (Ken Takata)
2020-01-28 20:49:11 +01:00
7d8ea0b241 patch 8.2.0162: balloon test fails in the GUI
Problem:    Balloon test fails in the GUI.
Solution:   Skip test in the GUI.
2020-01-27 23:01:30 +01:00
f8ddb25789 patch 8.2.0161: not recognizing .gv file as dot filetype
Problem:    Not recognizing .gv file as dot filetype.
Solution:   Add *.gv to dot pattern. (closes #5544)
2020-01-27 22:47:09 +01:00
89bfc8218c patch 8.2.0160: range test fails
Problem:    Range test fails.
Solution:   Include change in list code. (#5541)
2020-01-27 22:37:23 +01:00
50985eb1f0 patch 8.2.0159: non-materialized range() list causes problems
Problem:    Non-materialized range() list causes problems. (Fujiwara Takuya)
Solution:   Materialize the list where needed.
2020-01-27 22:09:39 +01:00
3f169ce17e patch 8.2.0158: triggering CompleteDone earlier is not backwards compatible
Problem:    Triggering CompleteDone earlier is not backwards compatible.
            (Daniel Hahler)
Solution:   Add CompleteDonePre instead.
2020-01-26 22:43:31 +01:00
318e7a9c03 patch 8.2.0157: Vim9 script files not in list of distributed files
Problem:    Vim9 script files not in list of distributed files.
Solution:   Add the entries.
2020-01-26 22:05:06 +01:00
4b96df5a01 patch 8.2.0156: various typos in source files and tests
Problem:    Various typos in source files and tests.
Solution:   Fix the typos. (Emir Sari, closes #5532)
2020-01-26 22:00:26 +01:00
a5d5953d59 patch 8.2.0155: warnings from MinGW compiler; tests fail without +float
Problem:    Warnings from MinGW compiler. (John Marriott) Json test fails when
            building without +float feature.
Solution:   Init variables. Fix Json parsing. Skip a few tests that require
            the +float feature.
2020-01-26 21:42:03 +01:00
21b9e9773d patch 8.2.0154: reallocating the list of scripts is inefficient
Problem:    Reallocating the list of scripts is inefficient.
Solution:   Instead of using a growarray of scriptitem_T, store pointers and
            allocate each scriptitem_T separately.  Also avoids that the
            growarray pointers change when sourcing a new script.
2020-01-26 19:26:46 +01:00
b3de5114ac patch 8.2.0153: warning shows when listing version info
Problem:    Warning shows when listing version info.
Solution:   Use "-u NONE". (Ozaki Kiichi, closes #5534)
2020-01-26 18:56:34 +01:00
da812e282a patch 8.2.0152: restoring ctrl_x_mode is not needed
Problem:    Restoring ctrl_x_mode is not needed.
Solution:   Remove restoring the old value, it's changed again soon.
2020-01-26 18:35:31 +01:00
978d170bdc patch 8.2.0151: detecting a script was already sourced is unreliable
Problem:    Detecting a script was already sourced is unreliable.
Solution:   Do not use the inode number.
2020-01-26 17:38:12 +01:00
673660ab00 patch 8.2.0150: cannot define python function when using :execute
Problem:    Cannot define python function when using :execute. (Yasuhiro
            Matsumoto)
Solution:   Do not recognize "def" inside "function.
2020-01-26 16:50:05 +01:00
8a7d6542b3 patch 8.2.0149: maintaining a Vim9 branch separately is more work
Problem:    Maintaining a Vim9 branch separately is more work.
Solution:   Merge the Vim9 script changes.
2020-01-26 15:56:19 +01:00
1d9215b9aa Update runtime files. 2020-01-25 13:27:42 +01:00
7f51bbe0d1 patch 8.2.0148: mapping related function in wrong source file
Problem:    Mapping related function in wrong source file.
Solution:   Move the function.  Add a few more test cases. (Yegappan
            Lakshmanan, closes #5528)
2020-01-24 20:21:19 +01:00
03c3bd9fd0 patch 8.2.0147: block Visual mode operators not correct when 'linebreak' set
Problem:    Block Visual mode operators not correct when 'linebreak' set.
Solution:   Set w_p_lbr to lbr_saved more often. (Ken Takata, closes #5524)
2020-01-23 20:58:09 +01:00
dfede9a70b patch 8.2.0146: wrong indent when 'showbreak' and 'breakindent' are set
Problem:    Wrong indent when 'showbreak' and 'breakindent' are set and
            'briopt' includes "sbr".
Solution:   Reset "need_showbreak" where needed. (Ken Takata, closes #5523)
2020-01-23 19:59:22 +01:00
2c02d3843a patch 8.2.0145: using #error for compilation errors should be OK now
Problem:    Using #error for compilation errors should be OK now.
Solution:   Use #error. (Ken Takata, closes #5299)
2020-01-23 16:52:01 +01:00
c2a60ae10e patch 8.2.0144: some mapping code is not fully tested
Problem:    Some mapping code is not fully tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #5519)
2020-01-23 16:19:54 +01:00
81c3ea7496 patch 8.2.0143: Coverity warning for possible use of NULL pointer
Problem:    Coverity warning for possible use of NULL pointer.
Solution:   Check argv is not NULL.
2020-01-23 15:48:42 +01:00
8bf716cdba patch 8.2.0142: possible to enter popup window with CTRL-W p
Problem:    Possible to enter popup window with CTRL-W p. (John Devin)
Solution:   Check entered window is not a popup window. (closes #5515)
2020-01-23 15:33:54 +01:00
0d76683e09 patch 8.2.0141: no swift filetype detection
Problem:    No swift filetype detection.
Solution:   Add swift, swiftgyb and sil. (Emir Sarı, closes #5517)
2020-01-22 22:10:54 +01:00
ade0d39468 Update runtime files. 2020-01-21 22:33:58 +01:00
2387773d93 patch 8.2.0140: CI does not test building doc tags
Problem:    CI does not test building doc tags.
Solution:   Add the vimtags/gcc build. Cleanup showing version. (Ozaki Kiichi,
            closes #5513)
2020-01-21 22:13:42 +01:00
f0764e8bb6 patch 8.2.0139: MS-Windows: default for IME is inconsistent
Problem:    MS-Windows: default for IME is inconsistent.
Solution:   Also make IME default enabled with MVC. (Ken Takata, closes #5508)
2020-01-20 22:05:34 +01:00
538feb56e8 patch 8.2.0138: memory leak when starting a job fails
Problem:    Memory leak when starting a job fails.
Solution:   Free the list of arguments. (Ozaki Kiichi, closes #5510)
2020-01-20 21:59:39 +01:00
a44b3eeafa patch 8.2.0137: crash when using win_execute() from a new tab
Problem:    Crash when using win_execute() from a new tab.
Solution:   Set the tp_*win pointers. (Ozaki Kiichi, closes #5512)
2020-01-20 21:44:31 +01:00
ed5adff1e6 patch 8.2.0136: stray ch_logfile() call
Problem:    Stray ch_logfile() call.
Solution:   Remove it. (closes #5503)
2020-01-20 21:32:51 +01:00
fe4bbac116 patch 8.2.0135: bracketed paste can still cause invalid memory access
Problem:    Bracketed paste can still cause invalid memory access. (Dominique
            Pelle)
Solution:   Check for NULL pointer.
2020-01-20 21:12:20 +01:00
8ba6bb7c94 patch 8.2.0134: some map functionality not covered by tests
Problem:    Some map functionality not covered by tests.
Solution:   Add tests. (Yegappan Lakshmanan, closes #5504)
2020-01-20 20:41:42 +01:00
98a336dd49 patch 8.2.0133: invalid memory access with search command
Problem:    Invalid memory access with search command.
Solution:   When :normal runs out of characters in bracketed paste mode break
            out of the loop.(closes #5511)
2020-01-20 20:22:30 +01:00
ca33eb256e patch 8.2.0132: script may be re-used when deleting and creating a new one
Problem:    Script may be re-used when deleting and creating a new one.
Solution:   When the inode matches, also check the file name.
2020-01-19 20:18:09 +01:00
479950f6c9 patch 8.2.0131: command line is not cleared when switching tabs
Problem:    Command line is not cleared when switching tabs and the command
            line height differs.
Solution:   Set the "clear_cmdline" flag when needed. (Naruhiko Nishino,
            closes #5495)
2020-01-19 15:45:17 +01:00
904edabb64 patch 8.2.0130: Python3 ranges are not tested
Problem:    Python3 ranges are not tested.
Solution:   Add test. (Dominique Pelle, closes #5498)
2020-01-19 13:57:54 +01:00
1a928c2099 patch 8.2.0129: MS-Windows installer doesn't use Turkish translations
Problem:    MS-Windows installer doesn't use Turkish translations.
Solution:   Enable the Turkish translations and fix a few. (Emir Sarı,
            closes #5493)
2020-01-18 16:10:40 +01:00
6b915c0c0e patch 8.2.0128: cannot list options one per line
Problem:    Cannot list options one per line.
Solution:   Use ":set!" to list one option per line.
2020-01-18 15:53:19 +01:00
3029bcc094 patch 8.2.0127: some buffer commands work in a popup window
Problem:    Some buffer commands work in a popup window.
Solution:   Disallow :bnext, :bprev, etc. (Naruhiko Nishino, closes #5494)
2020-01-18 15:06:19 +01:00
94b6fb78c5 patch 8.2.0126: textprop test fails
Problem:    Textprop test fails.
Solution:   Fix sign in computation.
2020-01-17 21:00:59 +01:00
3c71aec696 patch 8.2.0125: :mode no longer works for any system
Problem:    :mode no longer works for any system.
Solution:   Always give an error message.
2020-01-17 19:32:20 +01:00
109ef128bd patch 8.2.0124: compiler warnings for variable types
Problem:    Compiler warnings for variable types.
Solution:   Change type, add type cast. (Mike Williams)
2020-01-17 19:12:03 +01:00
17e04781f2 patch 8.2.0123: complete_info() does not work when CompleteDone is triggered
Problem:    complete_info() does not work when CompleteDone is triggered.
Solution:   Trigger CompleteDone before clearing the info.
2020-01-17 18:58:59 +01:00
f2a44e5c48 patch 8.2.0122: readme files still mention MS-DOS
Problem:    Readme files still mention MS-DOS.
Solution:   Update readme files. (Ken Takata, closes #5486)
2020-01-16 19:40:38 +01:00
49c57ce500 patch 8.2.0121: filter() and map() on blob don't work
Problem:    filter() and map() on blob don't work.
Solution:   Correct the code. (closes #5483)
2020-01-15 20:51:34 +01:00
b3d33d8570 patch 8.2.0120: virtcol() does not check arguments to be valid
Problem:    virtcol() does not check arguments to be valid, which may lead to
            a crash.
Solution:   Check the column to be valid.  Do not decrement MAXCOL.
            (closes #5480)
2020-01-15 20:36:55 +01:00
1470dc35c4 patch 8.2.0119: message test fails on some platforms
Problem:    Message test fails on some platforms. (Elimar Riesebieter)
Solution:   Add type cast to vim_snprintf() argument. (Dominique Pelle)
2020-01-14 22:02:14 +01:00
ca7c078b79 patch 8.2.0118: crash when cycling to buffers involving popup window
Problem:    Crash when cycling to buffers involving popup window .
Solution:   Do not decrement buffer reference count.
2020-01-14 20:42:48 +01:00
8024f93636 Update runtime files. 2020-01-14 19:29:13 +01:00
ee93b737aa patch 8.2.0117: crash when using gettabwinvar() with invalid arguments
Problem:    Crash when using gettabwinvar() with invalid arguments. (Yilin
            Yang)
Solution:   Use "curtab" if "tp" is NULL. (closes #5475)
2020-01-14 19:05:39 +01:00
c10b521628 patch 8.2.0116: BufEnter autocmd not triggered on ":tab drop"
Problem:    BufEnter autocmd not triggered on ":tab drop". (Andy Stewart)
Solution:   Decrement autocmd_no_enter for the last file. (closes #1660,
            closes #5473)
2020-01-13 20:54:51 +01:00
9df53b62de patch 8.2.0115: byte2line() does not work correctly with text properties
Problem:    Byte2line() does not work correctly with text properties. (Billie
            Cleek)
Solution:   Take the bytes of the text properties into account.
            (closes #5334)
2020-01-13 20:40:51 +01:00
7ebcba61b2 patch 8.2.0114: info about sourced scripts is scattered
Problem:    Info about sourced scripts is scattered.
Solution:   Use scriptitem_T for info about a script, including s: variables.
            Drop ga_scripts.
2020-01-12 17:42:55 +01:00
9b24dfcb9f patch 8.2.0113: "make cmdidxs" fails
Problem:    "make cmdidxs" fails.
Solution:   Allow address for ":cquit".  Add --not-a-term to avoid a delay.
2020-01-12 15:46:08 +01:00
02ad46394e patch 8.2.0112: illegal memory access when using 'cindent'
Problem:    Illegal memory access when using 'cindent'.
Solution:   Check for NUL byte. (Dominique Pelle, closes #5470)
2020-01-12 13:48:18 +01:00
9b4a15d5db patch 8.2.0111: VAR_SPECIAL is also used for booleans
Problem:    VAR_SPECIAL is also used for booleans.
Solution:   Add VAR_BOOL for better type checking.
2020-01-11 16:05:23 +01:00
e05a89ac63 patch 8.2.0110: prop_find() is not implemented
Problem:    prop_find() is not implemented.
Solution:   Implement prop_find(). (Ryan Hackett, closes #5421, closes #4970)
2020-01-10 19:56:46 +01:00
2963456ff2 Update runtime files. 2020-01-09 21:46:04 +01:00
ac15fd8c67 patch 8.2.0109: corrupted text properties when expanding spaces
Problem:    Corrupted text properties when expanding spaces.
Solution:   Reallocate the line. (Nobuhiro Takasaki, closes #5457)
2020-01-09 21:35:48 +01:00
bf0acff012 patch 8.2.0108: when sign text is changed a manual redraw is needed
Problem:    When sign text is changed a manual redraw is needed. (Pontus
            Lietzler)
Solution:   Redraw automatically. (closes #5455)
2020-01-09 21:01:59 +01:00
4ba6441818 patch 8.2.0107: hgignore is out of sync from gitignore
Problem:    Hgignore is out of sync from gitignore.
Solution:   Add lines to hgignore. (Ken Takata)
2020-01-09 16:25:52 +01:00
b16ad96849 patch 8.2.0106: printf formats are not exactly right
Problem:    Printf formats are not exactly right.
Solution:   Adjust signed/unsigned conversions. (Frazer Clews, closes #5456)
2020-01-08 22:06:14 +01:00
c838626fea patch 8.2.0105: Vim license not easy to find on github
Problem:    Vim license not easy to find on github.
Solution:   Add a separate LICENCE file. (closes #5458)
2020-01-08 21:43:02 +01:00
b662591e50 patch 8.2.0104: using channel or job with ":execute" has strange effects
Problem:    Using channel or job with ":execute" has strange effects.
Solution:   Give an error message for Job and Channel.
2020-01-08 20:09:01 +01:00
e2a8f0773e patch 8.2.0103: using null object with execute() has strange effects
Problem:    Using null object with execute() has strange effects.
Solution:   Give an error message ofr Job and Channel.
2020-01-08 19:32:18 +01:00
da292b07af patch 8.2.0102: messages test fails in small version
Problem:    Messages test fails in small version.
Solution:   Only use test_null_job() when available.
2020-01-08 19:27:40 +01:00
9db2afe46d patch 8.2.0101: crash when passing null object to ":echomsg"
Problem:    Crash when passing null object to ":echomsg".
Solution:   Check for NULL pointer. (Yasuhiro Matsumoto, closes #5460)
2020-01-08 18:56:20 +01:00
41a4141ecb patch 8.2.0100: macros for Ruby are too complicated
Problem:    Macros for Ruby are too complicated.
Solution:   Do not use DYNAMIC_RUBY_VER, use RUBY_VERSION. (Ken Takata,
            closes #5452)
2020-01-07 21:32:19 +01:00
8b7aa2f9b2 patch 8.2.0099: use of NULL pointer when out of memory
Problem:    Use of NULL pointer when out of memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes #5449)
2020-01-07 21:05:49 +01:00
e31ee86859 patch 8.2.0098: exe stack length can be wrong without being detected
Problem:    Exe stack length can be wrong without being detected.
Solution:   Add a check when ABORT_ON_INTERNAL_ERROR is defined.
2020-01-07 20:59:34 +01:00
ce6db0273f patch 8.2.0097: crash with autocommand and spellfile
Problem:    Crash with autocommand and spellfile. (Tim Pope)
Solution:   Do not pop exestack when not pushed. (closes #5450)
2020-01-07 20:11:42 +01:00
fbcdf671f0 patch 8.2.0096: cannot create tiny popup window in last column
Problem:    Cannot create tiny popup window in last column. (Daniel Steinberg)
Solution:   Remove position limit. (closes #5447)
2020-01-06 23:07:48 +01:00
1860bde9d3 patch 8.2.0095: cannot specify exit code for :cquit
Problem:    Cannot specify exit code for :cquit.
Solution:   Add optional argument. (Thinca, Yegappan Lakshmanan, closes #5442)
2020-01-06 21:47:21 +01:00
e73b38f8e1 patch 8.2.0094: MS-Windows: cannot build with Strawberry Perl 5.30
Problem:    MS-Windows: cannot build with Strawberry Perl 5.30.
Solution:   Define __builtin_expect() as a workaround. (Ken Takata,
            closes #5267)
2020-01-06 21:22:09 +01:00
7b94e77132 patch 8.2.0093: win_splitmove() can make Vim hang
Problem:    win_splitmove() can make Vim hang.
Solution:   Check windows exists in the current tab page. (closes #5444)
2020-01-06 21:03:24 +01:00
a1353b5352 patch 8.2.0092: tags functionality insufficiently tested
Problem:    Tags functionality insufficiently tested.
Solution:   Add more tags tests. (Yegappan Lakshmanan, closes #5446)
2020-01-06 20:09:13 +01:00
4d7a248b64 patch 8.2.0091: compiler warnings for size_t / int types
Problem:    Compiler warnings for size_t / int types.
Solution:   Change type to size_t. (Mike Williams)
2020-01-06 19:53:43 +01:00
b376ace1ae patch 8.2.0090: generated files show up in git status
Problem:    Generated files show up in git status.
Solution:   Ignore a few more files.
2020-01-05 22:10:31 +01:00
f0f8055102 patch 8.2.0089: crash when running out of memory in :setfiletype completion
Problem:    Crash when running out of memory in :setfiletype completion.
Solution:   Do not allocate memory. (Dominique Pelle, closes #5438)
2020-01-05 22:05:49 +01:00
830c1afc9d patch 8.2.0088: insufficient tests for tags; bug in using extra tag field
Problem:    Insufficient tests for tags; bug in using extra tag field when
            using an ex command to position the cursor.
Solution:   Fix the bug, add more tests. (Yegappan Lakshmanan, closes #5439)
2020-01-05 20:35:44 +01:00
61d7c0d52c patch 8.2.0087: crash in command line expansion when out of memory
Problem:    Crash in command line expansion when out of memory.
Solution:   Check for NULL pointer.  Also make ExpandGeneric() static.
            (Dominique Pelle, closes #5437)
2020-01-05 14:38:40 +01:00
ab782c5b6f patch 8.2.0086: build error for small version
Problem:    Build error for small version. (Tony Mechelynck)
Solution:   Only use "user_data" with the +eval feature. Remove unused
            variable.
2020-01-04 19:00:11 +01:00
3d8a513b46 patch 8.2.0085: dead code in builtin functions
Problem:    Dead code in builtin functions.
Solution:   Clean up the code.
2020-01-04 16:13:49 +01:00
0892832bb6 patch 8.2.0084: complete item "user_data" can only be a string
Problem:    Complete item "user_data" can only be a string.
Solution:   Accept any type of variable. (closes #5412)
2020-01-04 14:32:48 +01:00
5cb0b93d52 patch 8.2.0083: text properties wrong when tabs and spaces are exchanged
Problem:    Text properties wrong when tabs and spaces are exchanged.
Solution:   Take text properties into account. (Nobuhiro Takasaki,
            closes #5427)
2020-01-03 21:25:59 +01:00
f10997a154 patch 8.2.0082: when reusing a buffer listeners are not cleared
Problem:    When reusing a buffer listeners are not cleared. (Axel Forsman)
Solution:   Clear listeners when reusing a buffer. (closes #5431)
2020-01-03 21:00:02 +01:00
467c32bd72 patch 8.2.0081: MS-Windows also need the change to support INIT4()
Problem:    MS-Windows also need the change to support INIT4().
Solution:   Add the ctags arguments. (Ken Takata)
2020-01-03 19:12:09 +01:00
509ff0688d patch 8.2.0080: globals using INIT4() are not in the tags file
Problem:    Globals using INIT4() are not in the tags file.
Solution:   Adjust the tags command.
2020-01-02 22:38:49 +01:00
d7df279808 Update a few runtime files. 2020-01-02 21:34:42 +01:00
7fc4785ea1 patch 8.2.0079: Python 3 unicode test still fails on MS-Windows
Problem:    Python 3 unicode test still fails on MS-Windows.
Solution:   Do not set 'encoding' to "euc-tw" on MS-Windows.
2020-01-02 16:38:07 +01:00
b9adef79ec patch 8.2.0078: expanding <sfile> works differently the second time
Problem:    Expanding <sfile> works differently the second time.
Solution:   Keep the expanded name when redefining a function. (closes #5425)
2020-01-02 14:31:22 +01:00
271fa08a35 patch 8.2.0077: settagstack() cannot truncate at current index
Problem:    settagstack() cannot truncate at current index.
Solution:   Add the "t" action. (Yegappan Lakshmanan, closes #5417)
2020-01-02 14:02:16 +01:00
955f4e6f36 patch 8.2.0076: Python 3 unicode test fails on MS-Windows
Problem:    Python 3 unicode test fails on MS-Windows.
Solution:   Do not set 'encoding' to "debug" on MS-Windows.
2020-01-01 17:44:56 +01:00
2466aea508 patch 8.2.0075: Python 3 unicode test still sometimes fails
Problem:    Python 3 unicode test still sometimes fails.
Solution:   Skip the test when 'termencoding' is not empty.
2020-01-01 17:09:11 +01:00
4b7cdca230 patch 8.2.0074: Python 3 unicode test someitmes fails
Problem:    Python 3 unicode test someitmes fails.
Solution:   Make 'termencoding' empty.  Correct number of error message.
2020-01-01 16:18:38 +01:00
ea8b7aecab patch 8.2.0073: initializing globals with COMMA is clumsy
Problem:    Initializing globals with COMMA is clumsy.
Solution:   Use INIT2(), INIT3(), etc.
2020-01-01 15:46:47 +01:00
bb062c1588 patch 8.2.0072: memory test still fails on Cirrus CI
Problem:    Memory test still fails on Cirrus CI.
Solution:   Allow for a tiny bit more tolerance in the upper limit.
2020-01-01 15:26:32 +01:00
1832d12aea patch 8.2.0071: memory test often fails on Cirrus CI
Problem:    Memory test often fails on Cirrus CI.
Solution:   Allow for more tolerance in the upper limit.  Remove sleep.
2020-01-01 15:17:25 +01:00
d518f952f0 patch 8.2.0070: crash when using Python 3 with "debug" encoding
Problem:    Crash when using Python 3 with "debug" encoding. (Dominique Pelle)
Solution:   Use "euc-jp" whenever enc_dbcs is set.
2020-01-01 15:04:17 +01:00
87396072c5 patch 8.2.0069: ETYPE_ is used for two different enums
Problem:    ETYPE_ is used for two different enums.
Solution:   Rename one to use EXPR_.
2019-12-31 22:36:18 +01:00
556684ff71 patch 8.2.0068: crash when using Python 3 with "utf32" encoding
Problem:    Crash when using Python 3 with "utf32" encoding. (Dominique Pelle)
Solution:   Use "utf-8" whenever enc_utf8 is set. (closes #5423)
2019-12-31 21:59:01 +01:00
ef140544f6 patch 8.2.0067: ERROR_UNKNOWN clashes on some systems
Problem:    ERROR_UNKNOWN clashes on some systems.
Solution:   Rename ERROR_ to FCERR_. (Ola Söder, closes #5415)
2019-12-31 21:27:13 +01:00
d2c946bacf patch 8.2.0066: some corners of vim_snprintf() are not tested
Problem:    Some corners of vim_snprintf() are not tested.
Solution:   Add a test in C. (Dominique Pelle, closes #5422)
2019-12-31 19:24:51 +01:00
dba7c85b61 patch 8.2.0065: Amiga and alikes: autoopen only used on Amiga OS4
Problem:    Amiga and alikes: autoopen only used on Amiga OS4.
Solution:   Adjust #ifdefs. (Ola Söder, closes #5413)
2019-12-30 22:33:17 +01:00
efcc329020 patch 8.2.0064: diffmode completion doesn't use per-window setting
Problem:    Diffmode completion doesn't use per-window setting.
Solution:   Check if a window is in diff mode. (Dominique Pell, closes #5419)
2019-12-30 21:59:03 +01:00
08b28b7ad5 patch 8.2.0063: wrong size argument to vim_snprintf()
Problem:    Wrong size argument to vim_snprintf(). (Dominique Pelle)
Solution:   Reduce the size by the length. (related to #5410)
2019-12-30 20:42:39 +01:00
e7538ae997 patch 8.2.0062: memory test is flaky on FreeBSD
Problem:    Memory test is flaky on FreeBSD.
Solution:   Add a short sleep before getting the first size.
2019-12-30 19:59:24 +01:00
3fbcc128cb patch 8.2.0061: the execute stack can grow big and never shrinks
Problem:    The execute stack can grow big and never shrinks.
Solution:   Reduce the size in gargage collect.
2019-12-30 19:19:53 +01:00
d0337e360e patch 8.2.0060: message test only runs with one encoding
Problem:    Message test only runs with one encoding. (Dominique Pelle)
Solution:   Run the test with "utf-8" and "latin1".  Fix underflow. (related
            to #5410)
2019-12-30 17:55:34 +01:00
85b0957616 patch 8.2.0059: compiler warnings for unused variables in small build
Problem:    Compiler warnings for unused variables in small build. (Tony
            Mechelynck)
Solution:   Add #ifdef.
2019-12-30 10:57:00 +01:00
eb698d0b32 patch 8.2.0058: running tests changes ~/.viminfo
Problem:    Running tests changes ~/.viminfo.
Solution:   Make 'viminfo' empty when summarizing tests results. (closes #5414)
2019-12-30 00:07:57 +01:00
09d4640f6c patch 8.2.0057: cannot build with small features
Problem:    Cannot build with small features.
Solution:   Add #ifdefs.
2019-12-29 23:53:01 +01:00
1a47ae32cd patch 8.2.0056: execution stack is incomplete and inefficient
Problem:    Execution stack is incomplete and inefficient.
Solution:   Introduce a proper execution stack and use it instead of
            sourcing_name/sourcing_lnum.  Create a string only when used.
2019-12-29 23:04:25 +01:00
257a396879 patch 8.2.0055: cannot use ":gui" in vimrc with VIMDLL enabled
Problem:    Cannot use ":gui" in vimrc with VIMDLL enabled.
Solution:   Change the logic, check "gui.starting". (Ken Takata, closes #5408)
2019-12-29 15:19:03 +01:00
ae7dba8969 patch 8.2.0054: :diffget and :diffput don't have good completion
Problem:    :diffget and :diffput don't have good completion.
Solution:   Add proper completion. (Dominique Pelle, closes #5409)
2019-12-29 13:56:33 +01:00
e20e68b40d patch 8.2.0053: windowsversion() does not always return the right value
Problem:    windowsversion() does not always return the right value.
Solution:   Add a compatibility section in the manifest. (Ken Takata,
            closes #5407)
2019-12-29 13:43:54 +01:00
c6d539b671 patch 8.2.0052: more-prompt not properly tested
Problem:    More-prompt not properly tested.
Solution:   Add a test case. (Dominique Pelle, closes #5404)
2019-12-28 17:10:46 +01:00
731a799bb9 patch 8.2.0051: command line completion test skipped
Problem:    Command line completion test skipped. (Christian Brabandt)
Solution:   Invert condition.
2019-12-28 14:06:50 +01:00
8cd6cd8087 patch 8.2.0050: after deleting a file mark it is still in viminfo
Problem:    After deleting a file mark it is still in viminfo.
Solution:   When a file mark was deleted more recently than the mark in the
            merged viminfo file was updated, do not store the mark. (Pavol
            Juhas, closes #5401, closes #1339)
2019-12-27 17:33:26 +01:00
297610ba4b patch 8.2.0049: command line completion not fully tested
Problem:    Command line completion not fully tested.
Solution:   Add more test cases.  Make help sorting stable. (Dominique Pelle,
            closes #5402)
2019-12-27 17:20:55 +01:00
5c463a28ff patch 8.2.0048: another timers test is flaky on Travis for Mac
Problem:    Another timers test is flaky on Travis for Mac.
Solution:   Increase maximum expected time.
2019-12-27 17:14:33 +01:00
0c1e3744ff patch 8.2.0047: cannot skip tests for specific MS-Windows platform
Problem:    Cannot skip tests for specific MS-Windows platform.
Solution:   Add windowsversion().
2019-12-27 13:49:24 +01:00
5666fcd0bd Update runtime files. 2019-12-26 14:35:26 +01:00
767340574b patch 8.2.0046: tests for spell suggestions are slow
Problem:    Tests for spell suggestions are slow.
Solution:   Use shorter words. Test with latin1 and utf-8 to cover more code.
            (Dominique Pelle, closes #5399)
2019-12-26 14:30:15 +01:00
ec57ec692e patch 8.2.0045: script test fails
Problem:    Script test fails.
Solution:   For numbers "is" and "isnot" work like "==" and "!=".
2019-12-25 19:33:22 +01:00
07a3db89b8 patch 8.2.0044: expression type is used inconsistently
Problem:    Expression type is used inconsistently.
Solution:   Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values.  Rename
            "TYPE_" to "ETYPE_" to avoid confusion.
2019-12-25 18:14:14 +01:00
818fed7a5e patch 8.2.0043: timers test is still flaky on Travis for Mac
Problem:    Timers test is still flaky on Travis for Mac.
Solution:   Increase maximum expected time.
2019-12-25 15:47:14 +01:00
eac7ce01e9 patch 8.2.0042: clearing funccal values twice
Problem:    Clearing funccal values twice.
Solution:   Remove clearing individual fields.
2019-12-25 15:04:03 +01:00
6c52f82371 patch 8.2.0041: leaking memory when selecting spell suggestion
Problem:    Leaking memory when selecting spell suggestion.
Solution:   Free previous value at the right time.
2019-12-25 14:13:03 +01:00
03af01f1cb patch 8.2.0040: timers test is still flaky on Travis for Mac
Problem:    Timers test is still flaky on Travis for Mac.
Solution:   Run separately instead of as part of test_alot.
2019-12-25 13:59:51 +01:00
569fea2c31 patch 8.2.0039: memory access error when "z=" has no suggestions
Problem:    Memory access error when "z=" has no suggestions.
Solution:   Check for negative index.
2019-12-25 13:55:24 +01:00
e9a8d1f9ad patch 8.2.0038: spell suggestions insufficiently tested
Problem:    Spell suggestions insufficiently tested.
Solution:   Add spell suggestion tests. (Dominique Pelle, closes #5398)
2019-12-25 13:36:36 +01:00
1500a42c42 patch 8.2.0037: missing renamed message
Problem:    Missing renamed message.
Solution:   Now really add the error number.
2019-12-24 15:38:21 +01:00
49d68bf5e4 patch 8.2.0036: not enough test coverage for match functions
Problem:    Not enough test coverage for match functions.
Solution:   Add a few more test cases.  (Dominique Pelle, closes #5394)
            Add error number.
2019-12-24 15:17:00 +01:00
53989554a4 patch 8.2.0035: saving and restoring called_emsg is clumsy
Problem:    Saving and restoring called_emsg is clumsy.
Solution:   Count the number of error messages.
2019-12-23 22:59:18 +01:00
70188f5b23 patch 8.2.0034: missing check for out of memory
Problem:    Missing check for out of memory.
Solution:   Check for NULL after vim_strsave(). (Dominique Pelle,
            closes #5393)
2019-12-23 18:18:52 +01:00
7c77b34967 patch 8.2.0033: crash when make_extmatch() runs out of memory
Problem:    Crash when make_extmatch() runs out of memory.
Solution:   Check for NULL. (Dominique Pelle, closs #5392)
2019-12-22 19:40:40 +01:00
7c2a2f869b patch 8.2.0032: MS-Windows: test for blank job fails
Problem:    MS-Windows: test for blank job fails
Solution:   Check before escaping.
2019-12-22 18:28:51 +01:00
ba0a7475c5 patch 8.2.0031: MS-Windows: test for empty job fails
Problem:    MS-Windows: test for empty job fails
Solution:   Check for error message, make it also fail on Unix.
2019-12-22 16:09:06 +01:00
64e74c9cc7 patch 8.2.0030: "gF" does not work on output of "verbose command"
Problem:    "gF" does not work on output of "verbose command".
Solution:   Recognize " line " and translations. (closes #5391)
2019-12-22 15:38:06 +01:00
a27655ef6d patch 8.2.0029: MS-Windows: crash with empty job command
Problem:    MS-Windows: crash with empty job command.
Solution:   Check for NULL result. (Yasuhiro Matsumoto, closes #5390)
2019-12-21 22:22:01 +01:00
3ba35409a6 patch 8.2.0028: searchpairpos() is not tested
Problem:    Searchpairpos() is not tested.
Solution:   Add tests.  Also improve searchpair() testing. (Dominique Pelle,
            closes #5388)
2019-12-21 22:00:50 +01:00
aa2f0ee639 patch 8.2.0027: still some /* */ comments
Problem:    Still some /* */ comments.
Solution:   Convert to // comments.
2019-12-21 18:47:26 +01:00
85a2002adb patch 8.2.0026: still some /* */ comments
Problem:    Still some /* */ comments.
Solution:   Convert to // comments.
2019-12-21 18:25:54 +01:00
fe72d08400 patch 8.2.0025: repeated word in comment
Problem:    Repeated word in comment.
Solution:   Remove one. (Rene Nyffenegger, closes #5384)
2019-12-20 19:07:00 +01:00
95a9dd1efc Update runtime files. 2019-12-19 22:12:03 +01:00
a4ce82fe2e patch 8.2.0024: filetype Rego not recognized
Problem:    Filetype Rego not recognized.
Solution:   Add *.rego. (Matt Dunford, closes #5376)
2019-12-19 15:57:42 +01:00
59cb041d0a patch 8.2.0023: command line editing not sufficiently tested
Problem:    Command line editing not sufficiently tested.
Solution:   Add more tests. (Dominique Pelle, closes #5374)
2019-12-18 22:26:31 +01:00
0ce3733f78 patch 8.2.0022: click in popup window doesn't close it in the GUI
Problem:    Click in popup window doesn't close it in the GUI. (Sergey Vlasov)
Solution:   When processing the selection also send a button release event.
            (closes #5367)
2019-12-18 21:33:22 +01:00
bc28e9f15b patch 8.2.0021: timer test fails too often on Travis with MacOS
Problem:    Timer test fails too often on Travis with MacOS.
Solution:   Be less strict with the time.
2019-12-18 20:10:23 +01:00
f19f8d1a4b patch 8.2.0020: mouse clicks in the command line not tested
Problem:    Mouse clicks in the command line not tested.
Solution:   Add tests. (Dominique Pelle, closes #5366)
2019-12-18 19:36:23 +01:00
a9e9679de3 patch 8.2.0019: cannot number of lines of another buffer
Problem:    Cannot number of lines of another buffer.
Solution:   Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto,
            closes #5370)
2019-12-17 22:40:15 +01:00
91b65e4944 patch 8.2.0018: :join does not add white space where it should
Problem:    :join does not add white space where it should. (Zdenek Dohnal)
Solution:   Handle joining multiple lines propely.
2019-12-17 22:10:58 +01:00
6f345a1458 patch 8.2.0017: OS/2 and MS-DOS are still mentioned
Problem:    OS/2 and MS-DOS are still mentioned, even though support was
            removed long ago.
Solution:   Update documentation. (Yegappan Lakshmanan, closes #5368)
2019-12-17 21:27:18 +01:00
a48e78e11f patch 8.2.0016: test name used twice, option not restored properly
Problem:    Test name used twice, option not restored properly.
Solution:   Rename function, restore option with "&".
2019-12-17 20:29:26 +01:00
e74331db4b patch 8.2.0015: not all modeline variants are tested
Problem:    Not all modeline variants are tested.
Solution:   Add modeline tests. (Dominique Pelle, closes #5369)
2019-12-17 19:22:40 +01:00
afc13bd827 patch 8.2.0014: test69 and test95 are old style
Problem:    Test69 and test95 are old style.
Solution:   Convert to new style tests. (Yegappan Lakshmanan, closes #5365)
2019-12-16 22:43:31 +01:00
ddef129160 patch 8.2.0013: not using a typedef for condstack
Problem:    Not using a typedef for condstack.
Solution:   Add a typedef.
2019-12-16 17:10:33 +01:00
559b9c68fe patch 8.2.0012: some undo functionality is not tested
Problem:    Some undo functionality is not tested.
Solution:   Add a few more test cases. (Dominique Pelle, closes #5364)
2019-12-15 18:09:19 +01:00
5e5a98d7de patch 8.2.0011: screen updating wrong when opeing preview window
Problem:    Screen updating wrong when opeing preview window.
Solution:   Redraw the window when the preview window opens.
2019-12-15 14:55:33 +01:00
f9cb05c147 patch 8.2.0010: test64 is old style
Problem:    Test64 is old style.
Solution:   Convert to new style test. (Yegappan Lakshmanan, closes #5363)
2019-12-15 13:39:22 +01:00
95f0b6e5a5 patch 8.2.0009: VMS: terminal version doesn't build
Problem:    VMS: terminal version doesn't build.
Solution:   Move MIN definition.  Adjust #ifdefs. (Zoltan Arpadffy)
2019-12-15 12:54:18 +01:00
3e2d1c8cd6 patch 8.2.0008: test72 is old style
Problem:    Test72 is old style.
Solution:   Convert to new style test. (Yegappan Lakshmanan, closes #5362)
2019-12-14 20:35:01 +01:00
09dd2bb336 patch 8.2.0007: popup menu positioned wrong with folding in two tabs
Problem:    Popup menu positioned wrong with folding in two tabs.
Solution:   Update the cursor line height. (closes #5353)
2019-12-14 18:42:15 +01:00
6e43b30a85 patch 8.2.0006: test using long file name may fail
Problem:    Test using long file name may fail. (Vladimir Lomov)
Solution:   Limit the name length. (Christian Brabandt, closes #5358)
2019-12-14 17:53:27 +01:00
5021225656 patch 8.2.0005: duplication in version info
Problem:    Duplication in version info.
Solution:   Use preprocessor string concatenation. (Ken Takata, closes #5357)
2019-12-14 17:24:53 +01:00
a6e8f888e7 patch 8.2.0004: get E685 and E931 if buffer reload is interrupted
Problem:    Get E685 and E931 if buffer reload is interrupted.
Solution:   Do not abort deleting a dummy buffer. (closes #5361)
2019-12-14 16:18:15 +01:00
f5f4b6cb5f patch 8.2.0003: Build file dependencies are incomplete
Problem:    Build file dependencies are incomplete.
Solution:   Fix the dependencies. (Ken Takata, closes #5356)
2019-12-14 13:17:11 +01:00
3b68123cd2 patch 8.2.0002: "dj" only deletes first line of closed fold
Problem:    "dj" only deletes first line of closed fold.
Solution:   Adjust last line of operator for linewise motion. (closes #5354)
2019-12-13 19:35:55 +01:00
74ee5e2384 patch 8.2.0001: #endif comments do reflect corresponding #ifdef
Problem:    #endif comments do reflect corresponding #ifdef.
Solution:   Update the comments. (Rene Nyffenegger, closes #5351)
2019-12-13 18:13:22 +01:00
98056533b9 Vim 8.2 release 2019-12-12 14:18:35 +01:00
469bdbde1e Minor runtime file updates. 2019-12-11 23:05:48 +01:00
36698e34aa patch 8.1.2424: MS-Windows: console buffer is resized unnecessarily
Problem:    MS-Windows: console buffer is resized unnecessarily.
Solution:   Only call ResizeConBuf() when the size differs. (Nobuhiro
            Takasaki, closes #5343)
2019-12-11 22:57:40 +01:00
e24437b643 patch 8.1.2423: MS-Windows properties shows version as "8, 1, 0"
Problem:    MS-Windows properties shows version as "8, 1, 0".
Solution:   Use "8.1.0". (Ken Takata, closes #5342)
2019-12-11 22:41:29 +01:00
9810cfbe55 patch 8.1.2422: "make depend" does not work correctly for libvterm
Problem:    "make depend" does not work correctly for libvterm.
Solution:   Fix build dependencies. And a few minor improvements.
2019-12-11 21:23:00 +01:00
213ed008bb patch 8.1.2421: test88 is old style
Problem:    Test88 is old style.
Solution:   Turn into a new style test. (Yegappan Lakshmanan, closes #5347)
2019-12-11 20:12:26 +01:00
4954019c93 patch 8.1.2420: crash when calling popup_close() in win_execute()
Problem:    Crash when calling popup_close() in win_execute().
Solution:   Disallow popup_close() in popup window. (Yasuhiro Matsumoto,
            closes #5345)
2019-12-11 19:34:54 +01:00
0efd1bdcf4 patch 8.1.2419: with a long file name the hit-enter prompt appears
Problem:    With a long file name the hit-enter prompt appears. (J. Lewis
            Muir)
Solution:   When checking for text to wrap don't do this when outputing a CR.
2019-12-11 19:00:04 +01:00
99ebf22c52 patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Problem:    bufnr('$') is wrong after recycling popup buffer.
Solution:   Sort the buffer list by buffer number. (closes #5335)
2019-12-10 23:44:48 +01:00
1e46705a83 patch 8.1.2417: MinGW/Cygwin build does not clean up all files
Problem:    MinGW/Cygwin build does not clean up all files.
Solution:   Delete *.map files. (Michael Soyka)
2019-12-10 22:48:15 +01:00
e24c5b3332 patch 8.1.2416: loading menus sets v:errmsg
Problem:    Loading menus sets v:errmsg.
Solution:   Avoid setting v:errmsg and add a test for that. (Jason Franklin)
2019-12-10 22:11:53 +01:00
04357fbb87 patch 8.1.2415: popup menu flickers if an info popup is used
Problem:    Popup menu flickers if an info popup is used. (Nick Spoons)
Solution:   Set the pum_skip_redraw flag.
2019-12-10 21:50:56 +01:00
2ed639abdc Update a few runtime files. 2019-12-09 23:11:18 +01:00
661ed8b4b6 patch 8.1.2414: MS-Windows: properties dialog box shows wrong character
Problem:    MS-Windows: properties dialog box shows wrong character.
Solution:   Explicitly specify encoding. (Ken Takata, closes #5338)
2019-12-09 22:22:49 +01:00
0ba89ec47c patch 8.1.2413: cannot update ex_cmdidxs.h on MS-Windows
Problem:    Cannot update ex_cmdidxs.h on MS-Windows.
Solution:   Add build rules and dependencies. (Ken Takata, closes #5337)
2019-12-09 21:48:11 +01:00
0ff822d2eb patch 8.1.2412: crash when evaluating expression with error
Problem:    Crash when evaluating expression with error. (Dhiraj Mishra)
Solution:   Check parsing failed. (closes #5329)
2019-12-08 18:41:34 +01:00
1b03a193b3 patch 8.1.2411: function argument copied unnecessarily
Problem:    Function argument copied unnecessarily.
Solution:   Use the argument directly.
2019-12-08 17:08:29 +01:00
32b364fcc0 Runtime file updates. 2019-12-08 15:07:48 +01:00
e2a3f36bf2 patch 8.1.2410: MS-Windows: test_iminsert fails without IME support
Problem:    MS-Windows: test_iminsert fails without IME support.
Solution:   Skip the test when imgetstatus() doesn't work.
2019-12-07 21:40:48 +01:00
5f1920ada2 patch 8.1.2409: creating the distribution doesn't work as documented
Problem:    Creating the distribution doesn't work as documented.
Solution:   Adjust name of uninstall binary. Create src/auto directory if
            needed.
2019-12-07 21:01:43 +01:00
bfd3433330 patch 8.1.2408: syntax menu and build instructions outdated
Problem:    Syntax menu and build instructions outdated.
Solution:   Update build instructions and syntax menu.
2019-12-07 19:24:34 +01:00
d283e89138 patch 8.1.2407: proto files, dependencies and build instructions outdated
Problem:    proto file, dependenciess and Build instructions outdated.
Solution:   Update proto files, dependencies and build instructions.
2019-12-07 18:50:29 +01:00
6b649ac4fd patch 8.1.2406: leaking memory in test_paste and test_registers
Problem:    Leaking memory in test_paste and test_registers.
Solution:   Free the old title.  Don't copy expr_line.
2019-12-07 17:47:22 +01:00
1f9a028def patch 8.1.2405: matchadd_conceal test fails under valgrind
Problem:    matchadd_conceal test fails under valgrind.
Solution:   Use WaitForAssert() and wait a bit longer.
2019-12-07 17:22:04 +01:00
08d2e795e7 patch 8.1.2404: channel test fails under valgrind
Problem:    Channel test fails under valgrind.
Solution:   Sleep a bit longer.
2019-12-07 17:10:25 +01:00
3c47e8384d patch 8.1.2403: autocmd test fails under valgrind
Problem:    Autocmd test fails under valgrind.
Solution:   Wait a bit longer.
2019-12-07 17:05:31 +01:00
664f3cf3f2 Runtime file updates. 2019-12-07 16:03:51 +01:00
f48ee3c284 patch 8.1.2402: typos and other small things
Problem:    Typos and other small things.
Solution:   Small fixes.
2019-12-06 22:18:20 +01:00
88a3e2b2ac patch 8.1.2401: :cexpr does not handle | in expression
Problem:    :cexpr does not handle | in expression.
Solution:   Remove EX_TRLBAR and set nextcmd pointer.
2019-12-06 21:11:39 +01:00
1f3e7d3bf0 patch 8.1.2400: test39 is old style
Problem:    Test39 is old style.
Solution:   Convert the test cases into new style. (Yegappan Lakshmanan,
            closes #5324)
2019-12-06 20:43:36 +01:00
bef93ac9db patch 8.1.2399: info popup on top of cursor if it doesn't fit
Problem:    Info popup on top of cursor if it doesn't fit.
Solution:   Hide the popup if it doesn't fit.
2019-12-06 20:17:35 +01:00
9a838fe543 patch 8.1.2398: strptime() test fails on Japanese Mac
Problem:    strptime() test fails on Japanese Mac.
Solution:   Use %T instead of %X.
2019-12-06 12:45:01 +01:00
e7dd0deb3c patch 8.1.2397: should not define __USE_XOPEN
Problem:    Should not define __USE_XOPEN. _XOPEN_SOURCE is not needed for
            Android.
Solution:   Remove __USE_XOPEN and adjust #ifdefs. (Ozaki Kiichi,
            closes #5322)
2019-12-05 23:07:06 +01:00
c08ee7476b Update runtime files. 2019-12-05 22:47:25 +01:00
e38eab22c1 patch 8.1.2396: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-05 21:50:01 +01:00
0d6f5d9740 patch 8.1.2395: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-05 21:33:15 +01:00
63d9e730f7 patch 8.1.2394: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-05 21:10:38 +01:00
0f8737355d patch 8.1.2393: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-05 20:28:46 +01:00
6e0ce171e1 patch 8.1.2392: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-05 20:12:41 +01:00
c95e8d6490 patch 8.1.2391: cannot build when __QNXNTO__ is defined
Problem:    Cannot build when __QNXNTO__ is defined. (Ian Wayne Larson)
Solution:   Move the check for "qansi". (Ken Takata, closes #5317)
2019-12-05 18:35:44 +01:00
309976ec1f patch 8.1.2390: test94 is old style, fix 7.4.441 not tested
Problem:    Test94 is old style, fix 7.4.441 not tested.
Solution:   Turn test94 into a new style test.  Add tests for the fix in patch
            7.4.441. (Yegappan Lakshmanan, closes #5316)
2019-12-05 18:16:33 +01:00
707d226ac5 patch 8.1.2389: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-04 22:16:54 +01:00
4ba37b5833 patch 8.1.2388: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-04 21:57:43 +01:00
2ab2e8608f patch 8.1.2387: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-04 21:24:53 +01:00
9834b96820 Update version 8.2 notes and make syntax. 2019-12-04 20:43:03 +01:00
42e931b0f5 patch 8.1.2386: 'wincolor' is not used for 'listchars'
Problem:    'wincolor' is not used for 'listchars'.
Solution:   Combine the colors. (closes #5308)
2019-12-04 19:08:50 +01:00
85db547598 patch 8.1.2385: opening cmdline window with feedkeys() does not work
Problem:    Opening cmdline window with feedkeys() does not work. (Yegappan
            Lakshmanan)
Solution:   Recognize K_CMDWIN also when ex_normal_busy is set.
2019-12-04 15:11:08 +01:00
079119babe patch 8.1.2384: test 48 is old style
Problem:    Test 48 is old style.
Solution:   Merge test cases into new style test. (Yegappan Lakshmanan,
            closes #5307)
2019-12-03 22:59:23 +01:00
4ceaa3a6e0 Update a few runtime files 2019-12-03 22:49:09 +01:00
734a867ffe patch 8.1.2383: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-02 22:49:38 +01:00
a050b9471c patch 8.1.2382: MS-Windows: When using VTP bold+inverse doesn't work
Problem:    MS-Windows: When using VTP bold+inverse doesn't work.
Solution:   Compare with the default colors. (Nobuhiro Takasaki, closes #5303)
2019-12-02 21:35:31 +01:00
54c8d229f5 patch 8.1.2381: not all register related code is covered by tests
Problem:    Not all register related code is covered by tests.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #5301)
2019-12-02 20:41:39 +01:00
306139005c patch 8.1.2380: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-01 22:11:18 +01:00
217e1b8359 patch 8.1.2379: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-01 21:41:28 +01:00
5d18efecfd patch 8.1.2378: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-12-01 21:11:22 +01:00
fa5612c7d8 patch 8.1.2377: GUI: when losing focus a pending operator is executed
Problem:    GUI: when losing focus a pending operator is executed.
Solution:   Do not execute an operator when getting K_IGNORE. (closes #5300)
2019-12-01 19:37:07 +01:00
912bc4a51a patch 8.1.2376: preprocessor indents are incorrect
Problem:    Preprocessor indents are incorrect.
Solution:   Fix the indents. (Ken Takata, closes #5298)
2019-12-01 18:58:11 +01:00
6f1f0ca3ed patch 8.1.2375: no suffucient testing for registers
Problem:    No suffucient testing for registers.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #5296)
            Fix that "p" on last virtual column of tab inserts spaces.
2019-12-01 18:16:18 +01:00
269e4bd9d2 patch 8.1.2374: unused parts of libvterm are included
Problem:    Unused parts of libvterm are included.
Solution:   Delete the unused files.
2019-12-01 15:31:12 +01:00
5a4c3082d7 patch 8.1.2373: cannot build with +popupwin but without +quickfix
Problem:    Cannot build with +popupwin but without +quickfix. (John Marriott)
Solution:   Adjust #ifdefs.
2019-12-01 15:23:11 +01:00
9625d3d92d patch 8.1.2372: VMS: failing realloc leaks memory
Problem:    VMS: failing realloc leaks memory. (Chakshu Gupta)
Solution:   Free the memory. (partly fixes #5292)
2019-11-30 22:57:53 +01:00
05ad5ff0ab patch 8.1.2371: FEAT_TEXT_PROP is a confusing name
Problem:    FEAT_TEXT_PROP is a confusing name.
Solution:   Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)
2019-11-30 22:48:27 +01:00
0c5c3faef2 patch 8.1.2370: build problems on VMS
Problem:    Build problems on VMS.
Solution:   Adjust the build file. (Zoltan Arpadffy)
2019-11-30 22:38:16 +01:00
a2c2ae473a patch 8.1.2369: cannot build with quickfix and without text properties
Problem:    Cannot build with quickfix and without text properties.
Solution:   Fix typo. (Naruhiko Nishino)
2019-11-30 20:58:46 +01:00
c667da5185 patch 8.1.2368: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-11-30 20:52:27 +01:00
71136db1bf patch 8.1.2367: registers are not sufficiently tested
Problem:    Registers are not sufficiently tested.
Solution:   Add a few more test cases. (Yegappan Lakshmanan, closes #5288)
2019-11-30 19:48:46 +01:00
9bf703d46a patch 8.1.2366: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
2019-11-30 19:44:38 +01:00
20ebbeac46 patch 8.1.2365: missing tests for recent popupwin changes
Problem:    Missing tests for recent popupwin changes.
Solution:   Add test cases.
2019-11-30 17:58:27 +01:00
91359014b3 Update runtime files. 2019-11-30 17:57:03 +01:00
e219f73ed5 patch 8.1.2364: termwinscroll test is flaky on FreeBSD
Problem:    Termwinscroll test is flaky on FreeBSD.
Solution:   Add to list of flaky tests.  Rename function.
2019-11-30 15:34:08 +01:00
dee50a5180 patch 8.1.2363: ml_get error when accessing Visual area in 'statusline'
Problem:    ml_get error when accessing Visual area in 'statusline'.
Solution:   Disable Visual mode when using another window. (closes #5278)
2019-11-30 15:05:22 +01:00
7257073043 patch 8.1.2362: cannot place signs in a popup window
Problem:    Cannot place signs in a popup window. (Maxim Kim)
Solution:   Use the group prefix "PopUp" to specify which signs should show up
            in a popup window. (closes #5277)
2019-11-30 14:21:53 +01:00
310c32e892 patch 8.1.2361: MS-Windows: test failures related to VIMDLL
Problem:    MS-Windows: test failures related to VIMDLL.
Solution:   Adjust code and tests. (Ken Takata, closes #5283)
2019-11-29 23:15:25 +01:00
15a7bdcb77 patch 8.1.2360: quickfix test coverage can still be improved
Problem:    Quickfix test coverage can still be improved.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #5276)
2019-11-29 22:06:47 +01:00
0387cae15c patch 8.1.2359: cannot build without FEAT_FLOAT
Problem:    Cannot build without FEAT_FLOAT. (John Marriott)
Solution:   Fix #ifdefs around f_srand().
2019-11-29 21:07:58 +01:00
9134f1ecd4 patch 8.1.2358: tests fail on Cirrus CI for FreeBSD
Problem:    Tests fail on Cirrus CI for FreeBSD.
Solution:   Fix a test and skip some. (Christian Brabandt, closes #5281)
2019-11-29 20:26:13 +01:00
68e9e5f7fc patch 8.1.2357: no test with wrong argument for rand()
Problem:    No test with wrong argument for rand().
Solution:   Add a test case.
2019-11-28 22:55:43 +01:00
f8c1f9200c patch 8.1.2356: rand() does not use the best algorithm
Problem:    rand() does not use the best algorithm.
Solution:   use xoshiro128** instead of xorshift. (Kaito Udagawa,
            closes #5279)
2019-11-28 22:13:14 +01:00
c7d2a57b3a patch 8.1.2355: test with "man" fails on FreeBSD
Problem:    Test with "man" fails on FreeBSD.
Solution:   Use "-P" instead of "--pager".
2019-11-28 21:16:06 +01:00
31ff2e1b43 patch 8.1.2354: Cirrus CI runs on another repository
Problem:    Cirrus CI runs on another repository.
Solution:   Run Cirrus CI on vim/vim.
2019-11-28 20:53:08 +01:00
5708079a6b patch 8.1.2353: build failure on FreeBSD
Problem:    Build failure on FreeBSD.
Solution:   Change #ifdef to only check for Linux-like systems.
2019-11-28 20:09:58 +01:00
424e98baab Merge branch 'master' of github.com:vim/vim 2019-11-27 21:57:45 +01:00
7a212c6253 Merge pull request #5275 from vim/revert-5273-cirrus_ci
Revert "Cirrus CI: add a simple CI using BSD"
2019-11-27 21:57:06 +01:00
d52986e7be Revert "Cirrus CI: add a simple CI using BSD" 2019-11-27 21:56:28 +01:00
ea599a65ee patch 8.1.2352: CI doesn't cover FreeBSD
Problem:    CI doesn't cover FreeBSD.
Solution:   Configure Cirrus-CI. (Christian Brabandt, closes #5273)
2019-11-27 21:55:41 +01:00
8fbd6723af Merge pull request #5273 from chrisbra/cirrus_ci
Cirrus CI: add a simple CI using BSD
2019-11-27 16:08:29 +01:00
e307073680 Cirrus CI: add a simple CI using BSD
Cirrus CI allows to run CI tests in a wide variety of systems, such as
Mac, Windows and FreeBSD. For a starter, add a Cirrus-CI test just for
FreeBSD using version 12, assuming Windows and Linux are already tested
using appveyor and Travis CI
2019-11-27 15:59:06 +01:00
92e25ab2df patch 8.1.2351: 'wincolor' not used for > for not fitting double width char
Problem:    'wincolor' not used for > for not fitting double width char.
            Also: popup drawn on right half of double width character looks
            wrong.
Solution:   Adjust color for > character.  Clear left half of double width
            character if right half is being overwritten.
2019-11-26 22:39:10 +01:00
0c0734d527 Update runtime files 2019-11-26 21:44:46 +01:00
fc4ea2a72d patch 8.1.2350: other text for CTRL-V in Insert mode with modifyOtherKeys
Problem:    Other text for CTRL-V in Insert mode with modifyOtherKeys.
Solution:   Convert the Escape sequence back to key as if modifyOtherKeys is
            not set, and use CTRL-SHIFT-V to get the Escape sequence itself.
            (closes #5254)
2019-11-26 19:33:22 +01:00
cc4423ae13 patch 8.1.2349: :lockvar and :unlockvar cannot be followed by "| endif"
Problem:    :lockvar and :unlockvar cannot be followed by "| endif".
Solution:   Check for following commands. (closes #5269)
2019-11-26 17:05:00 +01:00
8f76e6b12b patch 8.1.2348: :const cannot be followed by "| endif"
Problem:    :const cannot be followed by "| endif".
Solution:   Check following command for :const. (closes #5269)
            Also fix completion after :const.
2019-11-26 16:50:30 +01:00
84f903326d patch 8.1.2347: MacOS: build fails
Problem:    MacOS: build fails.
Solution:   Don't define _XOPEN_SOURCE for Mac.
2019-11-26 14:48:00 +01:00
38571a04b4 patch 8.1.2346: CTRL-R CTRL-R doesn't work with modifyOtherKeys
Problem:    CTRL-R CTRL-R doesn't work with modifyOtherKeys.
Solution:   Allow key codes when fetching argument for CTRL-R. (closes #5266)
            Also fix CTRL-G in Insert mode.
2019-11-26 14:28:15 +01:00
c1faf3dc38 patch 8.1.2345: .cjs files are not recognized as Javascript
Problem:    .cjs files are not recognized as Javascript.
Solution:   Add the *.cjs pattern. (closes #5268)
2019-11-26 13:43:40 +01:00
6a228c6463 patch 8.1.2344: Cygwin: warning for using strptime()
Problem:    Cygwin: warning for using strptime().
Solution:   Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata,
            closes #5265)  Use 700 for _XOPEN_SOURCE for mkdtemp().
2019-11-26 13:29:01 +01:00
07e4a19795 patch 8.1.2343: using time() for srand() is not very random
Problem:    Using time() for srand() is not very random.
Solution:   use /dev/urandom if available
2019-11-26 12:23:30 +01:00
06b0b4bc27 patch 8.1.2342: random number generator in Vim script is slow
Problem:    Random number generator in Vim script is slow.
Solution:   Add rand() and srand(). (Yasuhiro Matsumoto, closes #1277)
2019-11-25 15:40:55 +01:00
67a2deb9cb patch 8.1.2341: not so easy to interrupt a script programatically
Problem:    Not so easy to interrupt a script programatically.
Solution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes #2834)
2019-11-25 00:05:32 +01:00
a106e6cde6 patch 8.1.2340: quickfix test fails under valgrind and asan
Problem:    Quickfix test fails under valgrind and asan.
Solution:   Make sure long line does not overflow IObuff. (Dominique Pelle,
            closes #5263)  Put back fix for large terminals. (Yegappan
            Lakshmanan, closes #5264)
2019-11-24 22:13:58 +01:00
70077dd1ca patch 8.1.2339: insufficient testing for quickfix
Problem:    Insufficient testing for quickfix.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #5261)
2019-11-24 12:12:42 +01:00
c672525b48 patch 8.1.2338: using Visual mark sith :s gives E20 if not set
Problem:    Using Visual mark sith :s gives E20 if not set.
Solution:   Ignore errors when handling 'incsearch'. (closes #3837)
2019-11-23 21:56:46 +01:00
85c3502ef5 patch 8.1.2337: double-click time sometimes miscomputed
Problem:    Double-click time sometimes miscomputed.
Solution:   Correct time computation. (Dominique Pelle, closes #5259)
2019-11-22 22:21:59 +01:00
4ebe0e62d0 patch 8.1.2336: when an expr mapping moves the cursor it is not restored
Problem:    When an expr mapping moves the cursor it is not restored.
Solution:   Position the cursor after an expr mapping. (closes #5256)
2019-11-22 20:55:40 +01:00
2118a30295 patch 8.1.2335: error message for function arguments may use NULL pointer
Problem:    Error message for function arguments may use NULL pointer.
            (Coverity)
Solution:   Use the original function name.
2019-11-22 19:29:45 +01:00
fd318115a5 patch 8.1.2334: possible NULL pointer dereference in popup_locate()
Problem:    Possible NULL pointer dereference in popup_locate(). (Coverity)
Solution:   Check for NULL pointer.
2019-11-22 19:22:08 +01:00
828ffd5963 patch 8.1.2333: with modifyOtherKeys CTRL-^ doesn't work
Problem:    With modifyOtherKeys CTRL-^ doesn't work.
Solution:   Handle the exception.
2019-11-21 23:24:00 +01:00
556ae8ea28 patch 8.1.2332: missing file in refactoring
Problem:    Missing file in refactoring.
Solution:   Update missing file.
2019-11-21 22:27:22 +01:00
7bae0b1bc8 patch 8.1.2331: the option.c file is still very big
Problem:    The option.c file is still very big.
Solution:   Move a few functions to where they fit better. (Yegappan
            Lakshmanan, closes #4895)
2019-11-21 22:14:18 +01:00
94d9f4fa65 patch 8.1.2330: vi' does not always work when 'selection' is exclusive
Problem:    vi' does not always work when 'selection' is exclusive.
Solution:   Adjust start position.
2019-11-21 20:55:26 +01:00
44f0bd878a patch 8.1.2329: mouse multiple click test is a bit flaky
Problem:    Mouse multiple click test is a bit flaky.
Solution:   Add it to the list of flaky tests.
2019-11-21 18:27:01 +01:00
bd3bc0314e patch 8.1.2328: a few hangul input pieces remain
Problem:    A few hangul input pieces remain.
Solution:   Update VMS makefile.
2019-11-21 17:34:51 +01:00
546125869f patch 8.1.2327: cannot build with Hangul input
Problem:    Cannot build with Hangul input.
Solution:   Remove Hangul input support.
2019-11-21 17:13:31 +01:00
10455d43fe patch 8.1.2326: cannot parse a date/time string
Problem:    Cannot parse a date/time string.
Solution:   Add strptime(). (Stephen Wall, closes #)
2019-11-21 15:36:18 +01:00
9ae862ebba patch 8.1.2325: crash when using balloon with empty line
Problem:    Crash when using balloon with empty line.
Solution:   Handle empty lines. (Markus Braun)
2019-11-21 13:27:06 +01:00
202c3f7e3e patch 8.1.2324: with of scrollbar in popup menu not taken into account
Problem:    With of scrollbar in popup menu not taken into account.
Solution:   Add the width of the scrollbar.
2019-11-21 12:12:35 +01:00
403f3eb4c1 Update runtime files. 2019-11-20 22:31:13 +01:00
a075490082 patch 8.1.2323: Old MSVC version no longer tested.
Problem:    Old MSVC version no longer tested.
Solution:   Drop support for MSCV 2008 and older. (Ken Takata, closes #5248)
2019-11-19 23:01:28 +01:00
ffc4fb8fee patch 8.1.2322: quickfix test fails in very big terminal
Problem:    Quickfix test fails in very big terminal.
Solution:   Adjust the expected result for the width. (Masato Nishihata,
            closes #5244)
2019-11-19 22:38:48 +01:00
0a5aa7b28a patch 8.1.2321: cannot select all text with the mouse
Problem:    Cannot select all text with the mouse. (John Marriott)
Solution:   Move limiting the mouse column to f_getmousepos(). (closes #5242)
2019-11-18 23:31:48 +01:00
f9ae154c51 patch 8.1.2320: insufficient test coverage for quickfix
Problem:    Insufficient test coverage for quickfix.
Solution:   Add more tests.  Fix uncovered problem. (Yegappan Lakshmanan,
            closes #5238)
2019-11-18 22:02:16 +01:00
07a63d8633 patch 8.1.2319: compiler warning for int size
Problem:    Compiler warning for int size.
Solution:   Add typecast. (Mike Williams)
2019-11-18 21:38:37 +01:00
5f76334818 patch 8.1.2318: MS-Windows GUI: main background shows in toolbar
Problem:    MS-Windows GUI: main background shows in toolbar.
Solution:   Remove transparency from the toolbar. (Simon Sadler)
2019-11-17 22:54:10 +01:00
37ff4cf870 patch 8.1.2317: no test for spell affix file with flag on suffix
Problem:    No test for spell affix file with flag on suffix.
Solution:   Add a test case.
2019-11-17 20:10:20 +01:00
91b992c387 patch 8.1.2316: FORTIFY_SOURCE can also be present in CPPFLAGS
Problem:    FORTIFY_SOURCE can also be present in CPPFLAGS.
Solution:   Remove it in configure. (Benedikt Morbach, closes #2786)
2019-11-17 19:07:42 +01:00
539aa6b25e patch 8.1.2315: not always using the right window when jumping to an error
Problem:    Not always using the right window when jumping to an error.
Solution:   Add the "uselast" flag in 'switchbuf'. (closes #1652)
2019-11-17 18:09:38 +01:00
7170b295b0 patch 8.1.2314: vi' sometimes does not select anything
Problem:    vi' sometimes does not select anything.
Solution:   Recognize an empty selection. (Christian Brabandt, closes #5183)
2019-11-17 17:32:28 +01:00
eda1da0c9a patch 8.1.2313: debugging where a delay comes from is not easy
Problem:    Debugging where a delay comes from is not easy.
Solution:   Use different values when calling ui_delay().
2019-11-17 17:06:33 +01:00
077b9dd354 patch 8.1.2312: "line:" field in tags file not used
Problem:    "line:" field in tags file not used.
Solution:   Recognize the field and use the value. (Andy Massimino, Daniel
            Hahler, closes #5232, closes #2546, closes #1057)
2019-11-17 16:18:31 +01:00
09c6f265b2 Update runtime files. 2019-11-17 15:55:14 +01:00
0324f9ea0a patch 8.1.2311: warning for missing function prototype
Problem:    Warning for missing function prototype.
Solution:   Add the proto. (Dominique Pelle, closes #5233)
2019-11-16 22:49:40 +01:00
d8a8c4ca08 patch 8.1.2310: no proper test for directory changes in quickfix
Problem:    No proper test for directory changes in quickfix.
Solution:   Add a test that uses multiple directories. (Yegappan Lakshmanan,
            closes #5230)
2019-11-16 21:04:57 +01:00
abe12a1a4f patch 8.1.2309: compiler warning for argument type
Problem:    Compiler warning for argument type.
Solution:   Use linenr_T and cast to varnumber_T. (John Marriott)
2019-11-16 20:49:18 +01:00
ecafcc15ca patch 8.1.2308: deleting text before zero-width textprop removes it
Problem:    Deleting text before zero-width textprop removes it.
Solution:   Keep zero-width textprop when deleting text.
2019-11-16 20:41:51 +01:00
a37cb55da6 patch 8.1.2307: positioning popup doesn't work for buffer-local textprop
Problem:    Positioning popup doesn't work for buffer-local textprop.
Solution:   Make it work. (closes #5225)
2019-11-16 20:03:31 +01:00
f36a2c7e60 patch 8.1.2306: double and triple clicks are not tested
Problem:    Double and triple clicks are not tested.
Solution:   Test mouse clicks to select text. (closes #5226)
2019-11-16 18:57:16 +01:00
e53ec39270 patch 8.1.2305: no warning for wrong entry in translations
Problem:    No warning for wrong entry in translations.
Solution:   Check semicolons in keywords entry of desktop file.
2019-11-16 18:49:50 +01:00
db3a205147 patch 8.1.2304: cannot get the mouse position when getting a mouse click
Problem:    Cannot get the mouse position when getting a mouse click.
Solution:   Add getmousepos().
2019-11-16 18:22:41 +01:00
08f23636ae patch 8.1.2303: cursor in wrong position after horizontal scroll
Problem:    Cursor in wrong position after horizontal scroll.
Solution:   Set w_valid_leftcol.  (closes #5214, closes #5224)
2019-11-16 14:19:33 +01:00
f4a1d1c054 patch 8.1.2302: :lockmarks does not work for '[ and ']
Problem:    :lockmarks does not work for '[ and '].
Solution:   save and restore '[ and '] marks. (James McCoy, closes #5222)
2019-11-16 13:50:25 +01:00
ab85ca4e6a patch 8.1.2301: MS-Windows GUI: drawing error when background color changes
Problem:    MS-Windows GUI: drawing error when background color changes.
Solution:   Implement gui_mch_new_colors(). (Simon Sadler)
2019-11-15 22:41:14 +01:00
1ebbb6ee45 Fix vim.desktop generation. 2019-11-14 21:39:32 +01:00
574ee7bc12 Update runtime files 2019-11-13 23:04:29 +01:00
afe45b68a6 patch 8.1.2300: redraw breaks going through list of popup windows
Problem:    Redraw breaks going through list of popup windows.
Solution:   Use different flags for popup_reset_handled(). (closes #5216)
2019-11-13 22:35:19 +01:00
36e7a823c6 patch 8.1.2299: ConPTY in MS-Windows 1909 is still wrong
Problem:    ConPTY in MS-Windows 1909 is still wrong.
Solution:   Use same solution as for 1903. (Nobuhiro Takasaki, closes #5217)
2019-11-13 21:49:24 +01:00
0743ef9f8a patch 8.1.2298: missing part of 8.1.2296
Problem:    Missing part of 8.1.2296.
Solution:   s/test/text/
2019-11-13 16:37:31 +01:00
d6a98a3a97 patch 8.1.2297: the ex_vimgrep() function is too long
Problem:    The ex_vimgrep() function is too long.
Solution:   Split it in three parts. (Yegappan Lakshmanan, closes #5211)
2019-11-12 22:59:51 +01:00
58e32ab503 patch 8.1.2296: text properties are not combined with syntax by default
Problem:    Text properties are not combined with syntax by default.
Solution:   Make it work as documented. (closes #5190)
2019-11-12 22:44:22 +01:00
4eb7dae255 patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Problem:    If buffer of popup is in another window cursorline sign shows.
Solution:   Check the group of the sign.
2019-11-12 22:33:45 +01:00
cbee635eee patch 8.1.2294: cursor pos wrong with concealing and search causes a scroll
Problem:    Cursor position wrong when characters are concealed and asearch
            causes a scroll.
Solution:   Fix the cursor column in a concealed line after window scroll.
            (closes #5215, closes #5012)
2019-11-12 20:49:15 +01:00
cc184cfb09 patch 8.1.2293: join adds trailing space when second line is empty
Problem:    Join adds trailing space when second line is empty. (Brennan
            Vincent)
Solution:   Do not add a trailing space.
2019-11-12 20:31:20 +01:00
d002e411c6 patch 8.1.2292: v:mouse_winid not set on click in popup window
Problem:    v:mouse_winid not set on click in popup window.
Solution:   Set v:mouse_winid. (closes #5171)
2019-11-11 21:45:05 +01:00
adf4aa200b patch 8.1.2291: memory leak when executing command in a terminal
Problem:    Memory leak when executing command in a terminal.
Solution:   Free "argv". (Dominique Pelle, closes #5208)
2019-11-10 22:36:44 +01:00
5ef1c6a483 Update runtime files 2019-11-10 22:09:11 +01:00
a9aa86ff95 patch 8.1.2290: autocommand test fails
Problem:    Autocommand test fails.
Solution:   Remove 'closeoff' from 'diffopt'.
2019-11-10 21:25:45 +01:00
c823477979 patch 8.1.2289: after :diffsplit closing the window does not disable diff
Problem:    After :diffsplit closing the window does not disable diff.
Solution:   Add "closeoff" to 'diffopt' and add it to the default.
2019-11-10 21:00:27 +01:00
5c6b6187ac patch 8.1.2288: not using all space when popup with "topleft" flips to above
Problem:    Not using all space when popup with "topleft" flips to above.
Solution:   Recompute the height when a popup flips from below to above.
            (closes #5151)
2019-11-10 17:51:38 +01:00
1666ac9c56 patch 8.1.2287: using EndOfBuffer highlight in popup does not look good
Problem:    Using EndOfBuffer highlight in popup does not look good.
Solution:   Do not EndOfBuffer highlight. (closes #5204)
2019-11-10 17:22:31 +01:00
622b646037 patch 8.1.2286: using border highlight in popup window leaks memory
Problem:    Using border highlight in popup window leaks memory.
Solution:   Free memory before overwriting. (Dominique Pelle, closes #5203)
2019-11-10 15:16:54 +01:00
d6beab0248 patch 8.1.2285: padding in structures wastes memory
Problem:    Padding in structures wastes memory.
Solution:   Move fields to avoid padding. (Dominique Pelle, closes #5202)
2019-11-10 15:07:19 +01:00
439b3aca37 patch 8.1.2284: compiler warning for unused variable
Problem:    Compiler warning for unused variable. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-11-10 01:32:12 +01:00
91e22eb6e0 patch 8.1.2283: missed on use of p_sbr
Problem:    Missed on use of p_sbr.
Solution:   Add missing p_sbr change.
2019-11-10 00:19:12 +01:00
4c054e9fb2 patch 8.1.2282: crash when passing many arguments through a partial
Problem:    Crash when passing many arguments through a partial. (Andy
            Massimino)
Solution:   Check the number of arguments. (closes #5186)
2019-11-10 00:13:50 +01:00
ee85702c10 patch 8.1.2281: 'showbreak' cannot be set for one window
Problem:    'showbreak' cannot be set for one window.
Solution:   Make 'showbreak' global-local.
2019-11-09 23:26:40 +01:00
b0745b221d patch 8.1.2280: crash when passing partial to substitute()
Problem:    Crash when passing partial to substitute().
Solution:   Take extra arguments into account. (closes #5186)
2019-11-09 22:28:11 +01:00
dbd4316806 patch 8.1.2279: computation of highlight attributes is too complicated
Problem:    Computation of highlight attributes is too complicated.
Solution:   Simplify the attribute computation and make it more consistent.
            (closes #5190)  Fix that 'combine' set to zero doesn't work.
2019-11-09 21:28:14 +01:00
3503d7c94a patch 8.1.2278: using "cd" with "exe" may fail
Problem:    Using "cd" with "exe" may fail.
Solution:   Use chdir() instead.
2019-11-09 20:10:17 +01:00
b73e439606 patch 8.1.2277: terminal window is not updated when info popup changes
Problem:    Terminal window is not updated when info popup changes.
Solution:   Redraw windows when re-using an info popup. (closes #5192)
2019-11-09 20:00:35 +01:00
5bf46e9786 patch 8.1.2276: MS-Windows: session test leaves files behind
Problem:    MS-Windows: session test leaves files behind.
Solution:   Wipe out buffers before deleting the directory. (closes #5187)
2019-11-09 18:06:04 +01:00
1e15e61188 patch 8.1.2275: using "seesion" looks like a mistake
Problem:    Using "seesion" looks like a mistake.
Solution:   Use an underscore to make the function sort first.
2019-11-09 17:18:52 +01:00
d1c1c82389 patch 8.1.2274: newlines in 'balloonexpr' result only work in the GUI
Problem:    Newlines in 'balloonexpr' result only work in the GUI.
Solution:   Also recognize newlines in the terminal. (closes #5193)
2019-11-09 16:59:14 +01:00
4dd8fe0b4f patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Problem:    Wrong default when "pos" is changed with popup_atcursor().
Solution:   Adjust the default line and col when "pos" is not the default
            value. (#5151)
2019-11-09 15:33:31 +01:00
34059e7b67 patch 8.1.2272: test may hang at more prompt
Problem:    Test may hang at more prompt.
Solution:   Reset 'more' after resetting 'compatible'. (Michael Soyka)
2019-11-08 23:00:25 +01:00
398a59b6a5 patch 8.1.2271: build error if FEAT_TAG_BINS is not defined
Problem:    Build error if FEAT_TAG_BINS is not defined. (John Marriott)
Solution:   Add #ifdef.
2019-11-08 21:56:57 +01:00
0208b6b771 patch 8.1.2270: "gf" is not tested in Visual mode
Problem:    "gf" is not tested in Visual mode.
Solution:   Add Visual mode test and test errors. (Dominique Pelle,
            closes #5197)
2019-11-08 21:49:48 +01:00
dc9ef26845 patch 8.1.2269: tags file with very long line stops using binary search
Problem:    Tags file with very long line stops using binary search.
Solution:   Reallocate the buffer if needed.
2019-11-07 23:08:42 +01:00
3d2a47c782 patch 8.1.2268: spell file flag zero is not recognized
Problem:    Spell file flag zero is not recognized.
Solution:   Use -1 as an error value, so that zero can be used as a valid flag
            number.
2019-11-07 20:48:42 +01:00
3b991527e8 patch 8.1.2267: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Rearrange the code.
2019-11-06 23:26:20 +01:00
f8b036bcae patch 8.1.2266: position unknown for a mouse click in a popup window
Problem:    Position unknown for a mouse click in a popup window.
Solution:   Set v:mouse_col and v:mouse_lnum. (closes #5171)
2019-11-06 21:09:17 +01:00
638a4a7508 patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Problem:    When popup with "botleft" does not fit it flips incorrectly.
Solution:   Only flip when there is more space on the other side.  Add the
            "posinvert" option to disable flipping and do it in both
            directions if enabled.  (closes #5151)
2019-11-06 19:25:22 +01:00
fcf8a8743b patch 8.1.2264: there are two test files for :let
Problem:    There are two test files for :let.
Solution:   Merge the two files.
2019-11-06 15:22:00 +01:00
215ba3b636 patch 8.1.2263: 'noesckeys' test fails in GUI
Problem:    'noesckeys' test fails in GUI.
Solution:   Skip the test in the GUI.
2019-11-06 15:07:07 +01:00
1e673b9eb6 patch 8.1.2262: unpack assignment in function not recognized
Problem:    Unpack assignment in function not recognized.
Solution:   Skip over "[a, b]". (closes #5051)
2019-11-06 15:02:50 +01:00
177c9f2f06 patch 8.1.2261: with modifyOtherKeys set 'noesckeys' doesn't work
Problem:    With modifyOtherKeys set 'noesckeys' doesn't work. (James McCoy)
Solution:   Disable modifyOtherKeys while in Insert mode when 'noesckeys' is
            set. (closes #5180)
2019-11-06 13:59:16 +01:00
36ec6f6953 patch 8.1.2260: terminal test may fail on MS-Windows
Problem:    Terminal test may fail on MS-Windows.
Solution:   Catch the situation that "term dir" fails with a CreateProcess
            error.
2019-11-05 22:38:47 +01:00
7d2320414f patch 8.1.2259: running tests may leave XfakeHOME behind
Problem:    Running tests may leave XfakeHOME behind.
Solution:   Source summarize.vim without using setup.vim. (closes #5177)
            Also fix that on MS-Windows the test log isn't echoed.
2019-11-05 22:37:20 +01:00
dc968e7a45 patch 8.1.2258: may get hit-enter prompt after entering a number
Problem:    May get hit-enter prompt after entering a number. (Malcolm Rowe)
Solution:   Put back accidentally deleted lines. (closes #5176)
2019-11-05 21:53:20 +01:00
ae20f340ad patch 8.1.2257: MS-Windows GUI: scroll wheel always uses current window
Problem:    MS-Windows GUI: scroll wheel always uses current window.
Solution:   Add the 'scrollfocus' option for MS-Windows.
2019-11-05 21:09:23 +01:00
e5a3272d32 patch 8.1.2256: test for ":term ++shell" fails on MS-Windows
Problem:    Test for ":term ++shell" fails on MS-Windows.
Solution:   Accept failure of "dir" executable.
2019-11-04 23:36:29 +01:00
2d6d76f9cd patch 8.1.2255: ":term ++shell" does not work on MS-Windows
Problem:    ":term ++shell" does not work on MS-Windows.
Solution:   Add MS-Windows support.
2019-11-04 23:18:35 +01:00
0630bb6580 patch 8.1.2254: MS-Windows: mouse scroll wheel doesn't work in popup
Problem:    MS-Windows: mouse scroll wheel doesn't work in popup.
Solution:   Handle mouse wheel events separately. (closes #5138)
2019-11-04 22:52:12 +01:00
ad4de52510 patch 8.1.2253: using "which" to check for an executable is not reliable
Problem:    Using "which" to check for an executable is not reliable.
Solution:   Use "command -v" instead.  Also exit with error code when
            generating tags has an error. (closes #5174)
2019-11-04 21:24:48 +01:00
2ade714728 patch 8.1.2252: compiler warning for int size
Problem:    Compiler warning for int size.
Solution:   Add type cast. (Mike Williams)
2019-11-04 20:36:50 +01:00
197c6b7da3 patch 8.1.2251: ":term command" may not work without a shell
Problem:    ":term command" may not work without a shell.
Solution:   Add the ++shell option to :term. (closes #3340)
2019-11-03 23:37:12 +01:00
30efcf3d26 patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Problem:    CTRL-U and CTRL-D don't work in popup window.
Solution:   Initialize 'scroll'.  Add "lastline" in popup_getpos().
            (closes #5170)
2019-11-03 22:29:38 +01:00
d047840ce4 patch 8.1.2249: "make vimtags" does not print any message
Problem:    "make vimtags" does not print any message.
Solution:   Add a message that the tags have been updated.
2019-11-03 21:46:19 +01:00
1e814bc017 patch 8.1.2248: CTRL-W dot does not work when modifyOtherKeys is enabled
Problem:    CTRL-W dot does not work in a terminal when modifyOtherKeys is
            enabled.
Solution:   Use the modifier when needed.  Pass the modifier along with the
            key to avoid mistakes.
2019-11-03 21:19:41 +01:00
e890b9f5dd patch 8.1.2247: "make vimtags" does not work in runtime/doc
Problem:    "make vimtags" does not work in runtime/doc.
Solution:   Test existence with "which" instead of "test -x". (Ken Takata)
2019-11-03 18:38:47 +01:00
1f068233c1 patch 8.1.2246: some tests are still in old style
Problem:    Some tests are still in old style.
Solution:   Change a few tests to new style. (Yegappan Lakshmanan)
2019-11-03 16:17:26 +01:00
2f7b7b1e12 patch 8.1.2245: third character of 'listchars' tab shows in wrong place
Problem:    Third character of 'listchars' tab shows in wrong place when
            'breakindent' is set.
Solution:   Set c_final to NUL. (Naruhiko Nishino, closes #5165)
2019-11-03 15:46:48 +01:00
82cf7f6df7 patch 8.1.2244: 'wrapscan' is not used for "gn"
Problem:    'wrapscan' is not used for "gn".
Solution:   Only reset 'wrapscan' for the first search round. (closes #5164)
2019-11-02 23:22:47 +01:00
32aa10203b patch 8.1.2243: typos in comments
Problem:    Typos in comments.
Solution:   Fix the typos. (Dominique Pelle, closes #5160)  Also adjust
            formatting a bit.
2019-11-02 22:54:41 +01:00
70def98a95 patch 8.1.2242: creating docs tags uses user preferences
Problem:    Creating docs tags uses user preferences. (Tony Mechelynck)
Solution:   Add "--clean".
2019-11-02 22:45:31 +01:00
024dbd229f patch 8.1.2241: match highlight does not combine with 'wincolor'
Problem:    Match highlight does not combine with 'wincolor'.
Solution:   Apply 'wincolor' last on top of any other attribute. (closes #5159)
2019-11-02 22:00:15 +01:00
f2885d3fb7 patch 8.1.2240: popup window width changes when scrolling
Problem:    Popup window width changes when scrolling.
Solution:   Also adjust maxwidth when applying minwidth and there is a
            scrollbar.  Fix off-by-one error. (closes #5162)
2019-11-02 20:21:25 +01:00
1a577433ac patch 8.1.2239: CI fails when running tests without building Vim
Problem:    CI fails when running tests without building Vim.
Solution:   Skip creating doc tags if the execute does not exist.
2019-11-02 18:22:08 +01:00
1ff14ba24c Update runtime files. 2019-11-02 14:09:23 +01:00
757bd2ea49 patch 8.1.2238: error in docs tags goes unnoticed
Problem:    Error in docs tags goes unnoticed.
Solution:   Adjust tags build command. (Ken Takata, closes #5158)
2019-11-01 19:46:22 +01:00
7a641ca1e1 patch 8.1.2237: mode() result depends on whether CURSOR_SHAPE is defined
Problem:    Mode() result after usign "r" depends on whether CURSOR_SHAPE is
            defined. (Christian Brabandt)
Solution:   Move the #ifdef to only skip ui_cursor_shape().
2019-10-31 19:55:55 +01:00
bb26596242 patch 8.1.2236: ml_get error if pattern matches beyond last line
Problem:    Ml_get error if pattern matches beyond last line.
Solution:   Adjust position if needed. (Christian Brabandt, closes #5139)
2019-10-31 04:38:36 +01:00
77ccc00340 patch 8.1.2235: "C" with 'virtualedit' set does not include multi-byte char
Problem:    "C" with 'virtualedit' set does not include multi-byte char.
Solution:   Include the whole multi-byte char. (Nobuhiro Takasaki,
            closes #5152)
2019-10-31 03:21:25 +01:00
3f39697b73 patch 8.1.2234: get_short_pathname() fails depending on encoding
Problem:    get_short_pathname() fails depending on encoding.
Solution:   Use the wide version of the library function. (closes #5129)
2019-10-30 04:10:06 +01:00
69bf634858 patch 8.1.2233: cannot get the Vim command line arguments
Problem:    Cannot get the Vim command line arguments.
Solution:   Add v:argv. (Dmitri Vereshchagin, closes #1322)
2019-10-29 04:16:57 +01:00
8b530c1ff9 patch 8.1.2231: not easy to move to the middle of a text line
Problem:    Not easy to move to the middle of a text line.
Solution:   Add the gM command. (Yasuhiro Matsumoto, closes #2070)
2019-10-28 02:13:05 +01:00
077ff436a7 patch 8.1.2230: MS-Windows: testing external commands can be improved
Problem:    MS-Windows: testing external commands can be improved.
Solution:   Adjust tests, remove duplicate test. (closes #4928)
2019-10-28 00:42:21 +01:00
efae76ab1a patch 8.1.2229: cannot color number column above/below cursor differently
Problem:    Cannot color number column above/below cursor differently.
Solution:   Add LineNrAbove and LineNrBelow. (Shaun Brady, closes #624)
2019-10-27 22:54:58 +01:00
38ba4dce4a patch 8.1.2228: screenpos() returns wrong values when 'number' is set
Problem:    screenpos() returns wrong values when 'number' is set. (Ben
            Jackson)
Solution:   Compare the column with the window width. (closes #5133)
2019-10-27 21:39:09 +01:00
1c329c04be patch 8.1.2227: layout wrong if 'lines' changes while cmdline window is open
Problem:    Layout wrong if 'lines' changes while cmdline window is open.
Solution:   Do not restore the window layout if 'lines' changed.
            (closes #5130)
2019-10-27 20:37:35 +01:00
5b418992cf patch 8.1.2226: cannot use system copy/paste in non-xterm terminals
Problem:    Cannot use system copy/paste in non-xterm terminals.
Solution:   Instead of setting 'mouse' to "a" set it to "nvi" in defaults.vim.
2019-10-27 18:50:25 +01:00
52410575be patch 8.1.2225: the "last used" info of a buffer is under used
Problem:    The "last used" info of a buffer is under used.
Solution:   Add "lastused" to getbufinfo(). List buffers sorted by last-used
            field. (Andi Massimino, closes #4722)
2019-10-27 05:12:45 +01:00
dfded98f87 patch 8.1.2224: cannot build Amiga version
Problem:    Cannot build Amiga version.
Solution:   Add dummy mch_setmouse(). (Ola Söder, closes #5126)
2019-10-26 21:33:19 +02:00
cb86893114 patch 8.1.2223: cannot see what buffer an ml_get error is for
Problem:    Cannot see what buffer an ml_get error is for.
Solution:   Add the buffer number and name in the message
2019-10-26 20:56:21 +02:00
7ab5d77666 patch 8.1.2222: accessing invalid memory
Problem:    Accessing invalid memory. (Dominique Pelle)
Solution:   Reset highlight_match every time.  (closes #5125)
2019-10-26 20:45:24 +02:00
96f45c0b6f Update runtime files 2019-10-26 19:53:45 +02:00
8fc4296436 patch 8.1.2221: cannot filter :disp output
Problem:    Cannot filter :disp output.
Solution:   Support filtereing :disp output. (Andi Massimino, closes #5117)
2019-10-26 17:33:13 +02:00
6a0cc916bd patch 8.1.2220: :cfile does not abort like other quickfix commands
Problem:    :cfile does not abort like other quickfix commands.
Solution:   Abort when desired. Add tests for aborting. (Yegappan Lakshmanan,
            closes #5121)
2019-10-26 16:48:44 +02:00
28ed4dfe1f patch 8.1.2219: no autocommand for open window with terminal
Problem:    No autocommand for open window with terminal.
Solution:   Add TerminalWinOpen. (Christian Brabandt)
2019-10-26 16:21:40 +02:00
453c19257f patch 8.1.2218: "gN" is off by one in Visual mode
Problem:    "gN" is off by one in Visual mode.
Solution:   Check moving forward. (Christian Brabandt, #5075)
2019-10-26 14:42:09 +02:00
c7488a7fc8 patch 8.1.2217: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Move variable inside #ifdef. (John Marriott)
2019-10-26 12:23:04 +02:00
1fd30d7bae patch 8.1.2216: text property in wrong place after :substitute
Problem:    Text property in wrong place after :substitute.
Solution:   Pass the new column instead of the old one. (Christian Brabandt,
            closes #4427)
2019-10-25 22:13:29 +02:00
7aee6876eb patch 8.1.2215: unreachable code in adjusting text prop columns
Problem:    Unreachable code in adjusting text prop columns.
Solution:   Remove the code. (Christian Brabandt)
2019-10-25 21:49:38 +02:00
11a58af66f patch 8.1.2214: too much is redrawn when 'cursorline' is set
Problem:    Too much is redrawn when 'cursorline' is set.
Solution:   Don't do a complete redraw. (closes #5079)
2019-10-24 22:32:31 +02:00
aa1f04d092 patch 8.1.2213: popup_textprop tests fail
Problem:    Popup_textprop tests fail.
Solution:   Adjust the column and line positioning.
2019-10-24 22:12:54 +02:00
3691f1ee72 patch 8.1.2212: cannot see the selection type in :reg output
Problem:    Cannot see the selection type in :reg output. (Ayberk Aydın)
Solution:   Add c/l/b. (Christian Brabandt, closes #5110, closes #4546)
2019-10-24 20:17:00 +02:00
336bf2b8b2 patch 8.1.2211: listener callback "added" argument is not the total
Problem:    Listener callback "added" argument is not the total. (Andy
            Massimino)
Solution:   Compute the total. (closes #5105)
2019-10-24 20:07:07 +02:00
b754b5bf6d patch 8.1.2210: using negative offset for popup_create() does not work
Problem:    Using negative offset for popup_create() does not work.
Solution:   Use -1 instead of zero. (closes #5111)
2019-10-24 19:25:00 +02:00
ec6f735012 patch 8.1.2209: LF in escape codes may be expanded to CR-LF
Problem:    LF in escape codes may be expanded to CR-LF.
Solution:   Do not expand LF in escape codes to CR-LF. (closes #5107)
2019-10-24 17:49:27 +02:00
faf626e5d1 patch 8.1.2208: Unix: Tabs in output might be expanded to spaces
Problem:    Unix: Tabs in output might be expanded to spaces.
Solution:   Reset the XTABS flag. (closes #5108)
2019-10-24 17:43:25 +02:00
edaad6e0a0 patch 8.1.2207: "gn" doesn't work quite right
Problem:    "gn" doesn't work quite right. (Jaehwang Jerry Jung)
Solution:   Improve and simplify the search logic. (Christian Brabandt,
            closes #5103, closes #5075)
2019-10-24 15:23:37 +02:00
28686682e7 patch 8.1.2206: no test for fixed issue #3893
Problem:    No test for fixed issue #3893.
Solution:   Add a test. (Christian Brabandt, #3893)
2019-10-24 15:12:37 +02:00
6656c2ec4c patch 8.1.2205: sign entry structure has confusing name
Problem:    Sign entry structure has confusing name.
Solution:   Rename signlist_T to sign_entry_T and prefix se_ to the fields.
2019-10-24 15:00:04 +02:00
8f7ab4bd1e patch 8.1.2204: crash on exit when closing terminals
Problem:    Crash on exit when closing terminals. (Corey Hickey)
Solution:   Actually wait for the job to stop. (closes #5100)
2019-10-23 23:16:45 +02:00
823edd1eed patch 8.1.2203: running libvterm tests without the +terminal feature
Problem:    Running libvterm tests without the +terminal feature.
Solution:   Only add the libvterm test target when building libvterm.
2019-10-23 22:35:36 +02:00
93bbf33ceb patch 8.1.2202: MS-Windows: build failure with GUI and small features
Problem:    MS-Windows: build failure with GUI and small features.
Solution:   Add #ifdef. (Michael Soyka, closes #5097)
2019-10-23 21:43:16 +02:00
13a1f3fb0c patch 8.1.2201: cannot build with dynamically linked Python 3.8
Problem:    Cannot build with dynamically linked Python 3.8.
Solution:   Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata,
            closes #4080)
2019-10-23 21:37:25 +02:00
1cac70953d patch 8.1.2200: crash when memory allocation fails
Problem:    Crash when memory allocation fails.
Solution:   Check for NULL curwin and curbuf. (Christian Brabandt,
            closes #4839)
2019-10-22 21:54:31 +02:00
a720be78d7 patch 8.1.2199: build failure when using normal features without GUI
Problem:    Build failure when using normal features without GUI and EXITFREE
            defined.
Solution:   Add #ifdef. (Dominique Pelle, closes #5106)
2019-10-22 21:45:19 +02:00
396b7c78c0 patch 8.1.2198: crash when using :center in autocommand
Problem:    Crash when using :center in autocommand.
Solution:   Bail out early for an empty line. (Dominique pelle, closes #5095)
2019-10-21 23:08:59 +02:00
34ba06b6e6 patch 8.1.2197: ExitPre autocommand may cause accessing freed memory
Problem:    ExitPre autocommand may cause accessing freed memory.
Solution:   Check the window pointer is still valid. (closes #5093)
2019-10-20 22:27:10 +02:00
d53ebfc624 patch 8.1.2196: MS-Windows: running tests with MSVC lacks updates
Problem:    MS-Windows: running tests with MSVC lacks updates.
Solution:   Improve running individual tests on MS-Windows. (closes #4922)
2019-10-20 21:47:20 +02:00
4d14bac8e7 patch 8.1.2195: Vim does not exit when the terminal window is last window
Problem:    Vim does not exit when closing a terminal window and it is the
            last window.
Solution:   Exit Vim if the closed terminal window is the last one.
            (closes #4539)
2019-10-20 21:15:15 +02:00
4b57018ee4 patch 8.1.2194: modifyOtherKeys is not enabled by default
Problem:    ModifyOtherKeys is not enabled by default.
Solution:   Add t_TI and t_TE to the builtin xterm termcap.
2019-10-20 19:53:22 +02:00
a13961536e patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Problem:    Popup_setoptions(popup_getoptions()) does not work.
Solution:   Also accept a list with three entries for "moved" and
            "mousemoved". (closes #5081)
2019-10-20 18:46:05 +02:00
dca7abe79c patch 8.1.2192: cannot easily fill the info popup asynchronously
Problem:    Cannot easily fill the info popup asynchronously.
Solution:   Add the "popuphidden" value to 'completeopt'. (closes #4924)
2019-10-20 18:17:57 +02:00
88d3d09e07 patch 8.1.2191: when using modifyOtherKeys CTRL-X mode may not work
Problem:    When using modifyOtherKeys CTRL-X mode may not work.
Solution:   Recognize a control character also in the form with a modifier.
2019-10-20 16:00:47 +02:00
83e9a1ce75 patch 8.1.2190: syntax test fails on Mac
Problem:    Syntax test fails on Mac.
Solution:   Limit the window size to 20 rows.
2019-10-20 14:51:23 +02:00
82260afb0e patch 8.1.2189: syntax highlighting wrong for tab
Problem:    Syntax highlighting wrong for tab.
Solution:   Don't clear syntax attribute n_extra is non-zero.
2019-10-20 13:16:22 +02:00
2b78ab5d0c patch 8.1.2188: build error for missing define
Problem:    Build error for missing define.
Solution:   Add missing change.
2019-10-19 22:50:20 +02:00
b40c2576d4 patch 8.1.2187: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes #5059)
2019-10-19 21:01:05 +02:00
7eed964b41 patch 8.1.2186: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used, when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes #5059)
2019-10-19 20:57:28 +02:00
bbfd1562ae patch 8.1.2185: syntax test fails
Problem:    Syntax test fails.
Solution:   Add missing file patch.
2019-10-19 20:38:15 +02:00
cfb381421f patch 8.1.2184: option context is not copied when splitting a window
Problem:    Option context is not copied when splitting a window. (Daniel
            Hahler)
Solution:   Copy the option context, so that ":verbose set" works.
            (closes #5066)
2019-10-19 20:18:47 +02:00
ba089307bb patch 8.1.2183: running a test is a bit verbose
Problem:    Running a test is a bit verbose.
Solution:   Silence some messages. (Daniel Hahler, closes #5070)
2019-10-19 18:56:58 +02:00
5b39d7adb0 patch 8.1.2182: test42 seen as binary by git diff
Problem:    Test42 seen as binary by git diff.
Solution:   Add .gitattributes file.  Make explicit that 'cpo' does not
            contain 'S'. (Daniel Hahler, closes #5072)
2019-10-19 18:37:53 +02:00
a74fda6f4d patch 8.1.2181: highlighting wrong when item follows tab
Problem:    Highlighting wrong when item follows tab.
Solution:   Don't use syntax attribute when n_extra is non-zero.
            (Christian Brabandt, closes #5076)
2019-10-19 17:38:03 +02:00
00e192becd patch 8.1.2180: Error E303 is not useful when 'directory' is empty
Problem:    Error E303 is not useful when 'directory' is empty.
Solution:   Skip the error message. (Daniel Hahler, #5067)
2019-10-19 17:01:28 +02:00
b98678a974 patch 8.1.2179: pressing "q" at the more prompt doesn't stop Python output
Problem:    Pressing "q" at the more prompt doesn't stop Python output. (Daniel
            Hahler)
Solution:   Check for got_int in writer(). (closes #5053)
            Also do this for Lua.
2019-10-19 15:18:44 +02:00
15ee567809 patch 8.1.2178: accessing uninitialized memory in test
Problem:    Accessing uninitialized memory in test.
Solution:   Check if there was a match before using the match position.
            (Dominique Pelle, closes #5088)
2019-10-19 14:35:02 +02:00
afbdb905c3 patch 8.1.2177: Dart files are not recognized
Problem:    Dart files are not recognized.
Solution:   Add a filetype rule. (Eugene Ciurana, closes #5087)
2019-10-19 14:10:21 +02:00
8459006af5 patch 8.1.2176: syntax attributes not combined with Visual highlighting
Problem:    Syntax attributes not combined with Visual highlighting. (Arseny
            Nasokin)
Solution:   Combine the attributes. (closes #5083)
2019-10-18 23:12:20 +02:00
c3bf7b56f2 patch 8.1.2175: meson files are not recognized
Problem:    Meson files are not recognized.
Solution:   Add the meson filetype. (Liam Beguin , Nirbheek Chauhan,
            closes #5056)  Also recognize hollywood.
2019-10-18 22:09:34 +02:00
89577b3b3e patch 8.1.2174: screen not recognized as supporting "sgr" mouse codes
Problem:    Screen not recognized as supporting "sgr" mouse codes.
Solution:   Recognize screen 4.7. (Jordan Christiansen, closes #5042)
2019-10-18 21:26:05 +02:00
92ea26b925 patch 8.1.2173: searchit() has too many arguments
Problem:    Searchit() has too many arguments.
Solution:   Move optional arguments to a struct.  Add the "wrapped" argument.
2019-10-18 20:53:34 +02:00
7751d1d1a3 patch 8.1.2172: spell highlight is wrong at start of the line
Problem:    Spell highlight is wrong at start of the line.
Solution:   Fix setting the "v" variable. (closes #5078)
2019-10-18 20:37:08 +02:00
a1cb1d1dce patch 8.1.2171: mouse support not always available
Problem:    Mouse support not always available.
Solution:   Enable mouse support also in tiny version.  Do not define
            FEAT_MOUSE_XTERM on MS-Windows (didn't really work).
2019-10-17 23:00:07 +02:00
0d2c4bf171 patch 8.1.2170: cannot build without the +termresponse feature
Problem:    Cannot build without the +termresponse feature.
Solution:   Add #ifdef.
2019-10-17 22:17:02 +02:00
3cea8a9a51 patch 8.1.2169: terminal flags are never reset
Problem:    Terminal flags are never reset.
Solution:   Reset the flags when setting 'term'.
2019-10-17 21:55:24 +02:00
b1ba9abcb3 patch 8.1.2168: heredoc assignment not skipped in if block
Problem:    Heredoc assignment not skipped in if block.
Solution:   Check if "skip" is set. (closes #5063)
2019-10-16 23:34:42 +02:00
2559a47823 patch 8.1.2167: mapping test fails on MS-Windows
Problem:    Mapping test fails on MS-Windows.
Solution:   Remove all the existing Insert-mode mappings.
2019-10-16 23:33:12 +02:00
4a4981b7cd patch 8.1.2166: rubyeval() not tested as a method
Problem:    Rubyeval() not tested as a method.
Solution:   Change a test case.
2019-10-16 22:36:11 +02:00
2e693a88b2 Update runtime files. 2019-10-16 22:35:02 +02:00
4f2f61a014 patch 8.1.2165: mapping test fails on Mac
Problem:    Mapping test fails on Mac.
Solution:   Remove the default Mac mapping.
2019-10-16 22:27:49 +02:00
7b3d939667 patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Problem:    Stuck when using "j" in a popupwin with popup_filter_menu if a
            line wraps.
Solution:   Check the cursor line is visible. (closes #4577)
2019-10-16 22:17:07 +02:00
b2fe1d676f patch 8.1.2163: cannot build with +spell but without +syntax
Problem:    Cannot build with +spell but without +syntax.
Solution:   Add #ifdef. (John Marriott)
2019-10-16 21:33:40 +02:00
4e03933726 patch 8.1.2162: popup resize test is flaky
Problem:    Popup resize test is flaky. (Christian Brabandt)
Solution:   Add the function to the list of flaky tests.
2019-10-16 21:13:35 +02:00
4bd88d568a patch 8.1.2161: mapping test fails
Problem:    Mapping test fails.
Solution:   Run the test separately.
2019-10-16 19:27:26 +02:00
a6cc5beb17 patch 8.1.2160: cannot build with +syntax but without +terminal
Problem:    Cannot build with +syntax but without +terminal.
Solution:   Add #ifdef.
2019-10-16 18:42:26 +02:00
fafb4b18cd patch 8.1.2159: some mappings are listed twice
Problem:    Some mappings are listed twice.
Solution:   Skip mappings duplicated for modifyOtherKeys. (closes #5064)
2019-10-16 18:34:57 +02:00
17efc7fa05 patch 8.1.2158: terminal attributes missing in Terminal-normal mode
Problem:    Terminal attributes missing in Terminal-normal mode.
Solution:   Use "syntax_attr".
2019-10-16 18:11:31 +02:00
8f7b29f033 patch 8.1.2157: libvterm source files missing from distribution
Problem:    Libvterm source files missing from distribution.
Solution:   Rename source files. (closes #5065)
2019-10-16 17:15:18 +02:00
9115c611db patch 8.1.2156: first character after Tab is not highlighted
Problem:    First character after Tab is not highlighted.
Solution:   Remember the syntax attribute for a column.
2019-10-16 16:57:06 +02:00
a3817730c0 patch 8.1.2155: in a terminal window 'cursorlineopt' does not work properly
Problem:    In a terminal window 'cursorlineopt' does not work properly.
Solution:   Check the 'cursorlineopt' value. (closes #5055)
2019-10-16 16:31:44 +02:00
1142a31b8c patch 8.1.2154: quickfix window height wrong when there is a tabline
Problem:    Quickfix window height wrong when there is a tabline. (Daniel
            Hahler)
Solution:   Take the tabline height into account. (closes #5058)
2019-10-16 14:51:39 +02:00
3439028c89 patch 8.1.2153: combining text property and syntax highlight is wrong
Problem:    Combining text property and syntax highlight is wrong. (Nick
            Jensen)
Solution:   Compute the syntax highlight attribute much earlier.
            (closes #5057)
2019-10-16 14:38:26 +02:00
27fc8cab22 patch 8.1.2152: problems navigating tags file on MacOS Catalina
Problem:    Problems navigating tags file on MacOS Catalina.
Solution:   Use fseek instead of lseek. (John Lamb, fixes #5061)
2019-10-15 22:23:37 +02:00
3c8cd4a1dc patch 8.1.2151: state test is a bit flaky
Problem:    State test is a bit flaky.
Solution:   Add to the list of flaky tests.
2019-10-14 22:26:20 +02:00
03b00476ee patch 8.1.2150: no test for 'ttymouse' set from xterm version response
Problem:    No test for 'ttymouse' set from xterm version response.
Solution:   Test the three possible values.
2019-10-14 22:22:03 +02:00
e3a22cb1ba patch 8.1.2149: crash when running out of memory very early
Problem:    Crash when running out of memory very early.
Solution:   Do not use IObuff when it's NULL. (closes #5052)
2019-10-14 22:01:57 +02:00
6aa7523b96 patch 8.1.2148: no test for right click extending Visual area
Problem:    No test for right click extending Visual area.
Solution:   Add a test. (Dominique Pelle, closes #5018)
2019-10-13 21:01:34 +02:00
53efb18530 patch 8.1.2147: crash when allocating memory fails
Problem:    Crash when allocating memory fails. (Zu-Ming Jiang)
Solution:   Check that 'spellcapcheck' is not NULL. (closes #5048)
2019-10-13 19:49:26 +02:00
1e7b52ad8a patch 8.1.2146: build failure
Problem:    Build failure.
Solution:   Include omitted changed file.
2019-10-13 16:59:08 +02:00
459fd785e4 patch 8.1.2145: cannot map <C-H> when modifyOtherKeys is enabled
Problem:    Cannot map <C-H> when modifyOtherKeys is enabled.
Solution:   Add the <C-H> mapping twice, both with modifier and as 0x08.  Use
            only the first one when modifyOtherKeys has been detected.
2019-10-13 16:43:39 +02:00
171a921b51 patch 8.1.2144: side effects when using t_ti to enable modifyOtherKeys
Problem:    Side effects when using t_ti to enable modifyOtherKeys.
Solution:   Add t_TI and t_TE.
2019-10-12 21:08:59 +02:00
4facea310c patch 8.1.2143: cannot see each command even when 'verbose' is set
Problem:    Cannot see each command even when 'verbose' is set.
Solution:   List each command when 'verbose' is at least 16.
2019-10-12 20:17:40 +02:00
d1e2f3984a patch 8.1.2142: some key mappings do not work with modifyOtherKeys
Problem:    Some key mappings do not work with modifyOtherKeys.
Solution:   Remove the Shift modifier if it is already included in the key.
2019-10-12 18:22:50 +02:00
e8070987c6 patch 8.1.2141: :tselect has an extra hit-enter prompt
Problem:    :tselect has an extra hit-enter prompt.
Solution:   Do not set need_wait_return when only moving the cursor.
            (closes #5040)
2019-10-12 17:07:06 +02:00
ceba3dd518 patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Problem:    "gk" and "gj" do not work correctly in number column.
Solution:   Allow for a negative "curswant". (Zach Wegner, closes #4969)
2019-10-12 16:12:54 +02:00
18a79a6841 patch 8.1.2139: the modifyOtherKeys codes are not tested
Problem:    The modifyOtherKeys codes are not tested.
Solution:   Add a test case.
2019-10-12 15:36:11 +02:00
4cdbed33e4 patch 8.1.2138: including the build number in the Win32 binary is confusing
Problem:    Including the build number in the Win32 binary is confusing.
Solution:   Only use the patchlevel.
2019-10-12 15:02:47 +02:00
1a4cbb19de patch 8.1.2137: parsing the termresponse is not tested
Problem:    Parsing the termresponse is not tested.
Solution:   Add a first test. (related to #5042)
2019-10-12 13:25:44 +02:00
ec66c41d84 patch 8.1.2136: using freed memory with autocmd from fuzzer
Problem:    using freed memory with autocmd from fuzzer. (Dhiraj Mishra,
            Dominique Pelle)
Solution:   Avoid using "wp" after autocommands. (closes #5041)
2019-10-11 21:19:13 +02:00
00eab7f128 patch 8.1.2135: with modifyOtherKeys Alt-a does not work properly
Problem:    With modifyOtherKeys Alt-a does not work properly.
Solution:   Remove the ALT modifier.  Get multi-byte after applying ALT.
2019-10-10 21:49:28 +02:00
6a0299d8f4 patch 8.1.2134: modifier keys are not always recognized
Problem:    Modifier keys are not always recognized.
Solution:   Handle key codes generated by xterm with modifyOtherKeys set.
            Add this to libvterm so we can debug it.
2019-10-10 21:14:03 +02:00
07282f01da patch 8.1.2133: some tests fail when run as root
Problem:    Some tests fail when run as root.
Solution:   Add CheckNotRoot and use it. (James McCoy, closes #5020)
2019-10-10 16:46:17 +02:00
a129974bc7 patch 8.1.2132: MS-Windows: screen mess when not recognizing insider build
Problem:    MS-Windows: screen mess when not recognizing insider build.
Solution:   Always move the cursor to the first column first. (Nobuhiro
            Takasaki, closes #5036)
2019-10-10 16:36:00 +02:00
c25e702dee patch 8.1.2131: MSVC tests fail
Problem:    MSVC tests fail.
Solution:   Replace backslashes with slashes.
2019-10-10 14:08:26 +02:00
073e779640 patch 8.1.2130: MSVC build fails
Problem:    MSVC build fails.
Solution:   Add the source file name explicitly.
2019-10-10 13:39:08 +02:00
1ac41a5c13 patch 8.1.2129: using hard coded executable path in test
Problem:    Using hard coded executable path in test.
Solution:   Use v:progpath. Use $VIMRUNTIME instead of "runtime". (James
            McCoy, closes #5025)
2019-10-10 13:30:12 +02:00
9326805442 patch 8.1.2128: renamed libvterm sources makes merging difficult
Problem:    Renamed libvterm sources makes merging difficult.
Solution:   Rename back to the original name and only rename the .o files.
            Also clean the libvterm build artifacts. (James McCoy,
            closes #5027)
2019-10-10 13:22:54 +02:00
14c01f8348 patch 8.1.2127: the indent.c file is a bit big
Problem:    The indent.c file is a bit big.
Solution:   Move C-indent code a a new cindent.c file.  Move other
            indent-related code to indent.c. (Yegappan Lakshmanan,
            closes #5031)
2019-10-09 22:53:08 +02:00
6bd1d77067 patch 8.1.2126: viminfo not sufficiently tested
Problem:    Viminfo not sufficiently tested.
Solution:   Add more test cases.  Clean up comments. (Yegappan Lakshmanan,
            closes #5032)
2019-10-09 22:01:25 +02:00
b189295b72 patch 8.1.2125: fnamemodify() fails when repeating :e
Problem:    Fnamemodify() fails when repeating :e.
Solution:   Do not go before the tail. (Rob Pilling, closes #5024)
2019-10-08 23:26:50 +02:00
345f28df54 patch 8.1.2124: ruler is not updated if win_execute() moves cursor
Problem:    Ruler is not updated if win_execute() moves cursor.
Solution:   Update the status line. (closes #5022)
2019-10-08 22:20:35 +02:00
c3e555b22f patch 8.1.2123: parsing CSI sequence is messy
Problem:    Parsing CSI sequence is messy.
Solution:   Generalize parsing a CSI sequence.
2019-10-08 20:15:39 +02:00
fbbd102be0 patch 8.1.2122: cannot build without terminal feature
Problem:    Cannot build without terminal feature.
Solution:   Add #ifdef.
2019-10-07 22:38:58 +02:00
a27e1dcddc patch 8.1.2121: mode is not updated when switching to terminal
Problem:    Mode is not updated when switching to terminal in Insert mode.
Solution:   Redraw the mode when entering a terminal window. (Jason Franklin)
2019-10-07 22:27:36 +02:00
1614a14901 patch 8.1.2120: some MB_ macros are more complicated than necessary
Problem:    Some MB_ macros are more complicated than necessary. (Dominique
            Pelle)
Solution:   Simplify the macros.  Expand inline.
2019-10-06 22:00:13 +02:00
524f3b19ae patch 8.1.2119: memory access error for empty string
Problem:    memory access error for empty string when 'encoding' is a single
            byte encoding.
Solution:   Check for empty string when getting the length. (Dominique Pelle,
            closes #5021, closes #5007)
2019-10-06 20:08:38 +02:00
eb66328bd7 patch 8.1.2118: termcodes test fails when $TERM is "dumb"
Problem:    Termcodes test fails when $TERM is "dumb".
Solution:   Skip the test. (James McCoy, closes #5019)
2019-10-06 12:02:15 +02:00
49474ca122 patch 8.1.2117: CursorLine highlight used while 'cursorline' is off
Problem:    CursorLine highlight used while 'cursorline' is off.
Solution:   Check 'cursorline' is set. (cloes #5017)
2019-10-05 21:57:12 +02:00
1671de3098 patch 8.1.2116: no check for out of memory
Problem:    No check for out of memory.
Solution:   Check for NULL pointer.
2019-10-05 21:35:16 +02:00
2efc44b3f0 patch 8.1.2115: MS-Windows: shell commands fail if &shell contains a space
Problem:    MS-Windows: shell commands fail if &shell contains a space.
Solution:   Use quotes instead of escaping. (closes #4920)
2019-10-05 12:09:32 +02:00
fd00c042af patch 8.1.2114: when a popup is closed with CTRL-C the callback aborts
Problem:    When a popup is closed with CTRL-C the callback aborts.
Solution:   Reset got_int when invoking the callback. (closes #5008)
2019-10-05 11:56:54 +02:00
9ca250855b patch 8.1.2113: ":help expr-!~?" only works after searching
Problem:    ":help expr-!~?" only works after searching.
Solution:   Escape "~" after "expr-". (closes #5015)
2019-10-05 11:30:09 +02:00
4c063dde73 patch 8.1.2112: build number for ConPTY is outdated
Problem:    Build number for ConPTY is outdated.
Solution:   Update to new build number. (Nobuhiro Takasaki, closes #5014)
2019-10-04 21:29:12 +02:00
2a8d3b8997 patch 8.1.2111: viminfo file not sufficiently tested
Problem:    Viminfo file not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5009)
2019-10-04 21:20:25 +02:00
e8a7dfedfc patch 8.1.2110: CTRL-C closes two popups instead of one
Problem:    CTRL-C closes two popups instead of one.
Solution:   Reset got_int when the filter consumed the key.
2019-10-03 22:35:52 +02:00
1824f45883 patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Problem:    popup_getoptions() hangs with tab-local popup.
Solution:   Correct pointer name. (Marko Mahnič, closes #5006)
2019-10-02 23:06:46 +02:00
23324a0b35 patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Problem:    Cannot close the cmdline window from CmdWinEnter. (George Brown)
Solution:   Reset cmdwin_result earlier. (Christian Brabandt, closes #4980)
2019-10-01 17:39:04 +02:00
8617348e21 patch 8.1.2107: various memory leaks reported by asan
Problem:    Various memory leaks reported by asan.
Solution:   Free the memory. (Ozaki Kiichi, closes #5003)
2019-10-01 17:02:16 +02:00
b4367b7fb6 patch 8.1.2106: no tests for dragging the mouse beyond the window
Problem:    No tests for dragging the mouse beyond the window.
Solution:   Add a test. (Dominique Pelle, closes #5004)
2019-10-01 14:19:07 +02:00
2886dcceba patch 8.1.2105: MS-Windows: system() may crash
Problem:    MS-Windows: system() may crash.
Solution:   Do not use "itmp" when it is NULL. (Yasuhiro Matsumoto,
            closes #5005)
2019-10-01 12:10:25 +02:00
792cf5e1be patch 8.1.2104: the normal.c file is too big
Problem:    The normal.c file is too big.
Solution:   Move do_pending_operator() to ops.c. (Yegappan Lakshmanan,
            closes #4999).
2019-09-30 23:12:16 +02:00
18223a592e patch 8.1.2103: wrong error message if "termdebugger" is not executable
Problem:    wrong error message if "termdebugger" is not executable.
Solution:   Check if "termdebugger" is executable and give a clear error
            message. (Ozaki Kiichi, closes #5000)  Fix indents.
2019-09-30 20:47:54 +02:00
d17a57a433 patch 8.1.2102: can't build with GTK and FEAT_GUI_GNOME
Problem:    Can't build with GTK and FEAT_GUI_GNOME. (Tony Mechelynck)
Solution:   Adjust the #ifdef. (Yegappan Lakshmanan)
2019-09-29 20:53:55 +02:00
ac02a638b4 patch 8.1.2101: write_session_file() often defined but not used
Problem:    write_session_file() often defined but not used.
Solution:   Adjust the #ifdef. (Yegappan Lakshmanan, closes #4998)
2019-09-29 19:02:46 +02:00
ee1a2b5a2a patch 8.1.2100: :mksession is not sufficiently tested
Problem:    :mksession is not sufficiently tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #4993)
2019-09-29 14:23:39 +02:00
b7a97ef340 patch 8.1.2099: state() test fails on some Mac systems
Problem:    state() test fails on some Mac systems.
Solution:   Increase the wait time. (closes #4983)
2019-09-28 22:11:56 +02:00
37ac4a531c patch 8.1.2098: mksession test fails on MS-Windows
Problem:    mksession test fails on MS-Windows.
Solution:   Skip testing with backslashes on MS-Windows.
2019-09-28 19:29:04 +02:00
66f0e6c6e2 patch 8.1.2097: :mksession is not sufficiently tested
Problem:    :mksession is not sufficiently tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #4992)
2019-09-28 19:08:45 +02:00
8c96af9c05 patch 8.1.2096: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_COMMENTS.
2019-09-28 19:05:57 +02:00
a893194d91 patch 8.1.2095: leaking memory when getting item from dict
Problem:    Leaking memory when getting item from dict.
Solution:   Also free the key when not evaluating.
2019-09-28 17:25:10 +02:00
473952e852 patch 8.1.2094: the fileio.c file is too big
Problem:    The fileio.c file is too big.
Solution:   Move buf_write() to bufwrite.c. (Yegappan Lakshmanan,
            closes #4990)
2019-09-28 16:30:04 +02:00
9be0e0b9d3 patch 8.1.2093: MS-Windows: system() test fails
Problem:    MS-Windows: system() test fails.
Solution:   Expect CR when using systemlist().
2019-09-28 16:25:00 +02:00
1a61339806 patch 8.1.2092: MS-Windows: redirect in system() does not work
Problem:    MS-Windows: redirect in system() does not work.
Solution:   Handle 'shellxescape' and 'shellxquote' better. (Yasuhiro
            Matsumoto, closes #2054)
2019-09-28 15:51:37 +02:00
0f1c6708fd patch 8.1.2091: double free when memory allocation fails
Problem:    Double free when memory allocation fails. (Zu-Ming Jiang)
Solution:   Use VIM_CLEAR() instead of vim_free(). (closes #4991)
2019-09-28 15:24:00 +02:00
2e47cab715 patch 8.1.2090: not clear why channel log file ends
Problem:    Not clear why channel log file ends.
Solution:   Add a "closing" line.
2019-09-27 23:12:45 +02:00
7b666c7883 patch 8.1.2089: do not get a hint that $TEST_FILTER was active
Problem:    Do not get a hint that $TEST_FILTER was active.
Solution:   Mention $TEST_FILTER if no functions were executed.
2019-09-27 21:25:00 +02:00
383f387d9d patch 8.1.2088: renamed libvterm mouse.c file not in distributed file list
Problem:    Renamed libvterm mouse.c file not in distributed file list.
Solution:   Rename the file in the file list.
2019-09-27 19:35:48 +02:00
5be4ceecea Update runtime files. 2019-09-27 19:34:08 +02:00
a7f6c3cf07 patch 8.1.2087: cannot easily select one test function to execute
Problem:    Cannot easily select one test function to execute.
Solution:   Support the $TEST_FILTER environment variable. (Ozaki Kiichi,
            closes #2695)
2019-09-27 15:34:16 +02:00
38f1eeac3d patch 8.1.2086: missing a few changes for the renamed files
Problem:    Missing a few changes for the renamed files.
Solution:   Rename in a few more places. (Ken Takata)
2019-09-27 14:19:09 +02:00
2313b61257 patch 8.1.2085: MS-Windows: draw error moving cursor over double-cell char
Problem:    MS-Windows: draw error moving cursor over double-cell character.
Solution:   Move the cursor to the left edge if needed. (Nobuhiro Takasaki,
            closes #4986)
2019-09-27 14:14:32 +02:00
5e8e967f25 patch 8.1.2084: Amiga: cannot get the user name
Problem:    Amiga: cannot get the user name.
Solution:   Use getpwuid() if available. (Ola Söder, closes #4985)
2019-09-27 13:38:56 +02:00
ce0fac2897 patch 8.1.2083: multi-byte chars do not work properly with "%.*S" in printf()
Problem:    Multi-byte chars do not work properly with "%.*S" in printf().
Solution:   Use mb_ptr2cells(). Daniel Hahler, closes #4989)
2019-09-27 13:32:06 +02:00
30e8e73506 patch 8.1.2082: some files have a weird name to fit in 8.3 characters
Problem:    Some files have a weird name to fit in 8.3 characters.
Solution:   Use a nicer names.
2019-09-27 13:08:36 +02:00
46a426c9ac patch 8.1.2081: the spell.c file is too big
Problem:    The spell.c file is too big.
Solution:   Move the code for spell suggestions to a separate file. (Yegappan
            Lakshmanan, closes #4988)
2019-09-27 12:41:56 +02:00
d2842ea60b patch 8.1.2080: the terminal API is limited and can't be disabled
Problem:    The terminal API is limited and can't be disabled.
Solution:   Add term_setapi() to set the function prefix. (Ozaki Kiichi,
            closes #2907)
2019-09-26 23:08:54 +02:00
d2c1fb476d patch 8.1.2079: popup window test fails without +terminal
Problem:    Popup window test fails without +terminal.
Solution:   Check for the +terminal feature.
2019-09-25 23:06:40 +02:00
f21118e4a9 patch 8.1.2078: build error with +textprop but without +terminal
Problem:    Build error with +textprop but without +terminal. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-09-25 22:45:45 +02:00
4aea03eb87 patch 8.1.2077: the ops.c file is too big
Problem:    The ops.c file is too big.
Solution:   Move code for dealing with registers to a new file. (Yegappan
            Lakshmanan, closes #4982)
2019-09-25 22:37:17 +02:00
e0d749a496 patch 8.1.2076: crash when trying to put a terminal in a popup window
Problem:    Crash when trying to put a terminal buffer in a popup window.
Solution:   Check for NULL buffer.  Do not allow putting a terminal in a popup
            window.
2019-09-25 22:14:48 +02:00
101e99207f patch 8.1.2075: get many log messages when waiting for a typed character
Problem:    Get many log messages when waiting for a typed character.
Solution:   Do not repeat the repeated messages when nothing happens.
2019-09-25 21:43:11 +02:00
0d0c3ca007 patch 8.1.2074: test for SafeState autocommand is a bit flaky
Problem:    Test for SafeState autocommand is a bit flaky.
Solution:   Add to list of flaky tests.
2019-09-25 21:16:15 +02:00
010ee9657a patch 8.1.2073: when editing a buffer 'colorcolumn' may not work
Problem:    When editing a buffer 'colorcolumn' may not work.
Solution:   Set the buffer before copying option values. Call
            check_colorcolumn() after copying window options.
2019-09-25 20:37:36 +02:00
03ac52fc02 patch 8.1.2072: "gk" moves to start of line instead of upwards
Problem:    "gk" moves to start of line instead of upwards.
Solution:   Fix off-by-one error. (Christian Brabandt, closes #4969)
2019-09-24 22:47:46 +02:00
053f712ef2 patch 8.1.2071: when 'wincolor' is set text property changes highlighting
Problem:    When 'wincolor' is set text property changes highlighting. (Andy
            Stewart)
Solution:   Fix combining colors. (closes #4968)
2019-09-23 22:17:15 +02:00
b8ff5c271e patch 8.1.2070: mouse code is spread out
Problem:    Mouse code is spread out.
Solution:   Move mouse terminal code parsing to mouse.c. (Yegappan Lakshmanan,
            closes #4966)
2019-09-23 21:16:54 +02:00
0f6629a08a patch 8.1.2069: test for SafeStateAgain may still fail
Problem:    Test for SafeStateAgain may still fail.
Solution:   Send another message to trigger SafeStateAgain.
2019-09-22 23:24:13 +02:00
513537bfff patch 8.1.2068: test for SafeState and SafeStateAgain may fail
Problem:    Test for SafeState and SafeStateAgain may fail.
Solution:   Accept more possible responses
2019-09-22 23:03:58 +02:00
cadbe1b1fb patch 8.1.2067: no tests for SafeState and SafeStateAgain
Problem:    No tests for SafeState and SafeStateAgain.
Solution:   Add tests.
2019-09-22 21:50:09 +02:00
c258549032 patch 8.1.2066: no tests for state()
Problem:    No tests for state().
Solution:   Add tests.  Clean up some feature checks.  Make "a" flag work.
2019-09-22 21:29:53 +02:00
910c378d93 patch 8.1.2065: compiler warning building non-GUI with MinGW.
Problem:    Compiler warning building non-GUI with MinGW.
Solution:   Adjust #ifdefs. (Yegappan Lakshmanan, closes #4964)
2019-09-22 14:11:50 +02:00
bd67aac279 patch 8.1.2064: MS-Windows: compiler warnings for unused arguments
Problem:    MS-Windows: compiler warnings for unused arguments.
Solution:   Add UNUSED. (Yegappan Lakshmanan, closes #4963)
2019-09-21 23:09:04 +02:00
1e82a784ac patch 8.1.2063: some tests fail when +balloon_eval_term is missing
Problem:    Some tests fail when +balloon_eval_term is missing but
            _balloon_eval is present. (Dominique Pelle)
Solution:   Check the right feature in the test. (closes #4962)
2019-09-21 22:57:06 +02:00
b20b9e14dd patch 8.1.2062: the mouse code is spread out
Problem:    The mouse code is spread out.
Solution:   Move all the mouse code to mouse.c. (Yegappan Lakshmanan,
            closes #4959)
2019-09-21 20:48:04 +02:00
4d5c12626c patch 8.1.2061: MS-Windows GUI: ":sh" crashes when trying to use a terminal
Problem:    MS-Windows GUI: ":sh" crashes when trying to use a terminal.
Solution:   Check for a NULL command. (Yasuhiro Matsumoto, closes #4958)
2019-09-20 17:20:02 +02:00
bffba7f704 patch 8.1.2060: "precedes" in 'listchars' not used properly
Problem:    "precedes" in 'listchars' not used properly.
Solution:   Correctly handle the "precedes" char in list mode for long lines.
            (Christian Brabandt, closes #4953)
2019-09-20 17:00:17 +02:00
589edb3404 Updte runtime files 2019-09-20 14:38:13 +02:00
56ebbabea1 patch 8.1.2059: fix for "x" deleting a fold has side effects
Problem:    Fix for "x" deleting a fold has side effects.
Solution:   Fix it where the fold is included.
2019-09-20 13:40:14 +02:00
4bd782339e patch 8.1.2058: function for ex command is named inconsistently
Problem:    Function for ex command is named inconsistently.
Solution:   Rename do_marks() to ex_marks().
2019-09-19 23:21:55 +02:00
7528d1f6b5 patch 8.1.2057: the screen.c file is much too big
Problem:    The screen.c file is much too big.
Solution:   Split it in three parts. (Yegappan Lakshmanan, closes #4943)
2019-09-19 23:06:20 +02:00
cd67059c0c patch 8.1.2056: "make test" for indent files doesn't cause make to fail
Problem:    "make test" for indent files doesn't cause make to fail.
Solution:   Exit the script with ":cquit". (Daniel Hahler, closes #4949)
2019-09-18 22:14:43 +02:00
181d4f58cc patch 8.1.2055: not easy to jump to function line from profile
Problem:    Not easy to jump to function line from profile.
Solution:   Use "file:99" instead of "file line 99" so that "gf" works.
            (Daniel Hahler, closes #4951)
2019-09-18 22:04:56 +02:00
cebfcffa40 patch 8.1.2054: compiler test for Perl may fail
Problem:    Compiler test for Perl may fail.
Solution:   Accept any error line number. (James McCoy, closes #4944)
2019-09-18 21:42:38 +02:00
d103ee7843 patch 8.1.2053: SafeStateAgain not triggered if callback uses feedkeys()
Problem:    SafeStateAgain not triggered if callback uses feedkeys().
Solution:   Check for safe state in the input loop.  Make log messages easier
            to find. Add 'S' flag to state().
2019-09-18 21:15:31 +02:00
7a9bd7c1e0 patch 8.1.2052: using "x" before a closed fold may delete that fold
Problem:    Using "x" before a closed fold may delete that fold.
Solution:   Do not translate 'x' do "dl". (Christian Brabandt, closes #4927)
2019-09-17 22:42:55 +02:00
705918f9f7 patch 8.1.2051: double-click test is a bit flaky
Problem:    Double-click test is a bit flaky.
Solution:   Correct entry in list of flaky tests.
2019-09-17 21:27:49 +02:00
7e0f462db5 patch 8.1.2050: popup window test fails in some configurations
Problem:    Popup window test fails in some configurations. (James McCoy)
Solution:   Clear the command line.
2019-09-17 21:23:39 +02:00
397c6a1438 patch 8.1.2049: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Add #ifdefs.
2019-09-17 20:54:31 +02:00
37d1807a80 patch 8.1.2048: not clear why SafeState and SafeStateAgain are not triggered
Problem:    Not clear why SafeState and SafeStateAgain are not triggered.
Solution:   Add log statements.
2019-09-17 20:28:38 +02:00
0e57dd859e patch 8.1.2047: cannot check the current state
Problem:    Cannot check the current state.
Solution:   Add the state() function.
2019-09-16 22:56:03 +02:00
69198cb8c0 patch 8.1.2046: SafeState may be triggered at the wrong moment
Problem:    SafeState may be triggered at the wrong moment.
Solution:   Move it up higher to after where messages are processed.  Add a
            SafeStateAgain event to tigger there.
2019-09-16 21:58:13 +02:00
dac1347b4d patch 8.1.2045: the option.c file is too big
Problem:    The option.c file is too big.
Solution:   Split off the code dealing with strings. (Yegappan Lakshmanan,
            closes #4937)
2019-09-16 21:06:21 +02:00
8aeec40207 patch 8.1.2044: no easy way to process postponed work
Problem:    No easy way to process postponed work. (Paul Jolly)
Solution:   Add the SafeState autocommand event.
2019-09-15 23:02:04 +02:00
ea8dcf8346 patch 8.1.2043: not sufficient testing for quoted numbers
Problem:    Not sufficient testing for quoted numbers.
Solution:   Add a few more test cases.
2019-09-15 21:12:22 +02:00
9c658c9eac patch 8.1.2042: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move getchar() and parse_queued_messages() to getchar.c.
2019-09-15 21:00:54 +02:00
248fdb3332 patch 8.1.2041: no test for diff mode with syntax highlighting
Problem:    No test for diff mode with syntax highlighting.
Solution:   Add a test case.
2019-09-15 19:31:28 +02:00
e00fdf35d0 patch 8.1.2040: no highlighting of current line in quickfix window
Problem:    No highlighting of current line in quickfix window.
Solution:   Combine with line_attr.
2019-09-15 19:09:42 +02:00
8ae54375ca patch 8.1.2039: character from 'showbreak' does not use 'wincolor'
Problem:    Character from 'showbreak' does not use 'wincolor'. (Nick Jensen)
Solution:   Mix with 'wincolor'. (closes #4938)
2019-09-15 18:11:16 +02:00
af91438338 patch 8.1.2038: has('vimscript-4') is always 0
Problem:    has('vimscript-4') is always 0.
Solution:   Add "vimscript-4" to the feature table. (Naruhiko Nishino,
            closes #4941)
2019-09-15 17:49:10 +02:00
a046b37c22 patch 8.1.2037: can call win_gotoid() in cmdline window
Problem:    Can call win_gotoid() in cmdline window.
Solution:   Disallow switching windows. (Yasuhiro Matsumoto, closes #4940)
2019-09-15 17:26:07 +02:00
1ac90b4fa6 patch 8.1.2036: the str2nr() tests fail
Problem:    The str2nr() tests fail.
Solution:   Add missing part of patch.
2019-09-15 14:49:52 +02:00
60a8de28d1 patch 8.1.2035: recognizing octal numbers is confusing
Problem:    Recognizing octal numbers is confusing.
Solution:   Introduce scriptversion 4: do not use octal and allow for single
            quote inside numbers.
2019-09-15 14:33:22 +02:00
50bf7ce0c9 patch 8.1.2034: dark them of GTK 3 not supported
Problem:    Dark them of GTK 3 not supported.
Solution:   Add the "d" flag in 'guioptions'. (Jonathan Conder, closes #4934)
2019-09-15 13:17:00 +02:00
0571f3d6f9 patch 8.1.2033: cannot build with tiny features
Problem:    Cannot build with tiny features.
Solution:   Add #ifdef.
2019-09-14 22:33:47 +02:00
076d98839c patch 8.1.2032: scrollbar thumb wrong in popup window
Problem:    Scrollbar thumb wrong in popup window.
Solution:   Adjust thumb size and position when scrolled.
2019-09-14 22:23:29 +02:00
5babc6e858 patch 8.1.2031: cursor position wrong when resizing and using conceal
Problem:    Cursor position wrong when resizing and using conceal.
Solution:   Set the flags that the cursor position is valid when setting the
            row and column during redrawing. (closes #4931)
2019-09-14 21:55:51 +02:00
997d42427e patch 8.1.2030: tests fail when build with normal features and terminal
Problem:    Tests fail when build with normal features and terminal.
            (Dominique Pelle)
Solution:   Disable tests that won't work. (closes #4932)
2019-09-14 21:23:40 +02:00
017ba07fa2 patch 8.1.2029: cannot control 'cursorline' highlighting well
Problem:    Cannot control 'cursorline' highlighting well.
Solution:   Add "screenline". (Christian Brabandt, closes #4933)
2019-09-14 21:01:23 +02:00
d9b0d83b13 patch 8.1.2028: options test script does not work
Problem:    Options test script does not work.
Solution:   Use optiondefs.h for input.
2019-09-14 15:46:32 +02:00
57da698168 patch 8.1.2027: MS-Windows: problem with ambiwidth characters
Problem:    MS-Windows: problem with ambiwidth characters.
Solution:   handle ambiguous width characters in ConPTY on Windows 10 (1903).
            (Nobuhiro Takasaki, closes #4411)
2019-09-13 22:30:11 +02:00
dbec74907e patch 8.1.2026: possibly using uninitialized memory
Problem:    Possibly using uninitialized memory.
Solution:   Check if "dict" is NULL. (closes #4925)
2019-09-13 22:16:21 +02:00
1946de140a patch 8.1.2025: MS-Windows: Including shlguid.h causes problems for msys2
Problem:    MS-Windows: Including shlguid.h causes problems for msys2.
Solution:   Do not include shlguid.h. (closes #4913)
2019-09-13 22:03:19 +02:00
9283f92008 patch 8.1.2024: delete call commented out for debugging
Problem:    Delete call commented out for debugging.
Solution:   Restore the delete call. (Christian Brabandt)
2019-09-13 21:48:34 +02:00
dcb2b9cb08 patch 8.1.2023: no test for synIDattr() returning "strikethrough"
Problem:    No test for synIDattr() returning "strikethrough".
Solution:   Extend the synIDattr() test. (Jaskaran Singh, closes #4929)
2019-09-13 21:26:39 +02:00
0eddca40a6 patch 8.1.2022: the option.c file is too big
Problem:    The option.c file is too big.
Solution:   Move option definitions to a separate file. (Yegappan Lakshmanan,
            closes #4918)
2019-09-12 22:26:43 +02:00
8fe1000e9c Update runtime files 2019-09-11 22:56:44 +02:00
840d16fd36 patch 8.1.2021: some global functions can be local to the file
Problem:    Some global functions can be local to the file.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4917)
2019-09-10 21:27:18 +02:00
d20dcb3d01 patch 8.1.2020: it is not easy to change the window layout
Problem:    It is not easy to change the window layout.
Solution:   Add win_splitmove(). (Andy Massimino, closes #4561)
2019-09-10 21:22:58 +02:00
410e98a70b patch 8.1.2019: 'cursorline' always highlights the whole line
Problem:    'cursorline' always highlights the whole line.
Solution:   Add 'cursorlineopt' to specify what is highlighted.
            (closes #4693)
2019-09-09 22:05:49 +02:00
e5fbd73930 patch 8.1.2018: using freed memory when out of memory and displaying message
Problem:    Using freed memory when out of memory and displaying message.
Solution:   Make a copy of the message first.
2019-09-09 20:04:13 +02:00
96e38a86a7 patch 8.1.2017: cannot execute commands after closing the cmdline window
Problem:    Cannot execute commands after closing the cmdline window.
Solution:   Also trigger BufEnter and WinEnter. (closes #4762)
2019-09-09 18:35:33 +02:00
adbde3fbed patch 8.1.2016: terminal altscreen test now fails on MS-Windows
Problem:    Terminal altscreen test now fails on MS-Windows.
Solution:   Skip the test on MS-Windows
2019-09-08 22:57:14 +02:00
bf9a3b0164 patch 8.1.2015: terminal altscreen test still fails sometimes
Problem:    Terminal altscreen test still fails sometimes.
Solution:   Write the escape sequence in a file.
2019-09-08 22:35:48 +02:00
b9c79cf5cc patch 8.1.2014: terminal altscreen test fails sometimes
Problem:    Terminal altscreen test fails sometimes.
Solution:   Use WaitFor().
2019-09-08 22:09:52 +02:00
f92e58cadb patch 8.1.2013: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-08 21:51:41 +02:00
7ee80f7661 patch 8.1.2012: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make terminal functions usable as a method.  Fix term_getattr().
2019-09-08 20:55:06 +02:00
ce90e36f59 patch 8.1.2011: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.  Make the window
            command test faster.
2019-09-08 18:58:44 +02:00
9490b9a61c patch 8.1.2010: new file uses old style comments
Problem:    New file uses old style comments.
Solution:   Change to new style comments. (Yegappan Lakshmanan, closes #4910)
2019-09-08 17:20:12 +02:00
3d2a3cbce8 patch 8.1.2009: cursorline highlighting not updated in popup window
Problem:    Cursorline highlighting not updated in popup window. (Marko
            Mahnič)
Solution:   Check if the cursor position changed. (closes #4912)
2019-09-08 17:12:01 +02:00
4544bd2f24 patch 8.1.2008: error for invalid range when using listener and undo
Problem:    Error for invalid range when using listener and undo. (Paul Jolly)
Solution:   Do not change the cursor before the lines are restored.
            (closes #4908)
2019-09-08 15:27:21 +02:00
fca068b977 patch 8.1.2007: no test for what 8.1.1926 fixes
Problem:    No test for what 8.1.1926 fixes.
Solution:   Add a test case.
2019-09-08 14:07:47 +02:00
6cdce2a003 patch 8.1.2006: build failure with huge features but without channel feature
Problem:    Build failure with huge features but without channel feature.
Solution:   Add #ifdef. (Dominique Pelle, closes #4906)
2019-09-07 23:25:09 +02:00
6d7d7cf750 patch 8.1.2005: the regexp.c file is too big
Problem:    The regexp.c file is too big.
Solution:   Move the backtracking engine to a separate file. (Yegappan
            Lakshmanan, closes #4905)
2019-09-07 23:16:33 +02:00
f6ed61e148 patch 8.1.2004: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-07 19:05:09 +02:00
30e9b3c425 Update runtime files 2019-09-07 16:24:12 +02:00
fa90d70884 patch 8.1.2003: MS-Windows: code page 65001 is not recognized
Problem:    MS-Windows: code page 65001 is not recognized.
Solution:   Use utf-8 for code page 65001. (Dan Thompson, closes #4902)
2019-09-07 16:07:47 +02:00
9b1cd65d8b patch 8.1.2002: version number 2000 missing
Problem:    Version number 2000 missing.
Solution:   Add the number in the list of patches.
2019-09-07 15:51:28 +02:00
261f346f81 patch 8.1.2001: some source files are too big
Problem:    Some source files are too big.
Solution:   Move buffer and window related functions to evalbuffer.c and
            evalwindow.c. (Yegappan Lakshmanan, closes #4898)
2019-09-07 15:45:32 +02:00
a3a124627d patch 8.1.2000: plugin cannot get the current IME status
Problem:    Plugin cannot get the current IME status.
Solution:   Add the getimstatus() function. (closes #4904)
2019-09-07 15:08:38 +02:00
1b33bee35e patch 8.1.1999: calling both PlaySoundW() and PlaySoundA()
Problem:    Calling both PlaySoundW() and PlaySoundA().
Solution:   Only use PlaySoundW(). (Dan Thompson, closes #4903)
2019-09-07 14:50:49 +02:00
fbb3bc89b3 patch 8.1.1998: redraw even when no popup window filter was invoked
Problem:    Redraw even when no popup window filter was invoked.
Solution:   Only redraw when must_redraw was set to a larger value.
2019-09-07 14:33:36 +02:00
bcb4c8f905 patch 8.1.1997: no redraw after a popup window filter is invoked
Problem:    No redraw after a popup window filter is invoked.
Solution:   Redraw if needed.
2019-09-07 14:06:52 +02:00
aad222c9c9 patch 8.1.1996: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 22:46:09 +02:00
93476fd634 patch 8.1.1995: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make sign functions usable as a method.
2019-09-06 22:00:54 +02:00
5ec849896f patch 8.1.1994: MS-Windows: cannot build with eval but without cscope
Problem:    MS-Windows: cannot build with eval but without cscope
Solution:   Adjust the makefiles to always build if_cscope.obj.
2019-09-06 21:46:15 +02:00
196b466443 patch 8.1.1993: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 21:34:30 +02:00
16b58ae9f3 patch 8.1.1992: the search stat moves when wrapping at the end of the buffer
Problem:    The search stat moves when wrapping at the end of the buffer.
Solution:   Put the "W" in front instead of at the end.
2019-09-06 20:40:21 +02:00
6f72e90dd8 patch 8.1.1991: still cannot build with eval but without cscope
Problem:    Still cannot build with eval but without cscope.
Solution:   Move f_cscope_connection() outside of #ifdef.
2019-09-05 23:04:02 +02:00
a546b21b24 patch 8.1.1990: cannot build with eval but without cscope
Problem:    Cannot build with eval but without cscope.
Solution:   Always include if_cscope.pro.
2019-09-05 22:50:11 +02:00
af7645d373 patch 8.1.1989: the evalfunc.c file is still too big
Problem:    The evalfunc.c file is still too big.
Solution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to
            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_
            functions to ex_cmds2.c.  move callback functions to evalvars.c.
2019-09-05 22:33:28 +02:00
8d3b51084a patch 8.1.1988: :startinsert! does not work the same way as "A"
Problem:    :startinsert! does not work the same way as "A".
Solution:   Use the same code to move the cursor. (closes #4896)
2019-09-05 21:29:01 +02:00
a0d1fef4eb patch 8.1.1987: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 22:29:14 +02:00
a5a7882ea4 patch 8.1.1986: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make textprop functions usable as a method.
2019-09-04 21:57:18 +02:00
26262f8777 patch 8.1.1985: code for dealing with paths is spread out
Problem:    Code for dealing with paths is spread out.
Solution:   Move path related functions from misc1.c to filepath.c.
            Remove NO_EXPANDPATH.
2019-09-04 20:59:15 +02:00
3f4f3d8e7e patch 8.1.1984: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 20:05:59 +02:00
ea781459b9 patch 8.1.1983: compiler nags for uninitialized variable and unused function
Problem:    Compiler nags for uninitialized variable and unused function.
Solution:   Add unnecessary initialization.  Move function inside #ifdef.
2019-09-04 18:53:12 +02:00
6a124e622c patch 8.1.1982: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make popup functions usable as a method.
2019-09-04 18:15:19 +02:00
08c308aeb5 patch 8.1.1981: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move undo functions to undo.c.  Move cmdline functions to
            ex_getln.c.  Move some container functions to list.c.
2019-09-04 17:48:15 +02:00
0f63ed33fd patch 8.1.1980: fix for search stat not tested
Problem:    Fix for search stat not tested.
Solution:   Add a screenshot test. (Christian Brabandt)
2019-09-04 16:32:36 +02:00
b005cd80cf patch 8.1.1979: code for handling file names is spread out
Problem:    Code for handling file names is spread out.
Solution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.
2019-09-04 15:54:55 +02:00
1e1d30048e patch 8.1.1978: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move filter() and map() to list.c.
2019-09-04 14:41:14 +02:00
19c8fe1925 patch 8.1.1977: terminal debugger plugin may hang
Problem:    Terminal debugger plugin may hang.
Solution:   Wait longer when still reading symbols.
2019-09-04 14:24:24 +02:00
2b43f7f9f4 patch 8.1.1976: Travis log always shows test output
Problem:    Travis log always shows test output.
Solution:   Change script to avoid if/else. (Ozaki Kiichi, closes #4892)
2019-09-04 14:11:16 +02:00
89c0003331 patch 8.1.1975: MS-Windows GUI responds slowly to timer
Problem:    MS-Windows GUI responds slowly to timer.
Solution:   Break out of wait loop when timer was added or input is available.
            (closes #4893)
2019-09-04 13:53:21 +02:00
1f3165bc34 patch 8.1.1974: Coverity warns for using pointer as array
Problem:    Coverity warns for using pointer as array.
Solution:   Call var2fpos() directly instead of using f_line().
2019-09-04 13:21:26 +02:00
61c18652c9 patch 8.1.1973: cannot build without the quickfix feature
Problem:    Cannot build without the quickfix feature.
Solution:   Remove #ifdef for qf_info_T.
2019-09-04 11:51:17 +02:00
5d712e4672 patch 8.1.1972: no proper test for getchar()
Problem:    No proper test for getchar().
Solution:   Add a test with special characters.
2019-09-03 23:37:01 +02:00
d570ab95d9 patch 8.1.1971: manually enabling features causes build errors
Problem:    Manually enabling features causes build errors. (John Marriott)
Solution:   Adjust #ifdefs.
2019-09-03 23:20:05 +02:00
19e8ac72e9 patch 8.1.1970: search stat space wrong, no test for 8.1.1965
Problem:    Search stat space wrong, no test for 8.1.1965.
Solution:   Fix check for cmd_silent.  Add a test. (Christian Brabandt)
2019-09-03 22:23:38 +02:00
581ba39aef patch 8.1.1969: popup window filter is used in all modes
Problem:    Popup window filter is used in all modes.
Solution:   Add the "filtermode" property.
2019-09-03 22:08:33 +02:00
27da7de7c5 patch 8.1.1968: crash when using nested map()
Problem:    Crash when using nested map().
Solution:   Clear the pointer in prepare_vimvar(). (Ozaki Kiichi,
            closes #4890, closes #4891)
2019-09-03 17:13:37 +02:00
8e0a8e7eb7 patch 8.1.1967: line() only works for the current window
Problem:    Line() only works for the current window.
Solution:   Add an optional argument for the window to use.
2019-09-02 22:56:24 +02:00
e677df8d93 patch 8.1.1966: some code in options.c fits better elsewhere
Problem:    Some code in options.c fits better elsewhere.
Solution:   Move functions from options.c to other files. (Yegappan
            Lakshmanan, closes #4889)
2019-09-02 22:31:11 +02:00
359ad1a6f9 patch 8.1.1965: search count message is not displayed when using a mapping
Problem:    The search count message is not displayed when using a mapping.
            (Gary Johnson)
Solution:   Ignore cmd_silent for showing the search count. (Christian
            Brabandt)
2019-09-02 21:44:59 +02:00
c36350bca3 patch 8.1.1964: crash when using nested map() and filter()
Problem:    Crash when using nested map() and filter().
Solution:   Do not set the v:key type to string without clearing the pointer.
2019-09-02 20:44:07 +02:00
934470e562 patch 8.1.1963: popup window filter may be called recursively
Problem:    Popup window filter may be called recursively when using a Normal
            mode command.
Solution:   Prevent recursiveness. (closes #4887)  Also restore KeyTyped.
2019-09-01 23:27:05 +02:00
55008aad50 patch 8.1.1962: leaking memory when using tagfunc()
Problem:    Leaking memory when using tagfunc().
Solution:   Free the user_data. (Dominique Pelle, closes #4886)
2019-09-01 20:21:56 +02:00
a144983633 patch 8.1.1961: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.  Add a test for
            mapcheck().
2019-09-01 20:16:52 +02:00
db022f3ffb patch 8.1.1960: fold code is spread out
Problem:    Fold code is spread out.
Solution:   Move fold functions to fold.c.
2019-09-01 17:52:32 +02:00
a112f2d003 patch 8.1.1959: when using "firstline" in popup window text may jump
Problem:    When using "firstline" in popup window text may jump when
            redrawing it. (Nick Jensen)
Solution:   Set 'scrolloff' to zero in a popup window. (closes #4882)
2019-09-01 17:38:09 +02:00
c330835928 patch 8.1.1958: old style comments taking up space
Problem:    Old style comments taking up space.
Solution:   Change to new style comments.
2019-09-01 16:24:56 +02:00
da6c033421 patch 8.1.1957: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move code to where it fits better. (Yegappan Lakshmanan,
            closes #4883)
2019-09-01 16:01:30 +02:00
0fdddeeb66 patch 8.1.1956: screenshot tests may use a different encoding
Problem:    Screenshot tests may use a different encoding. (Dominique Pelle)
Solution:   Always set 'encoding' to "utf-8" when running Vim in a terminal.
            (closes #4884)
2019-09-01 15:26:23 +02:00
1bc353b6f1 patch 8.1.1955: tests contain typos
Problem:    Tests contain typos.
Solution:   Correct the typos. (Dominique Pelle)
2019-09-01 14:45:28 +02:00
02b31110d3 patch 8.1.1954: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 22:16:38 +02:00
f9f24ce7a0 patch 8.1.1953: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 21:17:39 +02:00
5d69fdb7c4 patch 8.1.1952: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 19:13:58 +02:00
f1699968ba patch 8.1.1951: mouse double click test is a bit flaky
Problem:    Mouse double click test is a bit flaky.
Solution:   Add to list of flaky tests.  Update a couple of comments.
2019-08-31 17:48:19 +02:00
06fe74aef7 Runtime files update. 2019-08-31 16:20:32 +02:00
4bbfb0f3cc patch 8.1.1950: using NULL pointer after an out-of-memory
Problem:    Using NULL pointer after an out-of-memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes #4881)
2019-08-31 15:28:02 +02:00
8c6173c7d3 patch 8.1.1949: cannot scroll a popup window to the very bottom
Problem:    Cannot scroll a popup window to the very bottom.
Solution:   Scroll to the bottom when the "firstline" property was set to -1.
            (closes #4577)  Allow resetting min/max width/height.
2019-08-30 22:08:34 +02:00
b5432d8968 patch 8.1.1948: mouse doesn't work in Linux console
Problem:    Mouse doesn't work in Linux console and causes 100% CPU. (James P.
            Harvey)
Solution:   Loop in WaitForCharOrMouse() when gpm_process_wanted is set.
            (closes #4828)
2019-08-30 19:28:25 +02:00
60b1bcfe92 patch 8.1.1947: when executing one test the report doesn't show it
Problem:    When executing one test the report doesn't show it.
Solution:   Adjust the regexp. (Daniel Hahler, closes #4879)
2019-08-30 19:05:32 +02:00
163588005d patch 8.1.1946: memory error when profiling a function without a script ID
Problem:    Memory error when profiling a function without a script ID.
Solution:   Check for missing script ID.  (closes #4877)
2019-08-30 18:37:26 +02:00
9e67b6a6a1 patch 8.1.1945: popup window "firstline" cannot be reset
Problem:    Popup window "firstline" cannot be reset.
Solution:   Allow for setting "firstline" to zero.  Fix that the text jumps to
            the top when using win_execute(). (closes #4876)
2019-08-30 17:34:08 +02:00
821d771e86 patch 8.1.1944: leaking memory when using sound callback
Problem:    Leaking memory when using sound callback.
Solution:   src/sound.c
2019-08-30 16:30:00 +02:00
8d71b54409 patch 8.1.1943: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move it, clean up comments.  Also move some window related
            functions to window.c. (Yegappan Lakshmanan, closes #4874)
2019-08-30 15:46:30 +02:00
58a297b28d patch 8.1.1942: shadow directory gets outdated when files are added
Problem:    Shadow directory gets outdated when files are added.
Solution:   Add the "shadowupdate" target and add a few comments.
2019-08-30 13:59:29 +02:00
ad5db44c01 patch 8.1.1941: getftype() test fails on Mac
Problem:    getftype() test fails on Mac.
Solution:   Skip /dev/fd/.
2019-08-30 13:12:25 +02:00
34ed68d40e patch 8.1.1940: script tests fail
Problem:    Script tests fail.
Solution:   Don't set vimvars type in set_vim_var_nr().
2019-08-29 22:48:24 +02:00
e5cdf153bc patch 8.1.1939: code for handling v: variables in generic eval file
Problem:    Code for handling v: variables in generic eval file.
Solution:   Move v: variables to evalvars.c. (Yegappan Lakshmanan,
            closes #4872)
2019-08-29 22:09:46 +02:00
c507a2d164 patch 8.1.1938: may crash when out of memory
Problem:    May crash when out of memory.
Solution:   Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871)
2019-08-29 21:32:55 +02:00
4fb15c6476 patch 8.1.1937: errors when using javascriptreact
Problem:    Errors when using javascriptreact.
Solution:   Use ":runtime" instead of ":source". (closes #4875)
2019-08-29 21:24:21 +02:00
1fb0831a0e patch 8.1.1936: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.  Make negative offset work.  Close all
            popups when window closes.
2019-08-29 20:02:11 +02:00
57441d6fa0 patch 8.1.1935: test for text property popup window is flaky
Problem:    Test for text property popup window is flaky.
Solution:   Remove the undo message
2019-08-28 22:38:07 +02:00
bc2d4c1db6 patch 8.1.1934: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.
2019-08-28 22:18:30 +02:00
0522ba0359 patch 8.1.1933: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move code related to variables to evalvars.c. (Yegappan
            Lakshmanan, closes #4868)
2019-08-27 22:48:30 +02:00
d20070274c patch 8.1.1932: ml_get errors after using append()
Problem:    Ml_get errors after using append(). (Alex Genco)
Solution:   Do not update the cursor twice. (closes #1737)
2019-08-27 21:56:06 +02:00
ea7a08a53e patch 8.1.1931: syntax test fails
Problem:    Syntax test fails.
Solution:   Add new javascriptreact type to completions.
2019-08-26 22:38:22 +02:00
92852cee3f patch 8.1.1930: cannot recognize .jsx and .tsx files
Problem:    Cannot recognize .jsx and .tsx files.
Solution:   Recognize them as javascriptreact and typescriptreact.
            (closes #4830)
2019-08-26 21:28:15 +02:00
8e95636a28 patch 8.1.1929: no tests for text property popup window
Problem:    No tests for text property popup window.
Solution:   Add a few tests.
2019-08-25 23:08:17 +02:00
12034e22dd patch 8.1.1928: popup windows don't move with the text when making changes
Problem:    Popup windows don't move with the text when making changes.
Solution:   Add the 'textprop" property to the popup window options, position
            the popup relative to a text property. (closes #4560)
            No tests yet.
2019-08-25 22:25:02 +02:00
307c5a5bb7 patch 8.1.1927: code for dealing with script files is spread out
Problem:    Code for dealing with script files is spread out.
Solution:   Move the code to scriptfile.c. (Yegappan Lakshmanan, closes #4861)
2019-08-25 15:41:00 +02:00
c2b97643a8 patch 8.1.1926: cursorline not redrawn when putting a line above the cursor
Problem:    Cursorline not redrawn when putting a line above the cursor.
Solution:   Redraw when the curor line is below a change. (closes #4862)
2019-08-25 14:48:37 +02:00
4c313b13fb patch 8.1.1925: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 22:58:31 +02:00
a8eee21e75 patch 8.1.1924: using empty string for current buffer is unexpected
Problem:    Using empty string for current buffer is unexpected.
Solution:   Make the argument optional for bufname() and bufnr().
2019-08-24 22:14:58 +02:00
4119309d70 patch 8.1.1923: some source files are not in a normal encoding
Problem:    Some source files are not in a normal encoding.
Solution:   Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1
            to utf-8. (Daniel Hahler, closes #4731)
2019-08-24 21:53:31 +02:00
4f57eefe1e patch 8.1.1922: in diff mode global operations can be very slow
Problem:    In diff mode global operations can be very slow.
Solution:   Do not call diff_redraw() many times, call it once when redrawing.
            And also don't update folds multiple times.
2019-08-24 20:54:19 +02:00
a4208966fb patch 8.1.1921: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 20:50:19 +02:00
f63962378d patch 8.1.1920: cannot always close a popup when filter consumes all events
Problem:    Cannot close a popup by the X when a filter consumes all events.
Solution:   Check for a click on the close button before invoking filters.
            (closes #4858)
2019-08-24 19:36:00 +02:00
4645104be4 patch 8.1.1919: using window options when passing a buffer to popup_create()
Problem:    Using current window option values when passing a buffer to
            popup_create().
Solution:   Clear the window-local options. (closes #4857)
2019-08-24 15:50:46 +02:00
e9a891f255 patch 8.1.1918: redrawing popups is inefficient
Problem:    Redrawing popups is inefficient.
Solution:   Fix the logic to compute what window lines to redraw.  Make it
            work below the last line.  Remove redrawing all windows.
2019-08-24 15:26:24 +02:00
356375fbf8 patch 8.1.1917: non-current window is not redrawn when moving popup
Problem:    Non-current window is not redrawn when moving popup. (Ben Jackson)
Solution:   Redraw all windows under a popup. (closes #4860)
2019-08-24 14:46:29 +02:00
741ea17038 patch 8.1.1916: trying to allocate negative amount of memory closing popup
Problem:    Trying to allocate negative amount of memory when closing a popup.
Solution:   Check the rows are not out of bounds.  Don't finish a selection if
            it was never started.
2019-08-24 14:16:32 +02:00
1a3a89168d patch 8.1.1915: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-23 22:31:37 +02:00
d019039ccd patch 8.1.1914: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855)
2019-08-23 21:17:35 +02:00
37f4cbd46f patch 8.1.1913: not easy to compute the space on the command line
Problem:    Not easy to compute the space on the command line.
Solution:   Add v:echospace. (Daniel Hahler, closes #4732)
2019-08-23 20:58:45 +02:00
570497ac40 patch 8.1.1912: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make channel and job functions usable as a method.
2019-08-22 22:55:13 +02:00
64b4d73524 patch 8.1.1911: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-22 22:18:17 +02:00
448262176b patch 8.1.1910: redrawing too much when toggling 'relativenumber'
Problem:    Redrawing too much when toggling 'relativenumber'.
Solution:   Only clear when 'signcolumn' is set to "number". (Yegappan
            Lakshmanan, closes #4852)
2019-08-22 21:23:20 +02:00
e49fbff384 patch 8.1.1909: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-21 22:50:07 +02:00
00b0d6d8dc patch 8.1.1908: every popup window consumes a buffer number
Problem:    Every popup window consumes a buffer number.
Solution:   Recycle buffers only used for popup windows.  Do not list popup
            window buffers.
2019-08-21 22:25:30 +02:00
fe6e7618b4 patch 8.1.1907: wrong position for info popup with scrollbar on the left
Problem:    Wrong position for info popup with scrollbar on the left.
Solution:   Take the scrollbar into account.
2019-08-21 20:57:20 +02:00
c1f87c9a31 patch 8.1.1906: info popup size is sometimes incorrect
Problem:    Info popup size is sometimes incorrect.
Solution:   Compute the position and size after setting the content.
2019-08-21 19:33:16 +02:00
c7c5f10a36 patch 8.1.1905: cannot set all properties of the info popup
Problem:    Cannot set all properties of the info popup.
Solution:   Add popup_findinfo().  Rename popup_getpreview() to
            popup_findpreview().
2019-08-21 18:31:03 +02:00
258cef59d8 patch 8.1.1904: cannot have an info popup align with the popup menu
Problem:    Cannot have an info popup align with the popup menu.
Solution:   Add the "align" item to 'completepopup'.
2019-08-21 17:29:29 +02:00
9cb698d564 patch 8.1.1903: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Add missing #ifdefs
2019-08-21 15:30:45 +02:00
bd483b3f57 patch 8.1.1902: cannot have an info popup without a border
Problem:    Cannot have an info popup without a border.
Solution:   Add the "border" item to 'completepopup'.
2019-08-21 15:13:41 +02:00
e2c453d38f patch 8.1.1901: the +insert_expand feature is not always available
Problem:    The +insert_expand feature is not always available.
Solution:   Graduate the +insert_expand feature.
2019-08-21 14:37:09 +02:00
d933c82ff4 patch 8.1.1900: sign test fails in the GUI
Problem:    Sign test fails in the GUI.
Solution:   Catch and ignore the exception.
2019-08-21 13:45:16 +02:00
42aff46d97 patch 8.1.1899: sign_place() does not work as documented
Problem:    sign_place() does not work as documented.
Solution:   Make accept line numbers like line(). (Yegappan Lakshmanan,
            closes #4848)
2019-08-21 13:20:29 +02:00
4dc8f498aa patch 8.1.1898: crash when out of memory during startup
Problem:    Crash when out of memory during startup.
Solution:   When out of memory message given during initialisation bail out.
            (closes #4842)
2019-08-21 13:06:55 +02:00
f1552d07d7 patch 8.1.1897: may free memory twice when out of memory
Problem:    May free memory twice when out of memory.
Solution:   Check that backslash_halve_save() returns a different pointer.
            (Dominique Pelle, closes #4847)
2019-08-21 12:54:18 +02:00
eaf3524119 patch 8.1.1896: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef. (John Marriott)  Missing part of 8.1.1892.
2019-08-20 23:14:15 +02:00
6f10c70b59 patch 8.1.1895: using NULL pointer when out of memory
Problem:    Using NULL pointer when out of memory.
Solution:   Bail out or skip the code using the pointer. (Zu-Ming Jiang,
            closes #4805, closes #4843, closes #4939, closes #4844)
2019-08-20 22:58:37 +02:00
1058c9d9b5 patch 8.1.1894: not checking for out-of-memory of autoload_name()
Problem:    Not checking for out-of-memory of autoload_name().
Solution:   Check for NULL. (Dominique Pelle, closes #4846)
2019-08-20 21:58:00 +02:00
f1e0544d41 patch 8.1.1893: script to summarize test results can be improved
Problem:    Script to summarize test results can be improved.
Solution:   Use "silent" for substitute to avoid reporting number of matches.
            Remove duplicate "set nocp". (Daniel Hahler, closes #4845)
2019-08-20 21:25:46 +02:00
36e4d985f0 patch 8.1.1892: missing index entry and option menu for 'completepopup'
Problem:    Missing index entry and option menu for 'completepopup'.
Solution:   Add the entries.  Adjust #ifdefs to avoid dead code.
2019-08-20 21:12:16 +02:00
5843f5f37b patch 8.1.1891: functions used in one file are global
Problem:    Functions used in one file are global.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4840)
2019-08-20 20:13:45 +02:00
9a4a8c4d59 patch 8.1.1890: ml_get error when deleting fold marker
Problem:    Ml_get error when deleting fold marker.
Solution:   Check that the line number is not below the last line.  Adjust the
            fold when deleting the empty line.  (Christian Brabandt,
            closes #4834)
2019-08-19 22:48:30 +02:00
ea7ecfe2a0 patch 8.1.1889: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Use zero for column if pos is NULL.
2019-08-19 20:08:15 +02:00
073e4b92e6 patch 8.1.1888: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-18 23:01:56 +02:00
0a52df50a0 patch 8.1.1887: the +cmdline_compl feature is not in the tiny version
Problem:    The +cmdline_compl feature is not in the tiny version.
Solution:   Graduate the +cmdline_compl feature.
2019-08-18 22:26:31 +02:00
66b51420e0 patch 8.1.1886: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831)
2019-08-18 21:44:12 +02:00
db1085a563 patch 8.1.1885: comments in libvterm are inconsistent
Problem:    Comments in libvterm are inconsistent.
Solution:   Use // comments.  Als update the table of combining characters.
2019-08-18 20:41:38 +02:00
f0bc15c769 patch 8.1.1884: cannot use mouse scroll wheel in popup in Insert mode
Problem:    Cannot use mouse scroll wheel in popup in Insert mode.  Mouse
            clicks in popup close the popup menu.
Solution:   Check if the mouse is in a popup window. Do not let mouse events
            close the popup menu.  (closes #4544)
2019-08-18 19:23:45 +02:00
9513d91be0 patch 8.1.1883: options test fails
Problem:    Options test fails.
Solution:   Add entry for 'completepopup'.
2019-08-18 17:58:11 +02:00
62a0cb443c patch 8.1.1882: cannot specify properties of the info popup window
Problem:    Cannot specify properties of the info popup window.
Solution:   Add the 'completepopup' option.  Default to PmenuSel highlight.
2019-08-18 16:35:23 +02:00
f4665e78f2 patch 8.1.1881: popup window test fails in some configurations
Problem:    Popup window test fails in some configurations.
Solution:   Check that screendumps can be made.
2019-08-18 15:42:10 +02:00
576a4a6ff1 patch 8.1.1880: cannot show extra info for completion in a popup window
Problem:    Cannot show extra info for completion in a popup window.
Solution:   Add the "popup" entry in 'completeopt'.
2019-08-18 15:25:17 +02:00
93cf85f9ef patch 8.1.1879: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make float functions usable as a method.
2019-08-17 21:36:28 +02:00
9cfe8f6e68 patch 8.1.1878: negative float before method not parsed correctly
Problem:    Negative float before method not parsed correctly.
Solution:   Apply "!" and "-" in front of expression before using ->.
2019-08-17 21:04:16 +02:00
ffc0716af8 patch 8.1.1877: graduated features scattered
Problem:    Graduated features scattered.
Solution:   Put graduated and obsolete features together.
2019-08-17 20:17:51 +02:00
f8b055d170 patch 8.1.1876: proto file missing from distribution
Problem:    proto file missing from distribution
Solution:   Add the file.
2019-08-17 20:10:42 +02:00
56c860c315 Update runtime files. 2019-08-17 20:09:31 +02:00
e9bd57286a patch 8.1.1875: cannot get size and position of the popup menu
Problem:    Cannot get size and position of the popup menu.
Solution:   Add pum_getpos(). (Ben Jackson, closes #4827)
2019-08-17 19:36:06 +02:00
4dd751b956 patch 8.1.1874: modeless selection in popup window overlaps scrollbar
Problem:    Modeless selection in popup window overlaps scrollbar.
Solution:   Subtract scrollbar from max_col. (closes #4773)
2019-08-17 19:10:53 +02:00
df70775555 patch 8.1.1873: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for is_autocmd_blocked().
2019-08-17 17:50:07 +02:00
c7226684c8 patch 8.1.1872: when Vim exits because of a signal, VimLeave is not triggered
Problem:    When Vim exits because of a signal, VimLeave is not triggered.
            (Daniel Hahler)
Solution:   Unblock autocommands when triggering VimLeave. (closes #4818)
2019-08-17 16:33:23 +02:00
ff9f27cdc7 patch 8.1.1871: modeless selection in GUI still not correct
Problem:    Modeless selection in GUI still not correct.
Solution:   Fix max_col.
2019-08-17 16:15:53 +02:00
026587b35c patch 8.1.1870: using :pedit from a help file sets help filetype
Problem:    Using :pedit from a help file sets the preview window to help
            filetype. (Wang Shidong)
Solution:   Do not set "keep_help_flag". (closes #3536)
2019-08-17 15:08:00 +02:00
4ad62155a1 patch 8.1.1869: code for the argument list is spread out
Problem:    Code for the argument list is spread out.
Solution:   Put argument list code in arglist.c. (Yegappan Lakshmanan,
            closes #4819)
2019-08-17 14:38:55 +02:00
69cbbecf54 patch 8.1.1868: multi-byte chars in 'listchars' fail with 'linebreak' set
Problem:    Multibyte characters in 'listchars' don't work correctly if
            'linebreak' is also enabled. (Martin Tournoij)
Solution:   Make it work correctly. (Christian Brabandt, closes #4822,
            closes #4812)
2019-08-17 14:10:56 +02:00
315244d85b patch 8.1.1867: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Loop with a sleep instead of one fixed sleep.
2019-08-17 13:18:16 +02:00
d5cf89872e patch 8.1.1866: modeless selection in GUI does not work properly
Problem:    Modeless selection in GUI does not work properly.
Solution:   Avoid going beyond the end of the line. (closes #4783)
2019-08-16 23:09:11 +02:00
a3891681f7 patch 8.1.1865: spellrare and spellrepall in the wrong order
Problem:    Spellrare and spellrepall in the wrong order.
Solution:   Put spellrare below spellrepall. (closes #4820)
2019-08-16 22:42:13 +02:00
413c04e8d5 patch 8.1.1864: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Adjust the sleep times.
2019-08-16 22:29:18 +02:00
9174639a82 patch 8.1.1863: confusing error when using a builtin function as method
Problem:    Confusing error when using a builtin function as method while it
            does not support that.
Solution:   Add a specific error message.
2019-08-16 22:22:31 +02:00
9c272a9e52 patch 8.1.1862: Coverity warns for not using return value
Problem:    Coverity warns for not using return value.
Solution:   Add "(void)" to avoid the warning.
2019-08-16 21:54:27 +02:00
24278d2407 patch 8.1.1861: only some assert functions can be used as a method
Problem:    Only some assert functions can be used as a method.
Solution:   Allow using most assert functions as a method.
2019-08-16 21:49:22 +02:00
ea94c85516 patch 8.1.1860: map timeout test is flaky
Problem:    Map timeout test is flaky.
Solution:   Add test to list of flaky tests.  Increase timeout.
2019-08-16 21:47:27 +02:00
427dddf014 patch 8.1.1859: timer test sometimes fails on Mac
Problem:    Timer test sometimes fails on Mac.
Solution:   Show more info when it fails.
2019-08-16 21:22:41 +02:00
2f710afe7f patch 8.1.1858: test for multi-byte mapping fails on some systems
Problem:    Test for multi-byte mapping fails on some systems.
Solution:   Test in another way.
2019-08-16 20:56:03 +02:00
c8fd33d18b patch 8.1.1857: cannot use modifier with multi-byte character
Problem:    Cannot use modifier with multi-byte character.
Solution:   Allow using a multi-byte character, although it doesn't work
            everywhere.
2019-08-16 20:33:05 +02:00
78d629a385 patch 8.1.1856: popup preview test fails sometimes
Problem:    popup preview test fails sometimes. (Christian Brabandt)
Solution:   Clear the command line.
2019-08-16 17:31:15 +02:00
9a2fddcf04 patch 8.1.1855: another failing timer test
Problem:    Another failing timer test.
Solution:   Assert that timers are finished by the end of the test.  Rename
            test functions to make them easier to find.
2019-08-16 11:26:06 +02:00
973d5304a4 patch 8.1.1854: now another timer test is flaky
Problem:    Now another timer test is flaky.
Solution:   Add test to list of flaky tests.
2019-08-16 10:51:10 +02:00
52953194af patch 8.1.1853: timers test is still flaky
Problem:    Timers test is still flaky.
Solution:   Compute the time to sleep more accurately.
2019-08-16 10:27:13 +02:00
7e6feb9eeb patch 8.1.1852: timers test is flaky
Problem:    Timers test is flaky.
Solution:   Accept a larger count.  Add test to list of flaky tests.
2019-08-15 23:42:21 +02:00
28e67e0c14 patch 8.1.1851: crash when sound_playfile() callback plays sound
Problem:    Crash when sound_playfile() callback plays sound.
Solution:   Invoke callback later from event loop.
2019-08-15 23:05:49 +02:00
5dd143e223 patch 8.1.1850: focus may remain in popup window
Problem:    Focus may remain in popup window.
Solution:   Change focus if needed.
2019-08-15 21:34:34 +02:00
9bca58f36d patch 8.1.1849 2019-08-15 21:31:52 +02:00
a4b2699e28 patch 8.1.1848: 'langmap' is not used for CTRL-W command in terminal
Problem:    'langmap' is not used for CTRL-W command in terminal.
Solution:   Push the command in the typeahead buffer instead of the stuff
            buffer. (closes #4814)
2019-08-15 20:58:54 +02:00
185d68a9d0 patch 8.1.1847: suspend test is failing
Problem:    Suspend test is failing.
Solution:   Do not use GetVimCommandClean().
2019-08-15 11:21:15 +02:00
93344c2d70 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Problem:    Inconsistently using GetVimCommand() and v:progpath. (Daniel
            Hahler)
Solution:   Use GetVimCommand(). (closes #4806)
2019-08-14 21:12:05 +02:00
6ace95e981 patch 8.1.1845: may use NULL pointer when running out of memory
Problem:    May use NULL pointer when running out of memory.
Solution:   Do not clear popup buffers when NULL. (closes #4802)
2019-08-13 23:09:49 +02:00
45311b5274 patch 8.1.1844: buffer no longer unloaded when adding text properties
Problem:    Buffer no longer unloaded when adding text properties to it.
Solution:   Do not create the memfile. (closes #4808)
2019-08-13 22:27:32 +02:00
f077db2423 patch 8.1.1843: might be freeing memory that was not allocated
Problem:    Might be freeing memory that was not allocated.
Solution:   Have next_fenc() set the fenc_alloced flag. (closes #4804)
2019-08-13 00:18:24 +02:00
9570aacdb8 patch 8.1.1842: test listed as flaky should no longer be flaky
Problem:    Test listed as flaky should no longer be flaky.
Solution:   Remove Test_popup_and_window_resize from the list of flaky tests.
            (Daniel Hahler, close #4807)
2019-08-12 23:56:20 +02:00
d5e3cc11d3 patch 8.1.1841: no test for Ex shift commands
Problem:    No test for Ex shift commands.
Solution:   Add a test. (Dominique Pelle, closes #4801)
2019-08-12 14:38:02 +02:00
52992feafe patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Problem:    Testing: WorkingClipboard() is not accurate.
Solution:   Check feature clipboard_working instead.
2019-08-12 14:20:33 +02:00
0b5dc64446 patch 8.1.1839: insufficient info when test fails because of screen size
Problem:    Insufficient info when test fails because of screen size.
Solution:   Report the detected screen size.
2019-08-11 22:56:15 +02:00
08cc374dab patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Problem:    There is :spellwrong and :spellgood but not :spellrare.
Solution:   Add :spellrare. (Martin Tournoij, closes #4291)
2019-08-11 22:51:14 +02:00
4999a7fb65 patch 8.1.1837: popup test fails if clipboard is supported but not working
Problem:    Popup test fails if clipboard is supported but not working.
Solution:   Add the "clipboard_working" feature. Also use Check commands
            instead of "if" and "throw".  And remove stray ch_logfile().
2019-08-10 22:21:48 +02:00
a9ab391a3a patch 8.1.1836: inaccurate memory estimate for Amiga-like OS
Problem:    Inaccurate memory estimate for Amiga-like OS.
Solution:   Adjust #ifdef for AvailMem(). (Ola Söder, closes #4797)
2019-08-10 14:54:20 +02:00
fd8ca21b3f patch 8.1.1835: cannot use printf() as a method
Problem:    Cannot use printf() as a method.
Solution:   Pass the base as the second argument to printf().
2019-08-10 00:13:30 +02:00
22a0c0c4ec patch 8.1.1834: cannot use a lambda as a method
Problem:    Cannot use a lambda as a method.
Solution:   Implement ->{lambda}(). (closes #4768)
2019-08-09 23:25:08 +02:00
0c779e8e48 patch 8.1.1833: allocating a bit too much when there is no bad word.
Problem:    Allocating a bit too much when spellbadword() does not find a bad
            word.
Solution:   Reset "len" when going to the next word. (Daniel Hahler,
            closes #4788)
2019-08-09 17:01:02 +02:00
820680b9ff patch 8.1.1832: win_execute() does not work in other tab
Problem:    Win_execute() does not work in other tab. (Rick Howe)
Solution:   Take care of the tab. (closes #4792)
2019-08-09 14:56:22 +02:00
2514315fc2 patch 8.1.1831: confusing skipped message
Problem:    Confusing skipped message.
Solution:   Drop "run" from "run start the GUI".
2019-08-09 14:13:57 +02:00
088e8e3443 Update runtime files. 2019-08-08 22:15:18 +02:00
a576f50662 patch 8.1.1830: Travis does not report error when tests fail
Problem:    Travis does not report error when tests fail.
Solution:   Explicitly do "exit 1".
2019-08-08 22:02:35 +02:00
39de6413c8 patch 8.1.1829: difference in screenshots
Problem:    Difference in screenshots.
Solution:   Update screenshots.  Change checks in a few more tests.
            (closes #4789)
2019-08-08 21:52:39 +02:00
5184132ec0 patch 8.1.1828: not strict enough checking syntax of method invocation
Problem:    Not strict enough checking syntax of method invocation.
Solution:   Check there is no white space inside ->method(.
2019-08-08 21:10:01 +02:00
47ed553fd5 patch 8.1.1827: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
2019-08-08 20:49:14 +02:00
8c5a278fc5 patch 8.1.1826: tests use hand coded feature and option checks
Problem:    Tests use hand coded feature and option checks.
Solution:   Use the commands from check.vim in more tests.
2019-08-07 23:07:07 +02:00
b59e735772 patch 8.1.1825: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4785)
2019-08-07 21:42:24 +02:00
5bcc5a1ff9 patch 8.1.1824: crash when correctly spelled word is very long
Problem:    Crash when correctly spelled word is very long. (Ben Kraft)
Solution:   Check word length before copying. (closes #4778)
2019-08-06 22:48:02 +02:00
d7663c22c6 patch 8.1.1823: command line history code is spread out
Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
2019-08-06 21:59:57 +02:00
0acae7acc4 patch 8.1.1822: confusing error message when range is not allowed
Problem:    Confusing error message when range is not allowed.
Solution:   With ADDR_NONE give e_norange.  Change e_invaddr to e_invrange for
            consistency.
2019-08-06 21:29:29 +02:00
f97d46f816 patch 8.1.1821: no test for wrong number of method arguments
Problem:    No test for wrong number of method arguments.
Solution:   Add a test.
2019-08-06 20:34:10 +02:00
761fdf01c6 patch 8.1.1820: using expr->FuncRef() does not work
Problem:    Using expr->FuncRef() does not work.
Solution:   Make FuncRef work as a method.
2019-08-05 23:10:16 +02:00
1b6d9c4215 patch 8.1.1819: :pedit does not work with a popup preview window
Problem:    :pedit does not work with a popup preview window.
Solution:   Avoid aborting with an error. (fixes #4777)  Also double check
            that after prepare_tagpreview() the current window is not a
            popup window.
2019-08-05 21:52:04 +02:00
b4a88a0441 patch 8.1.1818: unused variable
Problem:    Unused variable.
Solution:   Remove the variable. (Mike Williams)
2019-08-05 20:18:14 +02:00
6f33b893c6 patch 8.1.1817: github contribution text is incomplete
Problem:    Github contribution text is incomplete.
Solution:   Update the text.
2019-08-04 23:22:08 +02:00
fcfe1a9b89 patch 8.1.1816: cannot use a user defined function as a method
Problem:    Cannot use a user defined function as a method.
Solution:   Pass the base as the first argument to the user defined function
            after "->". (partly by FUJIWARA Takuya)
2019-08-04 23:04:39 +02:00
7a4ea1df2f patch 8.1.1815: duplicating info for internal functions
Problem:    Duplicating info for internal functions.
Solution:   Use one table to list internal functions.
2019-08-04 21:35:12 +02:00
5d458a7b3d patch 8.1.1814: a long title in a popup window overflows
Problem:    A long title in a popup window overflows.
Solution:   Truncate the title. (closes #4770)
2019-08-04 21:12:15 +02:00
2debf1c16b patch 8.1.1813: ATTENTION prompt for a preview popup window
Problem:    ATTENTION prompt for a preview popup window.
Solution:   Close the popup window if aborting the buffer load.  Avoid getting
            the ATTENTION dialog.
2019-08-04 20:44:19 +02:00
fb06d767a8 patch 8.1.1812: reading a truncted undo file hangs Vim
Problem:    Reading a truncted undo file hangs Vim.
Solution:   Check for reading EOF. (closes #4769)
2019-08-04 18:55:35 +02:00
c363fe1599 patch 8.1.1811: popup window color cannot be set to "Normal"
Problem:    Popup window color cannot be set to "Normal".
Solution:   Check for non-empty 'wincolor' instead of zero attribute.
            (closes #4772)
2019-08-04 18:13:46 +02:00
b8350abef0 patch 8.1.1810: popup_getoptions() is missing an entry for "mapping"
Problem:    Popup_getoptions() is missing an entry for "mapping".
Solution:   Add the entry.
2019-08-04 17:59:49 +02:00
a74e4946de patch 8.1.1809: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add has_key(), split(), str2list(), etc.
2019-08-04 17:35:53 +02:00
e4ce825a55 patch 8.1.1808: build failure for tiny version
Problem:    Build failure for tiny version.
Solution:   Define ex_eval to ex_ni.  Clean up the ordering a bit.
2019-08-04 15:30:16 +02:00
25e42231d3 patch 8.1.1807: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add append(), appendbufline(), assert_equal(), etc.
            Also add the :eval command.
2019-08-04 15:04:10 +02:00
7cc535175a patch 8.1.1806: test for display updating doesn't check without statusline
Problem:    Test for display updating doesn't check without statusline.
Solution:   Add screenshots without a status line.
2019-08-03 23:30:21 +02:00
6cd57d4466 patch 8.1.1805: au_did_filetype is declared twice
Problem:    Au_did_filetype is declared twice.
Solution:   Remove it from autocmd.c. (closes #4767)
2019-08-03 23:08:14 +02:00
3c8ee62974 patch 8.1.1804: no test for display updating without a scroll region
Problem:    No test for display updating without a scroll region.
Solution:   Add a test.
2019-08-03 22:55:50 +02:00
ac92e25a33 patch 8.1.1803: all builtin functions are global
Problem:    All builtin functions are global.
Solution:   Add the method call operator ->.  Implemented for a limited number
            of functions.
2019-08-03 21:58:38 +02:00
b2129068a5 patch 8.1.1802: missing change to call_callback()
Problem:    Missing change to call_callback().
Solution:   Add missing change.
2019-08-03 18:31:11 +02:00
505e43a20e patch 8.1.1801: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Always define funcexe_T.
2019-08-03 18:28:17 +02:00
c6538bcc1c patch 8.1.1800: function call functions have too many arguments
Problem:    Function call functions have too many arguments.
Solution:   Pass values in a funcexe_T struct.
2019-08-03 18:17:11 +02:00
749fa0af85 patch 8.1.1799: cannot avoid mapping for a popup window
Problem:    Cannot avoid mapping for a popup window.
Solution:   Add the "mapping" property, default TRUE.
2019-08-03 16:18:07 +02:00
eda35f7127 patch 8.1.1798: warning for unused variable in tiny version
Problem:    Warning for unused variable in tiny version. (Tony Mechelynck)
Solution:   Move inside #ifdef.  Reformat code.
2019-08-03 14:59:44 +02:00
edd680f364 patch 8.1.1797: the vgetorpeek() function is too long
Problem:    The vgetorpeek() function is too long.
Solution:   Split off the part that handles mappings, with fix.
2019-08-03 14:23:48 +02:00
72e1b39111 patch 8.1.1796: :argdo is not tested
Problem:    :argdo is not tested
Solution:   Add a test.
2019-08-03 13:50:08 +02:00
c7f1e40021 patch 8.1.1795: no syntax HL after splitting windows with :bufdo
Problem:    No syntax HL after splitting windows with :bufdo. (Yasuhiro
            Matsumoto)
Solution:   Trigger Syntax autocommands in buffers that are active.
            (closes #4761)
2019-08-03 13:29:46 +02:00
f2d8b7a0a6 patch 8.1.1794: tests are flaky
Problem:    Tests are flaky.
Solution:   Undo the change to vgetorpeek().
2019-08-02 22:46:11 +02:00
1ccaa35abf patch 8.1.1793: mixed comment style in globals
Problem:    Mixed comment style in globals.
Solution:   Use // comments where appropriate.
2019-08-02 22:08:25 +02:00
dd00035cb5 patch 8.1.1792: the vgetorpeek() function is too long
Problem:    The vgetorpeek() function is too long.
Solution:   Split off the part that handles mappings.
2019-08-02 21:35:33 +02:00
50f91d22bd patch 8.1.1791: 'completeslash' also applies to globpath()
Problem:    'completeslash' also applies to globpath().
Solution:   Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro
            Matsumoto, closes #4760)
2019-08-02 19:52:15 +02:00
8750026a7f patch 8.1.1790: :mkvimrc is not tested
Problem:    :mkvimrc is not tested.
Solution:   Add a test.
2019-08-01 23:05:49 +02:00
90f3e7ac56 patch 8.1.1789: cannot see file name of preview popup window
Problem:    Cannot see file name of preview popup window.
Solution:   Add the file name as the title.
2019-08-01 22:40:44 +02:00
f4fd7ecbc0 patch 8.1.1788: missing changes in proto file
Problem:    missing changes in proto file
Solution:   Update proto file.
2019-08-01 21:26:00 +02:00
9bcb70c18a patch 8.1.1787: cannot resize a popup window
Problem:    Cannot resize a popup window.
Solution:   Allow for resizing by dragging the lower right corncer.
2019-08-01 21:11:05 +02:00
13b11eddca patch 8.1.1786: double click in popup scrollbar starts selection
Problem:    Double click in popup scrollbar starts selection.
Solution:   Ignore the double click.
2019-08-01 15:52:45 +02:00
b66bab381c patch 8.1.1785: map functionality mixed with character input
Problem:    Map functionality mixed with character input.
Solution:   Move the map functionality to a separate file. (Yegappan
            Lakshmanan, closes #4740)  Graduate the +localmap feature.
2019-08-01 14:28:24 +02:00
3f9bdeb2a5 patch 8.1.1784: MS-Windows: resolve() does not work if serial nr duplicated
Problem:    MS-Windows: resolve() does not work if serial nr duplicated.
Solution:   Use another method to get the full path. (Ken Takata, closes #4661)
2019-08-01 13:55:37 +02:00
dff2adc8dd patch 8.1.1783: MS-Windows: compiler test may fail when using %:S
Problem:    MS-Windows: compiler test may fail when using %:S.
Solution:   Reset 'shellslash'.
2019-07-31 22:18:22 +02:00
5477506a9f Update runtime files. 2019-07-31 21:07:14 +02:00
0e6bfb9b2e patch 8.1.1782: MS-Windows: system() has temp file error with 'noshelltemp'
Problem:    MS-Windows: system() has temp file error with 'noshelltemp'.
Solution:   Check s_dont_use_vimrun. (Ken Takata, closes #4754)
2019-07-31 20:53:56 +02:00
70576f70f7 patch 8.1.1781: Amiga: no builtin OS readable version info
Problem:    Amiga: no builtin OS readable version info.
Solution:   Add a "version" variable. (Ola Söder, closes #4753)
2019-07-31 20:40:08 +02:00
674e2bde6e patch 8.1.1780: warning for file no longer available is repeated
Problem:    Warning for file no longer available is repeated every time Vim is
            focused. (Brian Armstrong)
Solution:   Only give the message once. (closes #4748)
2019-07-31 20:21:01 +02:00
8edf0e3132 patch 8.1.1779: not showing the popup window right border is confusing
Problem:    Not showing the popup window right border is confusing.
Solution:   Also show the border when 'wrap' is off. (closes #4747)
2019-07-30 21:19:26 +02:00
8c8b88d0cc patch 8.1.1778: not showing the popup window right border is confusing
Problem:    Not showing the popup window right border is confusing.
Solution:   Also show the border when there is no close button. (closes #4747)
2019-07-30 20:32:41 +02:00
f386f08ccb patch 8.1.1777: useless checks for job feature in channel test
Problem:    Useless checks for job feature in channel test.
Solution:   Remove the checks.  Remove ch_log() calls.
2019-07-29 23:03:03 +02:00
4641a122f2 patch 8.1.1776: text added with a job isn't displayed
Problem:    Text added with a job to another buffer isn't displayed.
Solution:   Update topline after adding a line. (closes #4745)
2019-07-29 22:10:23 +02:00
eee9f65b2a patch 8.1.1775: error message may be empty in filetype test
Problem:    Error message may be empty in filetype test.
Solution:   Use v:exception instead. (Daniel Hahler, closs #4744)
2019-07-29 21:14:42 +02:00
3c610c9638 patch 8.1.1774: test is silently skipped
Problem:    Test is silently skipped.
Solution:   Throw "Skipped".
2019-07-29 21:03:45 +02:00
13d5c3f616 patch 8.1.1773: the preview popup window may be too far to the right
Problem:    The preview popup window may be too far to the right.
Solution:   Keep it inside the screen.  Also keep the close button and
            scrollbar visible if possible.
2019-07-28 21:42:38 +02:00
b78564d022 patch 8.1.1772: options test still fails on MS-Windows
Problem:    Options test still fails on MS-Windows.
Solution:   Check buffer-local value of 'completeslash'.
2019-07-28 19:24:36 +02:00
d4404b4391 patch 8.1.1771: options test fails on MS-Windows
Problem:    Options test fails on MS-Windows.
Solution:   Add correct and incorrect values for 'completeslash'.
2019-07-28 18:38:09 +02:00
56c0c4749d patch 8.1.1770: cannot get the window ID of the popup preview window
Problem:    Cannot get the window ID of the popup preview window.
Solution:   Add popup_getpreview().
2019-07-28 17:57:43 +02:00
ac3150d385 patch 8.1.1769: 'shellslash' is also used for completion
Problem:    'shellslash' is also used for completion.
Solution:   Add the 'completeslash' option. (Yasuhiro Matsumoto, closes #3612)
2019-07-28 16:36:39 +02:00
bca9c30193 patch 8.1.1768: man plugin changes setting in current window
Problem:    Man plugin changes setting in current window.
Solution:   Set options later. (Jason Franklin)
2019-07-28 15:28:45 +02:00
f96ae0b5a2 patch 8.1.1767: FEAT_SESSION defined separately
Problem:    FEAT_SESSION defined separately.
Solution:   Make FEAT_SESSION depend on FEAT_EVAL.
2019-07-28 15:21:55 +02:00
2a9c9f6d89 undo extra changes in src/Makefile 2019-07-28 14:17:56 +02:00
8453807911 patch 8.1.1766: code for writing session file is spread out
Problem:    Code for writing session file is spread out.
Solution:   Put it in one file. (Yegappan Lakshmanan, closes #4728)
2019-07-28 14:15:42 +02:00
f91aac5e3e patch 8.1.1765: get(func, dict, def) does not work properly
Problem:    get(func, dict, def) does not work properly.
Solution:   Handle NULL dict better. (Takuya Fujiwara, closes #4734)
2019-07-28 13:21:01 +02:00
5328cb8986 patch 8.1.1764: ":browse oldfiles" is not tested
Problem:    ":browse oldfiles" is not tested.
Solution:   Add a test.
2019-07-27 23:27:51 +02:00
9f9fe37f67 patch 8.1.1763: evalfunc.c is still too big
Problem:    Evalfunc.c is still too big.
Solution:   Move dict and list functions to a better place.
2019-07-27 23:12:12 +02:00
c273405188 patch 8.1.1762: some filetype rules are in the wrong place
Problem:    Some filetype rules are in the wrong place.
Solution:   Move to the right place.  Add a few more tests.
2019-07-27 21:57:21 +02:00
4248111497 patch 8.1.1761: filetype "vuejs" causes problems for some users
Problem:    Filetype "vuejs" causes problems for some users.
Solution:   Rename to "vue".
2019-07-27 21:39:13 +02:00
9800bfe0fc patch 8.1.1760: extra line break for wrapping output of :args
Problem:    Extra line break for wrapping output of :args.
Solution:   Avoid the extra line break. (Daniel Hahler, closes #4737)
2019-07-27 21:23:45 +02:00
14371ed697 patch 8.1.1759: no mode char for terminal mapping from maparg()
Problem:    No mode char for terminal mapping from maparg().
Solution:   Check for TERMINAL mode. (closes #4735)
2019-07-27 21:05:21 +02:00
d5c8234517 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Problem:    Count of g$ not used correctly when text is not wrapped.
Solution:   Do use the count. (Christian Brabandt, closes #4729, closes #4566)
2019-07-27 18:44:57 +02:00
2984666291 patch 8.1.1757: text added with appendbufline() isn't displayed
Problem:    Text added with appendbufline() to another buffer isn't displayed.
Solution:   Update topline. (partly by Christian Brabandt, closes #4718)
2019-07-27 17:39:15 +02:00
1417c766f5 patch 8.1.1756: autocommand that splits window messes up window layout
Problem:    Autocommand that splits window messes up window layout.
Solution:   Disallow splitting a window while closing one.  In ":all" give an
            error when moving a window will not work.
2019-07-27 17:31:36 +02:00
0aca293fed patch 8.1.1755: leaking memory when using a popup window mask
Problem:    Leaking memory when using a popup window mask.
Solution:   Free the cached mask.
2019-07-26 22:22:38 +02:00
4f0d002cf9 patch 8.1.1754: build failure
Problem:    Build failure.
Solution:   Add missing change to window struct.
2019-07-26 22:20:03 +02:00
e865dcbce1 patch 8.1.1753: use of popup window mask is inefficient
Problem:    Use of popup window mask is inefficient.
Solution:   Precompute and cache the mask.
2019-07-26 22:15:50 +02:00
7b73d7ebf7 patch 8.1.1752: resizing hashtable is inefficient
Problem:    Resizing hashtable is inefficient.
Solution:   Avoid resizing when the final size is predictable.
2019-07-26 21:26:34 +02:00
9d5ffceb3f patch 8.1.1751: when redrawing popups plines_win() may be called often
Problem:    When redrawing popups plines_win() may be called often.
Solution:   Pass a cache to mouse_comp_pos().
2019-07-26 21:01:29 +02:00
8a5c29aee9 patch 8.1.1750: depending on the terminal width :version may miss a line break
Problem:    Depending on the terminal width :version may miss a line break.
Solution:   Add a line break when needed.
2019-07-26 19:48:19 +02:00
736cd2cfbe patch 8.1.1749: Coverity warns for using negative index
Problem:    Coverity warns for using negative index.
Solution:   Move using index inside "if".
2019-07-25 21:58:19 +02:00
74da39373c patch 8.1.1748: :args output is not aligned
Problem:    :args output is not aligned.
Solution:   Output a line break after the last item in a row.
2019-07-25 21:52:39 +02:00
fbfb757d4c patch 8.1.1747: compiler warning for unused variables
Problem:    Compiler warning for unused variables. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-07-25 20:53:03 +02:00
94f82cbacf patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Problem:    ":dl" is seen as ":dlist" instead of ":delete".
Solution:   Do not use cmdidxs2[] if the length is 1. (closes #4721)
2019-07-24 22:30:27 +02:00
1f164b1968 patch 8.1.1745: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.  Change comments to new style.
2019-07-24 19:00:36 +02:00
07d1356648 patch 8.1.1744: build error without the conceal feature
Problem:    Build error without the conceal feature.
Solution:   Define variables also without the conceal feature.
2019-07-24 18:43:08 +02:00
bbca7732e8 patch 8.1.1743: 'hlsearch' and match highlighting in the wrong place
Problem:    'hlsearch' and match highlighting in the wrong place.
Solution:   Move highlighting from inside screen functions to highlight.c.
2019-07-24 18:13:16 +02:00
7dfb016d25 patch 8.1.1742: still some match functions in evalfunc.c
Problem:    Still some match functions in evalfunc.c.
Solution:   Move them to highlight.c.
2019-07-24 16:00:39 +02:00
4ef18dcc2e patch 8.1.1741: cleared/added match highlighting not updated in other window
Problem:    Cleared/added match highlighting not updated in other window.
            (Andi Massimino)
Solution:   Mark the right window for refresh.
2019-07-24 15:28:18 +02:00
d08b8c4c04 patch 8.1.1740: exepath() doesn't work for "bin/cat"
Problem:    Exepath() doesn't work for "bin/cat".
Solution:   Check for any path separator. (Daniel Hahler, closes #4724,
            closes #4710)
2019-07-24 14:59:45 +02:00
06029a857a patch 8.1.1739: deleted match highlighting not updated in other window
Problem:    Deleted match highlighting not updated in other window.
Solution:   Mark the window for refresh. (closes #4720)  Also fix that
            ambi-width check clears with wrong attributes.
2019-07-24 14:25:26 +02:00
9bc4dde45d patch 8.1.1738: testing lambda with timer is slow
Problem:    Testing lambda with timer is slow.
Solution:   Do not test timer accuracy, only that it works. (Daniel Hahler,
            closes #4723)
2019-07-24 13:08:29 +02:00
949f1989cb patch 8.1.1737: :args command that outputs one line gives more prompt
Problem:    :args command that outputs one line gives more prompt.
Solution:   Only output line break if needed. (Daniel Hahler, closes #4715)
2019-07-23 23:00:08 +02:00
c3328169d5 patch 8.1.1736: viminfo support is spread out
Problem:    Viminfo support is spread out.
Solution:   Move more viminfo code to viminfo.c. (Yegappan Lakshmanan,
            closes #4717)  Reorder code to make most functions static.
2019-07-23 22:15:25 +02:00
c61a48d259 patch 8.1.1735: can't build with tiny features
Problem:    Can't build with tiny features.
Solution:   Add missing #ifdefs.
2019-07-22 23:16:33 +02:00
29b7d7a9aa patch 8.1.1734: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move some functions to other files.
2019-07-22 23:03:57 +02:00
e5e6950193 patch 8.1.1733: the man ftplugin leaves an empty buffer behind
Problem:    The man ftplugin leaves an empty buffer behind.
Solution:   Don't make new window and edit, use split. (Jason Franklin)
2019-07-22 22:09:21 +02:00
f03e328348 patch 8.1.1732: completion in cmdwin does not work for buffer-local commands
Problem:    Completion in cmdwin does not work for buffer-local commands.
Solution:   Use the right buffer. (closes #4711)
2019-07-22 21:55:18 +02:00
26b654a5df patch 8.1.1731: command line history not read from viminfo on startup
Problem:    Command line history not read from viminfo on startup.
Solution:   Get history length after initializing it.
2019-07-22 20:50:17 +02:00
1e78e69680 patch 8.1.1730: wrong place for mark viminfo support
Problem:    Wrong place for mark viminfo support.
Solution:   Move it to viminfo.c. (Yegappan Lakshmanan, closes #4716)
2019-07-22 20:18:27 +02:00
ecaa75b4ce patch 8.1.1729: heredoc with trim not properly handled in function
Problem:    Heredoc with trim not properly handled in function.
Solution:   Allow for missing indent. (FUJIWARA Takuya, closes #4713)
2019-07-21 23:04:21 +02:00
5f32ece459 patch 8.1.1728: wrong place for command line history viminfo support
Problem:    Wrong place for command line history viminfo support.
Solution:   Move it to viminfo.c.
2019-07-21 21:51:59 +02:00
defa067c54 patch 8.1.1727: code for viminfo support is spread out
Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
2019-07-21 19:25:37 +02:00
ed997adaa1 patch 8.1.1726: the eval.txt help file is too big
Problem:    The eval.txt help file is too big.
Solution:   Split off testing support to testing.txt.  Move function details
            to where the functionality is explained.
2019-07-21 16:42:00 +02:00
663bbc09ba patch 8.1.1725: MS-Windows: E325 message may use incorrect date format
Problem:    MS-Windows: E325 message may use incorrect date format.
Solution:   Convert strftime() result to 'encoding'.  Also make the message
            translatable. (Ken Takata, closes #4685, closes #4681)
2019-07-21 15:23:35 +02:00
b4fe0eb4b4 patch 8.1.1724: too much overhead checking for CTRL-C while processing text
Problem:    Too much overhead checking for CTRL-C while processing text.
Solution:   Increase BREAKCHECK_SKIP.  Remove the difference for when built
            with the GUI. (suggested by Andy Massimino, closes #4708)
2019-07-21 14:50:21 +02:00
2458200729 patch 8.1.1723: heredoc assignment has no room for new features
Problem:    Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution:   Require the marker does not start with a lower case character.
            (closes #4705)
2019-07-21 14:14:26 +02:00
61343f0c44 patch 8.1.1722: error when scriptversion is 2 a making a dictionary access
Problem:    Error when scriptversion is 2 a making a dictionary access.
Solution:   Parse the subscript even when not evaluating the sub-expression.
            (closes #4704)
2019-07-20 21:11:13 +02:00
63187f7932 patch 8.1.1721: build failure with normal features without netbeans interface
Problem:    Build failure with normal features without netbeans interface.
Solution:   Enable signs when using the text properties feature.
2019-07-20 19:14:49 +02:00
2a5b52758b patch 8.1.1720: crash with very long %[] pattern
Problem:    Crash with very long %[] pattern. (Reza Mirzazade farkhani)
Solution:   Check for reg_toolong. (closes #4703)
2019-07-20 18:56:06 +02:00
331bafd481 patch 8.1.1719: popup too wide when 'showbreak' is set
Problem:    Popup too wide when 'showbreak' is set.
Solution:   Set window width when computing line length. (closes #4701)
2019-07-20 17:46:05 +02:00
cb5ff34c1b patch 8.1.1718: popup menu highlighting does not look good
Problem:    Popup menu highlighting does not look good.
Solution:   Highlight the whole window line.  Fix that sign line HL is not
            displayed in a window with a background color.
2019-07-20 16:51:19 +02:00
f914a33c9c patch 8.1.1717: last char in menu popup window highlighted
Problem:    Last char in menu popup window highlighted.
Solution:   Do not highlight an extra character twice.
2019-07-20 15:09:56 +02:00
ab0a789808 patch 8.1.1716: old style comments are wasting space
Problem:    Old style comments are wasting space
Solution:   Use new style comments in option header file.
2019-07-19 23:15:12 +02:00
06e6377009 patch 8.1.1715: emoji characters are seen as word characters for spelling
Problem:    Emoji characters are seen as word characters for spelling. (Gautam
            Iyer)
Solution:   Exclude class 3 from word characters.
2019-07-19 23:04:34 +02:00
85850f3a5e Update runtime files 2019-07-19 22:05:51 +02:00
7964873afe patch 8.1.1714: cannot preview a file in a popup window
Problem:    Cannot preview a file in a popup window.
Solution:   Add the 'previewpopup' option.
2019-07-18 21:43:07 +02:00
df9c6cad8c patch 8.1.1713: highlighting cursor line only works with popup_menu()
Problem:    Highlighting cursor line only works with popup_menu().
Solution:   Add the "cursorline" property. (Naruhiko Nishino, closes #4671)
2019-07-18 13:46:42 +02:00
d6bcff4577 patch 8.1.1712: signs in number column cause text to be misaligned
Problem:    Signs in number column cause text to be misaligned.
Solution:   Improve alignment. (Yasuhiro Matsumoto, closes #4694)
2019-07-18 12:48:16 +02:00
acf7544cf6 patch 8.1.1711: listener callback called at the wrong moment
Problem:    Listener callback called at the wrong moment
Solution:   Invoke listeners before calling ml_delete_int(). (closes #4657)
2019-07-17 22:55:35 +02:00
4a0a161a9b patch 8.1.1710: Coverity found dead code
Problem:    Coverity found dead code.
Solution:   Remove merging of listener changes.
2019-07-17 22:00:19 +02:00
403d090e39 patch 8.1.1709: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Make sure no NULL pointer is used.
2019-07-17 21:37:32 +02:00
3fb4f4762b patch 8.1.1708: Coverity warns for using uninitialized variable
Problem:    Coverity warns for using uninitialized variable.
Solution:   Set the start col when col is set.
2019-07-17 21:32:14 +02:00
cfdbc5adde patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Change the logic to make sure no NULL pointer is used.
2019-07-17 21:27:52 +02:00
99a764bccd patch 8.1.1706: typo in #ifdef
Problem:    Typo in #ifdef.
Solution:   Change PROT to PROTO.
2019-07-17 20:01:48 +02:00
4c6d90458b patch 8.1.1705: using ~{} for a literal dict is not nice
Problem:    Using ~{} for a literal dict is not nice.
Solution:   Use #{} instead.
2019-07-16 22:04:02 +02:00
69a5b86794 patch 8.1.1704: C-R C-W does not work after C-G when using 'incsearch'
Problem:    C-R C-W does not work after C-G when using 'incsearch'.
Solution:   Put cursor at end of the match. (Yasuhiro Matsumoto, closes #4664)
2019-07-16 21:38:51 +02:00
6138640806 patch 8.1.1703: breaking out of loop by checking window pointer insufficient
Problem:    Breaking out of loop by checking window pointer is insufficient.
Solution:   Check the window ID and the buffer number. (closes #4683)
2019-07-16 21:19:55 +02:00
c7283078c3 patch 8.1.1702: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Christian Brabandt)
2019-07-16 20:12:44 +02:00
7ce2aa01c2 patch 8.1.1701: Appveyor build with MSVC fails puts progress bar in log
Problem:    Appveyor build with MSVC fails puts progress bar in log.
Solution:   Adjust the sed command. (Ken Takata)
2019-07-16 20:00:11 +02:00
250e3112c6 patch 8.1.1700: listener callback called for the wrong buffer
Problem:    Listener callback called for the wrong buffer.
Solution:   Invoke listeners before calling ml_append_int().
2019-07-15 23:02:14 +02:00
2ac6e82a4e patch 8.1.1699: highlight_ga can be local instead of global
Problem:    Highlight_ga can be local instead of global.
Solution:   Move highlight_ga into highlight.c. (Yegappan Lakshmanan,
            closes #4675)
2019-07-15 22:40:22 +02:00
5d6844566a patch 8.1.1698: Appveyor build with MSVC fails
Problem:    Appveyor build with MSVC fails.
Solution:   Remove the sed command
2019-07-15 22:03:40 +02:00
c9afd15bc8 patch 8.1.1697: cannot build with MSVC
Problem:    Cannto build with MSVC.
Solution:   Remove the backslashes after the @<< mechanism.
2019-07-15 21:15:05 +02:00
cea2a15687 patch 8.1.1696: MSVC: link command line is too long
Problem:    MSVC: link command line is too long.
Solution:   Use the @<< mechanism to pass the arguments via a file. (Christian
            Brabandt)
2019-07-15 20:44:57 +02:00
f49a692259 patch 8.1.1695: Windows 10: crash when cursor is at bottom of terminal
Problem:    Windows 10: crash when cursor is at bottom of terminal.
Solution:   Position the cursor before resizing. (Yasuhiro Matsumoto,
            closes #4679)
2019-07-15 20:37:05 +02:00
41a8260445 patch 8.1.1694: the RUN_VIM variable is longer than needed
Problem:    The RUN_VIM variable is longer than needed.
Solution:   Shorten RUN_VIM. (Daniel Hahler, closes #4643)
2019-07-14 21:54:26 +02:00
f9cc9f209e patch 8.1.1693: syntax coloring and highlighting is in one big file
Problem:    Syntax coloring and highlighting is in one big file.
Solution:   Move the highlighting to a separate file. (Yegappan Lakshmanan,
            closes #4674)
2019-07-14 21:29:22 +02:00
b8be54dcc5 patch 8.1.1692: using *{} for literal dict is not backwards compatible
Problem:    Using *{} for literal dict is not backwards compatible. (Yasuhiro
            Matsumoto)
Solution:   Use ~{} instead.
2019-07-14 18:22:59 +02:00
37d9f175a4 patch 8.1.1691: diff test fails on some systems
Problem:    Diff test fails on some systems. (Elimar Riesebieter)
Solution:   Add a term_wait() call.
2019-07-14 17:26:46 +02:00
0346413c24 patch 8.1.1690: default padding for popup window menu is too much
Problem:    Default padding for popup window menu is too much.
Solution:   Only add padding left and right.
2019-07-14 16:28:13 +02:00
660a10ad41 patch 8.1.1689: profiling code is spread out
Problem:    Profiling code is spread out.
Solution:   Move more profiling code to profiler.c. (Yegappan Lakshmanan,
            closes #4668)
2019-07-14 15:48:38 +02:00
1850b14c0d patch 8.1.1688: old makefiles are no longer useful
Problem:    Old makefiles are no longer useful.
Solution:   Delete the makefiles, they most likely don't work anyway.
2019-07-14 15:09:59 +02:00
ecaa70ea29 patch 8.1.1687: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move testing support to a separate file.
2019-07-14 14:55:39 +02:00
2898ebb44c patch 8.1.1686: "*" of "*{" is recognized as multipy operator
Problem:    "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution:   Check for the "{".
2019-07-14 13:41:34 +02:00
a099da3572 patch 8.1.1685: missing file in distributed file list
Problem:    Missing file in distributed file list.
Solution:   Add profiling.pro
2019-07-13 23:06:26 +02:00
396e829fa3 Update runtime files 2019-07-13 23:04:31 +02:00
fa55cfc69d patch 8.1.1684: profiling functionality is spread out
Problem:    Profiling functionality is spread out.
Solution:   Put profiling functionality in profiling.c. (Yegappan Lakshmanan,
            closes #4666)
2019-07-13 22:59:32 +02:00
d5abb4c877 patch 8.1.1683: dictionary with string keys is longer than needed
Problem:    Dictionary with string keys is longer than needed.
Solution:   Use *{key: val} for literaly keys.
2019-07-13 22:46:10 +02:00
809ce4d317 patch 8.1.1682: placing a larger number of signs is slow
Problem:    Placing a larger number of signs is slow.
Solution:   Add functions for dealing with a list of signs. (Yegappan
            Lakshmanan, closes #4636)
2019-07-13 21:21:40 +02:00
0fb286e82d patch 8.1.1681: insert stray "{" when listener gets buffer line
Problem:    Insert stray "{" when listener gets buffer line. (Paul Jolly)
Solution:   Flush the cached line after invoking listeners. (closes #4455)
2019-07-13 20:14:45 +02:00
63d0dad874 patch 8.1.1680: the command table is not well aligned
Problem:    The command table is not well aligned.
Solution:   Adjust indent.
2019-07-13 18:17:23 +02:00
eaa49e40d7 patch 8.1.1679: test using SwapExists autocommand file may fail
Problem:    Test using SwapExists autocommand file may fail.
Solution:   Remove the SwapExists autocommand.
2019-07-13 18:08:59 +02:00
a901a37bae patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Problem:    When using popup_menu() does not scroll to show the selected line.
Solution:   Scroll the text. (Naruhiko Nishino, closes #4651)
2019-07-13 16:38:50 +02:00
b073da8929 patch 8.1.1677: tests get stuck when running into an existing swapfile
Problem:    Tests get stuck when running into an existing swapfile.
Solution:   Set v:swapchoice to "q" and report an error. (Daniel Hahler,
            closes #4644)
2019-07-13 14:47:26 +02:00
017c269938 patch 8.1.1676: "maxwidth" of popup window does not always work properly
Problem:    "maxwidth" of popup window does not always work properly.
Solution:   Adjust the computation. (Naruhiko Nishino, closes #4653)
2019-07-13 14:17:51 +02:00
7b73f914c4 patch 8.1.1675: listener list not correctly updated on listener_remove()
Problem:    Listener list not correctly updated on listener_remove().
Solution:   Only set "prev" when not removing a listener.  Return one if the
            listener was found and removed.
2019-07-13 13:03:02 +02:00
4e63f9425e patch 8.1.1674: script to check a colorscheme can be improved
Problem:    Script to check a colorscheme can be improved.
Solution:   Match the whole group name. Don't warn for what is usually omitted.
2019-07-12 22:46:47 +02:00
b4f0628fc5 patch 8.1.1673: cannot easily find the popup window at a certain position
Problem:    Cannot easily find the popup window at a certain position.
Solution:   Add popup_locate().
2019-07-12 21:07:54 +02:00
d94ac0caca patch 8.1.1672: "make cmdidxs" doesn't work
Problem:    "make cmdidxs" doesn't work.
Solution:   Update macro names. (Naruhiko Nishino, closes #4660)
2019-07-12 20:24:59 +02:00
b7b9efbccf patch 8.1.1671: copying a blob may result in it being locked
Problem:    Copying a blob may result in it being locked.
Solution:   Reset v_lock. (Ken Takata, closes #4648)
2019-07-12 20:17:03 +02:00
0231f8312b patch 8.1.1670: sign column not always properly aligned
Problem:    Sign column not always properly aligned.
Solution:   Use "col" only after it was calculated. (Yee Cheng Chin,
            closes #4649)
2019-07-12 19:22:22 +02:00
efef9fea72 patch 8.1.1669: Travis: test results section is closed even when failed
Problem:    Travis: test results section is closed even when some tests
            failed.
Solution:   Only close the section on success. (Daniel Hahler, closes #4659)
2019-07-12 18:45:40 +02:00
8ccabf624e patch 8.1.1668: popup window test is a bit flaky on some systems
Problem:    Popup window test is a bit flaky on some systems.
Solution:   Clear the command line. (Naruhiko Nishino, closes #4656)
2019-07-12 18:12:51 +02:00
8071cb2c64 patch 8.1.1667: flags for Ex commands may clash with other symbols
Problem:    Flags for Ex commands may clash with other symbols.
Solution:   Prepend with EX_.
2019-07-12 17:58:01 +02:00
bd42b31780 patch 8.1.1666: click in popup window scrollbar with border doesn't scroll
Problem:    Click in popup window scrollbar with border doesn't scroll.
Solution:   Correct column for the border. (Naruhiko Nishino, closes #4650)
2019-07-12 16:35:34 +02:00
b420747478 patch 8.1.1665: crash when popup window with mask is below the screen
Problem:    Crash when popup window with mask is below the screen.
Solution:   Correct boundary check.
2019-07-12 16:05:45 +02:00
847a5d69a8 patch 8.1.1664: GUI resize may cause changing Rows at a bad time
Problem:    GUI resize may cause changing Rows at a bad time. (Dominique
            Pelle)
Solution:   Postpone resizing while updating the screen.
2019-07-12 15:37:13 +02:00
1072768b91 patch 8.1.1663: compiler warning for using size_t
Problem:    Compiler warning for using size_t.
Solution:   Add type cast. (Mike Williams)
2019-07-12 13:59:20 +02:00
e28cfb2812 patch 8.1.1662: cannot build uninstal.exe with some version of MinGW
Problem:    Cannot build uninstal.exe with some version of MinGW.
Solution:   Add -lole32. (Rene Nyffenegger, closes #4646)
2019-07-11 22:04:21 +02:00
247bf0de46 patch 8.1.1661: cannot build with +textprop but without +balloon_eval
Problem:    Cannot build with +textprop but without +balloon_eval.
Solution:   Adjust #ifdefs. (closes #4645)
2019-07-10 22:21:48 +02:00
7780e5c1c5 patch 8.1.1660: assert_fails() does not fail inside try/catch
Problem:    Assert_fails() does not fail inside try/catch.
Solution:   Set trylevel to zero. (Ozaki Kiichi, closes #4639)
2019-07-10 22:04:48 +02:00
b05caa782d patch 8.1.1659: popup window "mousemoved" values not correct
Problem:    Popup window "mousemoved" values not correct.
Solution:   Convert text column to mouse column.
2019-07-10 21:55:54 +02:00
3b849af90a patch 8.1.1658: debug statements included in patch
Problem:    Debug statements included in patch.
Solution:   Remove the debug statements.
2019-07-10 16:15:04 +02:00
7ba343e634 patch 8.1.1657: Terminal: screen updates from 'balloonexpr' are not displayed
Problem:    Terminal: screen updates from 'balloonexpr' are not displayed.
Solution:   Update the screen if needed.  Fix the word position for
            "mousemoved".
2019-07-09 23:22:15 +02:00
e089c3fd69 patch 8.1.1656: popup window width is wrong when using Tabs
Problem:    Popup window width is wrong when using Tabs. (Paul Jolly)
Solution:   Count tabs correctly. (closes #4637)
2019-07-09 20:25:25 +02:00
3dabd718f4 patch 8.1.1655: popup window border drawn wrong with multi-byte char
Problem:    Popup window border drawn wrong with multi-byte char. (Marcin
            Szamotulski)
Solution:   Correct check in mb_fix_col(). (closes #4635)
2019-07-08 23:30:22 +02:00
8a7383b6d2 patch 8.1.1654: GUI: screen updates from 'balloonexpr' are not displayed
Problem:    GUI: screen updates from 'balloonexpr' are not displayed.
Solution:   Update the screen if needed.  Also avoid the cursor being
            displayed in the wrong position.
2019-07-08 22:23:33 +02:00
0d07155c8b patch 8.1.1653: ubsan warns for possibly passing NULL pointer
Problem:    Ubsan warns for possibly passing NULL pointer.
Solution:   Skip code when length is zero. (Dominique Pelle, closes #4631)
2019-07-08 22:04:03 +02:00
49fe95f225 patch 8.1.1652: GUI: popup window doesn't close on mouse movement
Problem:    GUI: popup window doesn't close on mouse movement. (Paul Jolly)
Solution:   Generate mouse-move events when a popup window is visible.
2019-07-08 21:57:30 +02:00
9992244226 patch 8.1.1651: suspend test is flaky on some systems
Problem:    Suspend test is flaky on some systems.
Solution:   Wait for the shell prompt to show. (Yee Cheng Chin, closes #4632)
2019-07-08 20:58:25 +02:00
ee9e604124 patch 8.1.1650: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable. (Tony Mechelynck)
Solution:   Simplify the code by always using the mouse coordinates.
2019-07-08 20:08:44 +02:00
3e35d05b1f patch 8.1.1649: Illegal memory access when closing popup window
Problem:    Illegal memory access when closing popup window.
Solution:   Get w_next before closing the window.
2019-07-07 20:43:34 +02:00
3f3e954d96 patch 8.1.1648: MS-Windows: build error with normal feaures
Problem:    MS-Windows: build error with normal feaures.
Solution:   Adjust #ifdef for find_word_under_cursor().
2019-07-07 20:30:48 +02:00
d84b2c3d88 patch 8.1.1647: build error with GTK and hangulinput feature
Problem:    Build error with GTK and hangulinput feature, im_get_status()
            defined twice. (Dominique Pelle)
Solution:   Adjust im_get_status(). (closes #4628)
2019-07-07 19:16:58 +02:00
56a6312099 patch 8.1.1646: build failure
Problem:    build failure
Solution:   Add changes to structure.
2019-07-07 18:38:34 +02:00
b3d17a20d2 patch 8.1.1645: cannot use a popup window for a balloon
Problem:    Cannot use a popup window for a balloon.
Solution:   Add popup_beval().  Add the "mousemoved" property.  Add the
            screenpos() function.
2019-07-07 18:28:14 +02:00
5b19e5b919 patch 8.1.1644: sound test does not work on Travis
Problem:    Sound test does not work on Travis.
Solution:   Use "sg" command to enable audio. (Ozaki Kiichi, closes #4624)
2019-07-07 15:12:12 +02:00
899f20deae patch 8.1.1643: sign placement is wrong when 'foldcolumn' is set
Problem:    Sign placement is wrong when 'foldcolumn' is set.
Solution:   Adjust the column computation. (Yee Cheng Chin, closes #4627)
2019-07-07 14:56:25 +02:00
ec572ad6a6 patch 8.1.1642: may use uninitialized variable
Problem:    May use uninitialized variable. (Patrick Palka)
Solution:   Initialize variables earlier. (closes #4623)
2019-07-07 14:26:59 +02:00
6cc7e21412 patch 8.1.1641: garbage collection may run at a wrong moment
Problem:    Garbage collection may run at a wrong moment. (Trygve Aaberge)
Solution:   Postpone garbage collection while parsing messages. (closes #4620)
2019-07-07 14:05:24 +02:00
c2f5054be9 patch 8.1.1640: the CursorHold autocommand takes down a balloon
Problem:    The CursorHold autocommand takes down a balloon. (Paul Jolly)
Solution:   Ignore the CursorHold pseudo-key.
2019-07-05 23:24:56 +02:00
28fc247f8d patch 8.1.1639: changing an autoload name into a file name is inefficient
Problem:    Changing an autoload name into a script file name is inefficient.
Solution:   Remember the last replaced #. (Ozaki Kiichi, closes #4618)
2019-07-05 22:14:16 +02:00
3940ec6d41 patch 8.1.1638: running tests leaves some files behind
Problem:    Running tests leaves some files behind.
Solution:   Delete the files. (Ozaki Kiichi, closes #4617)
2019-07-05 21:53:24 +02:00
4f5b0e5355 patch 8.1.1637: after running tests and clean the XfakeHOME directory remains
Problem:    After running tests and clean the XfakeHOME directory remains.
Solution:   Use "rm -rf". (Hirohito Higashi)
2019-07-05 20:43:52 +02:00
437a746b4c patch 8.1.1636: crash when popup has fitting scrollbar
Problem:    Crash when popup has fitting scrollbar. (Trygve Aaberge)
Solution:   Don't divide by zero if the scrollbar just fits. (closes #4615)
2019-07-05 20:17:22 +02:00
b4d9b893d3 patch 8.1.1635: warnings for unused variables in small version
Problem:    Warnings for unused variables in small version. (John Marriott)
Solution:   Adjust #ifdefs.
2019-07-04 22:59:06 +02:00
981d9dc8f3 patch 8.1.1634: terminal test fails when term_getansicolors() is missing
Problem:    Terminal test fails when term_getansicolors() is missing.
            Diff test fails without +rightleft.  (Dominique Pelle)
Solution:   Check if term_getansicolors() is supported. (closes #4597)
2019-07-04 22:32:39 +02:00
b7ed839976 patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Problem:    Cannot generate prototypes with X11 but without GUI.
Solution:   Include X11/Intrinsic.h.
2019-07-04 21:24:34 +02:00
48ac671fe5 patch 8.1.1632: build with EXITFREE but without +arabic fails
Problem:    Build with EXITFREE but without +arabic fails.
Solution:   Rename the function and adjust #ifdefs. (closes #4613)
2019-07-04 20:26:21 +02:00
4e038571aa patch 8.1.1631: displaying signs is inefficient
Problem:    Displaying signs is inefficient.
Solution:   Avoid making multiple calls to get information about a placed
            sign. (Yegappan Lakshmanan, closes #4586)
2019-07-04 18:28:35 +02:00
e809a4ed30 patch 8.1.1630: various small problems
Problem:    Various small problems.
Solution:   Various small improvements.
2019-07-04 17:35:05 +02:00
790c18bfa5 Update runtime files 2019-07-04 17:22:06 +02:00
6bf2c6264b patch 8.1.1629: terminal function help is in the wrong file
Problem:    Terminal function help is in the wrong file.
Solution:   Move the function details to terminal.txt.
2019-07-04 17:12:09 +02:00
931a277145 patch 8.1.1628: popup window functions not in list of functions
Problem:    Popup window functions not in list of functions.
Solution:   Add popup window functins to the list of functions.  Reorganise
            the popup window help.
2019-07-04 16:54:54 +02:00
6cb39f924a patch 8.1.1627: header file contains mixed comment style
Problem:    Header file contains mixed comment style.
Solution:   Use // style comments.
2019-07-04 16:05:14 +02:00
5ca1ac373a patch 8.1.1626: no test for closing a popup window with a modified buffer
Problem:    No test for closing a popup window with a modified buffer.
Solution:   Add a test.  Add "popups" to getbufinfo().
2019-07-04 15:39:28 +02:00
bc2cfe4672 patch 8.1.1625: script line numbers are not exactly right
Problem:    Script line numbers are not exactly right.
Solution:   Handle heredoc and continuation lines better. (Ozaki Kiichi,
            closes #4611, closes #4511)
2019-07-04 14:57:12 +02:00
0d702028fe patch 8.1.1624: when testing in the GUI may try to run gvim in a terminal
Problem:    When testing in the GUI may try to run gvim in a terminal.
Solution:   Add the -v argument. (Yee Cheng Chin, closes #4605)  Don't skip
            tests that work now.
2019-07-04 14:20:41 +02:00
e4b407f536 patch 8.1.1623: display wrong with signs in narrow number column
Problem:    Display wrong with signs in narrow number column.
Solution:   Increase the numbercolumn width if needed. (Yegappan Lakshmanan,
            closes #4606)
2019-07-04 11:59:28 +02:00
e296e3177b patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Problem:    Wrong width if displaying a lot of lines in a popup window.
Solution:   Accurately compute the line overflow.
2019-07-03 23:20:18 +02:00
80edda1cf5 patch 8.1.1621: Amiga: time.h included twice
Problem:    Amiga: time.h included twice.
Solution:   Remove include from evalfunc.c, move outside of #ifdef in
            os_amiga.h. (Ola Söder, closes #4607)
2019-07-03 22:53:06 +02:00
ba45f1f4fb patch 8.1.1620: no test for popup window with border and mask
Problem:    No test for popup window with border and mask.
Solution:   Add this popup window, fix problems.
2019-07-03 22:50:41 +02:00
435f9f06ca patch 8.1.1619: tests are not run with GUI on Travis
Problem:    Tests are not run with GUI on Travis.
Solution:   Add a testgui job. (Ozaki Kiichi, closes #4609)
2019-07-03 21:40:16 +02:00
9ee3d161f7 patch 8.1.1618: Amiga-like systems quickly run out of stack
Problem:    Amiga-like systems quickly run out of stack.
Solution:   Reserve a Megabyte stack. (Ola Söder, closes #4608)
2019-07-02 23:22:43 +02:00
d529ba58dc patch 8.1.1617: no test for popup window with mask and position fixed
Problem:    No test for popup window with mask and position fixed.
Solution:   Add a couple of screenshots.  Fix deteced problems.
2019-07-02 23:13:53 +02:00
8531dc66e8 patch 8.1.1616: build failure with gcc on Amiga
Problem:    Build failure with gcc on Amiga.
Solution:   Add missing header includes. (Ola Söder, closes #4603)
2019-07-01 22:28:20 +02:00
7866b87958 patch 8.1.1615: crash when passing buffer number to popup_create()
Problem:    Crash when passing buffer number to popup_create(). (Yasuhiro
            Matsumoto)
Solution:   Initialze the window properly.
2019-07-01 22:21:01 +02:00
f8a0712655 patch 8.1.1614: 'numberwidth' can only go up to 10
Problem:    'numberwidth' can only go up to 10.
Solution:   Allow up to 20. (Charlie Stanton, closes #4584)
2019-07-01 22:06:07 +02:00
a83e70000f patch 8.1.1613: popup window test fails with Athena and Motif
Problem:    Popup window test fails with Athena and Motif.
Solution:   Compute the highlight attribut when the GUI is not active.
2019-07-01 21:47:35 +02:00
5b8cfedfbd patch 8.1.1612: cannot show an existing buffer in a popup window
Problem:    Cannot show an existing buffer in a popup window.
Solution:   Support buffer number argument in popup_create().
2019-06-30 22:16:10 +02:00
892ae723ab patch 8.1.1611: bufadd() reuses existing buffer without a name
Problem:    Bufadd() reuses existing buffer without a name.
Solution:   When the name is empty always create a new buffer.
2019-06-30 20:33:01 +02:00
15e248e37f patch 8.1.1610: there is no way to add or load a buffer without side effects
Problem:    There is no way to add or load a buffer without side effects.
Solution:   Add the bufadd() and bufload() functions.
2019-06-30 20:21:37 +02:00
2e62b568e9 patch 8.1.1609: the user cannot easily close a popup window
Problem:    The user cannot easily close a popup window.
Solution:   Add the "close" property. (mostly by Masato Nishihata,
            closes #4601)
2019-06-30 18:07:00 +02:00
b60d8514b8 patch 8.1.1608: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move sign functionality to sign.c.
2019-06-29 07:59:04 +02:00
f9c85f580b patch 8.1.1608: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move sign functionality to sign.c.
2019-06-29 07:41:35 +02:00
548be7f126 patch 8.1.1606: on a narrow screen ":hi" output is confusing
Problem:    On a narrow screen ":hi" output is confusing.
Solution:   Insert a space between highlight group name and "xxx". (Masato
            Nishihaga, closes #4599)
2019-06-29 03:42:42 +02:00
4340fc95d5 patch 8.1.1605: Vim may delay processing messages on a json channel
Problem:    Vim may delay processing messages on a json channel. (Pontus
            Leitzler)
Solution:   Try parsing json when checking if there is readahead.
2019-06-28 22:06:49 +02:00
13b47c37a6 patch 8.1.1604: popup window scroll test is flaky
Problem:    Popup window scroll test is flaky.
Solution:   Add a delay between scroll events.
2019-06-28 21:55:48 +02:00
d74af4227b patch 8.1.1603: crash when using unknown highlighting in text property
Problem:    Crash when using unknown highlighting in text property.
Solution:   Check for zero highlight ID.
2019-06-28 21:38:00 +02:00
711d02c96d patch 8.1.1602: popup window cannot overflow on the left or right
Problem:    Popup window cannot overflow on the left or right.
Solution:   Only set the "fixed" option when it is in the dict. Set w_leftcol
            to allow for the popup overflowing on the left and use it when
            applying the mask.
2019-06-28 04:06:50 +02:00
8da4181631 patch 8.1.1601: missing changes to popup window test file
Problem:    Missing changes to popup window test file.
Solution:   Add those changes.
2019-06-26 18:04:54 +02:00
4cd583c6da patch 8.1.1600: cannot specify highlighting for popup window scrollbar
Problem:    Cannot specify highlighting for popup window scrollbar.
Solution:   Add "scrollbarhighlight" and "thumbhighlight" options.
2019-06-26 05:13:57 +02:00
6efd76ae4a patch 8.1.1599: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add a dummy assignment.
2019-06-26 04:06:57 +02:00
53a95d6584 patch 8.1.1598: update to test file missing
Problem:    Update to test file missing.
Solution:   Update the popup window test file.
2019-06-26 03:54:08 +02:00
68acb41f99 patch 8.1.1597: cannot scroll a popup window with the mouse
Problem:    Cannot scroll a popup window with the mouse.
Solution:   If the popup window has a scrollbar let the mouse scroll wheel
            scroll the window.
2019-06-26 03:40:36 +02:00
c2a4316500 patch 8.1.1596: when resizing the screen may draw popup in wrong position
Problem:    When resizing the screen may draw popup in wrong position. (Masato
            Nishihata)
Solution:   Check the popup is not outside of the screen. (fixes #4592)
2019-06-26 01:03:53 +02:00
88c47aa692 patch 8.1.1595: MS-Windows with VIMDLL: colors wrong in console
Problem:    MS-Windows with VIMDLL: colors wrong in console.
Solution:   Do not set the GUI colors when not using the GUI. (Ken Takata,
            closes #4588)
2019-06-26 00:34:15 +02:00
2eed9bafa0 patch 8.1.1594: may still start file dialog while exiting
Problem:    May still start file dialog while exiting.
Solution:   Ignore the "browse" modifier in another place when exiiting.
            (Ozaki Kiichi, closes #4582)
2019-06-25 23:40:29 +02:00
6a7af8e2db patch 8.1.1593: filetype not detected for C++ header files without extension
Problem:    Filetype not detected for C++ header files without extension.
Solution:   Recognize the file by the Emacs file mode. (Dmitry Ilyin,
            closes #4593)
2019-06-25 21:34:26 +02:00
5c381eb9e7 patch 8.1.1592: may start file dialog while exiting
Problem:    May start file dialog while exiting.
Solution:   Ignore the "browse" modifier when exiting. (Ozaki Kiichi,
            closes #4582
2019-06-25 06:50:31 +02:00
7d491c4253 patch 8.1.1591: on error garbage collection may free memory in use
Problem:    On error garbage collection may free memory in use.
Solution:   Reset may_garbage_collect when evaluating expression mapping.
            Add tests. (Ozaki Kiichi, closes #4579)
2019-06-25 06:28:02 +02:00
6c6a603cd2 patch 8.1.1590: popup window test fails
Problem:    Popup window test fails.
Solution:   Add "scrollbar" to expected result.
2019-06-25 05:33:36 +02:00
75fb0854e9 patch 8.1.1589: popup window does not indicate scroll position
Problem:    Popup window does not indicate scroll position.
Solution:   Add a scrollbar.
2019-06-25 05:15:58 +02:00
e96a2498f9 patch 8.1.1588: in :let-heredoc line continuation is recognized
Problem:    In :let-heredoc line continuation is recognized.
Solution:   Do not consume line continuation. (Ozaki Kiichi, closes #4580)
2019-06-25 04:12:16 +02:00
2b044ffb5a patch 8.1.1587: redraw problem when sign icons in the number column
Problem:    Redraw problem when sign icons in the number column.
Solution:   Clear and redraw when changing related options.  Right aligh the
            sign icon in the GUI. (Yegappan Lakshmanan, closes #4578)
2019-06-24 05:45:14 +02:00
b2cda0dd1d patch 8.1.1586: error number used in two places
Problem:    Error number used in two places.
Solution:   Renumber one. (Ken Takata)
2019-06-24 05:06:36 +02:00
e7eb92708e patch 8.1.1585: :let-heredoc does not trim enough
Problem:    :let-heredoc does not trim enough.
Solution:   Trim indent from the contents based on the indent of the first
            line.  Use let-heredoc in more tests.
2019-06-24 00:58:07 +02:00
0a1f56fcfe patch 8.1.1584: the evalfunc.c file is getting too big
Problem:    The evalfunc.c file is getting too big.
Solution:   Move channel and job related functions to channel.c.
2019-06-24 00:43:35 +02:00
7be3ab2589 patch 8.1.1583: set_ref_in_list() only sets ref in items
Problem:    Set_ref_in_list() only sets ref in items.
Solution:   Rename to set_ref_in_list_items() to avoid confusion.
2019-06-23 01:46:15 +02:00
0fcf26ba4f patch 8.1.1582: cannot build with +textprop but without +timers
Problem:    Cannot build with +textprop but without +timers.
Solution:   Add #ifdef. (Ola Söder, closes #4574)
2019-06-23 01:03:51 +02:00
7a39dd7f00 patch 8.1.1581: shared functions for testing are disorganised
Problem:    Shared functions for testing are disorganised.
Solution:   Group finctions in script files. (Ozaki Kiichi, closes #4573)
2019-06-23 00:50:15 +02:00
c662ec9978 patch 8.1.1580: cannot make part of a popup transparent
Problem:    Cannot make part of a popup transparent.
Solution:   Add the "mask" option.
2019-06-23 00:15:57 +02:00
6c1e1570b1 Update runtime files 2019-06-22 02:13:00 +02:00
adc6714aac patch 8.1.1579: dict and list could be GC'ed while displaying error
Problem:    Dict and list could be GC'ed while displaying error in a timer.
            (Yasuhiro Matsumoto)
Solution:   Block garbage collection when executing a timer.  Add
            test_garbagecollect_soon(). Add "no_wait_return" to
            test_override(). (closes #4571)
2019-06-22 01:40:42 +02:00
dfc1455728 patch 8.1.1578: MS-Windows: pathdef.c should depend on build options
Problem:    MS-Windows: pathdef.c should depend on build options.
Solution:   Generate pathdef.c in the object directory.  Fix dependencies.
            (Ken Takata, closes #4565)
2019-06-21 17:36:10 +02:00
693f7dc818 patch 8.1.1577: command line redrawn for +arabic without Arabic characters
Problem:    Command line redrawn for +arabic without Arabic characters.
            (Dominique Pelle)
Solution:   Check if there actually are any Arabic characters.  Do redraw
            after displaying incsearch. (closes #4569)
2019-06-21 02:30:38 +02:00
405bb42734 patch 8.1.1576: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add "UNUSED" annotation. (Dominique Pelle, closes #4570)
2019-06-21 00:12:29 +02:00
75a1a9415b patch 8.1.1575: callbacks may be garbage collected
Problem:    Callbacks may be garbage collected.
Solution:   Set reference in callbacks. (Ozaki Kiichi, closes #4564)
2019-06-20 03:45:36 +02:00
a3fce62c91 patch 8.1.1574: tabpage option not yet implemented for popup window
Problem:    Tabpage option not yet implemented for popup window.
Solution:   Implement tabpage option, also for popup_getoptions().
2019-06-20 02:31:49 +02:00
37e66cf0f6 patch 8.1.1573: textprop test fails if screenhots do not work
Problem:    Textprop test fails if screenhots do not work.
Solution:   Add check for screenhots working.
2019-06-19 18:16:10 +02:00
e9726e31fe patch 8.1.1572: compiler warnings with tiny build
Problem:    Compiler warnings with tiny build. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-06-19 18:01:21 +02:00
a956bf6ca3 patch 8.1.1571: textprop highlight starts too early if just after a tab
Problem:    textprop highlight starts too early if just after a tab.
Solution:   Check if still drawing a previous character. (closes #4558)
2019-06-19 17:34:24 +02:00
4dff4aed09 patch 8.1.1570: icon signs not displayed properly in the number column
Problem:    Icon signs not displayed properly in the number column.
Solution:   Display them properly. (Yegappan Lakshmanan, closes #4559)
2019-06-19 16:31:28 +02:00
bf8c3adef2 patch 8.1.1569: cannot build with signs but without diff feature
Problem:    Cannot build with signs but without diff feature.
Solution:   Move #ifdef. (Tom Ryder)
2019-06-19 14:28:43 +02:00
87652a7e3b patch 8.1.1568: strftime() test fails on MS-Windows
Problem:    Strftime() test fails on MS-Windows.
Solution:   Skip the check for using the $TZ environment variable.
2019-06-18 23:07:37 +02:00
db51730df1 patch 8.1.1567: localtime_r() does not respond to $TZ changes
Problem:    Localtime_r() does not respond to $TZ changes.
Solution:   If $TZ changes then call tzset(). (Tom Ryder)
2019-06-18 22:53:24 +02:00
517f71ab17 patch 8.1.1566: error message when terminal closes in another tab
Problem:    Error message when terminal closes while it is not in the current
            tab.
Solution:   Also set "do_set_w_closing" when using the special autocommand
            window. (closes #4552)
2019-06-17 22:40:41 +02:00
9b283523f2 patch 8.1.1565: MS-Windows: no sound support
Problem:    MS-Windows: no sound support.
Solution:   Add sound support for MS-Windows. (Yasuhiro Matsumoto, Ken Takata,
            closes #4522)
2019-06-17 22:19:33 +02:00
394c5d8870 patch 8.1.1564: sign column takes up space
Problem:    Sign column takes up space.  (Adam Stankiewicz)
Solution:   Optionally put signs in the number column. (Yegappan Lakshmanan,
            closes #4555, closes #4515)
2019-06-17 21:48:05 +02:00
6e5000d493 patch 8.1.1563: crash when using closures
Problem:    Crash when using closures.
Solution:   Set reference in varlist of funccal when running the garbage
            collector. (Ozaki Kiichi, closes #4554, closes #4547)
2019-06-17 21:18:41 +02:00
ad24a71e22 patch 8.1.1562: popup window not always redrawn after popup_setoptions()
Problem:    Popup window not always redrawn after popup_setoptions().
Solution:   Force a redraw.
2019-06-17 20:05:45 +02:00
ae943150d3 patch 8.1.1561: popup_setoptions() is not implemented yet
Problem:    Popup_setoptions() is not implemented yet.
Solution:   Implement popup_setoptions().  Also add more fields to
            popup_getoptions().
2019-06-16 22:54:14 +02:00
6313c4f41d patch 8.1.1560: popup window hidden option not implemented yet
Problem:    Popup window hidden option not implemented yet.
Solution:   Implement the hidden option.
2019-06-16 20:39:13 +02:00
eb2310d47d patch 8.1.1559: popup window title property not implemented yet
Problem:    Popup window title property not implemented yet.
Solution:   Implement the title property.
2019-06-16 20:09:10 +02:00
a730e55cc2 patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Problem:    Popup_menu() and popup_filter_menu() are not implemented yet.
Solution:   Implement the functions. Fix that centering didn't take the border
            and padding into account.
2019-06-16 19:05:31 +02:00
983f2f1403 patch 8.1.1557: compiler warning for unused variables in tiny version
Problem:    Compiler warning for unused variables in tiny version. (Tony
            Mechelynck)
Solution:   Add #ifdef.
2019-06-16 16:41:41 +02:00
8a5c7ef9bb patch 8.1.1556: command for failing screenshot does not include directory
Problem:    The command displayed to show a failing screenshot does not include
            the "testdir" directory.
Solution:   Prefix the directory name so that it can be copy-pasted.
2019-06-16 16:14:20 +02:00
8cdbd5b3c4 patch 8.1.1555: NOT_IN_POPUP_WINDOW is confusing
Problem:    NOT_IN_POPUP_WINDOW is confusing. (Andy Massimino)
Solution:   Rename to ERROR_IF_POPUP_WINDOW().
2019-06-16 15:50:45 +02:00
1c196e7b17 patch 8.1.1554: docs and tests for :const can be improved
Problem:    Docs and tests for :const can be improved.
Solution:   Improve documentation, add a few more tests. (Ryuichi Hayashida,
            closes #4551)
2019-06-16 15:41:58 +02:00
dc2ce58b5a patch 8.1.1553: not easy to change the text in a popup window
Problem:    Not easy to change the text in a popup window.
Solution:   Add popup_settext(). (Ben Jackson, closes #4549)
            Also display a space for an empty popup.
2019-06-16 15:32:14 +02:00
f85e40afc2 patch 8.1.1552: cursor position is wrong after sign column changes
Problem:    Cursor position is wrong after sign column appears or disappears.
            (Yegappan Lakshmanan)
Solution:   Call changed_line_abv_curs() instead of changed_cline_bef_curs().
2019-06-16 13:55:40 +02:00
6c17543b56 patch 8.1.1551: warning for shadowing popup_dragwin
Problem:    Warning for shadowing popup_dragwin. (Dominique Pelle)
Solution:   Add missing change.
2019-06-15 23:10:30 +02:00
51c3131040 patch 8.1.1550: when a popup has left padding text may be cut off
Problem:    When a popup has left padding text may be cut off.
Solution:   Add the border and padding when computing the size.
2019-06-15 22:27:23 +02:00
61eeeea8e6 patch 8.1.1549: quickfix test fails
Problem:    Quickfix test fails.
Solution:   Negate result of bt_quickfix().
2019-06-15 21:56:17 +02:00
a42d945efc patch 8.1.1548: popup_dialog() is not implemented
Problem:    Popup_dialog() is not implemented.
Solution:   Implement popup_dialog() and popup_filter_yesno().
2019-06-15 21:46:30 +02:00
26910de8b0 patch 8.1.1547: functionality of bt_nofile() is confusing
Problem:    Functionality of bt_nofile() is confusing.
Solution:   Split into bt_nofile() and bt_nofilename().
2019-06-15 19:37:15 +02:00
0331faf712 patch 8.1.1546: in some tests 'tags' is set but not restored
Problem:    In some tests 'tags' is set but not restored. (Daniel Hahler)
Solution:   Restore 'tags'. (closes #4535)
2019-06-15 18:40:37 +02:00
45aa07d3c1 patch 8.1.1545: when the screen is to small there is no message about that
Problem:    When the screen is to small there is no message about that.
            (Daniel Hahler)
Solution:   Do not use :cquit. (closes #4534)
2019-06-15 18:20:38 +02:00
b46fecd345 patch 8.1.1544: some balloon tests don't run when they can
Problem:    Some balloon tests don't run when they can.
Solution:   Split GUI balloon tests off into a separate file. (Ozaki Kiichi,
            closes #4538)  Change the feature check into a command for
            consistency.
2019-06-15 17:58:09 +02:00
b6e3b88ec8 patch 8.1.1543: const test fails with small features
Problem:    Const test fails with small features.
Solution:   Don't unlet non-existing variables.
2019-06-15 17:50:57 +02:00
d7c9687947 patch 8.1.1542: an OptionSet autocommand does not get enough info
Problem:    An OptionSet autocommand does not get enough info.
Solution:   Add v:option_command, v:option_oldlocal and v:option_oldglobal.
            (Latrice Wilgus, closes #4118)
2019-06-15 17:12:48 +02:00
bffc50494d patch 8.1.1541: check for ASAN is not reliable
Problem:    Check for ASAN is not reliable.
Solution:   Check the version output. (Dominique Pelle, closes #4543)
2019-06-15 16:34:21 +02:00
0abb4273f6 patch 8.1.1540: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Define ex_const if needed.
2019-06-15 16:06:00 +02:00
9937a05543 patch 8.1.1539: not easy to define a variable and lock it
Problem:    Not easy to define a variable and lock it.
Solution:   Add ":const".
2019-06-15 15:45:06 +02:00
dfa97f2aed patch 8.1.1538: cannot specify highlighting for notifications
Problem:    Cannot specify highlighting for notifications.
Solution:   Use the PopupNotification group if it exists. Add a minimal width
            to notifications.
2019-06-15 14:31:55 +02:00
fc06cbbf86 patch 8.1.1537: using "tab" for popup window can be confusing
Problem:    Using "tab" for popup window can be confusing.
Solution:   Use "tabpage". (Hirohito Higashi, closes #4532)
2019-06-15 14:14:31 +02:00
1755ec4278 patch 8.1.1536: popup select test still fails on Mac
Problem:    Popup select test still fails on Mac.
Solution:   Set 'clipboard' to "autoselect"
2019-06-15 13:13:54 +02:00
650a63748c patch 8.1.1535: popup select test fails on Mac
Problem:    Popup select test fails on Mac.
Solution:   Skip test if clipboard feature not available.
2019-06-15 00:29:33 +02:00
bd75b5333d patch 8.1.1534: modeless selection in popup window selects too much
Problem:    Modeless selection in popup window selects too much.
Solution:   Restrict the selection to insde of the popup window.
2019-06-14 23:41:55 +02:00
2fc39aeeb5 patch 8.1.1533: GUI build fails on Mac
Problem:    GUI build fails on Mac.
Solution:   Change VimClipboard type in non-C file.
2019-06-14 23:27:29 +02:00
d2cea96f6c patch 8.1.1532: build fails
Problem:    Build fails.
Solution:   Add missing changes.
2019-06-14 23:14:45 +02:00
0554fa478d patch 8.1.1531: clipboard type name is inconsistent
Problem:    Clipboard type name is inconsistent.
Solution:   Rename VimClipboard to Clipboard_T.
2019-06-14 21:36:54 +02:00
f42397c395 patch 8.1.1530: Travis config is not optimal
Problem:    Travis config is not optimal.
Solution:   Remove system conditions.  Do not use excluding matrix. Cache OSX
            results. (Ozaki Kiichi, closes #4521)
2019-06-14 20:47:49 +02:00
21606676d9 patch 8.1.1529: libcanberra is linked with even when not used
Problem:    Libcanberra is linked with even when not used.
Solution:   Have configure check for libcanberra only when wanted.
            (suggestions by Libor Bukata)
2019-06-14 20:40:58 +02:00
b4086ffa32 patch 8.1.1528: popup_any_visible() is unused
Problem:    Popup_any_visible() is unused.
Solution:   Remove it.
2019-06-14 20:00:48 +02:00
a540f8aa3b patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Problem:    When moving a popup window over the command line it is not
            redrawn.
Solution:   Redraw the command line. Move popup redrawing code to the popupwin
            file.
2019-06-14 19:23:57 +02:00
37df9a4401 patch 8.1.1526: no numerical value for the patchlevel
Problem:    No numerical value for the patchlevel.
Solution:   Add v:versionlong.
2019-06-14 14:39:51 +02:00
b53fb31a1e patch 8.1.1525: cannot move a popup window with the mouse
Problem:    Cannot move a popup window with the mouse.
Solution:   Add the "drag" property and make it possible to drag a popup
            window by its border.
2019-06-13 23:59:52 +02:00
b0f94c1ff3 patch 8.1.1524: tests are silently skipped
Problem:    Tests are silently skipped.
Solution:   Throw an exception for skipped tests in more places.
2019-06-13 22:19:53 +02:00
8d24104031 patch 8.1.1523: cannot show range of buffer lines in popup window
Problem:    Cannot show range of buffer lines in popup window.
Solution:   Add the "firstline" property. (closes #4523)
2019-06-12 23:40:01 +02:00
68d48f40a4 patch 8.1.1522: poup_notification() not implemented yet
Problem:    Popup_notification() not implemented yet.
Solution:   Implement it.
2019-06-12 22:42:41 +02:00
7c7f01e2b2 patch 8.1.1521: when a popup window is closed the buffer remains
Problem:    When a popup window is closed the buffer remains.
Solution:   Wipe out the buffer.
2019-06-12 21:06:32 +02:00
451d4b5b7c patch 8.1.1520: popup windows are ignored when dealing with mouse position
Problem:    Popup windows are ignored when dealing with mouse position
Solution:   Find the mouse position inside a popup window.  Allow for modeless
            selection.
2019-06-12 20:22:27 +02:00
06e2c81f6d patch 8.1.1519: 'backupskip' may contain duplicates
Problem:    'backupskip' may contain duplicates.
Solution:   Add the P_NODUP flag. (Tom Ryder)
2019-06-12 19:05:48 +02:00
202d982b36 patch 8.1.1518: crash when setting 'columns' while a popup is visible
Problem:    Crash when setting 'columns' while a popup is visible.
Solution:   Recompute all positions when clearing the screen. (closes #4467)
2019-06-11 21:56:30 +02:00
12ee7ff00b Update runtime files 2019-06-10 22:47:40 +02:00
4c063a0dab patch 8.1.1517: when a popup changes all windows are redrawn
Problem:    When a popup changes all windows are redrawn.
Solution:   Only update the lines that were affected.  Add a file for
            profiling popup windows efficiency.
2019-06-10 21:24:12 +02:00
640d4f0c97 patch 8.1.1516: time reported for a test measured wrong
Problem:    Time reported for a test measured wrong.
Solution:   Move the computation to the end of RunTheTest(). (Ozaki Kiichi,
            closes #4520)
2019-06-10 17:43:46 +02:00
82febc16e4 patch 8.1.1515: memory leak reported for sound when build with EXITFREE
Problem:    Memory leak reported for sound when build with EXITFREE.
Solution:   Free sound stuff when exiting.
2019-06-10 14:48:59 +02:00
01257a7a8e patch 8.1.1514: MS-Windows: wrong shell command with ! in 'guioptions'
Problem:    MS-Windows: wrong shell command with ! in 'guioptions'.
Solution:   Do not check for ! in 'guioptions' when applying 'shellxquote'.
            (Yasuhiro Matsumoto, closes #4519)
2019-06-10 14:46:04 +02:00
3ff5f0f05d patch 8.1.1513: all popup functionality is in functions, except :popupclear
Problem:    All popup functionality is in functions, except :popupclear.
Solution:   Add popup_clear() for consistency.  Also rename sound_stopall() to
            sound_clear().
2019-06-10 13:11:22 +02:00
38ea784fec patch 8.1.1512: ch_evalexpr() hangs when used recursively
Problem:    ch_evalexpr() hangs when used recursively. (Paul Jolly)
Solution:   Change ch_block_id from a single number to a list of IDs to wait
            on.
2019-06-09 19:51:58 +02:00
ac2450a9a8 patch 8.1.1511: matches in a popup window are not displayed properly
Problem:    Matches in a popup window are not displayed properly.
Solution:   Do display matches in a popup window. (closes #4517)
2019-06-09 18:04:28 +02:00
80dad48c50 patch 8.1.1510: a plugin cannot easily expand a command like done internally
Problem:    A plugin cannot easily expand a command like done internally.
Solution:   Add the expandcmd() function. (Yegappan Lakshmanan, closes #4514)
2019-06-09 17:22:31 +02:00
954bb06363 patch 8.1.1509: cmdline_row can become negative, causing a crash
Problem:    Cmdline_row can become negative, causing a crash.
Solution:   Make sure cmdline_row does not become negagive. (closes #4102)
2019-06-09 16:40:46 +02:00
541faf7a73 patch 8.1.1508: sound keeps failing on Travis
Problem:    Sound keeps failing on Travis.
Solution:   Throw a skipped exception in the test.
2019-06-09 15:35:41 +02:00
a90998d93a patch 8.1.1507: sound test still fails on Travis
Problem:    Sound test still fails on Travis.
Solution:   Try another dummy sound approach.
2019-06-09 15:21:27 +02:00
b29cfb8c28 patch 8.1.1506: syntax error in Travis config
Problem:    Syntax error in Travis config.
Solution:   Set AUDIODEV in another section.
2019-06-09 14:51:30 +02:00
8ed75cb0b4 patch 8.1.1505: running "make clean" twice gives errors
Problem:    Running "make clean" twice gives errors.
Solution:   Add "-f" to "rm". (closes #4516)
2019-06-09 14:39:13 +02:00
ef23c527bd patch 8.1.1504: sound test still fails on Travis
Problem:    Sound test still fails on Travis.
Solution:   Add more lines to the install section.
2019-06-09 14:15:29 +02:00
ffa60dda0a patch 8.1.1503: sound test fails on Travis
Problem:    Sound test fails on Travis.
Solution:   Set AUDIODEV to "null".
2019-06-09 13:56:27 +02:00
427f5b66ce patch 8.1.1502: cannot play any sound
Problem:    Cannot play any sound.
Solution:   Use libcanberra if available.  Add sound functions.
2019-06-09 13:43:51 +02:00
260addf795 patch 8.1.1501: new behavior of b:changedtick not tested
Problem:    New behavior of b:changedtick not tested.
Solution:   Add a few test cases. (Daniel Hahler)
2019-06-08 20:48:36 +02:00
21f8d93c71 patch 8.1.1500: wrong shell command when building with VIMDLL and "!" in 'go'
Problem:    Wrong shell command when building with VIMDLL and "!" in
            'guioptions'.
Solution:   Add check for GUI in use. (Ken Takata)
2019-06-08 20:17:18 +02:00
24a5ac5d4d patch 8.1.1499: ruler not updated after popup window was removed
Problem:    Ruler not updated after popup window was removed.
Solution:   use popup_mask in screen_puts().
2019-06-08 19:01:18 +02:00
c024b46678 patch 8.1.1498: ":write" increments b:changedtick even though nothing changed
Problem:    ":write" increments b:changedtick even though nothing changed.
            (Daniel Hahler)
Solution:   Only increment b:changedtick if the modified flag is reset.
2019-06-08 18:07:21 +02:00
aef5c62a6f patch 8.1.1497: accessing memory beyond allocated space
Problem:    Accessing memory beyond allocated space.
Solution:   Check column before accessing popup mask.
2019-06-08 17:25:33 +02:00
acc682bd7c patch 8.1.1496: popup window height is not recomputed
Problem:    Popup window height is not recomputed.
Solution:   Recompute the height when needed.
2019-06-08 17:15:51 +02:00
1748c7f77e patch 8.1.1495: memory access error
Problem:    Memory access error.
Solution:   Use the correct size for clearing the popup mask.
2019-06-08 16:55:15 +02:00
6c009a3974 patch 8.1.1494: build failure
Problem:    Build failure.
Solution:   Add missing changes.
2019-06-08 16:06:28 +02:00
33796b39b9 patch 8.1.1493: redrawing with popups is slow and causes flicker
Problem:    Redrawing with popups is slow and causes flicker.
Solution:   Avoid clearing and redrawing using a zindex mask.
2019-06-08 16:01:13 +02:00
7c348bb5ad patch 8.1.1492: MS-Windows: when "!" is in 'guioptions' ":!start" fails
Problem:    MS-Windows: when "!" is in 'guioptions' ":!start" fails.
Solution:   Do not use a terminal window when the shell command begins with
            "!start". (Yasuhiro Matsumoto, closes #4504)
2019-06-08 12:05:22 +02:00
6064073841 patch 8.1.1491: when skipping over code a function call may cause trouble
Problem:    When skipping over code after an exception was thrown expression
            evaluation is aborted after a function call. (Ingo Karkat)
Solution:   Do not fail if not executing the expression. (closes #4507)
2019-06-07 23:15:22 +02:00
4e0bf84627 patch 8.1.1490: when a single test fails the exit code is not set
Problem:    When a single test fails the exit code is not set. (Daniel Hahler)
Solution:   Add an exit command. (closes #4506)
2019-06-07 22:40:25 +02:00
64416127fc patch 8.1.1489: sign order wrong when priority was changed
Problem:    Sign order wrong when priority was changed.
Solution:   Reorder signs when priority is changed. (Yegappan Lakshmanan,
            closes #4502)
2019-06-07 21:37:13 +02:00
150f0550f4 patch 8.1.1488: summary of tests has incorrect failed count
Problem:    Summary of tests has incorrect failed count.
Solution:   Add to the failed count instead of setting it. (Christian Brabandt)
2019-06-07 21:29:50 +02:00
62a88f498a patch 8.1.1487: older msgfmt cannot generate proper .desktop file
Problem:    Older msgfmt cannot generate proper .desktop file.
Solution:   Add a configure check to not use this msgfmt version. (Ken Takata)
2019-06-07 20:44:40 +02:00
1253704591 patch 8.1.1486: a listener change is merged even when it adds a line
Problem:    A listener change is merged even when it adds a line. (Paul Jolly)
Solution:   Do not merge a change that adds or removes a line. (closes #4490)
2019-06-06 22:50:35 +02:00
773a97c254 Update runtime files - Add typescript syntax and indent. 2019-06-06 20:39:55 +02:00
c07f67ad0e patch 8.1.1485: double free when garbage_collect() is used in autocommand
Problem:    Double free when garbage_collect() is used in autocommand.
Solution:   Have garbage collection also set the copyID in funccal_stack.
2019-06-06 19:03:17 +02:00
75ee544f99 patch 8.1.1484: some tests are slow
Problem:    Some tests are slow.
Solution:   Add timing to the test messages.  Fix double free when quitting in
            VimLeavePre autocmd.
2019-06-06 18:05:25 +02:00
5d30ff1964 patch 8.1.1483: skipped tests are not properly listed
Problem:    Skipped tests are not properly listed.
Solution:   Throw a "Skipped" exception instead of using ":finish" or ":return".
2019-06-06 16:12:12 +02:00
f6d50f1da8 patch 8.1.1482: no test for wincol() depending on the 'number' option
Problem:    No test for wincol() depending on the 'number' option.
Solution:   Add a couple of tests. (Christian Brabandt, closes #4500)
2019-06-06 15:40:08 +02:00
12e71eb8a8 patch 8.1.1481: length for two-digit rgb termresponse is off by one
Problem:    Length for two-digit rgb termresponse is off by one.
Solution:   Adjust the length. (closes #4494)
2019-06-06 15:19:31 +02:00
8e228e21cc patch 8.1.1480: desktop file check doesn't run on CI
Problem:    Desktop file check doesn't run on CI.
Solution:   Install the desktip-file-utils packages. (Christian Brabandt,
            closes #4498)
2019-06-06 15:13:19 +02:00
133c737357 patch 8.1.1479: change included for debugging only
Problem:    Change included for debugging only.
Solution:   Restore the REDIR_TEST_TO_NULL line.
2019-06-06 14:38:06 +02:00
18250e291a patch 8.1.1478: still an error when running tests with the tiny version
Problem:    Still an error when running tests with the tiny version.
Solution:   Do not try reading test.log
2019-06-06 14:28:54 +02:00
c7500f9cb5 patch 8.1.1477: test summary fails in the tiny version
Problem:    Test summary fails in the tiny version.
Solution:   set 'nocompatible'.
2019-06-06 14:08:50 +02:00
9c0cec65f8 patch 8.1.1476: no statistics displayed after running tests
Problem:    No statistics displayed after running tests.
Solution:   Summarize the test results. (Christian Brabandt, closes #4391)
            Also make it possible to report a skipped file.
2019-06-06 13:38:15 +02:00
db294adc65 patch 8.1.1475: search string not displayed when 'rightleft' is set
Problem:    Search string not displayed when 'rightleft' is set.
Solution:   Clear the right part of the old text. (closes #4488, closes #4489)
2019-06-06 12:49:29 +02:00
9aeb33639f patch 8.1.1474: 'ttybuiltin' is not tested
Problem:    'ttybuiltin' is not tested.
Solution:   At least test that it doesn't break things.
2019-06-06 12:36:15 +02:00
4a792c87b9 patch 8.1.1473: new resolve() implementation causes problem for plugins
Problem:    New resolve() implementation causes problem for plugins.
Solution:   Only resolve a resparse point after checking it is needed. (Ken
            Takata, closes #4492)
2019-06-06 12:22:41 +02:00
61da1bfa6c Update runtime files. 2019-06-06 12:14:49 +02:00
de6dbb452a patch 8.1.1472: add_termcap_entry() is not tested
Problem:    Add_termcap_entry() is not tested.
Solution:   Add a simple test.
2019-06-06 11:59:18 +02:00
32e1977012 patch 8.1.1471: 'background' not correctly set for 2-digit rgb termresponse
Problem:    'background' not correctly set for 2-digit rgb termresponse.
Solution:   Adjust what digit to use. (closes #4495)
2019-06-05 22:57:04 +02:00
6d718c4c38 patch 8.1.1470: new Unicode character U32FF missing from double-width table
Problem:    New Unicode character U32FF missing from double-width table.
Solution:   Add the character.
2019-06-05 22:46:13 +02:00
66761db11d patch 8.1.1469: no test for checking the cursor style response
Problem:    No test for checking the cursor style response.
Solution:   Add a simple test.  Also include the missing part of 8.1.1464.
2019-06-05 22:07:51 +02:00
d0380dc782 patch 8.1.1468: the generated desktop files may be invalid
Problem:    The generated desktop files may be invalid.
Solution:   Check validity with desktop-file-validate. (Christian Brabandt,
            Will Thompson, closes #4480)
2019-06-05 21:25:34 +02:00
d6ec1730ba patch 8.1.1467: cscope test fails
Problem:    Cscope test fails.
Solution:   Update expected text.
2019-06-04 23:20:23 +02:00
58a7f87c86 patch 8.1.1466: not updating priority on existing sign
Problem:    Not updating priority on existing sign.
Solution:   Set the sign priority.  Add a test. (Yegappan Lakshmanan)
2019-06-04 22:48:15 +02:00
a37833dbd7 patch 8.1.1465: allocating wrong amount of memory
Problem:    Allocating wrong amount of memory. (Yegappan Lakshmanan)
Solution:   Use sizeof() for right type of struct.
2019-06-04 22:29:10 +02:00
cea254f5a7 patch 8.1.1464: only 4-digit rgb termresponse is recognized
Problem:    Only 4-digit rgb termresponse is recognized.
Solution:   Also recognize 2-digit rgb response. (closes #4486)
2019-06-04 21:41:28 +02:00
277e79adc4 patch 8.1.1463: gcc warns for uninitialized variable
Problem:    Gcc warns for uninitialized variable.
Solution:   Put usage inside "if".  (Ken Takata)
2019-06-04 19:16:29 +02:00
c974022c31 patch 8.1.1462: MS-Windows: using special character requires quoting
Problem:    MS-Windows: using special character requires quoting.
Solution:   Add quotes. (Ken Takata)
2019-06-04 08:22:53 +02:00
ddd3308782 patch 8.1.1461: tests do not run or are not reliable on some systems
Problem:    Tests do not run or are not reliable on some systems.
Solution:   Use "findstr" instead of "grep" on MS-Windows. Clear
            PROMPT_COMMAND in the terminal test. Delete temp file. Wait for
            output after executing a debug command. (Yegappan Lakshmanan,
            closes #4479)
2019-06-03 23:07:25 +02:00
02e15072be patch 8.1.1460: popup window border characters may be wrong
Problem:    Popup window border characters may be wrong.
Solution:   Reset the border characters for each popup.  Correct use of
            'ambiwidth'.
2019-06-03 22:53:30 +02:00
3f6aeba18b patch 8.1.1459: popup window border looks bad when 'ambiwidth' is "double"
Problem:    Popup window border looks bad when 'ambiwidth' is "double".
            (Yasuhiro Matsumoto)
Solution:   Only use line drawing characters when 'ambiwidth' is "single".
            (Ken Takata, closes #4477)
2019-06-03 22:21:27 +02:00
0b4c9eddb5 patch 8.1.1458: crash when using gtags
Problem:    Crash when using gtags. (issue #4102)
Solution:   Check for negative row or col in screen_puts_len(). (Christian
            Brabandt)
2019-06-03 22:04:23 +02:00
87abab92f5 patch 8.1.1457: cannot reuse a buffer when loading a screen dump
Problem:    Cannot reuse a buffer when loading a screen dump.
Solution:   Add the "bufnr" option.
2019-06-03 21:14:59 +02:00
98fb65cb05 patch 8.1.1456: WinBar not redrawn after scrolling one line
Problem:    WinBar not redrawn after scrolling one line.
Solution:   Exclude the winbar height when deciding what to redraw.
            (closes #4473)
2019-06-02 20:33:32 +02:00
1762731f20 patch 8.1.1455: popup_atcursor() not completely implemented
Problem:    Popup_atcursor() not completely implemented.
Solution:   Add the default for the "moved" property.
2019-06-02 19:53:44 +02:00
6116b6abb1 patch 8.1.1454: build failure without the conceal feature
Problem:    Build failure without the conceal feature.
Solution:   Remove #ifdef.
2019-06-02 19:02:27 +02:00
3397f74ac2 patch 8.1.1453: popup window "moved" property not implemented yet
Problem:    Popup window "moved" property not implemented yet.
Solution:   Implement it.
2019-06-02 18:40:06 +02:00
b0ebbda06c patch 8.1.1452: line and col property of popup windows not properly checked
Problem:    Line and col property of popup windows not properly checked.
Solution:   Check for "+" or "-" sign.
2019-06-02 16:51:21 +02:00
ca2f7037c1 patch 8.1.1451: CTRL-L does not clear screen with a popup window
Problem:    CTRL-L does not clear screen with a popup window.
Solution:   Do not change the type to NOT_VALID.  Redraw all windows.
            (closes #4471)
2019-06-02 15:56:15 +02:00
399d898ac1 patch 8.1.1450: popup window positioning wrong when using padding or borders
Problem:    Popup window positioning wrong when using padding or borders.
Solution:   Fix computing the position.
2019-06-02 15:34:29 +02:00
042fb4b449 patch 8.1.1449: popup text truncated at end of screen
Problem:    Popup text truncated at end of screen.
Solution:   Move popup left if needed.  Add the "fixed" property to disable
            that. (Ben Jackson , closes #4466)
2019-06-02 14:49:56 +02:00
988c43310a patch 8.1.1448: statusline is sometimes drawn on top of popup
Problem:    Statusline is sometimes drawn on top of popup.
Solution:   Redraw popups after the statusline. (Naruhiko Nishino,
            closes #4468)
2019-06-02 14:12:11 +02:00
7b29dd8507 patch 8.1.1447: not allowed to create an empty popup
Problem:    Not allowed to create an empty popup.
Solution:   Remove restriction that there is some text. (closes #4470)
2019-06-02 13:22:11 +02:00
9eaac89650 patch 8.1.1446: popup window callback not implemented yet
Problem:    Popup window callback not implemented yet.
Solution:   Implement the callback.
2019-06-01 22:49:29 +02:00
790498b509 patch 8.1.1445: popup window border highlight not implemented yet
Problem:    Popup window border highlight not implemented yet.
Solution:   Implement the "borderhighlight" option.
2019-06-01 22:15:29 +02:00
3bfd04e672 patch 8.1.1444: not using double line characters for popup border
Problem:    Not using double line characters for popup border.
Solution:   Use double line characters if using utf-8.
2019-06-01 20:45:21 +02:00
2fd8e35e16 patch 8.1.1443: popup window padding and border not implemented yet
Problem:    Popup window padding and border not implemented yet.
Solution:   Implement padding and border.  Add core position and size to
            popup_getpos().
2019-06-01 20:16:48 +02:00
8caaf82569 patch 8.1.1442: popup windows not considered when the Vim window is resized
Problem:    Popup windows not considered when the Vim window is resized.
            (Ben Jackson)
Solution:   Reallocate the w_lines structure. (closes #4467)
2019-06-01 18:11:22 +02:00
bf0eff0b72 patch 8.1.1441: popup window filter not yet implemented
Problem:    Popup window filter not yet implemented.
Solution:   Implement the popup filter.
2019-06-01 17:13:36 +02:00
2d247849ce patch 8.1.1440: win_execute() test fails
Problem:    Win_execute() test fails.
Solution:   Adjust the expected error number.  Move to popup test.
2019-06-01 17:06:25 +02:00
c47ed44be7 patch 8.1.1439: json_encode() is very slow for large results
Problem:    Json_encode() is very slow for large results.
Solution:   In the growarray use a growth of at least 50%. (Ken Takata,
            closes #4461)
2019-06-01 14:36:26 +02:00
815b76bff6 patch 8.1.1438: some commands cause trouble in a popup window
Problem:    Some commands cause trouble in a popup window.
Solution:   Add NOT_IN_POPUP_WINDOW.
2019-06-01 14:15:52 +02:00
3a97bb3f0f patch 8.1.1437: code to handle callbacks is duplicated
Problem:    Code to handle callbacks is duplicated.
Solution:   Add callback_T and functions to deal with it.
2019-06-01 13:28:35 +02:00
7dd64a3e57 Update runtime files. 2019-05-31 21:41:05 +02:00
c28cb5b16d patch 8.1.1436: writefile test fails when run under /tmp
Problem:    Writefile test fails when run under /tmp.
Solution:   Adjust 'backupskip. (Kenta Sato, closes #4462)
2019-05-31 20:42:09 +02:00
5d508dd39e patch 8.1.1435: memory usage test is a bit too flaky
Problem:    Memory usage test is a bit too flaky.
Solution:   Adjust the tolerances a bit. (Christian Brabandt)
2019-05-31 20:23:25 +02:00
1ab74a5af3 patch 8.1.1434: test 3 is old style
Problem:    Test 3 is old style.
Solution:   Turn into a new style test. (Yegappan Lakshmanan, closes #4460)
2019-05-31 20:02:53 +02:00
eea1699836 patch 8.1.1433: win_execute() may leave popup window focused
Problem:    Win_execute() may leave popup window focused, eventually leading
            to a crash. (Bjorn Linse)
Solution:   When previous window was closed, go to the first window.
2019-05-31 17:34:48 +02:00
ccd6e3471d patch 8.1.1432: can't build with eval feature
Problem:    Can't build with eval feature.
Solution:   Add missing rename.
2019-05-30 22:35:18 +02:00
c6896e20f8 patch 8.1.1431: popup window listed as "Scratch"
Problem:    Popup window listed as "Scratch".
Solution:   List them as "Popup".
2019-05-30 22:32:34 +02:00
402502d0e4 patch 8.1.1430: popup window option "wrap" not supported
Problem:    Popup window option "wrap" not supported.
Solution:   Implement it.
2019-05-30 22:07:36 +02:00
ac1f1bc222 patch 8.1.1429: "pos" option of popup window not supported yet
Problem:    "pos" option of popup window not supported yet.
Solution:   Implement the option. Rename popup_getposition() to
            popup_getpos().
2019-05-30 21:24:26 +02:00
cc31ad9f9b patch 8.1.1428: popup_atcursor() not implemented yet
Problem:    Popup_atcursor() not implemented yet.
Solution:   Implement it. (Yasuhiro Matsumoto, closes #4456)
2019-05-30 19:25:06 +02:00
54fabd4b5e patch 8.1.1427: popup window screenshot test fails
Problem:    Popup window screenshot test fails.
Solution:   Add missing change to popup window code.
2019-05-30 19:03:22 +02:00
b42301247d patch 8.1.1426: no test for syntax highlight in popup window
Problem:    No test for syntax highlight in popup window.
Solution:   Add a screenshot test.  Update associated documentation. Avoid
            'buftype' being reset by setbufvar().
2019-05-30 18:40:53 +02:00
89adc3a137 patch 8.1.1425: win_execute() does not set window pointers properly
Problem:    Win_execute() does not set window pointers properly.
Solution:   Use switch_win_noblock().  Also execute autocommands in a popup
            window.
2019-05-30 17:29:40 +02:00
5c3fb04623 patch 8.1.1424: crash when popup menu is deleted while waiting for char
Problem:    Crash when popup menu is deleted while waiting for char.
Solution:   Bail out when pum_array was cleared.
2019-05-30 15:53:29 +02:00
cacc6a5c98 patch 8.1.1423: popup windows use options from current window and buffer
Problem:    Popup windows use options from current window and buffer.
Solution:   Clear all local options when creating a popup window.
2019-05-30 15:22:43 +02:00
8c2a600f72 patch 8.1.1422: popup_getoptions() not implemented yet
Problem:    Popup_getoptions() not implemented yet.
Solution:   Implement it. (closes #4452)
2019-05-30 14:29:45 +02:00
1714696600 patch 8.1.1421: drawing "~" line in popup window
Problem:    Drawing "~" line in popup window.
Solution:   Just draw text in the last line of the popup window.
2019-05-30 00:12:11 +02:00
88c4e1f069 patch 8.1.1420: popup window size only uses first line length
Problem:    Popup window size only uses first line length.
Solution:   Use the longest line. (Ben Jackson, closes #4451)  Also deal with
            wrapping lines.
2019-05-29 23:14:28 +02:00
68a4b04a8d patch 8.1.1419: listener callbacks may be called recursively
Problem:    Listener callbacks may be called recursively.
Solution:   Set "updating_screen" while listener callbacks are invoked.
2019-05-29 22:28:29 +02:00
868b7b6712 patch 8.1.1418: win_execute() is not implemented yet
Problem:    Win_execute() is not implemented yet.
Solution:   Implement it.
2019-05-29 21:44:40 +02:00
1bbebab525 patch 8.1.1417: MS-Windows: resolve() does not resolve all components of path
Problem:    MS-Windows: resolve() does not resolve all components of the path.
            (David Briscoe)
Solution:   Do not bail out for a reparse point. (Yasuhiro Matsumoto,
            closes #4211, closes #4447)
2019-05-29 20:36:54 +02:00
bc133543b8 patch 8.1.1416: popup_getposition() not implemented yet
Problem:    Popup_getposition() not implemented yet.
Solution:   Implement it. (Yasuhiro Matsumoto, closes #4449)
2019-05-29 20:26:46 +02:00
59edb00e22 patch 8.1.1415: build error in MS-Windows GUI
Problem:    Build error in MS-Windows GUI.
Solution:   Fix the LALLOC_MULT() argument.
2019-05-28 23:32:47 +02:00
c799fe206e patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
Problem:    Alloc() returning "char_u *" causes a lot of type casts.
Solution:   Have it return "void *". (Mike Williams)  Define ALLOC_ONE() to
            check the simple allocations.
2019-05-28 23:08:19 +02:00
b58a4b938c patch 8.1.1413: error when the drive of the swap file was disconnected
Problem:    Error when the drive of the swap file was disconnected.
Solution:   Try closing and re-opening the swap file. (closes #4378)
2019-05-27 23:36:21 +02:00
72fcf07b06 patch 8.1.1412: test 30 is old style
Problem:    Test 30 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes #4440)
2019-05-27 22:21:44 +02:00
7833dab73c patch 8.1.1411: Coverity warns for divide by zero
Problem:    Coverity warns for divide by zero.
Solution:   Make sure width is larger than zero.
2019-05-27 22:01:40 +02:00
60cdb3004a patch 8.1.1410: popup_move() is not implemented yet
Problem:    Popup_move() is not implemented yet.
Solution:   Implement it. (Yasuhiro Matsumoto, closes #4441)  Improve the
            positioning and resizing.
2019-05-27 21:54:10 +02:00
b43683729b patch 8.1.1409: Coverity warns for using uninitialized memory
Problem:    Coverity warns for using uninitialized memory.
Solution:   Add a condition to clearing the growarray.
2019-05-27 20:01:41 +02:00
bf0ecb2cb6 patch 8.1.1408: PFL_HIDDEN conflicts with system header file
Problem:    PFL_HIDDEN conflicts with system header file.
Solution:   Rename to POPF_HIDDEN.
2019-05-27 10:04:40 +02:00
7a8d0278bd patch 8.1.1407: popup_create() does not support text properties
Problem:    Popup_create() does not support text properties.
Solution:   Support the third form of the text argument.
2019-05-26 23:32:06 +02:00
2cd0dce898 patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Problem:    popup_hide() and popup_show() not implemented yet.
Solution:   Implement the functions.
2019-05-26 22:17:52 +02:00
68e6560b84 Update runtime files. 2019-05-26 21:33:31 +02:00
20c023aee0 patch 8.1.1405: "highlight" option of popup windows not supported
Problem:    "highlight" option of popup windows not supported.
Solution:   Implement the "highlight" option.
2019-05-26 21:03:24 +02:00
9d591525a5 patch 8.1.1404: cannot change the patch level when building with NSIS
Problem:    Cannot change the patch level when building with NSIS.
Solution:   Use $PATCHLEVEL if defined. (Christian Brabandt)
2019-05-26 20:49:42 +02:00
35d5af6c0b patch 8.1.1403: cannot build without the timer feature
Problem:    Cannot build without the timer feature.
Solution:   Add #ifdef.
2019-05-26 20:44:10 +02:00
51fe3b14f6 patch 8.1.1402: "timer" option of popup windows not supported
Problem:    "timer" option of popup windows not supported.
Solution:   Implement the "timer" option. (Yasuhiro Matsumoto, closes #4439)
2019-05-26 20:10:06 +02:00
076073950c patch 8.1.1401: misspelled mkspellmem as makespellmem
Problem:    Misspelled mkspellmem as makespellmem.
Solution:   Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken
            Takata, closes #4437)
2019-05-26 19:20:43 +02:00
9c27b1c6d1 patch 8.1.1400: using global pointer for tab-local popups is clumsy
Problem:    Using global pointer for tab-local popups is clumsy.
Solution:   Use the pointer in tabpage_T.
2019-05-26 18:48:13 +02:00
ec58384afa patch 8.1.1399: popup windows not adjusted when switching tabs
Problem:    Popup windows not adjusted when switching tabs.
Solution:   Save and restore first_tab_popupwin. Fix closing a tabpage.
2019-05-26 14:11:23 +02:00
a8c99fb78e patch 8.1.1398: duplicate line in MSVC build file
Problem:    Duplicate line in MSVC build file.
Solution:   Remove the line. (Ken Takata, closes #4436)
2019-05-26 13:14:02 +02:00
80f95425cf patch 8.1.1397: build fails in tiny version
Problem:    Build fails in tiny version.
Solution:   Always define hl_combine_attr().
2019-05-25 23:42:13 +02:00
193ffd1d9f patch 8.1.1396: 'wincolor' does not apply to lines below the buffer
Problem:    'wincolor' does not apply to lines below the buffer.
Solution:   Also apply 'wincolor' to the "~" lines and the number column.
2019-05-25 22:57:30 +02:00
adfde115d5 patch 8.1.1395: saving for undo may access invalid memory
Problem:    Saving for undo may access invalid memory. (Dominique Pelle)
Solution:   Set ml_line_len also when returning a constant string.
2019-05-25 22:11:45 +02:00
a5e44600eb patch 8.1.1394: not restoring t_F2 in registers test
Problem:    Not restoring t_F2 in registers test.
Solution:   Assign to &t_F2 instead of t_F2. (Andy Massimino, closes #4434)
2019-05-25 21:52:30 +02:00
51e14387f1 patch 8.1.1393: unnecessary type casts
Problem:    Unnecessary type casts.
Solution:   Remove type casts from alloc() and lalloc() calls. (Mike Williams)
2019-05-25 20:21:28 +02:00
682725c141 patch 8.1.1392: build failure in tiny version
Problem:    Build failure in tiny version.
Solution:   Define ex_popupclear to ex_ni if not implemented.  Add UNUSED.
2019-05-25 20:10:37 +02:00
4d784b21d1 patch 8.1.1391: no popup window support
Problem:    No popup window support.
Solution:   Add initial code for popup windows.  Add the 'wincolor' option.
2019-05-25 19:51:39 +02:00
8f46e4c4bd patch 8.1.1390: search stats are off when using count or offset
Problem:    Search stats are off when using count or offset.
Solution:   Recompute the stats when needed. (Masato Nishihata, closes #4410)
2019-05-24 22:08:15 +02:00
7b31a181c8 patch 8.1.1389: changes are not flushed when end and start overlap
Problem:    Changes are not flushed when end and start overlap. (Paul Jolly)
Solution:   When end of a previous changes overlaps with start of a new
            change, first flush listeners.
2019-05-24 21:39:27 +02:00
f0884c5f3f patch 8.1.1388: errors when calling prop_remove() for an unloaded buffer
Problem:    Errors when calling prop_remove() for an unloaded buffer.
Solution:   Bail out when the buffer is not loaded.  Add a few more tests for
            failing when the buffer number is invalid.
2019-05-24 21:22:29 +02:00
d79eef2eb1 patch 8.1.1387: calling prop_add() in an empty buffer doesn't work
Problem:    Calling prop_add() in an empty buffer doesn't work. (Dominique
            Pelle)
Solution:   Open the memline before adding a text property. (closes #4412)
2019-05-24 20:41:55 +02:00
18a4ba29ae patch 8.1.1386: unessesary type casts for lalloc()
Problem:    Unessesary type casts for lalloc().
Solution:   Remove type casts.  Change lalloc(size, TRUE) to alloc(size).
2019-05-24 19:39:03 +02:00
71de720c2c patch 8.1.1385: signed/unsigned compiler warning
Problem:    Signed/unsigned compiler warning.
Solution:   Use STRLEN() instead of strlen().
2019-05-24 19:04:29 +02:00
964b3746b9 patch 8.1.1384: using "int" for alloc() often results in compiler warnings
Problem:    Using "int" for alloc() often results in compiler warnings.
Solution:   Use "size_t" and remove type casts.  Remove alloc_check(), Vim
            only works with 32 bit ints anyway.
2019-05-24 18:54:09 +02:00
d33a764123 patch 8.1.1383: warning for size_t/int mixup
Problem:    Warning for size_t/int mixup.
Solution:   Change type. (Mike Williams)
2019-05-24 17:56:14 +02:00
3020a87cb1 patch 8.1.1382: error when editing test file
Problem:    Error when editing test file.
Solution:   Remove part of modeline.
2019-05-24 17:33:01 +02:00
d22a6f8aaf patch 8.1.1381: MS-Windows: missing build dependency
Problem:    MS-Windows: missing build dependency.
Solution:   Make gui_dwrite.cpp depend on gui_dwrite.h. (Ken Takata,
            closes #4423
2019-05-24 17:17:54 +02:00
fa8f861957 patch 8.1.1380: MS-Windows building VIMDLL with MSVC: SUBSYSTEM is not set
Problem:    MS-Windows building VIMDLL with MSVC: SUBSYSTEM is not set.
Solution:   Invert condition. (closes #4422)
2019-05-24 17:05:44 +02:00
8239c62067 patch 8.1.1379: filechanged test hangs
Problem:    Filechanged test hangs.
Solution:   Do not check 'autoread'.
2019-05-24 16:46:01 +02:00
701ff0a3e5 patch 8.1.1378: delete() can not handle a file name that looks like a pattern
Problem:    Delete() can not handle a file name that looks like a pattern.
Solution:   Use readdir() instead of appending "/*" and expanding wildcards.
            (Ken Takata, closes #4424, closes #696)
2019-05-24 14:14:14 +02:00
fcc4d921d6 patch 8.1.1377: MS-Windows GUI uses wrong shell command for bash
Problem:    MS-Windows GUI uses wrong shell command for bash. (Robert Bogomip)
Solution:   Check that 'shellcmdflag' is "/c". (Ken Takata, closes #4418)
2019-05-24 13:32:36 +02:00
e2ad826f43 patch 8.1.1376: warnings for size_t/int mixups
Problem:    Warnings for size_t/int mixups.
Solution:   Change types, add type casts. (Mike Williams)
2019-05-24 13:22:22 +02:00
984f031fb0 patch 8.1.1375: without "TS" in 'shortmess' get a hit-enter prompt often
Problem:    Without "TS" in 'shortmess' get a hit-enter prompt often.
Solution:   Always truncate the search message.  Also avoid putting it in the
            message history. (closes #4413)
2019-05-24 13:11:47 +02:00
c97582b029 patch 8.1.1374: check for file changed triggers too often
Problem:    Check for file changed triggers too often.
Solution:   Don't use "b_p_ar" when it is negative.
2019-05-24 11:45:22 +02:00
0ab190c057 patch 8.1.1373: "[p" in Visual mode puts in wrong line
Problem:    "[p" in Visual mode puts in wrong line.
Solution:   Call nv_put() instead of duplicating the functionality.
            (closes #4408)
2019-05-23 23:27:36 +02:00
1c6fd1e100 patch 8.1.1372: when evaluating 'statusline' the current window is unknown
Problem:    When evaluating 'statusline' the current window is unknown.
            (Daniel Hahler)
Solution:   Set "g:actual_curwin" for %{} items.  Set "g:statusline_winid"
            when evaluationg %!. (closes #4406, closes #3299)
2019-05-23 22:11:59 +02:00
99499b1c05 patch 8.1.1371: cannot recover from a swap file
Problem:    Cannot recover from a swap file.
Solution:   Do not expand environment variables in the swap file name.
            Do not check the extension when we already know a file is a swap
            file.  (Ken Takata, closes 4415, closes #4369)
2019-05-23 21:35:48 +02:00
05b8b07e27 patch 8.1.1370: not using the new github feature for donations
Problem:    Not using the new github feature for donations.
Solution:   Add a Sponsor button. (closes #4417)
2019-05-23 20:42:10 +02:00
294d9bf966 patch 8.1.1369: get E484 when using system() during GUI startup
Problem:    Get E484 when using system() during GUI startup.
Solution:   Check "gui.starting". (Ken Takata)
2019-05-23 20:12:46 +02:00
e09244ee35 patch 8.1.1368: modeline test fails with python but without pythonhome
Problem:    Modeline test fails with python but without pythonhome.
Solution:   Correct test argument.
2019-05-23 17:35:55 +02:00
7e800c6047 patch 8.1.1367: can set 'modelineexpr' in modeline
Problem:    can set 'modelineexpr' in modeline.
Solution:   Add P_SECURE flag.
2019-05-23 17:08:49 +02:00
110289e781 patch 8.1.1366: using expressions in a modeline is unsafe
Problem:    Using expressions in a modeline is unsafe.
Solution:   Disallow using expressions in a modeline, unless the
            'modelineexpr' option is set.  Update help, add more tests.
2019-05-23 15:38:06 +02:00
5357552140 patch 8.1.1365: source command doesn't check for the sandbox
Problem:    Source command doesn't check for the sandbox. (Armin Razmjou)
Solution:   Check for the sandbox when sourcing a file.
2019-05-22 22:38:25 +02:00
5c017b2de2 patch 8.1.1364: design for popup window support needs more details
Problem:    Design for popup window support needs more details.
Solution:   Add details about using a window and buffer.  Rename popup_show()
            to popup_create() and add popup_show() and popup_hide().
2019-05-21 23:09:01 +02:00
e0b5949a3b patch 8.1.1363: ":vert options" does not make a vertical split
Problem:    ":vert options" does not make a vertical split.
Solution:   Pass the right modifiers in $OPTWIN_CMD. (Ken Takata,
            closes #4401)
2019-05-21 20:54:45 +02:00
c79745a82f patch 8.1.1362: code and data in tests can be hard to read
Problem:    Code and data in tests can be hard to read.
Solution:   Use the new heredoc style. (Yegappan Lakshmanan, closes #4400)
2019-05-20 22:12:34 +02:00
0b0ad35c33 patch 8.1.1361: Python setuptools don't work with Python 3
Problem:    Python setuptools don't work with Python 3.
Solution:   Add dummy implementation for find_module. (Joel Frederico,
            closes #4402, closes #3984
2019-05-20 21:52:45 +02:00
80341bcd89 patch 8.1.1360: buffer left 'nomodifiable' after :substitute
Problem:    Buffer left 'nomodifiable' after :substitute. (Ingo Karkat)
Solution:   Save the value of 'modifiable' earlier' (Christian Brabandt,
            closes #4403)
2019-05-20 20:34:51 +02:00
f3333b02f3 patch 8.1.1359: text property wrong after :substitute with backslash
Problem:    Text property wrong after :substitute with backslash.
Solution:   Adjust text property columns when removing backslashes.
            (closes #4397)
2019-05-19 22:53:40 +02:00
386b43e594 patch 8.1.1358: cannot enter character with a CSI byte
Problem:    Cannot enter character with a CSI byte.
Solution:   Only check "gui.in_use" when VIMDLL is defined. (Ken Takata,
            closes #4396)
2019-05-19 21:57:11 +02:00
999dc14644 patch 8.1.1357: test 37 is old style
Problem:    Test 37 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes #4398)
2019-05-19 21:44:08 +02:00
8471e57026 patch 8.1.1356: some text in heredoc assignment ends the text
Problem:    Some text in heredoc assignment ends the text. (Ozaki Kiichi)
Solution:   Recognize "let v =<<" and skip until the end.
2019-05-19 21:37:18 +02:00
16e9b85113 patch 8.1.1355: obvious mistakes are accepted as valid expressions
Problem:    Obvious mistakes are accepted as valid expressions.
Solution:   Be more strict about parsing numbers. (Yasuhiro Matsumoto,
            closes #3981)
2019-05-19 19:59:35 +02:00
f5842c5a53 patch 8.1.1354: getting a list of text lines is clumsy
Problem:    Getting a list of text lines is clumsy.
Solution:   Add the =<< assignment. (Yegappan Lakshmanan, closes #4386)
2019-05-19 18:41:26 +02:00
2b39d806f0 patch 8.1.1353: undo test fails on Mac
Problem:    Undo test fails on Mac.
Solution:   Expect "private" on the Mac.
2019-05-19 16:38:56 +02:00
e9ebc9a91c patch 8.1.1352: undofile() reports wrong name
Problem:    Undofile() reports wrong name. (Francisco Giordano)
Solution:   Clean up the name before changing path separators. (closes #4392,
            closes #4394)
2019-05-19 15:27:14 +02:00
338dfdad38 patch 8.1.1351: text property wrong after :substitute
Problem:    Text property wrong after :substitute.
Solution:   Save for undo before changing any text properties.
2019-05-19 15:19:57 +02:00
dc6855af97 patch 8.1.1350: "W" for wrapping not shown when more than 99 matches
Problem:    "W" for wrapping not shown when more than 99 matches.
Solution:   Adjust check for length. (Masato Nishihata, closes #4388)
2019-05-18 19:26:29 +02:00
cf0bfd9ade patch 8.1.1349: if writing runs into conversion error backup file is deleted
Problem:    If writing runs into a conversion error the backup file is
            deleted. (Arseny Nasokin)
Solution:   Don't delete the backup file is the file was overwritten and a
            conversion error occurred. (Christian Brabandt, closes #4387)
2019-05-18 18:52:04 +02:00
f8191c5f07 patch 8.1.1348: running tests may cause the window to move
Problem:    Running tests may cause the window to move.
Solution:   Correct the reported window position for the offset with the
            position after ":winpos".  Works around an xterm bug.
2019-05-18 17:22:54 +02:00
bd2d68c2f4 patch 8.1.1347: fractional scroll position not restored after closing window
Problem:    Fractional scroll position not restored after closing window.
Solution:   Do restore fraction if topline is not one.
2019-05-18 15:36:11 +02:00
7f3a28490a patch 8.1.1346: error for Python exception does not show useful info
Problem:    Error for Python exception does not show useful info.
Solution:   Show the last line instead of the first one. (Ben Jackson,
            closes #4381)
2019-05-18 15:02:25 +02:00
6349e9411f patch 8.1.1345: stuck in sandbox with ":s/../\=Function/gn"
Problem:    Stuck in sandbox with ":s/../\=Function/gn".
Solution:   Don't skip over code to restore sandbox. (Christian Brabandt)
2019-05-18 13:41:22 +02:00
0d3cb73012 patch 8.1.1344: Coverity complains about possibly using a NULL pointer
Problem:    Coverity complains about possibly using a NULL pointer and copying
            a string into a fixed size buffer.
Solution:   Check for NULL, even though it should not happen.  Use
            vim_strncpy() instead of strcpy().
2019-05-18 13:05:18 +02:00
8055d17388 patch 8.1.1343: text properties not adjusted for Visual block mode delete
Problem:    Text properties not adjusted for Visual block mode delete.
Solution:   Call adjust_prop_columns(). (closes #4384)
2019-05-17 22:57:26 +02:00
787880a86d patch 8.1.1342: using freed memory when joining line with text property
Problem:    Using freed memory when joining line with text property.
Solution:   Use already computed length.
2019-05-17 20:17:40 +02:00
80e737cc6a patch 8.1.1341: text properties are lost when joining lines
Problem:    Text properties are lost when joining lines.
Solution:   Move the text properties to the joined line.
2019-05-17 19:56:34 +02:00
bfd451283f patch 8.1.1340: attributes from 'cursorline' overwrite textprop
Problem:    Attributes from 'cursorline' overwrite textprop.
Solution:   Combine the attributes. (closes #3912)
2019-05-17 13:05:07 +02:00
dabfde04fe patch 8.1.1339: installer needs to product name et al.
Problem:    Installer needs to product name et al.
Solution:   Add a few lines to the NSIS installer script. (Christian Brabandt)
2019-05-17 12:37:27 +02:00
0ebe12be86 patch 8.1.1338: hang when concealing the '>' shown for half of wide char
Problem:    Hang when concealing the '>' shown for a wide char that doesn't
            fit in the last cell.
Solution:   Put back the pointer when the '>' is not going to be displayed.
            (closes #4377)
2019-05-17 12:31:44 +02:00
5c65e6a062 patch 8.1.1337: get empty text prop when splitting line just after text prop
Problem:    Get empty text prop when splitting line just after text prop.
Solution:   Do not create an empty text prop at the start of the line.
2019-05-17 11:08:56 +02:00
17aca707f9 patch 8.1.1336: some eval functionality is not covered by tests
Problem:    Some eval functionality is not covered by tests.
Solution:   Add a few more test cases. (Masato Nishihata, closes #4374)
2019-05-16 22:24:55 +02:00
dda4144d39 patch 8.1.1335: listener callback is called after inserting text
Problem:    Listener callback is called after inserting text.
Solution:   Flush the changes before inserting or deleting a line.  Store
            changes per buffer.
2019-05-16 22:11:47 +02:00
eda652215a patch 8.1.1334: when buffer is hidden "F" in 'shortmess' is not used
Problem:    When buffer is hidden "F" in 'shortmess' is not used.
Solution:   Check the "F" flag in 'shortmess' when the buffer is already
            loaded. (Jason Franklin)  Add test_getvalue() to be able to test
            this.
2019-05-16 20:29:44 +02:00
45dd07f10a patch 8.1.1333: text properties don't always move after changes
Problem:    Text properties don't always move after changes.
Solution:   Update properties before reporting changes to listeners. Move text
            property when splitting a line.
2019-05-15 22:45:37 +02:00
fe1ade0a78 patch 8.1.1332: cannot flush listeners without redrawing, mix of changes
Problem:    Cannot flush change listeners without also redrawing.  The line
            numbers in the list of changes may become invalid.
Solution:   Add listener_flush().  Invoke listeners before adding a change
            that makes line numbers invalid.
2019-05-14 21:20:36 +02:00
fb222df28d patch 8.1.1331: test 29 is old style
Problem:    Test 29 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes #4370)
2019-05-14 17:57:19 +02:00
9e58787de7 patch 8.1.1330: using bold attribute in terminal changes the color
Problem:    Using bold attribute in terminal changes the color. (Jason
            Franklin)
Solution:   Don't set the "bold-highbright" flag in vterm unless the terminal
            supports less than 16 colors.
2019-05-13 20:27:23 +02:00
957f85d54e patch 8.1.1329: plans for popup window support are spread out
Problem:    Plans for popup window support are spread out.
Solution:   Add a first version of the popup window help.
2019-05-12 21:43:48 +02:00
bc4fd43160 patch 8.1.1328: no test for listener with undo operation
Problem:    No test for listener with undo operation.
Solution:   Add a test.
2019-05-12 14:36:27 +02:00
a9b2535f44 patch 8.1.1327: unnecessary scroll after horizontal split
Problem:    Unnecessary scroll after horizontal split.
Solution:   Don't adjust to fraction if all the text fits in the window.
            (Martin Kunev, closes #4367)
2019-05-12 14:25:30 +02:00
8aad88d8de patch 8.1.1326: no test for listener with partial
Problem:    No test for listener with partial.
Solution:   Add a test.  Add example to help.
2019-05-12 13:53:50 +02:00
97b0075b0d patch 8.1.1325: cannot build with +eval but without +channel and +timers
Problem:    Cannot build with +eval but without +channel and +timers. (John
            Marriott)
Solution:   Adjust #ifdef for get_callback().
2019-05-12 13:07:14 +02:00
b73fbc76c6 patch 8.1.1324: stray comma in VMS makefile
Problem:    Stray comma in VMS makefile.
Solution:   Remove the comma. (Naruhiko Nishino, closes #4368)
2019-05-11 21:50:07 +02:00
5d0183b706 patch 8.1.1323: 'mouse' option is reset when using GPM mouse
Problem:    'mouse' option is reset when using GPM mouse.
Solution:   Add flag for GPM mouse.
2019-05-11 21:38:58 +02:00
6e75e0a400 patch 8.1.1322: Cygwin makefile is not nicely indented
Problem:    Cygwin makefile is not nicely indented.
Solution:   Addjust spaces in preprocessor directives. (Ken Takata)
2019-05-11 21:24:26 +02:00
a334772967 patch 8.1.1321: no docs or tests for listener functions
Problem:    No docs or tests for listener functions.
Solution:   Add help and tests for listener_add() and listener_remove().
            Invoke the callbacks before redrawing.
2019-05-11 21:14:24 +02:00
6d2399bd10 patch 8.1.1320: it is not possible to track changes to a buffer
Problem:    It is not possible to track changes to a buffer.
Solution:   Add listener_add() and listener_remove(). No docs or tests yet.
2019-05-11 19:14:16 +02:00
6ed8819822 patch 8.1.1319: computing function length name in many places
Problem:    Computing function length name in many places.
Solution:   compute name length in call_func().
2019-05-11 18:37:44 +02:00
ec28d1516e patch 8.1.1318: code for text changes is in a "misc" file
Problem:    Code for text changes is in a "misc" file.
Solution:   Move the code to change.c.
2019-05-11 18:36:34 +02:00
3f86ca0faa Add missing files from patch 8.1.1318 2019-05-11 18:30:00 +02:00
dc9f9e93f5 patch 8.1.1317: output from Travis can be improved
Problem:    Output from Travis can be improved.
Solution:   Add section headers.  Handle errors better. (closes #4098)
2019-05-11 14:34:13 +02:00
d6896731ec patch 8.1.1316: duplicated localtime() call
Problem:    Duplicated localtime() call.
Solution:   Delete one.
2019-05-11 13:09:42 +02:00
afd78266c5 patch 8.1.1315: there is always a delay if a termrequest is never answered
Problem:    There is always a delay if a termrequest is never answered.
Solution:   When the response is not received within two seconds consider the
            request to have failed.
2019-05-10 23:10:31 +02:00
c049b52b90 patch 8.1.1314: MSVC makefile is not nicely indented
Problem:    MSVC makefile is not nicely indented.
Solution:   Addjust spaces in preprocessor directives. (Ken Takata)
2019-05-10 21:38:54 +02:00
63d2555c9c patch 8.1.1313: warnings for using localtime() and ctime()
Problem:    Warnings for using localtime() and ctime().
Solution:   Use localtime_r() if available.  Avoid using ctime().
2019-05-10 21:28:38 +02:00
4ca41534b7 patch 8.1.1312: Coverity warning for using uninitialized variable
Problem:    Coverity warning for using uninitialized variable.
Solution:   Clear exarg_T.
2019-05-09 21:48:37 +02:00
23b5139234 patch 8.1.1311: aborting an autocmd with an exception is not tested
Problem:    Aborting an autocmd with an exception is not tested.
Solution:   Add a test.  Also shows how to abort a command by throwing an
            exception.
2019-05-09 21:38:43 +02:00
42ae78cfff patch 8.1.1310: named function arguments are never optional
Problem:    Named function arguments are never optional.
Solution:   Support optional function arguments with a default value. (Andy
            Massimino, closes #3952)
2019-05-09 21:08:58 +02:00
6b528fa062 patch 8.1.1309: test for Normal highlight fails on MS-Windows GUI
Problem:    Test for Normal highlight fails on MS-Windows GUI.
Solution:   Skip the test for MS-Windows GUI.
2019-05-09 20:07:33 +02:00
f90b6e03a9 patch 8.1.1308: the Normal highlight is not defined when compiled with GUI
Problem:    The Normal highlight is not defined when compiled with GUI.
Solution:   Always define Normal. (Christian Brabandt, closes #4072)
2019-05-09 19:26:38 +02:00
a6c27c47dd Update runtime files 2019-05-09 19:16:22 +02:00
d4aa83af1d patch 8.1.1307: cannot reconnect to the X server after it restarted
Problem:    Cannot reconnect to the X server after it restarted.
Solution:   Add the :xrestore command. (Adrian Kocis, closes #844)
2019-05-09 18:59:31 +02:00
eae1b91fea patch 8.1.1306: Borland support is outdated and doesn't work
Problem:    Borland support is outdated and doesn't work.
Solution:   Remove Borland support, there are other (free) compilers
            available. (Thomas Dziedzic, Ken Takata, closes #4364)
2019-05-09 15:12:55 +02:00
691ddeefb5 patch 8.1.1305: there is no easy way to manipulate environment variables
Problem:    There is no easy way to manipulate environment variables.
Solution:   Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto,
            closes #2875)
2019-05-09 14:52:41 +02:00
68cbb14bae patch 8.1.1304: MS-Windows: compiler warning for unused value
Problem:    MS-Windows: compiler warning for unused value.
Solution:   Adjust #ifdefs. (Ken Takata, closes #4363)
2019-05-09 14:14:42 +02:00
be0a2597ae patch 8.1.1303: not possible to hide a balloon
Problem:    Not possible to hide a balloon.
Solution:   Hide the balloon when balloon_show() is called with an empty
            string or list.  Add balloon_gettext().
2019-05-09 13:50:16 +02:00
06bd824869 patch 8.1.1302: v:beval_text is not tested in Visual mode
Problem:    v:beval_text is not tested in Visual mode.
Solution:   Add a screenshot of the balloon in Visual mode.
2019-05-08 22:55:16 +02:00
0b75f7c97c patch 8.1.1301: when compiled with VIMDLL some messages are not shown
Problem:    When compiled with VIMDLL some messages are not shown.
Solution:   Set/reset gui.in_use and gui.starting as needed. (Ken Takata,
            closes #4361)
2019-05-08 22:28:46 +02:00
2f10658b06 patch 8.1.1300: in a terminal 'ballooneval' does not work right away
Problem:    In a terminal 'ballooneval' does not work right away.
Solution:   Flush output after drawing the balloon.  Add the <Ignore> key
            code.  Add a test.
2019-05-08 21:59:25 +02:00
a5c6a0b6c7 patch 8.1.1299: "extends" from 'listchars' is used when 'list' is off
Problem:    "extends" from 'listchars' is used when 'list' is off. (Hiroyuki
            Yoshinaga)
Solution:   Only use the "extends" character when 'list' is on. (Hirohito
            Higashi, closes #4360)
2019-05-08 20:20:46 +02:00
5416b75031 patch 8.1.1298: invalid argument test fails without X clipboard
Problem:    Invalid argument test fails without X clipboard.
Solution:   Test -display only with the +xterm_clipboard feature.
2019-05-08 18:36:43 +02:00
240f7abab0 patch 8.1.1297: invalid argument test fails without GTK
Problem:    Invalid argument test fails without GTK.
Solution:   Test -display and --display separately.
2019-05-08 17:58:15 +02:00
27821260c0 patch 8.1.1296: crash when using invalid command line argument
Problem:    Crash when using invalid command line argument.
Solution:   Check for options not being initialized.
2019-05-08 16:41:09 +02:00
98ffe4c6d8 patch 8.1.1295: when vimrun.exe does not exist external command may fail
Problem:    When vimrun.exe does not exist external command may fail.
Solution:   Use "cmd /c" twice to get the same behavior. (Ken Takata,
            closes #4355)
2019-05-07 23:01:39 +02:00
93d77b2cbe patch 8.1.1294: MS-Windows: Some fonts return wrong average char width
Problem:    MS-Windows: Some fonts return wrong average char width.
Solution:   Compute the average ourselves. (Ken Takata, closes #4356)
2019-05-07 22:52:50 +02:00
fda9784dc9 patch 8.1.1293: MSVC files are no longer useful
Problem:    MSVC files are no longer useful for debugging.  Newer Visual
            Studio versions cannot read them.
Solution:   Delete the files. (Ken Takata, closes #4357)
2019-05-07 22:25:27 +02:00
ba9ea91beb patch 8.1.1292: invalid command line arguments not tested
Problem:    Invalid command line arguments not tested.
Solution:   Add a test. (Dominique Pelle, closes #4346)
2019-05-07 22:10:50 +02:00
1063f3d200 patch 8.1.1291: not easy to change directory and restore
Problem:    Not easy to change directory and restore.
Solution:   Add the chdir() function. (Yegappan Lakshmanan, closes #4358)
2019-05-07 22:06:52 +02:00
fd31e45e4b patch 8.1.1290: .hgignore and .gitignore are either distributed or in git
Problem:    .hgignore and .gitignore are either distributed or in git, not
            both.
Solution:   Add .gitignore to the distribution and .hgignore to git.  Update
            the entries. (Christian Brabandt, Ken Takata)
2019-05-07 21:48:51 +02:00
b6cb26ffe1 patch 8.1.1289: may not have enough space to add "W" to search stats
Problem:    May not have enough space to add "W" to search stats.
Solution:   Reserve a bit more space. (Christian Brabandt)
2019-05-07 21:34:37 +02:00
9ce3fa828d patch 8.1.1288: search stats don't show for mapped command
Problem:    Search stats don't show for mapped command.
Solution:   Remove SEARCH_PEEK from searchit flags.  Add a test. (Christian
            Brabandt)
2019-05-07 21:29:11 +02:00
7e1a5af540 patch 8.1.1287: cannot build with +eval but without +mouse
Problem:    Cannot build with +eval but without +mouse.
Solution:   Add #ifdefs around f_test_setmouse(). (John Marriott)
2019-05-07 16:28:13 +02:00
4fa06870e5 patch 8.1.1286: running tests leaves XTest_tabpage_cmdheight file behind
Problem:    Running tests leaves XTest_tabpage_cmdheight file behind.
Solution:   Delete the right file. (closes #4350)
2019-05-06 22:03:39 +02:00
f0ab01f6d8 patch 8.1.1285: test17 is old style
Problem:    Test17 is old style.
Solution:   Turn into new style test. (Yegappan Lakshmanan, closes #4347)
2019-05-06 22:00:00 +02:00
d136221129 patch 8.1.1284: detecting *.tmpl as htmlcheetah is outdated
Problem:    Detecting *.tmpl as htmlcheetah is outdated.
Solution:   Use the generic name "template". (closes #4348)
2019-05-06 21:46:10 +02:00
c7a10b35de patch 8.1.1283: delaying half a second after the top-bot message
Problem:    Delaying half a second after the top-bot message.
Solution:   Instead of the delay add "W" to the search count.
2019-05-06 21:37:18 +02:00
91882cf712 patch 8.1.1282: running make in src/po leaves LINGUAS file behind
Problem:    Running make in src/po leaves LINGUAS file behind. (Ken Takata)
Solution:   Delete LINGUAS after running msgfmt.
2019-05-05 21:01:51 +02:00
8ffc7c8b5f patch 8.1.1281: cannot specify a count with :chistory
Problem:    Cannot specify a count with :chistory.
Solution:   Add a count to :chistory and :lhistory. (Yegappan Lakshmanan,
            closes #4344)
2019-05-05 21:00:26 +02:00
25c9c680ec patch 8.1.1280: remarks about functionality not in Vi clutters the help
Problem:    Remarks about functionality not in Vi clutters the help.
Solution:   Move all info about what is new in Vim or already existed in Vi to
            vi_diff.txt.  Remove {not in Vi} remarks. (closes #4268) Add
            "noet" to the help files modeline.  Also include many other help
            file improvements.
2019-05-05 18:13:34 +02:00
9a061cb78c patch 8.1.1279: cannot set 'spellang' to "sr@latin"
Problem:    Cannot set 'spellang' to "sr@latin". (Bojan Stipic)
Solution:   Allow using '@' in 'spellang'. (closes #4342)
2019-05-05 16:55:03 +02:00
58187f1c8a patch 8.1.1278: missing change for "combine" field
Problem:    Missing change for "combine" field.
Solution:   Also change the textprop implementation.
2019-05-05 16:33:47 +02:00
8fc0271e9a patch 8.1.1277: missing screenshot update
Problem:    Missing screenshot update.
Solution:   Update the screenshot.
2019-05-05 16:10:32 +02:00
de24a87013 patch 8.1.1276: cannot combine text properties with syntax highlighting
Problem:    Cannot combine text properties with syntax highlighting.
Solution:   Add the "combine" field to prop_type_add(). (closes #4343)
2019-05-05 15:48:00 +02:00
cf6a55c4b0 patch 8.1.1275: cannot navigate to errors before/after the cursor
Problem:    Cannot navigate to errors before/after the cursor.
Solution:   Add the :cbefore and :cafter commands. (Yegappan Lakshmanan,
            closes #4340)
2019-05-05 15:02:30 +02:00
ce79353ace patch 8.1.1274: after :unmenu can still execute the menu with :emenu
Problem:    After :unmenu can still execute the menu with :emenu.
Solution:   Do not execute a menu that was disabled for the specified mode.
2019-05-05 14:19:20 +02:00
f653a6bcff patch 8.1.1273: compiler warning in direct write code
Problem:    Compiler warning in direct write code.
Solution:   Add a type cast.
2019-05-05 13:20:02 +02:00
711f02da65 patch 8.1.1272: click on WinBar of other window not tested
Problem:    Click on WinBar of other window not tested.
Solution:   Add a test case.
2019-05-05 13:14:28 +02:00
b3de6c4a76 patch 8.1.1271: compiler warnings for use of STRNCPY()
Problem:    Compiler warnings for use of STRNCPY(). (John Marriott)
Solution:   Use mch_memmove() instead of STRNCPY().
2019-05-05 13:02:28 +02:00
9dfa313919 patch 8.1.1270: cannot see current match position
Problem:    Cannot see current match position.
Solution:   Show "3/44" when using the "n" command and "S" is not in
            'shortmess'. (Christian Brabandt, closes #4317)
2019-05-04 21:08:40 +02:00
ed5ab2a959 patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not work
Problem:    MS-Windows GUI: multibyte chars with a 0x80 byte do not work when
            compiled with VIMDLL.
Solution:   Adjust the condition for fixing the input buffer. (Ken Takata,
            closes #4330)
2019-05-04 20:00:00 +02:00
510671a055 patch 8.1.1268: map completion test fails in GUI
Problem:    Map completion test fails in GUI.
Solution:   Skip the test that fails.
2019-05-04 19:26:56 +02:00
4b8366b56e patch 8.1.1267: cannot check if GPM mouse support is working
Problem:    Cannot check if GPM mouse support is working.
Solution:   Add the "mouse_gpm_enable" feature.
2019-05-04 17:34:34 +02:00
8caef443b2 patch 8.1.1266: winbar test doesn't test enough
Problem:    Winbar test doesn't test enough.
Solution:   Check that the WinBar actually shows up.  Correct check for clicks
            with no effect. (Ben Jackson, closes #4338)
2019-05-04 17:30:04 +02:00
bedf091a95 patch 8.1.1265: when GPM mouse support is enabled double clicks do not work
Problem:    When GPM mouse support is enabled double clicks in xterm do not
            work.
Solution:   Use KS_GPM_MOUSE for GPM mouse events.
2019-05-04 16:58:45 +02:00
d2fad67e3e patch 8.1.1264: crash when closing window from WinBar click
Problem:    Crash when closing window from WinBar click. (Ben Jackson)
Solution:   Check that window pointer is still valid. (closes #4337)
2019-05-04 16:55:25 +02:00
66f8311152 patch 8.1.1263: mouse clicks in WinBar not tested
Problem:    Mouse clicks in WinBar not tested.
Solution:   Add a test for clicking on the WinBar entries.
2019-05-04 16:06:12 +02:00
bb8476be87 patch 8.1.1262: cannot simulate a mouse click in a test
Problem:    Cannot simulate a mouse click in a test.
Solution:   Add test_setmouse().
2019-05-04 15:47:48 +02:00
25190db225 patch 8.1.1261: no error for quickfix commands with negative range
Problem:    No error for quickfix commands with negative range.
Solution:   Add ADDR_UNSIGNED and use it for quickfix commands.  Make
            assert_fails() show the command if the error doesn't match.
2019-05-04 15:05:28 +02:00
e4f5f3aa3d patch 8.1.1260: comparing with pointer instead of value
Problem:    Comparing with pointer instead of value.
Solution:   Add a "*". (Ken Takata, closes #4336)
2019-05-04 14:05:08 +02:00
e5c83286bb patch 8.1.1259: crash when exiting early
Problem:    Crash when exiting early. (Ralf Schandl)
Solution:   Only pop/push the title when it was set. (closes #4334)
2019-05-03 23:15:37 +02:00
9404a18ad9 patch 8.1.1258: the "N files to edit" message can not be surpressed
Problem:    The "N files to edit" message can not be surpressed.
Solution:   Surpress the message with --not-a-term. (closes #4320)
2019-05-03 22:25:40 +02:00
819d3e52a1 patch 8.1.1257: MSVC: name of object directory now always right
Problem:    MSVC: name of object directory now always right.
Solution:   Adjust comment.  Don't use different directory for DIRECTX.  Do
            use different directory for USE_MSVCRT. (Ken Takata, closes #4333)
2019-05-03 22:15:03 +02:00
3ff33114d7 patch 8.1.1256: cannot navigate through errors relative to the cursor
Problem:    Cannot navigate through errors relative to the cursor.
Solution:   Add :cabove, :cbelow, :labove and :lbelow. (Yegappan Lakshmanan,
            closes #4316)
2019-05-03 21:56:35 +02:00
12e91862c1 patch 8.1.1255: building desktop files fails on FreeBSD
Problem:    Building desktop files fails on FreeBSD. (Adam Weinberger)
Solution:   Avoid using non-portable construct in Makefile. (closes #4332)
2019-05-03 21:20:03 +02:00
61df0c7996 patch 8.1.1254: mapping completion contains dead code
Problem:    Mapping completion contains dead code.
Solution:   Remove the code.
2019-05-03 21:10:36 +02:00
92b9e60cb5 patch 8.1.1253: mapping completion test fails
Problem:    Mapping completion test fails.
Solution:   Fix expected output.
2019-05-03 16:49:25 +02:00
1776a28e9c patch 8.1.1252: not all mapping completion is tested
Problem:    Not all mapping completion is tested.
Solution:   Add a few more mapping completion tests.
2019-05-03 16:05:41 +02:00
2cb9f02532 patch 8.1.1251: no test for completion of mapping keys
Problem:    No test for completion of mapping keys.
Solution:   Add a test.  Also clean up the code.
2019-05-03 15:13:57 +02:00
d788543ac6 patch 8.1.1250: no test for netterm mouse
Problem:    No test for netterm mouse.
Solution:   Add some tests for netterm mouse.
2019-05-03 13:44:10 +02:00
c6b1cc967f patch 8.1.1249: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Christian Brabandt)
2019-05-03 11:21:05 +02:00
92fd599e0d patch 8.1.1248: no test for dec mouse
Problem:    No test for dec mouse.
Solution:   Add some tests for dec mouse.  Add "no_query_mouse".
2019-05-02 23:00:22 +02:00
d0621d85a6 patch 8.1.1247: urxvt mouse codes are not tested
Problem:    Urxvt mouse codes are not tested.
Solution:   Also set 'ttymouse' to "urxvt" in the termcodes test.
2019-05-02 21:12:19 +02:00
bb7e1b4ba8 patch 8.1.1246: cannot handle negative mouse coordinate from urxvt
Problem:    Cannot handle negative mouse coordinate from urxvt.
Solution:   Accept '-' where a digit is expected. (Vincent Vinel,
            closes #4326)
2019-05-02 20:24:12 +02:00
36d502225c patch 8.1.1245: ":copen 10" sets height in full-height window
Problem:    ":copen 10" sets height in full-height window. (Daniel Hahler)
Solution:   Don't set the height if the quickfix window is full height.
            (closes #4325)
2019-05-02 20:17:40 +02:00
1ee36d6ff5 patch 8.1.1244: no tests for CTRL-mouse-click
Problem:    No tests for CTRL-mouse-click.
Solution:   Add a few tests. (Dominique Pelle, closes #4323)
2019-05-01 23:13:56 +02:00
26f0cb145a patch 8.1.1243: compiler warnings for incomplete switch statement
Problem:    Compiler warnings for incomplete switch statement. (Tony
            Mechelynck)
Solution:   Add ADDR_QUICKFIX to the list.
2019-05-01 21:43:42 +02:00
0fef0aeb1c patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Problem:    No cmdline redraw when tabpages have different 'cmdheight'.
Solution:   redraw the command line when 'cmdheight' changes when switching
            tabpages. (closes #4321)
2019-05-01 20:30:40 +02:00
b731689e85 patch 8.1.1241: Ex command info contains confusing information
Problem:    Ex command info contains confusing information.
Solution:   When using the NOTADR flag use ADDR_OTHER for the address type.
            Cleanup code using NOTADR.  Check for errors in
            create_cmdidxs.vim.  Adjust Makefile to see the errors.
2019-05-01 18:08:42 +02:00
d96dbd6f95 patch 8.1.1240: runtime desktop files are overwritten by build
Problem:    Runtime desktop files are overwritten by build. (Tony Mechelynck)
Solution:   Instead of copying the files find them with "make install".
2019-04-30 21:27:34 +02:00
a9dd2d3c75 patch 8.1.1239: key with byte sequence containing CSI does not work
Problem:    Key with byte sequence containing CSI does not work.
Solution:   Do not recognize CSI as special unless the GUI is active. (Ken
            Takata, closes #4318)
2019-04-29 21:58:41 +02:00
a0e67fc166 patch 8.1.1238: MS-Windows: compiler warning for sprintf() format
Problem:    MS-Windows: compiler warning for sprintf() format.
Solution:   Change %d to %ld. (Ken Takata)
2019-04-29 21:46:26 +02:00
52111f8231 patch 8.1.1237: error for using "compl", reserved word in C++
Problem:    Error for using "compl", reserved word in C++.
Solution:   Rename to "complp". (suggestion by Ken Takata)
2019-04-29 21:30:45 +02:00
fe368edcc0 patch 8.1.1236: sjiscorr.c not found in shadow directory
Problem:    sjiscorr.c not found in shadow directory. (Tony Mechelynck)
Solution:   Link po/*.c files with "make shadow".
2019-04-29 20:30:54 +02:00
602abeb20f Update .gitignore 2019-04-29 20:26:05 +02:00
c0af78fa08 patch 8.1.1235: compiler warnings for using STRLEN() value
Problem:    Compiler warnings for using STRLEN() value.
Solution:   Cast to int. (Christian Brabandt, Mike Williams)
2019-04-29 19:47:22 +02:00
701df4eb64 patch 8.1.1234: swap file test fails on MS-Windows
Problem:    Swap file test fails on MS-Windows.
Solution:   Only compare the tail of the file names.
2019-04-28 23:07:18 +02:00
c779c674ac patch 8.1.1233: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for verb_msg().
2019-04-28 22:53:41 +02:00
1b243eafb0 patch 8.1.1232: can't build on MS-Windows
Problem:    Can't build on MS-Windows.
Solution:   Define process_still_running.
2019-04-28 22:50:40 +02:00
67cf86bfff patch 8.1.1231: asking about existing swap file unnecessarily
Problem:    Asking about existing swap file unnecessarily.
Solution:   When it is safe, delete the swap file.  Remove
            HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)
2019-04-28 22:25:38 +02:00
afde13b62b patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Problem:    A lot of code is shared between vim.exe and gvim.exe.
Solution:   Optionally put the shared code in vim.dll. (Ken Takata,
            closes #4287)
2019-04-28 19:46:49 +02:00
ab4cece605 patch 8.1.1229: warning for posix_openpt() not declared
Problem:    Warning for posix_openpt() not declared. (Tony Mechelynck)
Solution:   Add declaration.
2019-04-28 18:40:03 +02:00
45e18cbdc4 patch 8.1.1228: not possible to process tags with a function
Problem:    Not possible to process tags with a function.
Solution:   Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)
2019-04-28 18:05:35 +02:00
7a9df9dd00 patch 8.1.1227: duplicate entries in the generate .desktop files
Problem:    Duplicate entries in the generate .desktop files. (Ralf Schandl)
Solution:   Remove translated entries from the .in files. (closes #4313)
2019-04-28 16:08:30 +02:00
6c60f47fb9 patch 8.1.1226: {not in Vi} remarks get in the way of useful help text
Problem:    {not in Vi} remarks get in the way of useful help text.
Solution:   Make a list of all Vi options, instead of mentioning what Vi does
            not have.  Update the help text for options.
2019-04-28 16:00:35 +02:00
1e44968780 patch 8.1.1225: cannot create a pty to use with :terminal on FreeBSD
Problem:    Cannot create a pty to use with :terminal on FreeBSD.
Solution:   Add support for posix_openpt(). (Ozaki Kiichi, closes #4306,
            closes #4289)
2019-04-28 14:59:59 +02:00
f720d0a77e patch 8.1.1224: MS-Windows: cannot specify font weight
Problem:    MS-Windows: cannot specify font weight.
Solution:   Add the "W" option to 'guifont'. (closes #4309)  Move GUI font
            explanation out of options.txt.
2019-04-28 14:02:47 +02:00
564344ace9 patch 8.1.1223: middle mouse click test fails without a clipboard
Problem:    Middle mouse click test fails without a clipboard.
Solution:   Check if the clipboard can be used. (Dominique Pelle, Christian
            Brabandt)  Also use WorkingClipboard() instead of checking for the
            "clipboard" feature.
2019-04-28 13:00:12 +02:00
dcaa54dded patch 8.1.1222: build still fails on MS-Windows
Problem:    Build still fails on MS-Windows.
Solution:   Move another declaration to start of block.
2019-04-27 22:45:00 +02:00
ad6dc49a75 patch 8.1.1221: filtering does not work when listing marks
Problem:    Filtering does not work when listing marks.
Solution:   Implement filtering marks. (Marcin Szamotulski, closes #3895)
2019-04-27 22:40:08 +02:00
0ee1bdff7d patch 8.1.1220: build fails on MS-Windows
Problem:    Build fails on MS-Windows.
Solution:   Move declaration to start of block.
2019-04-27 22:38:30 +02:00
6ee9658774 patch 8.1.1219: not checking for NULL return from alloc()
Problem:    Not checking for NULL return from alloc().
Solution:   Add checks. (Martin Kunev, closes #4303, closes #4174)
2019-04-27 22:06:37 +02:00
00aa069db8 patch 8.1.1218: cannot set a directory for a tab page
Problem:    Cannot set a directory for a tab page.
Solution:   Add the tab-local directory. (Yegappan Lakshmanan, closes #4212)
2019-04-27 20:37:57 +02:00
2155a6abaa patch 8.1.1217: MS-Windows: no space reserved for font quality name
Problem:    MS-Windows: no space reserved for font quality name.
Solution:   Add quality_name length if present. (Ken Takata, closes #4311)
2019-04-27 19:15:45 +02:00
c1b8160b44 patch 8.1.1216: mouse middle click is not tested
Problem:    Mouse middle click is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4310)
2019-04-27 19:11:35 +02:00
49543fbced patch 8.1.1215: "make clean" does not remove generated src/po files
Problem:    "make clean" does not remove generated src/po files.
Solution:   Remove the files for "make clean". (Christian Brabandt)
2019-04-27 18:32:31 +02:00
c6b37db1ba patch 8.1.1214: old style tests
Problem:    Old style tests.
Solution:   Move tests from test14 to new style test files. (Yegappan
            Lakshmanan, closes #4308)
2019-04-27 18:00:34 +02:00
e13a3901ca patch 8.1.1213: "make clean" in top dir does not cleanup indent test output
Problem:    "make clean" in top dir does not cleanup indent test output.
Solution:   Clean the indent test output.  Do not rely on the vim executable
            for that. (closes #4307)
2019-04-27 17:57:31 +02:00
520e245237 patch 8.1.1212: signal PWR is not tested
Problem:    Signal PWR is not tested.
Solution:   Test that PWR updates the swap file. (Dominique Pelle,
            closes #4312)
2019-04-27 17:32:40 +02:00
e61e548dd6 patch 8.1.1211: not all user command code is tested
Problem:    Not all user command code is tested.
Solution:   Add more tests.
2019-04-27 15:05:12 +02:00
ac9fb18020 patch 8.1.1210: support for user commands is spread out
Problem:    Support for user commands is spread out. No good reason to make
            user commands optional.
Solution:   Move user command support to usercmd.c.  Always enable the
            user_commands feature.
2019-04-27 13:04:13 +02:00
5431589d25 patch 8.1.1209: clever compiler warns for buffer being too small
Problem:    Clever compiler warns for buffer being too small.
Solution:   Make the buffer bigger (even though it's not really needed).
2019-04-26 22:33:49 +02:00
c8cc0ad477 patch 8.1.1208: links to repository use wrong file name
Problem:    Links to repository use wrong file name.
Solution:   Swap the file names. (Nahuel Ourthe, closes #4304)
2019-04-26 21:31:38 +02:00
1f3601e92e patch 8.1.1207: some compilers give warning messages
Problem:    Some compilers give warning messages.
Solution:   Initialize variables, change printf() argument. (Christian
            Brabandt, closes #4305)
2019-04-26 20:33:00 +02:00
d1f90bbcab patch 8.1.1206: user command parsing and listing not properly tested
Problem:    User command parsing and listing not properly tested.
Solution:   Add more tests. (Dominique Pelle, closes #4296)
2019-04-25 22:42:07 +02:00
a68e595909 patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Problem:    A BufReadPre autocommand may cause the cursor to move.
Solution:   Restore the cursor position after executing the autocommand,
            unless the autocommand moved it. (Christian Brabandt,
            closes #4302, closes #4294)
2019-04-25 22:22:01 +02:00
a561a41a70 patch 8.1.1204: output of :command with address completion is not nice
Problem:    Output of :command with address completion is not nice.
Solution:   Shorten the address completion names.
2019-04-25 21:27:58 +02:00
69ea587289 patch 8.1.1203: some autocmd tests are old style
Problem:    Some autocmd tests are old style.
Solution:   Turn the tests into new style. (Yegappan Lakshmanan, closes #4295)
2019-04-25 20:29:00 +02:00
c2d09c9f2c patch 8.1.1202: always get regexp debugging logs when building with -DDEBUG
Problem:    Always get regexp debugging logs when building with -DDEBUG.
Solution:   By default do not create regexp debugging logs. (Ken Takata)
2019-04-25 20:07:51 +02:00
725310d89e patch 8.1.1201: output of :command is hard to read
Problem:    Output of :command is hard to read.
Solution:   Make some columns wider, some narrower.  Truncate the command when
            listing all.
2019-04-24 23:08:23 +02:00
31fc39e47b patch 8.1.1200: old style comments in debugger source
Problem:    Old style comments in debugger source.
Solution:   Use new style comments. (Yegappan Lakshmanan, closes #4286)
2019-04-23 18:39:49 +02:00
8485be4e49 patch 8.1.1199: no test for :abclear
Problem:    No test for :abclear.
Solution:   Add a test. (Dominique Pelle, closes #4292)
2019-04-23 16:36:05 +02:00
958eabe5e5 patch 8.1.1198: bracketed paste may remain active after Vim exists
Problem:    Bracketed paste may remain active after Vim exists, because the
            terminal emulater restores the setting.
Solution:   Set/reset bracketed paste mode before setting the terminal mode.
            (closes #3579)
2019-04-21 17:22:33 +02:00
c75e812623 patch 8.1.1197: when starting with multiple tabs file messages is confusing
Problem:    When starting with multiple tabs file messages is confusing.
Solution:   Set 'shortmess' when loading the other tabs. (Christian Brabandt)
2019-04-21 15:55:10 +02:00
7bde95a461 patch 8.1.1196: parallel build may fail
Problem:    Parallel build may fail.
Solution:   Update dependencies.
2019-04-21 15:22:39 +02:00
eead75c5e8 patch 8.1.1195: Vim script debugger functionality needs cleanup
Problem:    Vim script debugger functionality needs cleanup.
Solution:   Move debugger code to a separate file.  Add more tests. (Yegappan
            Lakshmanan, closes #4285)
2019-04-21 11:35:00 +02:00
911ead1269 Update runtime files 2019-04-21 00:03:35 +02:00
ad3ec76bb8 patch 8.1.1194: typos and small problems in source files
Problem:    Typos and small problems in source files.
Solution:   Small fixes.
2019-04-21 00:00:13 +02:00
037c54f261 patch 8.1.1193: typos and small problems in test files
Problem:    Typos and small problems in test files.
Solution:   Small improvements.
2019-04-20 23:47:46 +02:00
4c25bd785a patch 8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc
Problem:    Mode is not cleared when leaving Insert mode with mapped Esc.
Solution:   Clear the mode when redraw_cmdline is set. (closes #4269)
2019-04-20 23:38:07 +02:00
0fdd943595 patch 8.1.1191: not all debug commands are covered by a test
Problem:    Not all debug commands are covered by a test.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #4282)
2019-04-20 22:28:48 +02:00
93a4879c20 patch 8.1.1190: has('vimscript-3') does not work
Problem:    has('vimscript-3') does not work.
Solution:   Add "vimscript-3" to the list of features.
2019-04-20 21:54:28 +02:00
abc7c7fc5a patch 8.1.1189: mode is not cleared when leaving Insert mode
Problem:    Mode is not cleared when leaving Insert mode.
Solution:   Clear the mode when got_int is set. (Ozaki Kiichi, closes #4270)
2019-04-20 15:10:13 +02:00
d2e716e6df patch 8.1.1188: not all Vim variables require the v: prefix
Problem:    Not all Vim variables require the v: prefix.
Solution:   When scriptversion is 3 all Vim variables can only be used with
            the v: prefix.  (Ken Takata, closes #4274)
2019-04-20 14:39:52 +02:00
3a4c53ba51 patch 8.1.1187: cannot recognize Pipfile
Problem:    Cannot recognize Pipfile.
Solution:   Use existing filetypes. (Charles Ross, closes #4280)
2019-04-19 23:33:14 +02:00
334ad41504 patch 8.1.1186: readdir() allocates list twice
Problem:    readdir() allocates list twice.
Solution:   Remove second allocation.  Also check for zero length.
2019-04-19 15:20:46 +02:00
86ec6d7e1e patch 8.1.1185: mapping for CTRL-X is inconsistent
Problem:    Mapping for CTRL-X is inconsistent.
Solution:   Map CTRL-X to "*d also for the MS-Windows console. (Ken Takata,
            closes #4265)
2019-04-18 21:09:02 +02:00
137c14bb4f patch 8.1.1184: undo file left behind after running test
Problem:    Undo file left behind after running test.
Solution:   Delete the undo file. (Dominique Pelle, closes #4279)
2019-04-18 20:30:55 +02:00
b49e3563b9 patch 8.1.1183: typos in VisVim comments
Problem:    Typos in VisVim comments.
Solution:   Correct the typos. (Christ van Willegen)
2019-04-17 18:31:18 +02:00
b9cdb37176 patch 8.1.1182: some function prototypes are outdated
Problem:    Some function prototypes are outdated.
Solution:   Update function prototypes. (Ken Takata, closes #4267)
2019-04-17 18:24:35 +02:00
2b00b9b0f3 patch 8.1.1181: tests for mouse clicks are a bit flaky
Problem:    Tests for mouse clicks are a bit flaky when run in an interactive
            terminal.
Solution:   Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious
            drag events.
2019-04-17 17:08:27 +02:00
113bf0672b patch 8.1.1180: Vim script debugger tests are old style
Problem:    Vim script debugger tests are old style.
Solution:   Turn into new style tests. (Yegappan Lakshmanan, closes #4259)
2019-04-17 16:54:05 +02:00
696d637728 patch 8.1.1179: no test for mouse clicks in the fold column
Problem:    No test for mouse clicks in the fold column.
Solution:   Add a test. (Dominique Pelle, closes #4261)
2019-04-17 16:33:46 +02:00
4945219b99 patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Problem:    When mouse click tests fails value of 'ttytype' is unknown.
Solution:   Add a message to the assert.
2019-04-17 16:27:02 +02:00
1a4dce7cad patch 8.1.1177: .ts files are recognized as xml, typescript is more common
Problem:    .ts files are recognized as xml, while typescript is more common.
Solution:   Recognize .ts files as typescript. (closes #4264)
2019-04-16 22:21:05 +02:00
7f27976589 patch 8.1.1176: test for dragging a tab is flaky
Problem:    Test for dragging a tab is flaky.
Solution:   Add a brief sleep.
2019-04-15 21:48:22 +02:00
e3e3828f93 patch 8.1.1175: no test for dragging a tab and double click for new tab
Problem:    No test for dragging a tab with the mouse and for creating a new
            tab by double clicking in the tabline.
Solution:   Add two tests. (Dominique Pelle, closes #4258)
2019-04-15 20:55:31 +02:00
8dc4c72923 patch 8.1.1174: cannot build with Ruby 1.8
Problem:    Cannot build with Ruby 1.8. (Tom G. Christensen)
Solution:   Include ruby/st.h. (Ozaki Kiichi, closes #4257)
2019-04-14 19:42:13 +02:00
a8356bc173 patch 8.1.1173: suspend test has duplicated lines
Problem:    Suspend test has duplicated lines.
Solution:   Use a function.
2019-04-14 14:31:11 +02:00
74e3d4ec11 patch 8.1.1172: cursor properties were not fully tested
Problem:    Cursor properties were not fully tested.
Solution:   Add a test. (Dominique Pelle, closes #4256)
2019-04-14 14:16:46 +02:00
316c16797a patch 8.1.1171: statusline test could fail in large terminal
Problem:    Statusline test could fail in large terminal.
Solution:   Make the test work on a huge terminal. (Dominique Pelle,
            closes #4255)
2019-04-14 13:23:40 +02:00
a0aaf3c4df patch 8.1.1170: terminal ANSI color test does not cover all colors
Problem:    Terminal ANSI color test does not cover all colors.
Solution:   Use the color number, the name is not always resulting in an ANSI
            color when t_Co is 256.
2019-04-13 23:18:21 +02:00
837854d1bc patch 8.1.1169: writing coverage info in a separate dir is not needed
Problem:    Writing coverage info in a separate dir is not needed.
Solution:   Revert the changes to use a separate directory.
2019-04-13 22:44:51 +02:00
87dcfd75c2 patch 8.1.1168: not all screen update code of terminal is executed in tests
Problem:    Not all screen update code of the terminal window is executed in
            tests.
Solution:   Redraw before taking a screenshot.
2019-04-13 22:35:29 +02:00
39f76c6ac0 patch 8.1.1167: no test for closing tab by click in tabline
Problem:    No test for closing tab by click in tabline.
Solution:   Add a test.  Also fix that dragging window separator could fail in
            a large terminal. (Dominique Pelle, closes #4253)
2019-04-13 22:13:23 +02:00
9c35d05f45 patch 8.1.1166: gettitle test can still fail when another Vim is running
Problem:    Gettitle test can still fail when another Vim is running.
Solution:   Accept any server name number. (Dominique Pelle, closes #4252)
2019-04-13 20:39:15 +02:00
ca57ab54d7 patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Problem:    No test for mouse clicks in the terminal tabpage line.
Solution:   Add a test. (Dominique Pelle, closes #4247).  Also init
            TabPageIdxs[], in case it's used before a redraw.
2019-04-13 14:53:16 +02:00
700dfaa86a patch 8.1.1164: gettitle test is failing when server name differs
Problem:    Gettitle test is failing when server name differs. (Kenta Sato)
Solution:   Accept "VIM1" when 'autoservername' is used. (Dominique Pelle,
            closes #4250, closes #4249)
2019-04-13 14:21:19 +02:00
5d48e0d99a patch 8.1.1163: codecov does not report all the coverage information
Problem:    Codecov does not report all the coverage information.
Solution:   Make a second run with the nested execution output, expect that
            Codecov will merge the results.
2019-04-13 13:44:31 +02:00
f587ef345e patch 8.1.1162: incorrect coverage information; typo in color name
Problem:    Incorrect coverage information; typo in color name.
Solution:   Fix the typo.  Set environment variables to have a nested Vim
            write the coverage info in another directory.
2019-04-13 13:13:54 +02:00
1d79ce81e7 patch 8.1.1161: unreachable code
Problem:    Unreachable code.
Solution:   Remove condition that will never be true.  Add tests for all ANSI
            colors.
2019-04-12 22:27:39 +02:00
c8b3ddab51 patch 8.1.1160: termcodes test would fail in a very big terminal
Problem:    Termcodes test would fail in a very big terminal.
Solution:   Bail out when the row is larger than what will work. (Dominique
            Pelle, closes #4246)
2019-04-12 21:42:52 +02:00
a8d22e3a40 patch 8.1.1159: MS-Windows: with a silent (un)install $VIM/_vimrc is removed
Problem:    MS-Windows: with a silent (un)install $VIM/_vimrc is removed.
Solution:   Don't delete _vimrc in silent mode. (Ken Takata, closes #4242)
2019-04-12 21:29:33 +02:00
04af19637c patch 8.1.1158: json encoded string is sometimes missing the final NUL
Problem:    Json encoded string is sometimes missing the final NUL.
Solution:   Add the NUL.  Also for log messages.
2019-04-12 21:19:04 +02:00
f9b89b4679 patch 8.1.1157: Unicode tables are out of date
Problem:    Unicode tables are out of date.
Solution:   Update to Unicode 12. (Christian Brabandt, closes #4240)
2019-04-12 20:08:55 +02:00
d489c9801b patch 8.1.1156: Unicode emoji and other image characters not recognized
Problem:    Unicode emoji and other image characters not recognized.
Solution:   Add ranges for musical notation, game pieces, etc. (Martin
            Tournoij, closes #4238)
2019-04-12 20:00:21 +02:00
3fbd2d7c31 patch 8.1.1155: termcodes tests can be improved
Problem:    Termcodes tests can be improved.
Solution:   Add helper functions to simplify tests.  Dragging statusline for
            xterm and sgr. (Dominique Pelle, closes #4237)
2019-04-11 23:56:16 +02:00
496555fd18 patch 8.1.1154: getting a newer msgfmt on Travis is too complicated
Problem:    Getting a newer msgfmt on Travis is too complicated.
Solution:   Use a "sourcline" entry. (Ozaki Kiichi, closes #4236)
2019-04-11 20:14:56 +02:00
9a419ffb93 patch 8.1.1154 2019-04-11 18:44:11 +02:00
7edf0baef4 patch 8.1.1152: compiler warning with VS2019
Problem:    Compiler warning with VS2019.
Solution:   Specify different offset for "AMD64". (closes #4235)
2019-04-11 17:22:57 +02:00
679beba800 patch 8.1.1151: build fails when using shadow directory
Problem:    Build fails when using shadow directory.
Solution:   Link the desktop.in files.
2019-04-11 16:21:33 +02:00
29a9baa077 patch 8.1.1150: generating desktop files not tested on Travis
Problem:    Generating desktop files not tested on Travis.
Solution:   Install a newer msgfmt package. (Christian Brabandt)
2019-04-11 15:49:11 +02:00
26096cc96f patch 8.1.1149: building desktop files fails with older msgfmt
Problem:    Building desktop files fails with older msgfmt.
Solution:   Add autoconf check.  Avoid always building the desktop files.
2019-04-11 15:25:40 +02:00
730f48fe36 patch 8.1.1148: CTRL-L with 'incsearch' does not pick up char under cursor
Problem:    CTRL-L with 'incsearch' does not pick up char under cursor.
            (Smylers)
Solution:   Do not compare the position with the cursor position. (Hirohito
            Higashi, closes #3620)
2019-04-11 13:45:57 +02:00
a60e536a29 patch 8.1.1147: desktop file translations are requiring manual updates
Problem:    Desktop file translations are requiring manual updates.
Solution:   Use the .po files for desktop file translations. (Christian
            Brabandt)
2019-04-11 13:11:39 +02:00
ef8c83c550 patch 8.1.1146: in MS-Windows console colors in a terminal window are wrong
Problem:    In MS-Windows console colors in a terminal window are wrong.
Solution:   Use the ansi index also for 16 colors. (Ken Takata)
2019-04-11 11:40:13 +02:00
a7be0f2451 patch 8.1.1145: compiler warning for unused function
Problem:    Compiler warning for unused function. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-04-11 11:19:32 +02:00
862f1e17ea patch 8.1.1144: too strict checking of the 'spellfile' option
Problem:    Too strict checking of the 'spellfile' option.
Solution:   Allow for a path.
2019-04-10 22:33:41 +02:00
8f130eda47 patch 8.1.1143: may pass weird strings to file name expansion
Problem:    May pass weird strings to file name expansion.
Solution:   Check for matching characters.  Disallow control characters.
2019-04-10 22:15:19 +02:00
3fb01a53c6 patch 8.1.1142: no test for dragging the window separators with the mouse
Problem:    No test for dragging the window separators with the mouse.
Solution:   Add a test. (Dominique Pelle, closes #4226)
2019-04-09 21:52:02 +02:00
1b55797e90 patch 8.1.1141: terminal winpos test fails with very large terminal
Problem:    Terminal winpos test fails with very large terminal. (Dominique
            Pelle)
Solution:   Compute the expected size more accurately. (closes #4228)
2019-04-09 21:17:32 +02:00
46ad288b9b patch 8.1.1140: not easy to find out what neighbors a window has
Problem:    Not easy to find out what neighbors a window has.
Solution:   Add more arguments to winnr(). (Yegappan Lakshmanan, closes #3993)
2019-04-08 20:01:47 +02:00
9845f36aa6 patch 8.1.1139: no test for what is fixed in patch 8.1.0716
Problem:    No test for what is fixed in patch 8.1.0716.
Solution:   Add a test. (Yasuhiro Matsumoto, closes #3797)
2019-04-08 18:59:54 +02:00
d7f246c68c patch 8.1.1138: plugins don't get notified when the popup menu changes
Problem:    Plugins don't get notified when the popup menu changes.
Solution:   Add the CompleteChanged event. (Andy Massimino. closes #4176)
2019-04-08 18:15:41 +02:00
62e1bb4a11 Update runtime files. 2019-04-08 16:25:07 +02:00
049736fa8a patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Problem:    Xterm mouse wheel escape sequence is not tested.
Solution:   Add a test using low-level input. (Dominique Pelle, closes #4221)
2019-04-07 21:55:07 +02:00
905dd905de patch 8.1.1136: decoding of mouse click escape sequence is not tested
Problem:    Decoding of mouse click escape sequence is not tested.
Solution:   Add a test for xterm and SGR using low-level input.  Make
            low-level input execution with feedkeys() work.
2019-04-07 14:21:47 +02:00
d85c396d51 patch 8.1.1135: build failure for small version
Problem:    Build failure for small version. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-04-07 14:19:14 +02:00
39803d82db patch 8.1.1134: buffer for quickfix window is reused for another file
Problem:    Buffer for quickfix window is reused for another file.
Solution:   Don't reuse the quickfx buffer. (Yegappan Lakshmanan)
2019-04-07 12:04:51 +02:00
08499f5a4d patch 8.1.1133: compiler warning for uninitialized struct member
Problem:    Compiler warning for uninitialized struct member. (Yegappan
            Lakshmanan)
Solution:   Add initializer field.
2019-04-07 11:56:49 +02:00
616aeef21f patch 8.1.1132: getwinpos() test fails on MS-Windows
Problem:    getwinpos() test fails on MS-Windows.
Solution:   Don't try running this test.
2019-04-06 22:21:22 +02:00
16c34c3765 patch 8.1.1131: getwinpos() does not work in the MS-Windows console
Problem:    getwinpos() does not work in the MS-Windows console.
Solution:   Implement getwinpos().
2019-04-06 22:01:24 +02:00
1164023828 patch 8.1.1130: MS-Windows: warning for unused variable
Problem:    MS-Windows: warning for unused variable.
Solution:   Remove the variable.
2019-04-06 20:53:29 +02:00
2d7260d665 patch 8.1.1129: when making a new screendump test have to create the file
Problem:    When making a new screendump test have to create the file.
Solution:   Continue creating the failed screendump, so it can be moved once
            it is correct.
2019-04-06 20:51:52 +02:00
94a7242ad1 patch 8.1.1128: getwinpos() test does not work on MS-Windows
Problem:    getwinpos() test does not work on MS-Windows.
Solution:   Skip the test.
2019-04-06 20:40:35 +02:00
6bc9305a02 patch 8.1.1127: getwinpos() doesn't work in terminal on MS-Windows console
Problem:    getwinpos() doesn't work in terminal on MS-Windows console.
Solution:   Adjust #ifdefs.  Disable test for MS-Windows console.
2019-04-06 20:00:19 +02:00
3d3f21764a patch 8.1.1126: build failure with +terminal but without tgetent
Problem:    Build failure with +terminal but without tgetent.
Solution:   Adjust #ifdef.
2019-04-06 17:56:05 +02:00
fa1e90cd4d patch 8.1.1125: libvterm does not handle the window position report
Problem:    Libvterm does not handle the window position report.
Solution:   Let libvterm call the fallback CSI handler when not handling CSI
            sequence.  Handle the window position report in Vim.
2019-04-06 17:47:40 +02:00
d9eefe3155 patch 8.1.1124: insert completion flags are mixed up
Problem:    Insert completion flags are mixed up.
Solution:   Clean up flags use of ins_compl_add() and cp_flags.
2019-04-06 14:22:21 +02:00
73655cf0ca patch 8.1.1123: no way to avoid filtering for autocomplete function
Problem:    No way to avoid filtering for autocomplete function, causing
            flickering of the popup menu.
Solution:   Add the "equal" field to complete items. (closes #3887)
2019-04-06 13:45:55 +02:00
9d40128afd patch 8.1.1122: char2nr() does not handle composing characters
Problem:    char2nr() does not handle composing characters.
Solution:   Add str2list() and list2str(). (Ozaki Kiichi, closes #4190)
2019-04-06 13:18:12 +02:00
4a5711b5ea patch 8.1.1121: test for term_gettitle() was disabled
Problem:    Test for term_gettitle() was disabled.
Solution:   Enable the test and bail out only when it doesn't work. (Dominique
            Pelle, closes #3776)
2019-04-06 12:39:55 +02:00
543c9b1921 patch 8.1.1120: cannot easily get directory entry matches
Problem:    Cannot easily get directory entry matches.
Solution:   Add the readdir() function. (Yasuhiro Matsumoto, closes #2439)
2019-04-05 22:50:40 +02:00
577fadfc10 patch 8.1.1119: no support for Windows on ARM64.
Problem:    No support for Windows on ARM64.
Solution:   Add ARM64 support (Leendert van Doorn)
2019-04-04 20:32:24 +02:00
652de23dc7 patch 8.1.1118: a couple of conditions are hard to understand
Problem:    A couple of conditions are hard to understand.
Solution:   Split the conditions into pieces. (Ozaki Kiichi, closes #3879)
2019-04-04 20:13:09 +02:00
1cd4dc444a patch 8.1.1117: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef.
2019-04-04 19:06:14 +02:00
558ca4ae55 patch 8.1.1116: cannot enforce a Vim script style
Problem:    Cannot enforce a Vim script style.
Solution:   Add the :scriptversion command. (closes #3857)
2019-04-04 18:15:38 +02:00
8f4aeb5572 patch 8.1.1115: cannot build with older C compiler
Problem:    Cannot build with older C compiler.
Solution:   Move variable declaration to start of block.
2019-04-04 15:40:56 +02:00
0f248b006c patch 8.1.1114: confusing overloaded operator "." for string concatenation
Problem:    Confusing overloaded operator "." for string concatenation.
Solution:   Add ".." for string concatenation.  Also "let a ..= b".
2019-04-04 15:36:05 +02:00
eb93f3f0e2 patch 8.1.1113: making an autocommand trigger once is not so easy
Problem:    Making an autocommand trigger once is not so easy.
Solution:   Add the ++once argument.  Also add ++nested as an alias for
            "nested". (Justin M. Keyes, closes #4100)
2019-04-04 15:04:56 +02:00
87f59b09ea patch 8.1.1112: duplicate code in quickfix file
Problem:    Duplicate code in quickfix file.
Solution:   Move code into functions. (Yegappan Lakshmanan, closes #4207)
2019-04-04 14:04:11 +02:00
fda1bff39f patch 8.1.1111: it is not easy to check for infinity
Problem:    It is not easy to check for infinity.
Solution:   Add isinf(). (Ozaki Kiichi, closes #3787)
2019-04-04 13:44:37 +02:00
e5e4e22c1c patch 8.1.1110: composing chars on space wrong when 'listchars' is set
Problem:    Composing chars on space wrong when 'listchars' is set.
Solution:   Do not use "space" and "nbsp" entries of 'listchars' when there is
            a composing character.  (Yee Cheng Chin, closes #4197)
2019-04-04 13:28:45 +02:00
39b76b7df8 patch 8.1.1109: deleted file still in list of distributed files
Problem:    Deleted file still in list of distributed files.
Solution:   Remove the src/os_w32dll.c entry.
2019-04-04 13:12:07 +02:00
723dd946f9 Update runtime files. 2019-04-04 13:11:03 +02:00
7a66627cf4 patch 8.1.1108: test for 'visualbell' doesn't work
Problem:    Test for 'visualbell' doesn't work.
Solution:   Make 'belloff' empty.
2019-04-03 22:52:34 +02:00
b4e6a2d075 patch 8.1.1107: no test for 'visualbell'
Problem:    No test for 'visualbell'.
Solution:   Add a test.
2019-04-03 21:53:33 +02:00
449ac47f93 patch 8.1.1106: no test for 'writedelay'
Problem:    No test for 'writedelay'.
Solution:   Add a test.
2019-04-03 21:42:35 +02:00
5da04ef1b4 patch 8.1.1105: long escape sequences may be split up
Problem:    Long escape sequences may be split up.
Solution:   Assume esccape sequences can be up to 80 bytes long. (Nobuhiro
            Takasaki, closes #4196)
2019-04-03 21:15:58 +02:00
796cc42d3a patch 8.1.1104: MS-Windows: not all environment variables can be used
Problem:    MS-Windows: not all environment variables can be used.
Solution:   Use the wide version of WinMain() and main(). (Ken Takata,
            closes #4206)
2019-04-03 20:31:00 +02:00
0eb035c974 patch 8.1.1103: MS-Windows: old API calls are no longer needed
Problem:    MS-Windows: old API calls are no longer needed.
Solution:   Always use the wide functions. (Ken Takata, closes #4199)
2019-04-02 22:15:55 +02:00
b26705afb5 patch 8.1.1102: Win32 exe file contains unused code
Problem:    Win32 exe file contains unused code.
Solution:   Remove unused #ifdefs and code. (Ken Takata, closes #4198)
2019-04-02 22:02:32 +02:00
690a905a01 patch 8.1.1101: signals test may fail in the GUI
Problem:    Signals test may fail in the GUI.
Solution:   Skip the test for the GUI. (Yee Checng Chin, closes #4202)
2019-04-02 21:45:41 +02:00
fd700393be patch 8.1.1100: tag file without trailing newline no longer works
Problem:    Tag file without trailing newline no longer works. (Marco Hinz)
Solution:   Don't expect a newline at the end of the file. (closes #4200)
2019-04-02 21:26:07 +02:00
b4a6020ac6 patch 8.1.1099: the do_tag() function is too long
Problem:    The do_tag() function is too long.
Solution:   Factor parts out to separate functions.  Move simplify_filename()
            to a file where it fits better. (Andy Massimino, closes #4195)
2019-03-31 19:40:07 +02:00
95946f1209 patch 8.1.1098: quickfix code duplication
Problem:    Quickfix code duplication.
Solution:   Refactor the qf_init_ext() function. (Yegappan Lakshmanan,
            closes #4193)
2019-03-31 15:31:59 +02:00
4fc8e2f8bb patch 8.1.1097: Motif build fails
Problem:    Motif build fails. (Paul Jolly)
Solution:   Only use gui_mch_maximized() for MS-Windows. (closes #4194)
2019-03-30 22:26:38 +01:00
b70a47b774 patch 8.1.1096: MS-Windows: cannot distinguish BS and CTRL-H
Problem:    MS-Windows: cannot distinguish BS and CTRL-H.
Solution:   Add code for VK_BACK. (Linwei, closes #1833)
2019-03-30 22:11:21 +01:00
8662189736 patch 8.1.1095: MS-Windows: executable() fails on very long filename
Problem:    MS-Windows: executable() fails on very long filename.
Solution:   (Ken Takata, closes #4015)
2019-03-30 21:51:28 +01:00
5209334c55 patch 8.1.1094: long line in tags file causes error
Problem:    Long line in tags file causes error.
Solution:   Check for overlong line earlier. (Andy Massimino, closes #4051,
            closes #4084)
2019-03-30 21:41:48 +01:00
96428dd4e9 patch 8.1.1093: support for outdated tags format slows down tag parsing
Problem:    Support for outdated tags format slows down tag parsing.
Solution:   Remove FEAT_TAG_OLDSTATIC.
2019-03-30 21:19:34 +01:00
372674fca3 patch 8.1.1092: setting 'guifont' when maximized resizes the Vim window
Problem:    Setting 'guifont' when maximized resizes the Vim window. When
            'guioptions' contains "k" gvim may open with a tiny window.
Solution:   Avoid un-maximizing when setting 'guifont'. (Yee Cheng Chin,
            closes #3808)
2019-03-30 20:31:22 +01:00
f0908e6fe1 patch 8.1.1091: MS-Windows: cannot use multi-byte chars in environment var
Problem:    MS-Windows: cannot use multi-byte chars in environment var.
Solution:   Use the wide API. (Ken Takata, closes #4008)
2019-03-30 20:11:50 +01:00
2d04a91d69 patch 8.1.1090: MS-Windows: modify_fname() has problems with some 'encoding'
Problem:    MS-Windows: modify_fname() has problems with some 'encoding'.
Solution:   Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata,
            closes #4007)
2019-03-30 20:04:08 +01:00
b44b7add8a patch 8.1.1089: tutor does not check $LC_MESSAGES
Problem:    Tutor does not check $LC_MESSAGES.
Solution:   Let $LC_MESSAGES overrule $LANG. (Miklos Vajna, closes #4112)
2019-03-30 19:56:46 +01:00
9e1e358d37 patch 8.1.1088: height of quickfix window not retained with vertical split
Problem:    Height of quickfix window not retained with vertical split.
Solution:   Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu,
            closes #4013, closes #2998)
2019-03-30 19:49:06 +01:00
7559dcef6c patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Problem:    tag stack is incorrect after CTRL-T and then :tag
Solution:   Handle DT_TAG differently. (test by Andy Massimino, closes #3944,
            closes #4177)
2019-03-30 19:12:02 +01:00
abab0b0fdd patch 8.1.1086: too many curly braces
Problem:    Too many curly braces.
Solution:   Remove curly braces where they are not needed. (Hirohito Higashi,
            closes #3982)
2019-03-30 18:47:01 +01:00
bd9bf266fc patch 8.1.1085: compiler warning for possibly uninitialized variable
Problem:    Compiler warning for possibly uninitialized variable. (Tony
            Mechelynck)
Solution:   Make conditions more logical.
2019-03-30 18:25:39 +01:00
aff749145e patch 8.1.1084: cannot delete a match from another window
Problem:    Cannot delete a match from another window. (Paul Jolly)
Solution:   Add window ID argument to matchdelete(), clearmatches(),
            getmatches() and setmatches(). (Andy Massimino, closes #4178)
2019-03-30 18:11:49 +01:00
8bb41b3d06 patch 8.1.1083: MS-Windows: hang when opening a file on network share
Problem:    MS-Windows: hang when opening a file on network share.
Solution:   Avoid using FindFirstFile(), use GetLongPathNameW(). (Ken Takata,
            closes #3923)
2019-03-30 17:28:16 +01:00
ab62c19ea0 patch 8.1.1082: "Conceal" match is mixed up with 'hlsearch' match.
Problem:    "Conceal" match is mixed up with 'hlsearch' match.
Solution:   Check that a match is found, not a 'hlsearch' item. (Andy
            Massimino, closes #4073)
2019-03-30 16:39:05 +01:00
433a5eb9de patch 8.1.1081: MS-Windows: cannot use some fonts
Problem:    MS-Windows: cannot use fonts whose name cannot be represented in
            the current code page.
Solution:   Use wide font functions. (Ken Takata, closes #4000)
2019-03-30 16:24:16 +01:00
ef7f0e367e patch 8.1.1080: when a screendump test fails, moving the file is a hassle
Problem:    When a screendump test fails, moving the file is a hassle.
Solution:   Instead of appending ".failed" to the file name, keep the same
            file name but put the screendump in the "failed" directory.
            Then the file name only needs to be typed once when moving a
            screendump.
2019-03-30 15:59:51 +01:00
48aed0824e patch 8.1.1079: no need for a separate ScreenLinesUtf8() test function
Problem:    No need for a separate ScreenLinesUtf8() test function.
Solution:   Get the composing characters with ScreenLines().
2019-03-30 15:44:17 +01:00
5f8069bbf5 patch 8.1.1078: when 'listchars' is set a composing char on a space is wrong
Problem:    When 'listchars' is set a composing char on a space is wrong.
Solution:   Separate handling a non-breaking space and a space. (Yasuhiro
            Matsumoto, closes #4046)
2019-03-30 15:34:47 +01:00
9a2c091a74 patch 8.1.1077: reg_executing() is reset by calling input()
Problem:    reg_executing() is reset by calling input().
Solution:   Implement a more generic way to save and restore reg_executing.
            (Ozaki Kiichi, closes #4192)
2019-03-30 14:26:18 +01:00
7591bb39d5 patch 8.1.1076: file for Insert mode is much too big
Problem:    File for Insert mode is much too big.
Solution:   Split off the code for Insert completion. (Yegappan Lakshmanan,
            closes #4044)
2019-03-30 13:53:47 +01:00
de5b380042 patch 8.1.1075: function reference count wrong in Python code
Problem:    Function reference count wrong in Python code.
Solution:   Use "O" instead of "N" for the arguments. (Ben Jackson,
            closes #4188)
2019-03-30 12:51:22 +01:00
bfd3603670 patch 8.1.1074: Python test doesn't wipe out hidden buffer
Problem:    Python test doesn't wipe out hidden buffer.
Solution:   Wipe out the buffer. (Ben Jackson, closes #4189)
2019-03-30 12:33:13 +01:00
e73f911c53 patch 8.1.1073: space in number column is on wrong side with 'rightleft' set
Problem:    Space in number column is on wrong side with 'rightleft' set.
Solution:   Move the space to the text side.  Add a test.
2019-03-29 18:29:54 +01:00
8ee4c01b8c patch 8.1.1072: extending sign and foldcolumn below the text is confusing
Problem:    Extending sign and foldcolumn below the text is confusing.
Solution:   Let the sign and foldcolumn stop at the last text line, just like
            the line number column.  Also stop the command line window leader.
            (Christian Brabandt, closes #3964)
2019-03-29 18:08:18 +01:00
2912abb3a2 patch 8.1.1071: cannot get composing characters from the screen
Problem:    Cannot get composing characters from the screen.
Solution:   Add screenchars() and screenstring(). (partly by Ozaki Kiichi,
            closes #4059)
2019-03-29 14:16:42 +01:00
e46736b23b patch 8.1.1070: issue templates are not good enough
Problem:    Issue templates are not good enough.
Solution:   Rephrase to anticipate unexperienced users.
2019-03-29 13:12:39 +01:00
8ac8a77f24 patch 8.1.1069: source README file doesn't look nice on github
Problem:    Source README file doesn't look nice on github.
Solution:   Turn it into markdown, still readable as plain text.
            (WenxuanHuang, closes #4141)
2019-03-29 13:10:08 +01:00
fd133323d4 patch 8.1.1068: cannot get all the information about current completion
Problem:    Cannot get all the information about current completion.
Solution:   Add complete_info(). (Shougo, Hirohito Higashi, closes #4106)
2019-03-29 12:20:27 +01:00
723d165c2f patch 8.1.1067: issues added on github are unstructured
Problem:    Issues added on github are unstructured.
Solution:   Add a bug and feature request template. (Ken Takata, closes #4183)
2019-03-29 10:54:37 +01:00
89828e9fe6 patch 8.1.1066: VIMDLL isn't actually used
Problem:    VIMDLL isn't actually used.
Solution:   Remove VIMDLL support.
2019-03-28 22:43:16 +01:00
47cf1cc257 patch 8.1.1065: no test for using and deleting menu in the GUI
Problem:    No test for using and deleting menu in the GUI.
Solution:   Add a test.
2019-03-28 22:04:56 +01:00
c701f320e8 patch 8.1.1064: no test for output conversion in the GTK GUI
Problem:    No test for output conversion in the GTK GUI.
Solution:   Add a simplistic test.
2019-03-28 21:49:21 +01:00
37db642083 patch 8.1.1063: insufficient testing for wildmenu completion
Problem:    Insufficient testing for wildmenu completion.
Solution:   Extend the test case. (Dominique Pelle, closes #4182)
2019-03-28 21:26:23 +01:00
a16123a666 patch 8.1.1062: quickfix code is repeated
Problem:    Quickfix code is repeated.
Solution:   Define FOR_ALL_QFL_ITEMS(). Move some code to separate functions.
            (Yegappan Lakshmanan, closes #4166)
2019-03-28 20:31:07 +01:00
0e97b94875 patch 8.1.1061: when substitute string throws error, substitute happens anyway
Problem:    When substitute string throws error, substitute happens anyway.
Solution:   Skip substitution when aborting. (closes #4161)
2019-03-27 22:53:53 +01:00
760285dd4f patch 8.1.1060: MS-Windows: get_cmd_args() is no longer needed
Problem:    MS-Windows: get_cmd_args() is no longer needed, get_cmd_argsW() is
            always used.
Solution:   Remove get_cmd_args(). (Ken Takata, closes #4171)
2019-03-27 21:59:45 +01:00
90d0cf69aa patch 8.1.1059: MS-Windows: PlatformId() is called unnecessarily
Problem:    MS-Windows: PlatformId() is called unnecessarily.
Solution:   Remove calls to PlatformId(). (Ken Takata, closes #4170)
2019-03-27 21:49:14 +01:00
3a731ee0c2 patch 8.1.1058: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems.
Solution:   Use 98% of the lower limit. (Christian Brabandt)
2019-03-27 21:41:36 +01:00
6a95c889bf patch 8.1.1057: nsis config is too complicated
Problem:    Nsis config is too complicated.
Solution:   Use "File /r" for the macros and pack directories. (Ken Takata,
            closes #4169)
2019-03-26 23:02:46 +01:00
e99be0e6d2 patch 8.1.1056: no eval function for Ruby
Problem:    No eval function for Ruby.
Solution:   Add rubyeval(). (Ozaki Kiichi, closes #4152)
2019-03-26 22:51:09 +01:00
75bf3d22f4 patch 8.1.1055: CTRL-G U in Insert mode doesn't work for shift-Left
Problem:    CTRL-G U in Insert mode doesn't work to avoid splitting the undo
            sequence for shift-left and shift-right.
Solution:   Also check dont_sync_undo for shifted cursor keys. (Christian
            Brabandt)
2019-03-26 22:46:05 +01:00
6fb5c97242 patch 8.1.1054: not checking return value of ga_grow()
Problem:    Not checking return value of ga_grow(). (Coverity)
Solution:   Only append when ga_grow() returns OK.
2019-03-26 21:44:20 +01:00
d6c3f1fa2b patch 8.1.1053: warning for missing return statement
Problem:    Warning for missing return statement. (Dominique Pelle)
Solution:   Add return statement.
2019-03-26 00:31:21 +01:00
553e5a5c56 patch 8.1.1052: test for CTRL-C message sometimes fails
Problem:    test for CTRL-C message sometimes fails
Solution:   Make sure there are no changed buffers.
2019-03-25 23:16:34 +01:00
a4c2a24cc7 patch 8.1.1051: not all ways to switch terminal mode are tested
Problem:    Not all ways to switch terminal mode are tested.
Solution:   Add more test cases.
2019-03-25 23:01:38 +01:00
3dd174abbf patch 8.1.1050: blank srceen when DirectWrite failed
Problem:    Blank srceen when DirectWrite failed.
Solution:   Call redraw_later_clear() after recreating the Direct2D render
            target. (Ken Takata, closes #4172)
2019-03-25 22:48:18 +01:00
a84a3dd663 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Problem:    When user tries to exit with CTRL-C message is confusing.
Solution:   Only mention ":qa!" when there is a changed buffer. (closes #4163)
2019-03-25 22:21:24 +01:00
b45125b374 patch 8.1.1048: minor issues with tests
Problem:    Minor issues with tests.
Solution:   Delete unused test OK file.  Add missing entries in list of tests.
            Fix readme file. (Masato Nishihata, closes #4160)
2019-03-24 20:18:40 +01:00
63b74a8362 Update runtime files. 2019-03-24 15:09:13 +01:00
db77b84ac2 patch 8.1.1047: WINCH signal is not tested
Problem:    WINCH signal is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4158)
2019-03-24 14:58:31 +01:00
82b033eff8 patch 8.1.1046: the "secure" variable is used inconsistently
Problem:    the "secure" variable is used inconsistently. (Justin M. Keyes)
Solution:   Set it to one instead of incrementing.
2019-03-24 14:02:04 +01:00
63dbfd33c1 patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Problem:    E315 ml_get error when using Python and hidden buffer.
Solution:   Make sure the cursor position is valid. (Ben Jackson,
            closes #4153, closes #4154)
2019-03-23 17:41:59 +01:00
c3e92c161d patch 8.1.1044: no way to check the reference count of objects
Problem:    No way to check the reference count of objects.
Solution:   Add test_refcount(). (Ozaki Kiichi, closes #4124)
2019-03-23 14:23:07 +01:00
b782869033 patch 8.1.1043: Lua interface does not support Blob
Problem:    Lua interface does not support Blob.
Solution:   Add support to Blob. (Ozaki Kiichi, closes #4151)
2019-03-23 13:57:02 +01:00
832615be12 patch 8.1.1042: the paste test doesn't work properly in the Windows console
Problem:    The paste test doesn't work properly in the Windows console.
Solution:   Disable the test.
2019-03-23 13:30:22 +01:00
295e3ba31f patch 8.1.1041: test for Arabic no longer needed
Problem:    Test for Arabic no longer needed.
Solution:   Remove the test for something that was intentionally left out.
2019-03-23 12:59:40 +01:00
b99abaa480 patch 8.1.1040: FEAT_TAG_ANYWHITE is not enabled in any build
Problem:    FEAT_TAG_ANYWHITE is not enabled in any build.
Solution:   Remove the feature.
2019-03-22 17:03:05 +01:00
e37368c496 patch 8.1.1039: MS-Windows build fails
Problem:    MS-Windows build fails.
Solution:   Remove dependency on arabic.h
2019-03-22 16:57:45 +01:00
dc4fa190e7 patch 8.1.1038: Arabic support excludes Farsi
Problem:    Arabic support excludes Farsi.
Solution:   Add Farsi support to the Arabic support. (Ali Gholami Rudi,
            Ameretat Reith)
2019-03-22 16:33:15 +01:00
6b6f7aae4a patch 8.1.1037: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems.
Solution:   Increase tolerance from 3% to 20%.
2019-03-22 14:36:59 +01:00
1350 changed files with 253863 additions and 175316 deletions

17
.cirrus.yml Normal file
View File

@ -0,0 +1,17 @@
env:
CIRRUS_CLONE_DEPTH: 3
FEATURES: huge
freebsd_12_task:
freebsd_instance:
image: freebsd-12-1-release-amd64
install_script:
pkg install -y gettext
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure --with-features=${FEATURES}
- make -j${NPROC}
- src/vim --version
test_script:
# Runtime Indent tests do not work, run only the normal test suite
- cd src && make test

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
src/testdir/test42.in diff

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
custom: https://www.vim.org/sponsor/index.php

34
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,34 @@
---
name: Bug report
about: Create a report to help us improve Vim
title: ''
labels: ''
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Describe the bug**
A clear and concise description of what the bug is.
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
**To Reproduce**
Detailed steps to reproduce the behavior:
1. Run `vim --clean` (or `gvim --clean`, etc.)
2. Edit `filename`
3. Type '....'
4. Describe the error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, copy/paste the text or add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Vim version [e.g. 8.1.1234] (Or paste the result of `vim --version`.)
- OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
- Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
**Additional context**
Add any other context about the problem here.

View File

@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an enhancement for Vim
title: ''
labels: enhancement
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Is your feature request related something that is currently hard to do? Please describe.**
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

39
.gitignore vendored
View File

@ -6,16 +6,16 @@ src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/objects/.dirstamp
src/objects
src/tags
src/types.vim
# We do need src/auto/configure.
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/configure.aap
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
@ -26,6 +26,7 @@ src/auto/pathdef.c
*.idb
*.manifest
*.exp
*.map
*.obj
*.pdb
*.ilk
@ -33,28 +34,24 @@ src/auto/pathdef.c
*.suo
*.res
*.RES
src/if_perl.c
src/pathdef.c
vim*.dll
vim*.lib
src/dobj*/pathdef.c
src/gobj*/pathdef.c
src/obj*/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
# Borland C++
bcc.cfg
*.ilc
*.ild
*.ilf
*.ils
*.map
*.tds
nsis/icons/*
# NetBeans
nbproject/*
# Mac OSX
src/xxd/xxd.dSYM
.DS_Store
# All platforms
*.rej
@ -68,6 +65,7 @@ src/po/vim.pot
# Generated by "make test"
src/po/*.ck
src/po/*.desktop
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
@ -81,7 +79,22 @@ src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
runtime/indent/testdir/*.out
runtime/indent/testdir/*.fail
src/memfile_test
src/json_test
src/message_test
src/kword_test
# Generated by "make install"
runtime/doc/tags
runtime/doc/doctags
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*
src/shadow
src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
src/cscope.out

100
.hgignore Normal file
View File

@ -0,0 +1,100 @@
syntax: glob
# Unixen: object and executable files.
*.o
src/vim
src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/objects/.dirstamp
src/objects
src/tags
src/types.vim
# We do need src/auto/configure.
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.manifest
*.exp
*.map
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
vim*.dll
vim*.lib
src/dobj*/pathdef.c
src/gobj*/pathdef.c
src/obj*/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
# NetBeans
nbproject/*
# Mac OSX
src/xxd/xxd.dSYM
# All platforms
*.rej
*.orig
*.mo
*.swp
*~
*.pyc
*.log
src/po/vim.pot
# Generated by "make test"
src/po/*.ck
src/po/*.desktop
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test*.failed
src/testdir/test.log
src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
runtime/indent/testdir/*.out
src/memfile_test
src/json_test
src/message_test
src/kword_test
# Generated by "make install"
runtime/doc/tags
runtime/doc/doctags
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*
src/shadow
src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
src/cscope.out

View File

@ -1,131 +1,122 @@
language: c
dist: trusty
os:
- osx
- linux
anchors:
envs:
- &tiny-nogui
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &tiny
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &small
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &normal
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &linux-huge
BUILD=yes TEST="scripttests test_libvterm" 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 --enable-tclinterp'"
- &osx-huge # macOS build
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
- &unittests
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- &asan # ASAN build
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
- &shadowopt
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
compiler:
- clang
- gcc
linux: &linux
os: linux
dist: trusty
addons:
apt:
sources:
# Need msgfmt 0.19.8 to be able to generate .desktop files
- sourceline: 'ppa:ricotz/toolchain'
packages:
- autoconf
- clang
- lcov
- gettext
- libcanberra-dev
- libperl-dev
- python-dev
- python3-dev
- liblua5.2-dev
- lua5.2
- ruby-dev
- tcl-dev
- cscope
- libgtk2.0-dev
- desktop-file-utils
before_install:
- rvm reset
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
# ("pyenv global system" doesn't seem to work.)
- |
if [[ "$(which python3)" =~ ^/opt/python/ ]]; then
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
pip install --user cpp-coveralls
fi
# needed for https support for coveralls
# building cffi only works with gcc, not with clang
- |
if [[ "${COVERAGE}" = "yes" ]]; then
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
fi
# Use llvm-cov instead of gcov when compiler is clang.
- |
if [[ "${CC}" = "clang" ]]; then
ln -sf "$(which llvm-cov)" /home/travis/bin/gcov
fi
before_script:
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start && sleep 3
- sudo modprobe snd-dummy
- sudo usermod -a -G audio $USER
- do_test() { sg audio "sg $(id -gn) '$*'"; }
env:
- &tiny-nogui
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &tiny
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &asan # ASAN build
BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
- &linux-huge
BUILD=yes TEST="scripttests test_libvterm" 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 --enable-tclinterp'"
- &unittests
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- &normal
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- &small
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &osx-huge # 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 --enable-tclinterp'"
osx: &osx
os: osx
addons:
homebrew:
packages:
- lua
update: true
cache:
directories:
- /usr/local/Homebrew/Library/Homebrew/vendor/
- /usr/local/Homebrew/Library/Taps/
before_install:
- rvm reset
# Lua is not installed on Travis OSX
- export LUA_PREFIX=/usr/local
before_script:
- do_test() { "$@"; }
coverage: &coverage
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
asan_symbolize: &asan_symbolize
- |
while read log; do
asan_symbolize < "${log}"
done < <(find . -type f -name 'asan.*' -size +0)
sudo: false
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
# exclude some builds on mac os x and linux
# on mac os x "tiny" is always without GUI
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
matrix:
exclude:
- os: osx
env: *tiny
- os: osx
env: *normal
- os: osx
env: *unittests
- os: osx
env: *small
- os: osx
env: *linux-huge
- os: osx
env: *asan
- os: linux
compiler: clang
env: *asan
- os: linux
compiler: clang
env: *unittests
- os: linux
compiler: clang
env: *small
- os: linux
env: *osx-huge
branches:
except:
- /^v[0-9]/
addons:
apt:
packages:
- autoconf
- clang
- lcov
- libperl-dev
- python-dev
- python3-dev
- liblua5.2-dev
- lua5.2
- ruby-dev
- tcl-dev
- cscope
- libgtk2.0-dev
homebrew:
packages:
- lua
update: true
before_install:
- rvm reset
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
# ("pyenv global system" doesn't seem to work.)
- |
if [[ "${TRAVIS_OS_NAME}" = "linux" ]] && [[ "$(which python3)" =~ ^/opt/python/ ]]; then
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
pip install --user cpp-coveralls
fi
# needed for https support for coveralls
# building cffi only works with gcc, not with clang
- |
if [[ "${COVERAGE}" = "yes" ]]; then
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
fi
# Lua is not installed on Travis OSX
- |
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
export LUA_PREFIX=/usr/local
fi
# Use llvm-cov instead of gcov when compiler is clang.
- |
if [[ "${TRAVIS_OS_NAME}" = "linux" ]] && [[ "${CC}" = "clang" ]]; then
ln -sf "$(which llvm-cov)" /home/travis/bin/gcov
fi
before_script:
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
- |
if [[ "${TRAVIS_OS_NAME}" = "linux" ]]; then
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start && sleep 3
fi
script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- set -o errexit
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
- |
if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
make -C src autoconf
@ -134,38 +125,116 @@ script:
if [[ -n "${SHADOWOPT}" ]]; then
make -C src shadow
fi
# "./configure" changes its working directory into "$SRCDIR".
- ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
- echo -en "travis_fold:end:configure\\r\\033[0K"
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
- |
(
cd "${SRCDIR}" \
&& ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
) && if [[ "${BUILD}" = "yes" ]]; then
if [[ "${BUILD}" = "yes" ]]; then
make ${SHADOWOPT} -j${NPROC}
fi
- echo -en "travis_fold:end:build\\r\\033[0K"
- set +o errexit
# Show Vim version and also if_xx versions.
- |
if [[ "${BUILD}" = "yes" ]]; then
"${SRCDIR}"/vim --version
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-1.vim -c quit > /dev/null
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
cat if_ver.txt
fi
- make ${SHADOWOPT} ${TEST}
- |
if [[ -n "${ASAN_OPTIONS}" ]]; then
while read log; do
asan_symbolize < "${log}"
done < <(find . -type f -name 'asan.*' -size +0)
[[ -z "${log}" ]] # exit 1 if there are ASAN logs
"${SRCDIR}"/vim -u NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
fi
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
after_success:
- |
if [[ "${COVERAGE}" = "yes" ]]; then
~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8 latin-1 EUC-KR
fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
(cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
fi
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
# exclude some builds on mac os x and linux
# on mac os x "tiny" is always without GUI
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
matrix:
include:
- <<: *osx
name: tiny-nogui/clang
compiler: clang
env: *tiny-nogui
- <<: *osx
name: tiny-nogui/gcc
compiler: gcc
env: *tiny-nogui
- <<: *osx
name: huge/clang
compiler: clang
env: *osx-huge
- <<: *osx
name: huge/gcc
compiler: gcc
env: *osx-huge
- <<: *linux
name: tiny-nogui/clang
compiler: clang
env: *tiny-nogui
- <<: *linux
name: tiny-nogui/gcc
compiler: gcc
env: *tiny-nogui
- <<: *linux
name: tiny/clang
compiler: clang
env: *tiny
- <<: *linux
name: tiny/gcc
compiler: gcc
env: *tiny
- <<: *linux
name: small/gcc
compiler: gcc
env: *small
- <<: *linux
name: normal/clang
compiler: clang
env:
- *normal
- *shadowopt
- <<: *linux
name: normal/gcc
compiler: gcc
env:
- *normal
- *shadowopt
- <<: *linux
name: huge+coverage/clang
compiler: clang
env: *linux-huge
after_success: *coverage
- <<: *linux
name: huge+coverage/gcc
compiler: gcc
env: *linux-huge
after_success: *coverage
- <<: *linux
name: unittests+coverage/gcc
compiler: gcc
env: *unittests
after_success: *coverage
- <<: *linux # ASAN
name: huge+asan/gcc
compiler: gcc
env:
- *linux-huge
- *asan
after_failure: *asan_symbolize
- <<: *linux
name: huge-testgui+coverage/gcc
compiler: gcc
env:
- *linux-huge
- TEST="-C src testgui"
after_success: *coverage
- <<: *linux
name: vimtags/gcc
compiler: gcc
env:
- *normal
- TEST="-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
# vim:set sts=2 sw=2 tw=0 et:

View File

@ -4,14 +4,23 @@ Patches are welcome in whatever form.
Discussions about patches happen on the vim-dev maillist.
If you create a pull request on GitHub it will be
forwarded to the vim-dev maillist. You can also send your patch there
directly. An attachment with a unified diff format is preferred.
directly. In that case an attachment with a unified diff format is preferred.
Information about the maillist can be found [on the Vim website].
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
Please consider adding a test. Test coverage isn't very good yet, this needs
to improve. Look through recent patches for examples. The tests are located
under "src/testdir".
A pull request has the advantage that it will trigger the Continuous
Integration tests, you will be warned of problems (you can ignore the coverage
warning, it's noisy).
Please consider adding a test. All new functionality should be tested and bug
fixes should be tested for regressions: the test should fail before the fix and
pass after the fix. Look through recent patches for examples and find help
with ":help testing". The tests are located under "src/testdir".
Contributions will be distributed with Vim under the Vim license. Providing a
change to be included implies that you agree with this and your contribution
does not cause us trouble with trademarks or patents. There is no CLA to sign.
# Reporting issues
@ -21,9 +30,9 @@ maillist is also fine.
Please use the GitHub issues only for actual issues. If you are not 100% sure
that your problem is a Vim issue, please first discuss this on the Vim user
maillist. Try reproducing the problem without any plugins or settings:
maillist. Try reproducing the problem without any of your plugins or settings:
vim -N -u NONE
vim --clean
If you report an issue, please describe exactly how to reproduce it.
For example, don't say "insert some text" but say what you did exactly:
@ -56,12 +65,17 @@ If the maintainer does not respond, contact the vim-dev maillist.
# Translations
Translating messages and runtime files is very much appreciated! These things can be translated:
Translations of this CONTRIBUTING file:
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/CONTRIBUTING_ko.md)
Translating messages and runtime files is very much appreciated! These things
can be translated:
* Messages in Vim, see [src/po/README.txt][1]
Also used for the desktop icons.
* Menus, see [runtime/lang/README.txt][2]
* Vim tutor, see [runtime/tutor/README.txt][3]
* Manual pages, see [runtime/doc/\*.1][4] for examples
* Desktop icon, see [runtime/vim.desktop][5] and [runtime/gvim.desktop][6]
* Installer, see [nsis/lang/\*.nsi][5] for examples
The help files can be translated and made available separately.
See https://www.vim.org/translations.php for examples.
@ -70,5 +84,4 @@ See https://www.vim.org/translations.php for examples.
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
[5]: https://github.com/vim/vim/blob/master/runtime/vim.desktop
[6]: https://github.com/vim/vim/blob/master/runtime/gvim.desktop
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi

113
Filelist
View File

@ -3,16 +3,21 @@
# source files for all source archives
SRC_ALL = \
.gitignore \
.gitattributes \
.hgignore \
.lgtm.yml \
.travis.yml \
.cirrus.yml \
appveyor.yml \
ci/appveyor.bat \
ci/if_ver*.vim \
src/Make_all.mak \
src/README.txt \
src/README.md \
src/README_VIM9.md \
src/alloc.h \
src/arabic.c \
src/arabic.h \
src/arglist.c \
src/ascii.h \
src/autocmd.c \
src/beval.c \
@ -20,16 +25,27 @@ SRC_ALL = \
src/blob.c \
src/blowfish.c \
src/buffer.c \
src/bufwrite.c \
src/change.c \
src/channel.c \
src/charset.c \
src/cindent.c \
src/cmdexpand.c \
src/cmdhist.c \
src/crypt.c \
src/crypt_zip.c \
src/debugger.c \
src/dict.c \
src/diff.c \
src/digraph.c \
src/drawline.c \
src/drawscreen.c \
src/edit.c \
src/eval.c \
src/evalbuffer.c \
src/evalfunc.c \
src/evalvars.c \
src/evalwindow.c \
src/ex_cmdidxs.h \
src/ex_cmds.c \
src/ex_cmds.h \
@ -39,6 +55,7 @@ SRC_ALL = \
src/ex_getln.c \
src/feature.h \
src/fileio.c \
src/filepath.c \
src/findfile.c \
src/fold.c \
src/getchar.c \
@ -48,7 +65,9 @@ SRC_ALL = \
src/gui_beval.c \
src/hardcopy.c \
src/hashtab.c \
src/highlight.c \
src/indent.c \
src/insexpand.c \
src/json.c \
src/json_test.c \
src/kword_test.c \
@ -56,6 +75,7 @@ SRC_ALL = \
src/keymap.h \
src/macros.h \
src/main.c \
src/map.c \
src/mark.c \
src/mbyte.c \
src/memfile.c \
@ -66,6 +86,7 @@ SRC_ALL = \
src/message_test.c \
src/misc1.c \
src/misc2.c \
src/mouse.c \
src/move.c \
src/mysign \
src/nbdebug.c \
@ -75,18 +96,28 @@ SRC_ALL = \
src/ops.c \
src/option.c \
src/option.h \
src/popupmnu.c \
src/optiondefs.h \
src/optionstr.c \
src/popupmenu.c \
src/popupwin.c \
src/profiler.c \
src/quickfix.c \
src/regexp.c \
src/regexp_bt.c \
src/regexp_nfa.c \
src/regexp.h \
src/register.c \
src/scriptfile.c \
src/screen.c \
src/search.c \
src/session.c \
src/sha256.c \
src/sign.c \
src/sound.c \
src/spell.c \
src/spell.h \
src/spellfile.c \
src/spellsuggest.c \
src/structs.h \
src/syntax.c \
src/tag.c \
@ -94,13 +125,20 @@ SRC_ALL = \
src/terminal.c \
src/term.h \
src/termlib.c \
src/testing.c \
src/textprop.c \
src/ui.c \
src/undo.c \
src/usercmd.c \
src/userfunc.c \
src/version.c \
src/version.h \
src/vim.h \
src/vim9.h \
src/vim9compile.c \
src/vim9execute.c \
src/vim9script.c \
src/viminfo.c \
src/winclip.c \
src/window.c \
src/tee/tee.c \
@ -113,9 +151,12 @@ SRC_ALL = \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/summarize.vim \
src/testdir/check.vim \
src/testdir/shared.vim \
src/testdir/screendump.vim \
src/testdir/view_util.vim \
src/testdir/term_util.vim \
src/testdir/setup.vim \
src/testdir/gui_init.vim \
src/testdir/setup_gui.vim \
@ -142,32 +183,46 @@ SRC_ALL = \
src/testdir/dumps/*.dump \
src/testdir/samples/*.txt \
src/testdir/samples/test000 \
src/testdir/if_ver*.vim \
src/testdir/color_ramp.vim \
src/testdir/silent.wav \
src/testdir/popupbounce.vim \
src/proto.h \
src/protodef.h \
src/proto/arabic.pro \
src/proto/arglist.pro \
src/proto/autocmd.pro \
src/proto/beval.pro \
src/proto/blob.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/bufwrite.pro \
src/proto/change.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/cindent.pro \
src/proto/cmdexpand.pro \
src/proto/cmdhist.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
src/proto/debugger.pro \
src/proto/dict.pro \
src/proto/diff.pro \
src/proto/digraph.pro \
src/proto/drawline.pro \
src/proto/drawscreen.pro \
src/proto/edit.pro \
src/proto/eval.pro \
src/proto/evalbuffer.pro \
src/proto/evalfunc.pro \
src/proto/evalvars.pro \
src/proto/evalwindow.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/fileio.pro \
src/proto/filepath.pro \
src/proto/findfile.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
@ -175,10 +230,13 @@ SRC_ALL = \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/highlight.pro \
src/proto/indent.pro \
src/proto/insexpand.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
src/proto/map.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
src/proto/memfile.pro \
@ -187,30 +245,45 @@ SRC_ALL = \
src/proto/message.pro \
src/proto/misc1.pro \
src/proto/misc2.pro \
src/proto/mouse.pro \
src/proto/move.pro \
src/proto/netbeans.pro \
src/proto/normal.pro \
src/proto/ops.pro \
src/proto/option.pro \
src/proto/popupmnu.pro \
src/proto/optionstr.pro \
src/proto/popupmenu.pro \
src/proto/popupwin.pro \
src/proto/profiler.pro \
src/proto/quickfix.pro \
src/proto/regexp.pro \
src/proto/register.pro \
src/proto/scriptfile.pro \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/session.pro \
src/proto/sha256.pro \
src/proto/sign.pro \
src/proto/sound.pro \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/spellsuggest.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
src/proto/term.pro \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/testing.pro \
src/proto/textprop.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/usercmd.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/vim9compile.pro \
src/proto/vim9execute.pro \
src/proto/vim9script.pro \
src/proto/viminfo.pro \
src/proto/winclip.pro \
src/proto/window.pro \
src/libvterm/.bzrignore \
@ -220,9 +293,6 @@ SRC_ALL = \
src/libvterm/README \
src/libvterm/tbl2inc_c.pl \
src/libvterm/vterm.pc.in \
src/libvterm/bin/unterm.c \
src/libvterm/bin/vterm-ctrl.c \
src/libvterm/bin/vterm-dump.c \
src/libvterm/doc/URLs \
src/libvterm/doc/seqs.txt \
src/libvterm/include/vterm.h \
@ -237,7 +307,7 @@ SRC_ALL = \
src/libvterm/src/parser.c \
src/libvterm/src/pen.c \
src/libvterm/src/rect.h \
src/libvterm/src/termscreen.c \
src/libvterm/src/screen.c \
src/libvterm/src/state.c \
src/libvterm/src/unicode.c \
src/libvterm/src/utf8.h \
@ -337,7 +407,6 @@ SRC_UNIX = \
src/gui_xmebwp.h \
src/gui_x11.c \
src/gui_x11_pm.h \
src/hangulin.c \
src/if_xcmdsrv.c \
src/link.sh \
src/installman.sh \
@ -357,7 +426,6 @@ SRC_UNIX = \
src/proto/gui_motif.pro \
src/proto/gui_xmdlg.pro \
src/proto/gui_x11.pro \
src/proto/hangulin.pro \
src/proto/if_xcmdsrv.pro \
src/proto/os_unix.pro \
src/proto/pty.pro \
@ -415,11 +483,8 @@ SRC_DOS = \
src/GvimExt/uninst.bat \
README_srcdos.txt \
src/INSTALLpc.txt \
src/Make_bc5.mak \
src/Make_cyg.mak \
src/Make_cyg_ming.mak \
src/Make_ivc.mak \
src/Make_dvc.mak \
src/Make_ming.mak \
src/Make_mvc.mak \
tools/rename.bat \
@ -461,23 +526,21 @@ SRC_DOS = \
src/testdir/Make_dos.mak \
src/testdir/Make_ming.mak \
src/testdir/dos.vim \
src/uninstal.c \
src/uninstall.c \
src/vim.def \
src/vim.rc \
src/vimio.h \
src/gvim.exe.mnf \
src/vimrun.c \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_mvc.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
nsis/gvim_version.nsh \
nsis/README.txt \
nsis/lang/*.nsi \
uninstal.txt \
uninstall.txt \
src/VisVim/Commands.cpp \
src/VisVim/Commands.h \
src/VisVim/DSAddIn.cpp \
@ -508,13 +571,14 @@ SRC_DOS_BIN = \
src/vim.tlb \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/arm64/lib-vc14/libXpm.lib \
src/xpm/include/*.h \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
nsis/icons.zip \
# source files for Amiga, DOS, etc. (also in the extra archive)
@ -526,10 +590,7 @@ SRC_AMI = \
README_amisrc.txt.info \
src.info \
src/INSTALLami.txt \
src/Make_dice.mak \
src/Make_manx.mak \
src/Make_morph.mak \
src/Make_sas.mak \
src/os_amiga.c \
src/os_amiga.h \
src/proto/os_amiga.pro \
@ -598,6 +659,7 @@ SRC_EXTRA = \
RT_ALL = \
README.txt \
README.md \
LICENSE \
CONTRIBUTING.md \
runtime/bugreport.vim \
runtime/doc/*.awk \
@ -605,6 +667,7 @@ RT_ALL = \
runtime/doc/*.txt \
runtime/doc/Makefile \
runtime/doc/doctags.c \
runtime/doc/doctags.vim \
runtime/doc/test_urls.vim \
runtime/doc/vim.1 \
runtime/doc/evim.1 \
@ -799,7 +862,7 @@ BIN_AMI = \
# files for DOS binary (also in extra archive)
BIN_DOS = \
README_bindos.txt \
uninstal.txt \
uninstall.txt \
# files for Win32 OLE binary (also in extra archive)
BIN_OLE = \
@ -936,6 +999,8 @@ LANG_SRC = \
src/po/Make_cyg.mak \
src/po/Make_ming.mak \
src/po/Make_mvc.mak \
src/po/vim.desktop.in \
src/po/gvim.desktop.in \
src/po/sjiscorr.c \
src/po/*.po \

78
LICENSE Normal file
View File

@ -0,0 +1,78 @@
VIM LICENSE
I) There are no restrictions on distributing unmodified copies of Vim except
that they must include this license text. You can also distribute
unmodified parts of Vim, likewise unrestricted except that they must
include this license text. You are also allowed to include executables
that you made from the unmodified Vim sources, plus your own usage
examples and Vim scripts.
II) It is allowed to distribute a modified (or extended) version of Vim,
including executables and/or source code, when the following four
conditions are met:
1) This license text must be included unmodified.
2) The modified Vim must be distributed in one of the following five ways:
a) If you make changes to Vim yourself, you must clearly describe in
the distribution how to contact you. When the maintainer asks you
(in any way) for a copy of the modified Vim you distributed, you
must make your changes, including source code, available to the
maintainer without fee. The maintainer reserves the right to
include your changes in the official version of Vim. What the
maintainer will do with your changes and under what license they
will be distributed is negotiable. If there has been no negotiation
then this license, or a later version, also applies to your changes.
The current maintainer is Bram Moolenaar <Bram@vim.org>. If this
changes it will be announced in appropriate places (most likely
vim.sf.net, www.vim.org and/or comp.editors). When it is completely
impossible to contact the maintainer, the obligation to send him
your changes ceases. Once the maintainer has confirmed that he has
received your changes they will not have to be sent again.
b) If you have received a modified Vim that was distributed as
mentioned under a) you are allowed to further distribute it
unmodified, as mentioned at I). If you make additional changes the
text under a) applies to those changes.
c) Provide all the changes, including source code, with every copy of
the modified Vim you distribute. This may be done in the form of a
context diff. You can choose what license to use for new code you
add. The changes and their license must not restrict others from
making their own changes to the official version of Vim.
d) When you have a modified Vim which includes changes as mentioned
under c), you can distribute it without the source code for the
changes if the following three conditions are met:
- The license that applies to the changes permits you to distribute
the changes to the Vim maintainer without fee or restriction, and
permits the Vim maintainer to include the changes in the official
version of Vim without fee or restriction.
- You keep the changes for at least three years after last
distributing the corresponding modified Vim. When the maintainer
or someone who you distributed the modified Vim to asks you (in
any way) for the changes within this period, you must make them
available to him.
- You clearly describe in the distribution how to contact you. This
contact information must remain valid for at least three years
after last distributing the corresponding modified Vim, or as long
as possible.
e) When the GNU General Public License (GPL) applies to the changes,
you can distribute the modified Vim under the GNU GPL version 2 or
any later version.
3) A message must be added, at least in the output of the ":version"
command and in the intro screen, such that the user of the modified Vim
is able to see that it was modified. When distributing as mentioned
under 2)e) adding the message is only required for as far as this does
not conflict with the license used for the changes.
4) The contact information as required under 2)a) and 2)d) must not be
removed or changed, except that the person himself can make
corrections.
III) If you distribute a modified version of Vim, you are encouraged to use
the Vim license for your changes and make them available to the
maintainer, including the source code. The preferred way to do this is
by e-mail or by uploading the files to a server and e-mailing the URL.
If the number of changes is small (e.g., a modified Makefile) e-mailing a
context diff will do. The e-mail address to be used is
<maintainer@vim.org>
IV) It is not allowed to remove this license from the distribution of the Vim
sources, parts of it or from a modified version. You may use this
license for previous Vim releases instead of the license that they came
with, at your option.

View File

@ -43,13 +43,18 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
@if test "$@" = "test"; then \
$(MAKE) indenttest; \
fi
@# When the target is "clean" also clean for the indent tests.
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
cd runtime/indent && \
$(MAKE) clean; \
fi
# Executable used for running the indent tests.
VIM_FOR_INDENTTEST = ../../src/vim
indenttest:
cd runtime/indent && \
$(MAKE) clean VIM="$(VIM_FOR_INDENTTEST)" && \
$(MAKE) clean && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
@ -80,19 +85,19 @@ indenttest:
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 8
MINOR = 1
MINOR = 2
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h,
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
# src/Makefile, README.txt, README.md, READMEdir/README*.txt,
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.def,
# src/gvim.exe.mnf.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, MZscheme, Lua (if
# you can make it all work), Cscope and "huge" features. Exclude workshop
# and SNiFF.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
# "huge" features. Add MZscheme if you can make it work.
# Use "make reconfig" after selecting the configure arguments.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
@ -101,9 +106,6 @@ MINOR = 1
# - If you have valgrind, enable it in src/testdir/Makefile and run "make
# test". Enable EXITFREE, disable GUI, scheme and tcl to avoid false alarms.
# Check the valgrind output.
# - If you have the efence library, enable it in "src/Makefile" and run "make
# test". Disable Python and Ruby to avoid trouble with threads (efence is
# not threadsafe).
# - Adjust the date and other info in src/version.h.
# - Correct included_patches[] in src/version.c.
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
@ -143,7 +145,7 @@ MINOR = 1
# - > make dossrc
# > make dosrt
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
# This creates the directory vim/vim81 and puts all files in there.
# This creates the directory vim/vim82 and puts all files in there.
# Win32 console version build:
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:
@ -151,7 +153,7 @@ MINOR = 1
# > msvc2015.bat
# - Build the console binary:
# > nmake -f Make_mvc.mak
# - Run the tests and check the ouput:
# - Run the tests and check the output:
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak test
# - Rename (using ../tools/rename.bat):
@ -160,7 +162,7 @@ MINOR = 1
# xxd/xxd.exe to xxdw32.exe
# vim.pdb to vimw32.pdb
# install.exe to installw32.exe
# uninstal.exe to uninstalw32.exe
# uninstall.exe to uninstallw32.exe
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
@ -170,7 +172,7 @@ MINOR = 1
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move gvim.pdb to here.
# - Copy "GvimExt/gvimext.dll" to here.
# - Delete vimrun.exe, install.exe and uninstal.exe.
# - Delete vimrun.exe, install.exe and uninstall.exe.
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
# - Install the interfaces you want, see src/INSTALLpc.txt
# Adjust bigvim.bat to match the version of each interface you want.
@ -183,7 +185,7 @@ MINOR = 1
# - check the output.
# - Rename "gvim.exe" to "gvim_ole.exe".
# - Rename gvim.pdb to "gvim_ole.pdb".
# - Delete install.exe and uninstal.exe.
# - Delete install.exe and uninstall.exe.
# Create the archives:
# - Copy all the "*.exe" files to where this Makefile is.
# - Copy all the "*.pdb" files to where this Makefile is.
@ -192,7 +194,7 @@ MINOR = 1
# NSIS self installing exe:
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# uninstallw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# above.
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
@ -201,7 +203,7 @@ MINOR = 1
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
# gvimext64.dll can be obtained from:
# https://github.com/vim/vim-win32-installer/releases
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
# It is part of gvim_8.2.*_x64.zip as vim/vim82/GvimExt/gvimext64.dll.
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
# version). Also put winpty32.dll and winpty-agent.exe there.
# - go to ../nsis and do:
@ -513,7 +515,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
@ -534,7 +536,7 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
@ -552,7 +554,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
cp README_ole.txt dist/vim/$(VIMRTDIR)
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll

View File

@ -1,12 +1,14 @@
![Vim Logo](https://github.com/vim/vim/blob/master/runtime/vimlogo.gif)
[![Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Travis Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim)
[![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
[![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/vim/vim.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vim/vim/context:cpp)
[![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim)
[![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim)
For translations of this README see the end.
## What is Vim? ##
@ -24,11 +26,12 @@ 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
mapped to commands by the user, and the mouse can be used.
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.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, 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/NT/2000, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
For Vim9 script see [README_VIM9](README_VIM9.md).
## Distribution ##
@ -140,4 +143,9 @@ Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar <Bram@vim.org>
This is `README.md` for version 8.1 of Vim: Vi IMproved.
This is `README.md` for version 8.2 of Vim: Vi IMproved.
## Translations of this README ##
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/README_ko.md)

View File

@ -1,4 +1,4 @@
README.txt for version 8.1 of Vim: Vi IMproved.
README.txt for version 8.2 of Vim: Vi IMproved.
WHAT IS VIM?
@ -16,10 +16,10 @@ 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
mapped to commands by the user, and the mouse can be used.
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.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, 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/NT/2000, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
DISTRIBUTION

344
README_VIM9.md Normal file
View File

@ -0,0 +1,344 @@
![Vim Logo](https://github.com/vim/vim/blob/master/runtime/vimlogo.gif)
# What is Vim9?
This is an experimental side of [Vim](https://github.com/vim/vim).
It explores ways of making Vim script faster and better.
WARNING: The Vim9 script features are in the early stages of development,
anything can break!
# Why Vim9?
## 1. FASTER VIM SCRIPT
The third item on the poll results of 2018, after popup windows and text
properties, is faster Vim script. So how do we do that?
I have been throwing some ideas around, and soon came to the conclusion
that the current way functions are called and executed, with
dictionaries for the arguments and local variables, is never going to be
very fast. We're lucky if we can make it twice as fast. The overhead
of a function call and executing every line is just too high.
So what then? We can only make something fast by having a new way of
defining a function, with similar but different properties of the old
way:
* Arguments are only available by name, not through the a: dictionary or
the a:000 list.
* Local variables are not available in an l: dictionary.
* A few more things that slow us down, such as exception handling details.
I Implemented a "proof of concept" and measured the time to run a simple
for loop with an addition (Justin used this example in his presentation,
full code is below):
``` vim
let sum = 0
for i in range(1, 2999999)
let sum += i
endfor
```
| how | time in sec |
| --------| -------- |
| Vim old | 5.018541 |
| Python | 0.369598 |
| Lua | 0.078817 |
| Vim new | 0.073595 |
That looks very promising! It's just one example, but it shows how much
we can gain, and also that Vim script can be faster than builtin
interfaces.
In practice the script would not do something useless as counting but change
the text. For example, re-indent all the lines:
``` vim
let totallen = 0
for i in range(1, 100000)
call setline(i, ' ' .. getline(i))
let totallen += len(getline(i))
endfor
```
| how | time in sec |
| --------| -------- |
| Vim old | 0.853752 |
| Python | 0.304584 |
| Lua | 0.286573 |
| Vim new | 0.190276 |
The differences are smaller, but Vim 9 script is clearly the fastest.
How does Vim9 script work? The function is first compiled into a sequence of
instructions. Each instruction has one or two parameters and a stack is
used to store intermediate results. Local variables are also on the
stack, space is reserved during compilation. This is a fairly normal
way of compilation into an intermediate format, specialized for Vim,
e.g. each stack item is a typeval_T. And one of the instructions is
"execute Ex command", for commands that are not compiled.
## 2. PHASING OUT INTERFACES
Attempts have been made to implement functionality with built-in script
languages such as Python, Perl, Lua, Tcl and Ruby. This never gained much
foothold, for various reasons.
Instead of using script language support in Vim:
* Encourage implementing external tools in any language and communicate
with them. The job and channel support already makes this possible.
Really any language can be used, also Java and Go, which are not
available built-in.
* Phase out the built-in language interfaces, make maintenance a bit easier
and executables easier to build. They will be kept for backwards
compatibility, no new features.
* Improve the Vim script language, it is used to communicate with the external
tool and implements the Vim side of the interface. Also, it can be used when
an external tool is undesired.
All together this creates a clear situation: Vim with the +eval feature
will be sufficient for most plugins, while some plugins require
installing a tool that can be written in any language. No confusion
about having Vim but the plugin not working because some specific
language is missing. This is a good long term goal.
Rationale: Why is it better to run a tool separately from Vim than using a
built-in interface and interpreter? Take for example something that is
written in Python:
* The built-in interface uses the embedded python interpreter. This is less
well maintained than the python command. Building Vim with it requires
installing developer packages. If loaded dynamically there can be a version
mismatch.
* When running the tool externally the standard python command can be used,
which is quite often available by default or can be easily installed.
* The built-in interface has an API that is unique for Vim with Python. This is
an extra API to learn.
* A .py file can be compiled into a .pyc file and execute much faster.
* Inside Vim multi-threading can cause problems, since the Vim core is single
threaded. In an external tool there are no such problems.
* The Vim part is written in .vim files, the Python part is in .py files, this
is nicely separated.
* Disadvantage: An interface needs to be made between Vim and Python.
JSON is available for this, and it's fairly easy to use. But it still
requires implementing asynchronous communication.
## 3. BETTER VIM SCRIPT
To make Vim faster a new way of defining a function needs to be added.
While we are doing that, since the lines in this function won't be fully
backwards compatible anyway, we can also make Vim script easier to use.
In other words: "less weird". Making it work more like modern
programming languages will help. No surprises.
A good example is how in a function the arguments are prefixed with
"a:". No other language I know does that, so let's drop it.
Taking this one step further is also dropping "s:" for script-local variables;
everything at the script level is script-local by default. Since this is not
backwards compatible it requires a new script style: Vim9 script!
It should be possible to convert code from other languages to Vim
script. We can add functionality to make this easier. This still needs
to be discussed, but we can consider adding type checking and a simple
form of classes. If you look at JavaScript for example, it has gone
through these stages over time, adding real class support and now
TypeScript adds type checking. But we'll have to see how much of that
we actually want to include in Vim script. Ideally a conversion tool
can take Python, JavaScript or TypeScript code and convert it to Vim
script, with only some things that cannot be converted.
Vim script won't work the same as any specific language, but we can use
mechanisms that are commonly known, ideally with the same syntax. One
thing I have been thinking of is assignments without ":let". I often
make that mistake (after writing JavaScript especially). I think it is
possible, if we make local variables shadow commands. That should be OK,
if you shadow a command you want to use, just rename the variable.
Using "let" and "const" to declare a variable, like in JavaScript and
TypeScript, can work:
``` vim
def MyFunction(arg: number): number
let local = 1
let todo = arg
const ADD = 88
while todo > 0
local += ADD
--todo
endwhile
return local
enddef
```
The similarity with JavaScript/TypeScript can also be used for dependencies
between files. Vim currently uses the `:source` command, which has several
disadvantages:
* In the sourced script, is not clear what it provides. By default all
functions are global and can be used elsewhere.
* In a script that sources other scripts, it is not clear what function comes
from what sourced script. Finding the implementation is a hassle.
* Prevention of loading the whole script twice must be manually implemented.
We can use the `:import` and `:export` commands from the JavaScript standard to
make this much better. For example, in script "myfunction.vim" define a
function and export it:
``` vim
vim9script " Vim9 script syntax used here
let local = 'local variable is not exported, script-local'
export def MyFunction() " exported function
...
def LocalFunction() " not exported, script-local
...
```
And in another script import the function:
``` vim
vim9script " Vim9 script syntax used here
import MyFunction from 'myfunction.vim'
```
This looks like JavaScript/TypeScript, thus many users will understand the
syntax.
These are ideas, this will take time to design, discuss and implement.
Eventually this will lead to Vim 9!
## Code for sum time measurements
Vim was build with -O2.
``` vim
func VimOld()
let sum = 0
for i in range(1, 2999999)
let sum += i
endfor
return sum
endfunc
func Python()
py3 << END
sum = 0
for i in range(1, 3000000):
sum += i
END
return py3eval('sum')
endfunc
func Lua()
lua << END
sum = 0
for i = 1, 2999999 do
sum = sum + i
end
END
return luaeval('sum')
endfunc
def VimNew()
let sum = 0
for i in range(1, 2999999)
let sum += i
endfor
return sum
enddef
let start = reltime()
echo VimOld()
echo 'Vim old: ' .. reltimestr(reltime(start))
let start = reltime()
echo Python()
echo 'Python: ' .. reltimestr(reltime(start))
let start = reltime()
echo Lua()
echo 'Lua: ' .. reltimestr(reltime(start))
let start = reltime()
echo VimNew()
echo 'Vim new: ' .. reltimestr(reltime(start))
```
## Code for indent time measurements
``` vim
def VimNew(): number
let totallen = 0
for i in range(1, 100000)
setline(i, ' ' .. getline(i))
totallen += len(getline(i))
endfor
return totallen
enddef
func VimOld()
let totallen = 0
for i in range(1, 100000)
call setline(i, ' ' .. getline(i))
let totallen += len(getline(i))
endfor
return totallen
endfunc
func Lua()
lua << END
b = vim.buffer()
totallen = 0
for i = 1, 100000 do
b[i] = " " .. b[i]
totallen = totallen + string.len(b[i])
end
END
return luaeval('totallen')
endfunc
func Python()
py3 << END
cb = vim.current.buffer
totallen = 0
for i in range(0, 100000):
cb[i] = ' ' + cb[i]
totallen += len(cb[i])
END
return py3eval('totallen')
endfunc
new
call setline(1, range(100000))
let start = reltime()
echo VimOld()
echo 'Vim old: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()
echo Python()
echo 'Python: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()
echo Lua()
echo 'Lua: ' .. reltimestr(reltime(start))
bwipe!
new
call setline(1, range(100000))
let start = reltime()
echo VimNew()
echo 'Vim new: ' .. reltimestr(reltime(start))
bwipe!
```

View File

@ -9,10 +9,10 @@ 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 8.1. Also runs under UNIX, MS-Windows, Mac, etc.
vim81rt.tgz contains the documentation and syntax files.
vim81bin.tgz contains the binaries.
vim81src.tgz contains the sources.
Version 8.2. Also runs under UNIX, MS-Windows, Mac, etc.
vim82rt.tgz contains the documentation and syntax files.
vim82bin.tgz contains the binaries.
vim82src.tgz contains the sources.
Author: Bram Moolenaar et al.

View File

@ -1,4 +1,4 @@
README_ami.txt for version 8.1 of Vim: Vi IMproved.
README_ami.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
You would then unpack the archives like this:
cd dh0:editors
tar xf t:vim81bin.tar
tar xf t:vim81rt.tar
tar xf t:vim82bin.tar
tar xf t:vim82rt.tar
Set the $VIM environment variable to point to the top directory of your Vim
files. For the above example:

View File

@ -1,8 +1,8 @@
README_amibin.txt for version 8.1 of Vim: Vi IMproved.
README_amibin.txt for version 8.2 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim81rt.tgz).
These files are in the runtime archive (vim82rt.tgz).
The Amiga "bin" archive contains the Vim executable for the Amiga. It was

View File

@ -1,8 +1,8 @@
README_amisrc.txt for version 8.1 of Vim: Vi IMproved.
README_amisrc.txt for version 8.2 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim81rt.tgz).
These files are in the runtime archive (vim82rt.tgz).
The Amiga source archive contains the files needed to compile Vim on the

View File

@ -1,16 +1,16 @@
README_bindos.txt for version 8.1 of Vim: Vi IMproved.
README_bindos.txt for version 8.2 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim81rt.zip).
These files are in the runtime archive (vim82rt.zip).
There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
vim81w32.zip Windows 95/98/NT/etc. console version
gvim81.zip Windows 95/98/NT/etc. GUI version
gvim81ole.zip Windows 95/98/NT/etc. GUI version with OLE
vim82w32.zip Windows 95/98/NT/etc. console version
gvim82.zip Windows 95/98/NT/etc. GUI version
gvim82ole.zip Windows 95/98/NT/etc. GUI version with OLE
You MUST also get the runtime archive (vim81rt.zip).
The sources are also available (vim81src.zip).
You MUST also get the runtime archive (vim82rt.zip).
The sources are also available (vim82src.zip).

View File

@ -1,6 +1,6 @@
README_dos.txt for version 8.1 of Vim: Vi IMproved.
README_dos.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
This file explains the installation of Vim on MS-Windows systems.
See "README.txt" for general information about Vim.
There are two ways to install Vim:
@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
located. Check the $VIM setting to see where it points to:
set VIM
For example, if you have
C:\vim\vim81
C:\vim\vim82
do
cd C:\
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim81",
2. Unpack the zip archives. This will create a new directory "vim\vim82",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d gvim81.zip
unzip vim81w32.zip
pkunzip -d gvim82.zip
unzip vim82w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
@ -64,12 +64,8 @@ These are the normal steps to install Vim from the .zip archives:
to another location. That is where they will stay, the install program
won't move or copy the runtime files.
Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to
run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP
archive and follow the instructions in the documentation.
3. Change to the new directory:
cd vim\vim81
cd vim\vim82
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
@ -80,8 +76,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim81
set path=%path%;D:\editors\vim\vim81
set path=%path%;C:\vim\vim82
set path=%path%;D:\editors\vim\vim82
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@ -93,8 +89,8 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 8.1 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim81. See ":help $VIM" for more information.
Vim version 8.2 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim82. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
@ -105,14 +101,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim81\vim.exe The Vim version 8.1 executable.
C:\vim\vim81\doc\*.txt The version 8.1 documentation files.
C:\vim\vim81\bugreport.vim A Vim version 8.1 script.
C:\vim\vim81\... Other version 8.1 distributed files.
C:\vim\vim82\vim.exe The Vim version 8.2 executable.
C:\vim\vim82\doc\*.txt The version 8.2 documentation files.
C:\vim\vim82\bugreport.vim A Vim version 8.2 script.
C:\vim\vim82\... Other version 8.2 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim81". Don't add
"vim81" to $VIM, that won't work.
Then $VIMRUNTIME will automatically be set to "$VIM\vim82". Don't add
"vim82" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
@ -121,7 +117,7 @@ Remarks:
set VIM=d:\editors\vim
- If you have told the "install.exe" program to add the "Edit with Vim" menu
entry, you can remove it by running the "uninstal.exe". See
entry, you can remove it by running the "uninstall.exe". See
":help win32-popup-menu".
- In Windows 95/98/NT you can create a shortcut to Vim. This works for all
@ -136,8 +132,8 @@ Remarks:
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim81\vim.exe
C:\command.com /c D:\editors\vim\vim81\vim.exe
C:\command.com /c C:\vim\vim82\vim.exe
C:\command.com /c D:\editors\vim\vim82\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".
@ -150,5 +146,4 @@ Remarks:
For further information, type one of these inside Vim:
:help dos
:help msdos
:help win32

View File

@ -1,4 +1,4 @@
README_extra.txt for version 8.1 of Vim: Vi IMproved.
README_extra.txt for version 8.2 of Vim: Vi IMproved.
These extra files of Vim are for special purposes. This README explains what
the files are for. For general information about Vim, see the "README.txt"
@ -24,9 +24,6 @@ src/os_mac.* Files for the Mac port.
src/os_mint.8 Files for the Atari Mint port.
src/os_os2* Files for the OS/2 port.
src/tee/* Extra program for OS/2.
src/os_vms* Files for the VMS port.
src/os_w32*

View File

@ -1,4 +1,4 @@
README_mac.txt for version 8.1 of Vim: Vi IMproved.
README_mac.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
See "README.txt" for general information about Vim.

View File

@ -1,4 +1,4 @@
README_ole.txt for version 8.1 of Vim: Vi IMproved.
README_ole.txt for version 8.2 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you

View File

@ -1,4 +1,4 @@
README_os2.txt for version 8.1 of Vim: Vi IMproved.
README_os2.txt for version 8.2 of Vim: Vi IMproved.
This file used to explain the installation of Vim on OS/2 systems.
However, support for OS/2 has been removed in patch 7.4.1008.

View File

@ -1,4 +1,4 @@
README_os390.txt for version 8.1 of Vim: Vi IMproved.
README_os390.txt for version 8.2 of Vim: Vi IMproved.
This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim.
@ -11,8 +11,8 @@ Getting the source to z/OS:
First get the source code in one big tar file and ftp it a binary to z/OS. If
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
uncompress it on your PC, as this tools are (most likely) not available on the
mainframe.
uncompress it on your PC, as these tools are (most likely) not available on
the mainframe.
To reduce the size of the tar file you might compress it into a zip file. On
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
@ -82,8 +82,8 @@ WARNING: This instruction was not tested with Vim 7.4 or later.
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
steps and results in a much smaller executable (~4.5 Mb). This examples assume
you want Motif.
steps and results in a much smaller executable (~4.5 Mb). These examples
assume you want Motif.
The easy way:
$ export CC=cc

View File

@ -1,8 +1,8 @@
README_src.txt for version 8.1 of Vim: Vi IMproved.
README_src.txt for version 8.2 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator).
For more information, see the README.txt file that comes with the runtime
archive (vim-8.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-8.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!

View File

@ -1,12 +1,12 @@
README_srcdos.txt for version 8.1 of Vim: Vi IMproved.
README_srcdos.txt for version 8.2 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim81rt.zip).
See "README_dos.txt" for installation instructions for MS-Windows.
These files are in the runtime archive (vim82rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or
MS-Windows. It is packed for DOS systems, with CR-LF. It also includes the
VisVim sources.
The DOS source archive contains the files needed to compile Vim on MS-Windows.
It is packed for MS-Windows systems, with CR-LF. It also includes the VisVim
sources.
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.

View File

@ -1,4 +1,4 @@
README_unix.txt for version 8.1 of Vim: Vi IMproved.
README_unix.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.

View File

@ -1,4 +1,4 @@
README_vms.txt for version 8.1 of Vim: Vi IMproved.
README_vms.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.

View File

@ -1,15 +1,6 @@
README_w32s.txt for version 8.1 of Vim: Vi IMproved.
README_w32s.txt for version 8.2 of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.
Also see the README_bindos.txt, README_dos.txt and README.txt files.
Be careful not to overwrite the Win32s gvim.exe with the another gvim.exe when
unpacking another binary archive! Check the output of ":version":
Win32s - "MS-Windows 16/32 bit GUI version"
Win32 - "MS-Windows 32 bit GUI version"
Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
For further information, type this inside Vim:
:help win32s
This file used to explain the installation of Vim on MS-Windows 3.1 and 3.11
systems. However, support for MS-Windows 3.1 and 3.11 has been removed in
patch 7.4.1364.
See "README.txt" for general information about Vim.

View File

@ -22,8 +22,10 @@ if "%FEATURE%" == "HUGE" (
)
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
:: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
echo "Building MSVC 64bit console Version"
sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
nmake -f Make_mvc2.mak clean

25
ci/if_ver-1.vim Normal file
View File

@ -0,0 +1,25 @@
" Print all interface versions for Ubuntu. Part 1.
if 1
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
echo "*** Interface versions ***\n"
echo 'Lua:'
PrintVer lua print(_VERSION)
echo 'MzScheme:'
PrintVer mzscheme (display (version))
echo 'Perl:'
PrintVer perl print $^V
echo 'Ruby:'
PrintVer ruby print RUBY_VERSION
echo 'Tcl:'
PrintVer tcl puts [info patchlevel]
echo 'Python 2:'
PrintVer python print sys.version
endif

8
ci/if_ver-2.vim Normal file
View File

@ -0,0 +1,8 @@
" Print py3 interface versions for Ubuntu. Part 2.
if 1
execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
echo 'Python 3:'
PrintVer python3 print(sys.version)
endif

12
ci/if_ver-cmd.vim Normal file
View File

@ -0,0 +1,12 @@
" Provide 'PrintVer' command to print the interface versions.
func s:print_ver(lang, ...)
if has(a:lang)
exec a:lang join(a:000)
else
echo 'N/A'
endif
echo ''
endfunc
command -nargs=+ PrintVer call <SID>print_ver(<f-args>)

2
configure vendored
View File

@ -3,4 +3,4 @@
# This is just a stub for the Unix configure script, to provide support for
# doing "./configure" in the top Vim directory.
cd src && exec ./configure "$@"
cd "${SRCDIR:-src}" && exec ./configure "$@"

View File

@ -14,7 +14,7 @@ To build the installable .exe:
gvim.exe (the OLE version),
vimrun.exe,
install.exe,
uninstal.exe,
uninstall.exe,
tee/tee.exe,
xxd/xxd.exe,
@ -32,12 +32,12 @@ To build the installable .exe:
5. Get a "diff.exe" program. If you skip this the built-in diff will always
be used (which is fine for most users). If you do have your own
"diff.exe" put it in the "../.." directory (above the "vim81" directory,
"diff.exe" put it in the "../.." directory (above the "vim82" directory,
it's the same for all Vim versions).
You can find one in previous Vim versions or in this archive:
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim81"
6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
directory). This is required for the terminal window.
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have

View File

@ -39,7 +39,7 @@ Unicode true
# Uncomment the next line if you want to include VisVim extension:
#!define HAVE_VIS_VIM
# Comment the following line to create a multilanguage installer:
# Comment the following line to create an English-only installer:
!define HAVE_MULTI_LANG
# Uncomment the next line if you want to create a 64-bit installer.
@ -47,6 +47,11 @@ Unicode true
!include gvim_version.nsh # for version number
# Definition of Patch for Vim
!ifndef PATCHLEVEL
!define PATCHLEVEL 0
!endif
# ----------- No configurable settings below this line -----------
!include "Library.nsh" # For DLL install
@ -171,8 +176,19 @@ Page custom SetCustom ValidateCustom
!include "lang\japanese.nsi"
!include "lang\simpchinese.nsi"
!include "lang\tradchinese.nsi"
!include "lang\turkish.nsi"
!endif
##########################################################
# Version resources
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
VIProductVersion "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
# Global variables
Var vim_dialog
@ -322,14 +338,17 @@ Section "$(str_section_exe)" id_section_exe
SetOutPath $0
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
File ${VIMSRC}\vim${BIT}.dll
!endif
File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
File ${VIMSRC}\vimrun.exe
File /oname=tee.exe ${VIMSRC}\teew32.exe
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
File ..\vimtutor.bat
File ..\README.txt
File ..\uninstal.txt
File ..\uninstall.txt
File ${VIMRT}\*.vim
File ${VIMRT}\rgb.txt
@ -354,42 +373,10 @@ Section "$(str_section_exe)" id_section_exe
File ${VIMRT}\indent\*.*
SetOutPath $0\macros
File ${VIMRT}\macros\*.*
SetOutPath $0\macros\hanoi
File ${VIMRT}\macros\hanoi\*.*
SetOutPath $0\macros\life
File ${VIMRT}\macros\life\*.*
SetOutPath $0\macros\maze
File ${VIMRT}\macros\maze\*.*
SetOutPath $0\macros\urm
File ${VIMRT}\macros\urm\*.*
File /r ${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\matchit\autoload
File ${VIMRT}\pack\dist\opt\matchit\autoload\*.*
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\pack\dist\opt\termdebug\plugin
File ${VIMRT}\pack\dist\opt\termdebug\plugin\*.*
SetOutPath $0\pack
File /r ${VIMRT}\pack\*.*
SetOutPath $0\plugin
File ${VIMRT}\plugin\*.*
@ -969,7 +956,7 @@ Section "un.$(str_unsection_register)" id_unsection_register
# delete the context menu entry and batch files
DetailPrint "$(str_msg_unregistering)"
nsExec::Exec "$0\uninstal.exe -nsis"
nsExec::Exec "$0\uninstall.exe -nsis"
Pop $3
# We may have been put to the background when uninstall did something.
@ -1128,7 +1115,9 @@ Section "un.$(str_unsection_rootdir)" id_unsection_rootdir
Call un.GetParent
Pop $0
Delete $0\_vimrc
${IfNot} ${Silent}
Delete $0\_vimrc
${Endif}
RMDir $0
SectionEnd

View File

@ -2,5 +2,5 @@
!ifndef __GVIM_VER__NSH__
!define __GVIM_VER__NSH__
!define VER_MAJOR 8
!define VER_MINOR 1
!define VER_MINOR 2
!endif

280
nsis/lang/serbian.nsi Normal file
View File

@ -0,0 +1,280 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# serbian.nsi: Serbian language strings for gvim NSIS installer.
#
# Locale ID : 3098
# fileencoding : UTF-8
# Author : Ivan Pešić
!insertmacro MUI_LANGUAGE "Српски"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SERBIAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_SERBIAN} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_SERBIAN} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_SERBIAN} \
"Прикажи ПРОЧИТАЈМЕ када се заврши инсталација"
# Install types:
LangString str_type_typical ${LANG_SERBIAN} \
"Типична"
LangString str_type_minimal ${LANG_SERBIAN} \
"Минимална"
LangString str_type_full ${LANG_SERBIAN} \
"Пуна"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_SERBIAN} \
"Уклањање постојећ(е/их) верзиј(е/а)"
LangString str_desc_old_ver ${LANG_SERBIAN} \
"Уклања постојећ(у/е) Vim верзииј(у/е) из вашег система."
LangString str_section_exe ${LANG_SERBIAN} \
"Vim ГКИ и фајлови потребни за извршавање"
LangString str_desc_exe ${LANG_SERBIAN} \
"Vim ГКИ извршни фајлови и фајлови потребни током извршавања. Ова компонента је неопходна."
LangString str_section_console ${LANG_SERBIAN} \
"Vim конзолни програм"
LangString str_desc_console ${LANG_SERBIAN} \
"Конзолна верзија програма Vim (vim.exe)."
LangString str_section_batch ${LANG_SERBIAN} \
"Креирај .bat фајлове"
LangString str_desc_batch ${LANG_SERBIAN} \
"Креира у Windows директоријуму .bat фајлове за Vim варијанте \
у циљу коришћења из командне линије."
LangString str_group_icons ${LANG_SERBIAN} \
"Креирај иконе за Vim"
LangString str_desc_icons ${LANG_SERBIAN} \
"Креира иконе за Vim на различитим местима, како би се олакшао приступ."
LangString str_section_desktop ${LANG_SERBIAN} \
"На радној површини"
LangString str_desc_desktop ${LANG_SERBIAN} \
"Креира иконе за gVim извршне фајлове на радној површини."
LangString str_section_start_menu ${LANG_SERBIAN} \
"У фасцикли Програми унутар Старт менија"
LangString str_desc_start_menu ${LANG_SERBIAN} \
"Додаје Vim у фолдер Програми Старт менија."
#LangString str_section_quick_launch ${LANG_SERBIAN} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_SERBIAN} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_SERBIAN} \
"Додај Vim контекстни мени"
LangString str_desc_edit_with ${LANG_SERBIAN} \
"Додаје Vim у $\"Отвори помоћу...$\" листу контекстног менија."
#LangString str_section_edit_with32 ${LANG_SERBIAN} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_SERBIAN} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_SERBIAN} \
"Креирај Подразумевану конфигурацију"
LangString str_desc_vim_rc ${LANG_SERBIAN} \
"Креира подразумевани конфиг фајл (_vimrc) ако неки већ не постоји."
LangString str_group_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака"
LangString str_desc_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака. Ови директоријуми омогућавају проширење програма Vim \
убацивањем фајла у директоријум."
LangString str_section_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_plugin_home ${LANG_SERBIAN} \
"Креира директоријуме додатака у HOME директоријуму."
LangString str_section_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_plugin_vim ${LANG_SERBIAN} \
"Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
на систему."
LangString str_section_vis_vim ${LANG_SERBIAN} \
"VisVim проширење"
LangString str_desc_vis_vim ${LANG_SERBIAN} \
"VisVim проширење за Microsoft Visual Studio интеграцију."
LangString str_section_nls ${LANG_SERBIAN} \
"Подршка за домаћи језик"
LangString str_desc_nls ${LANG_SERBIAN} \
"Инсталира фајлове за домаћу језичку подршку."
LangString str_unsection_register ${LANG_SERBIAN} \
"Поништи регистрацију Vim"
LangString str_desc_unregister ${LANG_SERBIAN} \
"Поништава регистрацију програма Vim на систему."
LangString str_unsection_exe ${LANG_SERBIAN} \
"Уклони Vim извршне фајлове/фајлове потребне у време извршавања"
LangString str_desc_rm_exe ${LANG_SERBIAN} \
"Уклања све Vim извршне фајлове и оне потребне у време извршавања."
LangString str_ungroup_plugin ${LANG_SERBIAN} \
"Укони директоријуме додатака"
LangString str_desc_rm_plugin ${LANG_SERBIAN} \
"Уклања директоријуме додатака ако су празни."
LangString str_unsection_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_rm_plugin_home ${LANG_SERBIAN} \
"Уклања директоријуме додатака из HOME директоријума."
LangString str_unsection_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_rm_plugin_vim ${LANG_SERBIAN} \
"Уклања директоријуме додатака из Vim инсталациониг директоријума."
LangString str_unsection_rootdir ${LANG_SERBIAN} \
"Уклони Vim корени директоријум"
LangString str_desc_rm_rootdir ${LANG_SERBIAN} \
"Уклања Vim корени директоријум. Он садржи ваше Vim конфигурационе фајлове!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_SERBIAN} \
# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
# This installer can only handle ${VIM_MAX_OLD_VER} versions \
# at most.$\r$\n\
# Please remove some versions and start again."
#LangString str_msg_invalid_root ${LANG_SERBIAN} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_SERBIAN} \
# "Binary path mismatch!$\r$\n$\r$\n\
# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
# but system indicates the binary path is $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_SERBIAN} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_SERBIAN} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_SERBIAN} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_SERBIAN} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_SERBIAN} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_SERBIAN} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_SERBIAN} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_SERBIAN} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_SERBIAN} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_SERBIAN} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_SERBIAN} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_SERBIAN} \
"Инсталација није успела. Више среће идући пут."
LangString str_msg_rm_exe_fail ${LANG_SERBIAN} \
"Неки фајлови у $0 нису обрисани!$\r$\n\
Морате то ручно да обавите."
#LangString str_msg_rm_root_fail ${LANG_SERBIAN} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_SERBIAN} \
"Уклањање старе верзије..."
LangString str_msg_registering ${LANG_SERBIAN} \
"Регистровање..."
LangString str_msg_unregistering ${LANG_SERBIAN} \
"Поништавање регистрације..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_SERBIAN} \
"Изаберите _vimrc подешавања"
LangString str_vimrc_page_subtitle ${LANG_SERBIAN} \
"Изаберите подешавања за побољшања, тастатуру и миша."
LangString str_msg_compat_title ${LANG_SERBIAN} \
" Vi / Vim понашање "
LangString str_msg_compat_desc ${LANG_SERBIAN} \
"&Компатибилност и побољшања"
LangString str_msg_compat_vi ${LANG_SERBIAN} \
"Vi компатибилно"
LangString str_msg_compat_vim ${LANG_SERBIAN} \
"Vim оригинално"
LangString str_msg_compat_defaults ${LANG_SERBIAN} \
"Vim са неким побољшањима (учитава defaults.vim)"
LangString str_msg_compat_all ${LANG_SERBIAN} \
"Vim са свим побољшањима (учитава vimrc_example.vim) (Подразумевано)"
LangString str_msg_keymap_title ${LANG_SERBIAN} \
" Мапирања "
LangString str_msg_keymap_desc ${LANG_SERBIAN} \
"&Ремапира неколико тастера за Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, итд.)"
LangString str_msg_keymap_default ${LANG_SERBIAN} \
"Немој да ремапираш тастере (Подразумевано)"
LangString str_msg_keymap_windows ${LANG_SERBIAN} \
"Ремапира неколико тастера"
LangString str_msg_mouse_title ${LANG_SERBIAN} \
" Миш "
LangString str_msg_mouse_desc ${LANG_SERBIAN} \
"&Понашање левог и десног тастера"
LangString str_msg_mouse_default ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: визуелни режим (Подразумевано)"
LangString str_msg_mouse_windows ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: режим избора (Windows)"
LangString str_msg_mouse_unix ${LANG_SERBIAN} \
"Десни: проширује избор, Леви: визуелни режим (Unix)"

View File

@ -5,7 +5,7 @@
#
# Locale ID : 2052
# fileencoding : UTF-8
# Author : Guopeng Wen
# Author : Guopeng Wen, David Liu
!insertmacro MUI_LANGUAGE "SimpChinese"
@ -45,37 +45,37 @@ LangString str_type_full ${LANG_SIMPCHINESE} \
LangString str_section_old_ver ${LANG_SIMPCHINESE} \
"卸载旧版本"
LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
"卸载系统上旧版本的 Vim"
"卸载系统上已存在的 Vim 版本"
LangString str_section_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面"
LangString str_desc_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面及脚本。此为必选安装"
"安装 Vim 图形界面及运行时文件。此为必选。"
LangString str_section_console ${LANG_SIMPCHINESE} \
"安装 Vim 命令行程序"
"安装 Vim 控制台版本"
LangString str_desc_console ${LANG_SIMPCHINESE} \
"安装 Vim 命令行程序 (vim.exe)。该程序在命令行窗口中运行"
"安装 Vim 的控制台版本vim.exe"
LangString str_section_batch ${LANG_SIMPCHINESE} \
"安装批处理文件"
LangString str_desc_batch ${LANG_SIMPCHINESE} \
"为 Vim 的各种变体创建批处理程序,以便在命令行下运行 Vim。"
"为 Vim 的各种变体创建批处理文件,以便在命令行下运行 Vim。"
LangString str_group_icons ${LANG_SIMPCHINESE} \
"创建 Vim 图标"
"创建图标"
LangString str_desc_icons ${LANG_SIMPCHINESE} \
"为 Vim 创建若干图标,以方便使用 Vim。"
LangString str_section_desktop ${LANG_SIMPCHINESE} \
"桌面"
"桌面图标"
LangString str_desc_desktop ${LANG_SIMPCHINESE} \
"在桌面上为 Vim 创建若干图标,以方便启动 Vim"
"创建 Vim 的桌面快捷方式图标"
LangString str_section_start_menu ${LANG_SIMPCHINESE} \
"在启动菜单程序菜单下"
"「开始」菜单程序"
LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
"启动菜单的程序菜单下添加 Vim 组。适用于 Windows 95 及以上版本"
"开始菜单中添加 Vim 程序组(适用于 Windows 95 及以上版本"
#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
# "在快速启动启动栏中"
@ -83,9 +83,9 @@ LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
# "在快速启动栏中添加 Vim 图标。"
LangString str_section_edit_with ${LANG_SIMPCHINESE} \
"安装快捷菜单"
"添加到快捷菜单"
LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
"将 Vim 添加到“打开方式”快捷菜单中。"
"“用 Vim 编辑”添加到快捷菜单中。"
#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
# "32 位版本"
@ -98,10 +98,10 @@ LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
"创建缺省配置文件"
"创建默认配置文件"
LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
"在安装目录下生成缺省的 Vim 配置文件(_vimrc)。\
如果该文件已经存在,则略过此项。"
"在安装目录下生成默认的 Vim 配置文件(_vimrc)。\
如果该文件已经存在,则跳过该项。"
LangString str_group_plugin ${LANG_SIMPCHINESE} \
"创建插件目录"
@ -112,7 +112,7 @@ LangString str_desc_plugin ${LANG_SIMPCHINESE} \
LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
"Create plugin directories in HOME directory."
"在主目录创建私有插件目录。"
LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
@ -121,9 +121,9 @@ LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
该目录下的扩展插件。"
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
"安装 VisVim 插件"
"VisVim 插件"
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
"安装用于与微软 Microsoft Visual Studio 进行集成的 VisVim 插件。"
"安装 Visual Studio 集成的 VisVim 插件。"
LangString str_section_nls ${LANG_SIMPCHINESE} \
"安装多语言支持"
@ -141,24 +141,24 @@ LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
"删除 Vim 的所有执行文件及脚本。"
LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
"Remove plugin directories"
"移除插件目录"
LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
"Remove the plugin directories if they are empty."
"移除插件目录(如果目录为空)。"
LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
"Remove the plugin directories from HOME directory."
"从主目录中移除私有插件目录。"
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
LangString str_desc_rm_plugin_vim ${LANG_SIMPCHINESE} \
"Remove the plugin directories from Vim install directory."
"从 Vim 安装目录下移除插件目录。"
LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
"Remove the Vim root directory"
"移除 Vim 主目录"
LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
"Remove the Vim root directory. It contains your Vim configuration files!"
"移除 Vim 的主目录,该目录包含您的配置文件!"
##############################################################################
@ -225,13 +225,13 @@ LangString str_msg_rm_exe_fail ${LANG_SIMPCHINESE} \
# 该目录下仍有其他文件。"
LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
"Uninstalling the old version..."
"正在卸载旧版本..."
LangString str_msg_registering ${LANG_SIMPCHINESE} \
"Registering..."
"正在注册..."
LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
"Unregistering..."
"正在取消注册..."
##############################################################################
@ -239,39 +239,39 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
##############################################################################
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
"Choose _vimrc settings"
"设置 _vimrc"
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
"Choose the settings for enhancement, keyboard and mouse."
"选择键盘、鼠标和扩展设置。"
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
" Vi / Vim behavior "
"Vi / Vim 行为"
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
"&Compatibility and enhancements"
"兼容性与扩展(&B)"
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
"Vi compatible"
"原始 Vi"
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
"Vim original"
"原始 Vim"
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
"Vim with some enhancements (load defaults.vim)"
"Vim 原始版本和部分扩展 (加载 defaults.vim)"
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
"Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
" Mappings "
"键盘映射"
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
"为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F)"
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
"Do not remap keys (Default)"
"不映射按键 (缺省)"
LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
"Remap a few keys"
"映射一些按键"
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
" Mouse "
"鼠标"
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
"&Behavior of right and left buttons"
"左键和右键行为(&B)"
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
"Right: popup menu, Left: visual mode (Default)"
"右键:弹出菜单, 左键:可视化模式 (缺省)"
LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
"Right: popup menu, Left: select mode (Windows)"
"右键:弹出菜单, 左键:选择模式 (Windows)"
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
"Right: extends selection, Left: visual mode (Unix)"
"右键: 扩展选择, 左键:可视化模式 (Unix)"

190
nsis/lang/turkish.nsi Normal file
View File

@ -0,0 +1,190 @@
# turkish.nsi: Turkish language strings for gvim NSIS installer.
# fileencoding : UTF-8
# Author : Emir SARI
!insertmacro MUI_LANGUAGE "Turkish"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_TURKISH} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_TURKISH} \
"$(^Name) Uninstall"
LangString str_show_readme ${LANG_TURKISH} \
"Kurulum bittikten sonra README dosyasını"
# Install types:
LangString str_type_typical ${LANG_TURKISH} \
"Normal"
LangString str_type_minimal ${LANG_TURKISH} \
"Küçük"
LangString str_type_full ${LANG_TURKISH} \
"Tam"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_TURKISH} \
"Eski sürümü kaldır"
LangString str_desc_old_ver ${LANG_TURKISH} \
"Vim'in eski sürümünü sisteminizden kaldırır."
LangString str_section_exe ${LANG_TURKISH} \
"Vim grafik arabirimi ve çalışma dosyaları"
LangString str_desc_exe ${LANG_TURKISH} \
"Vim program başlatıcı ve çalışma dosyaları. Bu bileşen zorunludur."
LangString str_section_console ${LANG_TURKISH} \
"Vim konsol sürümü"
LangString str_desc_console ${LANG_TURKISH} \
"Vim'in konsol sürümü (vim.exe)."
LangString str_section_batch ${LANG_TURKISH} \
".bat dosyaları oluştur"
LangString str_desc_batch ${LANG_TURKISH} \
"Vim için komut satırında kullanmak üzere .bat dosyaları oluşturur"
LangString str_group_icons ${LANG_TURKISH} \
"Vim için kısayollar oluştur"
LangString str_desc_icons ${LANG_TURKISH} \
"Kolay erişim için Vim kısayolları oluşturur."
LangString str_section_desktop ${LANG_TURKISH} \
"Masaüstünde"
LangString str_desc_desktop ${LANG_TURKISH} \
"gVim programı için Masaüstünde kısayol oluşturur."
LangString str_section_start_menu ${LANG_TURKISH} \
"Başlat Menüsü - Programlar klasöründe"
LangString str_desc_start_menu ${LANG_TURKISH} \
"Vim kısayolunu Başlat Menüsüne ekler."
LangString str_section_edit_with ${LANG_TURKISH} \
"Vim ile Aç"
LangString str_desc_edit_with ${LANG_TURKISH} \
"Vim'i $\"Birlikte $\" sağ tık menüsüne ekler."
LangString str_section_vim_rc ${LANG_TURKISH} \
"Bir yapılandırma dosyası oluştur"
LangString str_desc_vim_rc ${LANG_TURKISH} \
"Eğer yoksa bir yapılandırma dosyası (_vimrc) oluşturur."
LangString str_group_plugin ${LANG_TURKISH} \
"Eklenti dizinleri oluştur"
LangString str_desc_plugin ${LANG_TURKISH} \
"Bu dizinlere Vim eklentilerini yerleştirerek Vim'e yeni \
özellikler kazandırabilirsiniz."
LangString str_section_plugin_home ${LANG_TURKISH} \
"Gizli"
LangString str_desc_plugin_home ${LANG_TURKISH} \
"Eklenti dizinlerini EV dizininde oluşturur."
LangString str_section_plugin_vim ${LANG_TURKISH} \
"Paylaşılan"
LangString str_desc_plugin_vim ${LANG_TURKISH} \
"Eklenti dizinlerini Vim yükleme dizininde oluşturur. Bu eklentilerden \
bilgisayarın tüm kullanıcıları yararlanabilir."
LangString str_section_vis_vim ${LANG_TURKISH} \
"VisVim eklentisi"
LangString str_desc_vis_vim ${LANG_TURKISH} \
"Microsoft Visual Studio entegrasyonu için VisVim eklentisi"
LangString str_section_nls ${LANG_TURKISH} \
"Ek dil desteği"
LangString str_desc_nls ${LANG_TURKISH} \
"Mevcut olan Vim yerelleştirmelerini yükler."
LangString str_unsection_register ${LANG_TURKISH} \
"Vim kaydını kaldır"
LangString str_desc_unregister ${LANG_TURKISH} \
"Vim'in bu bilgisayardaki kaydını kaldırır."
LangString str_unsection_exe ${LANG_TURKISH} \
"Vim programını ve çalıştırma dosyalarını kaldır"
LangString str_desc_rm_exe ${LANG_TURKISH} \
"Vim çalıştırılabilir dosyalarını ve diğer dosyaları kaldırır."
LangString str_ungroup_plugin ${LANG_TURKISH} \
"Eklenti dizinlerini kaldır"
LangString str_desc_rm_plugin ${LANG_TURKISH} \
"Eklenti dizinlerini eğer boş ise kaldırır."
LangString str_unsection_plugin_home ${LANG_TURKISH} \
"Gizli"
LangString str_desc_rm_plugin_home ${LANG_TURKISH} \
"Eklenti dizinlerini EV dizininden kaldırır."
LangString str_unsection_plugin_vim ${LANG_TURKISH} \
"Paylaşılan"
LangString str_desc_rm_plugin_vim ${LANG_TURKISH} \
"Eklenti dizinlerini Vim yükleme dizininden kaldırır."
LangString str_unsection_rootdir ${LANG_TURKISH} \
"Vim kök dizinini kaldır"
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
"Vim kök dizinini kaldırır. Bu dizin Vim yapılandırma dosyalarını içerir!"
LangString str_msg_install_fail ${LANG_TURKISH} \
"Yükleme başarısız oldu. Yeniden deneyin."
LangString str_msg_rm_exe_fail ${LANG_TURKISH} \
"$0 içindeki bazı dosyalar silinemedi!$\r$\n\
Bu dosyaları el ile kaldırmalısınız."
LangString str_msg_uninstalling ${LANG_TURKISH} \
"Eski sürüm kaldırılıyor..."
LangString str_msg_registering ${LANG_TURKISH} \
"Kaydediliyor..."
LangString str_msg_unregistering ${LANG_TURKISH} \
"Kayıt siliniyor..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_TURKISH} \
"_vimrc ayarlarını seçin"
LangString str_vimrc_page_subtitle ${LANG_TURKISH} \
"Yüklenecek ek özellikler, klavye ve fare için ayarları seçin."
LangString str_msg_compat_title ${LANG_TURKISH} \
" Vi / Vim davranışı "
LangString str_msg_compat_desc ${LANG_TURKISH} \
"&Uyumluluk ve ek özellikler"
LangString str_msg_compat_vi ${LANG_TURKISH} \
"Vi uyumlu"
LangString str_msg_compat_vim ${LANG_TURKISH} \
"Vim orijinal"
LangString str_msg_compat_defaults ${LANG_TURKISH} \
"Vim ve ek olarak bazı ek özellikler (load defaults.vim)"
LangString str_msg_compat_all ${LANG_TURKISH} \
"Vim ve ek olarak tüm ek özellikler (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_TURKISH} \
" Klavye İşlevleri "
LangString str_msg_keymap_desc ${LANG_TURKISH} \
"&Windows için bazı düğmeleri yeniden ayarla (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_TURKISH} \
"Düğme işlevlerini değiştirme (varsayılan)"
LangString str_msg_keymap_windows ${LANG_TURKISH} \
"Bazı düğmeleri yeniden ayarla"
LangString str_msg_mouse_title ${LANG_TURKISH} \
" Fare İşlevleri "
LangString str_msg_mouse_desc ${LANG_TURKISH} \
"&Sağ ve sol düğme davranışı"
LangString str_msg_mouse_default ${LANG_TURKISH} \
"Sağ: açılır menü, Sol: Görsel Kip (varsayılan)"
LangString str_msg_mouse_windows ${LANG_TURKISH} \
"Sağ: açılır menü, Sol: seçim kipi (Windows)"
LangString str_msg_mouse_unix ${LANG_TURKISH} \
"Sağ: seçimi genişlet, Sol: Görsel Kip (Unix)"

View File

@ -1,7 +1,7 @@
" Vim functions for file type detection
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 18
" Last Change: 2020 Jan 02
" These functions are moved here from runtime/filetype.vim to make startup
" faster.
@ -298,7 +298,7 @@ endfunc
func dist#ft#FTmms()
let n = 1
while n < 10
while n < 20
let line = getline(n)
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
setf mmix

View File

@ -22,7 +22,7 @@ if &cp
endif
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of getscript needs vim 7.2"
echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
echohl Normal
finish
endif

View File

@ -2,7 +2,7 @@
" Language: Haskell
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
" URL: https://github.com/alx741/haskellcomplete.vim
" Last Change: 2018 Aug 26
" Last Change: 2019 May 14
" Usage: setlocal omnifunc=haskellcomplete#Complete
@ -63,6 +63,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, extension)
endif
endfor
let b:completingLangExtension = 0
return l:matches
endif
@ -78,6 +79,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, flag)
endif
endfor
let b:completingOptionsGHC = 0
return l:matches
endif
@ -93,6 +95,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, module)
endif
endfor
let b:completingModule = 0
return l:matches
endif

View File

@ -1,7 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2014 Jun 20
" Last Change: 2019 Sep 27
" Distinguish between HTML versions.
" To use with other HTML versions add another "elseif" condition to match
@ -245,7 +245,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
" If context contains white space it is attribute.
" It can be also value of attribute.
" We have to get first word to offer proper completions
if context == ''
if context =~ '^\s*$'
" empty or whitespace line
let tag = ''
else
let tag = split(context)[0]

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Dec 30, 2014
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 15
" Date: Nov 09, 2016
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Version: 16
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v15"
let g:loaded_netrwSettings = "v16"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -154,9 +154,13 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps

View File

@ -18,61 +18,5 @@
" holder be liable for any damages resulting from the use
" of this software.
function! netrw_gitignore#Hide(...)
let additional_files = a:000
let default_files = ['.gitignore', '.git/info/exclude']
" get existing global/system gitignore files
let global_gitignore = expand(substitute(system("git config --global core.excludesfile"), '\n', '', 'g'))
if global_gitignore !=# ''
let default_files = add(default_files, global_gitignore)
endif
let system_gitignore = expand(substitute(system("git config --system core.excludesfile"), '\n', '', 'g'))
if system_gitignore !=# ''
let default_files = add(default_files, system_gitignore)
endif
" append additional files if given as function arguments
if additional_files !=# []
let files = extend(default_files, additional_files)
else
let files = default_files
endif
" keep only existing/readable files
let gitignore_files = []
for file in files
if filereadable(file)
let gitignore_files = add(gitignore_files, file)
endif
endfor
" get contents of gitignore patterns from those files
let gitignore_lines = []
for file in gitignore_files
for line in readfile(file)
" filter empty lines and comments
if line !~# '^#' && line !~# '^$'
let gitignore_lines = add(gitignore_lines, line)
endif
endfor
endfor
" convert gitignore patterns to Netrw/Vim regex patterns
let escaped_lines = []
for line in gitignore_lines
let escaped = line
let escaped = substitute(escaped, '\*\*', '*', 'g')
let escaped = substitute(escaped, '\.', '\\.', 'g')
let escaped = substitute(escaped, '\$', '\\$', 'g')
let escaped = substitute(escaped, '*', '.*', 'g')
" correction: dot, dollar and asterisks chars shouldn't be escaped when
" within regex matching groups.
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\.', '\.', 'g')
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\$', '\$', 'g')
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\.\*', '*', 'g')
let escaped_lines = add(escaped_lines, escaped)
endfor
return join(escaped_lines, ',')
return substitute(substitute(system('git ls-files --other --ignored --exclude-standard --directory'), '\n', ',', 'g'), ',$', '', '')
endfunction

View File

@ -3,7 +3,7 @@
" Maintainer: Mark Guzman <segfault@hasno.info>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2019 Jan 06
" Last Change: 2019 Feb 25
" ----------------------------------------------------------------------------
"
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
@ -53,6 +53,23 @@ if !exists("g:rubycomplete_include_objectspace")
endif
" }}} configuration failsafe initialization
" {{{ regex patterns
" Regex that defines the start-match for the 'end' keyword.
let s:end_start_regex =
\ '\C\%(^\s*\|[=,*/%+\-|;{]\|<<\|>>\|:\s\)\s*\zs' .
\ '\<\%(module\|class\|if\|for\|while\|until\|case\|unless\|begin' .
\ '\|\%(\K\k*[!?]\?\s\+\)\=def\):\@!\>' .
\ '\|\%(^\|[^.:@$]\)\@<=\<do:\@!\>'
" Regex that defines the middle-match for the 'end' keyword.
let s:end_middle_regex = '\<\%(ensure\|else\|\%(\%(^\|;\)\s*\)\@<=\<rescue:\@!\>\|when\|elsif\):\@!\>'
" Regex that defines the end-match for the 'end' keyword.
let s:end_end_regex = '\%(^\|[^.:@$]\)\@<=\<end:\@!\>'
" }}} regex patterns
" {{{ vim-side support functions
let s:rubycomplete_debug = 0
@ -103,7 +120,7 @@ function! s:GetBufferRubyEntity( name, type, ... )
endif
let curpos = getpos(".")
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'W' )
let [enum,ecol] = searchpairpos( s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'W' )
call cursor(lastpos[1], lastpos[2])
if lnum > enum
@ -128,19 +145,28 @@ function! s:IsPosInClassDef(pos)
return ret
endfunction
function! s:IsInComment(pos)
let stack = synstack(a:pos[0], a:pos[1])
if !empty(stack)
return synIDattr(stack[0], 'name') =~ 'ruby\%(.*Comment\|Documentation\)'
else
return 0
endif
endfunction
function! s:GetRubyVarType(v)
let stopline = 1
let vtp = ''
let pos = getpos('.')
let curpos = getpos('.')
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
if lnum != 0 && lcol != 0
call setpos('.',pos)
call setpos('.',curpos)
let str = getline(lnum)
let vtp = substitute(str,sstr,'\1','')
return vtp
endif
call setpos('.',pos)
call setpos('.',curpos)
let ctors = '\(now\|new\|open\|get_instance'
if exists('g:rubycomplete_rails') && g:rubycomplete_rails == 1 && s:rubycomplete_rails_loaded == 1
let ctors = ctors.'\|find\|create'
@ -150,9 +176,13 @@ function! s:GetRubyVarType(v)
let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)'
let sstr = ''.escape(a:v, '*').'\>\s*[+\-*/]*'.fstr
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
if lnum != 0 && lcol != 0
let str = matchstr(getline(lnum),fstr,lcol)
let pos = searchpos(sstr,'bW')
while pos != [0,0] && s:IsInComment(pos)
let pos = searchpos(sstr,'bW')
endwhile
if pos != [0,0]
let [lnum, col] = pos
let str = matchstr(getline(lnum),fstr,col)
let str = substitute(str,'^=\s*','','')
call setpos('.',pos)
@ -174,7 +204,7 @@ function! s:GetRubyVarType(v)
end
return ''
endif
call setpos('.',pos)
call setpos('.',curpos)
return ''
endfunction
@ -671,11 +701,10 @@ class VimRubyCompletion
methods.delete_if { |c| c.match( /'/ ) }
end
when /^::([A-Z][^:\.\(]*)$/ # Absolute Constant or class methods
when /^::([A-Z][^:\.\(]*)?$/ # Absolute Constant or class methods
dprint "const or cls"
receiver = $1
methods = Object.constants
methods.grep(/^#{receiver}/).collect{|e| "::" + e}
methods = Object.constants.collect{ |c| c.to_s }.grep(/^#{receiver}/)
when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods
receiver = $1
@ -684,13 +713,13 @@ class VimRubyCompletion
load_buffer_class( receiver )
load_buffer_module( receiver )
begin
classes = eval("#{receiver}.constants")
#methods = eval("#{receiver}.methods")
constants = eval("#{receiver}.constants").collect{ |c| c.to_s }.grep(/^#{message}/)
methods = eval("#{receiver}.methods").collect{ |m| m.to_s }.grep(/^#{message}/)
rescue Exception
dprint "exception: %s" % $!
constants = []
methods = []
end
methods.grep(/^#{message}/).collect{|e| receiver + "::" + e}
when /^(:[^:.]+)\.([^.]*)$/ # Symbol
dprint "symbol"

View File

@ -2,7 +2,7 @@
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 13.0
" Last Change: 2013 May 14
" Last Change: 2019 Aug 08
" Usage: For detailed help, ":help ft-syntax-omni"
" History
@ -597,7 +597,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" Remove all non-word characters
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
" Do this by using the outer substitue() call to gather all
" Do this by using the outer substitute() call to gather all
" text between the match /.../ tags.
" The inner substitute() call operates on the text selected
" and replaces all non-word characters.

View File

@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Apr 17, 2013
" Version: 29
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
" Date: Jan 07, 2020
" Version: 32
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell {{{1
" Copyright: Copyright (C) 2005-2017 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v29"
let g:loaded_tar= "v32"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@ -48,6 +48,9 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:tar_delfile")
let g:tar_delfile="--delete -f"
endif
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
@ -109,6 +112,7 @@ fun! tar#Browse(tarfile)
" sanity checks
if !executable(g:tar_cmd)
redraw!
" call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
let &report= repkeep
" call Dret("tar#Browse")
@ -119,6 +123,7 @@ fun! tar#Browse(tarfile)
if a:tarfile !~# '^\a\+://'
" if it's an url, don't complain, let url-handlers such as vim do its thing
redraw!
" call Decho("***error*** (tar#Browse) File not readable<".a:tarfile.">")
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
endif
let &report= repkeep
@ -152,12 +157,27 @@ fun! tar#Browse(tarfile)
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
let gzip_command = s:get_gzip_command(tarfile)
if tarfile =~# '\.\(gz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(tgz\)$' || tarfile =~# '\.\(tbz\)$' || tarfile =~# '\.\(txz\)$'
if has("unix") && executable("file")
let filekind= system("file ".shellescape(tarfile,1)) =~ "bzip2"
else
let filekind= ""
endif
if filekind =~ "bzip2"
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif filekind =~ "XZ"
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
endif
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
@ -184,7 +204,7 @@ fun! tar#Browse(tarfile)
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~# '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
keepj sil! %d
@ -197,8 +217,13 @@ fun! tar#Browse(tarfile)
return
endif
" set up maps supported for tar
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
noremap <silent> <buffer> x :call tar#Extract()<cr>
if &mouse != ""
noremap <silent> <buffer> <leftmouse> <leftmouse>:call <SID>TarBrowseSelect()<cr>
endif
let &report= repkeep
" call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
@ -235,7 +260,8 @@ fun! s:TarBrowseSelect()
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
new
" open a new window (tar#Read will read a file into it)
noswapfile new
if !exists("g:tar_nomax") || g:tar_nomax == 0
wincmd _
endif
@ -267,7 +293,7 @@ fun! tar#Read(fname,mode)
if fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
let doro = 1
elseif fname =~ '\.gz$' && executable("zcat")
elseif fname =~ '\.t\=gz$' && executable("zcat")
let decmp= "|zcat"
let doro = 1
elseif fname =~ '\.lzma$' && executable("lzcat")
@ -291,20 +317,29 @@ fun! tar#Read(fname,mode)
endif
if tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
let gzip_command = s:get_gzip_command(tarfile)
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\)$'
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\(\.tgz\|\.tbz\|\.txz\)'
if has("unix") && executable("file")
let filekind= system("file ".shellescape(tarfile,1))
else
let filekind= ""
endif
if filekind =~ "bzip2"
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif filekind =~ "XZ"
exe "sil! r! xz -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
endif
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
if tarfile =~ '^\s*-'
@ -348,13 +383,14 @@ fun! tar#Write(fname)
" sanity checks
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call Decho('***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system')
let &report= repkeep
" call Dret("tar#Write")
return
endif
if !exists("*mkdir")
redraw!
" call Decho("***error*** (tar#Write) sorry, mkdir() doesn't work on your system")
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
let &report= repkeep
" call Dret("tar#Write")
@ -375,6 +411,7 @@ fun! tar#Write(fname)
exe "cd ".fnameescape(tmpdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
" call Decho("***error*** (tar#Write) cannot cd to temporary directory")
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
let &report= repkeep
" call Dret("tar#Write")
@ -393,8 +430,6 @@ fun! tar#Write(fname)
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
let gzip_command = s:get_gzip_command(tarfile)
" handle compressed archives
if tarfile =~# '\.bz2'
call system("bzip2 -d -- ".shellescape(tarfile,0))
@ -402,12 +437,12 @@ fun! tar#Write(fname)
let compress= "bzip2 -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.gz'
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.tgz'
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".shellescape(tarfile,0)
let tgz = 1
@ -427,6 +462,7 @@ fun! tar#Write(fname)
if v:shell_error != 0
redraw!
" call Decho("***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname)
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
else
@ -459,10 +495,11 @@ fun! tar#Write(fname)
endif
" delete old file from tarfile
" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
" call Decho("system(".g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
call system(g:tar_cmd." ".g:tar_delfile." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0
redraw!
" call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
else
@ -471,6 +508,7 @@ fun! tar#Write(fname)
call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0
redraw!
" call Decho("***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname))
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
elseif exists("compress")
" call Decho("call system(".compress.")")
@ -486,11 +524,11 @@ fun! tar#Write(fname)
if s:tblfile_{winnr()} =~ '^\a\+://'
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
let tblfile= s:tblfile_{winnr()}
1split|enew
1split|noswapfile enew
let binkeep= &l:binary
let eikeep = &ei
set binary ei=all
exe "e! ".fnameescape(tarfile)
exe "noswapfile e! ".fnameescape(tarfile)
call netrw#NetWrite(tblfile)
let &ei = eikeep
let &l:binary = binkeep
@ -524,7 +562,7 @@ fun! tar#Diff(userfname,fname)
" sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
diffthis
wincmd v
exe "e ".fnameescape(fname)
exe "noswapfile e ".fnameescape(fname)
diffthis
else
redraw!
@ -533,6 +571,119 @@ fun! tar#Diff(userfname,fname)
" call Dret("tar#Diff")
endfun
" ---------------------------------------------------------------------
" tar#Extract: extract a file from a (possibly compressed) tar archive {{{2
fun! tar#Extract()
" call Dfunc("tar#Extract()")
let repkeep= &report
set report=10
let fname= getline(".")
" call Decho("fname<".fname.">")
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
" sanity check
if fname =~ '^"'
let &report= repkeep
" call Dret("TarBrowseSelect")
return
endif
let tarball = expand("%")
" call Decho("tarball<".tarball.">")
let tarbase = substitute(tarball,'\..*$','','')
" call Decho("tarbase<".tarbase.">")
let extractcmd= netrw#WinPath(g:tar_extractcmd)
if filereadable(tarbase.".tar")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".tar ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd." ".tarbase.".tar ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
elseif filereadable(tarbase.".tgz")
let extractcmd= substitute(extractcmd,"-","-z","")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".tgz ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tgz ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd."t ".tarbase.".tgz ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
elseif filereadable(tarbase.".tar.gz")
let extractcmd= substitute(extractcmd,"-","-z","")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".tar.gz ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.gz ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
elseif filereadable(tarbase.".tbz")
let extractcmd= substitute(extractcmd,"-","-j","")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".tbz ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd."j ".tarbase.".tbz ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
elseif filereadable(tarbase.".tar.bz2")
let extractcmd= substitute(extractcmd,"-","-j","")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".tar.bz2 ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd."j ".tarbase.".tar.bz2 ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
elseif filereadable(tarbase.".txz")
let extractcmd= substitute(extractcmd,"-","-J","")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".txz ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".txz ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd." ".tarbase.".txz ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
elseif filereadable(tarbase.".tar.xz")
let extractcmd= substitute(extractcmd,"-","-J","")
" call Decho("system(".extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname).")")
call system(extractcmd." ".shellescape(tarbase).".tar.xz ".shellescape(fname))
if v:shell_error != 0
echohl Error | echo "***error*** ".extractcmd." ".tarbase.".tar.xz ".fname.": failed!" | echohl NONE
" call Decho("***error*** ".extractcmd." ".tarbase.".tar.xz ".fname.": failed!")
else
echo "***note*** successfully extracted ".fname
endif
endif
" restore option
let &report= repkeep
" call Dret("tar#Extract")
endfun
" ---------------------------------------------------------------------
" s:Rmdir: {{{2
fun! s:Rmdir(fname)
@ -587,10 +738,7 @@ fun! tar#Vimuntar(...)
" if necessary, decompress the tarball; then, extract it
if tartail =~ '\.tgz'
let gzip_command = s:get_gzip_command(tarfile)
if executable(gzip_command)
silent exe "!" . gzip_command . " -d ".shellescape(tartail)
elseif executable("gunzip")
if executable("gunzip")
silent exe "!gunzip ".shellescape(tartail)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
@ -628,28 +776,6 @@ fun! tar#Vimuntar(...)
" call Dret("tar#Vimuntar")
endfun
func s:get_gzip_command(file)
" Try using the "file" command to get the actual compression type, since
" there is no standard way for the naming: ".tgz", ".tbz", ".txz", etc.
" If the "file" command doesn't work fall back to just using the file name.
if a:file =~# 'z$'
let filetype = system('file ' . a:file)
if filetype =~ 'bzip2 compressed' && executable('bzip2')
return 'bzip2'
endif
if filetype =~ 'XZ compressed' && executable('xz')
return 'xz'
endif
endif
if a:file =~# 'bz2$'
return 'bzip2'
endif
if a:file =~# 'xz$'
return 'xz'
endif
return 'gzip'
endfunc
" =====================================================================
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo

View File

@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2018 Nov 11
" Last Change: 2019 Aug 16
"
" Additional contributors:
"
@ -364,6 +364,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let body_line = ''
let html = []
let s:html5 = 0
if s:settings.use_xhtml
call add(html, xml_line)
endif
@ -371,8 +372,9 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
call add(html, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">")
call add(html, '<html xmlns="http://www.w3.org/1999/xhtml">')
elseif s:settings.use_css && !s:settings.no_pre
call add(html, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">")
call add(html, "<!DOCTYPE html>")
call add(html, '<html>')
let s:html5 = 1
else
call add(html, '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"')
call add(html, ' "http://www.w3.org/TR/html4/loose.dtd">')
@ -383,7 +385,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
" include encoding as close to the top as possible, but only if not already
" contained in XML information
if s:settings.encoding != "" && !s:settings.use_xhtml
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
if s:html5
call add(html, '<meta charset="' . s:settings.encoding . '"' . tag_close)
else
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
endif
endif
call add(html, '<title>diff</title>')
@ -392,6 +398,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
call add(html, '<meta name="settings" content="'.
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
\ ',prevent_copy='.s:settings.prevent_copy.
\ ',use_input_for_pc='.s:settings.use_input_for_pc.
\ '"'.tag_close)
call add(html, '<meta name="colorscheme" content="'.
\ (exists('g:colors_name')
@ -400,16 +407,8 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
call add(html, '</head>')
let body_line_num = len(html)
if !empty(s:settings.prevent_copy)
call add(html, "<body onload='FixCharWidth();".(s:settings.line_ids ? " JumpToLine();" : "")."'>")
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
call add(html, "<div id='oneCharWidth'>0</div>")
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
else
call add(html, '<body'.(s:settings.line_ids ? ' onload="JumpToLine();"' : '').'>')
endif
call add(html, "<table border='1' width='100%' id='vimCodeElement".s:settings.id_suffix."'>")
call add(html, '<body'.(s:settings.line_ids ? ' onload="JumpToLine();"' : '').'>')
call add(html, "<table ".(s:settings.use_css? "" : "border='1' width='100%' ")."id='vimCodeElement".s:settings.id_suffix."'>")
call add(html, '<tr>')
for buf in a:win_list
@ -443,7 +442,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
" Grab the style information. Some of this will be duplicated so only insert
" it if it's not already there. {{{
1
let style_start = search('^<style type="text/css">')
let style_start = search('^<style\( type="text/css"\)\?>')
1
let style_end = search('^</style>')
if style_start > 0 && style_end > 0
@ -481,7 +480,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
" TODO: restore using grabbed lines if undolevel is 1?
normal! 2u
if s:settings.use_css
call add(html, '<td valign="top"><div>')
call add(html, '<td><div>')
elseif s:settings.use_xhtml
call add(html, '<td nowrap="nowrap" valign="top"><div>')
else
@ -515,7 +514,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let name = substitute(name, '\d*\.x\?html$', '', '') . i . '.' . fnamemodify(copy(name), ":t:e")
let i += 1
endwhile
let s:ei_sav = &eventignore
set eventignore+=FileType
exe "topleft new " . name
let &eventignore=s:ei_sav
unlet s:ei_sav
setlocal modifiable
" just in case some user autocmd creates content in the new buffer, make sure
@ -544,7 +549,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
" add required javascript in reverse order so we can just call append again
" and again without adjusting {{{
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids || !empty(s:settings.prevent_copy)
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids
" insert script closing tag if needed
if s:uses_script
@ -555,31 +560,6 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
\ ])
endif
" insert script which corrects the size of small input elements in
" prevent_copy mode. See 2html.vim for details on why this is needed and how
" it works.
if !empty(s:settings.prevent_copy)
call append(style_start, [
\ '',
\ '/* simulate a "ch" unit by asking the browser how big a zero character is */',
\ 'function FixCharWidth() {',
\ ' /* get the hidden element which gives the width of a single character */',
\ ' var goodWidth = document.getElementById("oneCharWidth").clientWidth;',
\ ' /* get all input elements, we''ll filter on class later */',
\ ' var inputTags = document.getElementsByTagName("input");',
\ ' var ratio = 5;',
\ ' var inputWidth = document.getElementById("oneInputWidth").clientWidth;',
\ ' var emWidth = document.getElementById("oneEmWidth").clientWidth;',
\ ' if (inputWidth > goodWidth) {',
\ ' while (ratio < 100*goodWidth/emWidth && ratio < 100) {',
\ ' ratio += 5;',
\ ' }',
\ ' document.getElementById("vimCodeElement'.s:settings.id_suffix.'").className = "em"+ratio;',
\ ' }',
\ '}'
\ ])
endif
" insert javascript to get IDs from line numbers, and to open a fold before
" jumping to any lines contained therein
if s:settings.line_ids
@ -659,10 +639,9 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
endif
if s:uses_script
" insert script tag; javascript is always needed for the line number
" normalization for URL hashes
" insert script tag if needed
call append(style_start, [
\ "<script type='text/javascript'>",
\ "<script" . (s:html5 ? "" : " type='text/javascript'") . ">",
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
endif
@ -673,11 +652,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
" is pretty useless for really long lines. {{{
if s:settings.use_css
call append(style_start,
\ ['<style type="text/css">']+
\ ['<style' . (s:html5 ? '' : 'type="text/css"') . '>']+
\ style+
\ [ s:settings.use_xhtml ? '' : '<!--',
\ 'table { table-layout: fixed; }',
\ 'html, body, table, tbody { width: 100%; margin: 0; padding: 0; }',
\ 'table, td, th { border: 1px solid; }',
\ 'td { vertical-align: top; }',
\ 'th, td { width: '.printf("%.1f",100.0/len(a:win_list)).'%; }',
\ 'td div { overflow: auto; }',
\ s:settings.use_xhtml ? '' : '-->',
@ -720,21 +701,22 @@ func! tohtml#GetUserSettings() "{{{
endif
" get current option settings with appropriate defaults {{{
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
call tohtml#GetOption(user_settings, 'pre_wrap', &wrap )
call tohtml#GetOption(user_settings, 'use_css', 1 )
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
call tohtml#GetOption(user_settings, 'line_ids', user_settings.number_lines )
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
call tohtml#GetOption(user_settings, 'pre_wrap', &wrap )
call tohtml#GetOption(user_settings, 'use_css', 1 )
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
call tohtml#GetOption(user_settings, 'line_ids', user_settings.number_lines )
call tohtml#GetOption(user_settings, 'use_input_for_pc', 'fallback')
" }}}
" override those settings that need it {{{
@ -868,6 +850,16 @@ func! tohtml#GetUserSettings() "{{{
let user_settings.no_invalid = 0
endif
" enforce valid values for use_input_for_pc
if user_settings.use_input_for_pc !~# 'fallback\|none\|all'
let user_settings.use_input_for_pc = 'fallback'
echohl WarningMsg
echomsg '2html: "' . g:html_use_input_for_pc . '" is not valid for g:html_use_input_for_pc'
echomsg '2html: defaulting to "' . user_settings.use_input_for_pc . '"'
echohl None
sleep 3
endif
if exists('g:html_id_expr')
let user_settings.id_suffix = eval(g:html_id_expr)
if user_settings.id_suffix !~ '^[-_:.A-Za-z0-9]*$'

View File

@ -1,6 +1,6 @@
" Vim plugin for formatting XML
" Last Change: Thu, 07 Dec 2018
" Version: 0.1
" Last Change: 2019 Oct 24
" Version: 0.2
" Author: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" License: VIM License
@ -22,44 +22,73 @@ func! xmlformat#Format()
" do not fall back to internal formatting
return 0
endif
let count_orig = v:count
let sw = shiftwidth()
let prev = prevnonblank(v:lnum-1)
let s:indent = indent(prev)/sw
let result = []
let lastitem = prev ? getline(prev) : ''
let is_xml_decl = 0
" split on `<`, but don't split on very first opening <
for item in split(join(getline(v:lnum, (v:lnum + v:count - 1))), '.\@<=[>]\zs')
if s:EndTag(item)
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(item))
elseif s:EmptyTag(lastitem)
call add(result, s:Indent(item))
elseif s:StartTag(lastitem) && s:IsTag(item)
let s:indent += 1
call add(result, s:Indent(item))
else
if !s:IsTag(item)
" Simply split on '<'
let t=split(item, '.<\@=\zs')
let s:indent+=1
call add(result, s:Indent(t[0]))
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(t[1]))
else
" go through every line, but don't join all content together and join it
" back. We might lose empty lines
let list = getline(v:lnum, (v:lnum + count_orig - 1))
let current = 0
for line in list
" Keep empty input lines?
if empty(line)
call add(result, '')
continue
elseif line !~# '<[/]\?[^>]*>'
let nextmatch = match(list, '<[/]\?[^>]*>', current)
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
call remove(list, current+1, nextmatch-1)
endif
" split on `>`, but don't split on very first opening <
" this means, items can be like ['<tag>', 'tag content</tag>']
for item in split(line, '.\@<=[>]\zs')
if s:EndTag(item)
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(item))
elseif s:EmptyTag(lastitem)
call add(result, s:Indent(item))
elseif s:StartTag(lastitem) && s:IsTag(item)
let s:indent += 1
call add(result, s:Indent(item))
else
if !s:IsTag(item)
" Simply split on '<', if there is one,
" but reformat according to &textwidth
let t=split(item, '.<\@=\zs')
" t should only contain 2 items, but just be safe here
if s:IsTag(lastitem)
let s:indent+=1
endif
let result+=s:FormatContent([t[0]])
if s:EndTag(t[1])
let s:indent = s:DecreaseIndent()
endif
"for y in t[1:]
let result+=s:FormatContent(t[1:])
"endfor
else
call add(result, s:Indent(item))
endif
endif
endif
let lastitem = item
endfor
let lastitem = item
endfor
let current += 1
endfor
if !empty(result)
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
if !empty(result)
let lastprevline = getline(v:lnum + count_orig)
let delete_lastline = v:lnum + count_orig - 1 == line('$')
exe v:lnum. ",". (v:lnum + count_orig - 1). 'd'
call append(v:lnum - 1, result)
" Might need to remove the last line, if it became empty because of the
" append() call
let last = v:lnum + len(result)
if getline(last) is ''
" do not use empty(), it returns true for `empty(0)`
if getline(last) is '' && lastprevline is '' && delete_lastline
exe last. 'd'
endif
endif
@ -88,6 +117,7 @@ func! s:StartTag(tag)
let is_comment = s:IsComment(a:tag)
return a:tag =~? '^\s*<[^/?]' && !is_comment
endfunc
" Check if tag is a Comment start {{{1
func! s:IsComment(tag)
return a:tag =~? '<!--'
endfunc
@ -108,6 +138,43 @@ endfunc
func! s:EmptyTag(tag)
return a:tag =~ '/>\s*$'
endfunc
" Format input line according to textwidth {{{1
func! s:FormatContent(list)
let result=[]
let limit = 80
if &textwidth > 0
let limit = &textwidth
endif
let column=0
let idx = -1
let add_indent = 0
let cnt = 0
for item in a:list
for word in split(item, '\s\+\S\+\zs')
let column += strdisplaywidth(word, column)
if match(word, "^\\s*\n\\+\\s*$") > -1
call add(result, '')
let idx += 1
let column = 0
let add_indent = 1
elseif column > limit || cnt == 0
let add = s:Indent(s:Trim(word))
call add(result, add)
let column = strdisplaywidth(add)
let idx += 1
else
if add_indent
let result[idx] = s:Indent(s:Trim(word))
else
let result[idx] .= ' '. s:Trim(word)
endif
let add_indent = 0
endif
let cnt += 1
endfor
endfor
return result
endfunc
" Restoration And Modelines: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo

View File

@ -1,10 +1,10 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: Sep 13, 2016
" Version: 28
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" Date: Jan 07, 2020
" Version: 30
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@ -20,7 +20,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v28"
let g:loaded_zip= "v30"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2 or later"
@ -68,7 +68,7 @@ fun! zip#Browse(zipfile)
" sanity check: ensure that the zipfile has "PK" as its first two letters
" (zipped files have a leading PK as a "magic cookie")
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
exe "noautocmd e ".fnameescape(a:zipfile)
exe "noswapfile noautocmd noswapfile e ".fnameescape(a:zipfile)
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
return
" else " Decho
@ -141,8 +141,11 @@ fun! zip#Browse(zipfile)
" Maps associated with zip plugin
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
noremap <silent> <buffer> x :call zip#Extract()<cr>
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
noremap <silent> <buffer> x :call zip#Extract()<cr>
if &mouse != ""
noremap <silent> <buffer> <leftmouse> <leftmouse>:call <SID>ZipBrowseSelect()<cr>
endif
let &report= repkeep
" call Dret("zip#Browse")
@ -175,17 +178,17 @@ fun! s:ZipBrowseSelect()
" get zipfile to the new-window
let zipfile = b:zipfile
let curfile= expand("%")
let curfile = expand("%")
" call Decho("zipfile<".zipfile.">")
" call Decho("curfile<".curfile.">")
new
noswapfile new
if !exists("g:zip_nomax") || g:zip_nomax == 0
wincmd _
endif
let s:zipfile_{winnr()}= curfile
" call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
exe "e ".fnameescape("zipfile:".zipfile.'::'.fname)
exe "noswapfile e ".fnameescape("zipfile:".zipfile.'::'.fname)
filetype detect
let &report= repkeep
@ -339,7 +342,7 @@ fun! zip#Write(fname)
let binkeep= &binary
let eikeep = &ei
set binary ei=all
exe "e! ".fnameescape(zipfile)
exe "noswapfile e! ".fnameescape(zipfile)
call netrw#NetWrite(netzipfile)
let &ei = eikeep
let &binary = binkeep

View File

@ -1,13 +1,14 @@
" This script tests a color scheme for some errors. Load the scheme and source
" this script. e.g. :e colors/desert.vim | :so check_colors.vim
" Will output possible errors.
" This script tests a color scheme for some errors and lists potential errors.
" Load the scheme and source this script, like this:
" :edit colors/desert.vim | :so colors/tools/check_colors.vim
let s:save_cpo= &cpo
set cpo&vim
func! Test_check_colors()
let l:savedview = winsaveview()
call cursor(1,1)
let err={}
let err = {}
" 1) Check g:colors_name is existing
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
@ -17,48 +18,115 @@ func! Test_check_colors()
endif
" 2) Check for some well-defined highlighting groups
" Some items, check several groups, e.g. Diff, Spell
let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded',
\ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText',
\ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine',
\ 'Title', 'Visual', 'WarningMsg', 'WildMenu']
let groups={}
let hi_groups = [
\ 'ColorColumn',
\ 'Comment',
\ 'Conceal',
\ 'Constant',
\ 'Cursor',
\ 'CursorColumn',
\ 'CursorLine',
\ 'CursorLineNr',
\ 'DiffAdd',
\ 'DiffChange',
\ 'DiffDelete',
\ 'DiffText',
\ 'Directory',
\ 'EndOfBuffer',
\ 'Error',
\ 'ErrorMsg',
\ 'FoldColumn',
\ 'Folded',
\ 'Identifier',
\ 'Ignore',
\ 'IncSearch',
\ 'LineNr',
\ 'MatchParen',
\ 'ModeMsg',
\ 'MoreMsg',
\ 'NonText',
\ 'Normal',
\ 'Pmenu',
\ 'PmenuSbar',
\ 'PmenuSel',
\ 'PmenuThumb',
\ 'PreProc',
\ 'Question',
\ 'QuickFixLine',
\ 'Search',
\ 'SignColumn',
\ 'Special',
\ 'SpecialKey',
\ 'SpellBad',
\ 'SpellCap',
\ 'SpellLocal',
\ 'SpellRare',
\ 'Statement',
\ 'StatusLine',
\ 'StatusLineNC',
\ 'StatusLineTerm',
\ 'StatusLineTermNC',
\ 'TabLine',
\ 'TabLineFill',
\ 'TabLineSel',
\ 'Title',
\ 'Todo',
\ 'ToolbarButton',
\ 'ToolbarLine',
\ 'Type',
\ 'Underlined',
\ 'VertSplit',
\ 'Visual',
\ 'VisualNOS',
\ 'WarningMsg',
\ 'WildMenu',
\ ]
let groups = {}
for group in hi_groups
if search('\c@suppress\s\+'.group, 'cnW')
if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW')
" skip check, if the script contains a line like
" @suppress Visual:
let groups[group] = 'Ignoring '.group
continue
endif
if !search('hi\%[ghlight] \+'.group, 'cnW')
let groups[group] = 'No highlight definition for '.group
if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') " Linked group
continue
endif
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
let groups[group] = 'Missing foreground color for '.group
if !search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW')
let groups[group] = 'No highlight definition for ' .. group
continue
endif
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
let groups[group] = 'Missing bg terminal color for '.group
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW')
let groups[group] = 'Missing foreground or background color for ' .. group
continue
endif
call search('hi\%[ghlight] \+'.group, 'cW')
" only check in the current line
if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.'))
" do not check for background colors, they could be intentionally left out
let groups[group] = 'Missing fg definition for '.group
if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') &&
\ !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW')
\ && group != 'Cursor'
let groups[group] = 'Missing bg terminal color for ' .. group
continue
endif
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW')
\ && group !~ '^Diff'
let groups[group] = 'Missing guifg definition for ' .. group
continue
endif
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW')
\ && group !~ '^Diff'
\ && group != 'Cursor'
let groups[group] = 'Missing ctermfg definition for ' .. group
continue
endif
" do not check for background colors, they could be intentionally left out
call cursor(1,1)
endfor
let err['highlight'] = groups
" 3) Check, that it does not set background highlighting
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
let line=search(bg_pat, 'cnW')
let bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
let bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
let bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
let line = search(bg_pat, 'cnW')
if search(bg_pat, 'cnW')
exe line
if search('hi \U\w\+\s\+\S', 'cbnW')
@ -80,7 +148,7 @@ func! Test_check_colors()
" if exists("syntax_on")
" syntax reset
" endif
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
let pat = 'hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
if !search(pat, 'cnW')
let err['init'] = 'No initialization'
endif
@ -91,15 +159,43 @@ func! Test_check_colors()
endif
" 7) Does not define filetype specific groups like vimCommand, htmlTag,
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
let hi_groups = filter(getcompletion('', 'filetype'), { _,v -> v !~# '\%[no]syn\%(color\|load\|tax\)' })
let ft_groups = []
" let group = '\%('.join(hi_groups, '\|').'\)' " More efficient than a for loop, but less informative
for group in hi_groups
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\w\+\>\ze \+.' " Skips `hi clear`
if search(pat, 'cW')
call add(ft_groups, matchstr(getline('.'), pat))
endif
call cursor(1,1)
endfor
if !empty(ft_groups)
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . join(uniq(sort(ft_groups)))
endif
" 8) Were debugPC and debugBreakpoint defined?
for group in ['debugPC', 'debugBreakpoint']
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\>'
if search(pat, 'cnW')
let line = search(pat, 'cW')
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
endif
call cursor(1,1)
endfor
" 9) Normal should be defined first, not use reverse, fg or bg
call cursor(1,1)
let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
if getline('.') !~# '\m\<Normal\>'
let err['highlight']['Normal'] = 'Should be defined first'
elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)'
let err['highlight']['Normal'] = "Should not use 'fg' or 'bg'"
elseif getline('.') =~# '\m=\%(inv\|rev\)erse'
let err['highlight']['Normal'] = 'Should not use reverse mode'
endif
call winrestview(l:savedview)
let g:err = err
" print Result
@ -107,11 +203,11 @@ func! Test_check_colors()
endfu
fu! Result(err)
let do_roups = 0
let do_groups = 0
echohl Title|echomsg "---------------"|echohl Normal
for key in sort(keys(a:err))
if key is# 'highlight'
let do_groups = 1
let do_groups = !empty(a:err[key])
continue
else
if a:err[key] !~ 'OK'

View File

@ -1,8 +1,8 @@
" Vim compiler file
" Compiler: Microsoft Visual Studio C#
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2012 Apr 30
" Compiler: Microsoft Visual Studio C#
" Maintainer: Yichao Zhou (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: Jul 22, 2019
if exists("current_compiler")
finish
@ -20,7 +20,7 @@ CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%trror%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
CompilerSet makeprg=csc\ %
CompilerSet makeprg=csc\ %:S
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@ -1,13 +1,13 @@
" Vim compiler file
" Compiler: Erlang
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" Last Change: 2012-02-13
" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
endif
let current_compiler = "erlang"
CompilerSet makeprg=erlc\ -Wall\ %
CompilerSet makeprg=erlc\ -Wall\ %:S
CompilerSet errorformat=%f:%l:\ %m

View File

@ -22,7 +22,7 @@ CompilerSet errorformat=
\%-Z%p%^%.%#,
\%-G%.%#,
" Compiler call
CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %
CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %:S
" Visual fortran defaults to printing output on stderr
" Adjust option shellpipe accordingly

View File

@ -2,6 +2,8 @@
" Compiler: GNU C Compiler
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
" changed pattern for entering/leaving directories
" by Daniel Hahler, 2019 Jul 12
" added line suggested by Anton Lindqvist 2016 Mar 31
if exists("current_compiler")
@ -27,10 +29,10 @@ CompilerSet errorformat=
\%f:%l:\ %m,
\%f:\\(%*[^\\)]\\):\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
\%D%*\\a:\ Entering\ directory\ [`']%f',
\%X%*\\a:\ Leaving\ directory\ [`']%f',
\%D%*\\a[%*\\d]:\ Entering\ directory\ %*[`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ %*[`']%f',
\%D%*\\a:\ Entering\ directory\ %*[`']%f',
\%X%*\\a:\ Leaving\ directory\ %*[`']%f',
\%DMaking\ %*\\a\ in\ %f
if exists('g:compiler_gcc_ignore_unmatched_lines')

View File

@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Change: 20 Jan 2009
" Last Change: 2019 Jul 23
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler")
@ -14,5 +14,5 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
endif
" Jikes defaults to printing output on stderr
CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%\"
CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%:S\"
CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m

View File

@ -1,7 +1,11 @@
" Vim Compiler File
" Compiler: ocaml
" Maintainer: See ftplugin/ocaml.vim (?)
" Last Change: June 2013 by Marc Weber
" Compiler: ocaml
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
" URL: https://github.com/rgrinberg/vim-ocaml
" Last Change:
" 2017 Nov 26 - Improved error format (Markus Mottl)
" 2013 Aug 27 - Added a new OCaml error format (Markus Mottl)
" 2013 Jun 30 - Initial version (Marc Weber)
"
" Marc Weber's comments:
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
@ -17,7 +21,6 @@
"
" So having it here makes people opt-in
if exists("current_compiler")
finish
endif
@ -28,6 +31,7 @@ set cpo&vim
CompilerSet errorformat =
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#,
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
\%+EReference\ to\ unbound\ regexp\ name\ %m,
\%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
@ -38,6 +42,12 @@ CompilerSet errorformat =
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%D%*\\a:\ Entering\ directory\ `%f',
\%X%*\\a:\ Leaving\ directory\ `%f',
\%D%*\\a[%*\\d]:\ Entering\ directory\ '%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ '%f',
\%D%*\\a:\ Entering\ directory\ '%f',
\%X%*\\a:\ Leaving\ directory\ '%f',
\%DEntering\ directory\ '%f',
\%XLeaving\ directory\ '%f',
\%DMaking\ %*\\a\ in\ %f
let &cpo = s:cpo_save

View File

@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: onsgmls
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
" Last Change: 2004 Mar 27
" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
@ -15,7 +15,7 @@ endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=onsgmls\ -s\ %
CompilerSet makeprg=onsgmls\ -s\ %:S
CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
\onsgmls:%f:%l:%c:%m

View File

@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Perl syntax checks (perl -Wc)
" Maintainer: Christian J. Robinson <heptite@gmail.com>
" Last Change: 2006 Aug 13
" Last Change: 2019 Jul 22
if exists("current_compiler")
finish
@ -27,7 +27,7 @@ else
let s:taintopt = ''
endif
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %'
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %:S'
CompilerSet errorformat=
\%-G%.%#had\ compilation\ errors.,

View File

@ -19,7 +19,7 @@ endif
if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0
CompilerSet makeprg=rustc
else
CompilerSet makeprg=rustc\ \%
CompilerSet makeprg=rustc\ \%:S
endif
" Old errorformat (before nightly 2016/08/10)

View File

@ -2,7 +2,7 @@
" Compiler: splint/lclint (C source code checker)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/
" Last Change: 2005 Apr 21
" Last Change: 2019 Jul 23
" $Revision: 1.3 $
if exists("current_compiler")
@ -19,7 +19,7 @@ set cpo-=C
" adapt this if you want to check more than one file at a time.
" put command line options in .splintrc or ~/.splintrc
CompilerSet makeprg=splint\ %
CompilerSet makeprg=splint\ %:S
" Note: when using the new array bounds checking flags: Each warning
" usually has several lines and several references to source code mostly

View File

@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: xmlwf
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
" Last Change: 2004 Mar 27
" Last Change: 2019 Jul 23
if exists("current_compiler")
finish
@ -15,7 +15,7 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=xmlwf\ %
CompilerSet makeprg=xmlwf\ %:S
CompilerSet errorformat=%f:%l%c:%m

View File

@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2019 Feb 18
" Last change: 2019 Oct 27
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@ -75,8 +75,14 @@ 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.
" Only xterm can grab the mouse events when using the shift key, for other
" terminals use ":", select text and press Esc.
if has('mouse')
set mouse=a
if &term =~ 'xterm'
set mouse=a
else
set mouse=nvi
endif
endif
" Switch syntax highlighting on when the terminal has colors or when using the

View File

@ -2,25 +2,31 @@
" Warning: This also deletes all menus defined by the user!
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2001 May 27
" Last Change: 2019 Dec 10
aunmenu *
tlunmenu *
silent! unlet did_install_default_menus
silent! unlet did_install_syntax_menu
if exists("did_menu_trans")
unlet! g:did_install_default_menus
unlet! g:did_install_syntax_menu
if exists('g:did_menu_trans')
menutrans clear
unlet did_menu_trans
unlet g:did_menu_trans
endif
silent! unlet find_help_dialog
unlet! g:find_help_dialog
silent! unlet menutrans_help_dialog
silent! unlet menutrans_path_dialog
silent! unlet menutrans_tags_dialog
silent! unlet menutrans_textwidth_dialog
silent! unlet menutrans_fileformat_dialog
silent! unlet menutrans_no_file
unlet! g:menutrans_fileformat_choices
unlet! g:menutrans_fileformat_dialog
unlet! g:menutrans_help_dialog
unlet! g:menutrans_no_file
unlet! g:menutrans_path_dialog
unlet! g:menutrans_set_lang_to
unlet! g:menutrans_spell_add_ARG_to_word_list
unlet! g:menutrans_spell_change_ARG_to
unlet! g:menutrans_spell_ignore_ARG
unlet! g:menutrans_tags_dialog
unlet! g:menutrans_textwidth_dialog
" vim: set sw=2 :

View File

@ -83,6 +83,7 @@ DOCS = \
pi_tar.txt \
pi_vimball.txt \
pi_zip.txt \
popup.txt \
print.txt \
quickfix.txt \
quickref.txt \
@ -102,6 +103,7 @@ DOCS = \
tagsrch.txt \
term.txt \
terminal.txt \
testing.txt \
textprop.txt \
tips.txt \
todo.txt \
@ -147,6 +149,7 @@ DOCS = \
version7.txt \
version8.txt \
vi_diff.txt \
vim9.txt \
visual.txt \
windows.txt \
workshop.txt
@ -220,6 +223,7 @@ HTMLS = \
pi_tar.html \
pi_vimball.html \
pi_zip.html \
popup.html \
print.html \
quickfix.html \
quickref.html \
@ -239,6 +243,7 @@ HTMLS = \
tagsrch.html \
term.html \
terminal.html \
testing.html \
textprop.html \
tips.html \
todo.html \
@ -285,6 +290,7 @@ HTMLS = \
version8.html \
vi_diff.html \
vimindex.html \
vim9.html \
visual.html \
windows.html \
workshop.html
@ -319,7 +325,7 @@ all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
# Use Vim to generate the tags file. Can only be used when Vim has been
# compiled and installed. Supports multiple languages.
vimtags: $(DOCS)
$(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
@$(VIMEXE) --clean -esX -V1 -u doctags.vim
# Use "doctags" to generate the tags file. Only works for English!
tags: doctags $(DOCS)

View File

@ -1,4 +1,4 @@
*arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
*arabic.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Nadim Shaikli
@ -6,7 +6,6 @@
Arabic Language support (options & mappings) for Vim *Arabic*
{Vi does not have any of these commands}
*E800*
In order to use right-to-left and Arabic mapping support, it is

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.1. Last change: 2019 Mar 13
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jan 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -20,7 +20,6 @@ For a basic explanation, see section |40.3| in the user manual.
10. Using autocommands |autocmd-use|
11. Disabling autocommands |autocmd-disable|
{Vi does not have any of these commands}
==============================================================================
1. Introduction *autocmd-intro*
@ -52,7 +51,7 @@ effects. Be careful not to destroy your text.
2. Defining autocommands *autocmd-define*
*:au* *:autocmd*
:au[tocmd] [group] {event} {pat} [nested] {cmd}
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat} |autocmd-patterns|.
@ -60,7 +59,13 @@ effects. Be careful not to destroy your text.
:autocmd and won't start a comment.
Vim always adds the {cmd} after existing autocommands,
so that the autocommands execute in the order in which
they were given. See |autocmd-nested| for [nested].
they were given.
See |autocmd-nested| for [++nested]. "nested"
(without the ++) can also be used, for backwards
compatibility.
*autocmd-once*
If [++once] is supplied the command is executed once,
then removed ("one shot").
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
@ -128,10 +133,11 @@ prompt. When one command outputs two messages this can happen anyway.
==============================================================================
3. Removing autocommands *autocmd-remove*
:au[tocmd]! [group] {event} {pat} [nested] {cmd}
:au[tocmd]! [group] {event} {pat} [++once] [++nested] {cmd}
Remove all autocommands associated with {event} and
{pat}, and add the command {cmd}. See
|autocmd-nested| for [nested].
{pat}, and add the command {cmd}.
See |autocmd-once| for [++once].
See |autocmd-nested| for [++nested].
:au[tocmd]! [group] {event} {pat}
Remove all autocommands associated with {event} and
@ -262,7 +268,6 @@ Name triggered by ~
|BufCreate| just after adding a buffer to the buffer list
|BufDelete| before deleting a buffer from the buffer list
|BufWipeout| before completely deleting a buffer
|TerminalOpen| after a terminal buffer was created
|BufFilePre| before changing the name of the current buffer
|BufFilePost| after changing the name of the current buffer
@ -296,6 +301,10 @@ Name triggered by ~
|VimLeavePre| before exiting Vim, before writing the viminfo file
|VimLeave| before exiting Vim, after writing the viminfo file
Terminal
|TerminalOpen| after a terminal buffer was created
|TerminalWinOpen| after a terminal buffer was created in a new window
Various
|FileChangedShell| Vim notices that a file changed since editing started
|FileChangedShellPost| After handling a file changed since editing started
@ -349,6 +358,10 @@ Name triggered by ~
when popup menu visible
|TextYankPost| after text has been yanked or deleted
|SafeState| nothing pending, going to wait for the user to type a
character
|SafeStateAgain| repeated SafeState
|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
@ -360,7 +373,11 @@ Name triggered by ~
|SessionLoadPost| after loading a session file
|MenuPopup| just before showing the popup menu
|CompleteDone| after Insert mode completion is done
|CompleteChanged| after Insert mode completion menu changed
|CompleteDonePre| after Insert mode completion is done, before clearing
info
|CompleteDone| after Insert mode completion is done, after clearing
info
|User| to be used in combination with ":doautocmd"
@ -373,6 +390,8 @@ BufAdd or BufCreate Just after creating a new buffer which is
to the buffer list.
Also used just after a buffer in the buffer
list has been renamed.
Not triggered for the initial buffers created
during startup.
The BufCreate event is for historic reasons.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
@ -400,8 +419,8 @@ BufFilePost After changing the name of the current buffer
BufFilePre Before changing the name of the current buffer
with the ":file" or ":saveas" command.
*BufHidden*
BufHidden Just after a buffer has become hidden. That
is, when there are no longer windows that show
BufHidden Just before a buffer becomes hidden. That is,
when there are no longer windows that show
the buffer, but the buffer is not unloaded or
deleted. Not used for ":qa" or ":q" when
exiting Vim.
@ -547,16 +566,14 @@ CmdlineLeave Before leaving the command line.
*CmdwinEnter*
CmdwinEnter After entering the command-line window.
Useful for setting options specifically for
this special type of window. This is
triggered _instead_ of BufEnter and WinEnter.
this special type of window.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdwinLeave*
CmdwinLeave Before leaving the command-line window.
Useful to clean up any global setting done
with CmdwinEnter. This is triggered _instead_
of BufLeave and WinLeave.
with CmdwinEnter.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
@ -572,11 +589,42 @@ ColorScheme After loading a color scheme. |:colorscheme|
ColorSchemePre Before loading a color scheme. |:colorscheme|
Useful to setup removing things added by a
color scheme, before another one is loaded.
CompleteChanged *CompleteChanged*
After each time the Insert mode completion
menu changed. Not fired on popup menu hide,
use |CompleteDonePre| or |CompleteDone| for
that. Never triggered recursively.
Sets these |v:event| keys:
completed_item See |complete-items|.
height nr of items visible
width screen cells
row top screen row
col leftmost screen column
size total nr of items
scrollbar TRUE if visible
It is not allowed to change the text |textlock|.
The size and position of the popup are also
available by calling |pum_getpos()|.
*CompleteDonePre*
CompleteDonePre After Insert mode completion is done. Either
when something was completed or abandoning
completion. |ins-completion|
|complete_info()| can be used, the info is
cleared after triggering CompleteDonePre.
The |v:completed_item| variable contains
information about the completed item.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
when something was completed or abandoning
completion. |ins-completion|
|complete_info()| cannot be used, the info is
cleared before triggering CompleteDone. Use
CompleteDonePre if you need it.
The |v:completed_item| variable contains
information about the completed item.
@ -606,7 +654,7 @@ CursorHold When the user doesn't press a key for the time
Hint: to force an update of the status lines
use: >
:let &ro = &ro
< {only on Amiga, Unix, Win32, MSDOS and all GUI
< {only on Amiga, Unix, Win32 and all GUI
versions}
*CursorHoldI*
CursorHoldI Just like CursorHold, but in Insert mode.
@ -667,13 +715,14 @@ DiffUpdated After diffs have been updated. Depending on
change or when doing |:diffupdate|.
*DirChanged*
DirChanged The working directory has changed in response
to the |:cd| or |:lcd| commands, or as a
result of the 'autochdir' option.
to the |:cd| or |:tcd| or |:lcd| commands, or
as a result of the 'autochdir' option.
The pattern can be:
"window" to trigger on `:lcd`
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
"window" to trigger on `:lcd`
"tabpage" to trigger on `:tcd`
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
<afile> is set to the new directory name.
*ExitPre*
ExitPre When using `:quit`, `:wq` in a way it makes
@ -850,15 +899,32 @@ MenuPopup Just before showing the popup menu (under the
*OptionSet*
OptionSet After setting an option. The pattern is
matched against the long option name.
The |v:option_old| variable indicates the
old option value, |v:option_new| variable
indicates the newly set value, the
|v:option_type| variable indicates whether
it's global or local scoped and |<amatch>|
indicates what option has been set.
|<amatch>| indicates what option has been set.
Is not triggered on startup and for the 'key'
option for obvious reasons.
|v:option_type| indicates whether it's global
or local scoped.
|v:option_command| indicates what type of
set/let command was used (follow the tag to
see the table).
|v:option_new| indicates the newly set value.
|v:option_oldlocal| has the old local value.
|v:option_oldglobal| has the old global value.
|v:option_old| indicates the old option value.
|v:option_oldlocal| is only set when |:set|
or |:setlocal| or a |modeline| was used to set
the option. Similarly |v:option_oldglobal| is
only set when |:set| or |:setglobal| was used.
Note that when setting a |global-local| string
option with |:set|, then |v:option_old| is the
old global value. However, for all other kinds
of options (local string options, global-local
number options, ...) it is the old local
value.
OptionSet is not triggered on startup and for
the 'key' option for obvious reasons.
Usage example: Check for the existence of the
directory in the 'backupdir' and 'undodir'
@ -872,7 +938,6 @@ OptionSet After setting an option. The pattern is
When using |:set| in the autocommand the event
is not triggered again.
*QuickFixCmdPre*
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
@ -914,6 +979,32 @@ RemoteReply When a reply from a Vim that functions as
Note that even if an autocommand is defined,
the reply should be read with |remote_read()|
to consume it.
*SafeState*
SafeState When nothing is pending, going to wait for the
user to type a character.
This will not be triggered when:
- an operator is pending
- a register was entered with "r
- halfway executing a command
- executing a mapping
- there is typeahead
- Insert mode completion is active
- Command line completion is active
You can use `mode()` to find out what state
Vim is in. That may be:
- VIsual mode
- Normal mode
- Insert mode
- Command-line mode
Depending on what you want to do, you may also
check more with `state()`, e.g. whether the
screen was scrolled for messages.
*SafeStateAgain*
SafeStateAgain Like SafeState but after processing any
messages and invoking callbacks. This may be
triggered often, don't do something that takes
time.
*SessionLoadPost*
SessionLoadPost After loading the session file created using
the |:mksession| command.
@ -1010,6 +1101,12 @@ TerminalOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
triggered even if the buffer is created
without a window, with the ++hidden option.
*TerminalWinOpen*
TerminalWinOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
triggered only if the buffer is created
with a window. Can be used to set window
local options for the terminal window.
*TermResponse*
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
@ -1046,8 +1143,8 @@ TextYankPost After text has been yanked or deleted in the
current buffer. The following values of
|v:event| can be used to determine the operation
that triggered this autocmd:
operator The operation performed.
regcontents Text that was stored in the
operator The operation performed.
regcontents Text that was stored in the
register, as a list of lines,
like with: >
getreg(r, 1, 1)
@ -1083,7 +1180,7 @@ VimEnter After doing all the startup stuff, including
if v:vim_did_enter
call s:init()
else
au VimEnter * call s:init()
au VimEnter * call s:init()
endif
< *VimLeave*
VimLeave Before exiting Vim, just after writing the
@ -1207,8 +1304,8 @@ The pattern is interpreted like mostly used in file names:
[^ch] match any character but 'c' and 'h'
Note that for all systems the '/' character is used for path separator (even
MS-DOS and OS/2). This was done because the backslash is difficult to use
in a pattern and to make the autocommands portable across different systems.
for MS-Windows). This was done because the backslash is difficult to use in a
pattern and to make the autocommands portable across different systems.
It is possible to use |pattern| items, but they may not work as expected,
because of the translation done for the above.
@ -1343,7 +1440,7 @@ have changed autocommands, or when Vim has executed the wrong autocommands
Note that the 'eventignore' option applies here too. Events listed in this
option will not cause any commands to be executed.
*:do* *:doau* *:doautocmd* *E217*
*:do* *:doau* *:doaut* *:doautocmd* *E217*
:do[autocmd] [<nomodeline>] [group] {event} [fname]
Apply the autocommands matching [fname] (default:
current file name) for {event} to the current buffer.
@ -1473,7 +1570,7 @@ By default, autocommands do not nest. For example, if you use ":e" or ":w" in
an autocommand, Vim does not execute the BufRead and BufWrite autocommands for
those commands. If you do want this, use the "nested" flag for those commands
in which you want nesting. For example: >
:autocmd FileChangedShell *.c nested e!
:autocmd FileChangedShell *.c ++nested e!
The nesting is limited to 10 levels to get out of recursive loops.
It's possible to use the ":au" command in an autocommand. This can be a

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.1. Last change: 2019 Feb 05
*change.txt* For Vim version 8.2. Last change: 2019 Sep 28
VIM REFERENCE MANUAL by Bram Moolenaar
@ -34,7 +34,7 @@ For inserting text see |insert.txt|.
deletes the last character of the count.
See |:fixdel| if the <Del> key does not do what you
want. See |'whichwrap'| for deleting a line break
(join lines). {Vi does not support <Del>}
(join lines).
*X* *dh*
["x]X Delete [count] characters before the cursor [into
@ -59,7 +59,7 @@ For inserting text see |insert.txt|.
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
{Visual}["x]d or
{Visual}["x]<Del> Delete the highlighted text [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
{Visual}["x]CTRL-H or *v_CTRL-H* *v_<BS>*
{Visual}["x]<BS> When in Select mode: Delete the highlighted text [into
@ -69,7 +69,7 @@ For inserting text see |insert.txt|.
{Visual}["x]D Delete the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). In Visual block mode,
"D" deletes the highlighted text plus all text until
the end of the line. {not in Vi}
the end of the line.
*:d* *:de* *:del* *:delete* *:dl* *:dp*
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
@ -116,16 +116,15 @@ J Join [count] lines, with a minimum of two lines.
*v_J*
{Visual}J Join the highlighted lines, with a minimum of two
lines. Remove the indent and insert up to two spaces
(see below). {not in Vi}
(see below).
*gJ*
gJ Join [count] lines, with a minimum of two lines.
Don't insert or remove any spaces. {not in Vi}
Don't insert or remove any spaces.
*v_gJ*
{Visual}gJ Join the highlighted lines, with a minimum of two
lines. Don't insert or remove any spaces. {not in
Vi}
lines. Don't insert or remove any spaces.
*:j* *:join*
:[range]j[oin][!] [flags]
@ -134,7 +133,6 @@ gJ Join [count] lines, with a minimum of two lines.
If a [range] has equal start and end values, this
command does nothing. The default behavior is to
join the current line with the line below it.
{not in Vi: !}
See |ex-flags| for [flags].
:[range]j[oin][!] {count} [flags]
@ -142,7 +140,6 @@ gJ Join [count] lines, with a minimum of two lines.
current line |cmdline-ranges|). Same as "J", except
with [!] the join does not insert or delete any
spaces.
{not in Vi: !}
See |ex-flags| for [flags].
These commands delete the <EOL> between lines. This has the effect of joining
@ -209,8 +206,7 @@ gR Enter Virtual Replace mode: Each character you type
{Visual}["x]c or *v_c* *v_s*
{Visual}["x]s Delete the highlighted text [into register x] and
start insert (for {Visual} see |Visual-mode|). {not
in Vi}
start insert (for {Visual} see |Visual-mode|).
*v_r*
{Visual}["x]r{char} Replace all selected characters by {char}.
@ -218,14 +214,13 @@ gR Enter Virtual Replace mode: Each character you type
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and
start insert. In Visual block mode it works
differently |v_b_C|. {not in Vi}
differently |v_b_C|.
*v_S*
{Visual}["x]S Delete the highlighted lines [into register x] and
start insert (for {Visual} see |Visual-mode|). {not
in Vi}
start insert (for {Visual} see |Visual-mode|).
*v_R*
{Visual}["x]R Currently just like {Visual}["x]S. In a next version
it might work differently. {not in Vi}
it might work differently.
Notes:
- You can end Insert and Replace mode with <Esc>.
@ -273,8 +268,6 @@ r{char} Replace the character under the cursor with {char}.
If {char} is a <CR> or <NL>, a line break replaces the
character. To replace with a real <CR>, use CTRL-V
<CR>. CTRL-V <NL> replaces with a <Nul>.
{Vi: CTRL-V <CR> still replaces with a line break,
cannot replace something with a <CR>}
If {char} is CTRL-E or CTRL-Y the character from the
line below or above is used, just like with |i_CTRL-E|
@ -315,28 +308,26 @@ The following commands change the case of letters. The currently active
*~*
~ 'notildeop' option: Switch case of the character
under the cursor and move the cursor to the right.
If a [count] is given, do that many characters. {Vi:
no count}
If a [count] is given, do that many characters.
~{motion} 'tildeop' option: switch case of {motion} text. {Vi:
tilde cannot be used as an operator}
~{motion} 'tildeop' option: switch case of {motion} text.
*g~*
g~{motion} Switch case of {motion} text. {not in Vi}
g~{motion} Switch case of {motion} text.
g~g~ *g~g~* *g~~*
g~~ Switch case of current line. {not in Vi}.
g~~ Switch case of current line.
*v_~*
{Visual}~ Switch case of highlighted text (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*v_U*
{Visual}U Make highlighted text uppercase (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*gU* *uppercase*
gU{motion} Make {motion} text uppercase. {not in Vi}
gU{motion} Make {motion} text uppercase.
Example: >
:map! <C-F> <Esc>gUiw`]a
< This works in Insert mode: press CTRL-F to make the
@ -345,27 +336,27 @@ gU{motion} Make {motion} text uppercase. {not in Vi}
gUgU *gUgU* *gUU*
gUU Make current line uppercase. {not in Vi}.
gUU Make current line uppercase.
*v_u*
{Visual}u Make highlighted text lowercase (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*gu* *lowercase*
gu{motion} Make {motion} text lowercase. {not in Vi}
gu{motion} Make {motion} text lowercase.
gugu *gugu* *guu*
guu Make current line lowercase. {not in Vi}.
guu Make current line lowercase.
*g?* *rot13*
g?{motion} Rot13 encode {motion} text. {not in Vi}
g?{motion} Rot13 encode {motion} text.
*v_g?*
{Visual}g? Rot13 encode the highlighted text (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
g?g? *g?g?* *g??*
g?? Rot13 encode current line. {not in Vi}.
g?? Rot13 encode current line.
To turn one line into title caps, make every first letter of a word
uppercase: >
@ -375,18 +366,18 @@ uppercase: >
Adding and subtracting ~
*CTRL-A*
CTRL-A Add [count] to the number or alphabetic character at
or after the cursor. {not in Vi}
or after the cursor.
*v_CTRL-A*
{Visual}CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. {not in Vi}
the highlighted text.
*v_g_CTRL-A*
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. If several lines are
highlighted, each one will be incremented by an
additional [count] (so effectively creating a
[count] incrementing sequence). {not in Vi}
[count] incrementing sequence).
For Example, if you have this list of numbers:
1. ~
1. ~
@ -401,11 +392,11 @@ CTRL-A Add [count] to the number or alphabetic character at
*CTRL-X*
CTRL-X Subtract [count] from the number or alphabetic
character at or after the cursor. {not in Vi}
character at or after the cursor.
*v_CTRL-X*
{Visual}CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. {not in Vi}
character in the highlighted text.
On MS-Windows, this is mapped to cut Visual text
|dos-standard-mappings|. If you want to disable the
@ -417,7 +408,7 @@ CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. If several lines
are highlighted, each value will be decremented by an
additional [count] (so effectively creating a [count]
decrementing sequence). {not in Vi}
decrementing sequence).
The CTRL-A and CTRL-X commands can work for:
- signed and unsigned decimal numbers
@ -485,8 +476,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
*v_<*
{Visual}[count]< Shift the highlighted lines [count] 'shiftwidth'
leftwards (for {Visual} see |Visual-mode|). {not in
Vi}
leftwards (for {Visual} see |Visual-mode|).
*>*
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
@ -500,8 +490,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
*v_>*
{Visual}[count]> Shift the highlighted lines [count] 'shiftwidth'
rightwards (for {Visual} see |Visual-mode|). {not in
Vi}
rightwards (for {Visual} see |Visual-mode|).
*:<*
:[range]< Shift [range] lines one 'shiftwidth' left. Repeat '<'
@ -512,7 +501,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
Repeat '<' for shifting multiple 'shiftwidth's.
:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
lines to [indent] (default 0). {not in Vi}
lines to [indent] (default 0).
*:>*
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
@ -579,7 +568,6 @@ comment (starting with '"') after the `:!` command.
*v_!*
{Visual}!{filter} Filter the highlighted lines through the external
program {filter} (for {Visual} see |Visual-mode|).
{not in Vi}
:{range}![!]{filter} [!][arg] *:range!*
Filter {range} lines through the external program
@ -613,7 +601,6 @@ comment (starting with '"') after the `:!` command.
*v_=*
{Visual}= Filter the highlighted lines like with ={motion}.
{not in Vi}
*tempfile* *setuid*
@ -624,7 +611,7 @@ attack or other people reading your file). When Vim exits the directory and
all files in it are deleted. When Vim has the setuid bit set this may cause
problems, the temp file is owned by the setuid user but the filter command
probably runs as the original user.
On MS-DOS and OS/2 the first of these directories that works is used: $TMP,
On MS-Windows the first of these directories that works is used: $TMP,
$TEMP, c:\TMP, c:\TEMP.
For Unix the list of directories is: $TMPDIR, /tmp, current-dir, $HOME.
For MS-Windows the GetTempFileName() system function is used.
@ -678,15 +665,13 @@ g& Synonym for `:%s//~/&` (repeat last substitute with
For example, when you first do a substitution with
`:s/pattern/repl/flags` and then `/search` for
something else, `g&` will do `:%s/search/repl/flags`.
Mnemonic: global substitute. {not in Vi}
Mnemonic: global substitute.
*:snomagic* *:sno*
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
{not in Vi}
*:smagic* *:sm*
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
{not in Vi}
*:s_flags*
The flags that you can use for the substitute commands:
@ -697,7 +682,6 @@ The flags that you can use for the substitute commands:
:&&
:s/this/that/&
< Note that `:s` and `:&` don't keep the flags.
{not in Vi}
[c] Confirm each substitution. Vim highlights the matching string (with
|hl-IncSearch|). You can type: *:s_c*
@ -705,16 +689,13 @@ The flags that you can use for the substitute commands:
'l' to substitute this match and then quit ("last")
'n' to skip this match
<Esc> to quit substituting
'a' to substitute this and all remaining matches {not in Vi}
'q' to quit substituting {not in Vi}
CTRL-E to scroll the screen up {not in Vi, not available when
compiled without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not in Vi, not available when
compiled without the |+insert_expand| feature}
'a' to substitute this and all remaining matches
'q' to quit substituting
CTRL-E to scroll the screen up
CTRL-Y to scroll the screen down
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
{not in Vi: highlighting of the match, other responses than 'y' or 'n'}
*:s_e*
[e] When the search pattern fails, do not issue an error message and, in
@ -726,7 +707,6 @@ The flags that you can use for the substitute commands:
No previous substitute regular expression
Trailing characters
Interrupted
{not in Vi}
*:s_g*
[g] Replace all occurrences in the line. Without this argument,
@ -739,12 +719,10 @@ The flags that you can use for the substitute commands:
*:s_i*
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
are not used.
{not in Vi}
*:s_I*
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
options are not used.
{not in Vi}
*:s_n*
[n] Report the number of matches, do not actually substitute. The [c]
@ -776,7 +754,6 @@ The flags that you can use for the substitute commands:
/green
:&
< The last command will replace "blue" with "red".
{not in Vi}
Note that there is no flag to change the "magicness" of the pattern. A
different command is used instead, or you can use |/\v| and friends. The
@ -1002,7 +979,6 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
a single tabstop. Each value in the list represents
the width of one tabstop, except the final value which
applies to all following tabstops.
{not in Vi}
*retab-example*
Example for using autocommands and ":retab" to edit a file which is stored
@ -1023,20 +999,23 @@ inside of strings can change! Also see 'softtabstop' option. >
delete and yank) ({.%#:} only work with put).
*:reg* *:registers*
:reg[isters] Display the contents of all numbered and named
registers. If a register is written to for |:redir|
it will not be listed.
{not in Vi}
:reg[isters] Display the type and contents of all numbered and
named registers. If a register is written to for
|:redir| it will not be listed.
Type can be one of:
"c" for |characterwise| text
"l" for |linewise| text
"b" for |blockwise-visual| text
:reg[isters] {arg} Display the contents of the numbered and named
registers that are mentioned in {arg}. For example: >
:reg 1a
< to display registers '1' and 'a'. Spaces are allowed
in {arg}. {not in Vi}
in {arg}.
*:di* *:display*
:di[splay] [arg] Same as :registers. {not in Vi}
:di[splay] [arg] Same as :registers.
*y* *yank*
["x]y{motion} Yank {motion} text [into register x]. When no
@ -1055,11 +1034,11 @@ inside of strings can change! Also see 'softtabstop' option. >
*v_y*
{Visual}["x]y Yank the highlighted text [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
*v_Y*
{Visual}["x]Y Yank the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
@ -1073,11 +1052,11 @@ inside of strings can change! Also see 'softtabstop' option. >
*p* *put* *E353*
["x]p Put the text [from register x] after the cursor
[count] times. {Vi: no count}
[count] times.
*P*
["x]P Put the text [from register x] before the cursor
[count] times. {Vi: no count}
[count] times.
*<MiddleMouse>*
["x]<MiddleMouse> Put the text from a register before the cursor [count]
@ -1086,7 +1065,6 @@ inside of strings can change! Also see 'softtabstop' option. >
Leaves the cursor at the end of the new text.
Using the mouse only works when 'mouse' contains 'n'
or 'a'.
{not in Vi}
If you have a scrollwheel and often accidentally paste
text, you can use these mappings to disable the
pasting with the middle mouse button: >
@ -1097,11 +1075,11 @@ inside of strings can change! Also see 'softtabstop' option. >
*gp*
["x]gp Just like "p", but leave the cursor just after the new
text. {not in Vi}
text.
*gP*
["x]gP Just like "P", but leave the cursor just after the new
text. {not in Vi}
text.
*:pu* *:put*
:[line]pu[t] [x] Put the text [from register x] after [line] (default
@ -1129,14 +1107,14 @@ inside of strings can change! Also see 'softtabstop' option. >
["x]]p or *]p* *]<MiddleMouse>*
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
or 'a'. {not in Vi}
or 'a'.
["x][P or *[P*
["x]]P or *]P*
["x][p or *[p* *[<MiddleMouse>*
["x][<MiddleMouse> Like "P", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
or 'a'. {not in Vi}
or 'a'.
You can use these commands to copy text from one place to another. Do this
by first getting the text into a register with a yank, delete or change
@ -1198,14 +1176,14 @@ Rationale: In Vi the "y" command followed by a backwards motion would
With a linewise yank command the cursor is put in the first line, but the
column is unmodified, thus it may not be on the first yanked character.
There are ten types of registers: *registers* *E354*
There are ten types of registers: *registers* *{register}* *E354*
1. The unnamed register ""
2. 10 numbered registers "0 to "9
3. The small delete register "-
4. 26 named registers "a to "z or "A to "Z
5. three read-only registers ":, "., "%
6. alternate buffer register "#
7. the expression register "=
5. Three read-only registers ":, "., "%
6. Alternate buffer register "#
7. The expression register "=
8. The selection and drop registers "*, "+ and "~
9. The black hole register "_
10. Last search pattern register "/
@ -1246,7 +1224,6 @@ not exist}
3. Small delete register "- *quote_-* *quote-*
This register contains text from commands that delete less than one line,
except when the command specifies a register with ["x].
{not in Vi}
4. Named registers "a to "z or "A to "Z *quote_alpha* *quotea*
Vim fills these registers only when you say so. Specify them as lowercase
@ -1256,7 +1233,7 @@ a line break is inserted before the appended text.
5. Read-only registers ":, ". and "%
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
and ":put" commands and with CTRL-R. {not in Vi}
and ":put" commands and with CTRL-R.
*quote_.* *quote.* *E29*
". Contains the last inserted text (the same as what is inserted
with the insert mode commands CTRL-A and CTRL-@). Note: this
@ -1310,13 +1287,13 @@ an error message (use string() to convert).
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
register. {not in Vi}
register.
8. Selection and drop registers "*, "+ and "~
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. For Unix systems the clipboard
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
is only available when the |+xterm_clipboard| feature is present.
Note that there is only a distinction between "* and "+ for X11 systems. For
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
@ -1327,7 +1304,7 @@ The read-only "~ register stores the dropped text from the last drag'n'drop
operation. When something has been dropped onto Vim, the "~ register is
filled in and the <Drop> pseudo key is sent for notification. You can remap
this key if you want; the default action (for all modes) is to insert the
contents of the "~ register at the cursor position. {not in Vi}
contents of the "~ register at the cursor position.
{only available when compiled with the |+dnd| feature, currently only with the
GTK GUI}
@ -1337,16 +1314,15 @@ Drag'n'drop of URI lists is handled internally.
9. Black hole register "_ *quote_*
When writing to this register, nothing happens. This can be used to delete
text without affecting the normal registers. When reading from this register,
nothing is returned. {not in Vi}
nothing is returned.
10. Last search pattern register "/ *quote_/* *quote/*
10. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
It is writable with `:let`, you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
register. The search direction is available in |v:searchforward|.
Note that the value is restored when returning from a function
|function-search-undo|.
{not in Vi}
*@/*
You can write to a register with a `:let` command |:let-@|. Example: >
@ -1377,17 +1353,15 @@ The next three commands always work on whole lines.
:[range]ce[nter] [width] *:ce* *:center*
Center lines in [range] between [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
:[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}
*:le* *:left*
:[range]le[ft] [indent]
Left-align lines in [range]. Sets the indent in the
lines to [indent] (default 0). {not in Vi}
lines to [indent] (default 0).
*gq*
gq{motion} Format the lines that {motion} moves over.
@ -1414,24 +1388,24 @@ gq{motion} Format the lines that {motion} moves over.
gqgq *gqgq* *gqq*
gqq Format the current line. With a count format that
many lines. {not in Vi}
many lines.
*v_gq*
{Visual}gq Format the highlighted text. (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*gw*
gw{motion} Format the lines that {motion} moves over. Similar to
|gq| but puts the cursor back at the same position in
the text. However, 'formatprg' and 'formatexpr' are
not used. {not in Vi}
not used.
gwgw *gwgw* *gww*
gww Format the current line as with "gw". {not in Vi}
gww Format the current line as with "gw".
*v_gw*
{Visual}gw Format the highlighted text as with "gw". (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
Example: To format the current paragraph use: *gqap* >
gqap
@ -1648,8 +1622,6 @@ By default, "b:#" is included. This means that a line that starts with
"#include" is not recognized as a comment line. But a line that starts with
"# define" is recognized. This is a compromise.
{not available when compiled without the |+comments| feature}
*fo-table*
You can use the 'formatoptions' option to influence how Vim formats text.
'formatoptions' is a string that can contain any of the letters below. The

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
*channel.txt* For Vim version 8.2. Last change: 2019 Dec 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,13 +18,14 @@ The Netbeans interface also uses a channel. |netbeans|
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|
12. Using a prompt buffer |prompt-buffer|
8. Channel functions details |channel-functions-details|
9. Starting a job with a channel |job-start|
10. Starting a job without a channel |job-start-nochannel|
11. Job functions |job-functions-details|
12. Job options |job-options|
13. Controlling a job |job-control|
14. Using a prompt buffer |prompt-buffer|
{Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
You can check this with: `has('channel')`
{only when compiled with the |+job| feature for job stuff}
@ -156,7 +157,10 @@ Use |ch_status()| to see if the channel could be opened.
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 passed to the callbacks.
be passed to the callbacks. However, if a callback causes Vim
to check for messages, the close_cb may be invoked while still
in the callback. The plugin must handle this somehow, it can
be useful to know that no more data is coming.
*channel-drop*
"drop" Specifies when to drop messages:
"auto" When there is no callback to handle a message.
@ -219,7 +223,7 @@ 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*
*E630* *E631*
==============================================================================
4. Using a JSON or JS channel *channel-use*
@ -308,9 +312,10 @@ 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 other commands do not explicitly update the screen, so that you can send a
sequence of commands without the cursor moving around. A redraw can happen as
a side effect of some commands. 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", ""] ~
@ -457,7 +462,263 @@ 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*
8. Channel functions details *channel-functions-details*
ch_canread({handle}) *ch_canread()*
Return non-zero when there is something to read from {handle}.
{handle} can be a Channel or a Job that has a Channel.
This is useful to read from a channel at a convenient time,
e.g. from a timer.
Note that messages are dropped when the channel does not have
a callback. Add a close callback to avoid that.
Can also be used as a |method|: >
GetChannel()->ch_canread()
ch_close({handle}) *ch_close()*
Close {handle}. See |channel-close|.
{handle} can be a Channel or a Job that has a Channel.
A close callback is not invoked.
Can also be used as a |method|: >
GetChannel()->ch_close()
ch_close_in({handle}) *ch_close_in()*
Close the "in" part of {handle}. See |channel-close-in|.
{handle} can be a Channel or a Job that has a Channel.
A close callback is not invoked.
Can also be used as a |method|: >
GetChannel()->ch_close_in()
ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
Send {expr} over {handle}. The {expr} is encoded
according to the type of channel. The function cannot be used
with a raw channel. See |channel-use|.
{handle} can be a Channel or a Job that has a Channel.
*E917*
{options} must be a Dictionary. It must not have a "callback"
entry. It can have a "timeout" entry to specify the timeout
for this specific request.
ch_evalexpr() waits for a response and returns the decoded
expression. When there is an error or timeout it returns an
empty string.
Note that while waiting for the response, Vim handles other
messages. You need to make sure this doesn't cause trouble.
Can also be used as a |method|: >
GetChannel()->ch_evalexpr(expr)
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
Send {string} over {handle}.
{handle} can be a Channel or a Job that has a Channel.
Works like |ch_evalexpr()|, but does not encode the request or
decode the response. The caller is responsible for the
correct contents. Also does not add a newline for a channel
in NL mode, the caller must do that. The NL in the response
is removed.
Note that Vim does not know when the text received on a raw
channel is complete, it may only return the first part and you
need to use |ch_readraw()| to fetch the rest.
See |channel-use|.
Can also be used as a |method|: >
GetChannel()->ch_evalraw(rawstring)
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Get the buffer number that {handle} is using for {what}.
{handle} can be a Channel or a Job that has a Channel.
{what} can be "err" for stderr, "out" for stdout or empty for
socket output.
Returns -1 when there is no buffer.
Can also be used as a |method|: >
GetChannel()->ch_getbufnr(what)
ch_getjob({channel}) *ch_getjob()*
Get the Job associated with {channel}.
If there is no job calling |job_status()| on the returned Job
will result in "fail".
Can also be used as a |method|: >
GetChannel()->ch_getjob()
ch_info({handle}) *ch_info()*
Returns a Dictionary with information about {handle}. The
items are:
"id" number of the channel
"status" "open", "buffered" or "closed", like
ch_status()
When opened with ch_open():
"hostname" the hostname of the address
"port" the port of the address
"sock_status" "open" or "closed"
"sock_mode" "NL", "RAW", "JSON" or "JS"
"sock_io" "socket"
"sock_timeout" timeout in msec
When opened with job_start():
"out_status" "open", "buffered" or "closed"
"out_mode" "NL", "RAW", "JSON" or "JS"
"out_io" "null", "pipe", "file" or "buffer"
"out_timeout" timeout in msec
"err_status" "open", "buffered" or "closed"
"err_mode" "NL", "RAW", "JSON" or "JS"
"err_io" "out", "null", "pipe", "file" or "buffer"
"err_timeout" timeout in msec
"in_status" "open" or "closed"
"in_mode" "NL", "RAW", "JSON" or "JS"
"in_io" "null", "pipe", "file" or "buffer"
"in_timeout" timeout in msec
Can also be used as a |method|: >
GetChannel()->ch_info()
ch_log({msg} [, {handle}]) *ch_log()*
Write {msg} in the channel log file, if it was opened with
|ch_logfile()|.
When {handle} is passed the channel number is used for the
message.
{handle} can be a Channel or a Job that has a Channel. The
Channel must be open for the channel number to be used.
Can also be used as a |method|: >
'did something'->ch_log()
ch_logfile({fname} [, {mode}]) *ch_logfile()*
Start logging channel activity to {fname}.
When {fname} is an empty string: stop logging.
When {mode} is omitted or "a" append to the file.
When {mode} is "w" start with an empty file.
Use |ch_log()| to write log messages. The file is flushed
after every message, on Unix you can use "tail -f" to see what
is going on in real time.
This function is not available in the |sandbox|.
NOTE: the channel communication is stored in the file, be
aware that this may contain confidential and privacy sensitive
information, e.g. a password you type in a terminal window.
Can also be used as a |method|: >
'logfile'->ch_logfile('w')
ch_open({address} [, {options}]) *ch_open()*
Open a channel to {address}. See |channel|.
Returns a Channel. Use |ch_status()| to check for failure.
{address} has the form "hostname:port", e.g.,
"localhost:8765".
If {options} is given it must be a |Dictionary|.
See |channel-open-options|.
Can also be used as a |method|: >
GetAddress()->ch_open()
ch_read({handle} [, {options}]) *ch_read()*
Read from {handle} and return the received message.
{handle} can be a Channel or a Job that has a Channel.
For a NL channel this waits for a NL to arrive, except when
there is nothing more to read (channel was closed).
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_read()
ch_readblob({handle} [, {options}]) *ch_readblob()*
Like ch_read() but reads binary data and returns a |Blob|.
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_readblob()
ch_readraw({handle} [, {options}]) *ch_readraw()*
Like ch_read() but for a JS and JSON channel does not decode
the message. For a NL channel it does not block waiting for
the NL to arrive, but otherwise works like ch_read().
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_readraw()
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
Send {expr} over {handle}. The {expr} is encoded
according to the type of channel. The function cannot be used
with a raw channel.
See |channel-use|. *E912*
{handle} can be a Channel or a Job that has a Channel.
Can also be used as a |method|: >
GetChannel()->ch_sendexpr(expr)
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
Send |String| or |Blob| {expr} over {handle}.
Works like |ch_sendexpr()|, but does not encode the request or
decode the response. The caller is responsible for the
correct contents. Also does not add a newline for a channel
in NL mode, the caller must do that. The NL in the response
is removed.
See |channel-use|.
Can also be used as a |method|: >
GetChannel()->ch_sendraw(rawexpr)
ch_setoptions({handle}, {options}) *ch_setoptions()*
Set options on {handle}:
"callback" the channel callback
"timeout" default read timeout in msec
"mode" mode for the whole channel
See |ch_open()| for more explanation.
{handle} can be a Channel or a Job that has a Channel.
Note that changing the mode may cause queued messages to be
lost.
These options cannot be changed:
"waittime" only applies to |ch_open()|
Can also be used as a |method|: >
GetChannel()->ch_setoptions(options)
ch_status({handle} [, {options}]) *ch_status()*
Return the status of {handle}:
"fail" failed to open the channel
"open" channel can be used
"buffered" channel can be read, not written to
"closed" channel can not be used
{handle} can be a Channel or a Job that has a Channel.
"buffered" is used when the channel was closed but there is
still data that can be obtained with |ch_read()|.
If {options} is given it can contain a "part" entry to specify
the part of the channel to return the status for: "out" or
"err". For example, to get the error status: >
ch_status(job, {"part": "err"})
<
Can also be used as a |method|: >
GetChannel()->ch_status()
==============================================================================
9. 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})
@ -491,7 +752,7 @@ handle that separately, add an "err_cb" handler: >
If you want to handle both stderr and stdout with one handler use the
"callback" option: >
let job = job_start(command, {"callback": "MyHandler"})
let job = job_start(command, {"callback": "MyHandler"})
Depending on the system, starting a job can put Vim in the background, the
started job gets the focus. To avoid that, use the `foreground()` function.
@ -549,7 +810,7 @@ add a close callback and read the output there: >
You will want to do something more useful than "echomsg".
==============================================================================
9. Starting a job without a channel *job-start-nochannel*
10. Starting a job without a channel *job-start-nochannel*
To start another process without creating a channel: >
let job = job_start(command,
@ -576,7 +837,181 @@ Note that the waittime for ch_open() gives the job one second to make the port
available.
==============================================================================
10. Job options *job-options*
11. Job functions *job-functions-details*
job_getchannel({job}) *job_getchannel()*
Get the channel handle that {job} is using.
To check if the job has no channel: >
if string(job_getchannel()) == 'channel fail'
<
Can also be used as a |method|: >
GetJob()->job_getchannel()
job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}:
"status" what |job_status()| returns
"channel" what |job_getchannel()| returns
"cmd" List of command arguments used to start the job
"process" process ID
"tty_in" terminal input name, empty when none
"tty_out" terminal output name, empty when none
"exitval" only valid when "status" is "dead"
"exit_cb" function to be called on exit
"stoponexit" |job-stoponexit|
Only in Unix:
"termsig" the signal which terminated the process
(See |job_stop()| for the values)
only valid when "status" is "dead"
Only in MS-Windows:
"tty_type" Type of virtual console in use.
Values are "winpty" or "conpty".
See 'termwintype'.
Without any arguments, returns a List with all Job objects.
Can also be used as a |method|: >
GetJob()->job_info()
job_setoptions({job}, {options}) *job_setoptions()*
Change options for {job}. Supported are:
"stoponexit" |job-stoponexit|
"exit_cb" |job-exit_cb|
Can also be used as a |method|: >
GetJob()->job_setoptions(options)
job_start({command} [, {options}]) *job_start()*
Start a job and return a Job object. Unlike |system()| and
|:!cmd| this does not wait for the job to finish.
To start a job in a terminal window see |term_start()|.
If the job fails to start then |job_status()| on the returned
Job object results in "fail" and none of the callbacks will be
invoked.
{command} can be a String. This works best on MS-Windows. On
Unix it is split up in white-separated parts to be passed to
execvp(). Arguments in double quotes can contain white space.
{command} can be a List, where the first item is the executable
and further items are the arguments. All items are converted
to String. This works best on Unix.
On MS-Windows, job_start() makes a GUI application hidden. If
want to show it, Use |:!start| instead.
The command is executed directly, not through a shell, the
'shell' option is not used. To use the shell: >
let job = job_start(["/bin/sh", "-c", "echo hello"])
< Or: >
let job = job_start('/bin/sh -c "echo hello"')
< Note that this will start two processes, the shell and the
command it executes. If you don't want this use the "exec"
shell command.
On Unix $PATH is used to search for the executable only when
the command does not contain a slash.
The job will use the same terminal as Vim. If it reads from
stdin the job and Vim will be fighting over input, that
doesn't work. Redirect stdin and stdout to avoid problems: >
let job = job_start(['sh', '-c', "myserver </dev/null >/dev/null"])
<
The returned Job object can be used to get the status with
|job_status()| and stop the job with |job_stop()|.
Note that the job object will be deleted if there are no
references to it. This closes the stdin and stderr, which may
cause the job to fail with an error. To avoid this keep a
reference to the job. Thus instead of: >
call job_start('my-command')
< use: >
let myjob = job_start('my-command')
< and unlet "myjob" once the job is not needed or is past the
point where it would fail (e.g. when it prints a message on
startup). Keep in mind that variables local to a function
will cease to exist if the function returns. Use a
script-local variable if needed: >
let s:myjob = job_start('my-command')
<
{options} must be a Dictionary. It can contain many optional
items, see |job-options|.
Can also be used as a |method|: >
BuildCommand()->job_start()
job_status({job}) *job_status()* *E916*
Returns a String with the status of {job}:
"run" job is running
"fail" job failed to start
"dead" job died or was stopped after running
On Unix a non-existing command results in "dead" instead of
"fail", because a fork happens before the failure can be
detected.
If an exit callback was set with the "exit_cb" option and the
job is now detected to be "dead" the callback will be invoked.
For more information see |job_info()|.
Can also be used as a |method|: >
GetJob()->job_status()
job_stop({job} [, {how}]) *job_stop()*
Stop the {job}. This can also be used to signal the job.
When {how} is omitted or is "term" the job will be terminated.
For Unix SIGTERM is sent. On MS-Windows the job will be
terminated forcedly (there is no "gentle" way).
This goes to the process group, thus children may also be
affected.
Effect for Unix:
"term" SIGTERM (default)
"hup" SIGHUP
"quit" SIGQUIT
"int" SIGINT
"kill" SIGKILL (strongest way to stop)
number signal with that number
Effect for MS-Windows:
"term" terminate process forcedly (default)
"hup" CTRL_BREAK
"quit" CTRL_BREAK
"int" CTRL_C
"kill" terminate process forcedly
Others CTRL_BREAK
On Unix the signal is sent to the process group. This means
that when the job is "sh -c command" it affects both the shell
and the command.
The result is a Number: 1 if the operation could be executed,
0 if "how" is not supported on the system.
Note that even when the operation was executed, whether the
job was actually stopped needs to be checked with
|job_status()|.
If the status of the job is "dead", the signal will not be
sent. This is to avoid to stop the wrong job (esp. on Unix,
where process numbers are recycled).
When using "kill" Vim will assume the job will die and close
the channel.
Can also be used as a |method|: >
GetJob()->job_stop()
==============================================================================
12. 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
@ -770,7 +1205,7 @@ accessible for others). Use |setfperm()| to change this.
If the file already exists it is truncated.
==============================================================================
11. Controlling a job *job-control*
13. Controlling a job *job-control*
To get the status of a job: >
echo job_status(job)
@ -786,7 +1221,7 @@ signals. E.g. to force a job to stop, "kill it": >
For more options see |job_stop()|.
==============================================================================
12. Using a prompt buffer *prompt-buffer*
14. Using a prompt buffer *prompt-buffer*
If you want to type input for the job in a Vim window you have a few options:
- Use a normal buffer and handle all possible commands yourself.

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
*cmdline.txt* For Vim version 8.2. Last change: 2019 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -27,7 +27,6 @@ Basic command line editing is explained in chapter 20 of the user manual
Normally characters are inserted in front of the cursor position. You can
move around in the command-line with the left and right cursor keys. With the
<Insert> key, you can toggle between inserting and overstriking characters.
{Vi: can only alter the last character in the line}
Note that if your keyboard does not have working cursor keys or any of the
other special keys, you can use ":cnoremap" to define another key for them.
@ -66,7 +65,6 @@ Notes:
- All searches are put in the search history, including the ones that come
from commands like "*" and "#". But for a mapping, only the last search is
remembered (to avoid that long mappings trash the history).
{Vi: no history}
{not available when compiled without the |+cmdline_hist| feature}
There is an automatic completion of names on the command-line; see
@ -77,12 +75,19 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
decimal value of a single byte. The non-digit and the three
digits are not considered for mapping. This works the same
way as in Insert mode (see above, |i_CTRL-V|).
Note: Under Windows CTRL-V is often mapped to paste text.
Note: Under MS-Windows CTRL-V is often mapped to paste text.
Use CTRL-Q instead then.
When |modifyOtherKeys| is enabled then special Escape sequence
is converted back to what it was without |modifyOtherKeys|,
unless the Shift key is also pressed.
*c_CTRL-Q*
CTRL-Q Same as CTRL-V. But with some terminals it is used for
control flow, it doesn't work then.
CTRL-SHIFT-V *c_CTRL-SHIFT-V* *c_CTRL-SHIFT-Q*
CTRL-SHIFT-Q Works just like CTRL-V, unless |modifyOtherKeys| is active,
then it inserts the Escape sequence for a key with modifiers.
*c_<Left>* *c_Left*
<Left> cursor left
*c_<Right>* *c_Right*
@ -124,14 +129,14 @@ CTRL-U Remove all characters between the cursor position and
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>* *c_Insert*
<Insert> Toggle between insert and overstrike. {not in Vi}
<Insert> Toggle between insert and overstrike.
{char1} <BS> {char2} or *c_digraph*
CTRL-K {char1} {char2} *c_CTRL-K*
enter digraph (see |digraphs|). When {char1} is a special
key, the code for that key is inserted in <> form. {not in Vi}
key, the code for that key is inserted in <> form.
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
CTRL-R {register} *c_CTRL-R* *c_<C-R>*
Insert the contents of a numbered or named register. Between
typing CTRL-R and the second character '"' will be displayed
to indicate that you are expected to enter the name of a
@ -165,7 +170,7 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
too.
When the result is a Float it's automatically
converted to a String.
See |registers| about registers. {not in Vi}
See |registers| about registers.
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
inserting the resulting string. Use CTRL-R CTRL-R to set the
@ -188,14 +193,13 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
currently displayed match is used. With CTRL-W the part of
the word that was already typed is not inserted again.
{not in Vi}
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
included}
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-R {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-O {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
Insert register or object under the cursor. Works like
|c_CTRL-R| but inserts the text literally. For example, if
register a contains "xy^Hz" (where ^H is a backspace),
@ -313,11 +317,9 @@ CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
off, since you are expected to type a command. After
switching it on with CTRL-^, the new state is not used again
for the next command or Search pattern.
{not in Vi}
*c_CTRL-]*
CTRL-] Trigger abbreviation, without inserting a character. {not in
Vi}
CTRL-] Trigger abbreviation, without inserting a character.
For Emacs-style editing on the command-line see |emacs-keys|.
@ -332,7 +334,6 @@ terminals)
*:his* *:history*
:his[tory] Print the history of last entered commands.
{not in Vi}
{not available when compiled without the |+cmdline_hist|
feature}
@ -344,7 +345,6 @@ terminals)
i[nput] or @ input line history
d[ebug] or > debug command history
a[ll] all of the above
{not in Vi}
If the numbers {first} and/or {last} are given, the respective
range of entries from a history is listed. These numbers can
@ -387,10 +387,8 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
The number of help item matches is limited (currently to 300) to avoid a long
delay when there are very many matches.
These are the commands that can be used:
@ -709,7 +707,7 @@ commands ":write" and ":global" have the whole file (1,$) as default.
If more line specifiers are given than required for the command, the first
one(s) will be ignored.
Line numbers may be specified with: *:range* *E14* *{address}*
Line numbers may be specified with: *:range* *{address}*
{number} an absolute line number
. the current line *:.*
$ the last line in the file *:$*
@ -918,8 +916,7 @@ Note: these are typed literally, they are not special keys!
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
feature.
These modifiers can be given, in this order:
:p Make file name a full path. Must be the first modifier. Also
changes "~/" (and "~user/" for Unix and VMS) to the path for
@ -936,8 +933,7 @@ These modifiers can be given, in this order:
directory.
:. Reduce file name to be relative to current directory, if
possible. File name is unmodified if it is not below the
current directory, but on MS-Windows the drive is removed if
it is the current drive.
current directory.
For maximum shortness, use ":~:.".
:h Head of the file name (the last component and any separators
removed). Cannot be used with :e, :r or :t.
@ -946,9 +942,9 @@ These modifiers can be given, in this order:
separator is removed. Thus ":p:h" on a directory name results
on the directory name itself (without trailing slash).
When the file name is an absolute path (starts with "/" for
Unix; "x:\" for MS-DOS, WIN32, OS/2; "drive:" for Amiga), that
part is not removed. When there is no head (path is relative
to current directory) the result is empty.
Unix; "x:\" for Win32; "drive:" for Amiga), that part is not
removed. When there is no head (path is relative to current
directory) the result is empty.
:t Tail of the file name (last component of the name). Must
precede any :r or :e.
:r Root of the file name (the last extension removed). When
@ -1045,12 +1041,12 @@ option contains "sh", this is done twice, to avoid the shell trying to expand
the "!".
*filename-backslash*
For filesystems that use a backslash as directory separator (MS-DOS, Windows,
OS/2), it's a bit difficult to recognize a backslash that is used to escape
the special meaning of the next character. The general rule is: If the
backslash is followed by a normal file name character, it does not have a
special meaning. Therefore "\file\foo" is a valid file name, you don't have
to type the backslash twice.
For filesystems that use a backslash as directory separator (MS-Windows), it's
a bit difficult to recognize a backslash that is used to escape the special
meaning of the next character. The general rule is: If the backslash is
followed by a normal file name character, it does not have a special meaning.
Therefore "\file\foo" is a valid file name, you don't have to type the
backslash twice.
An exception is the '$' sign. It is a valid character in a file name. But
to avoid a file name like "$home" to be interpreted as an environment variable,
@ -1071,8 +1067,7 @@ Also see |`=|.
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
{not available when compiled without the |+cmdline_hist| or |+vertsplit|
feature}
{not available when compiled without the |+cmdline_hist| feature}
OPEN *c_CTRL-F* *q:* *q/* *q?*
@ -1147,7 +1142,6 @@ VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the |+vertsplit| feature
Some options are set when the command-line window is opened:
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax
@ -1183,11 +1177,9 @@ edited as described in |cmdwin-char|.
AUTOCOMMANDS
Two autocommand events are used: |CmdwinEnter| and |CmdwinLeave|. Since this
window is of a special type, the WinEnter, WinLeave, BufEnter and BufLeave
events are not triggered. You can use the Cmdwin events to do settings
specifically for the command-line window. Be careful not to cause side
effects!
Two autocommand events are used: |CmdwinEnter| and |CmdwinLeave|. You can use
the Cmdwin events to do settings specifically for the command-line window.
Be careful not to cause side effects!
Example: >
:au CmdwinEnter : let b:cpt_save = &cpt | set cpt=.
:au CmdwinLeave : let &cpt = b:cpt_save

View File

@ -1,4 +1,4 @@
*debug.txt* For Vim version 8.1. Last change: 2017 Jul 15
*debug.txt* For Vim version 8.2. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -78,15 +78,10 @@ matches the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler,
then the PDB was built with the EXE.
Alternatively, if you have the source files, you can import Make_ivc.mak into
Visual Studio as a workspace. Then select a debug configuration, build and
you can do all kinds of debugging (set breakpoints, watch variables, etc.).
If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
For other compilers, you should always use the corresponding debugger: TD for
a Vim executable compiled with the Borland compiler; gdb (see above
|debug-gcc|) for the Cygwin and MinGW compilers.
For other compilers, you should always use the corresponding debugger: gdb
(see above |debug-gcc|) for the Cygwin and MinGW compilers.
*debug-vs2005*

View File

@ -1,4 +1,4 @@
*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
*debugger.txt* For Vim version 8.2. Last change: 2019 Dec 21
VIM REFERENCE MANUAL by Gordon Prieur
@ -6,18 +6,17 @@
Debugger Support Features *debugger-support*
These features are for integration with a debugger or an Integrated
Programming Environment (IPE) or Integrated Development Environment (IDE).
For the debugger running in a Vim terminal window see |terminal-debugger|.
1. Debugger Features |debugger-features|
2. Vim Compile Options |debugger-compilation|
3. Integrated Debuggers |debugger-integration|
{Vi does not have any of these features}
==============================================================================
1. Debugger Features *debugger-features*
The following features are available for an integration with a debugger or
an Integrated Programming Environment (IPE) or Integrated Development
Environment (IDE):
The following features are available:
Alternate Command Input |alt-input|
Debug Signs |debug-signs|
@ -88,7 +87,11 @@ This feature allows a debugger, or other external tool, to display dynamic
information based on where the mouse is pointing. The purpose of this feature
was to allow Sun's Visual WorkShop debugger to display expression evaluations.
However, the feature was implemented in as general a manner as possible and
could be used for displaying other information as well.
could be used for displaying other information as well. The functionality is
limited though, for advanced popups see |popup-window|.
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
The Balloon Evaluation has some settable parameters too. For Motif the font
list and colors can be set via X resources (XmNballoonEvalFontList,
@ -106,16 +109,13 @@ The Balloon evaluation functions are also used to show a tooltip for the
toolbar. The 'ballooneval' option does not need to be set for this. But the
other settings apply.
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
==============================================================================
2. Vim Compile Options *debugger-compilation*
The debugger features were added explicitly for use with Sun's Visual
WorkShop Integrated Programming Environment (ipe). However, they were done
in as generic a manner as possible so that integration with other debuggers
could also use some or all of the tools used with Sun's ipe.
The debugger features were added for use with Sun's Visual WorkShop Integrated
Programming Environment (ipe). However, they were done in as generic a manner
as possible so that integration with other debuggers could also use these
features.
The following compile time preprocessor variables control the features:
@ -125,18 +125,10 @@ The following compile time preprocessor variables control the features:
Message Footer FEAT_FOOTER
Balloon Evaluation FEAT_BEVAL
The first integration with a full IPE/IDE was with Sun Visual WorkShop. To
compile a gvim which interfaces with VWS set the following flag, which sets
all the above flags:
Sun Visual WorkShop FEAT_SUN_WORKSHOP
==============================================================================
3. Integrated Debuggers *debugger-integration*
One fully integrated debugger/IPE/IDE is Sun's Visual WorkShop Integrated
Programming Environment.
The support specifically for Sun Visual WorkShop has been removed, since the
product no longer exists.
For Sun NetBeans support see |netbeans|.
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
*develop.txt* For Vim version 8.2. Last change: 2019 Nov 22
VIM REFERENCE MANUAL by Bram Moolenaar
@ -195,10 +195,14 @@ problems for existing patches. Only use them for new and changed code.
Comments ~
Traditionally Vim uses /* comments */. We intend to keep it that way,
especially for file and function headers. For new code or lines of code that
change, it is allowed to use // comments. Especially when it comes after
code:
Traditionally Vim uses /* comments */. We intend to keep it that way
for file and function headers and larger blocks of code, E.g.:
/*
* The "foo" argument does something useful.
* Return OK or FAIL.
*/
For new code or lines of code that change, it is preferred to use // comments.
Especially when it comes after code:
int some_var; // single line comment useful here
Enums ~
@ -278,7 +282,6 @@ wait don't use as argument to a function, conflicts with types.h
index shadows global declaration
time shadows global declaration
new C++ reserved keyword
try Borland C++ doesn't like it to be used as a variable.
clear Mac curses.h
echo Mac curses.h
@ -530,7 +533,7 @@ the best method is. Alternatives:
memory use, but takes a long time. On a fast PC it takes a couple of
seconds for English, which can be acceptable for interactive use. But for
some languages it takes more than ten seconds (e.g., German, Catalan),
which is unacceptable slow. For batch processing (automatic corrections)
which is unacceptably slow. For batch processing (automatic corrections)
it's too slow for all languages.
2. Use a trie for the soundfolded words, so that searching can be done just
like how it works without soundfolding. This requires remembering a list

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.1. Last change: 2019 Feb 27
*diff.txt* For Vim version 8.2. Last change: 2019 Nov 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -16,8 +16,6 @@ The basics are explained in section |08.7| of the user manual.
4. Copying diffs |copy-diffs|
5. Diff options |diff-options|
{not in Vi}
==============================================================================
1. Starting diff mode *start-vimdiff*
@ -70,11 +68,12 @@ reset to the global value.
The options can still be overruled from a modeline when re-editing the file.
However, 'foldmethod' and 'wrap' won't be set from a modeline when 'diff' is
set.
See `:diffoff` for an easy way to revert the options.
The differences shown are actually the differences in the buffer. Thus if you
make changes after loading a file, these will be included in the displayed
diffs. You might have to do ":diffupdate" now and then, not all changes are
immediately taken into account.
immediately taken into account, especially when using an external diff command.
In your .vimrc file you could do something special when Vim was started in
diff mode. You could use a construct like this: >
@ -187,7 +186,7 @@ hidden buffers. You can use ":hide" to close a window without unloading the
buffer. If you don't want a buffer to remain used for the diff do ":set
nodiff" before hiding it.
*:dif* *:diffupdate*
*:dif* *:diff* *:diffupdate*
:dif[fupdate][!] Update the diff highlighting and folds.
Vim attempts to keep the differences updated when you make changes to the
@ -337,7 +336,7 @@ After setting this variable, reload the syntax script: >
FINDING THE DIFFERENCES *diff-diffexpr*
The 'diffexpr' option can be set to use something else than the standard
"diff" program to compare two files and find the differences.
"diff" program to compare two files and find the differences. *E959*
When 'diffexpr' is empty, Vim uses this command to find the differences
between file1 and file2: >

View File

@ -1,4 +1,4 @@
*digraph.txt* For Vim version 8.1. Last change: 2019 Feb 17
*digraph.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,7 +18,6 @@ An alternative is using the 'keymap' option.
2. Using digraphs |digraphs-use|
3. Default digraphs |digraphs-default|
{Vi does not have any of these commands}
==============================================================================
1. Defining digraphs *digraphs-define*

View File

@ -1,7 +1,8 @@
/* vim:set ts=4 sw=4:
* this program makes a tags file for vim_ref.txt
*
* Usage: doctags vim_ref.txt vim_win.txt ... >tags
* This program makes a tags file for help text.
*
* Usage: doctags *.txt ... >tags
*
* A tag in this context is an identifier between stars, e.g. *c_files*
*/

13
runtime/doc/doctags.vim Normal file
View File

@ -0,0 +1,13 @@
" This script makes a tags file for help text.
"
" Usage: vim -eX -u doctags.vim
try
helptags ++t .
echo 'help tags updated'
catch
echo v:exception
echo 'help tags failed update'
endtry
echo ''
qa!

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.1. Last change: 2018 Dec 16
*editing.txt* For Vim version 8.2. Last change: 2019 Dec 22
VIM REFERENCE MANUAL by Bram Moolenaar
@ -44,14 +44,14 @@ An alternate file name is remembered for each window.
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
name. Note that commands invoked indirectly (e.g.,
with a function) may still set the alternate file
name. {not in Vi}
name.
All file names are remembered in the buffer list. When you enter a file name,
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
the file name is added to the list. You can use the buffer list to remember
which files you edited and to quickly switch from one file to another (e.g.,
to copy text) with the |CTRL-^| command. First type the number of the file
and then hit CTRL-^. {Vi: only one alternate file name is remembered}
and then hit CTRL-^.
CTRL-G or *CTRL-G* *:f* *:fi* *:file*
@ -60,14 +60,13 @@ CTRL-G or *CTRL-G* *:f* *:fi* *:file*
option is set), and the file status (readonly,
modified, read errors, new file). See the 'shortmess'
option about how to make this message shorter.
{Vi does not include column number}
:f[ile]! like |:file|, but don't truncate the name even when
'shortmess' indicates this.
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
buffer number is also given. {not in Vi}
buffer number is also given.
*g_CTRL-G* *word-count* *byte-count*
g CTRL-G Prints the current position of the cursor in five
@ -80,7 +79,6 @@ g CTRL-G Prints the current position of the cursor in five
column are shown, separated with a dash.
Also see the 'ruler' option and the |wordcount()|
function.
{not in Vi}
*v_g_CTRL-G*
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
@ -88,7 +86,6 @@ g CTRL-G Prints the current position of the cursor in five
displayed.
In Blockwise mode, Column count is also shown. (For
{Visual} see |Visual-mode|.)
{not in VI}
*:file_f*
:f[ile][!] {name} Sets the current file name to {name}. The optional !
@ -98,14 +95,12 @@ g CTRL-G Prints the current position of the cursor in five
to hold the old name.
*:0file*
:0f[ile][!] Remove the name of the current buffer. The optional !
avoids truncating the message, as with |:file|. {not
in Vi}
avoids truncating the message, as with |:file|.
:buffers
:files
:ls List all the currently known file names. See
'windows.txt' |:files| |:buffers| |:ls|. {not in
Vi}
|windows.txt| |:files| |:buffers| |:ls|.
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
@ -136,7 +131,7 @@ You can use this file if you discover that you need the original file. See
also the 'patchmode' option. The name of the backup file is normally the same
as the original file with 'backupext' appended. The default "~" is a bit
strange to avoid accidentally overwriting existing files. If you prefer ".bak"
change the 'backupext' option. Extra dots are replaced with '_' on MS-DOS
change the 'backupext' option. Extra dots are replaced with '_' on MS-Windows
machines, when Vim has detected that an MS-DOS-like filesystem is being used
(e.g., messydos or crossdos) or when the 'shortname' option is on. The
backup file can be placed in another directory by setting 'backupdir'.
@ -202,7 +197,6 @@ If you want to keep the changed buffer without saving it, switch on the
buffer and 'autowriteall' isn't set or the file can't
be written.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit!* *discard*
:e[dit]! [++opt] [+cmd]
@ -210,7 +204,6 @@ If you want to keep the changed buffer without saving it, switch on the
the current buffer. This is useful if you want to
start all over again.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit_f*
:e[dit] [++opt] [+cmd] {file}
@ -219,14 +212,12 @@ If you want to keep the changed buffer without saving it, switch on the
buffer, unless 'hidden' is set or 'autowriteall' is
set and the file can be written.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit!_f*
:e[dit]! [++opt] [+cmd] {file}
Edit {file} always. Discard any changes to the
current buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:e[dit] [++opt] [+cmd] #[count]
Edit the [count]th buffer (as shown by |:files|).
@ -234,7 +225,6 @@ If you want to keep the changed buffer without saving it, switch on the
#" doesn't work if the alternate buffer doesn't have a
file name, while CTRL-^ still works then.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:ene* *:enew*
:ene[w] Edit a new, unnamed buffer. This fails when changes
@ -244,19 +234,17 @@ If you want to keep the changed buffer without saving it, switch on the
If 'fileformats' is not empty, the first format given
will be used for the new buffer. If 'fileformats' is
empty, the 'fileformat' of the current buffer is used.
{not in Vi}
*:ene!* *:enew!*
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
the current buffer.
Set 'fileformat' like |:enew|.
{not in Vi}
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
{not in Vi} {not available when the |+file_in_path|
feature was disabled at compile time}
{not available when the |+file_in_path| feature was
disabled at compile time}
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
@ -278,7 +266,7 @@ If you want to keep the changed buffer without saving it, switch on the
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex-mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
'readonly' option for this buffer. {not in Vi}
'readonly' option for this buffer.
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file. Mostly the alternate file is
@ -297,7 +285,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
":e #[count]"). This is a quick way to switch between
files.
See |CTRL-^| above for further details.
{not in Vi}
[count]]f *]f* *[f*
[count][f Same as "gf". Deprecated.
@ -331,7 +318,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
For Unix the '~' character is expanded, like in
"~user/file". Environment variables are expanded too
|expand-env|.
{not in Vi}
{not available when the |+file_in_path| feature was
disabled at compile time}
@ -341,15 +327,17 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
Leading blanks are skipped, otherwise all blanks and
special characters are included in the file name.
(For {Visual} see |Visual-mode|.)
{not in VI}
*gF*
[count]gF Same as "gf", except if a number follows the file
name, then the cursor is positioned on that line in
the file. The file name and the number must be
separated by a non-filename (see 'isfname') and
non-numeric character. White space between the
filename, the separator and the number are ignored.
the file.
The file name and the number must be separated by a
non-filename (see 'isfname') and non-numeric
character. " line " is also recognized, like it is
used in the output of `:verbose command UserCmd`
White space between the filename, the separator and
the number are ignored.
Examples:
eval.c:10 ~
eval.c @ 20 ~
@ -534,9 +522,9 @@ The 'fileformat' option sets the <EOL> style for a file:
Previously 'textmode' was used. It is obsolete now.
When reading a file, the mentioned characters are interpreted as the <EOL>.
In DOS format (default for MS-DOS, OS/2 and Win32), <CR><NL> and <NL> are both
interpreted as the <EOL>. Note that when writing the file in DOS format,
<CR> characters will be added for each single <NL>. Also see |file-read|.
In DOS format (default for Win32), <CR><NL> and <NL> are both interpreted as
the <EOL>. Note that when writing the file in DOS format, <CR> characters
will be added for each single <NL>. Also see |file-read|.
When writing a file, the mentioned characters are used for <EOL>. For DOS
format <CR><NL> is used. Also see |DOS-format-write|.
@ -557,15 +545,16 @@ If you start editing a new file and the 'fileformats' option is not empty
(which is the default), Vim will try to detect whether the lines in the file
are separated by the specified formats. When set to "unix,dos", Vim will
check for lines with a single <NL> (as used on Unix and Amiga) or by a <CR>
<NL> pair (MS-DOS). Only when ALL lines end in <CR><NL>, 'fileformat' is set
to "dos", otherwise it is set to "unix". When 'fileformats' includes "mac",
and no <NL> characters are found in the file, 'fileformat' is set to "mac".
<NL> pair (MS-Windows). Only when ALL lines end in <CR><NL>, 'fileformat' is
set to "dos", otherwise it is set to "unix". When 'fileformats' includes
"mac", and no <NL> characters are found in the file, 'fileformat' is set to
"mac".
If the 'fileformat' option is set to "dos" on non-MS-DOS systems the message
"[dos format]" is shown to remind you that something unusual is happening. On
MS-DOS systems you get the message "[unix format]" if 'fileformat' is set to
"unix". On all systems but the Macintosh you get the message "[mac format]"
if 'fileformat' is set to "mac".
If the 'fileformat' option is set to "dos" on non-MS-Windows systems the
message "[dos format]" is shown to remind you that something unusual is
happening. On MS-Windows systems you get the message "[unix format]" if
'fileformat' is set to "unix". On all systems but the Macintosh you get the
message "[mac format]" if 'fileformat' is set to "mac".
If the 'fileformats' option is empty and DOS format is used, but while reading
a file some lines did not end in <CR><NL>, "[CR missing]" will be included in
@ -608,7 +597,7 @@ You can use the argument list with the following commands, and with the
expression functions |argc()| and |argv()|. These all work on the argument
list of the current window.
*:ar* *:args*
*:ar* *:arg* *:args*
:ar[gs] Print the argument list, with the current file in
square brackets.
@ -617,14 +606,12 @@ list of the current window.
the first one. This fails when changes have been made
and Vim does not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:ar[gs]! [++opt] [+cmd] {arglist} *:args_f!*
Define {arglist} as the new argument list and edit
the first one. Discard any changes to the current
buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
Add {name}s to the argument list and edit it.
@ -637,7 +624,6 @@ list of the current window.
still be added to the argument list, but won't be
edited. No check for duplicates is done.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
:[count]arga[dd]
@ -659,7 +645,6 @@ list of the current window.
There is no check for duplicates, it is possible to
add a file to the argument list twice.
The currently edited file is not changed.
{not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
@ -673,7 +658,6 @@ list of the current window.
when it's deleted from the argument list.
Example: >
:argdel *.obj
< {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
@ -688,7 +672,6 @@ list of the current window.
< Removes all the files from the arglist.
When the last number in the range is too high, up to
the last argument is deleted.
{not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
@ -697,25 +680,21 @@ list of the current window.
when changes have been made and Vim does not want to
|abandon| the current buffer.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]argu[ment]! [count] [++opt] [+cmd]
Edit file [count] in the argument list, discard any
changes to the current buffer. When [count] is
omitted the current entry is used.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
been made and Vim does not want to |abandon| the
current buffer. Also see |++opt| and |+cmd|. {Vi: no
count or ++opt}.
current buffer. Also see |++opt| and |+cmd|.
:[count]n[ext]! [++opt] [+cmd]
Edit [count] next file, discard any changes to the
buffer. Also see |++opt| and |+cmd|. {Vi: no count
or ++opt}.
buffer. Also see |++opt| and |+cmd|.
:n[ext] [++opt] [+cmd] {arglist} *:next_f*
Same as |:args_f|.
@ -727,65 +706,63 @@ list of the current window.
Edit [count] previous file in argument list. This
fails when changes have been made and Vim does not
want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {Vi: no count or ++opt}.
Also see |++opt| and |+cmd|.
:[count]N[ext]! [count] [++opt] [+cmd]
Edit [count] previous file in argument list. Discard
any changes to the buffer. Also see |++opt| and
|+cmd|. {Vi: no count or ++opt}.
|+cmd|.
:[count]prev[ious] [count] [++opt] [+cmd] *:prev* *:previous*
Same as :Next. Also see |++opt| and |+cmd|. {Vi:
only in some versions}
Same as :Next. Also see |++opt| and |+cmd|.
*:rew* *:rewind*
:rew[ind] [++opt] [+cmd]
Start editing the first file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {Vi: no ++opt}
Also see |++opt| and |+cmd|.
:rew[ind]! [++opt] [+cmd]
Start editing the first file in the argument list.
Discard any changes to the buffer. Also see |++opt|
and |+cmd|. {Vi: no ++opt}
and |+cmd|.
*:fir* *:first*
:fir[st][!] [++opt] [+cmd]
Other name for ":rewind". {not in Vi}
Other name for ":rewind".
*:la* *:last*
:la[st] [++opt] [+cmd]
Start editing the last file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {not in Vi}
Also see |++opt| and |+cmd|.
:la[st]! [++opt] [+cmd]
Start editing the last file in the argument list.
Discard any changes to the buffer. Also see |++opt|
and |+cmd|. {not in Vi}
and |+cmd|.
*:wn* *:wnext*
:[count]wn[ext] [++opt]
Write current file and start editing the [count]
next file. Also see |++opt| and |+cmd|. {not in Vi}
next file. Also see |++opt| and |+cmd|.
:[count]wn[ext] [++opt] {file}
Write current file to {file} and start editing the
[count] next file, unless {file} already exists and
the 'writeany' option is off. Also see |++opt| and
|+cmd|. {not in Vi}
|+cmd|.
:[count]wn[ext]! [++opt] {file}
Write current file to {file} and start editing the
[count] next file. Also see |++opt| and |+cmd|. {not
in Vi}
[count] next file. Also see |++opt| and |+cmd|.
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
Same as :wnext, but go to previous file instead of
next. {not in Vi}
next.
The [count] in the commands above defaults to one. For some commands it is
possible to use two counts. The last one (rightmost one) is used.
@ -826,8 +803,6 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
Doesn't start editing another file.
@ -878,7 +853,6 @@ USING THE ARGUMENT LIST
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
{not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@ -970,12 +944,11 @@ slower (but safer).
When 'filetype' is empty filetype detection is done
with the new name, before the file is written.
When the write was successful 'readonly' is reset.
{not in Vi}
*:up* *:update*
:[range]up[date][!] [++opt] [>>] [file]
Like ":write", but only write when the buffer has been
modified. {not in Vi}
modified.
WRITING WITH MULTIPLE BUFFERS *buffer-write*
@ -983,11 +956,11 @@ WRITING WITH MULTIPLE BUFFERS *buffer-write*
*:wa* *:wall*
:wa[ll] Write all changed buffers. Buffers without a file
name cause an error message. Buffers which are
readonly are not written. {not in Vi}
readonly are not written.
:wa[ll]! Write all changed buffers, even the ones that are
readonly. Buffers without a file name are not
written and cause an error message. {not in Vi}
written and cause an error message.
Vim will warn you if you try to overwrite a file that has been changed
@ -1054,11 +1027,11 @@ lost the original file.
*DOS-format-write*
If the 'fileformat' is "dos", <CR> <NL> is used for <EOL>. This is default
for MS-DOS, Win32 and OS/2. On other systems the message "[dos format]" is
shown to remind you that an unusual <EOL> was used.
for Win32. On other systems the message "[dos format]" is shown to remind you
that an unusual <EOL> was used.
*Unix-format-write*
If the 'fileformat' is "unix", <NL> is used for <EOL>. On MS-DOS, Win32 and
OS/2 the message "[unix format]" is shown.
If the 'fileformat' is "unix", <NL> is used for <EOL>. On Win32 the message
"[unix format]" is shown.
*Mac-format-write*
If the 'fileformat' is "mac", <CR> is used for <EOL>. On non-Mac systems the
message "[mac format]" is shown.
@ -1087,11 +1060,11 @@ When the file name is actually a device name, Vim will not make a backup (that
would be impossible). You need to use "!", since the device already exists.
Example for Unix: >
:w! /dev/lpt0
and for MS-DOS or MS-Windows: >
and for MS-Windows: >
:w! lpt0
For Unix a device is detected when the name doesn't refer to a normal file or
a directory. A fifo or named pipe also looks like a device to Vim.
For MS-DOS and MS-Windows the device is detected by its name:
For MS-Windows the device is detected by its name:
AUX
CON
CLOCK$
@ -1118,7 +1091,7 @@ The names can be in upper- or lowercase.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
edited. See |:confirm| and 'confirm'. {not in Vi}
edited. See |:confirm| and 'confirm'.
:q[uit]! Quit without writing, also when the current buffer has
changes. The buffer is unloaded, also when it has
@ -1131,7 +1104,7 @@ The names can be in upper- or lowercase.
:cq[uit] Quit always, without writing, and return an error
code. See |:cq|. Used for Manx's QuickFix mode (see
|quickfix|). {not in Vi}
|quickfix|).
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
@ -1169,7 +1142,7 @@ ZZ Write current file, if modified, and quit (same as
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
{not in Vi}
MULTIPLE WINDOWS AND BUFFERS *window-exit*
@ -1177,36 +1150,35 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
:qa[ll] Exit Vim, unless there are some buffers which have been
changed. (Use ":bmod" to go to the next modified buffer).
When 'autowriteall' is set all changed buffers will be
written, like |:wqall|. {not in Vi}
written, like |:wqall|.
:conf[irm] qa[ll]
Exit Vim. Bring up a prompt when some buffers have been
changed. See |:confirm|. {not in Vi}
changed. See |:confirm|.
:qa[ll]! Exit Vim. Any changes to buffers are lost. {not in Vi}
:qa[ll]! Exit Vim. Any changes to buffers are lost.
Also see |:cquit|, it does the same but exits with a non-zero
value.
*:quita* *:quitall*
:quita[ll][!] Same as ":qall". {not in Vi}
:quita[ll][!] Same as ":qall".
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
without a file name, which are readonly or which cannot be
written for another reason, Vim will not quit. {not in Vi}
written for another reason, Vim will not quit.
:conf[irm] wqa[ll] [++opt]
:conf[irm] xa[ll]
Write all changed buffers and exit Vim. Bring up a prompt
when some buffers are readonly or cannot be written for
another reason. See |:confirm|. {not in Vi}
another reason. See |:confirm|.
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
{not in Vi}
==============================================================================
6. Dialogs *edit-dialogs*
@ -1265,7 +1237,7 @@ The syntax is best shown via some examples: >
< Open the browser in the C:/bar directory, with the current
buffer filename as default, and save the buffer under the
filename chosen.
Also see the |'browsedir'| option.
Also see the 'browsedir' option.
For versions of Vim where browsing is not supported, the command is executed
unmodified.
@ -1304,9 +1276,10 @@ use has("browsefilter"): >
==============================================================================
7. The current directory *current-directory*
You may use the |:cd| and |:lcd| commands to change to another directory, so
you will not have to type that directory name in front of the file names. It
also makes a difference for executing external commands, e.g. ":!ls".
You can use the |:cd|, |:tcd| and |:lcd| commands to change to another
directory, so you will not have to type that directory name in front of the
file names. It also makes a difference for executing external commands, e.g.
":!ls".
Changing directory fails when the current buffer is modified, the '.' flag is
present in 'cpoptions' and "!" is not used in the command.
@ -1316,49 +1289,69 @@ present in 'cpoptions' and "!" is not used in the command.
name. On Unix systems: Change the current directory
to the home directory. Use |:pwd| to print the
current directory on all systems.
On Unix systems: clear any window-local directory.
:cd[!] {path} Change the current directory to {path}.
If {path} is relative, it is searched for in the
directories listed in |'cdpath'|.
Clear any window-local directory.
Does not change the meaning of an already opened file,
because its full path name is remembered. Files from
the |arglist| may change though!
On MS-DOS this also changes the active drive.
On MS-Windows this also changes the active drive.
To change to the directory of the current file: >
:cd %:h
<
*:cd-* *E186*
:cd[!] - Change to the previous current directory (before the
previous ":cd {path}" command). {not in Vi}
previous ":cd {path}" command).
*:chd* *:chdir*
:chd[ir][!] [path] Same as |:cd|.
*:tcd*
:tcd[!] {path} Like |:cd|, but only set the directory for the current
tab. The current window will also use this directory.
The current directory is not changed for windows in
other tabs and for windows in the current tab that
have their own window-local directory.
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
directory for other windows is not changed, switching
to another window will stop using {path}.
{not in Vi}
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|. {not in Vi}
:lch[dir][!] Same as |:lcd|.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name. {Vi: no pwd}
:pw[d] Print the current directory name.
Also see |getcwd()|.
So long as no |:lcd| command has been used, all windows share the same current
directory. Using a command to jump to another window doesn't change anything
for the current directory.
So long as no |:lcd| or |:tcd| command has been used, all windows share the
same current directory. Using a command to jump to another window doesn't
change anything for the current directory.
When a |:lcd| command has been used for a window, the specified directory
becomes the current directory for that window. Windows where the |:lcd|
command has not been used stick to the global current directory. When jumping
to another window the current directory will become the last specified local
current directory. If none was specified, the global current directory is
used.
When a |:cd| command is used, the current window will lose his local current
directory and will use the global current directory from now on.
command has not been used stick to the global or tab-local current directory.
When jumping to another window the current directory will become the last
specified local current directory. If none was specified, the global or
tab-local current directory is used.
When a |:tcd| command has been used for a tab page, the specified directory
becomes the current directory for the current tab page and the current window.
The current directory of other tab pages is not affected. When jumping to
another tab page, the current directory will become the last specified local
directory for that tab page. If the current tab has no local current directory
the global current directory is used.
When a |:cd| command is used, the current window and tab page will lose the
local current directory and will use the global current directory from now on.
After using |:cd| the full path name will be used for reading and writing
files. On some networked file systems this may cause problems. The result of
@ -1395,8 +1388,7 @@ There are a few things to remember when editing binary files:
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
and when the file is written the <NL> will be replaced with <CR> <NL>.
- <Nul> characters are shown on the screen as ^@. You can enter them with
"CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
file}
"CTRL-V CTRL-@" or "CTRL-V 000"
- To insert a <NL> character in the file split a line. When writing the
buffer to a file a <NL> will be written for the <EOL>.
- Vim normally appends an <EOL> at the end of the file if there is none.
@ -1464,7 +1456,7 @@ Do this before writing the file. When reading an encrypted file it will be
set automatically to the method used when that file was written. You can
change 'cryptmethod' before writing that file to change the method.
To set the default method, used for new files, use this in your |vimrc|
To set the default method, used for new files, use this in your |vimrc|
file: >
set cm=blowfish2
Using "blowfish2" is highly recommended. Only use another method if you
@ -1566,7 +1558,7 @@ focus.
If you want to automatically reload a file when it has been changed outside of
Vim, set the 'autoread' option. This doesn't work at the moment you write the
file though, only when the file wasn't changed inside of Vim.
*ignore-timestamp*
If you do not want to be asked or automatically reload the file, you can use
this: >
set buftype=nofile

File diff suppressed because it is too large Load Diff

0
runtime/doc/evim-it.1 Executable file → Normal file
View File

View File

@ -1,4 +1,4 @@
*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
*farsi.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@ -6,7 +6,6 @@
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
{Vi does not have any of these commands}
*E27*
Farsi support has been removed in patch 8.1.0932. At that time it was

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
*filetype.txt* For Vim version 8.2. Last change: 2019 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -12,7 +12,6 @@ Filetypes *filetype* *file-type*
Also see |autocmd.txt|.
{Vi does not have any of these commands}
==============================================================================
1. Filetypes *filetypes* *file-types*
@ -35,8 +34,7 @@ if you didn't do that already.
Detail: The ":filetype on" command will load one of these files:
Amiga $VIMRUNTIME/filetype.vim
Mac $VIMRUNTIME:filetype.vim
MS-DOS $VIMRUNTIME\filetype.vim
RiscOS Vim:Filetype
MS-Windows $VIMRUNTIME\filetype.vim
Unix $VIMRUNTIME/filetype.vim
VMS $VIMRUNTIME/filetype.vim
This file is a Vim script that defines autocommands for the
@ -309,13 +307,13 @@ all loaded. For example, if this command: >
produces this output:
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim60 ~
runtimepath=/etc/vim,~/.vim,/usr/local/share/vim/vim82 ~
then Vim will load all plugins in these directories and below:
/etc/vim/plugin/ ~
~/.vim/plugin/ ~
/usr/local/share/vim/vim60/plugin/ ~
/usr/local/share/vim/vim82/plugin/ ~
Note that the last one is the value of $VIMRUNTIME which has been expanded.
@ -596,6 +594,10 @@ 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
If you would like :Man {number} {name} to behave like man {number} {name} by
not running man {name} if no page is found, then use this: >
let g:ft_man_no_sect_fallback = 1
You may also want to set 'keywordprg' to make the |K| command open a manual
page in a Vim window: >
set keywordprg=:Man
@ -643,6 +645,16 @@ To disable this behavior, set the following variable in your vimrc: >
let g:python_recommended_style = 0
QF QUICKFIX *qf.vim* *ft-qf-plugin*
The "qf" filetype is used for the quickfix window, see |quickfix-window|.
The quickfix filetype plugin includes configuration for displaying the command
that produced the quickfix list in the |status-line|. To disable this setting,
configure as follows: >
:let g:qf_disable_statusline = 1
R MARKDOWN *ft-rmd-plugin*
By default ftplugin/html.vim is not sourced. If you want it sourced, add to

View File

@ -1,4 +1,4 @@
*fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
*fold.txt* For Vim version 8.2. Last change: 2019 Jun 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -14,7 +14,6 @@ You can find an introduction on folding in chapter 28 of the user manual.
3. Fold options |fold-options|
4. Behavior of folds |fold-behavior|
{Vi has no Folding}
{not available when compiled without the |+folding| feature}
==============================================================================
@ -442,7 +441,7 @@ zk Move upwards to the end of the previous fold. A closed fold
EXECUTING COMMANDS ON FOLDS ~
:[range]foldd[oopen] {cmd} *:foldd* *:folddoopen*
:[range]foldd[oopen] {cmd} *:foldd* *:folddo* *:folddoopen*
Execute {cmd} on all lines that are not in a closed fold.
When [range] is given, only these lines are used.
Each time {cmd} is executed the cursor is positioned on the

View File

@ -1,4 +1,4 @@
*ft_ada.txt* For Vim version 8.1. Last change: 2010 Jul 20
*ft_ada.txt* For Vim version 8.2. Last change: 2010 Jul 20
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~

View File

@ -1,4 +1,4 @@
*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
*ft_rust.txt* For Vim version 8.2. Last change: 2017 Nov 02
This is documentation for the Rust filetype plugin.

View File

@ -1,4 +1,4 @@
*ft_sql.txt* For Vim version 8.1. Last change: 2013 May 15
*ft_sql.txt* For Vim version 8.2. Last change: 2019 Dec 07
by David Fishburn
@ -342,8 +342,8 @@ The defaults static maps are: >
imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
The use of "<C-C>" can be user chosen by using the following in your |.vimrc| as it
may not work properly on all platforms: >
The use of "<C-C>" can be user chosen by using the following in your |.vimrc|
as it may not work properly on all platforms: >
let g:ftplugin_sql_omni_key = '<C-C>'
>
The static maps (which are based on the syntax highlight groups) follow this
@ -522,7 +522,7 @@ The SQL completion plugin can also display a list of columns for particular
tables. The column completion is trigger via <C-C>c.
NOTE: The following example uses <Right> to trigger a column list while
the popup window is active.
the popup window is active.
Example of using column completion:
- Press <C-C>t again to display the list of tables.

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.1. Last change: 2019 Jan 06
*gui.txt* For Vim version 8.2. Last change: 2019 Nov 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -11,14 +11,14 @@ Vim's Graphical User Interface *gui* *GUI*
3. Mouse Control |gui-mouse|
4. Making GUI Selections |gui-selections|
5. Menus |menus|
6. Extras |gui-extras|
7. Shell Commands |gui-shell|
6. Font |gui-font|
7. Extras |gui-extras|
8. Shell Commands |gui-shell|
Other GUI documentation:
|gui_x11.txt| For specific items of the X11 GUI.
|gui_w32.txt| For specific items of the Win32 GUI.
{Vi does not have any of these commands}
==============================================================================
1. Starting the GUI *gui-start* *E229* *E233*
@ -95,9 +95,7 @@ terminal version.
Recommended place for your personal GUI initializations:
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
OS/2 $HOME/.gvimrc, $HOME/vimfiles/gvimrc
or $VIM/.gvimrc
MS-DOS and Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
or $VIM/_gvimrc
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
or $VIM/.gvimrc
@ -309,7 +307,7 @@ because the menu command will always be applied to the top window.
If you are on the ':' line (or '/' or '?'), then clicking the left or right
mouse button will position the cursor on the ':' line (if 'mouse' contains
'c', 'a' or 'A').
'c' or 'a').
In any situation the middle mouse button may be clicked to paste the current
selection.
@ -560,8 +558,9 @@ floating menus that do not appear on the main menu bar.
*E330* *E327* *E331* *E336* *E333*
*E328* *E329* *E337* *E792*
To create a new menu item, use the ":menu" commands. They are mostly like
the ":map" set of commands but the first argument is a menu item name, given
as a path of menus and submenus with a '.' between them, e.g.: >
the ":map" set of commands (see |map-modes|), but the first argument is a menu
item name, given as a path of menus and submenus with a '.' between them,
e.g.: >
:menu File.Save :w<CR>
:inoremenu File.Save <C-O>:w<CR>
@ -1013,7 +1012,7 @@ it behaves in a strange way.
have at least one subentry, but need not
appear on the menu-bar (see |hidden-menus|).
{only available for Win32 and GTK GUI or in
the terminal when compiled with +insert_expand}
the terminal}
:popu[p]! {name} Like above, but use the position of the mouse
pointer instead of the cursor.
@ -1037,7 +1036,136 @@ make a selection.
Note that a menu that starts with ']' will not be displayed.
==============================================================================
6. Extras *gui-extras*
6. Font
This section describes font related options.
GUIFONT *gui-font*
'guifont' is the option that tells Vim what font to use. In its simplest form
the value is just one font name. It can also be a list of font names
separated with commas. The first valid font is used. When no valid font can
be found you will get an error message.
On systems where 'guifontset' is supported (X11) and 'guifontset' is not
empty, then 'guifont' is not used. See |xfontset|.
Note: As to the GTK GUIs, no error is given against any invalid names, and the
first element of the list is always picked up and made use of. This is
because, instead of identifying a given name with a font, the GTK GUIs use it
to construct a pattern and try to look up a font which best matches the
pattern among available fonts, and this way, the matching never fails. An
invalid name doesn't matter because a number of font properties other than
name will do to get the matching done.
Spaces after a comma are ignored. To include a comma in a font name precede
it with a backslash. Setting an option requires an extra backslash before a
space and a backslash. See also |option-backslash|. For example: >
:set guifont=Screen15,\ 7x13,font\\,with\\,commas
will make Vim try to use the font "Screen15" first, and if it fails it will
try to use "7x13" and then "font,with,commas" instead.
If none of the fonts can be loaded, Vim will keep the current setting. If an
empty font list is given, Vim will try using other resource settings (for X,
it will use the Vim.font resource), and finally it will try some builtin
default which should always be there ("7x13" in the case of X). The font
names given should be "normal" fonts. Vim will try to find the related bold
and italic fonts.
For Win32, GTK, Motif, Mac OS and Photon: >
:set guifont=*
will bring up a font requester, where you can pick the font you want.
The font name depends on the GUI used. See |setting-guifont| for a way to set
'guifont' for various systems.
For the GTK+ 2 and 3 GUIs, the font name looks like this: >
:set guifont=Andale\ Mono\ 11
That's all. XLFDs are not used. For Chinese this is reported to work well: >
if has("gui_gtk2")
set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
endif
<
(Replace gui_gtk2 with gui_gtk3 for the GTK+ 3 GUI)
For Mac OSX you can use something like this: >
:set guifont=Monaco:h10
Also see 'macatsui', it can help fix display problems.
*E236*
Note that the fonts must be mono-spaced (all characters have the same width).
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
To preview a font on X11, you might be able to use the "xfontsel" program.
The "xlsfonts" program gives a list of all available fonts.
For the Win32 GUI *E244* *E245*
- Takes these options in the font name (use a ':' to separate the options):
hXX - height is XX (points, can be floating-point)
wXX - width is XX (points, can be floating-point)
WXX - weight is XX (see Note on Weights below)
b - bold. This is equivalent to setting the weight to 700.
i - italic
u - underline
s - strikeout
cXX - character set XX. Valid charsets are: ANSI, ARABIC, BALTIC,
CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK, HANGEUL,
HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS, SYMBOL, THAI,
TURKISH and VIETNAMESE. Normally you would use "cDEFAULT".
qXX - quality XX. Valid quality names are: PROOF, DRAFT, ANTIALIASED,
NONANTIALIASED, CLEARTYPE and DEFAULT. Normally you would use
"qDEFAULT".
Some quality values are not supported in legacy OSs.
- A '_' can be used in the place of a space, so you don't need to use
backslashes to escape the spaces.
Examples: >
:set guifont=courier_new:h12:w5:b:cRUSSIAN
:set guifont=Andale_Mono:h7.5:w4.5
See also |font-sizes|.
Note on Weights: Fonts often come with a variety of weights. "Normal" weights
in Windows have a value of 400 and, left unspecified, this is the value that
will be used when attempting to find fonts. Windows will often match fonts
based on their weight with higher priority than the font name which means a
Book or Medium variant of a font might be used despite specifying a Light or
ExtraLight variant. If you are experiencing heavier weight substitution, then
explicitly setting a lower weight value may mitigate against this unwanted
substitution.
GUIFONTWIDE *gui-fontwide*
When not empty, 'guifontwide' specifies a comma-separated list of fonts to be
used for double-width characters. The first font that can be loaded is used.
Note: The size of these fonts must be exactly twice as wide as the one
specified with 'guifont' and the same height. If there is a mismatch then the
text will not be drawn correctly.
All GUI versions but GTK+:
'guifontwide' is only used when 'encoding' is set to "utf-8" and 'guifontset'
is empty or invalid.
When 'guifont' is set and a valid font is found in it and 'guifontwide' is
empty Vim will attempt to find a matching double-width font and set
'guifontwide' to it.
GTK+ GUI only: *guifontwide_gtk*
If set and valid, 'guifontwide' is always used for double width characters,
even if 'encoding' is not set to "utf-8".
Vim does not attempt to find an appropriate value for 'guifontwide'
automatically. If 'guifontwide' is empty Pango/Xft will choose the font for
characters not available in 'guifont'. Thus you do not need to set
'guifontwide' at all unless you want to override the choice made by Pango/Xft.
Windows +multibyte only: *guifontwide_win_mbyte*
If set and valid, 'guifontwide' is used for IME instead of 'guifont'.
==============================================================================
7. Extras *gui-extras*
This section describes other features which are related to the GUI.
@ -1049,7 +1177,8 @@ This section describes other features which are related to the GUI.
get "<Modifiers-Key>".
- In the GUI, the modifiers SHIFT, CTRL, and ALT (or META) may be used within
mappings of special keys and mouse events. E.g.: :map <M-LeftDrag> <LeftDrag>
mappings of special keys and mouse events.
E.g.: :map <M-LeftDrag> <LeftDrag>
- In the GUI, several normal keys may have modifiers in mappings etc, these
are <Space>, <Tab>, <NL>, <CR>, <Esc>.
@ -1081,13 +1210,13 @@ A recommended Japanese font is MS Mincho. You can find info here:
http://www.lexikan.com/mincho.htm
==============================================================================
7. Shell Commands *gui-shell*
8. Shell Commands *gui-shell*
For the X11 GUI the external commands are executed inside the gvim window.
See |gui-pty|.
WARNING: Executing an external command from the X11 GUI will not always
work. "normal" commands like "ls", "grep" and "make" mostly work fine.
WARNING: Executing an external command from the X11 GUI will not always work.
"normal" commands like "ls", "grep" and "make" mostly work fine.
Commands that require an intelligent terminal like "less" and "ispell" won't
work. Some may even hang and need to be killed from another terminal. So be
careful!

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
*gui_w32.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -19,7 +19,6 @@ Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_win32.txt| For Win32 specific items.
{Vi does not have a Windows GUI}
==============================================================================
1. Starting the GUI *gui-w32-start*
@ -31,6 +30,17 @@ The GUI will always run in the Windows subsystem. Mostly shells automatically
return with a command prompt after starting gvim. If not, you should use the
"start" command: >
start gvim [options] file ..
< *E988*
The console version with the |-g| option may also start the GUI by executing
gvim.exe: >
vim -g [options] file ..
To make this work, gvim.exe must exist in the same directory as the vim.exe,
and this feature must be enabled at compile time.
One may also use `:gui` from the console version. However, this is an
experimental feature and this feature must be enabled at compile time.
It uses a session file to recreate the current state of the console Vim in the
GUI Vim.
Note: All fonts (bold, italic) must be of the same size!!! If you don't do
this, text will disappear or mess up the display. Vim does not check the font
@ -96,8 +106,6 @@ when you have got a new version):
You can also install Vim in the "Send To" menu:
1. Start a Windows Explorer
2. Navigate to your sendto directory:
Windows NT: %windir%\profiles\%user%\sendto (e.g.
"c:\winnt\profiles\mattha\sendto")
Windows XP: C:\Documents and Settings\%user%\SendTo
Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
3. Right-click in the file pane and select New->Shortcut
@ -105,7 +113,8 @@ You can also install Vim in the "Send To" menu:
When you 'send a file to Vim', Vim changes to that file's directory. Note,
however, that any long directory names will appear in their short (MS-DOS)
form. This is a limitation of the Windows "Send To" mechanism.
form on some Windows versions. This is a limitation of the Windows "Send To"
mechanism.
*notepad*
You could replace notepad.exe with gvim.exe, but that has a few side effects.
@ -159,16 +168,16 @@ you can.
Vim Shell Extension
HKEY_LOCAL_MACHINE\Software\Vim\Gvim
path {path}\gvim.exe
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 5.6
DisplayName Vim 5.6: Edit with Vim popup menu entry
UninstallString {path}\uninstal.exe
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 8.2
DisplayName Vim 8.2: Edit with Vim popup menu entry
UninstallString {path}\uninstall.exe
Replace {path} with the path that leads to the executable.
Don't type {default}, this is the value for the key itself.
To remove "Edit with Vim" from the popup menu, just remove the registry
entries mentioned above. The "uninstal.exe" program can do this for you. You
can also use the entry in the Windows standard "Add/Remove Programs" list.
entries mentioned above. The "uninstall.exe" program can do this for you.
You can also use the entry in the Windows standard "Add/Remove Programs" list.
If you notice that this entry overrules other file type associations, set
those associations again by hand (using Windows Explorer, see above). This
@ -204,7 +213,7 @@ REGEDIT4
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit]
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command]
@="c:\\vim\\vim62\\gvim.exe \"%1\""
@="c:\\vim\\vim82\\gvim.exe \"%1\""
[HKEY_CLASSES_ROOT\.htm\OpenWithList\gvim.exe]
@ -212,7 +221,7 @@ REGEDIT4
----------------------------------------------------------
Change the "c:\\vim\\vim62" bit to where gvim.exe is actually located.
Change the "c:\\vim\\vim82" bit to where gvim.exe is actually located.
To uninstall this run the Vim uninstall program or manually delete the
registry entries with "regedit".
@ -403,7 +412,7 @@ be opened as normal. See |drag-n-drop|.
*:simalt* *:sim*
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
{not in Vi} {only for Win32 versions}
{only for Win32 versions}
Note: ":si" means ":s" with the "i" flag.
Normally, Vim takes control of all Alt-<Key> combinations, to increase the

View File

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.1. Last change: 2018 May 06
*gui_x11.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -19,7 +19,6 @@ Vim's Graphical User Interface *gui-x11* *GUI-X11*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
{Vi does not have any of these commands}
==============================================================================
1. Starting the X11 GUI *gui-x11-start* *E665*
@ -48,7 +47,7 @@ that waits for gvim to exit), start gvim with "gvim -f", "vim -gf" or use
":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground
color.
When using "gvim -f" and then ":gui", Vim will run in the foreground. The
When using "vim -f" and then ":gui", Vim will run in the foreground. The
"-f" argument will be remembered. To force running Vim in the background use
":gui -b".

View File

@ -1,112 +1,17 @@
*hangulin.txt* For Vim version 8.1. Last change: 2015 Nov 24
*hangulin.txt* For Vim version 8.2. Last change: 2019 Nov 21
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
*hangul*
Vim had built-in support for hangul, the Korean language, for users without
XIM (X Input Method). Since it didn't work well and was not maintained it was
removed in Vim 8.1.2327.
Introduction *hangul*
------------
It is to input hangul, the Korean language, with Vim GUI version.
If you have a XIM program, you can use another |+xim| feature.
Basically, it is for anybody who has no XIM program.
If you want this hangul input mehod you can go back to Vim 8.1.2326 or
earlier. If you think this code is still useful and want to maintain it, make
a patch to add it back. However, making it work with UTF-8 encoding would be
best.
Compile
-------
Next is a basic option. You can add any other configure option. >
./configure --with-x --enable-multibyte --enable-hangulinput \
--disable-xim
And you should check feature.h. If |+hangul_input| feature is enabled
by configure, you can select more options such as keyboard type, 2 bulsik
or 3 bulsik. You can find keywords like next in there. >
#define HANGUL_DEFAULT_KEYBOARD 2
#define ESC_CHG_TO_ENG_MODE
/* #define X_LOCALE */
Environment variables
---------------------
You should set LANG variable to Korean locale such as ko, ko_KR.eucKR
or ko_KR.UTF-8.
If you set LC_ALL variable, it should be set to Korean locale also.
Vim resource
------------
You may want to set 'encoding' and 'fileencodings'.
Next are examples: >
:set encoding=euc-kr
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp949,euc-kr,latin1
Keyboard
--------
You can change keyboard type (2 bulsik or 3 bulsik) using VIM_KEYBOARD
or HANGUL_KEYBOARD_TYPE environment variables. For sh, just do (2 bulsik): >
export VIM_KEYBOARD="2"
or >
export HANGUL_KEYBOARD_TYPE="2"
If both are set, VIM_KEYBOARD has higher priority.
Hangul Fonts
------------
If you use GTK version of gvim, you should set 'guifont' and 'guifontwide'.
For example: >
set guifont=Courier\ 12
set guifontwide=NanumGothicCoding\ 12
If you use Motif or Athena version of gvim, you should set 'guifontset' in
your vimrc. You can set fontset in the .Xdefaults file.
$HOME/.gvimrc: >
set guifontset=english_font,hangul_font
$HOME/.Xdefaults: >
Vim.font: english_font
! Nexts are for hangul menu with Athena
*international: True
Vim*fontSet: english_font,hangul_font
! Nexts are for hangul menu with Motif
*international: True
Vim*fontList: english_font;hangul_font:
attention! the , (comma) or ; (semicolon)
And there should be no ':set guifont'. If it exists, then gvim ignores
':set guifontset'. It means Vim runs without fontset supporting.
So, you can see only English. Hangul does not be correctly displayed.
After "fontset" feature is enabled, Vim does not allow using english
font only in "font" setting for syntax.
For example, if you use >
:set guifontset=eng_font,your_font
in your .gvimrc, then you should do for syntax >
:hi Comment guifg=Cyan font=another_eng_font,another_your_font
If you just do >
:hi Comment font=another_eng_font
then you can see a error message. Be careful!
hangul_font width should be twice than english_font width.
Unsupported Feature
-------------------
We don't support Johab font.
We don't support Hanja input.
And We don't have any plan to support them.
If you really need such features, you can use console version of Vim with a
capable terminal emulator.
Bug or Comment
--------------
Send comments, patches and suggestions to:
SungHyun Nam <goweol@gmail.com>
Chi-Deok Hwang <...>
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*hebrew.txt* For Vim version 8.1. Last change: 2007 Jun 14
*hebrew.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
@ -10,10 +10,7 @@ The supporting 'rightleft' functionality was originally created by Avner
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
currently helping support these features.
{Vi does not have any of these commands}
All this is only available when the |+rightleft| feature was enabled at
compile time.
{only available when the |+rightleft| feature was enabled at compile time}
Introduction

View File

@ -1,4 +1,4 @@
*help.txt* For Vim version 8.1. Last change: 2019 Jan 17
*help.txt* For Vim version 8.2. Last change: 2019 Jul 21
VIM - main help file
k
@ -139,10 +139,12 @@ Advanced editing ~
|fold.txt| hide (fold) ranges of lines
Special issues ~
|testing.txt| testing Vim and Vim scripts
|print.txt| printing
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice
|terminal.txt| Terminal window support
|popup.txt| popop window support
Programming language support ~
|indent.txt| automatic indenting for C and other languages
@ -195,7 +197,7 @@ Remarks about specific systems ~
|os_390.txt| OS/390 Unix
|os_amiga.txt| Amiga
|os_beos.txt| BeOS and BeBox
|os_dos.txt| MS-DOS and MS-Windows NT/95 common items
|os_dos.txt| MS-DOS and MS-Windows common items
|os_mac.txt| Macintosh
|os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
@ -204,7 +206,7 @@ Remarks about specific systems ~
|os_risc.txt| RISC-OS
|os_unix.txt| Unix
|os_vms.txt| VMS
|os_win32.txt| MS-Windows 95/98/NT
|os_win32.txt| MS-Windows
*standard-plugin-list*
Standard plugins ~
|pi_getscript.txt| Downloading latest version of Vim scripts

View File

@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 8.1. Last change: 2017 Mar 19
*helphelp.txt* For Vim version 8.2. Last change: 2019 Oct 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -24,7 +24,6 @@ Help on help files *helphelp*
the very top.
The 'helplang' option is used to select a language, if
the main help file is available in several languages.
{not in Vi}
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
@ -97,14 +96,17 @@ Help on help files *helphelp*
command from a following command. You need to type
CTRL-V first to insert the <LF> or <CR>. Example: >
:help so<C-V><CR>only
< {not in Vi}
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
current file. See |help-translated|.
*:helpc* *:helpclose*
:helpc[lose] Close one help window, if there is one.
:helpc[lose] Close one help window, if there is one.
Vim will try to restore the window layout (including
cursor position) to the same layout it was before
opening the help window initially. This might cause
triggering several autocommands.
*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
@ -133,7 +135,6 @@ Help on help files *helphelp*
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
{not in Vi}
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
@ -147,11 +148,11 @@ Help on help files *helphelp*
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
command. {not in Vi}
command.
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
the Nvi command. {not in Vi}
the Nvi command.
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
@ -199,7 +200,6 @@ command: >
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
{not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
@ -224,8 +224,6 @@ command: >
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
< {not in Vi}
==============================================================================
2. Translated help files *help-translated*

View File

@ -1,4 +1,4 @@
*howto.txt* For Vim version 8.1. Last change: 2006 Apr 02
*howto.txt* For Vim version 8.2. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 8.1. Last change: 2018 Jan 21
*if_cscop.txt* For Vim version 8.2. Last change: 2019 May 05
VIM REFERENCE MANUAL by Andy Kahn
@ -21,7 +21,6 @@ functions as you normally would with |tags|.
7. Availability & Information |cscope-info|
This is currently for Unix and Win32 only.
{Vi does not have any of these commands}
==============================================================================
1. Cscope introduction *cscope-intro*

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