Compare commits

...

2440 Commits

Author SHA1 Message Date
713bf9e996 patch 8.1.1010: Lua interface leaks memory
Problem:    Lua interface leaks memory.
Solution:   Clear typeval after copying it.
2019-03-16 16:38:41 +01:00
1f271efbbb patch 8.1.1009: MS-Windows: some text is not baseline aligned
Problem:    MS-Windows: some text is not baseline aligned.
Solution:   Use bottom alignment. (Taro Muraoka, closes #4116, closes #1520)
2019-03-16 15:24:42 +01:00
0251d2d811 patch 8.1.1008: MS-Windows: HAVE_STDINT_H only defined for non-debug version
Problem:    MS-Windows: HAVE_STDINT_H only defined for non-debug version.
Solution:   Move definition of HAVE_STDINT_H up. (Taro Muraoka, closes #4109)
2019-03-14 21:37:19 +01:00
209b8e3e3b patch 8.1.1007: using closure may consume a lot of memory
Problem:    Using closure may consume a lot of memory.
Solution:   unreference items that are no longer needed. Add a test. (Ozaki
            Kiichi, closes #3961)
2019-03-14 13:43:24 +01:00
4aa47b28f4 patch 8.1.1006: repeated code in quickfix support
Problem:    Repeated code in quickfix support.
Solution:   Move code to functions. (Yegappan Lakshmanan, closes #4091)
2019-03-13 06:51:53 +01:00
55d81cd2a1 patch 8.1.1005: test fails because t_F2 is not set
Problem:    Test fails because t_F2 is not set.
Solution:   Add try-catch.
2019-03-11 08:05:50 +01:00
e165f63598 patch 8.1.1004: function "luaV_setref()" not covered with tests
Problem:    Function "luaV_setref()" not covered with tests.
Solution:   Add a test. (Dominique Pelle, closes #4089)
2019-03-10 09:48:59 +01:00
6edbbd8114 patch 8.1.1003: playing back recorded key sequence mistakes key code
Problem:    Playing back recorded key sequence mistakes key code.
Solution:   Insert a <Nop> after the <Esc>. (closes #4068)
2019-03-10 09:41:51 +01:00
cbef8e1aa1 patch 8.1.1002: "gf" does not always work when URL has a port number
Problem:    "gf" does not always work when URL has a port number. (Jakob
            Schöttl)
Solution:   When a URL is recognized also accept ":". (closes #4082)
2019-03-09 12:32:56 +01:00
8156ed3755 patch 8.1.1001: Visual area not correct when using 'cursorline'
Problem:    Visual area not correct when using 'cursorline'.
Solution:   Update w_last_cursorline also in Visual mode. (Hirohito Higashi,
            closes #4086)
2019-03-09 11:46:15 +01:00
fd731b0e31 patch 8.1.1000: indenting is off
Problem:    Indenting is off.
Solution:   Make indenting consistent and update comments. (Ozaki Kiichi,
            closes #4079)
2019-03-09 11:23:58 +01:00
9d7fdd403a patch 8.1.0999: use register one too often and not properly tested
Problem:    Use register one too often and not properly tested.
Solution:   Do not always use register one when specifying a register.
            (closes #4085)  Add more tests.
2019-03-08 09:50:52 +01:00
19a66858a5 patch 8.1.0998: getcurpos() unexpectedly changes "curswant"
Problem:    getcurpos() unexpectedly changes "curswant".
Solution:   Save and restore "curswant". (closes #4069)
2019-03-07 11:25:32 +01:00
d5a5886ce9 patch 8.1.0997: using GUI colors in vim.exe when 'termguicolors' is off
Problem:    Using GUI colors in vim.exe when 'termguicolors' is off.
Solution:   Add condition for 'termguicolors' set. (Ken Takata, closes #4078)
2019-03-07 06:40:27 +01:00
6bb8c66c8b patch 8.1.0996: a few screendump tests fail because of scrolling
Problem:    A few screendump tests fail because of scrolling.
Solution:   Update the screendumps.
2019-03-05 13:26:55 +01:00
f0fab3046c patch 8.1.0995: a getchar() call resets the reg_executing() result
Problem:    A getchar() call while executing a register resets the
            reg_executing() result.
Solution:   Save and restore reg_executing. (closes #406
2019-03-05 12:24:10 +01:00
8fcb60f961 patch 8.1.0994: relative cursor position is not calculated correctly
Problem:    Relative cursor position is not calculated correctly.
Solution:   Always set topline, also when window is one line only.
            (Robert Webb) Add more info to getwininfo() for testing.
2019-03-04 13:18:30 +01:00
772153f8d8 patch 8.1.0993: ch_read() may return garbage if terminating NL is missing
Problem:    ch_read() may return garbage if terminating NL is missing.
Solution:   Add terminating NUL. (Ozaki Kiichi, closes #4065)
2019-03-04 12:09:49 +01:00
cce713ddcc patch 8.1.0992: a :normal command resets the reg_executing() result
Problem:    A :normal command while executing a register resets the
            reg_executing() result.
Solution:   Save and restore reg_executing. (closes #4066)
2019-03-04 11:40:12 +01:00
975880b6e6 patch 8.1.0991: cannot build with a mix of features
Problem:    Cannot build with FEAT_EVAL defined and FEAT_SEARCH_EXTRA
            undefined, and with FEAT_DIFF defined and FEAT_EVAL undefined.
Solution:   Add a couple of #ifdefs. (closes #4067)
2019-03-03 14:42:11 +01:00
e21c1580b7 patch 8.1.0990: floating point exception with "%= 0" and "/= 0"
Problem:    Floating point exception with "%= 0" and "/= 0".
Solution:   Avoid dividing by zero. (Dominique Pelle, closes #4058)
2019-03-02 11:57:09 +01:00
bdace838c6 patch 8.1.0989: various small code ugliness
Problem:    Various small code ugliness.
Solution:   Remove pointless NULL checks. Fix function calls. Fix typos.
            (Dominique Pelle, closes #4060)
2019-03-02 10:13:42 +01:00
d82a81cad9 patch 8.1.0988: deleting location list buffer breaks location list window
Problem:    Deleting a location list buffer breaks location list window
            functionality.
Solution:   (Yegappan Lakshmanan, closes #4056)
2019-03-02 07:57:18 +01:00
6ef8f9eacd patch 8.1.0987: unnecessary condition in #ifdef
Problem:    Unnecessary condition in #ifdef.
Solution:   Remove using CYGWIN32. (Ken Takata)
2019-03-02 07:15:28 +01:00
ef8c956172 patch 8.1.0986: rename() is not propertly tested
Problem:    rename() is not propertly tested.
Solution:   Add tests. (Dominique Pelle, closes #4061)
2019-03-02 06:42:07 +01:00
ab350f89f9 patch 8.1.0985: crash with large number in regexp
Problem:    Crash with large number in regexp. (Kuang-che Wu)
Solution:   Check for long becoming negative int. (closes #)
2019-02-28 06:25:00 +01:00
c69efcb42f patch 8.1.0984: unnecessary #ifdefs
Problem:    Unnecessary #ifdefs.
Solution:   Remove the #ifdefs. (Ken Takata)
2019-02-27 14:12:01 +01:00
1eed532999 patch 8.1.0983: checking __CYGWIN32__ unnecessarily
Problem:    Checking __CYGWIN32__ unnecessarily.
Solution:   Remove the checks. (Ken Takata)
2019-02-26 17:03:54 +01:00
32033d2397 patch 8.1.0982: update_cursor() called twice in :shell
Problem:    update_cursor() called twice in :shell.
Solution:   Remove one of the calls. (Yasuhiro Matsumoto, closes #4039)
2019-02-25 06:28:57 +01:00
5b868a82ed patch 8.1.0981: pasting in terminal insufficiently tested
Problem:    Pasting in terminal insufficiently tested.
Solution:   Add more tests. (Dominique Pelle, closes #4040)
2019-02-25 06:11:53 +01:00
58d63a0a23 patch 8.1.0980: extend() insufficiently tested
Problem:    extend() insufficiently tested.
Solution:   Add more tests. (Dominique Pelle, closes #4040)
2019-02-25 05:56:31 +01:00
1fa8fdd611 patch 8.1.0979: compiler warning for unused functions
Problem:    Compiler warning for unused functions. (Yasuhiro Matsumoto)
Solution:   Adjust #ifdef.
2019-02-25 05:41:15 +01:00
2472ae81df patch 8.1.0978: blob not tested with Perl
Problem:    Blob not tested with Perl.
Solution:   Add more test coverage.  Fixes a crash. (Dominique Pelle,
            closes #4037)
2019-02-23 15:04:17 +01:00
0d13cce345 patch 8.1.0977: blob not tested with Ruby
Problem:    Blob not tested with Ruby.
Solution:   Add more test coverage.  fixes a crash. (Dominique Pelle,
            closes #4036)
2019-02-23 14:23:03 +01:00
e4963c543d patch 8.1.0976: dosinstall still has buffer overflow problems
Problem:    Dosinstall still has buffer overflow problems.
Solution:   Adjust  buffer sizes. (Yasuhiro Matsumoto, closes #4002)
2019-02-22 19:41:08 +01:00
c666388367 patch 8.1.0975: using STRNCPY() wrongly. Warning for uninitialized variable
Problem:    Using STRNCPY() wrongly. Warning for uninitialized variable.
Solution:   Use mch_memmove(). Initialize variable. (Yasuhiro Matsumoto,
            closes #3979)
2019-02-22 19:14:54 +01:00
882d02eeb5 patch 8.1.0974: cannot switch from terminal window to previous tabpage
Problem:    Cannot switch from terminal window to previous tabpage.
Solution:   Make CTRL-W gT move to previous tabpage.
2019-02-22 17:56:43 +01:00
cd62512c55 patch 8.1.0973: pattern with syntax error gives threee error messages
Problem:    Pattern with syntax error gives threee error messages. (Kuang-che
            Wu)
Solution:   Remove outdated internal error.  Don't fall back to other engine
            after an error.
2019-02-22 17:29:43 +01:00
72e83c1ae5 patch 8.1.0972: cannot switch from terminal window to next tabpage
Problem:    Cannot switch from terminal window to next tabpage.
Solution:   Make CTRL-W gt move to next tabpage.
2019-02-22 16:09:52 +01:00
f6b401090e Update runtime files 2019-02-22 15:24:03 +01:00
55d3bdbbe2 patch 8.1.0971: failure for selecting quoted text object moves cursor
Problem:    Failure for selecting quoted text object moves cursor.
Solution:   Restore the Visual selection on failure. (Christian Brabandt,
            closes #4024)
2019-02-22 15:04:17 +01:00
ed79d1e348 patch 8.1.0970: text properties test fails when 'encoding' is not utf-8
Problem:    Text properties test fails when 'encoding' is not utf-8.
Solution:   Compare with original value of 'encoding'. (Christian Brabandt,
            closes #3986)
2019-02-22 14:38:58 +01:00
97c2c05ead patch 8.1.0969: message written during startup is truncated
Problem:    Message written during startup is truncated.
Solution:   Restore message after truncating. (closes 3969)
2019-02-22 13:42:07 +01:00
527a2d86fb patch 8.1.0968: crash when using search pattern \%Ufffffc23
Problem:    Crash when using search pattern \%Ufffffc23.
Solution:   Limit character to INT_MAX. (closes #4009)
2019-02-21 22:28:51 +01:00
1417031cfd patch 8.1.0967: stray dependency in test Makefile
Problem:    Stray dependency in test Makefile.
Solution:   Remove it. (Masato Nishihata, closes #4018)
2019-02-21 21:50:46 +01:00
3876789b23 patch 8.1.0966: one terminal test is flaky
Problem:    One terminal test is flaky.
Solution:   Add to list of flaky tests.
2019-02-21 18:17:14 +01:00
e86ecbd922 patch 8.1.0965: search test fails
Problem:    Search test fails.
Solution:   Wait a bit longer for the 'ambiwidth' redraw.
2019-02-21 17:48:59 +01:00
353aca1215 patch 8.1.0964: cannot see in CI why a screenshot test failed
Problem:    Cannot see in CI why a screenshot test failed.
Solution:   Add info about the failure.
2019-02-21 17:05:59 +01:00
4a7d2d3b40 patch 8.1.0963: illegal memory access when using 'incsearch'
Problem:    Illegal memory access when using 'incsearch'.
Solution:   Reset highlight_match when changing text. (closes #4022)
2019-02-21 16:25:50 +01:00
d91e5dafd5 patch 8.1.0962: building with MinGW and static libs doesn't work
Problem:    Building with MinGW and static libs doesn't work. (Salman Halim)
Solution:   Add -lgcc. (Ken Takata)
2019-02-21 13:34:07 +01:00
9166838420 patch 8.1.0961: Mac: fsync may fail sometimes
Problem:    Mac: fsync may fail sometimes.
Solution:   Do not check errno. (Yee Cheng Chin, closes #4025)
2019-02-21 12:16:12 +01:00
8caa43d815 patch 8.1.0960: when using ConPTY garbage collection has undefined behavior
Problem:    When using ConPTY garbage collection has undefined behavior.
Solution:   Free the channel in a better way. (Nobuhiro Takasaki, closes #4020)
2019-02-20 22:45:06 +01:00
a25e3d0695 patch 8.1.0959: sorting large numbers is not tested
Problem:    Sorting large numbers is not tested and does not work properly.
Solution:   Add test.  Fix comparing lines with and without a number.
            (Dominique Pelle, closes #4017)
2019-02-20 22:19:05 +01:00
38f08e76ac patch 8.1.0958: compiling weird regexp pattern is very slow
Problem:    Compiling weird regexp pattern is very slow.
Solution:   When reallocating post list increase size by 50%. (Kuang-che Wu,
            closes #4012)  Make assert_inrange() accept float values.
2019-02-20 22:04:32 +01:00
3585671888 patch 8.1.0957: Mac: fsync fails on network share
Problem:    Mac: fsync fails on network share.
Solution:   Check for ENOTSUP. (Yee Cheng Chin, closes #4016)
2019-02-20 20:37:01 +01:00
b9ddda6c2d patch 8.1.0956: using context:0 in 'diffopt' does not work well
Problem:    Using context:0 in 'diffopt' does not work well.
Solution:   Make zero context do the same as one line context. (closes #4005)
2019-02-19 23:00:50 +01:00
66ae3d199f patch 8.1.0955: matchit autoload directory not in installer
Problem:    Matchit autoload directory not in installer. (Chris Morgan)
Solution:   Adjust the NSIS script. (Christian Brabandt, closes #4006)
2019-02-19 21:40:28 +01:00
0d8562a999 patch 8.1.0954: arguments of semsg() and siemsg() are not checked
Problem:    Arguments of semsg() and siemsg() are not checked.
Solution:   Add function prototype with __attribute__.
2019-02-19 21:34:05 +01:00
c9629251a6 patch 8.1.0953: a very long file is truncated at 2^31 lines
Problem:    A very long file is truncated at 2^31 lines.
Solution:   Use LONG_MAX for MAXLNUM. (Dominique Pelle, closes #4011)
2019-02-19 21:24:54 +01:00
bbd854dc57 patch 8.1.0952: compilation warnings when building the MS-Windows installer
Problem:    Compilation warnings when building the MS-Windows installer.
Solution:   Fix buffer sizes. (Yasuhiro Matsumoto, closes #3999)
2019-02-18 22:19:33 +01:00
44b443c5db patch 8.1.0951: using WIN64 even though it is never defined
Problem:    Using WIN64 even though it is never defined.
Solution:   Only use _WIN64. (Ken Takata, closes #3997)
2019-02-18 22:14:18 +01:00
14816ad6e5 patch 8.1.0950: using :python sets 'pyxversion' even when not executed
Problem:    Using :python sets 'pyxversion' even when not executed.
Solution:   Check the "skip" flag. (Shane Harper, closes #3995)
2019-02-18 22:04:56 +01:00
0472b6d149 patch 8.1.0949: MS-windows defines GUI macros different than other systems
Problem:    MS-windows defines GUI macros different than other systems.
Solution:   Swap FEAT_GUI and FEAT_GUI_MSWIN. (Hirohito Higashi, closes #3996)
2019-02-18 21:41:37 +01:00
d53931ae73 patch 8.1.0948: when built without +eval "Vim --clean" produces errors
Problem:    When built without +eval "Vim --clean" produces errors. (James
            McCoy)
Solution:   Do not enable filetype detection.
2019-02-18 21:32:28 +01:00
7dca2ebbcf patch 8.1.0947: using MSWIN before it is defined
Problem:    Using MSWIN before it is defined. (Cesar Romani)
Solution:   Move the block that uses MSWIN to below including vim.h. (Ken
            Takata)
2019-02-18 20:42:50 +01:00
c854898881 Revert change accidentally included in runtime file updates. Closes #3998. 2019-02-18 17:40:18 +01:00
b0e2da2b23 patch 8.1.0946: Coveralls is not very useful
Problem:    Coveralls is not very useful.
Solution:   Remove Coveralls badge, add badge for packages.
2019-02-17 23:26:50 +01:00
4c92e75dd4 Update runtime files. 2019-02-17 21:18:32 +01:00
a5483448cb patch 8.1.0945: internal error when using pattern with NL in the range
Problem:    Internal error when using pattern with NL in the range.
Solution:   Use an actual newline for the range. (closes #3989)  Also fix
            error message.  (Dominique Pelle)
2019-02-17 20:17:02 +01:00
c85c8fcb9f patch 8.1.0944: format of nbdbg() arguments is not checked
Problem:    Format of nbdbg() arguments is not checked.
Solution:   Add format attribute.  Fix reported problems. (Dominique Pelle,
            closes #3992)
2019-02-17 19:12:21 +01:00
749f07c0db patch 8.1.0943: still a trace of Farsi support
Problem:    Still a trace of Farsi support.
Solution:   Remove defining macros.
2019-02-17 18:59:10 +01:00
76cbe811da patch 8.1.0942: options window still checks for the multi_byte feature
Problem:    Options window still checks for the multi_byte feature.
Solution:   Remove the unnecessary check. (Dominique Pelle, closes #3990)
2019-02-17 17:53:49 +01:00
4f97475d32 patch 8.1.0941: macros for MS-Windows are inconsistent
Problem:    Macros for MS-Windows are inconsistent, using "32", "3264 and
            others.
Solution:   Use MSWIN for all MS-Windows builds.  Use FEAT_GUI_MSWIN for the
            GUI build. (Hirohito Higashi, closes #3932)
2019-02-17 17:44:42 +01:00
78d21dae9c patch 8.1.0940: MS-Windows console resizing not handled properly
Problem:    MS-Windows console resizing not handled properly.
Solution:   Handle resizing the console better. (Nobuhiro Takasaki,
            closes #3968, closes #3611)
2019-02-17 15:00:52 +01:00
3678f65d43 patch 8.1.0939: no completion for sign group names
Problem:    No completion for sign group names.
Solution:   Add completion for sign group names and buffer names. (Yegappan
            Lakshmanan, closes #3980)
2019-02-17 14:50:25 +01:00
21edde8742 patch 8.1.0938: background color is wrong in MS-Windows console
Problem:    Background color is wrong in MS-Windows console when not using VTP.
Solution:   Use g_attrCurrent. (Nobuhiro Takasaki, closes #3987)
2019-02-17 14:10:56 +01:00
f1b57ab2ab patch 8.1.0937: invalid memory access in search pattern
Problem:    Invalid memory access in search pattern. (Kuang-che Wu)
Solution:   Check for incomplete collation element. (Dominique Pelle,
            closes #3985)
2019-02-17 13:53:34 +01:00
55c77cf2ea patch 8.1.0936: may leak memory when using 'vartabstop'
Problem:    May leak memory when using 'vartabstop'. (Kuang-che Wu)
Solution:   Fix handling allocated memory for 'vartabstop'. (closes #3976)
2019-02-16 19:05:11 +01:00
8bfd9469ce patch 8.1.0935: old regexp engine may use invalid buffer
Problem:    Old regexp engine may use invalid buffer for 'iskeyword' or
            uninitialized buffer pointer. (Kuang-che Wu)
Solution:   Set rex.reg_buf when compiling the pattern. (closes #3972)
2019-02-16 18:07:57 +01:00
985079c514 patch 8.1.0934: invalid memory access in search pattern
Problem:    Invalid memory access in search pattern. (Kuang-che Wu)
Solution:   Check for incomplete equivalence class. (closes #3970)
2019-02-16 17:07:47 +01:00
6982f42f33 patch 8.1.0933: When using VTP scroll region isn't used properly
Problem:    When using VTP scroll region isn't used properly.
Solution:   Make better use of the scroll region. (Nobuhiro Takasaki,
            closes #3974)
2019-02-16 16:48:01 +01:00
14184a3133 patch 8.1.0932: Farsi support is outdated and unused
Problem:    Farsi support is outdated and unused.
Solution:   Delete the Farsi support.
2019-02-16 15:10:30 +01:00
6902c0eb27 patch 8.1.0931: vtp_working included in GUI build but unused
Problem:    vtp_working included in GUI build but unused.
Solution:   Adjust #ifdefs. (Ken Takata, closes #3971)
2019-02-16 14:07:37 +01:00
0a1b17bbec patch 8.1.0930: typo in Makefile
Problem:    Typo in Makefile.
Solution:   Change ABORT_CLFAGS to ABORT_CFLAGS. (Kuang-che Wu, closes #3977)
2019-02-16 13:45:09 +01:00
5acd987258 patch 8.1.0929: no error when requesting ConPTY but it's not available
Problem:    No error when requesting ConPTY but it's not available.
Solution:   Add an error message. (Hirohito Higashi, closes #3967)
2019-02-16 13:35:13 +01:00
d634024b90 patch 8.1.0928: stray log function call
Problem:    Stray log function call.
Solution:   Remove the log function call.
2019-02-16 00:00:28 +01:00
0059074008 patch 8.1.0927: USE_CR is never defined
Problem:    USE_CR is never defined.
Solution:   Remove usage of USE_CR. (Ken Takata, closes #3958)
2019-02-15 21:06:09 +01:00
e93e5a504f patch 8.1.0926: no test for :wnext, :wNext and :wprevious
Problem:    No test for :wnext, :wNext and :wprevious.
Solution:   Add a test. (Dominique Pelle, closes #3963)
2019-02-15 20:22:38 +01:00
5ff7df509a patch 8.1.0925: terminal scrollback test still still flaky
Problem:    Terminal scrollback test still still flaky.
Solution:   Explicitly set the shell.  Disable ruler. (Ozaki Kiichi,
            closes #3966)
2019-02-15 01:06:13 +01:00
7e841e3ce5 patch 8.1.0924: terminal scrollback test still flaky
Problem:    Terminal scrollback test still flaky.
Solution:   Wait a bit longer before running the tail command.
2019-02-15 00:26:14 +01:00
c3ef896608 patch 8.1.0923: terminal dump diff swap does not update file names
Problem:    Terminal dump diff swap does not update file names.
Solution:   Also swap the file name.  Add a test.
2019-02-15 00:16:13 +01:00
96baf02aa8 patch 8.1.0922: terminal scrollback test is flaky
Problem:    Terminal scrollback test is flaky.
Solution:   Wait a bit before running the tail command.
2019-02-14 23:49:38 +01:00
81aa0f56f8 patch 8.1.0921: terminal test sometimes fails; using memory after free
Problem:    Terminal test sometimes fails; using memory after free.
Solution:   Fee memory a bit later.  Add test to cover this.  Disable flaky
            screenshot test. (closes #3956)
2019-02-14 23:23:19 +01:00
29ae223ddc patch 8.1.0920: in Terminal-Normal mode job output messes up the window
Problem:    In Terminal-Normal mode job output messes up the window.
Solution:   Postpone scrolling and updating the buffer when in Terminal-Normal
            mode.
2019-02-14 21:22:01 +01:00
0f77d6afd5 patch 8.1.0919: compiler warnings
Problem:    Compiler warnings.
Solution:   Add type casts. (Mike Williams)
2019-02-14 20:55:09 +01:00
9b5c1fcdea patch 8.1.0918: MS-Windows: startup messages are not converted
Problem:    MS-Windows: startup messages are not converted.
Solution:   Convert messages when the current codepage differs from
            'encoding'. (Yasuhiro Matsumoto, closes #3914)
2019-02-14 14:08:04 +01:00
445e71c5ee patch 8.1.0917: double free when running out of memory
Problem:    Double free when running out of memory.
Solution:   Remove one free. (Ken Takata, closes #3955)
2019-02-14 13:43:36 +01:00
b999ba2778 patch 8.1.0916: with Python 3.7 "find_module" is not made available
Problem:    With Python 3.7 "find_module" is not made available.
Solution:   Also add "find_module" with Python 3.7. (Joel Frederico,
            closes #3954)
2019-02-14 13:28:45 +01:00
a787019518 patch 8.1.0915: fsync() may not work properly on Mac
Problem:    fsync() may not work properly on Mac.
Solution:   Use fcntl() with F_FULLFSYNC. (suggested by Justin M. Keyes)
2019-02-14 12:56:36 +01:00
5fd0f5052f patch 8.1.0914: code related to findfile() is spread out
Problem:    Code related to findfile() is spread out.
Solution:   Put findfile() related code into a new source file. (Yegappan
            Lakshmanan, closes #3934)
2019-02-13 23:13:28 +01:00
688b3983d8 patch 8.1.0913: CI crashes when running out of memory
Problem:    CI crashes when running out of memory.
Solution:   Apply 'maxmempattern' also to new regexp engine.
2019-02-13 21:47:36 +01:00
18442cbcc0 patch 8.1.0912: MS-Windows: warning for signed/unsigned
Problem:    MS-Windows: warning for signed/unsigned.
Solution:   Add type cast. (Nobuhiro Takasaki, closes #3945)
2019-02-13 21:22:12 +01:00
943e9639a9 patch 8.1.0911: tag line with Ex command cannot have extra fields
Problem:    Tag line with Ex command cannot have extra fields.
Solution:   Recognize |;" as the end of the command. (closes #2402)
2019-02-13 21:19:14 +01:00
15bbd6ec87 patch 8.1.0910: crash with tricky search pattern
Problem:    Crash with tricky search pattern. (Kuang-che Wu)
Solution:   Check for runnning out of memory. (closes #3950)
2019-02-13 20:31:50 +01:00
d9ef1b8d77 patch 8.1.0909: MS-Windows: using ConPTY even though it is not stable
Problem:    MS-Windows: using ConPTY even though it is not stable.
Solution:   When ConPTY version is unstable, prefer using winpty. (Ken Takata,
            closes #3949)
2019-02-13 19:23:10 +01:00
9403a2168d patch 8.1.0908: can't handle large value for %{nr}v in regexp
Problem:    Can't handle large value for %{nr}v in regexp. (Kuang-che Wu)
Solution:   Give an error if the value is too large. (closes #3948)
2019-02-13 18:35:06 +01:00
5382f12c91 patch 8.1.0907: CI tests on AppVeyor are failing
Problem:    CI tests on AppVeyor are failing.
Solution:   Reduce the recursiveness limit for regexp.
2019-02-13 01:18:38 +01:00
e1ed53f3f9 patch 8.1.0906: using clumsy way to get console window handle
Problem:    Using clumsy way to get console window handle.
Solution:   Use GetConsoleWindow(). (Ken Takata, closes #3940)
2019-02-12 23:12:37 +01:00
5567ad48b6 patch 8.1.0905: complicated regexp causes a crash
Problem:    Complicated regexp causes a crash. (Kuang-che Wu)
Solution:   Limit the recursiveness of addstate(). (closes #3941)
2019-02-12 23:05:46 +01:00
00f148d2f2 patch 8.1.0904: USE_LONG_FNAME never defined
Problem:    USE_LONG_FNAME never defined.
Solution:   Remove using USE_LONG_FNAME. (Ken Takata, closes #3938)
2019-02-12 22:37:27 +01:00
beb7574d6b patch 8.1.0903: struct uses more bytes than needed
Problem:    Struct uses more bytes than needed.
Solution:   Reorder members of regitem_S. (Dominique Pelle, closes #3936)
2019-02-12 22:33:00 +01:00
ff697e6cef patch 8.1.0902: incomplete set of assignment operators
Problem:    Incomplete set of assignment operators.
Solution:   Add /=, *= and %=. (Ozaki Kiichi, closes #3931)
2019-02-12 22:28:33 +01:00
57ee2b6e0b patch 8.1.0901: index in getjumplist() may be wrong
Problem:    Index in getjumplist() may be wrong. (Epheien)
Solution:   Call cleanup_jumplist() earlier. (Yegappan Lakshmanan,
            closes #3941)
2019-02-12 22:15:06 +01:00
48773f1f83 patch 8.1.0900: ConPTY many crash with 32-bit build
Problem:    ConPTY many crash with 32-bit build.
Solution:   Fix function declarations. (Ken Takata, closes #3943)
2019-02-12 21:46:46 +01:00
e0fb7d1e38 patch 8.1.0899: no need to check restricted mode for setwinvar()
Problem:    No need to check restricted mode for setwinvar().
Solution:   Remove check_restricted().
2019-02-12 20:48:10 +01:00
0ea21e41c6 patch 8.1.0898: a messed up rgb.txt can crash Vim
Problem:    A messed up rgb.txt can crash Vim. (Pavel Cheremushkin)
Solution:   Limit to 10000 entries.  Also don't retry many times when the file
            cannot be read.
2019-02-12 20:46:48 +01:00
05c00c038b patch 8.1.0897: can modify a:000 when using a reference
Problem:    Can modify a:000 when using a reference.
Solution:   Make check for locked variable stricter. (Ozaki Kiichi,
            closes #3930)
2019-02-11 22:00:11 +01:00
5a6698169d patch 8.1.0896: tests for restricted mode no run for MS-Windows GUI
Problem:    Tests for restricted mode no run for MS-Windows GUI.
Solution:   Make tests also work in MS-Windows GUI.
2019-02-11 21:45:00 +01:00
ec0f50a35e patch 8.1.0895: MS-Windows: dealing with temp name encoding not quite right
Problem:    MS-Windows: dealing with temp name encoding not quite right.
Solution:   Use more wide functions. (Ken Takata, closes #3921)
2019-02-10 23:26:13 +01:00
dce1e89be4 patch 8.1.0894: MS-Windows: resolve() does not return a reparse point
Problem:    MS-Windows: resolve() does not return a reparse point.
Solution:   Improve resolve(). (Yasuhiro Matsumoto, closes #3896)
2019-02-10 23:18:53 +01:00
3615abb693 patch 8.1.0893: terminal test is a bit flaky
Problem:    Terminal test is a bit flaky.
Solution:   Add test_terminal_no_cmd() to list of flaky tests.
2019-02-10 23:04:12 +01:00
eeb1b9c7ed patch 8.1.0892: failure when closing a window when location list is in use
Problem:    Failure when closing a window when location list is in use.
Solution:   Handle the situation gracefully. Make sure memory for 'switchbuf'
            is not freed at the wrong time. (Yegappan Lakshmanan,
            closes #3928)
2019-02-10 22:59:04 +01:00
d77aa4d22e patch 8.1.0891: substitute command inssuficiently tested
Problem:    Substitute command inssuficiently tested.
Solution:   Add more test coverage. (Dominique Pelle)
2019-02-10 22:50:14 +01:00
593864817a patch 8.1.0890: pty allocation wrong if using file for out channel
Problem:    Pty allocation wrong if using file for out channel and using null
            for in channel and null for error channel.
Solution:   Correct using use_file_for_out in condition. (Ozaki Kiichi, closes
            #3917)
2019-02-10 22:43:46 +01:00
6524068ff3 patch 8.1.0889: MS-Windows: a channel write may hang
Problem:    MS-Windows: a channel write may hang.
Solution:   Check for WriteFile() not writing anything. (Yasuhiro Matsumoto,
            closes #3920)
2019-02-10 22:23:26 +01:00
31b816042f patch 8.1.0888: the a: dict is not immutable as documented
Problem:    The a: dict is not immutable as documented.
Solution:   Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro
            Matsumoto, closes #3929)
2019-02-10 22:14:27 +01:00
9474716d39 patch 8.1.0887: the 'l' flag in :subsitute is sticky
Problem:    The 'l' flag in :subsitute is sticky.
Solution:   Reset the flag. (Dominique Pelle, closes #3925)
2019-02-10 21:55:26 +01:00
b763361161 patch 8.1.0886: compiler warning for NULL pointer and condition always true
Problem:    Compiler warning for adding to NULL pointer and a condition that
            is always true.
Solution:   Check for NULL pointer before adding. Remove useless "if".
            (Friedirch, closes #3913)
2019-02-10 21:48:25 +01:00
18c5632cab patch 8.1.0885: test for restricted hangs on MS-Windows GUI
Problem:    Test for restricted hangs on MS-Windows GUI.
Solution:   Skip the test.
2019-02-09 11:13:12 +01:00
af630d4f7f patch 8.1.0884: double check for bsd systems
Problem:    Double check for bsd systems.
Solution:   Delete the old line.
2019-02-08 23:09:48 +01:00
54d6fe5e60 patch 8.1.0883: missing some changes for Ex commands
Problem:    Missing some changes for Ex commands.
Solution:   Add mising changes in header file.
2019-02-08 16:50:26 +01:00
1aa43755e2 patch 8.1.0882: checking for FEAT_MBYTE which doesn't exist anymore
Problem:    Checking for FEAT_MBYTE which doesn't exist anymore. (Christ van
            Willegen)
Solution:   Remove it.
2019-02-08 14:41:31 +01:00
8c62a08faf patch 8.1.0881: can execute shell commands in rvim through interfaces
Problem:    Can execute shell commands in rvim through interfaces.
Solution:   Disable using interfaces in restricted mode. Allow for writing
            file with writefile(), histadd() and a few others.
2019-02-08 14:34:10 +01:00
c6ddce3f2c patch 8.1.0880: MS-Windows: inconsistent selection of winpty/conpty
Problem:    MS-Windows: inconsistent selection of winpty/conpty.
Solution:   Name option 'termwintype', use ++type argument and "term_pty" for
            term_start(). (Hirohito Higashi, closes #3915)
2019-02-08 12:47:03 +01:00
0036201a1a patch 8.1.0879: MS-Windows: temp name encoding can be wrong
Problem:    MS-Windows: temp name encoding can be wrong.
Solution:   Convert from active code page to 'encoding'. (Ken Takata,
            closes #3520, closes #1698)
2019-02-08 12:21:30 +01:00
a02e3f65c5 patch 8.1.0878: test for has('bsd') fails on some BSD systems
Problem:    Test for has('bsd') fails on some BSD systems.
Solution:   Adjust the uname match. (James McCoy, closes #3909)
2019-02-07 21:27:14 +01:00
ee8188fc74 patch 8.1.0877: new buffer used every time the quickfix window is opened
Problem:    New buffer used every time the quickfix window is opened.
Solution:   Reuse the buffer. (Yegappan Lakshmanan, closes #3902)
2019-02-05 21:23:04 +01:00
2a78b7c704 patch 8.1.0876: completion match not displayed when popup menu is not shown
Problem:    Completion match not displayed when popup menu is not shown.
Solution:   Call update_screen() when not displaying the popup menu to show
            the inserted match. (Ken Takata, Hirohito Higashi)
2019-02-05 20:12:06 +01:00
71b13e92ae patch 8.1.0875: not all errors of marks and findfile()/finddir() are tested
Problem:    Not all errors of marks and findfile()/finddir() are tested.
Solution:   Add more test coverage. (Dominique Pelle)
2019-02-04 21:14:45 +01:00
94688b8a2a Add missing matchit file. 2019-02-04 21:02:06 +01:00
9c46efd7dc patch 8.1.0874: using old style comments in new file
Problem:    Using old style comments in new file.
Solution:   Convert to // comments in new file. (Yegappan Lakshmanan)
2019-02-04 20:30:18 +01:00
970076468e patch 8.1.0873: list if distributed files does not include matchit autoload
Problem:    List if distributed files does not include the matchit autoload
            directory.
Solution:   Add the directory.
2019-02-03 23:45:30 +01:00
34a587457f patch 8.1.0872: confusing condition
Problem:    Confusing condition.
Solution:   Use "==" instead of "<=".
2019-02-03 15:28:28 +01:00
314dd79cac Update runtime files. 2019-02-03 15:27:20 +01:00
63d1fea814 patch 8.1.0871: build error when building with Ruby 2.6.0
Problem:    Build error when building with Ruby 2.6.0.
Solution:   Change argument of rb_int2big_stub(). (Android Baumann,
            closes #3899)
2019-02-03 15:18:35 +01:00
aa5df7e312 patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
Problem:    Vim doesn't use the new ConPTY support in Windows 10.
Solution:   Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794)
2019-02-03 14:53:10 +01:00
01a6c21691 patch 8.1.0869: Travis CI script is too complicated
Problem:    Travis CI script is too complicated.
Solution:   Add names to environments.  Move appveyor script outside of src
            directory. (Ozaki Kiichi, closes #3890)
2019-02-03 13:13:18 +01:00
889da2f243 patch 8.1.0868: crash if triggering garbage collector after a function call
Problem:    Crash if triggering garbage collector after a function call.
            (Michael Henry)
Solution:   Don't call the garbage collector right away, do it later.
            (closes #3894)
2019-02-02 14:02:30 +01:00
65951258d6 patch 8.1.0867: cannot build Python interface with Python 2.4
Problem:    Cannot build Python interface with Python 2.4. (Tom G. Christensen)
Solution:   Define PyBytes_FromStringAndSize. (Ken Takata, closes #3888)
2019-02-01 22:10:16 +01:00
1c321dcee9 patch 8.1.0866: build file dependencies are outdated
Problem:    Build file dependencies are outdated. (John Little)
Solution:   Run "make proto" and "make depend".
2019-02-01 20:42:22 +01:00
895d966e34 patch 8.1.0865: when 'listchars' only contains "nbsp:X" it does not work
Problem:    When 'listchars' only contains "nbsp:X" it does not work.
Solution:   Set extra_check when lcs_nbsp is set. (Ralf Schandl, closes #3889)
2019-01-31 21:57:21 +01:00
375e339007 patch 8.1.0864: cannot have a local value for 'scrolloff' and 'sidescrolloff'
Problem:    Cannot have a local value for 'scrolloff' and 'sidescrolloff'.
            (Gary Holloway)
Solution:   Make 'scrolloff' and 'sidescrolloff' global-local. (mostly by
            Aron Widforss, closes #3539)
2019-01-31 18:26:10 +01:00
b3051ce82f patch 8.1.0863: cannot see what signal caused a job to end
Problem:    Cannot see what signal caused a job to end.
Solution:   Add "termsig" to job_info(). (Ozaki Kiichi, closes #3786)
2019-01-31 15:52:11 +01:00
221cd9f4dd patch 8.1.0862: no verbose version of character classes
Problem:    No verbose version of character classes.
Solution:   Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi,
            closes #1373)
2019-01-31 15:34:40 +01:00
60f807b3f7 patch 8.1.0861: building with MinGW and static libc doesn't work
Problem:    Building with MinGW and static libc doesn't work.
Solution:   Change the LIB argument. (Ken Takata)
2019-01-31 14:43:19 +01:00
77255cab74 patch 8.1.0860: debug lines left in the code
Problem:    Debug lines left in the code.
Solution:   Delete the lines.
2019-01-31 14:29:42 +01:00
c45eb770a5 patch 8.1.0859: "%v" in 'errorformat' does handle multi-byte characters
Problem:    "%v" in 'errorformat' does handle multi-byte characters.
Solution:   Handle multi-byte characters. (Yegappan Lakshmanan, closes #3700)
2019-01-31 14:27:04 +01:00
ce655743ba patch 8.1.0858: 'indentkeys' and 'cinkeys' defaults are different
Problem:    'indentkeys' and 'cinkeys' defaults are different.
Solution:   Make them the same, update docs. (close #3882)
2019-01-31 14:12:57 +01:00
4b47162cce patch 8.1.0857: indent functionality is not separated
Problem:    Ignore functionality is not separated.
Solution:   Move indent functionality into a new file. (Yegappan Lakshmanan,
            closes #3886)
2019-01-31 13:48:09 +01:00
bbb5f8d4c2 patch 8.1.0856: when scrolling a window the cursorline is not always updated
Problem:    When scrolling a window other than the current one the cursorline
            highlighting is not always updated. (Jason Franklin)
Solution:   Call redraw_for_cursorline() after scrolling.  Only set
            w_last_cursorline when drawing the cursor line.  Reset the lines
            to be redrawn also when redrawing the whole window.
2019-01-31 13:22:32 +01:00
af703585a3 patch 8.1.0855: cannot build xxd with MSVC 10
Problem:    Cannot build xxd with MSVC 10.
Solution:   Move declaration to start of block.
2019-01-31 11:00:42 +01:00
d8c56a0d29 patch 8.1.0854: xxd does not work with more than 32 bit addresses
Problem:    xxd does not work with more than 32 bit addresses.
Solution:   Add support for 64 bit addresses. (Christer Jensen, closes #3791)
2019-01-30 23:02:25 +01:00
cbbd0f6578 patch 8.1.0853: options test fails on Mac
Problem:    Options test fails on Mac.
Solution:   Remove a trailing slash from $TMPDIR.
2019-01-30 22:36:18 +01:00
ed71ed37bc patch 8.1.0852: findfile() and finddir() are not properly tested
Problem:    findfile() and finddir() are not properly tested.
Solution:   Extend the test and add more. (Dominique Pelle, closes #3880)
2019-01-30 22:13:35 +01:00
8d4ce56a19 patch 8.1.0851: feedkeys() with "L" does not work properly
Problem:    feedkeys() with "L" does not work properly.
Solution:   Do not set typebuf_was_filled when using "L". (Ozaki Kiichi,
            closes #3885)
2019-01-30 22:01:40 +01:00
98ad1e17c3 patch 8.1.0850: test for 'backupskip' is not correct
Problem:    Test for 'backupskip' is not correct.
Solution:   Split the option in parts and use expand(). (Michael Soyka)
2019-01-30 21:51:27 +01:00
c07ff5c60a patch 8.1.0849: cursorline highlight is not always updated
Problem:    Cursorline highlight is not always updated.
Solution:   Set w_last_cursorline when redrawing.  Fix resetting cursor flags
            when using the popup menu.
2019-01-30 21:41:14 +01:00
b191be2f00 patch 8.1.0848: cannot build with Ruby 1.8
Problem:    Cannot build with Ruby 1.8. (Tom G. Christensen)
Solution:   Use rb-str_new2(). (Yasuhiro Matsumoto, closes #3883,
            closes #3884)
2019-01-30 21:00:12 +01:00
9172d23d05 patch 8.1.0847: may use terminal after it was cleaned up
Problem:    May use terminal after it was cleaned up.
Solution:   Use the job pointer.
2019-01-29 23:06:54 +01:00
39536dd557 patch 8.1.0846: not easy to recognize the system Vim runs on
Problem:    Not easy to recognize the system Vim runs on.
Solution:   Add more items to the features list. (Ozaki Kiichi, closes #3855)
2019-01-29 22:58:21 +01:00
2a4857a1fc patch 8.1.0845: having job_status() free the job causes problems
Problem:    Having job_status() free the job causes problems.
Solution:   Do not actually free the job or terminal yet, put it in a list and
            free it a bit later. Do not use a terminal after checking the job
            status.  (closes #3873)
2019-01-29 22:29:07 +01:00
50948e4ac2 patch 8.1.0844: when timer fails test will hang forever
Problem:    When timer fails test will hang forever.
Solution:   Use reltime() to limit waiting time. (Ozaki Kiichi, closes #3878)
2019-01-29 20:36:56 +01:00
e0de2164f6 patch 8.1.0843: memory leak when running "make test_cd"
Problem:    Memory leak when running "make test_cd".
Solution:   Free the stack element when failing. (Dominique Pelle,
            closes #3877)
2019-01-29 20:17:28 +01:00
cb908a813c patch 8.1.0842: getchar_zero test fails on MS-Windows
Problem:    getchar_zero test fails on MS-Windows.
Solution:   Disable the test for now.
2019-01-28 23:20:04 +01:00
2339fa335f patch 8.1.0841: travis config to get Lua on MacOS is too complicated
Problem:    Travis config to get Lua on MacOS is too complicated.
Solution:   Use an addons entry. (Ozaki Kiichi, closes 3876)
2019-01-28 22:59:36 +01:00
12dfc9eef1 patch 8.1.0840: getchar(0) never returns a character in the terminal
Problem:    getchar(0) never returns a character in the terminal.
Solution:   Call wait_func() at least once.
2019-01-28 22:32:58 +01:00
f58d81a187 patch 8.1.0839: when using VTP wrong colors after a color scheme change
Problem:    When using VTP wrong colors after a color scheme change.
Solution:   When VTP is active always clear after a color scheme change.
            (Nobuhiro Takasaki, closes #3872)
2019-01-28 20:19:05 +01:00
dec01206b2 patch 8.1.0838: compiler warning for type conversion
Problem:    Compiler warning for type conversion.
Solution:   Add a type cast. (Mike Williams)
2019-01-28 20:04:24 +01:00
26d982185e patch 8.1.0837: timer interrupting cursorhold and mapping not tested
Problem:    Timer interrupting cursorhold and mapping not tested.
Solution:   Add tests with timers. (Ozaki Kiichi, closes #3871)
2019-01-27 22:32:55 +01:00
346d2a359a patch 8.1.0836: user completion test can fail on MS-Windows
Problem:    User completion test can fail on MS-Windows.
Solution:   Allow for other names befor "Administrator".
2019-01-27 20:43:41 +01:00
3e9d4d85c4 patch 8.1.0835: GUI build fails on MS-Windows
Problem:    GUI build fails on MS-Windows.
Solution:   Adjust #ifdef.
2019-01-27 17:08:40 +01:00
e40b9d47bf patch 8.1.0834: GUI may wait too long before dealing with messages
Problem:    GUI may wait too long before dealing with messages.  Returning
            early may cause a mapping to time out.
Solution:   Use the waiting loop from Unix also for the GUI.
            (closes #3817, closes #3824)
2019-01-27 16:55:47 +01:00
d93090f41f patch 8.1.0833: memory leak when jumps output is filtered
Problem:    Memory leak when jumps output is filtered.
Solution:   Free the filtered name. (Dominique Pelle, closes #3869)
2019-01-27 15:07:39 +01:00
2e05009218 patch 8.1.0832: confirm() is not tested
Problem:    confirm() is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3868)
2019-01-27 15:00:36 +01:00
0eb220c030 patch 8.1.0831: xxd test fails if man page has dos fileformat
Problem:    Xxd test fails if man page has dos fileformat.
Solution:   Make a copy with unix fileformat.
2019-01-27 14:41:43 +01:00
e3d0654544 patch 8.1.0830: test leaves directory behind on MS-Windows
Problem:    Test leaves directory behind on MS-Windows.
Solution:   Close buffer before deleting directory.
2019-01-27 14:29:24 +01:00
d39e275b57 patch 8.1.0829: when 'hidden' is set session creates extra buffers
Problem:    When 'hidden' is set session creates extra buffers.
Solution:   Move :badd commands to the end. (Jason Franklin)
2019-01-26 20:07:38 +01:00
6aba96dd57 patch 8.1.0828: still using FEAT_VIRTUALEDIT
Problem:    Still using FEAT_VIRTUALEDIT.
Solution:   Remove last use of FEAT_VIRTUALEDIT.
2019-01-26 17:43:21 +01:00
2a953fcf10 Updated runtime files. 2019-01-26 17:41:47 +01:00
8e59a1e127 patch 8.1.0827: missing dependency in Makefile
Problem:    Missing dependency in Makefile.
Solution:   Add dependency from autocmd.o on auto/osdef.h
2019-01-26 17:36:51 +01:00
29ddebef40 patch 8.1.0826: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_VIRTUALEDIT.  Adds about 10Kbyte to the code.
2019-01-26 17:28:26 +01:00
3e460fd8b7 patch 8.1.0825: code for autocommands is mixed with file I/O code
Problem:    Code for autocommands is mixed with file I/O code.
Solution:   Move autocommand code to a separate file. (Yegappan Lakshmanan,
            closes #3863)
2019-01-26 16:21:07 +01:00
1ecc5e4a99 patch 8.1.0824: SunOS/Solaris has a problem with ttys
Problem:    SunOS/Solaris has a problem with ttys.
Solution:   Add mch_isatty() with extra handling for SunOS. (Ozaki Kiichi,
            closes #3865)
2019-01-26 15:12:55 +01:00
203651b9b2 patch 8.1.0823: not sufficient testing of xxd
Problem:    Not sufficient testing of xxd.
Solution:   Add some more test coverage.
2019-01-26 14:11:19 +01:00
cb574f4154 patch 8.1.0822: peeking and flushing output slows down execution
Problem:    Peeking and flushing output slows down execution.
Solution:   Do not update the mode message when global_busy is set.  Do not
            flush when only peeking for a character. (Ken Takata)
2019-01-25 22:29:57 +01:00
970f5d39f2 patch 8.1.0821: xxd "usage" output and other arguments not tested
Problem:    Xxd "usage" output and other arguments not tested.
Solution:   Add a test to trigger the usage output in various ways.  Fix
            uncovered problem.
2019-01-25 21:52:17 +01:00
e295609be2 patch 8.1.0820: test for sending large data over channel sometimes fails
Problem:    Test for sending large data over channel sometimes fails.
Solution:   Handle that the job may have finished early.  Also fix that file
            changed test doesn't work in the GUI and reduce flakyness. (Ozaki
            Kiichi, closes #3861)
2019-01-25 21:01:17 +01:00
865767126e patch 8.1.0819: a failed assert with a long string is hard to read
Problem:    A failed assert with a long string is hard to read.
Solution:   Shorten the assert message.
2019-01-25 20:48:33 +01:00
240583869a patch 8.1.0818: MS-Windows: cannot send large data with ch_sendraw()
Problem:    MS-Windows: cannot send large data with ch_sendraw().
Solution:   Split write into several WriteFile() calls. (Yasuhiro Matsumoto,
            closes #3823)
2019-01-24 23:11:49 +01:00
99531a7604 patch 8.1.0817: ":=" command is not tested
Problem:    ":=" command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3859)
2019-01-24 22:42:37 +01:00
681b6bc86c patch 8.1.0816: test for 'runtimepath' in session fails on MS-Windows
Problem:    Test for 'runtimepath' in session fails on MS-Windows.
Solution:   Skip the test for now.
2019-01-24 22:23:58 +01:00
5e66b42aae patch 8.1.0815: dialog for file changed outside of Vim not tested
Problem:    Dialog for file changed outside of Vim not tested.
Solution:   Add a test.  Move FileChangedShell test.  Add 'L' flag to
            feedkeys().
2019-01-24 21:58:10 +01:00
ed18f2c03a patch 8.1.0814: :mksession cannot handle a very long 'runtimepath'
Problem:    :mksession cannot handle a very long 'runtimepath'. (Timothy
            Madden)
Solution:   Expand each part separately, instead of the whole option at once.
            (Christian Brabandt, closes #3466)
2019-01-24 20:30:52 +01:00
0566e891f7 patch 8.1.0813: FileChangedShell not sufficiently tested
Problem:    FileChangedShell not sufficiently tested.
Solution:   Add a more comprehensive test case.
2019-01-24 19:37:40 +01:00
9ba6117de6 patch 8.1.0812: Unicode 16 feature is not useful
Problem:    Unicode 16 feature is not useful and cannot be detected.
Solution:   Remove UNICODE16.
2019-01-24 18:20:17 +01:00
30276f2beb patch 8.1.0811: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_MBYTE, the final chapter.
2019-01-24 17:59:39 +01:00
264b74fa54 patch 8.1.0810: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_MBYTE, part 4.
2019-01-24 17:18:42 +01:00
a12a161b8c patch 8.1.0809: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_MBYTE, part 3.
2019-01-24 16:39:02 +01:00
091806d6f0 patch 8.1.0808: MS-Windows: build error with GUI
Problem:    MS-Windows: build error with GUI.
Solution:   Remove "static".
2019-01-24 16:27:46 +01:00
9e79ccbe9c patch 8.1.0807: session test fails on MS-Windows
Problem:    Session test fails on MS-Windows.
Solution:   Don't try creating file with illegal name.
2019-01-24 15:57:30 +01:00
fc3abf47fb patch 8.1.0806: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_MBYTE, part 2.
2019-01-24 15:54:21 +01:00
135059724f patch 8.1.0805: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_MBYTE, part 1.
2019-01-24 15:04:48 +01:00
4b9e91f0ba patch 8.1.0804: crash when setting v:errmsg to empty list
Problem:    Crash when setting v:errmsg to empty list. (Jaon Franklin)
Solution:   Separate getting value and assigning result.
2019-01-24 13:58:11 +01:00
ad36a3588d patch 8.1.0803: session file has problem with single quote in file name
Problem:    Session file has problem with single quote in file name. (Jon
            Crowe)
Solution:   Use a double quoted string.  Add a test.
2019-01-24 13:34:42 +01:00
a5be9b6248 patch 8.1.0802: negative index doesn't work for Blob
Problem:    Negative index doesn't work for Blob.
Solution:   Make it work, add a test. (closes #3856)
2019-01-24 12:31:44 +01:00
fb1199d934 patch 8.1.0801: MinGW: no hint that tests fail because of small terminal
Problem:    MinGW: no hint that tests fail because of small terminal.
Solution:   Add a rule for test1 that checks for "wrongtermsize".
            (msoyka-of-wharton)
2019-01-24 12:18:46 +01:00
4456ab527a patch 8.1.0800: may use a lot of memory when a function refers itself
Problem:    May use a lot of memory when a function creates a cyclic
            reference.
Solution:   After saving a funccal many times, invoke the garbage collector.
            (closes #3835)
2019-01-23 23:00:30 +01:00
cfc15237ab patch 8.1.0799: calling deleted function; test doesn't work on Mac
Problem:    Calling deleted function; test doesn't work on Mac.
Solution:   Wait for the function to be called before deleting it. Use a job
            to write to the pty, unless in the GUI. (Ozaki Kiichi,
            closes #3854)
2019-01-23 22:33:18 +01:00
dd29ea1805 patch 8.1.0798: changing a blob while iterating over it works strangely
Problem:    Changing a blob while iterating over it works strangely.
Solution:   Make a copy of the Blob before iterating.
2019-01-23 21:56:21 +01:00
bf821bccf1 patch 8.1.0797: error E898 is used twice
Problem:    Error E898 is used twice.
Solution:   Rename the Blob error to E899. (closes #3853)
2019-01-23 21:15:02 +01:00
31faed60bf patch 8.1.0796: MS-Windows 7: problem with named pipe on channel
Problem:    MS-Windows 7: problem with named pipe on channel.
Solution:   Put back the disconnect/connect calls. (Yasuhiro Matsumoto,
            closes #3833)
2019-01-22 23:01:40 +01:00
f88af6e675 patch 8.1.0795: cannot build without popup menu
Problem:    Cannot build without popup menu.
Solution:   Add #ifdef
2019-01-22 22:55:00 +01:00
82a12468bd patch 8.1.0794: white space before " -Ntabmove" causes problems
Problem:    White space before " -Ntabmove" causes problems.
Solution:   Skip whitespace. (Ozaki Kiichi, closes #3841)
2019-01-22 22:41:42 +01:00
0d17f0d1c0 patch 8.1.0793: incorrect error messages for functions that take a Blob
Problem:    Incorrect error messages for functions that now take a Blob
            argument.
Solution:   Adjust the error messages. (Dominique Pelle, closes #3846)
2019-01-22 22:20:38 +01:00
9e26f7d31f patch 8.1.0792: bad display if opening cmdline window from Insert completion
Problem:    Popup menu is displayed on top of the cmdline window if it is
            opened from Insert completion. (Bjorn Linse)
Solution:   Remove the popup menu.  Restore the cursor position.
            (closes #3838)
2019-01-22 22:08:09 +01:00
563bbeabcc patch 8.1.0791: a few compiler warnings on VMS
Problem:    A few compiler warnings on VMS.
Solution:   Remove type cast.  Adjust #ifdef. (Zoltan Arpadffy)
2019-01-22 21:45:40 +01:00
57a6bf0567 patch 8.1.0790: code for creating tabpages in session is too complex
Problem:    Code for creating tabpages in session is too complex.
Solution:   Simplify the code. (Jason Franklin)
2019-01-22 21:27:13 +01:00
555de4e3b2 patch 8.1.0789: sourcing a session sets v:errmsg
Problem:    Sourcing a session sets v:errmsg.
Solution:   Use "%argdel" instead of "argdel *". (Jason Franklin)
2019-01-21 23:03:49 +01:00
b2148f5864 patch 8.1.0788: cannot build with tiny features
Problem:    Cannot build with tiny features.
Solution:   Adjust #ifdefs.
2019-01-20 23:43:57 +01:00
edce7420d0 patch 8.1.0787: compiler warning for unused function
Problem:    Compiler warning for unused function. (Tony Mechelynck)
Solution:   Tune #ifdef around setjmp functions.
2019-01-20 18:39:30 +01:00
10772307c4 patch 8.1.0786: ml_get error when updating the status line
Problem:    ml_get error when updating the status line and a terminal had its
            scrollback cleared.  (Chris Patuzzo)
Solution:   Check the cursor position when drawing the status line.
            (closes #3830)
2019-01-20 18:25:54 +01:00
113e10721f patch 8.1.0785: depending on the configuration some functions are unused
Problem:    Depending on the configuration some functions are unused.
Solution:   Add more #ifdefs, remove unused functions. (Dominique Pelle,
            closes #3822)
2019-01-20 15:30:40 +01:00
1f20daa1d7 patch 8.1.0784: messy indent in if statement
Problem:    Messy indent in if statement.
Solution:   Improve structure of if statement. (Ozaki Kiichi, closes #3826)
2019-01-19 21:12:24 +01:00
63c0ccd2b6 patch 8.1.0783: compiler warning for signed/unsigned
Problem:    Compiler warning for signed/unsigned.
Solution:   Add type cast.  Change type of buffer. (Ozaki Kiichi, closes #3827)
2019-01-19 21:06:58 +01:00
2d951a486e patch 8.1.0782: Win32: cursor blinks when Vim is not active
Problem:    Win32: cursor blinks when Vim is not active.
Solution:   Remove call to setActiveWindow(). (Yasuhiro Matsumoto,
            closes #3778)
2019-01-19 19:54:20 +01:00
a502caab8b patch 8.1.0781: build error when using if_xcmdsrv.c
Problem:    Build error when using if_xcmdsrv.c.
Solution:   Add missing part of 8.1.0779.
2019-01-19 18:23:41 +01:00
e25bbc3b2b patch 8.1.0780: terminal test fails on Mac
Problem:    Terminal test fails on Mac.
Solution:   Skip the test on Mac.
2019-01-19 18:20:45 +01:00
32526b3c18 patch 8.1.0779: argument for message functions is inconsistent
Problem:    Argument for message functions is inconsistent.
Solution:   Make first argument to msg() "char *".
2019-01-19 17:43:09 +01:00
d383c92ec1 patch 8.1.0778: terminal test fails on MS-Windows
Problem:    Terminal test fails on MS-Windows.
Solution:   Temporarily skip the test on MS-Windows.  Do run it both in
            terminal and GUI on other systems.
2019-01-19 15:27:08 +01:00
b091f30bf3 patch 8.1.0777: Win32: using pipes for channel does not work well
Problem:    Win32: using pipes for channel does not work well.
Solution:   Use a larger buffer and handle overlaps. (Yasuhiro Matsumoto,
            closes #3782)
2019-01-19 14:37:00 +01:00
b2e54b0092 patch 8.1.0776: Travis does not build a version without GUI on Linux
Problem:    Travis does not build a version without GUI on Linux.
Solution:   Add an environment for tiny features without GUI.
2019-01-19 13:46:50 +01:00
2bf60b3001 patch 8.1.0775: matching too many files as zsh
Problem:    Matching too many files as zsh. (Danek Duvall)
Solution:   Be more specific with zsh filetype patterns.
2019-01-18 23:14:43 +01:00
05a2907cde patch 8.1.0774: VMS build is missing the blob file
Problem:    VMS build is missing the blob file.
Solution:   Add the blob file to the build rules. (Zoltan Arpadffy)
2019-01-18 22:59:53 +01:00
987411db9e patch 8.1.0773: not all crypt code is tested
Problem:    Not all crypt code is tested.
Solution:   Disable unused crypt code.  Add more test coverage.
2019-01-18 22:48:34 +01:00
0314236aab patch 8.1.0772: the sign_define_by_name() function is too long
Problem:    The sign_define_by_name() function is too long.
Solution:   Split it into smaller functions. (Yegappan Lakshmanan,
            closes #3819)
2019-01-18 22:01:42 +01:00
147e7d0cab patch 8.1.0771: some shell filetype patterns end in a star
Problem:    Some shell filetype patterns end in a star.
Solution:   Make sure that patterns not ending in a star are preferred.
2019-01-18 21:46:47 +01:00
1ac56c2d11 patch 8.1.0770: inconsistent use of ELAPSED_FUNC
Problem:    Inconsistent use of ELAPSED_FUNC.
Solution:   Consistently use ELAPSED_FUNC.  Also turn ELAPSED_TYPE into a
            typedef. (Ozaki Kiichi, closes #3815)
2019-01-17 22:28:22 +01:00
3020ccb113 patch 8.1.0769: :stop is covered in two tests
Problem:    :stop is covered in two tests.
Solution:   Remove Test_stop_in_terminal().  Make other test exit Vim cleanly.
            (Ozaki Kiichi, closes #3814)
2019-01-17 22:13:54 +01:00
ae654385df patch 8.1.0768: updating completions may cause the popup menu to flicker
Problem:    Updating completions may cause the popup menu to flicker.
Solution:   Avoid updating the text below the popup menu before drawing the
            popup menu.
2019-01-17 21:09:05 +01:00
c771bf9016 patch 8.1.0767: when deleting lines at the bottom signs are misplaced
Problem:    When deleting lines at the bottom signs are misplaced.
Solution:   Properly update the line number of signs at the end of a buffer
            after a delete/undo operation. (Yegappan Lakshmanan, closes #3798)
2019-01-17 17:36:45 +01:00
88c86eb751 patch 8.1.0766: various problems when using Vim on VMS
Problem:    Various problems when using Vim on VMS.
Solution:   Various fixes. Define long_long_T. (Zoltan Arpadffy)
2019-01-17 17:13:30 +01:00
4131fd5509 patch 8.1.0765: string format of a Blob can't be parsed back
Problem:    String format of a Blob can't be parsed back.
Solution:   Use 0z format.
2019-01-17 16:32:53 +01:00
6e0b6a0bec patch 8.1.0764: list of distributed files is outdated
Problem:    List of distributed files is outdated.
Solution:   Remove workshop files.  Add blob files.
2019-01-17 16:11:06 +01:00
d09091d495 Update runtime files. 2019-01-17 16:07:22 +01:00
bb1969b6ab patch 8.1.0763: nobody is using the Sun Workshop support
Problem:    Nobody is using the Sun Workshop support.
Solution:   Remove the Workshop support.
2019-01-17 15:45:25 +01:00
e40742526e patch 8.1.0762: compiler warning
Problem:    Compiler warning.
Solution:   Add type cast. (Mike Williams)
2019-01-17 14:31:14 +01:00
e299bbdf6e patch 8.1.0761: default value for brief_wait is wrong
Problem:    Default value for brief_wait is wrong.
Solution:   Make the default FALSE. (Ozaki Kiichi, closes #3812, closes #3799)
2019-01-17 14:12:02 +01:00
617d7ef046 patch 8.1.0760: no proper test for using 'termencoding'
Problem:    No proper test for using 'termencoding'.
Solution:   Add a screendump test.  Fix using double width characters in a
            screendump.
2019-01-17 13:04:30 +01:00
83a52171ba patch 8.1.0759: showing two characters for tab is limited
Problem:    Showing two characters for tab is limited.
Solution:   Allow for a third character for "tab:" in 'listchars'. (Nathaniel
            Braun, Ken Takata, closes #3810)
2019-01-16 22:41:54 +01:00
500f361080 patch 8.1.0758: font number is always one instead of the actual
Problem:    Font number is always one instead of the actual.
Solution:   Use "%d" instead of "1". (Ken Takata)
2019-01-16 22:15:11 +01:00
d89682477c patch 8.1.0757: not enough documentation for Blobs
Problem:    Not enough documentation for Blobs.
Solution:   Add a section about Blobs.
2019-01-15 22:51:57 +01:00
3d28b58c51 patch 8.1.0756: copy() does not make a copy of a Blob
Problem:    copy() does not make a copy of a Blob.
Solution:   Make a copy.
2019-01-15 22:44:17 +01:00
2ea773b468 patch 8.1.0755: error message for get() on a Blob with invalid index
Problem:    Error message for get() on a Blob with invalid index.
Solution:   Return an empty Blob, like get() on a List does.
2019-01-15 22:16:42 +01:00
177ab9e026 patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Problem:    Preferred column is lost when setting 'cursorcolumn'.
Solution:   Change option flag to P_RWINONLY. (Takayuki Kurosawa,
            closes #3806)
2019-01-15 21:12:57 +01:00
b5443cc46d patch 8.1.0753: printf format not checked for semsg()
Problem:    printf format not checked for semsg().
Solution:   Add GNUC attribute and fix reported problems. (Dominique Pelle,
            closes #3805)
2019-01-15 20:19:40 +01:00
8e481e8dfe patch 8.1.0752: one more compiler warning for signed/unsigned string
Problem:    One more compiler warning for signed/unsigned string. (Tony
            Mechelynck)
Solution:   Remove type cast.
2019-01-15 20:07:48 +01:00
6057ed4720 patch 8.1.0751: some regexp errors are not tested
Problem:    Some regexp errors are not tested.
Solution:   Add a test function.
2019-01-14 23:19:29 +01:00
8144acbec3 patch 8.1.0750: when the last sign is deleted the signcolumn may remain
Problem:    When the last sign is deleted the signcolumn may not be removed
            even though 'signcolumn' is "auto".
Solution:   When deleting the last sign redraw the buffer. (Dominique Pelle,
            closes #3803, closes #3804)
2019-01-14 23:08:18 +01:00
6acc79f5d4 patch 8.1.0749: error message contains garbage
Problem:    Error message contains garbage. (Dominique Pelle)
Solution:   Use correct pointer to failed expression.
2019-01-14 22:53:31 +01:00
1be45b2ea7 patch 8.1.0748: using sprintf() instead of semsg()
Problem:    Using sprintf() instead of semsg().
Solution:   Use semsg().  Fix bug with E888. (Ozaki Kiichi, closes #3801)
2019-01-14 22:46:15 +01:00
ce9d50df07 patch 8.1.0747: map() with a bad expression doesn't give an error
Problem:    map() with a bad expression doesn't give an error. (Ingo Karkat)
Solution:   Check for giving an error message. (closes #3800)
2019-01-14 22:22:29 +01:00
bbee8d5122 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Problem:    Highlighting not updated with conceal and 'cursorline'. (Jason
            Franklin)
Solution:   Do not use a zero line number.  Check if 'conceallevel' is set for
            the current window.
2019-01-14 21:51:40 +01:00
99b1272f88 patch 8.1.0745: compiler warnings for signed/unsigned string
Problem:    Compiler warnings for signed/unsigned string.
Solution:   Remove type casts. (John Marriott)
2019-01-14 20:16:40 +01:00
b1443b480f patch 8.1.0744: compiler warnings for signed/unsigned strings
Problem:    Compiler warnings for signed/unsigned strings.
Solution:   A few more type cast fixes.
2019-01-13 23:51:14 +01:00
f9e3e09fdc patch 8.1.0743: giving error messages is not flexible
Problem:    Giving error messages is not flexible.
Solution:   Add semsg().  Change argument from "char_u *" to "char *", also
            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
            #3302)  Also make emsg() accept a "char *" argument.  Get rid of
            an enormous number of type casts.
2019-01-13 23:38:42 +01:00
05500ece62 patch 8.1.0742: not all Blob operations are tested
Problem:    Not all Blob operations are tested.
Solution:   Add more testing for Blob.
2019-01-13 19:10:33 +01:00
8c8b8bb56c patch 8.1.0741: viminfo with Blob is not tested
Problem:    Viminfo with Blob is not tested.
Solution:   Extend the viminfo test.  Fix reading a blob.  Fixed storing a
            special variable value.
2019-01-13 17:48:04 +01:00
8309b0559d patch 8.1.0740: Tcl test fails
Problem:    Tcl test fails.
Solution:   When the argument is empty don't give an error, instead rely on
            the error reporting higher up.
2019-01-13 16:46:22 +01:00
81b1ba4be5 patch 8.1.0739: text objects in not sufficiently tested
Problem:    Text objects in not sufficiently tested.
Solution:   Add a few more test cases. (Dominique Pelle, closes #3795)
2019-01-13 16:12:40 +01:00
ecc8bc482b patch 8.1.0738: using freed memory, for loop over blob leaks memory
Problem:    Using freed memory, for loop over blob leaks memory.
Solution:   Clear pointer after freeing memory.  Decrement reference count
            after for loop over blob.
2019-01-13 16:07:21 +01:00
e519dfd713 patch 8.1.0737: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Add initialization. (John Marriott)
2019-01-13 15:42:02 +01:00
c0f5a78c15 patch 8.1.0736: code for Blob not sufficiently tested
Problem:    Code for Blob not sufficiently tested.
Solution:   Add more tests.  Fix uncovered crash.  Add test_null_blob().
2019-01-13 15:16:13 +01:00
6e5ea8d2a9 patch 8.1.0735: cannot handle binary data
Problem:    Cannot handle binary data.
Solution:   Add the Blob type. (Yasuhiro Matsumoto, closes #3638)
2019-01-12 22:47:31 +01:00
e3c74d249a patch 8.1.0734: the hlsearch state is not stored in a session file
Problem:    The hlsearch state is not stored in a session file.
Solution:   Add "nohlsearch" if appropriate. (Jason Franklin)
2019-01-12 16:29:30 +01:00
2be7cb73f6 patch 8.1.0733: too many #ifdefs for the multi-byte feature
Problem:    Too many #ifdefs for the multi-byte feature.
Solution:   Tentatively always enable the multi-byte feature.  If you have a
            problem with this, please discuss on the Vim maillist.
2019-01-12 16:10:51 +01:00
ea56e167c8 patch 8.1.0732: cannot build without the eval feature
Problem:    Cannot build without the eval feature.
Solution:   Make a copy of the sourced file name.
2019-01-12 15:15:38 +01:00
5f6b379ff3 patch 8.1.0731: JS encoding does not handle negative infinity
Problem:    JS encoding does not handle negative infinity.
Solution:   Add support for negative infinity for JS encoding. (Dominique
            Pelle, closes #3792)
2019-01-12 14:24:27 +01:00
ec9d3001cf patch 8.1.0730: compiler warning for get_buf_arg() unused
Problem:    Compiler warning for get_buf_arg() unused.
Solution:   Add #ifdef. (John Marriott)
2019-01-12 13:50:31 +01:00
2b6185287a patch 8.1.0729: there is a SourcePre autocommand event but not a SourcePost
Problem:    There is a SourcePre autocommand event but not a SourcePost.
Solution:   Add the SourcePost autocommand event. (closes #3739)
2019-01-12 13:26:03 +01:00
c3c3158756 patch 8.1.0728: cannot avoid breaking after a single space.
Problem:    Cannot avoid breaking after a single space.
Solution:   Add the 'p' flag to 'formatoptions'. (Tom Ryder)
2019-01-11 22:15:05 +01:00
44a7db4ffd patch 8.1.0727: compiler warning for sprintf() argument
Problem:    Compiler warning for sprintf() argument.
Solution:   Add type cast.
2019-01-11 20:47:31 +01:00
535d5b653a patch 8.1.0726: redrawing specifically for conceal feature
Problem:    Redrawing specifically for conceal feature.
Solution:   Use generic redrawing methods.
2019-01-11 20:45:36 +01:00
465e8b5985 patch 8.1.0725: conceal mode is not completely tested
Problem:    Conceal mode is not completely tested.
Solution:   Add tests for moving the cursor in Insert mode.
2019-01-11 20:42:28 +01:00
46fd6bf2b6 patch 8.1.0724: build for MinGW fails
Problem:    Build for MinGW fails.
Solution:   Avoid specifying dependencies in included makefile.
2019-01-11 19:19:44 +01:00
ec50401e1e patch 8.1.0723: cannot easily run specific test when in src/testdir
Problem:    Cannot run specific test when in src/testdir the same was as in
            the src directory.
Solution:   Move build rule to src/testdir/Makefile.
2019-01-11 17:30:16 +01:00
977239ef52 patch 8.1.0722: cannot build without the virtualedit feature
Problem:    Cannot build without the virtualedit feature.
Solution:   Make getviscol2() always available.
2019-01-11 16:16:01 +01:00
429ab1761e patch 8.1.0721: conceal mode is not sufficiently tested
Problem:    Conceal mode is not sufficiently tested.
Solution:   Add screendump tests.  Check all 'concealcursor' values.
2019-01-11 15:54:45 +01:00
5b69c22fd2 patch 8.1.0720: cannot easily change the current quickfx list index
Problem:    Cannot easily change the current quickfx list index.
Solution:   Add the "idx" argument to setqflist(). (Yegappan Lakshmanan,
            closes #3701)
2019-01-11 14:50:06 +01:00
870ba5f6dc patch 8.1.0719: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Always build with the +visualextra feature.
2019-01-11 14:37:20 +01:00
402385a7f2 patch 8.1.0718: a couple compiler warnings
Problem:    A couple compiler warnings.
Solution:   Rename shadowed variables.  Add UNUSED.
2019-01-11 14:10:03 +01:00
6b7b7190aa patch 8.1.0717: there is no function for the ":sign jump" command
Problem:    There is no function for the ":sign jump" command.
Solution:   Add the sign_jump() function. (Yegappan Lakshmanan, closes #3780)
2019-01-11 13:42:41 +01:00
cee9bc2e3d patch 8.1.0716: get warning message when 'completefunc' returns nothing
Problem:    Get warning message when 'completefunc' returns nothing.
Solution:   Allow for returning v:none to suppress the warning message.
            (Yasuhiro Matsumoto, closes #3789)
2019-01-11 13:02:23 +01:00
6f7e555f74 patch 8.1.0715: superfluous call to redraw_win_later()
Problem:    Superfluous call to redraw_win_later().
Solution:   Remove the call.
2019-01-11 11:55:16 +01:00
c951522943 patch 8.1.0714: unessesary #if lines in GTK code
Problem:    Unessesary #if lines in GTK code.
Solution:   Remove the #if. (Ken Takata, closes #3785)
2019-01-10 22:56:30 +01:00
24877cf22c patch 8.1.0713: images for NSIS take up too much space
Problem:    Images for NSIS take up too much space.
Solution:   Put the images in a zip file.
2019-01-10 21:51:48 +01:00
ba7e1865b3 patch 8.1.0712: MS-Windows build instructions are a bit outdated
Problem:    MS-Windows build instructions are a bit outdated.
Solution:   Update the instructions. (Ken Takata)
2019-01-09 23:02:43 +01:00
1e1153600c patch 8.1.0711: test files still use function!
Problem:    Test files still use function!.
Solution:   Remove the exclamation mark.  Fix overwriting a function.
2019-01-09 23:01:02 +01:00
c46af53410 patch 8.1.0710: when using timers may wait for job exit quite long
Problem:    When using timers may wait for job exit quite long.
Solution:   Return from ui_wait_for_chars_or_timer() when a job or channel
            needs to be handled. (Ozaki Kiichi, closes #3783)
2019-01-09 22:24:49 +01:00
27a472c32e patch 8.1.0709: windows are updated for every added/deleted sign
Problem:    Windows are updated for every added/deleted sign.
Solution:   Do not call update_debug_sign().  Only redraw when the line with
            the sign is visible.  (idea from neovim #9479)
2019-01-09 21:47:30 +01:00
ae12f4bad3 patch 8.1.0708: third argument for redrawWinline() is always FALSE
Problem:    Third argument for redrawWinline() is always FALSE.
Solution:   Drop the argument. (neovim #9479)
2019-01-09 20:51:04 +01:00
663bc89bbb patch 8.1.0707: text property columns are not adjusted for changed indent
Problem:    Text property columns are not adjusted for changed indent.
Solution:   Adjust text properties.
2019-01-08 23:07:24 +01:00
e12bab3144 patch 8.1.0706: tabline is not always redrawn
Problem:    Tabline is not always redrawn when something that is used in
            'tabline' changes.
Solution:   Add ":redrawtabline" so that a plugin can at least cause the
            redraw when needed.
2019-01-08 22:02:56 +01:00
6d4470b0e9 patch 8.1.0705: :colorscheme isn't tested enough
Problem:    :colorscheme isn't tested enough
Solution:   Improve test coverage of :colorscheme. (Dominique Pelle, closes
            #3777)  Remove unnecessary sleep.
2019-01-08 21:05:51 +01:00
f62fc316a2 patch 8.1.0704: building with Ruby 2.6 gives compiler warnings
Problem:    Building with Ruby 2.6 gives compiler warnings.
Solution:   Define a stub for rb_ary_detransient. (Ozaki Kiichi, closes #3779)
2019-01-08 20:29:32 +01:00
8aef43b66c patch 8.1.0703: compiler warnings with 64-bit compiler
Problem:    Compiler warnings with 64-bit compiler.
Solution:   Change types, add type casts. (Mike Williams)
2019-01-08 20:14:35 +01:00
b589f95b38 patch 8.1.0702: ":sign place" only uses the current buffer
Problem:    ":sign place" only uses the current buffer.
Solution:   List signs for all buffers when there is no buffer argument.
            Fix error message for invalid buffer name in sign_place().
            (Yegappan Lakshmanan, closes #3774)
2019-01-07 22:10:00 +01:00
d730c8e297 patch 8.1.0701: sign message not translated and inconsistent spacing
Problem:    Sign message not translated and inconsistent spacing.
Solution:   Add _() for translation.  Add a space. (Ken Takata)  Also use
            MSG_BUF_LEN instead of BUFSIZ.
2019-01-07 21:16:53 +01:00
04b4e1a424 patch 8.1.0700: using "gt" sometimes does not redraw a tab
Problem:    Using "gt" sometimes does not redraw a tab. (Jason Franklin)
Solution:   Always set must_redraw in redraw_all_later().
2019-01-06 22:22:07 +01:00
6d11f3b891 patch 8.1.0699: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add a dummy init.
2019-01-06 17:44:38 +01:00
bf3250a8ad patch 8.1.0698: clearing the window is used too often
Problem:    Clearing the window is used too often, causing the command line
            to be cleared when opening a tab. (Miroslav Koškár)
Solution:   Use NOT_VALID instead of CLEAR.  (suggested by Jason Franklin,
            closes #630)  Also do this for a few other places where clearing
            the screen isn't really needed.
2019-01-06 17:25:29 +01:00
b328cca254 patch 8.1.0697: ":sign place" requires the buffer argument
Problem:    ":sign place" requires the buffer argument.
Solution:   Make the argument optional.  Also update the help and clean up the
            sign test. (Yegappan Lakshmanan, closes #3767)
2019-01-06 16:24:01 +01:00
8ad16da729 patch 8.1.0696: when test_edit fails 'insertmode' may not be reset
Problem:    When test_edit fails 'insertmode' may not be reset and the next
            test may get stuck. (James McCoy)
Solution:   Always reset 'insertmode' after executing a test.  Avoid that an
            InsertCharPre autocommand or a 'complete' function can change the
            state. (closes #3768)
2019-01-06 15:29:57 +01:00
f42b45d719 patch 8.1.0695: internal error when using :popup
Problem:    Internal error when using :popup.
Solution:   When a menu only exists in Terminal mode give an error. (Naruhiko
            Nishino, closes #3765)
2019-01-06 13:11:05 +01:00
4614f53e0f patch 8.1.0694: when using text props may free memory that is not allocated
Problem:    When using text props may free memory that is not allocated.
            (Andy Massimino)
Solution:   Allocate the line when adjusting text props. (closes #3766)
2019-01-06 12:54:55 +01:00
f780b8a1c1 patch 8.1.0693: channel test fails sometimes
Problem:    Channel test fails sometimes.
Solution:   Avoid race condition.
2019-01-05 00:35:22 +01:00
8b62d87e42 patch 8.1.0692: if a buffer was deleted a channel can't write to it
Problem:    If a buffer was deleted a channel can't write to it.
Solution:   When the buffer exists but was unloaded, prepare it for writing.
            (closes #3764)
2019-01-05 00:02:57 +01:00
4164bb204e patch 8.1.0691: text properties are not adjusted for :substitute
Problem:    Text properties are not adjusted for :substitute.
Solution:   Adjust text properties as well as possible.
2019-01-04 23:09:49 +01:00
21b5038e02 patch 8.1.0690: setline() and setbufline() do not clear text properties
Problem:    setline() and setbufline() do not clear text properties.
Solution:   Clear text properties when setting the text.
2019-01-04 18:07:24 +01:00
7f1664e392 patch 8.1.0689: undo with text properties not tested
Problem:    Undo with text properties not tested.
Solution:   Add a test function.
2019-01-04 17:21:24 +01:00
ccae4672fd patch 8.1.0688: text properties are not restored by undo
Problem:    Text properties are not restored by undo.
Solution:   Also save text properties for undo.
2019-01-04 15:09:57 +01:00
6d3a1940be patch 8.1.0687: sentence text object in Visual mode is not tested
Problem:    Sentence text object in Visual mode is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3758)
2019-01-03 23:10:32 +01:00
5823f84dd0 patch 8.1.0686: when 'y' is in 'cpoptions' yanking for the clipboard changes redo
Problem:    When 'y' is in 'cpoptions' yanking for the clipboard changes redo.
Solution:   Do not use the 'y' flag when "gui_yank" is TRUE. (Andy Massimino,
            closes #3760)
2019-01-03 22:58:08 +01:00
f2d79fa92d patch 8.1.0685: get_buf_tv() is named inconsistently
Problem:    get_buf_tv() is named inconsistently.
Solution:   Rename it to tv_get_buf(). (Yegappan Lakshmanan, closes #3759)
2019-01-03 22:19:27 +01:00
4b7214ea78 patch 8.1.0684: warnings from 64-bit compiler
Problem:    Warnings from 64-bit compiler.
Solution:   Add type casts. (Mike Williams)
2019-01-03 21:55:32 +01:00
637532b3c0 patch 8.1.0683: spell highlighting does not always end
Problem:    Spell highlighting does not always end. (Gary Johnson)
Solution:   Also reset char_attr when spell errors are highlighted.
2019-01-03 21:44:40 +01:00
196d157f12 patch 8.1.0682: text properties not adjusted when backspacing replaced text
Problem:    Text properties are not adjusted when backspacing replaced text.
Solution:   Keep text properties on text restored in replace mode.
2019-01-02 23:47:18 +01:00
33c8ca923e patch 8.1.0681: text properties as not adjusted for deleted text
Problem:    Text properties as not adjusted for deleted text.
Solution:   Adjust text properties when backspacing to delete text.
2019-01-02 18:00:27 +01:00
c85ffc9dab patch 8.1.0680: not easy to see what features are unavailable
Problem:    Not easy to see what features are unavailable.
Solution:   Highlight disabled features in the :version output. (Nazri Ramliy,
            closes #3756)
2019-01-02 17:26:35 +01:00
2cbc1a02cb patch 8.1.0679: sign functions do not take buffer argument as documented
Problem:    Sign functions do not take buffer argument as documented.
Solution:   Use get_buf_tv(). (Yegappan Lakshmanan, closes #3755)
2019-01-02 13:40:31 +01:00
44746aa1eb patch 8.1.0678: text properties as not adjusted for inserted text
Problem:    Text properties as not adjusted for inserted text.
Solution:   Adjust text properties when inserting text.
2019-01-02 00:02:11 +01:00
866f355814 patch 8.1.0677: look-behind match may use the wrong line number
Problem:    Look-behind match may use the wrong line number. (Dominique Pelle)
Solution:   Use the line number in regsave instead of the one in behind_pos,
            we may be looking at the previous line. (closes #3749)
2019-01-01 22:19:08 +01:00
5e53ac00a2 patch 8.1.0676: textprop screendump test fails
Problem:    Textprop screendump test fails.
Solution:   Add missing changes.
2019-01-01 20:31:31 +01:00
b9c67a51c1 patch 8.1.0675: text property column in screen columns is not practical
Problem:    Text property column is screen columns is not practical.
Solution:   Use byte values for the column.
2019-01-01 19:49:20 +01:00
4c05fa08c9 Update runtime files 2019-01-01 15:32:17 +01:00
6d5b4f566a patch 8.1.0674: leaking memory when updating a single line
Problem:    Leaking memory when updating a single line.
Solution:   Do not call start_search_hl() twice.
2019-01-01 15:15:47 +01:00
bbea47075c patch 8.1.0673: functionality for signs is spread out over several files
Problem:    Functionality for signs is spread out over several files.
Solution:   Move most of the sign functionality into sign.c. (Yegappan
            Lakshmanan, closes #3751)
2019-01-01 13:20:31 +01:00
9067cd6cdf patch 8.1.0672: the Lua interface doesn't know about v:null
Problem:    The Lua interface doesn't know about v:null.
Solution:   Add Lua support for v:null. (Uji, closes #3744)
2019-01-01 00:41:54 +01:00
e1e714ef0d patch 8.1.0671: cursor in the wrong column after auto-formatting
Problem:    Cursor in the wrong column after auto-formatting.
Solution:   Check for deleting more spaces than adding. (closes #3748)
2018-12-31 23:58:24 +01:00
3d631cb0b3 patch 8.1.0670: macro for popup menu width is unused
Problem:    Macro for popup menu width is unused.
Solution:   Remove it. (Hirohito Higashi)
2018-12-31 22:09:56 +01:00
a355652ea5 patch 8.1.0669: the ex_sign() function is too long
Problem:    The ex_sign() function is too long.
Solution:   Refactor the function.  Add a bit more testing. (Yegappan
            Lakshmanan, closes #3745)
2018-12-31 22:02:29 +01:00
c0676bab92 patch 8.1.0668: no test for overstrike mode in the command line
Problem:    No test for overstrike mode in the command line.
Solution:   Add a test. (Dominique Pelle, closes #3742)
2018-12-31 21:03:02 +01:00
2f21fa8743 patch 8.1.0667: textprop test leaves file behind
Problem:    Textprop test leaves file behind.
Solution:   Delete the file. (Dominique Pelle, closes #3743)
2018-12-31 20:05:56 +01:00
fb2f7aa982 patch 8.1.0666: text property test fails
Problem:    Text property test fails.
Solution:   Update screenshot.
2018-12-31 14:34:05 +01:00
c6d86dccc4 patch 8.1.0665: text property display wrong when 'spell' is set
Problem:    Text property display wrong when 'spell' is set. (Dominique Pelle)
Solution:   Remove unnecessary assignment to char_attr.  Combine attributes if
            needed.  Add a screenshot test.
2018-12-31 13:57:36 +01:00
af0839acec patch 8.1.0664: configure "fail-if-missing" does not apply to enable-gui
Problem:    Configure "fail-if-missing" does not apply to the enable-gui
            argument. (Rhialto)
Solution:   Make configure fail if a GUI was specifified and "fail-if-missing"
            is enabled and the GUI test fails.
2018-12-30 22:55:47 +01:00
8caa10a8ec patch 8.1.0663: text property display wrong when 'number' is set
Problem:    Text property display wrong when 'number' is set. (Dominique
            Pelle)
Solution:   Compare with "vcol"  instead of "col".
2018-12-30 22:07:40 +01:00
ef0a1d5ed3 patch 8.1.0662: needlessly searching for tilde in string
Problem:    Needlessly searching for tilde in string.
Solution:   Only check the first character. (James McCoy, closes #3734)
2018-12-30 11:38:57 +01:00
a8bfa1727a patch 8.1.0661: clipboard regexp might be used recursively
Problem:    Clipboard regexp might be used recursively.
Solution:   Check for recursive use and bail out.
2018-12-29 22:28:46 +01:00
1ea88a3e12 patch 8.1.0660: sign_cleanup() may leak memory
Problem:    sign_cleanup() may leak memory.
Solution:   Free the group name before returning.  Add a few more tests.
            (Yegappan Lakshmanan)
2018-12-29 21:00:27 +01:00
ced198d4b4 patch 8.1.0659: build failure without the sign feature
Problem:    Build failure without the sign feature.
Solution:   Put the sign struct declarations outside of the #ifdef.
2018-12-29 20:04:40 +01:00
7d83bf4f2b patch 8.1.0658: deleting signs and completion for :sign is insufficient
Problem:    Deleting signs and completion for :sign is insufficient.
Solution:   Add deleting signs in a specified or any group from the current
            cursor location.  Add group and priority to sign command
            completion. Add tests for different sign unplace commands. Update
            help text.  Add tests for sign jump with group. Update help for
            sign jump. (Yegappan Lakshmanan, closes #3731)
2018-12-29 18:53:55 +01:00
01e51e5b30 patch 8.1.0657: get error for using regexp recursively
Problem:    Get error for using regexp recursively. (Dominique Pelle)
Solution:   Do no check if connection is desired.
2018-12-29 13:09:46 +01:00
c0c7549687 patch 8.1.0656: trying to reconnect to X server may cause problems
Problem:    Trying to reconnect to X server may cause problems.
Solution:   Do no try reconnecting when exiting. (James McCoy)
2018-12-29 11:03:23 +01:00
b56ac049ea patch 8.1.0655: when appending a line text property flags are not added
Problem:    When appending a line text property flags are not added.
Solution:   Add text properties to a newly added line.
2018-12-28 23:22:40 +01:00
c1a9bc1a72 patch 8.1.0654: when deleting a line text property flags are not adjusted
Problem:    When deleting a line text property flags are not adjusted.
Solution:   Adjust text property flags in preceding and following lines.
2018-12-28 21:59:29 +01:00
3de8c2d1f0 patch 8.1.0653: arglist test fails on MS-windows
Problem:    Arglist test fails on MS-windows.
Solution:   Only use a file name with a double quote on Unix.
2018-12-28 19:29:35 +01:00
6d9e71ad99 patch 8.1.0652: freeing memory for balloon eval too early
Problem:    Freeing memory for balloon eval too early.
Solution:   Store the pointer in BalloonEval and free it later. (Yasuhiro
            Matsumoto, closes #3725)
2018-12-28 19:13:34 +01:00
2ac372ccee patch 8.1.0651: :args \"foo works like :args without argument
Problem:    :args \"foo works like :args without argument.
Solution:   Fix check for empty argument. (closes #3728)
2018-12-28 19:06:47 +01:00
54948183d2 patch 8.1.0650: command line argument -q [errorfile] is not tested
Problem:    Command line argument -q [errorfile] is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3730)
2018-12-28 18:32:56 +01:00
b7a7e039b4 patch 8.1.0649: setjmp() variables defined globally are used in one file
Problem:    setjmp() variables defined globally are used in one file.
Solution:   Move the declarations to that file.
2018-12-28 17:01:59 +01:00
c8c8849267 Update runtime files. 2018-12-27 23:59:26 +01:00
5976f8ff00 patch 8.1.0648: custom operators can't act upon a forced motion
Problem:    Custom operators can't act upon a forced motion. (Christian
            Wellenbrock)
Solution:   Add the forced motion to the mode() result. (Christian Brabandt,
            closes #3490)
2018-12-27 23:44:44 +01:00
d385b5d329 patch 8.1.0647: MS-Windows: balloon_show() does not handle wide characters
Problem:    MS-Windows: balloon_show() does not handle wide characters.
Solution:   Use CreateWindowExW(). (Yasuhiro Matsumoto, closes #3708)
2018-12-27 22:43:08 +01:00
b09c684195 patch 8.1.0646: cannot build with Ruby 2.6.0
Problem:    Cannot build with Ruby 2.6.0.
Solution:   Add rb_ary_detransient(). (Ozaki Kiichi, closes #3724)
2018-12-27 22:11:01 +01:00
06d6260323 patch 8.1.0645: Coverity warns for possible use of NULL pointer
Problem:    Coverity warns for possible use of NULL pointer.
Solution:   Check return value of vterm_obtain_screen().
2018-12-27 21:27:03 +01:00
6436cd83f9 patch 8.1.0644: finding next sign ID is inefficient
Problem:    Finding next sign ID is inefficient.
Solution:   Add next_sign_id. (Yegappan Lakshmanan, closes #3717)
2018-12-27 00:28:33 +01:00
00b1e04165 patch 8.1.0643: computing byte offset wrong
Problem:    Computing byte offset wrong. (Bjorn Linse)
Solution:   Use the right variable for array index.
2018-12-26 23:42:10 +01:00
e6fdf79980 patch 8.1.0642: swapinfo() leaks memory
Problem:    swapinfo() leaks memory.
Solution:   Avoid allocating the strings twice.
2018-12-26 22:57:42 +01:00
c57463c9c6 patch 8.1.0641: no check for out-of-memory when converting regexp
Problem:    No check for out-of-memory when converting regexp.
Solution:   Bail out when lalloc() returns NULL. (John Marriott)
2018-12-26 22:04:41 +01:00
548e598573 patch 8.1.0640: get E14 while typing command :tab with 'incsearch' set
Problem:    Get E14 while typing command :tab with 'incsearch' set.
Solution:   Do not give an error when looking for the command. (Yasuhiro
            Higashi)
2018-12-26 21:45:00 +01:00
8cf734e024 patch 8.1.0639: text properties test fails on MS-Windows
Problem:    text properties test fails on MS-Windows
Solution:   Set fileformat to "unix".
2018-12-26 01:09:00 +01:00
48f88ac85b patch 8.1.0638: text property highlighting is off by one column
Problem:    Text property highlighting is off by one column. (Bjorn Linse)
Solution:   Update text property highlighting earlier.  Let it overrule syntax
            highlighting.
2018-12-26 00:25:20 +01:00
4604fbbbff patch 8.1.0637: nsis file no longer used
Problem:    Nsis file no longer used.
Solution:   Remove the file. (Ken Takata)
2018-12-25 23:37:02 +01:00
b413d2e6a8 patch 8.1.0636: line2byte() gives wrong values with text properties
Problem:    line2byte() gives wrong values with text properties. (Bjorn Linse)
Solution:   Compute byte offsets differently when text properties were added.
            (closes #3718)
2018-12-25 23:15:46 +01:00
e38197d50f patch 8.1.0635: Coverity complains about null pointer use
Problem:    Coverity complains about null pointer use.
Solution:   Avoid using a null pointer.
2018-12-24 23:35:13 +01:00
e3d31b02a5 patch 8.1.0634: text properties cannot cross line boundaries
Problem:    Text properties cannot cross line boundaries.
Solution:   Support multi-line text properties.
2018-12-24 23:07:04 +01:00
cd929f7ba8 patch 8.1.0633: crash when out of memory while opening a terminal window
Problem:    Crash when out of memory while opening a terminal window.
Solution:   Handle out-of-memory more gracefully.
2018-12-24 21:38:45 +01:00
7a2d9892b7 patch 8.1.0632: using sign group names is inefficient
Problem:    Using sign group names is inefficient.
Solution:   Store group names in a hash table and use a reference to them.
            Also remove unnecessary use of ":exe" from the tests.  (Yegappan
            Lakshmanan, closes #3715)
2018-12-24 20:23:49 +01:00
d6024e2dd4 patch 8.1.0631: test for :stop fails on Arch
Problem:    Test for :stop fails on Arch.
Solution:   Check five lines for the expected output. (closes #3714)
2018-12-24 19:15:20 +01:00
a42df5934b patch 8.1.0630: "wincmd p" does not work after using an autocmd window
Problem:   "wincmd p" does not work after using an autocmd window.
Solution:   Store "prevwin" in aco_save_T. (Christian Brabandt, closes #3690)
2018-12-24 00:22:39 +01:00
5d24a2257e patch 8.1.0629: "gn" selects the wrong text with a multi-line match
Problem:    "gn" selects the wrong text with a multi-line match.
Solution:   Get the end position from searchit() directly. (closes #3695)
2018-12-23 19:10:09 +01:00
c33181c44c Ignore output files from indent tests. 2018-12-23 15:43:28 +01:00
80dae04d69 patch 8.1.0628: Compiler warning on MS-Windows.
Problem:    Compiler warning on MS-Windows.
Solution:   Add type cast. (Mike Williams)
2018-12-23 13:36:40 +01:00
9123c0b31a patch 8.1.0627: Python cannot handle function name of script-local function
Problem:    Python cannot handle function name of script-local function.
Solution:   Use <SNR> instead of the special byte code. (Ozaki Kiichi, closes
            #3681)
2018-12-22 18:59:06 +01:00
4814ccbdf0 patch 8.1.0626: MS-Windows: no resize to fit parent when using --windowid
Problem:    MS-Windows: no resize to fit parent when using --windowid.
Solution:   Pass FALSE for "mustset" in gui_set_shellsize(). (Agorgianitis
            Loukas, closes #3616)
2018-12-22 18:44:53 +01:00
81df63537e patch 8.1.0625: MS-Windows: terminal test fails in white console
Problem:    MS-Windows: terminal test fails in white console.
Solution:   Accept both white and black background colors.
2018-12-22 18:25:30 +01:00
39b5d8b514 patch 8.1.0624: overuling CONF_ARGS from the environment still does not work
Problem:    Overuling CONF_ARGS from the environment still does not work. (Tony
            Mechelynck)
Solution:   Add back CONF_ARGS next to the new numbered ones.
2018-12-22 17:27:15 +01:00
3d1491ed23 patch 8.1.0623: iterating through window frames is repeated
Problem:    Iterating through window frames is repeated.
Solution:   Define FOR_ALL_FRAMES. (Yegappan Lakshmanan)
2018-12-22 17:07:50 +01:00
9752c72f49 patch 8.1.0622: adding quickfix items marks items as valid errors
Problem:    Adding quickfix items marks items as valid errors. (Daniel Hahler)
Solution:   Check when items are valid. (Yegappan Lakshmanan, closes #3683,
            closes #3633)
2018-12-22 16:49:34 +01:00
ef3c6a5b02 patch 8.1.0621: terminal debugger does not handle unexpected debugger exit
Problem:    Terminal debugger does not handle unexpected debugger exit.
Solution:   Check for debugger job ended and close unused buffers. (Damien)
2018-12-22 15:14:49 +01:00
3ac55c8644 patch 8.1.0620: overuling CONF_ARGS from the environment no longer works
Problem:    Overuling CONF_ARGS from the environment no longer works. (Tony
            Mechelynck)
Solution:   Do not define any CONF_ARGS by default.
2018-12-22 14:59:03 +01:00
461a7fcfce patch 8.1.0619: :echomsg and :echoerr do not handle List and Dict
Problem:    :echomsg and :echoerr do not handle List and Dict like :echo does.
            (Daniel Hahler)
Solution:   Be more tolerant about the expression result type.
2018-12-22 13:28:07 +01:00
528ccfbaa1 patch 8.1.0618: term_getjob() does not return v:null as documented
Problem:    term_getjob() does not return v:null as documented.
Solution:   Do return v:null. (Damien)  Add a test.
2018-12-21 20:55:22 +01:00
1916673a16 patch 8.1.0617: NSIS installer gets two files from the wrong directory
Problem:    NSIS installer gets two files from the wrong directory.
Solution:   Change ${VIMRT} to "..\".
2018-12-21 17:59:33 +01:00
af610b8e66 patch 8.1.0616: NSIS installer is outdated
Problem:    NSIS installer is outdated.
Solution:   Use modern syntax, MUI2 and make it work better. Add translations.
            (Ken Takata, closes #3501)
2018-12-21 16:22:50 +01:00
d155d7a851 patch 8.1.0615: get_tv function names are not consistent
Problem:    Get_tv function names are not consistent.
Solution:   Rename to tv_get.
2018-12-21 16:04:21 +01:00
162b71479b patch 8.1.0614: placing signs can be complicated
Problem:    Placing signs can be complicated.
Solution:   Add functions for defining and placing signs.  Introduce a group
            name to avoid different plugins using the same signs. (Yegappan
            Lakshmanan, closes #3652)
2018-12-21 15:17:36 +01:00
48f377a476 patch 8.1.0613: when executing an insecure function the secure flag is stuck
Problem:    When executing an insecure function the secure flag is stuck.
            (Gabriel Barta)
Solution:   Restore "secure" instead of decrementing it. (closes #3705)
2018-12-21 13:03:28 +01:00
9d302ad4e3 patch 8.1.0612: cannot use two global runtime dirs with configure
Problem:    Cannot use two global runtime dirs with configure.
Solution:   Support a comma in --with-global-runtime. (James McCoy,
            closes #3704)
2018-12-21 11:48:51 +01:00
a79fd56923 patch 8.1.0611: crash when using terminal with long composing characters
Problem:    Crash when using terminal with long composing characters.
Solution:   Make space for all characters. (Yasuhiro Matsumoto, closes #3619,
            closes #3703)
2018-12-20 20:47:32 +01:00
6dc6703295 patch 8.1.0610: MS-Windows ctags file list differs from Unix
Problem:    MS-Windows ctags file list differs from Unix.
Solution:   Define TAGS_FILES in the common makefile. (partly by Ken Takata)
2018-12-19 21:05:57 +01:00
9d5c84a08f patch 8.1.0609: MS-Windows: unused variable, depending on the Ruby version
Problem:    MS-Windows: unused variable, depending on the Ruby version.
Solution:   Put ruby_sysinit and NtInitialize inside #ifdef and make them
            consistent. (Ken Takata)
2018-12-19 20:48:46 +01:00
e667779013 patch 8.1.0608: coverals is not updating
Problem:    Coverals is not updating.
Solution:   Adjust path in Travis config.
2018-12-18 22:04:05 +01:00
c447d8d33f patch 8.1.0607: proto files are not in sync with the source code
Problem:    Proto files are not in sync with the source code.
Solution:   Update the proto files.
2018-12-18 21:56:28 +01:00
9d87a37ee9 Update runtime files. 2018-12-18 21:41:50 +01:00
a86187b9cd patch 8.1.0606: 'cryptmethod' defaults to a very old method
Problem:    'cryptmethod' defaults to a very old method.
Solution:   Default to "blowfish2", it is now widely available.
2018-12-16 18:20:00 +01:00
6403bcdaf4 patch 8.1.0605: running make in the top directory echoes a comment
Problem:    Running make in the top directory echoes a comment.
Solution:   Prefix with @. (closes #3698)
2018-12-16 16:48:47 +01:00
9eb76af451 patch 8.1.0604: autocommand test fails on MS-Windows
Problem:    Autocommand test fails on MS-Windows.
Solution:   Use pathcmp() instead of strcmp() to check if a directory differs.
2018-12-16 16:30:21 +01:00
e751a5f531 patch 8.1.0603: the :stop command is not tested
Problem:    The :stop command is not tested.
Solution:   Test :stop using a terminal window.
2018-12-16 16:16:10 +01:00
2caad3fbbd patch 8.1.0602: DirChanged is also triggered when directory didn't change
Problem:    DirChanged is also triggered when the directory didn't change.
            (Daniel Hahler)
Solution:   Compare the current with the new directory. (closes #3697)
2018-12-16 15:38:02 +01:00
4efe73b478 patch 8.1.0601: a few compiler warnings
Problem:    A few compiler warnings.
Solution:   Add type casts. (Mike Williams)
2018-12-16 14:37:39 +01:00
d80232be54 patch 8.1.0600: channel test is flaky
Problem:    Channel test is flaky.
Solution:   Add test to list of flaky tests.
2018-12-15 17:46:23 +01:00
eeed665b0e patch 8.1.0599: without the +eval feature the indent tests don't work
Problem:    Without the +eval feature the indent tests don't work.
Solution:   Skip the body of the tests.
2018-12-15 17:43:42 +01:00
72846cfa76 patch 8.1.0598: indent tests may use the wrong Vim binary
Problem:    Indent tests may use the wrong Vim binary.
Solution:   Pass in the just built Vim binary.
2018-12-15 17:23:18 +01:00
acecb3b935 patch 8.1.0597: cannot run test_libvterm from the top directory
Problem:    Cannot run test_libvterm from the top directory.
Solution:   Add test target in toplevel Makefile.
2018-12-15 16:19:50 +01:00
21e551cce2 patch 8.1.0596: not all parts of printf() are tested
Problem:    Not all parts of printf() are tested.
Solution:   Add a few more test cases. (Dominique Pelle, closes #3691)
2018-12-15 16:08:56 +01:00
a9659e0da4 patch 8.1.0595: libvterm tests are not run with coverage
Problem:    Libvterm tests are not run with coverage.
Solution:   Adjust the Travis config.  Show the actually run commands.
2018-12-15 15:59:32 +01:00
8b321d6a52 patch 8.1.0594: libvterm tests fail to run on Mac
Problem:    Libvterm tests fail to run on Mac.
Solution:   Only run libvterm tests on Linux.
2018-12-15 15:39:28 +01:00
37e3edce20 patch 8.1.0593: illegal memory access in libvterm test
Problem:    Illegal memory access in libvterm test.
Solution:   Fix off-by-one error.
2018-12-15 14:49:34 +01:00
471f658135 patch 8.1.0592: the libvterm tests are not run as part of Vim tests
Problem:    The libvterm tests are not run as part of Vim tests.
Solution:   Add testing libvterm.
2018-12-15 14:24:39 +01:00
6c8dd39df9 patch 8.1.0591: channel sort test is flaky
Problem:    Channel sort test is flaky.
Solution:   Do not check if the job is running, it may have be done very fast.
2018-12-14 22:42:13 +01:00
cd1a62d468 patch 8.1.0590: when a job ends the closed channels are not handled
Problem:    When a job ends the closed channels are not handled.
Solution:   When a job is detected to have ended, check the channels again.
            (closes #3530)
2018-12-14 21:32:02 +01:00
142a975815 patch 8.1.0589: compilation error in gvimext.cpp
Problem:    Compilation error in gvimext.cpp.
Solution:   Return a value.  Also fix using uninitialized variable.
2018-12-14 19:54:39 +01:00
06b056e110 patch 8.1.0588: cannot define a sign with space in the text
Problem:    Cannot define a sign with space in the text.
Solution:   Allow for escaping characters. (Ben Jackson, closes #2967)
2018-12-14 19:37:08 +01:00
06d4c4c818 patch 8.1.0587: GvimExt: realloc() failing is not handled properly
Problem:    GvimExt: realloc() failing is not handled properly.
Solution:   Check for NULL return. (Jan-Jaap Korpershoek, closes #3689)
2018-12-14 19:20:02 +01:00
eae8ae1b2b patch 8.1.0586: :digraph output is not easy to read
Problem:    :digraph output is not easy to read.
Solution:   Add highlighting for :digraphs. (Marcin Szamotulski, closes #3572)
            Also add section headers for :digraphs!.
2018-12-14 18:53:02 +01:00
56242f2b08 patch 8.1.0585: undo test may fail on MS-Windows
Problem:    Undo test may fail on MS-Windows.
Solution:   Also handle lower case drive letters.
2018-12-14 15:48:48 +01:00
5f5e203c92 patch 8.1.0584: with search CTRL-L does not pick up composing characters
Problem:    With search CTRL-L does not pick up composing characters.
Solution:   Check for composing characters. (Christian Brabandt, closes #3682)
            [code change was accidentally included in 8.1.0579]
2018-12-14 15:47:03 +01:00
8f66717a1f patch 8.1.0583: using illogical name for get_dict_number()/get_dict_string()
Problem:    Using illogical name for get_dict_number()/get_dict_string().
Solution:   Rename to start with dict_.
2018-12-14 15:38:31 +01:00
fb95e212a2 patch 8.1.0582: text properties are not enabled
Problem:    Text properties are not enabled.
Solution:   Fix sizeof argument and re-enable the text properties feature.
            Fix memory leak.
2018-12-14 12:18:11 +01:00
ca79a5fc3b patch 8.1.0581: double free without the text properties feature
Problem:    Double free without the text properties feature.
Solution:   Reset the dirty flag.
2018-12-13 23:16:36 +01:00
2fa7fad831 patch 8.1.0580: invalid memory access when using text properties
Problem:    Invalid memory access when using text properties.
Solution:   Disable text properties for now.
2018-12-13 23:05:56 +01:00
98aefe7c32 patch 8.1.0579: cannot attach properties to text
Problem:    Cannot attach properties to text.
Solution:   First part of adding text properties.
2018-12-13 22:20:09 +01:00
5c5697f298 patch 8.1.0578: cannot disable arabic, rightleft and farsi in configure
Problem:    Cannot disable arabic, rightleft and farsi in configure.
Solution:   Add configur flags. (Diego Fernando Carrión, closes #1867)
2018-12-12 20:34:09 +01:00
295471920d patch 8.1.0577: tabpage right-click menu never shows "Close tab"
Problem:    Tabpage right-click menu never shows "Close tab".
Solution:   Always create the "Close tab" item but ignore the event if there
            is only one tab.
2018-12-11 20:39:19 +01:00
30700cd5ff patch 8.1.0576: indent script tests pick up installed scripts
Problem:    Indent script tests pick up installed scripts.
Solution:   Use current runtime indent scripts.
2018-12-10 21:36:56 +01:00
d47d52232b Update runtime files. 2018-12-09 20:43:55 +01:00
37402ed534 patch 8.1.0575: Termdebug: clearing multi-breakpoint does not work
Problem:    Termdebug: clearing multi-breakpoint does not work.
Solution:   Delete all X.Y breakpoints.  Keep more information about placed
            breakpoints. (Ozaki Kiichi, closes #3641)
2018-12-09 15:53:01 +01:00
4af7259b2b patch 8.1.0574: 'commentstring' not used when adding fold marker in C
Problem:    'commentstring' not used when adding fold marker in C.
Solution:   Require white space before middle comment part. (mostly by
            Hirohito Higashi)
2018-12-09 15:00:52 +01:00
55d4691308 patch 8.1.0573: cannot redefine user command without ! in same script
Problem:    Cannot redefine user command without ! in same script
Solution:   Allow redefining user command without ! in same script, like with
            functions.
2018-12-08 16:03:28 +01:00
76ab4fd619 patch 8.1.0572: stopping a job does not work properly on OpenBSD
Problem:    Stopping a job does not work properly on OpenBSD.
Solution:   Do not use getpgid() to check the process group of the job
            processs ID, always pass the negative process ID to kill().
            (George Koehler, closes #3656)
2018-12-08 14:39:05 +01:00
446e7a3cd3 patch 8.1.0571: non-silent execute() resets display column to zero
Problem:    Non-silent execute() resets display column to zero.
Solution:   Keep the display column as-is.
2018-12-08 13:57:42 +01:00
539328197c patch 8.1.0570: 'commentstring' not used when adding fold marker
Problem:    'commentstring' not used when adding fold marker. (Maxim Kim)
Solution:   Only use empty 'comments' middle when leader is empty. (Christian
            Brabandt, closes #3670)
2018-12-07 21:08:49 +01:00
10ccaa17ec patch 8.1.0569: execute() always resets display column to zero
Problem:    Execute() always resets display column to zero. (Sha Liu)
Solution:   Don't reset it to zero, restore the previous value. (closes #3669)
2018-12-07 16:38:23 +01:00
9a8534673a patch 8.1.0568: error message for NUL byte in ScreenLines breaks Travis CI
Problem:    Error message for NUL byte in ScreenLines breaks Travis CI.
Solution:   Use a normal message fornow.
2018-12-07 14:10:37 +01:00
4087bfd96d patch 8.1.0567: error for NUL byte in ScreenLines goes unnoticed
Problem:    Error for NUL byte in ScreenLines goes unnoticed.
Solution:   Add an internal error message.
2018-12-07 13:26:39 +01:00
20091c18c4 patch 8.1.0566: SGR not enabled for mintty because $TERM is "xterm"
Problem:    SGR not enabled for mintty because $TERM is "xterm".
Solution:   Detect mintty by the termresponse. (Ken Takata, closes #3667)
2018-12-07 13:18:19 +01:00
10600db772 patch 8.1.0565: asan complains about reading before allocated block
Problem:    Asan complains about reading before allocated block.
Solution:   Workaround: Avoid offset from becoming negative.
2018-12-05 19:46:07 +01:00
88b53fd052 patch 8.1.0564: setting v:errors to wrong type still possible
Problem:    Setting v:errors to wrong type still possible.
Solution:   Return after giving an error message. (Christian Brabandt)
2018-12-05 18:43:28 +01:00
74ea88c170 patch 8.1.0563: setting v:errors to a string give confusing error
Problem:    Setting v:errors to a string give confusing error. (Christian
            Brabandt)
Solution:   Change internal error into normal error message.
2018-12-04 22:37:49 +01:00
b6fc72851c patch 8.1.0562: parsing of 'diffopt' is slightly wrong
Problem:    Parsing of 'diffopt' is slightly wrong.
Solution:   Fix the parsing and add a test. (Jason Franklin, Christian
            Brabandt)
2018-12-04 22:24:16 +01:00
9719568533 patch 8.1.0561: MSCV error format has changed
Problem:    MSCV error format has changed.
Solution:   Make the space between the line number and colon optional.
2018-12-03 20:50:02 +01:00
51a7454cd2 patch 8.1.0560: cannot use address type "other" with with user command
Problem:    Cannot use address type "other" with with user command.
Solution:   Add "other" to the list. (Daniel Hahler, closes #3655)  Also
            reject "%" for commands with "other".  Add some more tests.
2018-12-02 18:21:49 +01:00
b513d3079b patch 8.1.0559: command line completion not sufficiently tested
Problem:    Command line completion not sufficiently tested.
Solution:   Add more tests. (Dominique Pelle, closes #3622)
2018-12-02 14:55:08 +01:00
d2ec51f399 patch 8.1.0558: some MS-Windows instructions are outdated
Problem:    Some MS-Windows instructions are outdated.
Solution:   Update the uninstall instructions and the NSIS README. (Ken
            Takata, closes #3614)  Also update remark about diff.exe.
2018-12-02 13:58:00 +01:00
5378e1cf0a patch 8.1.0557: Termdebug: gdb may use X.Y for breakpoint number
Problem:    Termdebug: gdb may use X.Y for breakpoint number.
Solution:   Handle X.Y breakpoint numbers. (Yasuhiro Matsumoto, close #3641)
2018-12-02 13:47:03 +01:00
ed8bc78d23 patch 8.1.0556: saving/restoring search patterns share saved last_idx
Problem:    Saving/restoring search patterns share saved last_idx.
Solution:   Use a separate saved last_idx for saving search patterns for
            functions and incremental search.
2018-12-01 21:08:21 +01:00
2fb8f684d8 patch 8.1.0555: crash when last search pat is set but not last substitute pat
Problem:    Crash when last search pat is set but not last substitute pat.
Solution:   Do not mix up last search pattern and last subtitute pattern.
            (closes #3647)
2018-12-01 13:14:45 +01:00
614ab8aa00 patch 8.1.0554: popup menu overlaps with preview window
Problem:    Popup menu overlaps with preview window.
Solution:   Adjust the height computation. (Hirohito Higashi, closes #3414)
2018-12-01 11:59:00 +01:00
07dc18ffa4 patch 8.1.0553: it is not easy to edit a script that was sourced
Problem:    It is not easy to edit a script that was sourced.
Solution:   Add a count to ":scriptnames", so that ":script 40" edits the
            script with script ID 40.
2018-11-30 22:48:32 +01:00
01a060da74 patch 8.1.0552: saved last search pattern may not be restored
Problem:    Saved last search pattern may not be restored.
Solution:   Call restore_last_search_pattern().  Add a check for balancing
            saving and restoring the last search pattern.
2018-11-30 21:57:55 +01:00
8ff5af9544 patch 8.1.0551: expression evaluation may repeat an error message
Problem:    Expression evaluation may repeat an error message. (Jason
            Franklin)
Solution:   Check for the value of did_emsg when giving an error
            for the :execute command.
2018-11-28 21:20:38 +01:00
76a6345433 patch 8.1.0550: expression evaluation may repeat an error message
Problem:    Expression evaluation may repeat an error message. (Jason
            Franklin)
Solution:   Increment did_emsg and check for the value when giving an error
            for the echo command.
2018-11-28 20:38:37 +01:00
10efcd5b02 patch 8.1.0549: netbeans test depends on README.txt contents
Problem:    Netbeans test depends on README.txt contents.
Solution:   Use a generated file instead.
2018-11-26 21:22:07 +01:00
1341024e08 patch 8.1.0548: crash when job callback unloads a buffer
Problem:    Crash when job callback unloads a buffer. (James McCoy)
Solution:   Don't round up the wait time to 10 msec in ui_inchar().
2018-11-26 21:19:11 +01:00
3067a4dd0d patch 8.1.0547: modeline test with keymap still fails
Problem:    Modeline test with keymap still fails.
Solution:   Check that the keymap feature is available for the failure assert.
2018-11-25 05:06:48 +01:00
4ace6ab7e7 patch 8.1.0546: modeline test with keymap fails
Problem:    Modeline test with keymap fails.
Solution:   Check that the keymap feature is available.
2018-11-25 04:25:58 +01:00
dc2f73a698 patch 8.1.0545: when executing indent tests user preferences interfere
Problem:    When executing indent tests user preferences interfere.
Solution:   Add "--clean".
2018-11-25 04:03:09 +01:00
b730f0c7ba Update runtime files 2018-11-25 03:56:26 +01:00
916a818cea patch 8.1.0544: setting 'filetype' in a modeline causes an error
Problem:    Setting 'filetype' in a modeline causes an error (Hirohito
            Higashi).
Solution:   Don't add the P_INSECURE flag when setting 'filetype' from a
            modeline.  Also for 'syntax'.
2018-11-25 02:18:29 +01:00
4e303c8ba8 patch 8.1.0543: Coverity warns for leaking memory and using wrong struct
Problem:    Coverity warns for leaking memory and using wrong struct.
Solution:   Free pointer when allocation fails. Change "boff" to "loff".
            (closes #3634)
2018-11-24 14:27:44 +01:00
f951416a83 patch 8.1.0542: shiftwidth() does not take 'vartabstop' into account
Problem:    shiftwidth() does not take 'vartabstop' into account.
Solution:   Use the cursor position or a position explicitly passed.
            Also make >> and << work better with 'vartabstop'. (Christian
            Brabandt)
2018-11-22 03:08:29 +01:00
2b84949ad8 patch 8.1.0541: help message in dosinst.c is outdated
Problem:    Help message in dosinst.c is outdated.
Solution:   Update the comment. (Ken Takata, closes #3626)
2018-11-21 13:58:35 +01:00
247bb7e43b patch 8.1.0540: may evaluate insecure value when appending to option
Problem:    May evaluate insecure value when appending to option.
Solution:   Set the secure flag when changing an option that was previously
            set insecurely.  Also allow numbers for the characters from
            'spelllang' that are used for LANG.vim.
2018-11-20 14:27:07 +01:00
82e8c92ebe patch 8.1.0539: cannot build without the sandbox
Problem:    Cannot build without the sandbox.
Solution:   Set the secure option instead of using the sandbox.  Also restrict
            the characters from 'spelllang' that are used for LANG.vim.
            (suggested by Yasuhiro Matsumoto)
2018-11-20 13:32:36 +01:00
5958f95a40 patch 8.1.0538: evaluating a modeline might invoke using a shell command
Problem:    Evaluating a modeline might invoke using a shell command. (Paul
            Huber)
Solution:   Set the sandbox flag when setting options from a modeline.
2018-11-20 04:25:21 +01:00
48d23bb4de patch 8.1.0537: ui_breakcheck() may be called recursively
Problem:    ui_breakcheck() may be called recursively, which doesn't work.
Solution:   When called recursively, just return. (James McCoy, closes #3617)
2018-11-20 02:42:43 +01:00
addc156c38 patch 8.1.0536: file time test fails when using NFS
Problem:    File time test fails when using NFS.
Solution:   Use three file times instead of localtim(). (James McCoy,
            closes #3618)
2018-11-18 12:25:09 +01:00
6b731886ca patch 8.1.0535: increment/decrement might get interrupted by updating folds
Problem:    Increment/decrement might get interrupted by updating folds.
Solution:   Disable fold updating for a moment. (Christian Brabandt,
            closes #3599)
2018-11-16 20:54:47 +01:00
25a494ce60 patch 8.1.0534: MS-Windows installer uses different $HOME than Vim
Problem:    MS-Windows installer uses different $HOME than Vim.
Solution:   Use the Vim logic also in the MS-Windows installer. (Ken Takata,
            closes #3564)
2018-11-16 19:39:50 +01:00
447f6ce8bd patch 8.1.0533: screendump tests can be flaky
Problem:    Screendump tests can be flaky.
Solution:   Add VerifyScreenDump to the pattern of flaky tests.
2018-11-16 18:50:19 +01:00
2d67d307ee patch 8.1.0532: cannot distinguish between quickfix and location list
Problem:    Cannot distinguish between quickfix and location list.
Solution:   Add an explicit type variable. (Yegappan Lakshmanan)
2018-11-16 18:46:02 +01:00
dbc0d2163a patch 8.1.0531: flaky tests often fail with a common error message
Problem:    Flaky tests often fail with a common error message.
Solution:   Add a pattern to match an error message indicating a flaky test.
2018-11-16 18:22:45 +01:00
c0f05d0bd1 patch 8.1.0530: channel and terminal tests that start a server can be flaky
Problem:    Channel and terminal tests that start a server can be flaky.
Solution:   Add all channel and terminal tests that start a server to the list
            of flaky tests.
2018-11-16 17:44:48 +01:00
f77af0e613 patch 8.1.0529: flaky test sometimes fails in different ways
Problem:    Flaky test sometimes fails in different ways.
Solution:   When the second run gives a different error, try running the test
            again, up to five times.
2018-11-16 16:52:16 +01:00
c4568ab37e patch 8.1.0528: various typos in comments
Problem:    Various typos in comments.
Solution:   Fix the typos.
2018-11-16 16:21:05 +01:00
f0d58efc9d Update runtime files. 2018-11-16 16:13:44 +01:00
0c27cbcacf patch 8.1.0527: using 'shiftwidth' from wrong buffer for folding
Problem:    Using 'shiftwidth' from wrong buffer for folding.
Solution:   Use "buf" instead of "curbuf". (Christian Brabandt)
2018-11-14 21:45:32 +01:00
61fb8d8c67 patch 8.1.0526: running out of signal stack in RealWaitForChar
Problem:    Running out of signal stack in RealWaitForChar. (Vladimir Marek)
Solution:   Make the fd_set variables static.
2018-11-12 21:45:08 +01:00
d3471e5785 patch 8.1.0525: terminal test skips part on Windows
Problem:    Terminal test skips part on Windows.
Solution:   Fix Test_terminal_does_not_truncate_last_newlines(). (Hirohito
            Higashi, closes #3606)
2018-11-12 21:42:24 +01:00
c2c02574ec patch 8.1.0524: terminal test fails on Windows
Problem:    Terminal test fails on Windows.
Solution:   Skip Test_terminal_does_not_truncate_last_newlines() for now.
2018-11-11 23:14:54 +01:00
b244373bec patch 8.1.0523: opening window from quickfix leaves empty buffer behind
Problem:    Opening window from quickfix leaves empty buffer behind.
Solution:   Add qf_jump_newwin(). (Yegappan Lakshmanan, closes #2574)
2018-11-11 22:50:27 +01:00
f3aea59afa patch 8.1.0522: :terminal does not show trailing empty lines
Problem:    :terminal does not show trailing empty lines.
Solution:   Add empty lines. (Hirohito Higashi, closes #3605)
2018-11-11 22:18:21 +01:00
883ba68cda patch 8.1.0521: cannot build with +eval but without +quickfix
Problem:    Cannot build with +eval but without +quickfix.
Solution:   Remove #ifdef for e_stringreq. (John Marriott)
2018-11-11 21:22:57 +01:00
218959bc91 patch 8.1.0520: screen diff test sometimes fails
Problem:    Screen diff test sometimes fails.
Solution:   Add to list of flaky tests.
2018-11-11 18:51:42 +01:00
f49cc60aa8 patch 8.1.0519: cannot save and restore the tag stack
Problem:    Cannot save and restore the tag stack.
Solution:   Add gettagstack() and settagstack(). (Yegappan Lakshmanan,
            closes #3604)
2018-11-11 15:21:05 +01:00
8617b40159 patch 8.1.0518: Test_window_split_edit_bufnr() fails on AppVeyor
Problem:    Test_window_split_edit_bufnr() fails on AppVeyor.
Solution:   Disable the failing part for now.
2018-11-10 20:47:48 +01:00
d42333d8e9 patch 8.1.0517: Test_window_split_edit_alternate() fails on AppVeyor
Problem:    Test_window_split_edit_alternate() fails on AppVeyor.
Solution:   Disable the failing part for now.
2018-11-10 20:28:19 +01:00
ddd1f9183b patch 8.1.0516: :move command marks buffer modified when nothing changed
Problem:    :move command marks buffer modified when nothing changed.
Solution:   Do not set 'modified'.  Add a test. (Jason Franklin)
2018-11-10 19:19:36 +01:00
ded5f1bed7 patch 8.1.0515: reloading a script gives errors for existing functions
Problem:    Reloading a script gives errors for existing functions.
Solution:   Allow redefining a function once when reloading a script.
2018-11-10 17:33:29 +01:00
1bbb619483 patch 8.1.0514: CTRL-W ^ does not work when alternate buffer has no name
Problem:    CTRL-W ^ does not work when alternate buffer has no name.
Solution:   Use another method to split and edit the alternate buffer. (Jason
            Franklin)
2018-11-10 16:02:01 +01:00
d0721058f4 patch 8.1.0513: no error for set diffopt+=algorithm:
Problem:    No error for set diffopt+=algorithm:.
Solution:   Check for missing argument. (Hirohito Higashi, closes #3598)
2018-11-05 21:21:33 +01:00
389ab7122b patch 8.1.0512: 'helplang' default is inconsistent for C and C.UTF-8
Problem:    'helplang' default is inconsistent for C and C.UTF-8.
Solution:   Don't accept a value unless it starts with two letters.
2018-11-05 20:25:52 +01:00
9e353b5265 patch 8.1.0511: ml_get error when calling a function with a range
Problem:    ml_get error when calling a function with a range.
Solution:   Don't position the cursor after the last line.
2018-11-04 23:39:38 +01:00
ba3ff53930 Update runtime files 2018-11-04 14:45:49 +01:00
dcd71cbaed patch 8.1.0510: filter test fails when $LANG is C.UTF-8
Problem:    Filter test fails when $LANG is C.UTF-8.
Solution:   Set 'helplang' to "en" for any C language. (Christian Brabandt,
            closes #3577)
2018-11-04 14:40:47 +01:00
0b38f54730 patch 8.1.0509: checking cwd not accessible fails for root
Problem:    Checking cwd not accessible fails for root. (James McCoy)
Solution:   Skip this part of the test for root. (closes #3595)
2018-11-03 21:47:16 +01:00
0f62cf5b33 patch 8.1.0508: suspend test fails when run by root
Problem:    Suspend test fails when run by root.
Solution:   Accept both '$' and '#' for the prompt. (James McCoy, closes #3590)
2018-11-03 21:09:15 +01:00
da1c11c641 patch 8.1.0507: .raml files not properly detected
Problem:    .raml files not properly detected.
Solution:   Recognize .raml as raml instead of yaml. (closes #3594)
2018-11-03 19:52:15 +01:00
9691f82f86 patch 8.1.0506: modeline test fails when run by root
Problem:    Modeline test fails when run by root.
Solution:   Set 'modeline' for the test. (James McCoy, closes #3592)
2018-11-03 19:06:25 +01:00
bd9a0c611c patch 8.1.0505: filter command test may fail if helplang is not set
Problem:    Filter command test may fail if helplang is not set.
Solution:   Set 'helplang' for the test. (James McCoy, closes #3591)
2018-11-03 19:00:14 +01:00
4dbc262764 patch 8.1.0504: when CTRL-C is mapped it triggers InsertLeave
Problem:    When CTRL-C is mapped it triggers InsertLeave.
Solution:   Make CTRL-C behave the same way when typed or used in a mapping.
2018-11-02 11:59:15 +01:00
f7acf2b63c patch 8.1.0503: missing change to diff test
Problem:    Missing change to diff test. (Hirohito Higashi)
Solution:   Add the missing test function.
2018-11-01 21:14:53 +01:00
f080d70a82 patch 8.1.0502: internal diff fails when diffing a context diff
Problem:    Internal diff fails when diffing a context diff. (Hirohito Higashi)
Solution:   Only use callback calls with one line. (closes #3581)
2018-10-31 22:57:26 +01:00
a9a8e04eab patch 8.1.0501: cppcheck warns for using array index before bounds check
Problem:    Cppcheck warns for using array index before bounds check.
Solution:   Swap the conditions. (Dominique Pelle)
2018-10-30 22:15:55 +01:00
833e5dab14 patch 8.1.0500: cleaning up in src/tee may not always work
Problem:    Cleaning up in src/tee may not always work.
Solution:   Use "rm" when appropriate. (Michael Soyka, closes #3571)
2018-10-28 15:43:58 +01:00
1c29943416 patch 8.1.0499: :2vimgrep causes an ml_get error
Problem:    :2vimgrep causes an ml_get error
Solution:   Pass tomatch pointer instead of value. (Yegappan Lakshmanan)
2018-10-28 14:36:09 +01:00
d474686a09 patch 8.1.0498: /etc/gitconfig not recognized at a gitconfig file
Problem:    /etc/gitconfig not recognized at a gitconfig file.
Solution:   Add pattern to filetype detection. (closes #3568)
2018-10-27 14:27:20 +02:00
5f57bdcab7 patch 8.1.0497: :%diffput changes order of lines
Problem:    :%diffput changes order of lines. (Markus Braun)
Solution:   Do adjust marks when using internal diff.
2018-10-25 17:52:23 +02:00
c0fe4978f2 patch 8.1.0496: no tests for indent files
Problem:    No tests for indent files.
Solution:   Add a mechanism for running indent file tests.  Add a first test
            for Vim indenting.
2018-10-25 16:53:19 +02:00
f86db78fed patch 8.1.0495: :filter only supports some commands
Problem:    :filter only supports some commands.
Solution:   Add :filter support for more commands. (Marcin Szamotulski,
            closes #2856)
2018-10-25 13:31:37 +02:00
babfcf54ae patch 8.1.0494: functions do not check for a window ID in other tabs
Problem:    Functions do not check for a window ID in other tabs.
Solution:   Also find the window ID in other than the current tab.
2018-10-25 13:11:16 +02:00
e6e3989c1b patch 8.1.0493: argv() and argc() only work on the current argument list
Problem:    argv() and argc() only work on the current argument list.
Solution:   Add a window ID argument. (Yegappan Lakshmanan, closes #832)
2018-10-25 12:32:11 +02:00
bf9679ae46 patch 8.1.0492: "Edit with existing Vim" list can get long
Problem:    "Edit with existing Vim" list can get long.
Solution:   Move the list to a submenu. (Ken Takata, closes #3561)
2018-10-25 11:25:53 +02:00
0fd6be77de patch 8.1.0491: if a terminal dump has CR it is considered corrupt
Problem:    If a terminal dump has CR it is considered corrupt.
Solution:   Ignore CR characters. (Nobuhiro Takasaki, closes #3558)
2018-10-23 21:42:59 +02:00
eda9e9c2fe patch 8.1.0490: MS-Windows: doesn't handle missing glibwinpthread-1.dll
Problem:    MS-Windows: doesn't handle missing glibwinpthread-1.dll.
Solution:   Adjust Cygwin/MinGW build file. (Ken Takata, closes #2827)
2018-10-21 22:45:43 +02:00
b6f1480a6a patch 8.1.0489: crash when autocmd clears vimpgrep location list
Problem:    Crash when autocmd clears vimpgrep location list.
Solution:   Return from qf_jump_edit_buffer() early. (Yegappan Lakshmanan)
2018-10-21 18:47:43 +02:00
9f84ded38b patch 8.1.0488: using freed memory in quickfix code
Problem:    Using freed memory in quickfix code. (Dominique Pelle)
Solution:   Add the quickfix_busy() flag to postpone deleting quickfix lists
            until it is safe. (Yegappan Lakshmanan, closes #3538)
2018-10-20 20:54:02 +02:00
4c5d815256 patch 8.1.0487: no menus specifically for the terminal window
Problem:    No menus specifically for the terminal window.
Solution:   Add :tlmenu. (Yee Cheng Chin, closes #3439) Add a menu test.
2018-10-19 22:36:53 +02:00
42a4ea10af patch 8.1.0486: can't build in MS-Windows
Problem:    Can't build in MS-Windows.
Solution:   Put mch_access() call inside #ifdef
2018-10-19 17:36:01 +02:00
839e81e12d patch 8.1.0485: term_start() does not check if directory is accessible
Problem:    term_start() does not check if directory is accessible.
Solution:   Add mch_access() call. (Jason Franklin)
2018-10-19 16:53:39 +02:00
38654503b0 patch 8.1.0484: some file types are not recognized
Problem:    Some file types are not recognized.
Solution:   Update the file type detection.
2018-10-19 16:27:31 +02:00
2c64ca1802 Update runtime files 2018-10-19 16:22:31 +02:00
04c86d27fe patch 8.1.0483: MinGW does not build tee.exe
Problem:    MinGW does not build tee.exe.
Solution:   Add build instructions. (Yasuhiro Matsumoto, closes #3548)
2018-10-17 22:45:54 +02:00
115510f0bd patch 8.1.0482: MinGW "make clean" deletes all .exe files
Problem:    MinGW "make clean" deletes all .exe files.
Solution:   Only delete .exe files that it builds. (Ken takata)
2018-10-17 22:12:14 +02:00
29e7fe55be patch 8.1.0481: when "Terminal" highlight is reverted cursor doesn't show
Problem:    When "Terminal" highlight is reverted cursor doesn't show.
Solution:   Get the colors of the "Terminal" group. (closes #3546)
2018-10-16 22:13:00 +02:00
b361db077f patch 8.1.0480: MinGW build file uses different -I flags than MVC
Problem:    MinGW build file uses different -I flags than MVC.
Solution:   Add -I to $CFLAGS. (Ken takata)
2018-10-16 21:13:14 +02:00
64f410742f patch 8.1.0479: failure when setting 'varsofttabstop' to end in a comma
Problem:    Failure when setting 'varsofttabstop' to end in a comma. (Ralf
            Schandl)
Solution:   Reject value with trailing command.  Add test for invalid values
            (closes #3544)
2018-10-15 22:51:50 +02:00
65dc12143a patch 8.1.0478: cannot build with perl using MinGW
Problem:    Cannot build with perl using MinGW.
Solution:   Add -I. (Ken takata, Cesar Romani)
2018-10-15 20:11:18 +02:00
d95c3c253c patch 8.1.0477: tiny build fails
Problem:    Tiny build fails.
Solution:   Add a dummy declaration for funccal_entry_T.
2018-10-14 22:38:09 +02:00
a2aad02830 patch 8.1.0476: memory leaks in test_escaped_glob
Problem:    Memory leaks in test_escaped_glob.
Solution:   Avoid failure when running the shell, use the sandbox.
2018-10-14 22:03:56 +02:00
27e80c885b patch 8.1.0475: memory not freed on exit when quit in autocmd
Problem:    Memory not freed on exit when quit in autocmd.
Solution:   Remember funccal stack when executing autocmd.
2018-10-14 21:41:01 +02:00
a16bc54503 patch 8.1.0474: directory where if_perl.c is written is inconsistent
Problem:    Directory where if_perl.c is written is inconsistent.
Solution:   use auto/if_perl.c for MS-Windows. (Ken Takata, closes #3540)
2018-10-14 16:25:10 +02:00
d6105cb408 patch 8.1.0473: user doesn't notice file does not exist when swap file does
Problem:    User doesn't notice file does not exist when swap file does.
Solution:   Add a note that the file cannot be found.  Make the "still
            running" notice stand out.
2018-10-13 19:06:27 +02:00
6cdb2c9811 patch 8.1.0472: dosinst command has a few flaws
Problem:    Dosinst command has a few flaws.
Solution:   Register DisplayIcon, DisplayVersion and Publisher for the
            uninstaller. (closes #3485)  Don't set 'diffexpr' if internal diff
            is supported. Allow for using Vi compatible from the command line.
            Remove needless sleeps.  Add comments in the generated _vimrc.
            (Ken Takata, closes #3525)
2018-10-13 17:25:27 +02:00
453ce7c16b patch 8.1.0471: some tests are flaky or fail on some systems
Problem:    Some tests are flaky or fail on some systems.
Solution:   Increase waiting time for port number. Use "cmd /c" to execute
            "echo" on win32. (Ken Takata, closes #3534)
2018-10-12 22:15:12 +02:00
3d6014f033 patch 8.1.0470: pointer ownership around fname_expand() is unclear
Problem:    Pointer ownership around fname_expand() is unclear.
Solution:   Allow b_ffname and b_sfname to point to the same allocated memory,
            only free one.  Update comments.
2018-10-11 19:27:47 +02:00
108e7b422b patch 8.1.0469: too often indexing in qf_lists[]
Problem:    Too often indexing in qf_lists[].
Solution:   Use a qf_list_T pointer. (Yegappan Lakshmanan)
2018-10-11 17:39:12 +02:00
0664089ecc patch 8.1.0468: MS-Windows: filter command with pipe character fails
Problem:    MS-Windows: Filter command with pipe character fails. (Johannes
            Riecken)
Solution:   Find the pipe character outside of quotes. (Yasuhiro Matsumoto,
            closes #1743, closes #3523)
2018-10-09 21:49:33 +02:00
1d3dbcf743 patch 8.1.0467: cannot build with Mac OS X 10.5
Problem:    Cannot build with Mac OS X 10.5.
Solution:   Change #ifdef into #if. (Akshay Hegde, closes #3022)
2018-10-08 20:07:39 +02:00
6a2633b00b patch 8.1.0466: autocmd test fails
Problem:    Autocmd test fails.
Solution:   Do call inchar() when flushing typeahead.
2018-10-07 23:16:36 +02:00
95ba5c364f patch 8.1.0465: client-server test fails
Problem:    Client-server test fails.
Solution:   Change logic in EnumWindows().
2018-10-07 22:47:07 +02:00
1df2fa47b4 patch 8.1.0464: MS-Windows: job_info() has cmd without backslashes
Problem:    MS-Windows: job_info() has cmd without backslashes. (Daniel
            Hahler)
Solution:   Use rem_backslash(). (closes #3517, closes #3404)
2018-10-07 21:36:11 +02:00
798184cc67 patch 8.1.0463: "simalt ~x" in .vimrc blocks swap file prompt
Problem:    "simalt ~x" in .vimrc blocks swap file prompt.
Solution:   Flush buffers before prompting. (Yasuhiro Matsumoto,
            closes #3518, closes #2192)
2018-10-07 20:48:39 +02:00
c0543e145f patch 8.1.0462: when using ConPTY Vim can be a child process
Problem:    When using ConPTY Vim can be a child process.
Solution:   To find a Vim window use both EnumWindows() and
            EnumChildWindows(). (Nobuhiro Takasaki, closes #3521)
2018-10-07 20:35:12 +02:00
00bf8cd211 patch 8.1.0461: quickfix code uses too many /* */ comments
Problem:    Quickfix code uses too many /* */ comments.
Solution:   Change to // comments. (Yegappan Lakshmanan)
2018-10-07 20:26:20 +02:00
1307d1c003 patch 8.1.0460: assert_fails() does not take a message argument
Problem:    assert_fails() does not take a message argument
Solution:   Add the argument.
2018-10-07 20:16:49 +02:00
a05a0d325c patch 8.1.0459: Test_executable fails when there is a dog in the system
Problem:    Test_executable fails when there is a dog in the system.
Solution:   Rename the dog. (Hirohito Higashi)
2018-10-07 18:43:05 +02:00
df77cef92e patch 8.1.0458: ml_get error and crash when using "do"
Problem:    Ml_get error and crash when using "do".
Solution:   Adjust cursor position also when diffupdate is not needed.
            (Hirohito Higashi)
2018-10-07 17:46:42 +02:00
0cc7b2d6cc patch 8.1.0457: win32 console: key mappings don't work
Problem:    Win32 console: key mappings don't work.
Solution:   Use another solution for the keypad keys that doesn't break
            mappings. Some values will be negative. (Mike Williams)
2018-10-07 15:49:56 +02:00
d8f27b30d6 patch 8.1.0456: running test hangs when the input file is being edited
Problem:    Running test hangs when the input file is being edited.
Solution:   Use a SwapExists autocommand to ignore editing the test script.
2018-10-07 15:42:07 +02:00
019dfe6855 patch 8.1.0455: checking for empty quickfix stack is not consistent
Problem:    Checking for empty quickfix stack is not consistent.
Solution:   Use qf_stack_empty(). (Yegappan Lakshmanan)
2018-10-07 14:38:49 +02:00
2610990709 patch 8.1.0454: resolve() was not tested with a symlink cycle
Problem:    resolve() was not tested with a symlink cycle.
Solution:   Add a test. (Dominique Pelle, closes #3513)
2018-10-06 15:43:17 +02:00
8295666dc2 patch 8.1.0453: MS-Windows: executable() is not reliable
Problem:    MS-Windows: executable() is not reliable.
Solution:   Use $PATHEXT properly. (Yasuhiro Matsumoto, closes #3412)
2018-10-06 15:18:45 +02:00
7554c548a4 patch 8.1.0452: MS-Windows: not finding intl.dll
Problem:    MS-Windows: not finding intl.dll.
Solution:   Also find intl.dll next to libintl.dll. (Ken Takata)
2018-10-06 15:03:15 +02:00
2bc152ab53 patch 8.1.0451: Win32 console: keypad keys don't work
Problem:    Win32 console: keypad keys don't work.
Solution:   Use numbers instead of characters to avoid the value becoming
            negative. (Mike Williams)
2018-10-03 20:44:20 +02:00
0e9deefb4f patch 8.1.0450: build failure without the +fold feature
Problem:    Build failure without the +fold feature.
Solution:   Add #ifdef.
2018-10-02 21:48:34 +02:00
7701f30856 patch 8.1.0449: when 'rnu' is set folded lines are not displayed correctly
Problem:    When 'rnu' is set folded lines are not displayed correctly.
            (Vitaly Yashin)
Solution:   When only redrawing line numbers do draw folded lines.
            (closes #3484)
2018-10-02 21:20:32 +02:00
4a5abbd613 patch 8.1.0448: cursorline not removed when using 'cursorbind'
Problem:    Cursorline not removed when using 'cursorbind'. (Justin Keyes)
Solution:   Store the last cursor line per window. (closes #3488)
2018-10-02 18:26:10 +02:00
586c70cdfe patch 8.1.0447: GUI scrollbar test fails with Athena and Motif
Problem:    GUI scrollbar test fails with Athena and Motif.
Solution:   When not using on-the-fly scrolling call normal_cmd().
2018-10-02 16:23:58 +02:00
4f88875725 patch 8.1.0446: options test fails in the GUI
Problem:    Options test fails in the GUI.
Solution:   Don't try changing 'term' in the GUI.
2018-10-02 15:06:40 +02:00
35bc7d6c52 patch 8.1.0445: setting 'term' does not store location for termcap options
Problem:    Setting 'term' does not store location for termcap options.
Solution:   Set the script context for termcap options that are changed when
            'term' is set.
2018-10-02 14:45:10 +02:00
54ade9f7e3 patch 8.1.0444: unnecessary check for NULL pointer
Problem:    Unnecessary check for NULL pointer.
Solution:   Remove check and call vim_free() directly.
2018-10-02 14:15:12 +02:00
95bafa296a Update runtime files. 2018-10-02 13:26:25 +02:00
6dff58f15c patch 8.1.0443: unnecessary static function prototypes
Problem:    Unnecessary static function prototypes.
Solution:   Remove unnecessary prototypes.
2018-09-30 21:43:26 +02:00
f45d747ebf patch 8.1.0442: GUI: cursor not drawn after ":redraw | sleep"
Problem:    GUI: Cursor not drawn after ":redraw | sleep".
Solution:   Flush the output. (closes #3496)
2018-09-30 18:22:26 +02:00
d3dc062160 patch 8.1.0441: build failure without command line history
Problem:    Build failure without command line history.
Solution:   Move cmdline_init() outside of #ifdef.
2018-09-30 17:45:30 +02:00
2bfddfc508 patch 8.1.0440: remove() with a range not sufficiently tested
Problem:    remove() with a range not sufficiently tested.
Solution:   Add a test. (Dominique Pelle, closes #3497)
2018-09-30 17:16:25 +02:00
438d176e35 patch 8.1.0439: recursive use of getcmdline() still not protected
Problem:    Recursive use of getcmdline() still not protected.
Solution:   Instead of saving the command buffer when making a call which may
            cause recursiveness, save the buffer when actually being called
            recursively.
2018-09-30 17:11:48 +02:00
b434ae2a1f patch 8.1.0438: the ex_make() function is too long
Problem:    The ex_make() function is too long.
Solution:   Split it into several functions. (Yegappan Lakshmanan)
2018-09-28 23:09:55 +02:00
95892c27b2 patch 8.1.0437: may access freed memory when syntax HL times out
Problem:    May access freed memory when syntax HL times out. (Philipp Gesang)
Solution:   Clear b_sst_first when clearing b_sst_array.
2018-09-28 22:26:54 +02:00
ee91c33570 patch 8.1.0436: can get the text of inputsecret() with getcmdline()
Problem:    Can get the text of inputsecret() with getcmdline(). (Tommy Allen)
Solution:   Don't return the text.
2018-09-25 22:27:35 +02:00
8c63e0ec31 patch 8.1.0435: cursorline highlight not removed in some situation
Problem:    Cursorline highlight not removed in some situation. (Vitaly
            Yashin)
Solution:   Reset last_cursorline when resetting 'cursorline'. (Christian
            Brabandt, closes #3481)
2018-09-25 22:17:54 +02:00
09037503ea patch 8.1.0434: copy_loclist() is too long
Problem:    copy_loclist() is too long.
Solution:   Split in multiple functions. (Yegappan Lakshmanan)
2018-09-25 22:08:14 +02:00
31cbadf74b patch 8.1.0433: mapping can obtain text from inputsecret()
Problem:    Mapping can obtain text from inputsecret(). (Tommy Allen)
Solution:   Disallow CTRL-R = and CTRL-\ e when using inputsecret().
2018-09-25 20:48:57 +02:00
45c5c86e63 patch 8.1.0432: compiler warning for signed/unsigned
Problem:    Compiler warning for signed/unsigned.
Solution:   Add type cast. (Mike Williams)
2018-09-25 18:59:21 +02:00
6dae96ef7a patch 8.1.0431: the qf_jump() function is too long
Problem:    The qf_jump() function is too long.
Solution:   Refactor to split it into several functions. (Yegappan Lakshmanan)
2018-09-24 21:50:12 +02:00
d339828b4b patch 8.1.0430: Xargadd file left behind after running test
Problem:    Xargadd file left behind after running test.
Solution:   Delete the file. (Dominique Pelle)
2018-09-24 21:32:11 +02:00
c75878c923 patch 8.1.0429: no test for :lcd with 'shellslash'
Problem:    No test for :lcd with 'shellslash'.
Solution:   Add a test. (Daniel Hahler, closes #3475)
2018-09-23 19:36:15 +02:00
3b30168f04 patch 8.1.0428: the :suspend command is not tested
Problem:    The :suspend command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3472)
2018-09-22 21:37:39 +02:00
7ff8a3cfb6 patch 8.1.0427: MS-Windows GUI: using invalid encoded file name
Problem:    MS-Windows GUI: using invalid encoded file name.
Solution:   Drop the file name and return NULL. (Ken Takata, closes #3467)
2018-09-22 14:39:15 +02:00
4841a7ccae patch 8.1.0426: accessing invalid memory in SmcOpenConnection()
Problem:    Accessing invalid memory in SmcOpenConnection().
Solution:   Reduce size of errorstring by one. (Dominique Pelle, closes #3469)
2018-09-22 14:08:49 +02:00
9cea87c577 patch 8.1.0425: ml_get error and crash with appendbufline()
Problem:    ml_get error and crash with appendbufline(). (Masashi Iizuka)
Solution:   Set per-window buffer info. (Hirohito Higashi, closes #3455)
2018-09-21 16:59:45 +02:00
e76d7a63df patch 8.1.0424: test output is very verbose, loading CI log is slow
Problem:    Test output is very verbose, loading CI log is slow.
Solution:   Redirect output to /dev/null. (Ken Takata, closes #3456)
2018-09-21 16:37:25 +02:00
0bd4051732 patch 8.1.0423: MS-Windows: using dup-close for flushing a file
Problem:    MS-Windows: using dup-close for flushing a file.
Solution:   Use _commit(). (Ken Takata, closes #3463)
2018-09-21 14:48:53 +02:00
4ff4290de1 patch 8.1.0422: cannot create map file with MinGW
Problem:    Cannot create map file with MinGW.
Solution:   Add support for $MAP. (Ken Takata, closes #3460)
2018-09-21 14:43:10 +02:00
76c612a166 patch 8.1.0421: MS-Windows: Ruby path is wrong for Ruby 1.9 and later
Problem:    MS-Windows: Ruby path is wrong for Ruby 1.9 and later.
Solution:   Let -I argument depend on Ruby version. (Ken Takata, closes #3461)
2018-09-21 14:31:51 +02:00
1f402806b8 patch 8.1.0420: generating vim.lib when using ActivePerl 5.20.3 or later
Problem:    Generating vim.lib when using ActivePerl 5.20.3 or later.
Solution:   Redefine XS_EXTERNAL(). (Ken Takata, closes #3462)
2018-09-21 14:01:27 +02:00
de2bd37bec patch 8.1.0419: Cygwin: running cproto fails with -O2
Problem:    Cygwin: running cproto fails with -O2.
Solution:   Strip -O2 for cproto. (Ken Takata, closes #3465)
2018-09-21 13:56:25 +02:00
b872e63fc6 patch 8.1.0418: MS-Windows: cannot separate Lua include and library dirs
Problem:    MS-Windows: cannot separate Lua include and library directories.
Solution:   Add LUA_LIBDIR and LUA_INCDIR. (Ken Takata, closes #3464)
2018-09-21 13:44:09 +02:00
036b09ca78 patch 8.1.0417: several command line arguments are not tested
Problem:    Several command line arguments are not tested.
Solution:   Add tests for -m, -M, -R and -Vfile. (Dominique Pelle,
            closes #3458)
2018-09-21 12:54:06 +02:00
b0e982bf05 patch 8.1.0416: sort doesn't report deleted lines
Problem:    Sort doesn't report deleted lines.
Solution:   Call msgmore(). (Christian Brabandt, closes #3454)
2018-09-21 12:46:22 +02:00
d4f73438bb patch 8.1.0415: not actually using 16 colors with vtp
Problem:    Not actually using 16 colors with vtp.
Solution:   Always use 256 colors when vtp is used. (Nobuhiro Takasaki,
            closes #3432)
2018-09-21 12:24:12 +02:00
3f3fb0b147 patch 8.1.0414: v:option_old is cleared when using :set in OptionSet autocmd
Problem:    v:option_old and v:option_new are cleared when using :set in
            OptionSet autocmd. (Gary Johnson)
Solution:   Don't trigger OptionSet recursively.
2018-09-21 11:59:32 +02:00
933bef779a patch 8.1.0413: test output is duplicated or missing
Problem:    Test output is duplicated or missing.
Solution:   Adjust the MS-Windows and Unix test makefiles. (Ken Takata,
            closes #3452)
2018-09-20 21:39:33 +02:00
92cbf62b87 patch 8.1.0412: cannot build with GTK 2.4
Problem:    Cannot build with GTK 2.4.
Solution:   Add back a few #ifdefs. (Ken Takata, closes #3447)
            Also support older GTK. (Tom Christensen)
2018-09-19 22:40:03 +02:00
cec12cd661 patch 8.1.0411: renamed file missing from distribution
Problem:    Renamed file missing from distribution.
Solution:   Rename screen.c to termscreen.c (Zdenek Dohnal, closes #3449)
2018-09-19 22:00:30 +02:00
476c0db002 patch 8.1.0410: the ex_copen() function is too long
Problem:    The ex_copen() function is too long.
Solution:   Refactor to split off two functions. (Yegappan Lakshmanan)
2018-09-19 21:56:02 +02:00
4b1c9a91b5 patch 8.1.0409: startup test fails on MS-Windows
Problem:    Startup test fails on MS-Windows.
Solution:   Do the Arabic test in silent Ex mode.  Loosen the check for -V2.
2018-09-19 21:06:31 +02:00
a87f8fd3fe patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Problem:    MSVC: cannot use the "x64" native compiler option.
Solution:   Ignore case for %Platform%.  Improve documentation. (Ken Takata)
2018-09-18 22:58:41 +02:00
fe15b7dfa6 patch 8.1.0407: quickfix code mixes using the stack and a list pointer
Problem:    Quickfix code mixes using the stack and a list pointer.
Solution:   Use a list pointer in more places. (Yegappan Lakshmanan,
            closes #3443)
2018-09-18 22:50:06 +02:00
9e81db9742 patch 8.1.0406: several command line arguments are not tested
Problem:    Several command line arguments are not tested.
Solution:   Add tests for -A, -F, -H, -p and -V. (Dominique Pelle,
            closes #3446)
2018-09-18 22:37:31 +02:00
664323e7c8 patch 8.1.0405: too many #ifdefs for GTK
Problem:    Too many #ifdefs for GTK.
Solution:   Define macros instead of using #ifdef. (Ken Takata, closes #3436)
2018-09-18 22:30:07 +02:00
e961cba3cb patch 8.1.0404: accessing invalid memory with long argument name
Problem:    Accessing invalid memory with long argument name.
Solution:   Use item_count instead of checking for a terminating NULL.
            (Dominique Pelle, closes #3444)
2018-09-18 21:51:47 +02:00
cc3a997746 patch 8.1.0403: header file missing from distribution
Problem:    Header file missing from distribution.
Solution:   Add src/protodef.h.
2018-09-18 21:41:47 +02:00
198fa066b2 patch 8.1.0402: the DiffUpdate event isn't triggered for :diffput
Problem:    The DiffUpdate event isn't triggered for :diffput.
Solution:   Also trigger DiffUpdate for :diffget and :diffput.
2018-09-18 21:20:26 +02:00
110bd60985 patch 8.1.0401: can't get swap name of another buffer
Problem:    Can't get swap name of another buffer.
Solution:   Add swapname(). (Ozaki Kiichi, closes #3441)
2018-09-16 18:46:59 +02:00
d2b58c0a2c patch 8.1.0400: using freed memory with :diffget
Problem:    Using freed memory with :diffget.
Solution:   Skip ex_diffupdate() while updating diffs. (closes #3442)
2018-09-16 18:10:48 +02:00
65985ac998 patch 8.1.0399: 'hlsearch' highlight remains in other window
Problem:    'hlsearch' highlight remains in other window after cancelling
            command.
Solution:   Redraw all windows. Also remove unnecessary delays. (closes #3437)
2018-09-16 17:08:04 +02:00
8f4499b816 patch 8.1.0398: no test for -o and -O command line arguments
Problem:    No test for -o and -O command line arguments.
Solution:   Add a test. (Dominique Pelle, closes #3438)
2018-09-16 16:28:11 +02:00
e8fa05b5bc patch 8.1.0397: no event triggered after updating diffs
Problem:    No event triggered after updating diffs.
Solution:   Add the DiffUpdated event.
2018-09-16 15:48:06 +02:00
42c63356d7 patch 8.1.0396: another compiler warning on 64-bit MS-Windows
Problem:    Another compiler warning on 64-bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2018-09-16 15:14:18 +02:00
6e272acc82 patch 8.1.0395: compiler warning on 64-bit MS-Windows
Problem:    Compiler warning on 64-bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2018-09-16 14:51:36 +02:00
e3521d9cbb patch 8.1.0394: diffs are not always updated correctly
Problem:    Diffs are not always updated correctly.
Solution:   When using internal diff update for any changes properly.
2018-09-16 14:10:31 +02:00
785fc6567f patch 8.1.0393: not all white space difference options available
Problem:    Not all white space difference options available.
Solution:   Add "iblank", "iwhiteall" and "iwhiteeol" to 'diffopt'.
2018-09-15 19:17:38 +02:00
50eb16c3b2 patch 8.1.0392: error while typing :/foo/s// with 'incsearch' enabled
Problem:    Error while typing :/foo/s// with 'incsearch' enabled.
Solution:   Do not give search errors when highlighting matches.
2018-09-15 15:42:40 +02:00
ac49f61a20 patch 8.1.0391: building in a shadow directory fails
Problem:    Building in a shadow directory fails.
Solution:   Don't link the xdiff directory but what's in it. (closes #3428)
2018-09-15 15:08:52 +02:00
ab18673731 patch 8.1.0390: scrollbars are not tested
Problem:    Scrollbars are not tested.
Solution:   Add test_scrollbar() and a test.
2018-09-14 21:27:06 +02:00
da1f71d75f patch 8.1.0389: :behave command is not tested
Problem:    :behave command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3429)
2018-09-14 20:10:32 +02:00
bf1c1b8513 patch 8.1.0388: Coverity complains about possible NULL pointer use
Problem:    Coverity complains about possible NULL pointer use.
Solution:   Use get_tv_string() instead of get_tv_string_chk().
2018-09-13 21:30:05 +02:00
24839edc54 patch 8.1.0387: no test for 'ambiwidth' detection
Problem:    No test for 'ambiwidth' detection.
Solution:   Add a test.
2018-09-13 20:46:52 +02:00
fe8ef98dd1 patch 8.1.0386: cannot test with non-default option value
Problem:    Cannot test with non-default option value.
Solution:   Add test_option_not_set().
2018-09-13 20:31:54 +02:00
c91c500348 patch 8.1.0385: Coveralls badge doesn't update
Problem:    Coveralls badge doesn't update.
Solution:   Update the URL
2018-09-13 19:04:48 +02:00
8aeb504fc6 patch 8.1.0384: sign ordering depends on +netbeans feature
Problem:    Sign ordering depends on +netbeans feature.
Solution:   Also order signs without +netbeans. (Christian Brabandt,
            closes #3224)
2018-09-13 18:33:05 +02:00
a214079008 patch 8.1.0383: missing source file rename
Problem:    Missing source file rename.
Solution:   Update the dependency.
2018-09-13 18:05:48 +02:00
0f7683f973 patch 8.1.0382: some make programs can't handle "xdiff/../"
Problem:    Some make programs can't handle dependency on "xdiff/../".
Solution:   Strip it out.
2018-09-13 18:01:31 +02:00
5c6f574bd1 patch 8.1.0381: variable declaration not at start of block
Problem:    Variable declaration not at start of block.
Solution:   Fix line ordering.
2018-09-13 17:32:07 +02:00
32d19c1820 patch 8.1.0380: "make proto" doesn't work well
Problem:    "make proto" doesn't work well.
Solution:   Define a few more types for cproto.  Update proto files.  Fix that
            workshop didn't build.
2018-09-13 17:26:54 +02:00
78dcd4f002 patch 8.1.0379: build dependencies are incomplete
Problem:    Build dependencies are incomplete.
Solution:   Update the build dependencies, mainly for xdiff.  Adjust object
            directory for libvterm and xdiff.
2018-09-13 17:23:28 +02:00
0d5f21c3df patch 8.1.0378: CI build failure
Problem:    CI build failure.
Solution:   Include vim.h as ../vim.h.  Fix compiler warning.
2018-09-13 15:58:58 +02:00
42335f50bc patch 8.1.0377: xdiff doesn't use the Vim memory allocation functions
Problem:    Xdiff doesn't use the Vim memory allocation functions.
Solution:   Change the xdl_ defines.  Check for out-of-memory.  Rename
            "ignored" to "vim_ignored".
2018-09-13 15:33:43 +02:00
c787539747 patch 8.1.0376: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize the variable.
2018-09-13 14:57:41 +02:00
3b8defd0a5 patch 8.1.0375: cannot use diff mode with Cygwin diff.exe
Problem:    Cannot use diff mode with Cygwin diff.exe. (Igor Forca)
Solution:   Skip over unrecognized lines in the diff output.
2018-09-13 13:03:11 +02:00
bd9a53c06c patch 8.1.0374: moving the cursor is slow when 'relativenumber' is set
Problem:    Moving the cursor is slow when 'relativenumber' is set.
Solution:   Only redraw the number column, not all lines.
2018-09-12 23:15:48 +02:00
1b7fefcbce patch 8.1.0373: screen updating still slow when 'cursorline' is set
Problem:    Screen updating still slow when 'cursorline' is set.
Solution:   Fix setting last_cursorline.
2018-09-12 22:27:15 +02:00
90a997987d patch 8.1.0372: screen updating slow when 'cursorline' is set
Problem:    Screen updating slow when 'cursorline' is set.
Solution:   Only redraw the old and new cursor line, not all lines.
2018-09-12 21:52:18 +02:00
643b614087 patch 8.1.0371: argument types for select() may be wrong
Problem:    Argument types for select() may be wrong.
Solution:   Use a configure macro. (Tobias Ulmer)
2018-09-12 20:29:09 +02:00
274cea35c6 patch 8.1.0370: not using internal diff if 'diffopt' is not changed
Problem:    Not using internal diff if 'diffopt' is not changed.
Solution:   Correct initialization of diff_flags. (Christian Brabandt)
2018-09-12 18:00:12 +02:00
67f8ab8299 patch 8.1.0369: continuation lines cannot contain comments
Problem:    Continuation lines cannot contain comments.
Solution:   Support using "\ .
2018-09-11 22:37:29 +02:00
25328e39d2 patch 8.1.0368: GTK code has too many #ifdefs and GTK 2.10 building fails
Problem:    GTK code has too many #ifdefs and building fails with GTK 2.10.
Solution:   Always use gtk_widget_get_window() and define it for older GTK
            versions. (Ken Takata, closes #3421)
2018-09-11 21:30:09 +02:00
84d9390480 patch 8.1.0367: getchar(1) no longer processes pending messages
Problem:    getchar(1) no longer processes pending messages. (Yasuhiro
            Matsumoto)
Solution:   Call parse_queued_messages().
2018-09-11 20:10:20 +02:00
007921611b patch 8.1.0366: pieces of the xdiff code are not used
Problem:    Pieces of the xdiff code are not used.
Solution:   Add "#if 0" to omit unused code.
2018-09-10 22:18:52 +02:00
4c7b08f640 patch 8.1.0365: function profile doesn't specify where it was defined
Problem:    Function profile doesn't specify where it was defined.
Solution:   Show the script name and line number.
2018-09-10 22:03:40 +02:00
e797abf3c7 patch 8.1.0364: compiler warning in xdiff code
Problem:    Compiler warning in xdiff code. (Yegappan Lakshmanan)
Solution:   Initialize directly.
2018-09-10 21:22:15 +02:00
c93262b2e3 patch 8.1.0363: internal diff isn't used by default as advertised
Problem:    Internal diff isn't used by default as advertised.
Solution:   Add "internal" to the default value of 'diffopt'.
            Also add couple of files missing from the distribution.
2018-09-10 21:15:40 +02:00
f29c1c6aa3 patch 8.1.0362: cannot get the script line number when executing a function
Problem:    Cannot get the script line number when executing a function.
Solution:   Store the line number besides the script ID. (Ozaki Kiichi,
            closes #3362)  Also display the line number with ":verbose set".
2018-09-10 21:05:02 +02:00
6b0b83f768 patch 8.1.0361: remote user not used for completion
Problem:    Remote user not used for completion. (Stucki)
Solution:   Use $USER too. (Dominique Pelle, closes #3407)
2018-09-10 19:03:05 +02:00
e828b7621c patch 8.1.0360: using an external diff program is slow and inflexible
Problem:    Using an external diff program is slow and inflexible.
Solution:   Include the xdiff library. (Christian Brabandt, closes #2732)
            Use it by default.
2018-09-10 17:51:58 +02:00
93a1df2c20 Update runtime files. 2018-09-10 11:51:50 +02:00
6f8bdab8e2 patch 8.1.0359: no clue what test failed when using a screendump twice
Problem:    No clue what test failed when using a screendump twice.
Solution:   Add an extra argument to VerifyScreenDump().
2018-09-09 22:02:24 +02:00
a5c48c2698 patch 8.1.0358: crash when using term_dumpwrite() after the job finished
Problem:    Crash when using term_dumpwrite() after the job finished.
Solution:   Check for a finished job and give an error message.
2018-09-09 19:56:07 +02:00
02c972153d patch 8.1.0357: instructions for tests are outdated
Problem:    Instructions for tests are outdated. (Jason Franklin)
Solution:   Update the text.
2018-09-09 15:56:06 +02:00
99f043a57d patch 8.1.0356: using :s with 'incsearch' prevents CTRL-R CTRL-W
Problem:    Using :s with 'incsearch' prevents CTRL-R CTRL-W. (Boris Staletic)
Solution:   When past the pattern put cursor back in the start position.
            (closes #3413)
2018-09-09 15:54:14 +02:00
a750ac2288 patch 8.1.0355: incorrect adjusting the popup menu for the preview window
Problem:    Incorrect adjusting the popup menu for the preview window.
Solution:   Compute position and height properl. (Ronan Pigott)  Also show at
            least ten items. (closes #3414)
2018-09-09 15:27:59 +02:00
53c8a478cc patch 8.1.0354: packadd test fails on MS-Windows
Problem:    Packadd test fails on MS-Windows.
Solution:   Ignore difference between forward and backward slashes.
2018-09-08 19:12:12 +02:00
99396d4cbf patch 8.1.0353: an "after" directory of a package is appended to 'rtp'
Problem:    An "after" directory of a package is appended to 'rtp', which
            will be after the user's "after" directory. ()
Solution:   Insert the package "after" directory before any other "after"
            directory in 'rtp'. (closes #3409)
2018-09-08 18:21:16 +02:00
d4a1aabe37 patch 8.1.0352: browsing compressed tar files does not always work
Problem:    Browsing compressed tar files does not always work.
Solution:   Use the "file" command to get the compression type.
2018-09-08 15:10:34 +02:00
198cb66d65 patch 8.1.0351: 'incsearch' for :/foo/s//<Esc> changes last search pattern
Problem:    'incsearch' for :/foo/s//<Esc> changes last search pattern.
Solution:   Save the last search pattern earlier.
2018-09-06 21:44:17 +02:00
0b1468884a patch 8.1.0350: Vim may block on ch_sendraw()
Problem:    Vim may block on ch_sendraw() when the job is sending data back to
            Vim, which isn't read yet. (Nate Bosch)
Solution:   Add the "noblock" option to job_start(). (closes #2548)
2018-09-06 16:27:24 +02:00
ed5a9d6612 patch 8.1.0349: crash when wiping buffer in a callback
Problem:    Crash when wiping buffer in a callback.
Solution:   Do not handle messages when only peeking for a character.
            (closes #2107)  Add "redraw_flag" to test_override().
2018-09-06 13:14:43 +02:00
e67a7d690a patch 8.1.0348: on Travis the slowest build is run last
Problem:    On Travis the slowest build is run last. (Dominique Pelle)
Solution:   Reorder the build entries.
2018-09-05 22:25:50 +02:00
f1c118be93 patch 8.1.0347: some tests fail on Solaris
Problem:    Some tests fail on Solaris.
Solution:   Skip writefile test. Fix path to libc.so. Improve test for Turkish
            case change. (Libor Bukata, Bjorn Linse, closes #3403)
2018-09-03 22:08:10 +02:00
20aac6c112 Update runtime files. 2018-09-02 21:07:30 +02:00
acca8df9d4 patch 8.1.0346: building with Aap is outdated and unused
Problem:    Building with Aap is outdated and unused.
Solution:   Remove the Aap build files.
2018-09-02 15:27:07 +02:00
c9cc9c78f2 patch 8.1.0345: cannot get the window id associated with the location list
Problem:    Cannot get the window id associated with the location list.
Solution:   Add the "filewinid" argument to getloclist(). (Yegappan
            Lakshmanan, closes #3202)
2018-09-02 15:18:42 +02:00
7ee3f15b21 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Problem:    'hlsearch' highlighting has a gap after /$.
Solution:   Remove suspicious code. (Ricky Zhou, closes #3400)
2018-09-02 15:07:28 +02:00
3c5b8cd254 patch 8.1.0343: 'shellslash' is not used for getcwd() with local directory
Problem:    'shellslash' is not used for getcwd() with local directory.
            (Daniel Hahler)
Solution:   Call slash_adjust() later. (closes #3399)
2018-09-02 14:25:05 +02:00
94f01956a5 patch 8.1.0342: crash when a callback deletes a window that is being used
Problem:    Crash when a callback deletes a window that is being used.
Solution:   Do not unload a buffer that is being displayed while redrawing the
            screen. Also avoid invoking callbacks while redrawing.
            (closes #2107)
2018-09-01 15:30:03 +02:00
32bbd00949 patch 8.1.0341: :argadd in empty buffer changes the buffer name
Problem:    :argadd in empty buffer changes the buffer name. (Pavol Juhas)
Solution:   Don't re-use the current buffer when not going to edit the file.
            (closes #3397)  Do re-use the current buffer for :next.
2018-08-31 23:06:22 +02:00
9049b68612 patch 8.1.0340: no test for :spellinfo
Problem:    No test for :spellinfo.
Solution:   Add a test. (Dominique Pelle, closes #3394)
2018-08-31 22:26:53 +02:00
f13daa46da patch 8.1.0339: wrong highlight when 'incsearch' set and cancelling :s
Problem:    Wrong highlight when 'incsearch' set and cancelling :s.
Solution:   Reset search line range. (Hirohito Higashi, Masamichi Abe)
2018-08-31 22:09:54 +02:00
f6ceaf1e05 patch 8.1.0338: MS-Windows: VTP doesn't work properly with Powershell
Problem:    MS-Windows: VTP doesn't work properly with Powershell.
Solution:   Adjust the color index. (Nobuhiro Takasaki, closes #3347)
2018-08-30 17:47:05 +02:00
379fb76b08 patch 8.1.0337: :file fails in quickfix command
Problem:    :file fails in quickfix command.
Solution:   Allow :file without argument when curbuf_lock is set. (Jason
            Franklin)
2018-08-30 15:58:28 +02:00
dd5d18eadf patch 8.1.0336: mkview test still fails on CI
Problem:    mkview test still fails on CI.
Solution:   Ignore curswant, don't see another solution.
2018-08-30 14:16:06 +02:00
2bf4fe07b6 patch 8.1.0335: mkview test fails on CI
Problem:    mkview test fails on CI.
Solution:   Attempt to force recomputing curswant after folding.
2018-08-30 14:04:25 +02:00
8c9e7b00f6 patch 8.1.0334: 'autowrite' takes effect when buffer is not to be written
Problem:    'autowrite' takes effect when buffer is not to be written.
Solution:   Don't write buffers that are not supposed to be written. (Even Q
            Jones, closes #3391)  Add tests for 'autowrite'.
2018-08-30 13:07:17 +02:00
92c1b69641 patch 8.1.0333: :mkview does not restore cursor properly after "$"
Problem:    :mkview does not restore cursor properly after "$". (Dominique
            Pelle)
Solution:   Position the cursor with "normal! $".
2018-08-29 21:42:42 +02:00
a449a7c6b9 patch 8.1.0332: get Gdk-Critical error on first balloon show
Problem:    Get Gdk-Critical error on first balloon show.
Solution:   Get screen geometry using the draw area widget. (Davit Samvelyan,
            closes #3386)
2018-08-28 23:09:07 +02:00
fc65cabb15 Update runtime files. 2018-08-28 22:58:02 +02:00
627cb6a6b3 patch 8.1.0331: insufficient test coverage for :mkview and :loadview
Problem:    Insufficient test coverage for :mkview and :loadview.
Solution:   Add tests. (Dominique Pelle, closes #3385)
2018-08-28 22:19:31 +02:00
6f6ef7c195 patch 8.1.0330: the qf_add_entries() function is too long
Problem:    The qf_add_entries() function is too long.
Solution:   Split in two parts. (Yegappan Lakshmanan)
2018-08-28 22:07:44 +02:00
a06afc7f5e patch 8.1.0329: using inputlist() during startup results in garbage
Problem:    Using inputlist() during startup results in garbage. (Dominique
            Pelle)
Solution:   Make sure the xterm tracing is stopped when disabling the mouse.
2018-08-27 23:24:16 +02:00
4cbdf155ca patch 8.1.0328: inputlist() doesn't work with a timer
Problem:    inputlist() doesn't work with a timer. (Dominique Pelle)
Solution:   Don't redraw when cmdline_row is zero. (Hirohito Higashi,
            closes #3239)
2018-08-26 21:23:07 +02:00
0529583ff1 patch 8.1.0327: the "g CTRL-G" command isn't tested much
Problem:    The "g CTRL-G" command isn't tested much.
Solution:   Add more tests. (Dominique Pelle, closes #3369)
2018-08-24 22:07:58 +02:00
98fc8d7b6c patch 8.1.0326: screen dump does not consider NUL and space equal
Problem:    Screen dump does not consider NUL and space equal.
Solution:   Use temp variables instead of character from cell.
2018-08-24 21:30:28 +02:00
7c60505e10 patch 8.1.0325: strings in swap file may not be NUL terminated
Problem:    Strings in swap file may not be NUL terminated. (Coverity)
Solution:   Limit the length of the used string.
2018-08-23 23:01:27 +02:00
74c8be2c68 patch 8.1.0324: off-by-one error in cmdidx check
Problem:    Off-by-one error in cmdidx check. (Coverity)
Solution:   Use ">=" instead of ">".
2018-08-23 22:51:40 +02:00
2551c037e4 patch 8.1.0323: reverse order of VTP calls only needed the first time
Problem:    Reverse order of VTP calls only needed the first time.
Solution:   Add a flag to remember the state. (Nobuhiro Takasaki, closes #3366)
2018-08-23 22:38:31 +02:00
7cb33a14c9 patch 8.1.0322: Test_copy_winopt() does not restore 'hidden'
Problem:    Test_copy_winopt() does not restore 'hidden'.
Solution:   Restore the option, fix indent. (Ozaki Kiichi, closes #3367)
2018-08-23 22:20:35 +02:00
4edfe2d2a2 patch 8.1.0321: 'incsearch' regression: /\v highlights everything
Problem:    'incsearch' regression: /\v highlights everything.
Solution:   Put back the empty_pattern() check.
2018-08-23 20:55:45 +02:00
8b0d5ce881 patch 8.1.0320: too much 'incsearch' highlight for pat matching everything
Problem:    Too much 'incsearch' highlight for pattern matching everything.
Solution:   Add the skiplen to the command and remove the line range.
            (Christian Brabandt)  Check for empty pattern earlier.
2018-08-22 23:05:44 +02:00
8e7218c459 patch 8.1.0319: bzero() function prototype doesn't work for Android
Problem:    bzero() function prototype doesn't work for Android.
Solution:   Add an #ifdef. (Elliott Hughes, closes #3365)
2018-08-22 21:56:57 +02:00
3b3a506f57 patch 8.1.0318: the getftype() test may fail for char devices
Problem:    The getftype() test may fail for char devices if the file
            disappeared in between the listing and the getftype() call.
Solution:   Ignore empty result. (Ozaki Kiichi, closes #3360)
2018-08-22 20:16:16 +02:00
320bf2d85e patch 8.1.0317: Cscope test fails when using shadow directory
Problem:    Cscope test fails when using shadow directory.
Solution:   Resolve symlink in Vim. (James McCoy, closes #3364)
2018-08-22 20:06:26 +02:00
4c5765bc47 patch 8.1.0316: swapinfo() test fails on Travis
Problem:    swapinfo() test fails on Travis.
Solution:   Handle a long host name. (Ozaki Kiichi, closes #3361)
            Also make the version check flexible. (James McCoy)
2018-08-22 11:28:01 +02:00
c631f2df62 patch 8.1.0315: helpgrep with language doesn't work properly
Problem:    Helpgrep with language doesn't work properly. (Takuya Fujiwara)
Solution:   Check for the language earlier. (Hirohito Higashi)
2018-08-21 21:58:13 +02:00
47ad5656e1 patch 8.1.0314: build failure without the +eval feature
Problem:    Build failure without the +eval feature. (Brenton Horne)
Solution:   Add #ifdef.  Also add the "dirty" item.
2018-08-21 21:09:07 +02:00
00f123a565 patch 8.1.0313: information about a swap file is unavailable
Problem:    Information about a swap file is unavailable.
Solution:   Add swapinfo(). (Enzo Ferber)
2018-08-21 20:28:54 +02:00
8e82c057ff patch 8.1.0312: wrong type for flags used in signal handlers
Problem:    Wrong type for flags used in signal handlers.
Solution:   Use sig_atomic_t. (Dominique Pelle, closes #3356)
2018-08-21 19:47:48 +02:00
8c5e0093c9 patch 8.1.0311: filtering entries in a quickfix list is not easy
Problem:    Filtering entries in a quickfix list is not easy.
Solution:   Add the cfilter plugin. (Yegappan Lakshmanan)
2018-08-21 19:22:23 +02:00
2f0f871159 patch 8.1.0310: file info msg not always suppressed with 'F' in 'shortmess'
Problem:    File info message not always suppressed with 'F' in 'shortmess'.
            (Asheq Imran)
Solution:   Save and restore msg_silent. (Christian Brabandt, closes #3221)
2018-08-21 18:50:18 +02:00
7feb35e778 patch 8.1.0309: profiling does not show a count for condition lines
Problem:    Profiling does not show a count for condition lines. (Daniel
            Hahler)
Solution:   Count lines when not skipping. (Ozaki Kiichi, closes #2499)
2018-08-21 17:49:54 +02:00
fd6100b2aa patch 8.1.0308: a quick undo shows "1 seconds ago"
Problem:    A quick undo shows "1 seconds ago". (Tony Mechelynck)
Solution:   Add singular/plural message.
2018-08-21 17:07:45 +02:00
0f6b4f06de patch 8.1.0307: there is no good way to get the window layout
Problem:    There is no good way to get the window layout.
Solution:   Add the winlayout() function. (Yegappan Lakshmanan)
2018-08-21 16:56:34 +02:00
da6e8919e7 patch 8.1.0306: plural messages are not translated properly
Problem:    Plural messages are not translated properly.
Solution:   Add more usage of NGETTEXT(). (Sergey Alyoshin)
2018-08-21 15:12:14 +02:00
830e3583da patch 8.1.0305: missing support for Lua 5.4 32 bits on Unix
Problem:    Missing support for Lua 5.4 32 bits on Unix.
Solution:   Define lua_newuserdatauv. (Kazunobu Kuriyama)
2018-08-21 14:23:35 +02:00
2e31048c30 patch 8.1.0304: no redraw when using a STOP signal on Vim and then CONT
Problem:    No redraw when using a STOP signal on Vim and then a CONT signal.
Solution:   Catch the CONT signal and set the terminal to raw mode.  This is
            like 8.1.0244 but without the screen redraw and a fix for
            multi-threading suggested by Dominique Pelle.
2018-08-21 13:09:10 +02:00
c26f7c6053 patch 8.1.0303: line2byte() is wrong for last line with 'noeol'
Problem:    line2byte() is wrong for last line with 'noeol' and 'nofixeol'.
Solution:   Fix off-by-one error. (Shane Harper, closes #3351)
2018-08-20 22:53:04 +02:00
f1883479be patch 8.1.0302: crash when using :suspend and "fg"
Problem:    Crash when using :suspend and "fg".
Solution:   Undo patch 8.1.244.
2018-08-20 21:58:57 +02:00
3f6a16f022 patch 8.1.0301: GTK: input method popup displayed on wrong screen.
Problem:    GTK: Input method popup displayed on wrong screen.
Solution:   Add the screen position offset. (Ken Takata, closes #3268)
2018-08-19 22:58:45 +02:00
d8f0cef2bd patch 8.1.0300: the old window title might be freed twice
Problem:    The old window title might be freed twice. (Dominique Pelle)
Solution:   Do not free "oldtitle" in a signal handler but set a flag to have
            it freed later.
2018-08-19 22:20:16 +02:00
142ae736d9 patch 8.1.0299: misplaced comment
Problem:    misplaced comment
Solution:   Remove comment
2018-08-19 17:04:01 +02:00
46fad2ef0b patch 8.1.0298: window resize test sometimes fails on Mac
Problem:    Window resize test sometimes fails on Mac.
Solution:   Add Test_popup_and_window_resize() to flaky tests.
2018-08-19 16:09:27 +02:00
cea1f9ec52 patch 8.1.0297: MS-Windows: tests fail, Vim crashes
Problem:    MS-Windows: tests fail, Vim crashes.
Solution:   Fix long file name handling.
2018-08-19 14:38:42 +02:00
111bbd61e9 patch 8.1.0296: command parsing for 'incsearch' is a bit ugly
Problem:    Command parsing for 'incsearch' is a bit ugly.
Solution:   Return when there is no pattern.  Put common checks together.
2018-08-18 21:23:05 +02:00
264cf5cfaf patch 8.1.0295: no 'incsearch' highlighting for :vimgrep and similar
Problem:    No 'incsearch' highlighting for :vimgrep and similar commands.
Solution:   Parse the :vimgrep command and similar ones to locate the search
            pattern. (Hirohito Higashi, closes #3344)
2018-08-18 21:05:31 +02:00
3b9fcfcffa patch 8.1.0294: MS-Windows: sometimes uses short directory name
Problem:    MS-Windows: sometimes uses short directory name.
Solution:   Expand to long file name with correct caps. (Nobuhiro Takasaki,
            closes #3334)
2018-08-18 20:20:27 +02:00
4d77c65a9e patch 8.1.0293: checks for type of stack is cryptic
Problem:    Checks for type of stack is cryptic.
Solution:   Define IS_QF_STACK() and IS_LL_STACK(). (Yegappan Lakshmanan)
2018-08-18 19:59:54 +02:00
9bc1eac2c7 patch 8.1.0292: MS-Windows: the text "self-installing" confuses some users
Problem:    MS-Windows: the text "self-installing" confuses some users.
Solution:   Remove the text from the uninstall entry. (closes #3337)
2018-08-18 19:04:37 +02:00
81f56536b1 patch 8.1.0291: 'incsearch' highlighting not used for :sort
Problem:    'incsearch' highlighting not used for :sort.
Solution:   Handle pattern in :sort command.
2018-08-18 16:19:42 +02:00
b476cb7d8d patch 8.1.0290: "cit" on an empty HTML tag changes the whole tag
Problem:    "cit" on an empty HTML tag changes the whole tag.
Solution:   Only adjust the area in Visual mode. (Andy Massimino,
            closes #3332)
2018-08-16 21:37:50 +02:00
2dfcef4c08 patch 8.1.0289: cursor moves to wrong column after quickfix jump
Problem:    Cursor moves to wrong column after quickfix jump.
Solution:   Set the curswant flag. (Andy Massimino, closes #3331)
2018-08-15 22:29:51 +02:00
396659592f patch 8.1.0288: quickfix code uses cmdidx too often
Problem:    Quickfix code uses cmdidx too often.
Solution:   Add is_loclist_cmd(). (Yegappan Lakshmanan)
2018-08-15 20:59:48 +02:00
37b15568c2 patch 8.1.0287: MAX is not defined everywhere
Problem:    MAX is not defined everywhere.
Solution:   Define MAX where needed.
2018-08-14 22:08:25 +02:00
167ae42685 patch 8.1.0286: 'incsearch' does not apply to :smagic and :snomagic
Problem:    'incsearch' does not apply to :smagic and :snomagic.
Solution:   Add support. (Hirohito Higashi)
2018-08-14 21:32:21 +02:00
d7cc163570 patch 8.1.0285: compiler warning for conversion
Problem:    Compiler warning for conversion.
Solution:   Add a type cast. (Mike Williams)
2018-08-14 20:18:26 +02:00
2f6a346a4c patch 8.1.0284: 'cursorline' highlighting wrong with 'incsearch'
Problem:    'cursorline' highlighting wrong with 'incsearch'.
Solution:   Move the cursor back if the match is outside the range.
2018-08-14 18:16:52 +02:00
80d83c094d patch 8.1.0283: missing test dump
Problem:    Missing test dump.
Solution:   Add the dump file
2018-08-14 17:28:56 +02:00
33c4dbb74b patch 8.1.0282: 'incsearch' does not work with command modifiers
Problem:    'incsearch' does not work with command modifiers.
Solution:   Skip command modifiers.
2018-08-14 16:06:16 +02:00
effed9315c patch 8.1.0281: parsing command modifiers is not separated
Problem:    Parsing command modifiers is not separated.
Solution:   Move command modifier parsing to a separate function.
2018-08-14 13:38:17 +02:00
def7b1dc61 patch 8.1.0280: 'incsearch' highlighting does not work for ":g!/"
Problem:    'incsearch' highlighting does not work for ":g!/".
Solution:   Skip the exclamation mark. (Hirohito Higashi)
2018-08-13 22:54:35 +02:00
2b926fcb3c patch 8.1.0279: 'incsearch' highlighting does not skip white space
Problem:    'incsearch' highlighting does not skip white space.
Solution:   Skip white space after the command. (issue #3321)
2018-08-13 11:07:57 +02:00
60d0871000 patch 8.1.0278: 'incsearch' highlighting does not accept reverse range
Problem:    'incsearch' highlighting does not accept reverse range.
Solution:   Swap the range when needed. (issue #3321)
2018-08-12 21:53:15 +02:00
c7f08b7ee1 patch 8.1.0277: 'incsearch' highlighting wrong in a few cases
Problem:    'incsearch' highlighting wrong in a few cases.
Solution:   Fix using last search pattern.  Restore highlighting when changing
            command. (issue #3321)
2018-08-12 17:39:14 +02:00
164251ff80 patch 8.1.0276: no test for 'incsearch' highlighting with :s
Problem:    No test for 'incsearch' highlighting with :s.
Solution:   Add a screendump test.
2018-08-12 16:26:58 +02:00
976b847f43 patch 8.1.0275: 'incsearch' with :s doesn't start at cursor line
Problem:    'incsearch' with :s doesn't start at cursor line.
Solution:   Set cursor before parsing address. (closes #3318)
            Also accept a match at the start of the first line.
2018-08-12 15:49:47 +02:00
21f990e1c2 patch 8.1.0274: 'incsearch' triggers on ":source"
Problem:    'incsearch' triggers on ":source".
Solution:   Check for the whole command name.
2018-08-11 19:20:49 +02:00
ef73a28401 patch 8.1.0273: invalid memory access when using 'incsearch'
Problem:    Invalid memory access when using 'incsearch'.
Solution:   Reset "patlen" when using previous search pattern.
2018-08-11 19:02:22 +02:00
d473c8c101 Update runtime files. 2018-08-11 18:00:22 +02:00
f53c692240 patch 8.1.0272: options test fails if temp var ends in slash
Problem:    Options test fails if temp var ends in slash. (Tom Briden)
Solution:   Check for optional slash. (closes #3308)
2018-08-11 17:53:04 +02:00
b0acacd767 patch 8.1.0271: 'incsearch' doesn't work for :s, :g or :v
Problem:    'incsearch' doesn't work for :s, :g or :v.
Solution:   Also use 'incsearch' for other commands that use a pattern.
2018-08-11 16:40:43 +02:00
b31a3acce1 patch 8.1.0270: checking for a Tab in a line could be faster
Problem:    Checking for a Tab in a line could be faster.
Solution:   Use strchr() instead of strrchr(). (closes #3312)
2018-08-11 14:41:55 +02:00
51e9fbf1c7 patch 8.1.0269: Ruby Kernel.#p method always returns nil
Problem:    Ruby Kernel.#p method always returns nil.
Solution:   Copy p method implementation from Ruby code. (Masataka Pocke
            Kuwabara, closes #3315)
2018-08-11 14:24:11 +02:00
d569bb0299 patch 8.1.0268: file type checking has too many #ifdef
Problem:    File type checking has too many #ifdef.
Solution:   Always define the S_IF macros. (Ken Takata, closes #3306)
2018-08-11 13:57:20 +02:00
90f1e2b7bc patch 8.1.0267: no good check if restoring quickfix list worked
Problem:    No good check if restoring quickfix list worked.
Solution:   Let qf_restore_list() return OK/FAIL. (Yegappan Lakshmanan)
2018-08-11 13:36:56 +02:00
ee8415bc59 patch 8.1.0266: parsing Ex address range is not a separate function
Problem:    Parsing Ex address range is not a separate function.
Solution:   Refactor do_one_cmd() to separate address parsing.
2018-08-10 23:13:12 +02:00
0ee81cb638 patch 8.1.0265: the getcmdline() function is way too big
Problem:    The getcmdline() function is way too big.
Solution:   Factor out the incremental search highlighting.
2018-08-10 22:07:32 +02:00
efe03738f6 patch 8.1.0264: backup tests fail when CWD is in /tmp
Problem:    Backup tests fail when CWD is in /tmp.
Solution:   Make 'backupskip' empty. (Christian Brabandt, closes #3301)
2018-08-09 22:26:38 +02:00
4b16ee743e patch 8.1.0263: channel log doesn't show part of channel
Problem:    Channel log doesn't show part of channel.
Solution:   Add "sock", "out", "err" or "in". (Ozaki Kiichi, closes #3303)
2018-08-09 22:15:34 +02:00
1598f9937a patch 8.1.0262: not enough testing for getftype()
Problem:    Not enough testing for getftype().
Solution:   Add a test. (Dominique Pelle, closes #3300)
2018-08-09 22:08:57 +02:00
38efd1d17a patch 8.1.0261: Coverity complains about a negative array index
Problem:    Coverity complains about a negative array index.
Solution:   When qf_id2nr() cannot find the list then don't set qf_curlist.
2018-08-09 21:52:24 +02:00
4d37557ac6 patch 8.1.0260: no LGTM logo in README file
Problem:    No LGTM logo in README file.
Solution:   Add one. (Bas van Schaik, closes #3305)
2018-08-09 21:33:38 +02:00
3f347e4716 patch 8.1.0259: no test for fixed quickfix issue
Problem:    No test for fixed quickfix issue.
Solution:   Add a test.  Clean up the code a bit. (Yegappan Lakshmanan)
2018-08-09 21:19:20 +02:00
af559d2c9f patch 8.1.0258: not enough testing for the CompleteDone event
Problem:    Not enough testing for the CompleteDone event.
Solution:   Add a test. (closes #3297)
2018-08-08 22:55:41 +02:00
bfde0b482d patch 8.1.0257: no test for pathshorten()
Problem:    No test for pathshorten().
Solution:   Add a test. (Dominique Pelle, closes #3295)
2018-08-08 22:27:31 +02:00
9fa9506853 patch 8.1.0256: using setline() in TextChangedI splits undo
Problem:    Using setline() in TextChangedI splits undo.
Solution:   Use another solution for undo not working properly.
2018-08-08 22:08:32 +02:00
f8f88f89e1 patch 8.1.0255: backup test fails when using shadow directory
Problem:    Backup test fails when using shadow directory.
Solution:   Remove check for "src".
2018-08-08 11:02:32 +02:00
980bab457e patch 8.1.0254: cannot build on MS-Windows; unused macro HAVE_HANDLE_DROP
Problem:    Cannot build on MS-Windows; Unused macro HAVE_HANDLE_DROP.
Solution:   Adjust #ifdef. Delete the macro.
2018-08-07 22:42:53 +02:00
40385dbcdf patch 8.1.0253: saving and restoring window title does not always work
Problem:    Saving and restoring window title does not always work.
Solution:   Use the stack push and pop commands. (Kouichi Iwamoto,
            closes #3059)
2018-08-07 22:31:44 +02:00
de3b3677f7 patch 8.1.0252: quickfix functions are too long
Problem:    Quickfix functions are too long.
Solution:   Refactor. (Yegappan Lakshmanan, closes #2950)
2018-08-07 21:54:41 +02:00
b782ba475a patch 8.1.0251: using full path is not supported for 'backupdir'
Problem:    Using a full path is supported for 'directory' but not for
            'backupdir'. (Mikolaj Machowski)
Solution:   Support 'backupdir' as well. (Christian Brabandt, closes #179)
2018-08-07 21:39:28 +02:00
b1cf16113f patch 8.1.0250: MS-Windows using VTP: windows size change incorrect
Problem:    MS-Windows using VTP: windows size change incorrect.
Solution:   Call SetConsoleScreenBufferSize() first. (Nobuhiro Takasaki,
            closes #3164)
2018-08-07 20:47:16 +02:00
7ebf4e1c34 patch 8.1.0249: GTK: when screen DPI changes Vim does not handle it
Problem:    GTK: when screen DPI changes Vim does not handle it.
Solution:   Handle the gtk-xft-dpi signal. (Roel van de Kraats,
            closes #2357)
2018-08-07 20:01:40 +02:00
8d8a65e389 patch 8.1.0248: duplicated quickfix code
Problem:    duplicated quickfix code.
Solution:   Move the code to a function.
2018-08-07 19:48:08 +02:00
447bd5a346 patch 8.1.0247: Python: error message for failing import is incorrect
Problem:    Python: error message for failing import is incorrect.
Solution:   Adjust how modules are loaded. (Ozaki Kiichi, closes #3162)
2018-08-07 19:45:27 +02:00
ee380ae376 patch 8.1.0246: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef
2018-08-07 19:32:52 +02:00
91d2e783b4 patch 8.1.0245: calling setline() in TextChangedI autocmd breaks undo
Problem:    Calling setline() in TextChangedI autocmd breaks undo. (Jason
            Felice)
Solution:   Don't save lines for undo when already saved. (closes #3291)
2018-08-07 19:05:01 +02:00
917e32bda5 patch 8.1.0244: no redraw when using a STOP signal on Vim and then CONT
Problem:    No redraw when using a STOP signal on Vim and then a CONT signal.
Solution:   Catch the CONT signal and force a redraw. (closes #3285)
2018-08-07 17:38:41 +02:00
5db7eec423 patch 8.1.0243: using :term ++close ++hidden closes a window
Problem:    Using :term ++close ++hidden closes a window. (Marcin Szamotulski)
Solution:   Don't close the window if only using it temporarily for unloading
            the terminal buffer. (closes #3287)
2018-08-07 16:33:18 +02:00
02ab97709d patch 8.1.0242: Insert mode completion may use an invalid buffer pointer
Problem:    Insert mode completion may use an invalid buffer pointer.
Solution:   Check for ins_buf to be valid. (closes #3290)
2018-08-07 14:55:09 +02:00
7cc596547a patch 8.1.0241: effect of ":tabmove N" is not clear
Problem:    Effect of ":tabmove N" is not clear.
Solution:   Add a test that shows the behavior. (Christian Brabandt,
            closes #3288)
2018-08-07 13:14:46 +02:00
3cb4448b8a patch 8.1.0240: g:actual_curbuf set in wrong scope
Problem:    g:actual_curbuf set in wrong scope. (Daniel Hahler)
Solution:   Prepend the "g:" name space. (closes #3279)
2018-08-05 13:22:26 +02:00
218beb3e96 patch 8.1.0239: now Ruby build fails on other systems
Problem:    Now Ruby build fails on other systems.
Solution:   Always define rb_intern. (Ken Takata, closes #3275)
2018-08-04 17:24:44 +02:00
7da1fb5532 patch 8.1.0238: 'buftype' is cleared when using ":term ++hidden cat"
Problem:    'buftype' is cleared when using ":term ++hidden cat". (Marcin
            Szamotulski)
Solution:   Set the "options initialized" flag earlier. (closes #3278)
2018-08-04 16:54:11 +02:00
87ea64ca96 patch 8.1.0237: Ruby on Cygwin doesn't always work
Problem:    Ruby on Cygwin doesn't always work.
Solution:   Use LIBRUBY_SO if LIBRUBY_ALIASES isn't set. (Ken Takata)
2018-08-04 15:13:34 +02:00
82593c1a3a patch 8.1.0236: Ruby build fails when ruby_intern is missing
Problem:    Ruby build fails when ruby_intern is missing.
Solution:   Do not use ruby_intern2. (Ken Takata)
2018-08-03 22:03:17 +02:00
3bf5e6a4c8 patch 8.1.0235: more help tags that jump to the wrong location
Problem:    More help tags that jump to the wrong location.
Solution:   Add more exceptions and a table for "expr-" tags. (Hirohito
            Higashi)
2018-08-02 22:23:57 +02:00
41c363a315 patch 8.1.0234: incorrect reference counting in Perl interface
Problem:    Incorrect reference counting in Perl interface.
Solution:   Call SvREFCNT_inc more often, add a test. (Damien)
2018-08-02 21:46:51 +02:00
ded27a1feb patch 8.1.0233: "safe" argument of call_vim_function() is always FALSE
Problem:    "safe" argument of call_vim_function() is always FALSE.
Solution:   Remove the argument.
2018-08-01 19:06:03 +02:00
f711cb2f12 patch 8.1.0232: Ruby error does not include backtrace
Problem:    Ruby error does not include backtrace.
Solution:   Add an error backtrace. (Masataka Pocke Kuwabara, closes #3267)
2018-08-01 18:42:13 +02:00
a5bc38b8c1 patch 8.1.0231: :help -? goes to help for -+
Problem:    :help -? goes to help for -+.
Solution:   Add -? to list of special cases. (Hirohito Higashi)
2018-08-01 18:03:02 +02:00
91335e5a67 patch 8.1.0230: directly checking 'buftype' value
Problem:    Directly checking 'buftype' value.
Solution:   Add the bt_normal() function. (Yegappan Lakshmanan)
2018-08-01 17:53:12 +02:00
d2855f5454 Update runtime files. 2018-07-31 22:23:58 +02:00
79c2ad50b8 patch 8.1.0229: crash when dumping profiling data
Problem:    Crash when dumping profiling data.
Solution:   Reset flag indicating that initialization was done.
2018-07-29 17:40:43 +02:00
92d147be95 patch 8.1.0228: dropping files is ignored while Vim is busy
Problem:    Dropping files is ignored while Vim is busy.
Solution:   Postpone the effect of dropping files until it's safe.
2018-07-29 17:35:23 +02:00
fda95e7572 patch 8.1.0227: spaces instead of tabs in makefile
Problem:    Spaces instead of tabs in makefile.
Solution:   Use tabs and fix sorting. (Ken Takata)
2018-07-29 16:13:17 +02:00
1f0bfe5617 patch 8.1.0226: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the +vreplace feature, it's not much code and quite a few
            #ifdefs.
2018-07-29 16:09:22 +02:00
612cc3888b patch 8.1.0225: mode() does not indicate using CTRL-O from Insert mode
Problem:    Mode() does not indicate using CTRL-O from Insert mode.
Solution:   Add "niI", "niR" and "niV" to mode() result. (closes #3000)
2018-07-29 15:34:26 +02:00
91f84f6e11 Update runtime files. 2018-07-29 15:07:52 +02:00
fdd7155fab patch 8.1.0224: hang in bracketed paste mode when t_PE not encountered
Problem:    Hang in bracketed paste mode when t_PE not encountered.
Solution:   Break out of the loop when got_int is set. (suggested by Christian
            Brabandt, closes #3146)
2018-07-28 23:12:05 +02:00
6ab9e429da patch 8.1.0223: completing shell command finds sub-directories in $PATH
Problem:    Completing shell command finds sub-directories in $PATH.
Solution:   Remove EW_DIR when completing an item in $PATH. (Jason Franklin)
2018-07-28 19:20:13 +02:00
73b4abae5d patch 8.1.0222: errors are reported for "make install"
Problem:    Errors are reported for "make install".
Solution:   Skip missing language files. (Christian Brabandt, closes #3254)
2018-07-28 18:16:48 +02:00
edd6aacb01 patch 8.1.0221: not enough testing for the Ruby interface
Problem:    Not enough testing for the Ruby interface.
Solution:   Add more tests. (Dominique Pelle, closes #3252)
2018-07-28 17:29:19 +02:00
d84b26a03b patch 8.1.0220: Ruby converts v:true and v:false to a number
Problem:    Ruby converts v:true and v:false to a number.
Solution:   Use Qtrue and Qfalse instead. (Masataka Pocke Kuwabara,
            closes #3259)
2018-07-28 17:18:09 +02:00
2c8c681bfc patch 8.1.0219: expanding ## fails to escape backtick
Problem:    Expanding ## fails to escape backtick.
Solution:   Escape a backtick in a file name. (closes #3257)
2018-07-28 17:07:52 +02:00
95e51470f1 patch 8.1.0218: cannot add matches to another window
Problem:    Cannot add matches to another window. (Qiming Zhao)
Solution:   Add the "window" argument to matchadd() and matchaddpos().
            (closes #3260)
2018-07-28 16:55:56 +02:00
fd249460fe patch 8.1.0217: compiler warning for variable set but not used
Problem:    Compiler warning for variable set but not used.
Solution:   Move tilde_file inside #ifdef. (Hirohito Higashi, closes #3255)
2018-07-28 16:14:30 +02:00
8e85db0376 patch 8.1.0216: part of file not indented properly
Problem:    Part of file not indented properly.
Solution:   Adjust the indent. (Ken Takata)
2018-07-27 23:16:51 +02:00
d2a054910b patch 8.1.0215: no error if configure --with-x cannot configure X
Problem:    No error if configure --with-x cannot configure X.
Solution:   Check that when --with-x is used X can be configured.
2018-07-27 22:35:15 +02:00
83ec2a7f5f patch 8.1.0214: +autochdir feature not reported by has() or :version
Problem:    +autochdir feature not reported by has() or :version.
Solution:   Add the feature in the list.
2018-07-27 22:08:59 +02:00
0a08c63da1 patch 8.1.0213: CTRL-W CR does not work properly in a quickfix window
Problem:    CTRL-W CR does not work properly in a quickfix window.
Solution:   Split the window if needed. (Jason Franklin)
2018-07-25 22:36:52 +02:00
53901442f3 patch 8.1.0212: preferred cursor column not set in interfaces
Problem:    Preferred cursor column not set in interfaces.
Solution:   Set w_set_curswant when setting the cursor. (David Hotham,
            closes #3060)
2018-07-25 22:02:36 +02:00
00136dc321 patch 8.1.0211: expanding a file name "~" results in $HOME
Problem:    Expanding a file name "~" results in $HOME. (Aidan Shafran)
Solution:   Change "~" to "./~" before expanding. (closes #3072)
2018-07-25 21:19:13 +02:00
6f8d2ac6f1 patch 8.1.0210: still a few K&R function declarations
Problem:    Still a few K&R function declarations.
Solution:   Use ANSI function declarations (Hirohito Higashi)
2018-07-25 19:49:45 +02:00
b6c8cd8dc3 patch 8.1.0209: stderr output from Ruby messes up display
Problem:    Stderr output from Ruby messes up display.
Solution:   Turn the stderr output into a Vim message. (Masataka Pocke
            Kuwabara, closes #3238)
2018-07-24 05:41:30 +02:00
7624af0294 patch 8.1.0208: file left behind after running individual test
Problem:    File left behind after running individual test.
Solution:   Delete the file.
2018-07-24 04:51:20 +02:00
68f1b1b37f patch 8.1.0207: need many menu translation files to cover regions
Problem:    Need many menu translation files to cover regions.
Solution:   When there is no region match, try without. (Christian Brabandt)
2018-07-23 05:10:14 +02:00
cd96eef3a8 patch 8.1.0206: duplicate test function name
Problem:    Duplicate test function name.
Solution:   Rename both functions.
2018-07-23 04:49:23 +02:00
9cf4b5005f patch 8.1.0205: invalid memory access with invalid modeline
Problem:    Invalid memory access with invalid modeline.
Solution:   Pass pointer limit. Add a test. (closes #3241)
2018-07-23 04:12:03 +02:00
947b39e761 patch 8.1.0204: inputlist() is not tested
Problem:    inputlist() is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3240)
2018-07-22 19:36:37 +02:00
578333b2ec patch 8.1.0203: building with Perl 5.28 fails on Windows
Problem:    Building with Perl 5.28 fails on Windows.
Solution:   Define Perl_mg_get. (closes #3196)
2018-07-22 07:31:09 +02:00
6183ccbd67 patch 8.1.0202: :version always shows +packages
Problem:    :version always shows +packages. (Takuya Fujiwara)
Solution:   Add #ifdef (closes #3198) Also for has().
2018-07-22 05:08:11 +02:00
79a494d5e2 patch 8.1.0201: newer Python uses "importlib" instead of "imp"
Problem:    Newer Python uses "importlib" instead of "imp".
Solution:   Use "importlib" for newer Python versions. (closes #3163)
2018-07-22 04:30:21 +02:00
a9604e6145 Update runtime files. 2018-07-21 05:56:22 +02:00
872e451e8c patch 8.1.0200: spellbadword() not tested
Problem:    spellbadword() not tested.
Solution:   Add a test. (Dominique Pelle, closes #3235)
2018-07-20 23:36:26 +02:00
66ab916935 patch 8.1.0199: spellbadword() does not check for caps error
Problem:    spellbadword() does not check for caps error. (Dominique Pelle)
Solution:   Adjust capcol when advancing.
2018-07-20 20:28:48 +02:00
0a6efcd27d patch 8.1.0198: there is no hint that syntax is disabled for 'redrawtime'
Problem:    There is no hint that syntax is disabled for 'redrawtime'.
Solution:   Add a message.
2018-07-20 19:56:10 +02:00
9e42c86648 patch 8.1.0197: Windows GUI: title for search/replace is wrong
Problem:    Windows GUI: title for search/replace is wrong.
Solution:   Remove remark about doubling backslash. (closes #3230)
2018-07-20 05:03:16 +02:00
f63db65b24 patch 8.1.0196: terminal debugger error with .gdbinit file
Problem:    Terminal debugger error with .gdbinit file.
Solution:   Check two lines for the "new ui" response. (hint from Hirohito
            Higashi)
2018-07-19 04:13:36 +02:00
963c1ad5d0 patch 8.1.0195: terminal debugger commands don't always work
Problem:    Terminal debugger commands don't always work. (Dominique Pelle)
Solution:   Set 'cpo' to its default value when defining commands. (Christian
            Brabandt)
2018-07-19 02:55:01 +02:00
414998023f patch 8.1.0194: possibly use of NULL pointer
Problem:    Possibly use of NULL pointer. (Coverity)
Solution:   Reset the re_in_use flag earlier.
2018-07-18 06:02:09 +02:00
ca4cc018ad patch 8.1.0193: terminal debugger buttons don't always work
Problem:    Terminal debugger buttons don't always work. (Dominique Pelle)
Solution:   Set 'cpo' to its default value.
2018-07-17 05:55:12 +02:00
0270f38e1a patch 8.1.0192: executing regexp recursively fails with a crash
Problem:    Executing regexp recursively fails with a crash.
Solution:   Move global variables into "rex".
2018-07-17 05:43:58 +02:00
3166afd945 patch 8.1.0191: Perl test fails in 24 line terminal
Problem:    Perl test fails in 24 line terminal.
Solution:   Create fewer windows.
2018-07-16 18:09:14 +02:00
18c4f1badb patch 8.1.0190: Perl refcounts are wrong
Problem:    Perl refcounts are wrong.
Solution:   Improve refcounting.  Add a test. (Damien)
2018-07-16 17:45:38 +02:00
d90a144eda patch 8.1.0189: function defined in sandbox not tested
Problem:    Function defined in sandbox not tested.
Solution:   Add a text.
2018-07-15 20:24:31 +02:00
b477af2260 Update runtime files. 2018-07-15 20:20:18 +02:00
2196bca737 patch 8.1.0188: no test for ":cscope add"
Problem:    No test for ":cscope add".
Solution:   Add a test. (Dominique Pelle, closes #3212)
2018-07-15 17:36:32 +02:00
7132ddc101 patch 8.1.0187: getwininfo() and win_screenpos() return different numbers
Problem:    getwininfo() and win_screenpos() return different numbers.
Solution:   Add one to "wincol" and "winrow" from getwininfo().
2018-07-15 17:01:11 +02:00
44a693a1bd patch 8.1.0186: test for getwininfo() fails in GUI
Problem:    Test for getwininfo() fails in GUI.
Solution:   Account for missing tabline.
2018-07-14 22:23:47 +02:00
1ce9a1515b patch 8.1.0185: running tests writes lua.vim even though it is not used
Problem:    Running tests writes lua.vim even though it is not used.
Solution:   Stop writing lua.vim.
2018-07-14 21:48:46 +02:00
b6959a8e06 patch 8.1.0184: not easy to figure out the window layout
Problem:    Not easy to figure out the window layout.
Solution:   Add "wincol" and "winrow" to what getwininfo() returns.
2018-07-14 21:41:44 +02:00
1741367131 patch 8.1.0183: Lua API changed, breaking the build
Problem:    Lua API changed, breaking the build.
Solution:   Adjust prototype of lua_rawgeti(). (Ken Takata,
            closes #3157, closes #3144)
2018-07-14 20:49:42 +02:00
4fc85003c5 patch 8.1.0182: Unicode standard was updated
Problem:    Unicode standard was updated.
Solution:   Include the changes. (Christian Brabandt)
2018-07-14 19:30:36 +02:00
a43ebe9454 patch 8.1.0181: memory leak with trailing characters in skip expression
Problem:    Memory leak with trailing characters in skip expression.
Solution:   Free the return value.
2018-07-14 17:25:01 +02:00
d6ef5f9b3d patch 8.1.0180: static analysis errors in Lua interface
Problem:    Static analysis errors in Lua interface. (Coverity)
Solution:   Check for NULL pointers.
2018-07-13 22:08:23 +02:00
efc81331e7 patch 8.1.0179: redundant condition for boundary check
Problem:    Redundant condition for boundary check.
Solution:   Remove the condition. (Dominique Pelle). Change FALSE to FAIL.
2018-07-13 16:31:19 +02:00
e76c4b237d patch 8.1.0178: warning for passing pointer to non-pointer argument
Problem:    Warning for passing pointer to non-pointer argument.
Solution:   Use zero instead of NULL.
2018-07-11 22:57:54 +02:00
93343725b5 patch 8.1.0177: defining function in sandbox is inconsistent
Problem:    Defining function in sandbox is inconsistent, cannot use :function
            but can define a lambda.
Solution:   Allow defining a function in the sandbox, but also use the sandbox
            when executing it. (closes #3182)
2018-07-10 19:39:18 +02:00
18085fae74 patch 8.1.0176: overlapping string argument for strcpy()
Problem:    Overlapping string argument for strcpy(). (Coverity)
Solution:   Use STRMOVE() instead of STRCPY(). (Dominique Pelle, closes #3187)
2018-07-10 17:33:45 +02:00
bde14d8e24 patch 8.1.0175: marks test fails in very wide window
Problem:    Marks test fails in very wide window. (Vladimir Lomov)
Solution:   Extend the text to match 'columns'. (closes #3180, closes #3181)
2018-07-10 15:22:32 +02:00
907dad72ef patch 8.1.0174: after paging up and down fold line is wrong
Problem:    After paging up and down fold line is wrong.
Solution:   Correct the computation of w_topline and w_botline. (Hirohito
            Higashi)
2018-07-10 15:07:15 +02:00
6259e5769d patch 8.1.0173: compiler warning on MS-Windows
Problem:    Compiler warning on MS-Windows.
Solution:   Add type cast. (Mike Williams)
2018-07-09 20:39:17 +02:00
c229e54a69 patch 8.1.0172: 'viminfofile' option does not behave like a file name
Problem:    'viminfofile' option does not behave like a file name.
Solution:   Add the P_EXPAND flag. (closes #3178)
2018-07-08 21:46:56 +02:00
875cf87894 patch 8.1.0171: typing CTRL-W n in a terminal window causes ml_get error
Problem:    Typing CTRL-W n in a terminal window causes ml_get error.
Solution:   When resizing the terminal outside of terminal_loop() make sure
            the snapshot is complete.
2018-07-08 20:49:07 +02:00
2338c32b53 patch 8.1.0170: invalid memory use with complicated pattern
Problem:    Invalid memory use with complicated pattern. (Andy Massimino)
Solution:   Reallocate the list of listids when needed. (closes #3175)
            Remove unnecessary function prototypes.
2018-07-08 19:07:19 +02:00
a9defadb8f patch 8.1.0169: calling message_filtered() a bit too often
Problem:    Calling message_filtered() a bit too often.
Solution:   Only call message_filtered() when filtering is already false.
2018-07-08 18:20:24 +02:00
9d5185bf9d patch 8.1.0168: output of :marks is too short with multi-byte chars
Problem:    Output of :marks is too short with multi-byte chars. (Tony
            Mechelynck)
Solution:   Get more bytes from the text line.
2018-07-08 17:57:34 +02:00
c89d4b3530 patch 8.1.0167: lock flag in new dictitem is reset in many places
Problem:    Lock flag in new dictitem is reset in many places.
Solution:   Always reset the lock flag.
2018-07-08 17:19:02 +02:00
e0be167a80 patch 8.1.0166: using dict_add_nr_str() is clumsy
Problem:    Using dict_add_nr_str() is clumsy.
Solution:   Split into two functions. (Ozaki Kiichi, closes #3154)
2018-07-08 16:50:37 +02:00
4cde86c2ef patch 8.1.0165: :clist output can be very long
Problem:    :clist output can be very long.
Solution:   Support filtering :clist entries. (Yegappan Lakshmanan)
2018-07-08 16:01:08 +02:00
fd35811ca5 Update runtime files, add Danish translations. 2018-07-07 23:21:31 +02:00
fe08df452a patch 8.1.0164: luaeval('vim.buffer().name') returns an error
Problem:    luaeval('vim.buffer().name') returns an error.
Solution:   Return an empty string. (Dominique Pelle, closes #3167)
2018-07-07 23:07:41 +02:00
2549acf794 patch 8.1.0163: insufficient testing for Tcl
Problem:    Insufficient testing for Tcl.
Solution:   Add a few more tests. (Dominique Pelle, closes #3166)
2018-07-07 22:42:01 +02:00
08505312fe patch 8.1.0162: Danish and German man pages are not installed
Problem:    Danish and German man pages are not installed. (Tony Mechelynck)
Solution:   Adjust the makefile
2018-07-07 22:26:54 +02:00
386bc82a3f patch 8.1.0161: buffer not updated with 'autoread' set if file was deleted
Problem:    Buffer not updated with 'autoread' set if file was deleted.
            (Michael Naumann)
Solution:   Don't set the timestamp to zero. (closes #3165)
2018-07-07 18:34:12 +02:00
cbbe4ab4b2 patch 8.1.0160: no Danish manual translations
Problem:    No Danish manual translations.
Solution:   Add the Danish manual translations to the file list.
2018-07-07 17:21:55 +02:00
6c5d104302 patch 8.1.0159: completion for user names does not work for a prefix.
Problem:    Completion for user names does not work if a prefix is also a full
            matching name. (Nazri Ramliy)
Solution:   Accept both full and partial matches. (Dominique Pelle)
2018-07-07 16:41:13 +02:00
1ebff3dc93 patch 8.1.0158: GUI: input() fails if CTRL-C was pressed before
Problem:    GUI: input() fails if CTRL-C was pressed before. (Michael Naumann)
Solution:   call vpeekc() to drop the CTRL-C from the input stream.
2018-07-07 16:18:13 +02:00
e330ef42f2 patch 8.1.0157: old iTerm2 is not recognized, resulting in stray output
Problem:    Old iTerm2 is not recognized, resulting in stray output.
Solution:   Recognize the termresponse.
2018-07-06 23:11:40 +02:00
5d2f40792e patch 8.1.0156: MS-Windows compiler warning
Problem:    MS-Windows compiler warning.
Solution:   Add a type cast. (Mike Williams)
2018-07-06 22:52:02 +02:00
ae728edc93 patch 8.1.0155: evim.man missing from the distribution
Problem:    Evim.man missing from the distribution.
Solution:   Add it to the list.
2018-07-05 22:58:17 +02:00
c9fe5ab3b0 patch 8.1.0154: crash with "set smarttab shiftwidth=0 softtabstop=-1"
Problem:    Crash with "set smarttab shiftwidth=0 softtabstop=-1".
Solution:   Fall back to using 'tabstop'. (closes #3155)
2018-07-05 22:27:08 +02:00
e85ce6ea2e patch 8.1.0153: build with SHADOWDIR fails
Problem:    Build with SHADOWDIR fails. (Elimar Riesebieter)
Solution:   Create a link for Make_all.mak. (Tony Mechelynck)
2018-07-05 17:11:24 +02:00
f3dc235576 patch 8.1.0152: cannot easily run individual tests on MS-Windows
Problem:    Cannot easily run individual tests on MS-Windows.
Solution:   Move the list of tests to a separate file.  Add a build rule in
            the MSVC makefile.
2018-07-04 23:05:34 +02:00
81e2ac7bb6 patch 8.1.0151: mksession test fails on MS-Windows
Problem:    Mksession test fails on MS-Windows.
Solution:   Always use an argument for :lcd.
2018-07-04 22:44:08 +02:00
fd34cebe9a patch 8.1.0150: insufficient test coverage for Tcl
Problem:    Insufficient test coverage for Tcl.
Solution:   Add more tests. (Dominique Pelle, closes #3140)
2018-07-04 22:36:46 +02:00
26d4b896a7 patch 8.1.0149: session is wrong with multiple tabs when :lcd was used
Problem:    The generated sessions file does not restore tabs properly if :lcd
            was used in one of them.
Solution:   Create the tab pages before setting the directory. (Yee Cheng
            Chin, closes #3152)
2018-07-04 22:26:28 +02:00
92959fa46d patch 8.1.0148: memory leak when using :tcl expr command
Problem:    Memory leak when using :tcl expr command.
Solution:   Free the result of expression evaluation. (Dominique Pelle,
            closes #3150)
2018-07-04 22:12:25 +02:00
3b48b11c07 patch 8.1.0147: compiler warning when building with Python 3.7
Problem:    Compiler warning when building with Python 3.7.
Solution:   #undef PySlice_GetIndicesEx before redefining it. (Ozaki Kiichi,
            closes #3153)
2018-07-04 22:03:25 +02:00
f0447e89a5 patch 8.1.0146: when $LANG is set the compiler test may fail
Problem:    When $LANG is set the compiler test may fail.
Solution:   Unset $LANG.
2018-07-03 21:26:38 +02:00
851332ea9c patch 8.1.0145: test with grep is failing on MS-Windows
Problem:    Test with grep is failing on MS-Windows.
Solution:   Skip the test.
2018-07-03 19:16:00 +02:00
b2e0c94a4d patch 8.1.0144: the :cd command does not have good test coverage
Problem:    The :cd command does not have good test coverage.
Solution:   Add more tests. (Dominique Pelle, closes #2972)
2018-07-03 18:36:27 +02:00
3d1d6475f9 patch 8.1.0143: matchit and matchparen don't handle E363
Problem:    Matchit and matchparen don't handle E363.
Solution:   Catch the E363 error. (Christian Brabandt)
2018-07-03 18:18:23 +02:00
e6882bdc44 patch 8.1.0142: xterm and vt320 builtin termcap missing keypad keys
Problem:    Xterm and vt320 builtin termcap missing keypad keys.
Solution:   Add the escape sequences. (Kouichi Iwamoto, closes #2973)
2018-07-03 17:16:59 +02:00
531b9a3a63 patch 8.1.0141: :cexpr no longer jumps to the first error
Problem:    :cexpr no longer jumps to the first error.
Solution:   Use the quickfix list identifier. (Yegappan Lakshmanan,
            closes #3092)
2018-07-03 16:54:23 +02:00
6dc819b129 Updated runtime and language files. 2018-07-03 16:42:19 +02:00
972bfddc6b patch 8.1.0140: recording into a register has focus events
Problem:    Recording into a register has focus events. (Michael Naumann)
Solution:   Don't record K_FOCUSGAINED and K_FOCUSLOST. (closes #3143)
2018-07-03 14:48:15 +02:00
a8a60d0c6b patch 8.1.0139: Lua tests fail on some platforms
Problem:    Lua tests fail on some platforms.
Solution:   Accept a hex number with and without "0x". (Ken Takata,
            closes #3137)
2018-07-02 22:54:36 +02:00
33d5ab3795 patch 8.1.0138: negative value of 'softtabstop' not used correctly
Problem:    Negative value of 'softtabstop' not used correctly.
Solution:   Use get_sts_value(). (Tom Ryder)
2018-07-02 20:51:24 +02:00
ade5578797 patch 8.1.0137: CI does not run with TCL
Problem:    CI does not run with TCL.
Solution:   Add TCL to the travis config. (Dominique Pelle, closes #3133)
2018-07-01 21:12:55 +02:00
2f362bf7f9 patch 8.1.0136: Lua tests don't cover new features
Problem:    Lua tests don't cover new features.
Solution:   Add more tests. (Dominique Pelle, closes #3130)
2018-07-01 19:49:27 +02:00
e0429681ae patch 8.1.0135: undo message delays screen update for CTRL-O u
Problem:    Undo message delays screen update for CTRL-O u.
Solution:   Add smsg_attr_keep(). (closes #3125)
2018-07-01 16:44:03 +02:00
ca06da9243 patch 8.1.0134: Lua interface does not support funcref
Problem:    Lua interface does not support funcref.
Solution:   Add funcref support. (Luis Carvalho)
2018-07-01 15:12:05 +02:00
ffd112edc6 Fix missing patch number. 2018-07-01 14:22:31 +02:00
46577b5e54 patch 8.1.0133: tagfiles() can have duplicate entries
Problem:    tagfiles() can have duplicate entries.
Solution:   Simplify the filename to make checking for duplicates work better.
            Add a test. (Dominique Pelle, closes #2979)
2018-06-30 22:40:42 +02:00
4ff4814b38 patch 8.1.0132: lua tests are old style
Problem:    Lua tests are old style.
Solution:   Convert to new style tests.  Improve coverage. (Dominique Pelle,
            closes #3091)
2018-06-30 21:50:25 +02:00
1fbfe7c48c patch 8.1.0131: :profdel is not tested
Problem:    :profdel is not tested.
Solution:   Add a test. (Dominique Pelle, closes #3123)
2018-06-30 21:18:13 +02:00
ad64809610 patch 8.1.0130: ":profdel func" does not work if func was called already
Problem:    ":profdel func" does not work if func was called already.
            (Dominique Pelle)
Solution:   Reset uf_profiling and add a flag to indicate initialization was
            done.
2018-06-30 18:28:03 +02:00
668324ef4f patch 8.1.0129: still some xterm-like terminals get a stray "p"
Problem:    Still some xterm-like terminals get a stray "p" on startup.
Solution:   Consider all terminals that reply with a version smaller than 95
            as not an xterm. (James McCoy)
2018-06-30 17:09:26 +02:00
304925e750 patch 8.1.0128: building with MinGW does not work out-of-the-box
Problem:    Building with MinGW does not work out-of-the-box.
Solution:   Add instructions for MSYS2.  Set default WINVER.  Add batch files
            to set $PATH for MSYS2.
2018-06-30 16:27:02 +02:00
7c365fb190 patch 8.1.0127: build failure when disabling the session feature
Problem:    Build failure when disabling the session feature. (Pawel Slowik)
Solution:   Adjust #ifdef for vim_chdirfile().
2018-06-29 20:28:31 +02:00
307ac5c68e patch 8.1.0126: various problems with 'vartabstop'
Problem:    Various problems with 'vartabstop'.
Solution:   Fix memory leak.  Fix crash. Add a few more tests. (Christian
            Brabandt, closes #3076)
2018-06-28 22:23:00 +02:00
630afe889a patch 8.1.0125: virtual edit replace with multi-byte fails at end of line
Problem:    Virtual edit replace with multi-byte fails at end of line. (Lukas
            Werling)
Solution:   use ins_char() to add the character. (Christian Brabandt,
            closes #3114)  Rename PCHAR() to PBYTE() to avoid mistakes like
            this.
2018-06-28 19:26:28 +02:00
d8b37a53bd patch 8.1.0124: has('vcon') returns true even for non-win32 terminal
Problem:    has('vcon') returns true even for non-win32 terminal.
Solution:   Check the terminal type. (Nobuhiro Takasaki, closes #3106)
2018-06-28 15:50:28 +02:00
b0eb14f939 patch 8.1.0123: MS-Windows: colors are wrong after setting 'notgc'
Problem:    MS-Windows: colors are wrong after setting 'notgc'.
Solution:   Only call control_console_color_rgb() for the win32 terminal.
            (Nobuhiro Takasaki, closes #3107)
2018-06-28 15:29:52 +02:00
0c18319872 patch 8.1.0122: translators don't always understand the maintainer message
Problem:    Translators don't always understand the maintainer message.
Solution:   Add a comment that ends up in the generated po file. (Christian
            Brabandt, closes #3037)
2018-06-28 14:54:43 +02:00
ca4b613c69 patch 8.1.0121: crash when using ballooneval related to 'vartabstop'
Problem:    Crash when using ballooneval related to 'vartabstop'.
Solution:   Initialize balloonEval->vts to NULL. (Markus Braun)
2018-06-28 12:05:11 +02:00
dc9e955fb0 patch 8.1.0120: buffer 'modified' set even when :sort has no changes
Problem:    Buffer 'modified' set even when :sort has no changes.
Solution:   Only set 'modified' when lines are moved. (Jason Franklin)
2018-06-28 11:28:08 +02:00
ec12d64909 patch 8.1.0119: failing test goes unnoticed because messages is not written
Problem:    Failing test goes unnoticed because testdir/messages is not
            written.
Solution:   Set 'nomodifiable' only local to the buffer.
2018-06-27 23:12:36 +02:00
f52f9ea8f5 patch 8.1.0118: duplicate error message for put command
Problem:    Duplicate error message for put command.
Solution:   Check return value of u_save(). (Jason Franklin)
2018-06-27 20:49:44 +02:00
bd87eb38c5 patch 8.1.0117: URL in install program still points to SourceForge
Problem:    URL in install program still points to SourceForge.
Solution:   Change it to www.vim.org. (closes #3100)
2018-06-26 23:18:45 +02:00
a87b72cc31 patch 8.1.0116: display problem with 'vartabstop' and 'linebreak'
Problem:    Display problem with 'vartabstop' and 'linebreak'. (Chauca
            Fuentes)
Solution:   Call tabstop_padding(). (Christian Brabandt, closes #3076)
2018-06-25 21:24:51 +02:00
b7a5ab112a patch 8.1.0115: the matchparen plugin may throw an error
Problem:    The matchparen plugin may throw an error.
Solution:   Change the skip argument from zero to "0".
2018-06-25 00:05:59 +02:00
0119a59ffd patch 8.1.0114: confusing variable name
Problem:    Confusing variable name.
Solution:   Rename new_ts to new_vts_array.  Change zero to NULL.
2018-06-24 23:53:28 +02:00
675e8d6adb Update runtime files. 2018-06-24 20:42:01 +02:00
829adb7460 patch 8.1.0113: compiler warning for unused variable
Problem:    Compiler warning for unused variable. (Yegappan Lakshmanan)
Solution:   Add UNUSED. (Christian Brabandt)
2018-06-24 19:24:03 +02:00
3dddb09c98 patch 8.1.0112: no error when using bad arguments with searchpair()
Problem:    No error when using bad arguments with searchpair().
Solution:   Add error messages.
2018-06-24 19:01:59 +02:00
d1d037e901 patch 8.1.0111: .po files do not use recommended names
Problem:    .po files do not use recommended names.
Solution:   Give a warning if the recommended name is not used.  Accept the
            recommended name for conversion. (Christian Brabandt, Ken Takata)
2018-06-24 18:04:50 +02:00
fc0896093c patch 8.1.0110: file name not displayed with ":file"
Problem:    File name not displayed with ":file" when 'F' is in 'shortmess'.
Solution:   Always display the file name when there is no argument (Christian
            Brabandt, closes #3070)
2018-06-24 16:53:35 +02:00
7cb6eecd32 patch 8.1.0109: new po makefile missing from distribution
Problem:    New po makefile missing from distribution.
Solution:   Add it to the file list.
2018-06-24 15:56:24 +02:00
a4a2934e59 patch 8.1.0108: no Danish translations
Problem:    No Danish translations.
Solution:   Add Danish message translations. (closes #3073)  Move list of
            languages to a common makefile.
2018-06-24 15:52:56 +02:00
defe6424ae patch 8.1.0107: Python: getting buffer option clears message
Problem:    Python: getting buffer option clears message. (Jacob Niehus)
Solution:   Don't use aucmd_prepbuf(). (closes #3079)
2018-06-24 15:14:07 +02:00
eee3e94669 patch 8.1.0106: build fails when HAVE_DATE_TIME is undefined
Problem:    Build fails when HAVE_DATE_TIME is undefined.
Solution:   Always define init_longVersion(). (Christian Brabandt,
            closes #3075)
2018-06-24 14:44:46 +02:00
04958cbaf2 patch 8.1.0105: all tab stops are the same
Problem:    All tab stops are the same.
Solution:   Add the variable tabstop feature. (Christian Brabandt,
            closes #2711)
2018-06-23 19:23:02 +02:00
5ec7414a1c patch 8.1.0104: can't build without the +eval feature
Problem:    Can't build without the +eval feature.
Solution:   Add #ifdef.
2018-06-23 17:14:41 +02:00
35fb6fbf72 patch 8.1.0103: long version string cannot be translated
Problem:    Long version string cannot be translated.
Solution:   Build the string in init_longVersion().
2018-06-23 16:12:21 +02:00
1f8c469fe2 patch 8.1.0102: cannot build without syntax highlighting
Problem:    Cannot build without syntax highlighting.
Solution:   Add #ifdef around using reg_do_extmatch.
2018-06-23 15:09:10 +02:00
81612b7a7d patch 8.1.0101: no test for getcmdwintype()
Problem:    No test for getcmdwintype().
Solution:   Add a test. (Dominique Pelle, closes #3068)
2018-06-23 14:55:03 +02:00
6dccc962f3 patch 8.1.0100: terminal debugger: error when setting a watch point
Problem:    Terminal debugger: error when setting a watch point.
Solution:   Don't try defining a sign for a watch point.
2018-06-23 14:36:17 +02:00
3c867daaf0 patch 8.1.0099: exclamation mark in error message not needed
Problem:    Exclamation mark in error message not needed.
Solution:   Remove the exclamation mark.
2018-06-23 14:34:28 +02:00
bcf9442307 patch 8.1.0098: segfault when pattern with \z() is very slow
Problem:    Segfault when pattern with \z() is very slow.
Solution:   Check for NULL regprog.  Add "nfa_fail" to test_override() to be
            able to test this.  Fix that 'searchhl' resets called_emsg.
2018-06-23 14:21:42 +02:00
5efa0102de patch 8.1.0097: superfluous space before exclamation mark
Problem:    Superfluous space before exclamation mark.
Solution:   Remove the space.  Don't translate debug message.
2018-06-22 21:42:30 +02:00
8c55533c6f patch 8.1.0096: inconsistent use of the word autocommands
Problem:    Inconsistent use of the word autocommands.
Solution:   Don't use auto-commands or "auto commands".
2018-06-22 21:30:31 +02:00
39902a06d9 patch 8.1.0095: dialog for ":browse tabnew" says "new window"
Problem:    Dialog for ":browse tabnew" says "new window".
Solution:   Use "new tab page". (closes #3053)
2018-06-21 22:10:08 +02:00
32aaf5ae07 patch 8.1.0094: help text "usage:" is not capatalized
Problem:    Help text "usage:" is not capatalized.
Solution:   Make it "Usage:". (closes #3044)
2018-06-21 21:38:33 +02:00
2ed890f1f8 patch 8.1.0093: non-MS-Windows: Cannot interrupt gdb when program is running
Problem:    non-MS-Windows: Cannot interrupt gdb when program is running.
Solution:   Only use debugbreak() on MS-Windows.
2018-06-21 20:31:14 +02:00
71ef1ba5e9 patch 8.1.0092: prompt buffer test fails
Problem:    Prompt buffer test fails.
Solution:   Set 'nomodified' before closing the window. (Ozaki Kiichi,
            closes #3051
2018-06-21 12:07:04 +02:00
4551c0a9fc patch 8.1.0091: MS-Windows: Cannot interrupt gdb when program is running
Problem:    MS-Windows: Cannot interrupt gdb when program is running.
Solution:   Add debugbreak() and use it in the terminal debugger.
            Respect 'modified' in a prompt buffer.
2018-06-20 22:38:21 +02:00
9b0c5c23bd patch 8.1.0090: "..." used inconsistently in a message
Problem:    "..." used inconsistently in a message.
Solution:   Define the message with " ..." once. (hint by Ken Takata)
2018-06-20 20:37:36 +02:00
a15b0a936d patch 8.1.0089: error when ending the terminal debugger
Problem:    error when ending the terminal debugger
Solution:   Fix deleting defined signs for breakpoints.  Make the debugger
            work better on MS-Windows.
2018-06-19 22:34:46 +02:00
5319191a2a patch 8.1.0088: terminal test for stdout and stderr is a bit flaky
Problem:    Terminal test for stdout and stderr is a bit flaky.
Solution:   Wait for both stdout and stderr to have been processed. (Ozaki
            Kiichi, closes #2991)
2018-06-19 20:08:14 +02:00
f9c3883b11 patch 8.1.0087: v:shell_error is always zero when using terminal for "!cmd"
Problem:    v:shell_error is always zero when using terminal for "!cmd".
Solution:   Use "exitval" of terminal-job. (Ozaki Kiichi, closes #2994)
2018-06-19 19:59:20 +02:00
1ceebb4efc patch 8.1.0086: no tests for libcall() and libcallnr()
Problem:    No tests for libcall() and libcallnr().
Solution:   Add tests. (Dominique Pelle, closes #2982)
2018-06-19 19:46:06 +02:00
5f8f2d378a patch 8.1.0085: no test for completing user name and language
Problem:    No test for completing user name and language.
Solution:   Add tests. (Dominique Pelle, closes #2978)
2018-06-19 19:09:09 +02:00
828c3d7083 patch 8.1.0084: user name completion does not work on MS-Windows
Problem:    User name completion does not work on MS-Windows.
Solution:   Use NetUserEnum() to get user names. (Yasuhiro Matsumoto)
2018-06-19 18:58:07 +02:00
8516071124 patch 8.1.0083: "is" and "as" have trouble with quoted punctuation
Problem:    "is" and "as" have trouble with quoted punctuation.
Solution:   Check for punctuation before a quote. (Jason Franklin)
2018-06-19 18:27:41 +02:00
1d4754f96f patch 8.1.0082: in terminal window, typing : at more prompt, inserts ':'
Problem:    In terminal window, typing : at more prompt, inserts ':' instead
            of starting another Ex command.
Solution:   Add skip_term_loop and set it when putting ':' in the typeahead
            buffer.
2018-06-19 17:49:24 +02:00
f07f9e731e patch 8.1.0081: the terminal debugger doesn't adjust to changed 'background'
Problem:    The terminal debugger doesn't adjust to changed 'background'.
Solution:   Add an OptionSet autocommand. (Christian Brabandt)
2018-06-19 17:27:53 +02:00
de1a83147a patch 8.1.0080: can't see the breakpoint number in the terminal debugger
Problem:    Can't see the breakpoint number in the terminal debugger.
Solution:   Use the breakpoint number for the sign. (Christian Brabandt)
2018-06-19 16:59:54 +02:00
8df6e5d467 patch 8.1.0079: superfluous space in messages
Problem:    Superfluous space in messages.
Solution:   Remove the spaces. (closes #3030)
2018-06-19 14:45:37 +02:00
d2f3a8b878 Update runtime files. 2018-06-19 14:35:59 +02:00
c166927a32 patch 8.1.0078: "..." used inconsistently in messages
Problem:    "..." used inconsistently in messages.
Solution:   Drop the space before " ...".
2018-06-19 14:23:53 +02:00
5c3670718b patch 8.1.0077: header of README file is not nice
Problem:    Header of README file is not nice.
Solution:   Move text to the bottom.
2018-06-18 22:31:11 +02:00
0ce7413a83 patch 8.1.0076: command getting cleared with CTRL-W : in a terminal window
Problem:    Command getting cleared with CTRL-W : in a terminal window. (Jason
            Franklin)
Solution:   Call redraw_after_callback() when editing the command line.
2018-06-18 22:15:50 +02:00
252b7ee823 patch 8.1.0075: no Vim logo in README file
Problem:    No Vim logo in README file.
Solution:   Add one. (Árni Dagur, closes #3024)
2018-06-18 22:00:22 +02:00
d6b01a2d38 patch 8.1.0074: crash when running quickfix tests
Problem:    Crash when running quickfix tests.
Solution:   Do not alloc a new location list when checking for the reference
            to be still valid.
2018-06-18 21:53:28 +02:00
0366c0161e patch 8.1.0073: crash when autocommands call setloclist()
Problem:    Crash when autocommands call setloclist(). (Dominique Pelle)
Solution:   If the quickfix list changes then don't jump to the error.
2018-06-18 20:52:13 +02:00
dcdeaaf150 patch 8.1.0072: use of 'termwinkey' is inconsistent
Problem:    Use of 'termwinkey' is inconsistent.
Solution:   Change the documentation and the behavior. (Ken Takata)
2018-06-17 22:19:12 +02:00
b3307b5e7e patch 8.1.0071: terminal debugger only works with the terminal feature
Problem:    Terminal debugger only works with the terminal feature.
Solution:   Make it also work with a prompt buffer.  Makes it possible to use
            on MS-Windows. Various other improvements. (closes #3012)
2018-06-17 21:34:11 +02:00
222cd20e26 patch 8.1.0070: missing part of the changes for prompt_setinterrupt()
Problem:    Missing part of the changes for prompt_setinterrupt().
Solution:   Add the missing changes.
2018-06-17 20:10:39 +02:00
0e5979a6d4 patch 8.1.0069: cannot handle pressing CTRL-C in a prompt buffer
Problem:    Cannot handle pressing CTRL-C in a prompt buffer.
Solution:   Add prompt_setinterrupt().
2018-06-17 19:36:33 +02:00
2f82ca7d79 patch 8.1.0068: nasty autocommands can still cause using freed memory
Problem:    Nasty autocommands can still cause using freed memory.
Solution:   Disallow using setloclist() and setqflist() recursively.
2018-06-17 19:22:52 +02:00
a5616b0136 patch 8.1.0067: syntax highlighting not working when re-entering a buffer
Problem:    Syntax highlighting not working when re-entering a buffer.
Solution:   Do force executing autocommands when not called recursively.
2018-06-17 19:08:30 +02:00
c3ffc9b8d3 patch 8.1.0066: nasty autocommand causes using freed memory
Problem:    Nasty autocommand causes using freed memory. (Dominique Pelle)
Solution:   Do not force executing autocommands if the value of 'syntax' or
            'filetype' did not change.
2018-06-17 17:32:58 +02:00
0e6e179f55 patch 8.1.0065: balloon displayed at the wrong position
Problem:    Balloon displayed at the wrong position.
Solution:   Do not reposition the popup menu at the cursor position.
2018-06-17 17:10:59 +02:00
942b4541a2 patch 8.1.0064: typing CTRL-W in a prompt buffer shows mode "-- --"
Problem:    Typing CTRL-W in a prompt buffer shows mode "-- --".
Solution:   Set restart_edit to 'A' and check for it.
2018-06-17 16:23:34 +02:00
d595a1910c patch 8.1.0063: Mac: NSStringPboardType is deprecated
Problem:    Mac: NSStringPboardType is deprecated.
Solution:   Use NSPasteboardTypeString. (Akshay Hegde, closes #3022)
2018-06-17 15:01:04 +02:00
491ac28d5f patch 8.1.0062: popup menu broken if a callback changes the window layout
Problem:    Popup menu broken if a callback changes the window layout. (Qiming
            Zhao)
Solution:   Recompute the popup menu position if needed.  Redraw the ruler
            even when the popup menu is displayed.
2018-06-17 14:47:55 +02:00
84a9308511 patch 8.1.0061: window title is wrong after resetting and setting 'title'
Problem:    Window title is wrong after resetting and setting 'title'.
Solution:   Move resetting the title into maketitle(). (Jason Franklin)
2018-06-16 22:58:15 +02:00
600323b4ef patch 8.1.0060: crash when autocommands delete the current buffer
Problem:    Crash when autocommands delete the current buffer. (Dominique
            Pelle)
Solution:   Check that autocommands don't change the buffer.
2018-06-16 22:16:47 +02:00
bc5020aa4d patch 8.1.0059: displayed digraph for "ga" wrong with 'encoding' "cp1251"
Problem:    Displayed digraph for "ga" wrong with 'encoding' "cp1251".
Solution:   Convert from 'encoding' to "utf-8" if needed. (closes #3015)
2018-06-16 17:25:22 +02:00
bfa4246768 patch 8.1.0058: display problem with margins and scrolling
Problem:    Display problem with margins and scrolling.
Solution:   Place the cursor in the right column. (Kouichi Iwamoto,
            closes #3016)
2018-06-16 16:20:52 +02:00
6ba3ec1bac patch 8.1.0057: popup menu displayed wrong when using autocmd
Problem:    Popup menu displayed wrong when using autocmd.
Solution:   Use aucmd_prepbuf().  Force updating status line if the popup menu
            is going to be redrawn anyway. (Christian Brabandt, closes #3009)
2018-06-16 15:32:38 +02:00
43dee181f5 patch 8.1.0056: crash when using :hardcopy with illegal byte
Problem:    Crash when using :hardcopy with illegal byte.
Solution:   Check for string_convert() returning NULL. (Dominique Pelle)
2018-06-16 14:44:11 +02:00
52d3aaeea4 patch 8.1.0055: complete test has wrong order of arguments
Problem:    Complete test has wrong order of arguments. Wrong type for
            sentinel variable.
Solution:   Swap arguments, use VAR_UNKNOWN. (Ozaki Kiichi)
2018-06-13 21:27:24 +02:00
5ecdf96422 patch 8.1.0054: compiler warning for using %ld for "long long"
Problem:    Compiler warning for using %ld for "long long".
Solution:   Add a type cast. (closes #3002)
2018-06-13 20:49:50 +02:00
ffa9684150 patch 8.1.0053: first argument of 'completefunc' has inconsistent type
Problem:    The first argument given to 'completefunc' can be Number or
            String, depending on the value.
Solution:   Avoid guessing the type of an argument, use typval_T in the
            callers of call_vim_function(). (Ozaki Kiichi, closes #2993)
2018-06-12 22:05:14 +02:00
83f4cbd973 patch 8.1.0052: when mapping to <Nop> times out the next mapping is skipped
Problem:    When a mapping to <Nop> times out the next mapping is skipped.
Solution:   Reset "timedout" when waiting for a character. (Christian
            Brabandt, closes #2921)
2018-06-12 21:35:40 +02:00
79c6b51e40 patch 8.1.0051: MS-Windows: missing #endif
Problem:    MS-Windows: missing #endif.
Solution:   Add the #endif.
2018-06-12 21:11:12 +02:00
493359eb3b patch 8.1.0050: $VIM_TERMINAL is also set when not in a terminal window
Problem:    $VIM_TERMINAL is also set when not in a terminal window.
Solution:   Pass a flag to indicate whether the job runs in a terminal.
2018-06-12 20:25:52 +02:00
d7a137fb0d patch 8.1.0049: shell cannot tell running in a terminal window
Problem:    Shell cannot tell running in a terminal window.
Solution:   Add the VIM_TERMINAL environment variable. (Christian Brabandt)
2018-06-12 18:05:24 +02:00
07ccf7ce7f patch 8.1.0048: vim_str2nr() does not handle numbers close to the maximum
Problem:    vim_str2nr() does not handle numbers close to the maximum.
Solution:   Check for overflow more precisely. (Ken Takata, closes #2746)
2018-06-12 17:25:36 +02:00
1983401088 patch 8.1.0047: no completion for :unlet $VAR
Problem:    No completion for :unlet $VAR.
Solution:   Add completion. (Jason Franklin)
2018-06-12 17:03:39 +02:00
1c3c10492a patch 8.1.0046: loading a session file fails if 'winheight' is big
Problem:    Loading a session file fails if 'winheight' is a big number.
Solution:   Set 'minwinheight' to zero at first.  Don't give an error when
            setting 'minwinheight' while 'winheight' is a big number.
            Fix using vertical splits. Fix setting 'minwinwidth'.
            (closes #2970)
2018-06-12 16:49:30 +02:00
ae0f30b761 patch 8.1.0045: popup test isn't run completely
Problem:    Popup test isn't run completely.
Solution:   Remove "finish".  Clean up function definitions.
2018-06-12 15:22:43 +02:00
8903676d3d patch 8.1.0044: if a test function exists Vim this may go unnoticed
Problem:    If a test function exists Vim this may go unnoticed.
Solution:   Check for a test funtion quitting Vim.  Fix tests that did exit
            Vim.
2018-06-12 14:58:39 +02:00
7580849df9 patch 8.1.0043: ++bad argument of :edit does not work properly
Problem:    ++bad argument of :edit does not work properly.
Solution:   Return FAIL from get_bad_opt() only when there is no valid
            argument. (Dominique Pelle, Christian Brabandt, closes #2966,
            closes #2947)
2018-06-12 12:39:41 +02:00
f98b845dd1 patch 8.1.0042: if omni completion opens a window Insert mode is stopped
Problem:    If omni completion opens a window Insert mode is stopped.
            (Hirohito Higashi)
Solution:   Only set stop_insert_mode in a prompt buffer window.
2018-06-10 14:39:52 +02:00
e950f9992b patch 8.1.0041: attribute "width" missing from python window attribute list
Problem:    Attribute "width" missing from python window attribute list.
Solution:   Add the item. (Ken Takata) Order the list like the items are used
            in the WindowAttr() function.
2018-06-10 13:55:55 +02:00
e31e256ba1 patch 8.1.0040: warnings from 64-bit compiler
Problem:    Warnings from 64-bit compiler.
Solution:   Add type casts. (Mike Williams)
2018-06-10 13:12:55 +02:00
d79a26219d patch 8.1.0039: cannot easily delete lines in another buffer
Problem:    Cannot easily delete lines in another buffer.
Solution:   Add deletebufline().
2018-06-07 18:17:46 +02:00
680c99b2ef patch 8.1.0038: popup test causes Vim to exit
Problem:    Popup test causes Vim to exit.
Solution:   Disable the broken part of the test for now.
2018-06-07 15:18:41 +02:00
ca851593a6 patch 8.1.0037: cannot easily append lines to another buffer
Problem:    Cannot easily append lines to another buffer.
Solution:   Add appendbufline().
2018-06-06 21:04:07 +02:00
891e1fd894 patch 8.1.0036: not restoring Insert mode if leaving prompt buffer with mouse
Problem:    Not restoring Insert mode if leaving a prompt buffer by using a
            mouse click.
Solution:   Set b_prompt_insert appropriately. Also correct cursor position
            when moving cursor to last line.
2018-06-06 18:02:39 +02:00
6d41c78e35 patch 8.1.0035: not easy to switch between prompt buffer and other windows
Problem:    Not easy to switch between prompt buffer and other windows.
Solution:   Accept CTRL-W commands in Insert mode.  Start and stop Insert mode
            as one would expect.
2018-06-06 09:11:12 +02:00
adb8fbec4f patch 8.1.0034: cursor not restored with ":edit #"
Problem:    Cursor not restored with ":edit #".
Solution:   Don't assume autocommands moved the cursor when it was moved to
            the first non-blank.
2018-06-04 20:34:23 +02:00
acb9effecc patch 8.1.0033: keys to stop Vim in terminal are wrong
Problem:    Keys to stop Vim in terminal are wrong. (Marius Gedminas)
Solution:   Move ":" to before CTRL-U.
2018-06-04 19:11:11 +02:00
6b810d92a9 patch 8.1.0032: BS in prompt buffer starts new line
Problem:    BS in prompt buffer starts new line.
Solution:   Do not allows BS over the prompt.  Make term_sendkeys() handle
            special keys. Add a test.
2018-06-04 17:28:44 +02:00
c8523e2e6c patch 8.1.0031: terminal test aucmd_on_close if flaky
Problem:    Terminal test aucmd_on_close if flaky.
Solution:   Wait a bit longer.
2018-06-03 18:22:02 +02:00
3339d3dad9 patch 8.1.0030: stoping Vim running in a terminal may not work
Problem:    Stoping Vim running in a terminal may not work.
Solution:   Instead of sending <Esc> send CTRL-O.
2018-06-03 17:10:40 +02:00
1580f755c9 patch 8.1.0029: terminal test fails on MS-Windows when "wc" exists
Problem:    Terminal test fails on MS-Windows when "wc" exists.
Solution:   Skip test with redirection on MS-Windows.
2018-06-03 15:26:36 +02:00
1149382d21 patch 8.1.0028: prompt buffer test fails on MS-Windows
Problem:    Prompt buffer test fails on MS-Windows.
Solution:   Disable the test for now. Remove stray assert.
2018-06-03 15:08:09 +02:00
f273245f64 patch 8.1.0027: difficult to make a plugin that feeds a line to a job
Problem:    Difficult to make a plugin that feeds a line to a job.
Solution:   Add the nitial code for the "prompt" buftype.
2018-06-03 14:47:35 +02:00
33c5e9fa7a patch 8.1.0026: terminal test fails with very tall terminal
Problem:    Terminal test fails with very tall terminal. (Tom)
Solution:   Fix the terminal window size in the test.
2018-05-26 18:58:51 +02:00
e5fa11186f patch 8.1.0025: no test for the undofile() function
Problem:    No test for the undofile() function.
Solution:   Add test. (Dominique Pelle, closes #2958)
2018-05-26 18:46:30 +02:00
6b69e5c646 patch 8.1.0024: % command not testded on #ifdef and comment
Problem:    % command not testded on #ifdef and comment.
Solution:   Add tests. (Dominique Pelle, closes #2956)
2018-05-26 18:39:32 +02:00
22c105640c patch 8.1.0023: gcc 8.1 warns for use of strncpy()
Problem:    gcc 8.1 warns for use of strncpy(). (John Marriott)
Solution:   Use mch_memmove() instead of STRNCPY().
2018-05-26 17:35:27 +02:00
833093bfb0 patch 8.1.0022: repeating put from expression register fails
Problem:    Repeating put from expression register fails.
Solution:   Re-evaluate the expression register. (Andy Massimino,
            closes #2945)
2018-05-23 21:53:52 +02:00
d315cf551f patch 8.1.0021: clang warns for undefined behavior
Problem:    Clang warns for undefined behavior.
Solution:   Move #ifdef outside of sprintf() call.(suggestion by Michael
            Jarvis, closes #2956)
2018-05-23 20:30:56 +02:00
0b0f0992d4 Update runtime files. 2018-05-22 21:41:30 +02:00
0b6d911e5d patch 8.1.0020: cannot tell whether a register is executing or recording
Problem:    Cannot tell whether a register is being used for executing or
            recording.
Solution:   Add reg_executing() and reg_recording(). (Hirohito Higashi,
            closes #2745)  Rename the global variables for consistency.  Store
            the register name in reg_executing.
2018-05-22 20:35:17 +02:00
b4518563c7 patch 8.1.0019: error when defining a Lambda with index of a function result
Problem:    Error when defining a Lambda with index of a function result.
Solution:   When not evaluating an expression and skipping a function call,
            set the return value to VAR_UNKNOWN.
2018-05-22 18:31:35 +02:00
bdb657924d patch 8.1.0018: using "gn" may select wrong text when wrapping
Problem:    Using "gn" may select wrong text when wrapping.
Solution:   Avoid wrapping when searching forward. (Christian Brabandt)
2018-05-22 17:50:42 +02:00
62fe66f251 patch 8.1.0017: shell command completion has duplicates
Problem:    Shell command completion has duplicates. (Yegappan Lakshmanan)
Solution:   Use a hash table to avoid duplicates. (Ozaki Kiichi, closes #539,
            closes #2733)
2018-05-22 16:58:47 +02:00
d45aa55d42 patch 8.1.0016: possible crash in term_wait()
Problem:    Possible crash in term_wait(). (Dominique Pelle)
Solution:   Check for a valid buffer after ui_delay(). (closes #2944)
2018-05-21 22:50:29 +02:00
05af9a4191 patch 8.1.0015: cursor color wrong when closing a terminal window
Problem:    Cursor color wrong when closing a terminal window, ending up in
            another terminal window. (Dominique Pelle)
Solution:   Bail out of terminal_loop() when the buffer changes.
            (closes #2942)
2018-05-21 18:48:12 +02:00
6053f2d29a patch 8.1.0014: qf_init_ext() is too long
Problem:    qf_init_ext() is too long.
Solution:   Split it into multiple functions. (Yegappan Lakshmanan,
            closes #2939)
2018-05-21 16:56:38 +02:00
4f7fd56b42 patch 8.1.0013: using freed memory when changing terminal cursor color
Problem:    Using freed memory when changing terminal cursor color.
Solution:   Make a copy of the color. (Dominique Pelle, closes #2938,
            closes #2941)
2018-05-21 14:55:28 +02:00
1f131aee0e patch 8.1.0012: misplaced #endif
Problem:    Misplaced #endif.
Solution:   Move the #endif to after the expression. (David Binderman)
2018-05-21 13:39:40 +02:00
f88a5bc102 patch 8.1.0011: maparg() and mapcheck() confuse empty and non-existing
Problem:    maparg() and mapcheck() confuse empty and non-existing.
Solution:   Return <Nop> for an existing non-empty mapping. (closes #2940)
2018-05-21 13:28:44 +02:00
6bff719f7e patch 8.1.0010: efm_to_regpat() is too long
Problem:    efm_to_regpat() is too long.
Solution:   Split off three functions. (Yegappan Lakshmanan, closes #2924)
2018-05-20 15:41:17 +02:00
dbe8869c41 patch 8.1.0009: tabpages insufficiently tested
Problem:    Tabpages insufficiently tested.
Solution:   Add more test coverage. (Dominique Pelle, closes #2934)
2018-05-20 14:57:22 +02:00
42ab17b8e3 patch 8.1.0008: no test for strwidth()
Problem:    No test for strwidth().
Solution:   Add a test. (Dominique Pelle, closes #2931)
2018-05-20 14:11:10 +02:00
2e94976abd patch 8.1.0007: no test for "o" and "O" in Visual block mode
Problem:    No test for "o" and "O" in Visual block mode.
Solution:   Add a test. (Dominique Pelle, closes #2932)
2018-05-20 14:06:38 +02:00
a772baf85a patch 8.1.0006: syn_id2cterm_bg() may be undefined
Problem:    syn_id2cterm_bg() may be undefined. (Axel Bender)
Solution:   Adjust #ifdef.
2018-05-20 13:35:44 +02:00
d19b234154 patch 8.1.0005: test for :compiler command fails on MS-Windows
Problem:    Test for :compiler command fails on MS-Windows.
Solution:   Ignore difference in path.
2018-05-19 16:45:15 +02:00
54651f7494 patch 8.1.0004: test for :compiler command sometimes fails
Problem:    Test for :compiler command sometimes fails.
Solution:   Be less strict about the error message. (Dominique Pelle)
2018-05-19 15:52:11 +02:00
10561fe0a3 patch 8.1.0003: the :compiler command is not tested
Problem:    The :compiler command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #2930)
2018-05-19 15:01:10 +02:00
2abad54ced patch 8.1.0002: :stopinsert changes the message position
Problem:    :stopinsert changes the message position.
Solution:   Save and restore msg_col and msg_row in clearmode(). (Jason
            Franklin)
2018-05-19 14:43:45 +02:00
2f01889055 Runtime file and translation updates. 2018-05-18 18:12:06 +02:00
00e4556338 patch 8.1.0001: the netrw plugin does not work
Problem:    The netrw plugin does not work.
Solution:   Make it accept version 8.x.
2018-05-17 23:40:05 +02:00
b1c9198afb Vim 8.1 release
Update version number and information.  Fix a couple of tests.
2018-05-17 17:04:55 +02:00
03998f606a patch 8.0.1850: todo items in source code not visible for users
Problem:    Todo items in source code not visible for users.
Solution:   Move the todo items to the help file.
2018-05-17 13:20:45 +02:00
7c63fbc46e Updated runtime files. 2018-05-17 13:15:23 +02:00
0b39464f69 patch 8.0.1849: compiler warning for unused arguments, missing prototype
Problem:    compiler warning for unused arguments and missing prototype
Solution:   Add UNUSED.  Add static.
2018-05-17 13:11:46 +02:00
4d6cd291ce patch 8.0.1848: 'termwinscroll' does not work properly
Problem:    'termwinscroll' does not work properly. (Dominique Pelle)
Solution:   Subtract removed scrollback from the scrollback count.  Add a test
            for 'termwinscroll'. (closes #2909)
2018-05-15 23:53:26 +02:00
825ccf4039 patch 8.0.1847: some build options don't have an example
Problem:    Some build options don't have an example.
Solution:   Add a couple more examples and compiler flags.
2018-05-15 22:34:58 +02:00
d4a8c98ef6 patch 8.0.1846: Python interface is incompatible with lldb
Problem:    Python interface is incompatible with lldb.
Solution:   For OutputType set the base to be PyFile_Type. (Boxu Zhang)
            Partly disabled to avoid a crash.
2018-05-15 22:31:18 +02:00
259f26ac2d patch 8.0.1845: various comment updates needed, missing white space
Problem:    Various comment updates needed, missing white space.
Solution:   Update comments, add white space.
2018-05-15 22:25:40 +02:00
78ddc06bdd patch 8.0.1844: superfluous quickfix code, missing examples
Problem:    Superfluous quickfix code, missing examples.
Solution:   Remove unneeded code.  Add a few examples.  Add a bit more
            testing. (Yegappan Lakshmanan, closes #2916)
2018-05-15 21:56:34 +02:00
8776889b5b patch 8.0.1843: entry for 'wrap' in options window is wrong
Problem:    Entry for 'wrap' in options window is wrong. (John Little)
Solution:   Make the change apply locally.
2018-05-15 21:42:51 +02:00
0b565e5da5 patch 8.0.1842: popup menu inside terminal window isn't cleared
Problem:    Popup menu inside terminal window isn't cleared.
Solution:   Use NOT_VALID in pum_undisplay(). (suggested by Christian
            Brabandt, closes #2908)
2018-05-14 23:08:32 +02:00
1af6a4b891 patch 8.0.1841: HP-UX does not have setenv()
Problem:    HP-UX does not have setenv().
Solution:   Use vim_setenv(). (John Marriott)
2018-05-14 22:58:34 +02:00
027df2a7d9 patch 8.0.1840: getwinpos() is not tested
Problem:    getwinpos() is not tested.
Solution:   Add a test. (Dominique Pelle, closes #2911)
2018-05-14 21:31:08 +02:00
9cfc7d885c patch 8.0.1839: script to check .po file doesn't check for plural header
Problem:    Script to check .po file doesn't check for plural header.
Solution:   Add a check that the plural header is present when needed.
2018-05-13 22:37:03 +02:00
eb3dc87f01 Updated runtime files 2018-05-13 22:34:24 +02:00
620020eb1d patch 8.0.1838: cursor in wrong pos when switching to Terminal-Normal mode
Problem:    Cursor in wrong position when switching to Terminal-Normal mode.
            (Dominique Pelle)
Solution:   Move to the end of the line if coladvance() fails.  Do not take a
            snapshot a second time.
2018-05-13 19:06:12 +02:00
5e3423d192 patch 8.0.1837: one character cmdline abbreviation not triggered after '<,'>
Problem:    One character cmdline abbreviation not triggered after '<,'>.
Solution:   Skip over the special range. (Christian Brabandt, closes #2320)
2018-05-13 18:36:27 +02:00
25782a7ff4 patch 8.0.1836: buffer-local window options may not be recent
Problem:    Buffer-local window options may not be recent if the buffer is
            still open in another window.
Solution:   Copy the options from the window instead of the outdated window
            options. (Bjorn Linse, closes #2336)
2018-05-13 18:05:33 +02:00
2290b1f8aa patch 8.0.1835: print document name does not support multi-byte
Problem:    Print document name does not support multi-byte.
Solution:   Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478)
2018-05-13 17:30:45 +02:00
518bc174ed patch 8.0.1834: GUI: find/replace dialog does not handle some chars
Problem:    GUI: find/replace dialog does not handle some chars properly.
Solution:   Escape '?' when needed.  Always escape backslash. (closes #2418,
            closes #2435)
2018-05-13 17:05:30 +02:00
889fe2c2b9 patch 8.0.1833: X11: ":echo 3.14" gives E806
Problem:    X11: ":echo 3.14" gives E806.
Solution:   set LC_NUMERIC to "C". (Dominique Pelle, closes #2368)
2018-05-13 16:23:40 +02:00
137374fd65 patch 8.0.1832: cannot use :unlet for an environment variable
Problem:    Cannot use :unlet for an environment variable.
Solution:   Make it work.  Use unsetenv() if available. (Ken Takata,
            closes #2855)
2018-05-13 15:59:50 +02:00
8b62e31003 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Problem:    Sometimes the quickfix title is incorrectly prefixed with ':'.
Solution:   Prepend the colon in another way. (Yegappan Lakshmanan, closes
            #2905)
2018-05-13 15:29:04 +02:00
05c4a471d2 patch 8.0.1830: switching to Terminal-Normal mode does not redraw
Problem:    Switching to Terminal-Normal mode does not redraw. (Dominique
            Pelle)
Solution:   Also redraw when not updating the snapshot. (closes #2904)
2018-05-13 15:15:43 +02:00
12365ce49f patch 8.0.1829: MS-Windows: script for vimdiff can't handle ! chars
Problem:    MS-Windows: script for vimdiff can't handle ! chars.
Solution:   Escape the ! chars. (Hans Ginzel, closes #2896)
2018-05-13 14:45:25 +02:00
e65fffd9b4 patch 8.0.1828: get no clue why :gui does not fork
Problem:    Get no clue why :gui does not fork.
Solution:   Add a channel log message.
2018-05-13 14:40:15 +02:00
b2ed680ba7 patch 8.0.1827: compiler warning for signed/unsigned char pointers
Problem:    Compiler warning for signed/unsigned char pointers. (Cesar Romani)
Solution:   Change the type of jv_argv.
2018-05-13 14:05:18 +02:00
7db25fed5d Update runtime files. 2018-05-13 00:02:36 +02:00
52ecaaa63d patch 8.0.1826: configure uses old compiler flag
Problem:    Configure uses old compiler flag.
Solution:   Remove _DARWIN_C_SOURCE. (Kazunobu Kuriyama)
2018-05-12 21:38:13 +02:00
dd1d7be4e6 patch 8.0.1825: might use NULL pointer when out of memory
Problem:    Might use NULL pointer when out of memory. (Coverity)
Solution:   Handle NULL pointer better.
2018-05-12 21:34:58 +02:00
73dd1bd54e patch 8.0.1824: Coverity warns for variable that may be uninitialized
Problem:    Coverity warns for variable that may be uninitialized.
Solution:   Initialize the variable.
2018-05-12 21:16:25 +02:00
54c6bafa16 patch 8.0.1823: test for terminal stdout redirection is flaky
Problem:    Test for terminal stdout redirection is flaky.
Solution:   Wait for the job to finish.
2018-05-12 21:12:12 +02:00
ee62f9fa74 patch 8.0.1822: make uninstall does not remove colors/tools
Problem:    Make uninstall does not remove colors/tools.
Solution:   Add a line to delete the tools directory. (Kazunobu Kuriyama)
2018-05-12 21:05:45 +02:00
2bc799579d patch 8.0.1821: cursor in terminal window moves when pressing CTRL-W
Problem:    Cursor in terminal window moves when pressing CTRL-W. (Dominique
            Pelle)
Solution:   Do not more the cursor or redraw when not in Terminal-Normal mode.
            (closes #2904)
2018-05-12 20:36:24 +02:00
cd8fb449d6 patch 8.0.1820: terminal window redirecting stdout does not show stderr
Problem:    Terminal window redirecting stdout does not show stderr. (Matéo
            Zanibelli)
Solution:   When stdout is not connected to pty_master_fd then use it for
            stderr. (closes #2903)
2018-05-12 17:42:42 +02:00
8c3169c58e patch 8.0.1819: swap file warning for file with non-existing directory
Problem:    Swap file warning for a file in a non-existing directory, if there
            is another with the same file name. (Juergen Weigert)
Solution:   When expanding the file name fails compare the file names.
2018-05-12 17:04:12 +02:00
3f1a53c434 patch 8.0.1818: lines remove from wrong buffer when using terminal window
Problem:    Lines remove from wrong buffer when using terminal window.
Solution:   Make sure to use tl_buffer.
2018-05-12 16:55:14 +02:00
b0f42ba60d patch 8.0.1817: a timer may change v:count unexpectedly
Problem:    A timer may change v:count unexpectedly.
Solution:   Save and restore v:count and similar variables when a timer
            callback is invoked. (closes #2897)
2018-05-12 15:38:26 +02:00
ff3be4fe1e patch 8.0.1816: no test for setcmdpos()
Problem:    No test for setcmdpos().
Solution:   Add a test. (Dominique Pelle, closes #2901)
2018-05-12 13:18:46 +02:00
0cb8ac71ae patch 8.0.1815: crash with terminal window and with 'lazyredraw' set
Problem:    Still a crash with terminal window and with 'lazyredraw' set.
            (Antoine)
Solution:   Do not wipe out the buffer when updating the screen.
2018-05-11 22:01:51 +02:00
a10ae5e323 patch 8.0.1814: crash with terminal window and with 'lazyredraw' set
Problem:    Crash with terminal window and with 'lazyredraw' set. (Antoine)
Solution:   Check the terminal still exists after update_screen().
2018-05-11 20:48:29 +02:00
38623c8512 patch 8.0.1813: Windows installer doesn't install terminal debugger
Problem:    Windows installer doesn't install terminal debugger.
Solution:   Add the package to the list of files to install.
2018-05-10 21:24:35 +02:00
7a2b0e55e9 patch 8.0.1812: the qf_jump_to_usable_window() function is too long
Problem:    The qf_jump_to_usable_window() function is too long.
Solution:   Split it in parts. (Yegappan Lakshmanan, closes #2891)
2018-05-10 18:55:28 +02:00
72cf47a279 patch 8.0.1811: no test for winrestcmd()
Problem:    No test for winrestcmd().
Solution:   Add a test. (Dominique Pelle, closes #2894)
2018-05-10 18:23:29 +02:00
56bc8e299c patch 8.0.1810: buffer of a terminal only updated in Terminal-Normal mode
Problem:    Buffer of a terminal only updated in Terminal-Normal mode.
Solution:   Copy the terminal window content to the buffer when in
            Terminal-Job mode.
2018-05-10 18:05:56 +02:00
b946482190 patch 8.0.1809: various typos
Problem:    Various typos.
Solution:   Correct the mistakes, change "cursur" to "cursor". (closes #2887)
2018-05-10 15:09:49 +02:00
9289df5ca9 patch 8.0.1808: can't build without TGETENT
Problem:    Can't build without TGETENT.
Solution:   Add #ifdef
2018-05-10 14:40:57 +02:00
69e056915c patch 8.0.1807: function to set terminal name is too long
Problem:    Function to set terminal name is too long.
Solution:   Refactor the function.  Fix typo in test.
2018-05-10 14:11:52 +02:00
39de952577 patch 8.0.1806: InsertCharPre causes problems for autocomplete
Problem:    InsertCharPre causes problems for autocomplete. (Lifepillar)
Solution:   Check for InsertCharPre before calling vpeekc(). (Christian
            Brabandt, closes #2876)
2018-05-08 22:48:00 +02:00
18cebf4417 patch 8.0.1805: qf_parse_line() is too long
Problem:    qf_parse_line() is too long.
Solution:   Split it in parts.  Properly handle vim_realloc() failing.
            (Yegappan Lakshmanan, closes #2881)
2018-05-08 22:31:37 +02:00
655a82a8d3 patch 8.0.1804: using :normal in terminal window causes problems
Problem:    Using :normal in terminal window causes problems. (Dominique
            Pelle)
Solution:   Don't call terminal_loop() for :normal. (closes #2886)
2018-05-08 22:01:07 +02:00
9b50f36e40 patch 8.0.1803: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2018-05-07 20:10:17 +02:00
402c83921e patch 8.0.1802: MS-Windows: terminal test fails
Problem:    MS-Windows: terminal test fails.
Solution:   Close redirected output file earlier.
2018-05-06 22:01:42 +02:00
f25329cb94 patch 8.0.1801: MS-Windows: redirecting terminal output does not work
Problem:    MS-Windows: redirecting terminal output does not work.
Solution:   Intercept the text written to the terminal and write it to the
            file.
2018-05-06 21:49:32 +02:00
778df2a3cb patch 8.0.1800: X11: getting color is slow
Problem:    X11: getting color is slow.
Solution:   Avoid using sprintf() and XParseColor(), put the RGB values in
            XColor directly.
2018-05-06 19:19:36 +02:00
85eee130f4 Update runtime files. 2018-05-06 17:57:30 +02:00
7ce551f317 patch 8.0.1799: no test for :registers command
Problem:    No test for :registers command.
Solution:   Add a test. (Dominique Pelle, closes #2880)
2018-05-06 17:32:19 +02:00
5aa9896b2e patch 8.0.1798: MS-Windows: file considered read-only too often
Problem:    MS-Windows: file considered read-only when another program has
            opened it.
Solution:   Pass file sharing flag to CreateFile(). (Linwei, closes #2860)
2018-05-06 17:09:38 +02:00
6eddadff13 patch 8.0.1797: terminal window is redrawn too often
Problem:    Terminal window is redrawn too often and scrolling is repeated.
Solution:   Don't scroll immediately but only when redrawing.  Avoid redrawing
            the whole terminal window on every change.
2018-05-06 16:40:16 +02:00
231a2db1b3 patch 8.0.1796: GUI: click on tab fails when the focus is in a terminal
Problem:    GUI: click on tab fails when the focus is in a terminal window.
Solution:   Handle K_TABLINE.
2018-05-06 13:53:50 +02:00
b0b98d5230 patch 8.0.1795: lose contact with jobs when :gui forks
Problem:    Lose contact with jobs when :gui forks.
Solution:   Don't fork when there is a running job. Make log message for a
            died job clearer.  Also close the terminal when stderr and stdout
            are the same FD.
2018-05-05 21:01:00 +02:00
b833c1ef7b patch 8.0.1794: duplicate term options after renaming
Problem:    Duplicate term options after renaming.
Solution:   Remove the old names 'termkey', 'termsize' and 'terminalscroll'.
2018-05-05 16:36:06 +02:00
248be5c5de patch 8.0.1793: no test for "vim -g"
Problem:    No test for "vim -g".
Solution:   Add a test for "-g" and "-y".
2018-05-05 15:47:19 +02:00
c3e81694fc patch 8.0.1792: MS-Windows users expect -? to work like --help
Problem:    MS-Windows users expect -? to work like --help.
Solution:   Add -?. (Christian Brabandt, closes #2867)
2018-05-05 15:09:51 +02:00
9894e394b2 patch 8.0.1791: using uint8_t does not work everywhere
Problem:    Using uint8_t does not work everywhere.
Solution:   Use char_u instead.
2018-05-05 14:29:06 +02:00
c136af29c0 patch 8.0.1790: 'winfixwidth' is not always respected by :close
Problem:    'winfixwidth' is not always respected by :close.
Solution:   Prefer a frame without 'winfixwidth' or 'winfixheight'. (Jason
            Franklin)
2018-05-04 20:15:38 +02:00
606cb8b08e patch 8.0.1789: BufWinEnter does not work well for a terminal window
Problem:    BufWinEnter does not work well for a terminal window.
Solution:   Do not trigger BufWinEnter when opening a terminal window.
2018-05-03 20:40:20 +02:00
dddab90d22 patch 8.0.1788: tool to check a color scheme is not installed
Problem:    Tool to check a color scheme is not installed.
Solution:   Update the install rule. (Christian Brabandt)
2018-05-02 22:00:17 +02:00
e2c8d83926 patch 8.0.1787: cannot insert the whole cursor line
Problem:    Cannot insert the whole cursor line.
Solution:   Make CTRL-R CTRL-L work. (Andy Massimino, closes #2857)
2018-05-01 19:24:03 +02:00
b2ac14c0b5 patch 8.0.1786: no test for 'termwinkey'
Problem:    No test for 'termwinkey'.
Solution:   Add a test.  Make feedkeys() handle terminal_loop() returning
            before characters are consumed.
2018-05-01 18:47:59 +02:00
8a938af6dd patch 8.0.1785: missing symbol in Win32 small build
Problem:    Missing symbol in Win32 small build.
Solution:   Define VTERM_ANSI_INDEX_NONE without the terminal feature. Also
            fix unused function with #ifdef.
2018-05-01 17:30:41 +02:00
bc7845da93 patch 8.0.1784: gvim test gets stuck in dialog
Problem:    Gvim test gets stuck in dialog.
Solution:   Rename the file used.
2018-05-01 16:26:48 +02:00
c5cd88554f patch 8.0.1783: cannot use 256 colors in a MS-Windows console
Problem:    Cannot use 256 colors in a MS-Windows console.
Solution:   Add 256 color support. (Nobuhiro Takasaki, closes #2821)
2018-05-01 15:47:38 +02:00
d76ce85266 patch 8.0.1782: no simple way to label quickfix entries
Problem:    No simple way to label quickfix entries.
Solution:   Add the "module" item, to be used instead of the file name for
            display purposes. (Martin Szamotulski, closes #1757)
2018-05-01 15:02:04 +02:00
a796d46f29 patch 8.0.1781: file names in quickfix window are not shortened
Problem:    File names in quickfix window are not always shortened.
Solution:   Shorten the file name when opening the quickfix window. (Yegappan
            Lakshmanan, closes #2851, closes #2846)
2018-05-01 14:30:36 +02:00
15142e27aa Update runtime files and translations 2018-04-30 22:19:58 +02:00
77bfd756a0 patch 8.0.1780: test fails because Vim in a terminal uses wrong 'encoding'
Problem:    Test fails because Vim in a terminal uses wrong 'encoding'.
Solution:   Set encoding in the test where it matters. (James McCoy,
            closes #2847)
2018-04-30 18:03:10 +02:00
35e802e713 patch 8.0.1779: deleting in a block selection causes problems
Problem:    Deleting in a block selection causes problems.
Solution:   Check the length of the line before adding bd.textcol and
            bd.textlen. (Christian Brabandt, closes #2825)
2018-04-30 17:21:03 +02:00
b07bbb0d29 patch 8.0.1778: script to check translations does not always work
Problem:    Script to check translations does not always work.
Solution:   Go to first line before searching for MIME.
2018-04-30 15:45:17 +02:00
60a68362aa patch 8.0.1777: cannot cleanup before loading another colorscheme
Problem:    Cannot cleanup before loading another colorscheme.
Solution:   Add the ColorSchemePre autocommand event.
2018-04-30 15:40:48 +02:00
0e9d1ae321 patch 8.0.1776: in tests, when WaitFor() fails it doesn't say why
Problem:    In tests, when WaitFor() fails it doesn't say why.
Solution:   Turn a few more WaitFor() into WaitForAssert().
2018-04-30 14:28:24 +02:00
850d427f07 patch 8.0.1775: MS-Windows: warning for unused variable
Problem:    MS-Windows: warning for unused variable.
Solution:   Move declaration inside #ifdef. (Mike Williams)
2018-04-30 10:38:40 +02:00
13d3b05ed2 patch 8.0.1774: reading very long lines can be slow
Problem:    Reading very long lines can be slow.
Solution:   Read up to 1 Mbyte at a time to avoid a lot of copying.  Add a
            check for going over the column limit.
2018-04-29 13:34:47 +02:00
c36651b4b9 patch 8.0.1773: dialog messages are not translated
Problem:    Dialog messages are not translated.
Solution:   Add N_() and _() where needed. (Sergey Alyoshin)
2018-04-29 12:22:56 +02:00
29ce409bfc patch 8.0.1772: quickfix: mixup of FALSE and FAIL, returning -1
Problem:    Quickfix: mixup of FALSE and FAIL, returning -1.
Solution:   Use FAIL and INVALID_QFIDX. (Yegappan Lakshmanan)
2018-04-28 21:56:44 +02:00
50182fa84e patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why
Problem:    In tests, when WaitFor() fails it doesn't say why. (James McCoy)
Solution:   Add WaitForAssert(), which produces an assert error when it fails.
2018-04-28 21:34:40 +02:00
65a5464985 patch 8.0.1770: assert functions don't return anything
Problem:    Assert functions don't return anything.
Solution:   Return non-zero when the assertion fails.
2018-04-28 16:56:53 +02:00
9b25af3620 patch 8.0.1769: repeated saving and restoring viewstate for 'incsearch'
Problem:    Repeated saving and restoring viewstate for 'incsearch'.
Solution:   Use a structure.
2018-04-28 13:56:09 +02:00
451fc7b954 patch 8.0.1768: SET_NO_HLSEARCH() used in a wrong way
Problem:    SET_NO_HLSEARCH() used in a wrong way.
Solution:   Make it a function. (suggested by Dominique Pelle,
            closes #2850)
2018-04-27 22:53:07 +02:00
9d34d90210 patch 8.0.1767: with 'incsearch' text may jump up and down
Problem:    With 'incsearch' text may jump up and down. ()
Solution:   Besides w_botline also save and restore w_empty_rows.
            (closes # 2530)
2018-04-27 22:18:12 +02:00
c3c3e69896 patch 8.0.1766: expanding abbreviation doesn't work
Problem:    Expanding abbreviation doesn't work. (Tooth Pik)
Solution:   Return OK instead of FALSE and FAIL instead of TRUE. (Christian
            Brabandt)
2018-04-26 22:30:33 +02:00
db0eedec16 patch 8.0.1765: CTRL-G j in Insert mode is incorrect when 'virtualedit' set
Problem:    CTRL-G j in Insert mode is incorrect when 'virtualedit' is set.
Solution:   Take coladd into account. (Christian Brabandt, closes #2743)
2018-04-25 22:38:17 +02:00
856905bd83 patch 8.0.1764: lgtm considers tutor.es to be EcmaScript
Problem:    Lgtm considers tutor.es to be EcmaScript.
Solution:   Add a config file for lgtm. (Bas van Schaik, closes #2844)
2018-04-25 21:36:47 +02:00
46a53dfc29 patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Problem:    :argedit does not reuse an empty unnamed buffer.
Solution:   Add the BLN_CURBUF flag and fix all the side effects. (Christian
            Brabandt, closes #2713)
2018-04-24 21:58:51 +02:00
b255b90503 patch 8.0.1762: terminal debug logging is a bit complicated
Problem:    Terminal debug logging is a bit complicated.
Solution:   Make log_tr() use variable arguments (Ozaki Kiichi, closes #2730)
2018-04-24 21:40:10 +02:00
4e9d443a25 patch 8.0.1761: job in terminal window with no output channel is killed
Problem:    Job in terminal window with no output channel is killed.
Solution:   Keep the job running when the input is a tty. (Ozaki Kiichi,
            closes #2734)
2018-04-24 20:54:07 +02:00
4994373c5d patch 8.0.1760: wrong number of arguments to vms_read()
Problem:    Wrong number of arguments to vms_read().
Solution:   Drop the first argument. (Ozaki Kiichi)
2018-04-24 20:27:26 +02:00
09d1d51df5 patch 8.0.1759: memory leak from duplicate options
Problem:    Memory leak from duplicate options. (Yegappan Lakshmanan)
Solution:   Don't set the default value twice.
2018-04-24 20:23:56 +02:00
24a2d7264f patch 8.0.1758: open_line() returns TRUE/FALSE for success/failure
Problem:    open_line() returns TRUE/FALSE for success/failure.
Solution:   Return OK or FAIL.
2018-04-24 19:36:43 +02:00
b691de05f6 patch 8.0.1757: unnecessary changes in libvterm
Problem:    Unnecessary changes in libvterm.
Solution:   Bring back // comments and trailing comma in enums.
2018-04-24 18:39:14 +02:00
73658317ba patch 8.0.1756: GUI: after prompting for a number the mouse shape is wrong
Problem:    GUI: after prompting for a number the mouse shape is sometimes
            wrong.
Solution:   Call setmouse() after setting "State". (Hirohito Higashi,
            closes #2709)
2018-04-24 17:41:57 +02:00
f1f2f837bc patch 8.0.1755: MS-Windows: high unicode char received as two utf-16 words
Problem:    MS-Windows GUI: high unicode char received as two utf-16 words.
Solution:   Keep the first word until the second word is received. (Chris
            Morgan, closes #2800)
2018-04-24 16:04:57 +02:00
2225ebb486 patch 8.0.1754: ex_helpgrep() is too long
Problem:    ex_helpgrep() is too long.
Solution:   Refactor the function. (Yegappan Lakshmanan, closes #2766)
2018-04-24 15:48:11 +02:00
1c17ffa461 patch 8.0.1753: various warnings from a static analyser
Problem:    Various warnings from a static analyser
Solution:   Add type casts, remove unneeded conditions. (Christian Brabandt,
            closes #2770)
2018-04-24 15:19:04 +02:00
a2aa8a2b22 patch 8.0.1752: qf_set_properties() is to long
Problem:    qf_set_properties() is to long.
Solution:   Refactor the function.  Define INVALID_QFIDX. (Yegappan
            Lakshmanan, closes #2812)
2018-04-24 13:55:00 +02:00
4e601e3c82 patch 8.0.1751: #ifdef causes bad highlighting
Problem:    #ifdef causes bad highlighting.
Solution:   Move code around. (Ozaki Kiichi, closes #2731)
2018-04-24 13:29:51 +02:00
3b9474b4ad patch 8.0.1750: crash when clearing loccation list in autocommand
Problem:    Crash when clearing loccation list in autocommand.
Solution:   Check if "qi" equals "ql_info". (Yegappan Lakshmanan)
2018-04-23 21:29:48 +02:00
6537c421bb patch 8.0.1749: VMS: 100% CPU use, redefining mch_open() fails
Problem:    VMS: 100% CPU use, redefining mch_open() and mch_fopen() fails.
Solution:   Do not wait indefinitely in RealWaitForChar(). (Neil Rieck)
            Do not redefine mch_open() and mch_fopen() on VMS. (Zoltan
            Arpadffy)
2018-04-23 20:46:16 +02:00
a4baf5b325 patch 8.0.1748: CmdlineEnter command uses backslash instead of slash
Problem:    CmdlineEnter command uses backslash instead of slash.
Solution:   Don't treat the character as a file name. (closes #2837)
2018-04-22 13:27:44 +02:00
ebe74b7367 patch 8.0.1747: MS-Windows: term_start() does not set job_info() cmd
Problem:    MS-Windows: term_start() does not set job_info() cmd.
Solution:   Share the code from job_start() to set jv_argv.
2018-04-21 23:34:43 +02:00
a69b39511d patch 8.0.1746: MS-Windows: channel tests fail
Problem:    MS-Windows: channel tests fail.
Solution:   Make a copy of the command before splitting it.
2018-04-21 23:00:27 +02:00
2060892028 patch 8.0.1745: build failure on MS-Windows
Problem:    Build failure on MS-Windows.
Solution:   Build job arguments for MS-Windows. Fix allocating job twice.
2018-04-21 22:30:08 +02:00
9980b37a80 patch 8.0.1744: on some systems /dev/stdout isn't writable
Problem:    On some systems /dev/stdout isn't writable.
Solution:   Skip test if writing is not possible. (James McCoy, closes #2830)
2018-04-21 20:12:35 +02:00
6d150f783d patch 8.0.1743: terminal window options are named inconsistently
Problem:    Terminal window options are named inconsistently.
Solution:   prefix terminal window options with "termwin".  Keep the old names
            for now as an alias.
2018-04-21 20:03:20 +02:00
e1fc51558d patch 8.0.1742: cannot get a list of all the jobs
Problem:    Cannot get a list of all the jobs.  Cannot get the command of
            the job.
Solution:   When job_info() is called without an argument return a list of
            jobs.  Otherwise, include the command that the job is running.
            (Yegappan Lakshmanan)
2018-04-21 19:49:08 +02:00
259a90f7ce patch 8.0.1741: MS-Windows with msys2 cannot build Ruby statically
Problem:    MS-Windows with msys2 cannot build Ruby statically.
Solution:   Add RUBY_VERSION to CFLAGS later. (Gray Wolf, closes #2833)
2018-04-21 19:08:55 +02:00
405dadb63e patch 8.0.1740: warning for signed-unsigned incompatibility
Problem:    Warning for signed-unsigned incompatibility.
Solution:   Change type from "char *" to "char_u *". (John Marriott)
2018-04-20 22:48:58 +02:00
7dda86f2ff Update runtime files. 2018-04-20 22:36:41 +02:00
6176697203 patch 8.0.1739: MS-Windows with msys2 cannot build Ruby statically
Problem:    MS-Windows with msys2 cannot build Ruby statically.
Solution:   Define RUBY_VERSION. (Gray Wolf, closes #2826)
2018-04-20 22:31:41 +02:00
5d69da462f patch 8.0.1738: ":args" output is hard to read
Problem:    ":args" output is hard to read.
Solution:   Make columns with the names if the output is more than one line.
2018-04-20 22:01:41 +02:00
02e802b2da patch 8.0.1737: fchown() used when it is not supported
Problem:    fchown() used when it is not supported.
Solution:   Add #ifdef.
2018-04-19 21:15:27 +02:00
226400830b patch 8.0.1736: check for C99 features is incomplete
Problem:    Check for C99 features is incomplete.
Solution:   Use AC_PROG_CC_C99 and when C99 isn't fully supported check the
            features we need. (James McCoy, closes #2820)
2018-04-19 20:39:41 +02:00
285e335869 patch 8.0.1735: flexible array member feature not supported by HP-UX
Problem:    Flexible array member feature not supported by HP-UX. (John
            Marriott)
Solution:   Do not use the flexible array member feature of C99.
2018-04-18 23:01:13 +02:00
f98a39ca57 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Problem:    Package directory not added to 'rtp' if prefix matches.
Solution:   Check the match is a full match. (Ozaki Kiichi, closes #2817)
            Also handle different ways of spelling a path.
2018-04-18 22:18:23 +02:00
bad0ce7b26 patch 8.0.1733: incomplete testing for completion fix
Problem:    Incomplete testing for completion fix. (Lifepillar)
Solution:   Add a test with CTRL-P.
2018-04-17 23:31:05 +02:00
a997b45c7e patch 8.0.1732: crash when terminal API call deletes the buffer
Problem:    Crash when terminal API call deletes the buffer.
Solution:   Lock the buffer while calling a function. (closes #2813)
2018-04-17 23:24:06 +02:00
e87edf3b85 patch 8.0.1731: characters deleted on completion
Problem:    Characters deleted on completion. (Adrià Farrés)
Solution:   Also check the last item for the ORIGINAL_TEXT flag. (Christian
            Brabandt, closes #1645)
2018-04-17 22:14:32 +02:00
561f8a5a46 patch 8.0.1730: no configure check for the used C99 features
Problem:    No configure check for the used C99 features.
Solution:   Add a compilation check.  Tentatively document C99 features.
2018-04-17 22:02:45 +02:00
ea3ece405a patch 8.0.1729: no comma after last enum item
Problem:    No comma after last enum item.
Solution:   Add a few commas to check if this works for all compilers.  Also
            add a few // comments.
2018-04-17 20:14:39 +02:00
1feab2b9cc patch 8.0.1728: condition always false, useless code
Problem:    Condition always false, useless code.
Solution:   Remove the code. (Nikolai Pavlov, closes #2808)
2018-04-17 20:12:08 +02:00
353eeeaca2 patch 8.0.1727: qf_get_properties() function is too long
Problem:    qf_get_properties() function is too long.
Solution:   Refactor the code. (Yegappan Lakshmanan, closes #2807)
2018-04-16 18:04:57 +02:00
df2c774ded patch 8.0.1726: older MSVC doesn't support declarations halfway a block
Problem:    Older MSVC doesn't support declarations halfway a block.
Solution:   Move the declaration back to the start of the block.
2018-04-16 17:06:09 +02:00
32c67ba733 patch 8.0.1725: terminal debugger doesn't handle command arguments
Problem:    Terminal debugger doesn't handle command arguments.
Solution:   Add the :TermdebugCommand command.  Use a ! to execute right away.
            (Christian Brabandt)
2018-04-16 16:21:49 +02:00
06965b838f patch 8.0.1724: declarations cannot be halfway a block
Problem:    Declarations cannot be halfway a block.
Solution:   Move one declaration to check if this works for all compilers.
2018-04-16 15:40:50 +02:00
f3a411783c patch 8.0.1723: using one item array size declaration is misleading
Problem:    Using one item array size declaration is misleading.
Solution:   Instead of using "[1]" and actually using a larger array, use
            "[]".  This is to verify that this C99 feature works for all
            compilers.
2018-04-16 14:45:45 +02:00
498c2562e1 patch 8.0.1722: cannot specify a minimal size for a terminal window
Problem:    Cannot specify a minimal size for a terminal window.
Solution:   Support the "rows*cols" format for 'winsize'.
2018-04-15 23:45:15 +02:00
a7eef3d87f patch 8.0.1721: no test for using the 'termsize' option
Problem:    No test for using the 'termsize' option.
Solution:   Add a test.
2018-04-15 22:25:54 +02:00
802bfb1463 patch 8.0.1720: when a timer is running a terminal window may not close
Problem:    When a timer is running a terminal window may not close after a
            shell has exited.
Solution:   Call job_status() more often.
2018-04-15 17:28:13 +02:00
e1a32310d5 patch 8.0.1719: cannot specify which Python executable configure should use
Problem:    Cannot specify which Python executable configure should use.
Solution:   Add --with-python-command and --with-python3-command.
2018-04-15 16:03:25 +02:00
6c672194cd patch 8.0.1718: terminal scrollback test fails on MS-Windows
Problem:    Terminal scrollback test fails on MS-Windows.
Solution:   Check for the last line of output anticipating there might be an
            empty line below it.
2018-04-15 13:28:42 +02:00
3cba73423e patch 8.0.1717: C89 check causes too much trouble
Problem:    C89 check causes too much trouble.
Solution:   Remove enforcing C89 for now.
2018-04-15 13:12:46 +02:00
ac3e830065 patch 8.0.1716: test for term_setsize() does not give a good error message
Problem:    Test for term_setsize() does not give a good error message.
Solution:   use assert_inrange().
2018-04-15 13:10:44 +02:00
8c94a54905 patch 8.0.1715: terminal buffer can be 1 more than 'terminalscroll' lines
Problem:    Terminal buffer can be 1 more than 'terminalscroll' lines.
Solution:   Change > to >=.
2018-04-15 12:55:13 +02:00
6e72cd0d72 patch 8.0.1714: term_setsize() does not give an error in a normal buffer
Problem:    Term_setsize() does not give an error in a normal buffer.
Solution:   Add an error message.
2018-04-14 21:31:35 +02:00
b3623a382a patch 8.0.1713: terminal debugger doesn't handle arguments
Problem:    Terminal debugger doesn't handle arguments.
Solution:   Use <f-args> and pass all the arguments to gdb, e.g. the core file
            or process number. (suggested by Christian Brabandt) Disallow
            starting the debugger twice.
2018-04-14 18:59:50 +02:00
8c041b6b95 patch 8.0.1712: terminal scrollback is not limited
Problem:    Terminal scrollback is not limited.
Solution:   Add the 'terminalscroll' option.
2018-04-14 18:14:06 +02:00
a42d363bac patch 8.0.1711: term_setsize() is not implemented yet
Problem:    Term_setsize() is not implemented yet.
Solution:   Implement it.
2018-04-14 17:05:38 +02:00
2a43230ce3 patch 8.0.1710: building with Ruby fails
Problem:    Building with Ruby fails.
Solution:   Don't add -ansi when building with Ruby.
2018-04-14 16:12:30 +02:00
2e324950b8 patch 8.0.1709: some non-C89 code may slip through
Problem:    Some non-C89 code may slip through.
Solution:   Enforce C89 in configure. Fix detected problems. (James McCoy,
            closes #2735)
2018-04-14 14:37:07 +02:00
78a16b0f2a patch 8.0.1708: mkdir with 'p' flag fails on existing directory
Problem:    Mkdir with 'p' flag fails on existing directory, which is
            different from the mkdir shell command.
Solution:   Don't fail if the directory already exists. (James McCoy,
            closes #2775)
2018-04-14 13:51:55 +02:00
98da6ecab9 patch 8.0.1707: when 'wfh' is set ":bel 10new" scrolls window
Problem:    When 'wfh' is set ":bel 10new" scrolls window. (Andrew Pyatkov)
Solution:   Set the fraction before changing the window height. (closes #2798)
2018-04-13 22:15:46 +02:00
b59118d501 patch 8.0.1706: cannot sent CTRL-\ to a terminal window
Problem:    Cannot sent CTRL-\ to a terminal window.
Solution:   Make CTRL-W CTRL-\ send CTRL-\ to a terminal window.
2018-04-13 22:11:56 +02:00
5bab555c2f patch 8.0.1705: when making a vertical split the mode message isn't updated
Problem:    When making a vertical split the mode message isn't always
            updated, "VISUAL" remains. (Alexei Averchenko)
Solution:   Only reset clear_cmdline when filling all columns of the last
            screen line. (Tom M. closes #2611)
2018-04-13 20:41:29 +02:00
b8e22a053b patch 8.0.1704: 'backupskip' default doesn't work for Mac
Problem:    'backupskip' default doesn't work for Mac.
Solution:   Use "/private/tmp". (Rainer Müller, closes #2793)
2018-04-12 21:37:34 +02:00
527dec3f94 patch 8.0.1703: in the tutor 'showcmd' is not set
Problem:    In the tutor 'showcmd' is not set.
Solution:   Set 'showcmd' in the vimtutor script. (Ken Takata, closes #2792)
2018-04-12 20:36:43 +02:00
ee5b94a8ec patch 8.0.1702: leaking memory when autocommands make quickfix list invalid
Problem:    Leaking memory when autocommands make a quickfix list invalid.
Solution:   Call FreeWild(). (Yegappan Lakshmanan)
2018-04-12 20:35:05 +02:00
cccd62d435 patch 8.0.1701: can disable COLOR_EMOJI with MSVC but not MinGW
Problem:    Can disable COLOR_EMOJI with MSVC but not MinGW.
Solution:   Add COLOR_EMOJI flag.  Also add some empty lines for readability.
2018-04-12 20:23:48 +02:00
56f9955044 patch 8.0.1700: coverage statistics still don't work on coveralls
Problem:    Coverate statistics still don't work on coveralls.
Solution:   Exclude the xxd directory again.
2018-04-12 20:06:05 +02:00
9ce4213b03 patch 8.0.1699: leftover stuff for Python 1.4
Problem:    Leftover stuff for Python 1.4.
Solution:   Remove outdated Python 1.4 stuff. (Naoki Inada, closes #2794)
2018-04-11 22:19:36 +02:00
1ed00330bc patch 8.0.1698: coverage statistics don't work on coveralls
Problem:    Coverate statistics don't work on coveralls.
Solution:   Use curly braces for $SRCDIR.
2018-04-11 21:03:08 +02:00
769e9d21ac patch 8.0.1697: various tests are still a bit flaky
Problem:    Various tests are still a bit flaky.
Solution:   Increase the default wait time to five seconds.
2018-04-11 20:53:49 +02:00
d60e0a1d20 patch 8.0.1696: coverage statistics don't work
Problem:    Coverate statistics don't work.
Solution:   Include the xxd directory. (Christian Brabandt)
2018-04-11 10:06:04 +02:00
6995c0a7a9 patch 8.0.1695: xxd test not run on MS-Windows
Problem:    Xxd test not run on MS-Windows.
Solution:   Use xxd.exe if it exists.
2018-04-10 21:46:10 +02:00
b377457e69 patch 8.0.1694: terminal API test is a bit flaky
Problem:    Terminal API test is a bit flaky.
Solution:   Wait longer for Vim to stop.
2018-04-10 21:43:26 +02:00
1acdb3f301 patch 8.0.1693: xxd is excluded from coverage statistics
Problem:    Xxd is excluded from coverage statistics.
Solution:   Don't skip the xxd directory. (Christian Brabandt)
2018-04-10 21:16:32 +02:00
3a21d9c7bb patch 8.0.1692: Python may not work when using statically linked library
Problem:    Python may not work when using statically linked library .
Solution:   Do not define PYTHON_HOME and PYTHON3_HOME in configure if the
            Python library is linked statically.
2018-04-10 20:26:20 +02:00
164268d4cf patch 8.0.1691: xxd test sometimes fails
Problem:    Xxd test sometimes fails.
Solution:   Wipe out the XXDfile buffer.
2018-04-10 20:06:17 +02:00
8dd1761e69 patch 8.0.1690: not easy to run one test with gvim instead of vim
Problem:    Not easy to run one test with gvim instead of vim.
Solution:   Add VIMTESTTARGET in Makefile.
2018-04-10 19:24:04 +02:00
29f9ed20b4 patch 8.0.1689: no tests for xxd
Problem:    No tests for xxd.
Solution:   Add a test. (Christian Brabandt)
2018-04-10 19:20:31 +02:00
6f4700233f patch 8.0.1688: some macros are used without a semicolon
Problem:    Some macros are used without a semicolon, causing auto-indent to be
            wrong.
Solution:   Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)
2018-04-10 18:47:20 +02:00
d6b4f2dd76 patch 8.0.1687: 64 bit compiler warnings
Problem:    64 bit compiler warnings.
Solution:   change type, add type cast. (Mike Williams)
2018-04-10 18:26:27 +02:00
d088240b96 patch 8.0.1686: Python does not work when configuring with specific dir
Problem:    Python does not work when configuring with specific dir. (Rajdeep)
Solution:   Do define PYTHON_HOME and PYTHON3_HOME in configure if the Python
            config dir was specified.
2018-04-10 18:13:05 +02:00
f59c6e8cee patch 8.0.1685: can't set ANSI colors of a terminal window
Problem:    Can't set ANSI colors of a terminal window.
Solution:   Add term_setansicolors(), term_getansicolors() and
            g:term_ansi_colors. (Andy Massimino, closes #2747)
2018-04-10 15:59:11 +02:00
07b46af645 patch 8.0.1684: ml_get errors when using terminal window for shell command
Problem:    ml_get errors when using terminal window for shell command.
            (Blay263)
Solution:   Do not change the size of the current window.
2018-04-10 14:56:18 +02:00
0424958bde patch 8.0.1683: Python upgrade breaks Vim when defining PYTHON_HOME
Problem:    Python upgrade breaks Vim when defining PYTHON_HOME.
Solution:   Do not define PYTHON_HOME and PYTHON3_HOME in configure. (Naoki
            Inada, closes #2787)
2018-04-10 13:29:34 +02:00
8c87a2b1fe patch 8.0.1682: auto indenting breaks inserting a block
Problem:    Auto indenting breaks inserting a block.
Solution:   Do not check for cursor movement if indent was changed. (Christian
            Brabandt, closes #2778)
2018-04-10 13:15:47 +02:00
e80757c154 patch 8.0.1681: the format attribute fails with MinGW
Problem:    The format attribute fails with MinGW. (John Marriott)
Solution:   Don't use the format attribute with MinGW.
2018-04-10 12:42:44 +02:00
756ef113d1 patch 8.0.1680: memory allocated by libvterm is not profiled
Problem:    Memory allocated by libvterm does not show up in profile.
Solution:   Pass allocater functions to vterm_new().
2018-04-10 12:04:27 +02:00
672afb9f66 patch 8.0.1679: compiler warning for printf format
Problem:    Compiler warning for printf format. (Chdiza)
Solution:   Change type to "long long". (closes #2791)
2018-04-08 16:34:22 +02:00
e333e79f9b patch 8.0.1678: errorformat "%r" implies "%>"
Problem:    Errorformat "%r" implies "%>". (Jan Gosmann)
Solution:   Jump to before setting fmt_ptr. (Yegappan Lakshmanan,
            closes #2785)
2018-04-08 13:27:39 +02:00
ea39176baa patch 8.0.1677: no compiler warning for wrong format in vim_snprintf()
Problem:    No compiler warning for wrong format in vim_snprintf().
Solution:   Add printf attribute for gcc.  Fix reported problems.
2018-04-08 13:07:22 +02:00
4ac2e8d8e6 patch 8.0.1676: no compiler warning for wrong printf format
Problem:    No compiler warning for wrong printf format.
Solution:   Add a printf attribute for gcc. Fix reported problems. (Dominique
            Pelle, closes #2789)
2018-04-08 12:38:26 +02:00
8200829141 patch 8.0.1675: unused macro argument in libvterm
Problem:    Unused macro argument in libvterm. (Randall W. Morris)
Solution:   Remove the argument.
2018-04-08 12:17:04 +02:00
77557a7ae6 patch 8.0.1674: libvterm can't handle an OSC string split
Problem:    Libvterm can't handle a long OSC string that is split.
Solution:   When an incomplete OSC string is received copy it to the parser
            buffer. Increase the size of the parser buffer to be able to
            handle longer strings.
2018-04-07 21:42:56 +02:00
4791015e6f patch 8.0.1673: terminal window tests are still a bit flaky
Problem:    Terminal window tests are still a bit flaky.
Solution:   Increase the waiting time even more. (Elimar Riesebieter)
2018-04-07 19:27:16 +02:00
72532d354e patch 8.0.1672: error during completion causes command to be cancelled
Problem:    Error during completion causes command to be cancelled.
Solution:   Reset did_emsg before waiting for another character. (Tom M.)
2018-04-07 19:09:09 +02:00
22efba47de patch 8.0.1671: crash when passing non-dict argument as env to job_start()
Problem:    Crash when passing non-dict argument as env to job_start().
Solution:   Check for valid argument. (Ozaki Kiichi, closes #2765)
2018-04-07 13:22:21 +02:00
b6ed74fef8 patch 8.0.1670: terminal window tests are still a bit flaky
Problem:    Terminal window tests are still a bit flaky.
Solution:   Increase the waiting time for the buffer to be created.
2018-04-07 10:42:14 +02:00
e1bb879f49 patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Problem:    :vimgrep may add entries to the wrong quickfix list.
Solution:   Use the list identifier. (Yegappan Lakshmanan)
2018-04-06 22:58:23 +02:00
c4b533e1e9 patch 8.0.1668: terminal debugger: can't re-open source code window
Problem:    Terminal debugger: can't re-open source code window.
Solution:   Add the :Source command.  Also create the window if needed when
            gdb stops at a source line.
2018-04-06 22:26:25 +02:00
3680bab7e7 patch 8.0.1667: terminal window tests are flaky
Problem:    Terminal window tests are flaky.
Solution:   Increase the waiting time for Vim to start.
2018-04-06 20:22:06 +02:00
51ad4eaa22 Update runtime files 2018-04-06 11:14:11 +02:00
d5359b24ce patch 8.0.1666: % argument in ch_log() causes trouble
Problem:    % argument in ch_log() causes trouble.
Solution:   Use string as third argument in internal ch_log(). (Dominique
            Pelle, closes #2784)
2018-04-05 22:44:39 +02:00
9a993e3c09 patch 8.0.1665: when running a terminal from the GUI 'term' is not useful
Problem:    When running a terminal from the GUI 'term' is not useful.
Solution:   Use $TERM in the GUI if it starts with "xterm". (closes #2776)
2018-04-05 22:15:22 +02:00
3aa67fb453 patch 8.0.1664: test failure because of not allocating enough space
Problem:    Test failure because of not allocating enough space.
Solution:   Allocate more bytes.
2018-04-05 21:04:15 +02:00
86676c949f patch 8.0.1663: cannot build without multi-byte feature
Problem:    Cannot build without multi-byte feature.
Solution:   Add #ifdef.
2018-04-05 18:56:48 +02:00
4a69634b1b patch 8.0.1662: showing dump diff doesn't mention both file names
Problem:    Showing dump diff doesn't mention both file names.
Solution:   Add the file name in the separator line.
2018-04-05 18:45:26 +02:00
878c96d5b9 patch 8.0.1661: warnings from 64 bit compiler
Problem:    Warnings from 64 bit compiler.
Solution:   Add type casts. (Mike Williams)
2018-04-04 23:00:06 +02:00
333b80acf3 patch 8.0.1660: the terminal API "drop" command doesn't support options
Problem:    The terminal API "drop" command doesn't support options.
Solution:   Implement the options.
2018-04-04 22:57:29 +02:00
1f8495cf48 patch 8.0.1659: scroll events not recognized for some xterm emulators
Problem:    Scroll events not recognized for some xterm emulators.
Solution:   Recognize mouse codes 0x40 and 0x41 as scroll events.
2018-04-04 21:53:11 +02:00
79cf7c0d45 patch 8.0.1658: capitalize argument not available in long form
Problem:    Capitalize argument not available in long form.
Solution:   Recognize -capitalize.  Update man page.
2018-04-03 14:21:16 +02:00
9af9778209 patch 8.0.1657: crash when reading a channel
Problem:    Crash when reading a channel.
Solution:   Clear the write flag before writing. (idea by Shinya Ohyanagi,
            closes #2769).
2018-04-03 12:51:01 +02:00
8b31a6ff7a patch 8.0.1656: no option to have xxd produce upper case variable names
Problem:    No option to have xxd produce upper case variable names.
Solution:   Add the -C argument. (Matt Panaro closes #2772)
2018-04-03 12:17:25 +02:00
25a6e8a769 Small runtime update 2018-03-30 12:27:32 +02:00
f3ba14ffd3 patch 8.0.1655: outdated gdb message in terminal debugger unclear
Problem:    Outdated gdb message in terminal debugger unclear.
Solution:   Specifically mention the required gdb version.  Avoid getting
            stuck on pagination.
2018-03-29 18:29:51 +02:00
ab943431d8 Update runtime files 2018-03-29 18:27:07 +02:00
7b24ce08fe patch 8.0.1654: warnings for conversion of void to function pointer
Problem:    Warnings for conversion of void to function pointer.
Solution:   Use a temp variable that is a function pointer.
2018-03-29 18:15:26 +02:00
1834d37396 patch 8.0.1653: screen dump is made too soon
Problem:    Screen dump is made too soon.
Solution:   Wait until the ruler is displayed. (Ozaki Kiichi, closes #2755)
2018-03-29 17:40:46 +02:00
f06b0b6c8f patch 8.0.1652: term_dumpwrite() does not output composing characters
Problem:    term_dumpwrite() does not output composing characters.
Solution:   Use the cell index.
2018-03-29 17:22:24 +02:00
0751f51a5b patch 8.0.1651: cannot filter :ls output for terminal buffers
Problem:    Cannot filter :ls output for terminal buffers.
Solution:   Add flags for terminal buffers. (Marcin Szamotulski, closes #2751)
2018-03-29 16:37:16 +02:00
0c72fe4ed8 patch 8.0.1650: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_LISTCMDS, no reason to leave out buffer commands.
2018-03-29 16:04:08 +02:00
cd43effeca patch 8.0.1649: no completion for argument list commands
Problem:    No completion for argument list commands.
Solution:   Add arglist completion. (Yegappan Lakshmanan, closes #2706)
2018-03-29 15:55:38 +02:00
1b2f61e732 patch 8.0.1648: resource fork tool doesn't work on Python 3
Problem:    Resource fork tool doesn't work on Python 3.
Solution:   Use "print()" instead of "print". (Marius Gedminas)
2018-03-27 21:12:01 +02:00
2a77d21f78 patch 8.0.1647: terminal API may call any user function
Problem:    Terminal API may call a function not meant to be called by this
            API.
Solution:   Require the function to start with Tapi_.
2018-03-26 21:38:52 +02:00
4368d5ce8a patch 8.0.1646: MS-Windows: executable contains unreferenced functions
Problem:    MS-Windows: executable contains unreferenced functions and data.
Solution:   Add /opt:ref to the compiler command. (Ken Takata)
2018-03-26 20:55:10 +02:00
086eb87695 patch 8.0.1645: test for terminal response to escape sequence may fail
Problem:    Test for terminal response to escape sequence fails for some
            people. (toothpik)
Solution:   Run "cat" and let it echo the characters.
2018-03-25 21:24:12 +02:00
cf67a509e9 patch 8.0.1644: terminal API tests still fail
Problem:    Terminal API tests still fail.
Solution:   Explicitly set 'title' in the terminal job. (Ozaki Kiichi,
            closes #2750)
2018-03-25 20:31:32 +02:00
2de50f8762 patch 8.0.1643: terminal API tests fail
Problem:    Terminal API tests fail.
Solution:   Explicitly set 'title'.
2018-03-25 19:09:56 +02:00
15a1c3fdc1 patch 8.0.1642: running Vim in terminal fails with two windows
Problem:    Running Vim in terminal fails with two windows.
Solution:   Pass the number of rows to RunVimInTerminal().
2018-03-25 18:56:25 +02:00
8fbaeb195d patch 8.0.1641: job in terminal can't communicate with Vim
Problem:    Job in terminal can't communicate with Vim.
Solution:   Add the terminal API.
2018-03-25 18:20:17 +02:00
65873846e0 patch 8.0.1640: Test_cwd() is flaky
Problem:    Test_cwd() is flaky.
Solution:   Add to list of flaky tests.
2018-03-25 17:12:58 +02:00
b5b49a3b43 patch 8.0.1639: libvterm code lags behind master
Problem:    Libvterm code lags behind master.
Solution:   Sync to head, solve merge problems.
2018-03-25 16:20:37 +02:00
e7499ddc33 patch 8.0.1638: popup test fails depending on environment variable
Problem:    Popup test fails depending on environment variable.
Solution:   Reset $COLORFGBG when running Vim in a terminal. (closes #2693)
2018-03-24 17:56:13 +01:00
897e63c4c0 patch 8.0.1637: no test for term_dumpdiff() options argument
Problem:    No test for term_dumpdiff() options argument.
Solution:   Add a test.
2018-03-24 17:16:33 +01:00
45d2a64f96 patch 8.0.1636: no test for term_dumpload() and term_dumpdiff()
Problem:    No test for term_dumpload() and term_dumpdiff().
Solution:   Add tests.
2018-03-24 14:30:32 +01:00
16d7eced1a patch 8.0.1635: undefining _POSIX_THREADS causes problems with Python 3
Problem:    Undefining _POSIX_THREADS causes problems with Python 3. (Micah
            Bucy, closes #2748)
Solution:   Remove the lines.
2018-03-24 14:06:15 +01:00
75b0a888e4 patch 8.0.1634: the ex_vimgrep() function is too long
Problem:    The ex_vimgrep() function is too long.
Solution:   Split it in smaller functions. (Yegappan Lakshmanan)
2018-03-24 14:01:56 +01:00
8c64a36e40 patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Problem:    A TextChanged autocmd triggers when it is defined after creating a
            buffer.
Solution:   Set b_last_changedtick when opening a buffer. (Hirohito Highlight,
            closes #2742)
2018-03-23 22:39:31 +01:00
47015b80a0 patch 8.0.1632: in a terminal dump NUL and space are different
Problem:    In a terminal dump NUL and space considered are different,
            although they are displayed the same.
Solution:   When encountering NUL handle it like space.
2018-03-23 22:10:34 +01:00
948a796bfe patch 8.0.1631: testing with Vim running in terminal is a bit flaky
Problem:    Testing with Vim running in terminal is a bit flaky.
Solution:   Delete any .swp file so that later tests don't fail.
2018-03-23 20:37:45 +01:00
295ac5ab5e patch 8.0.1630: trimming white space is not that easy
Problem:    Trimming white space is not that easy.
Solution:   Add the trim() function. (Bukn, closes #1280)
2018-03-22 23:04:02 +01:00
62b7f6a139 patch 8.0.1629: Mac: getpagesize() is deprecated
Problem:    Mac: getpagesize() is deprecated.
Solution:   Use sysconf() instead. (Ozaki Kiichi, closes #2741)
2018-03-22 21:44:07 +01:00
0bd052ba12 patch 8.0.1628: channel log doesn't mention exiting
Problem:    Channel log doesn't mention exiting.
Solution:   Add a ch_log() call in getout().
2018-03-22 20:33:56 +01:00
7735dafb58 patch 8.0.1627: compiler warning for visibility attribute not supported
Problem:    Compiler warning for visibility attribute not supported on MinGW
            builds.
Solution:   Don't add the attribute when we don't expect it to work.
            (Christian Brabandt)
2018-03-22 20:26:50 +01:00
b571c63d48 patch 8.0.1626: compiler warning for possible loss of data
Problem:    Compiler warning for possible loss of data.
Solution:   Use size_t instead of int. (Christian Brabandt)
2018-03-21 22:27:59 +01:00
29dfa5af3c patch 8.0.1625: test_quotestar is flaky when run in GTK GUI
Problem:    Test_quotestar is flaky when run in GTK GUI.
Solution:   Do not call lose_selection when invoked from
            selection_clear_event().
2018-03-20 21:24:45 +01:00
5a3a49ed59 patch 8.0.1624: options for term_dumpdiff() and term_dumpload() not implemented
Problem:    Options for term_dumpdiff() and term_dumpload() not implemented
            yet.
Solution:   Implement the relevant options.
2018-03-20 18:35:53 +01:00
3e8d385347 patch 8.0.1623: terminal kill tests are flaky
Problem:    Terminal kill tests are flaky.
Solution:   Instead of running Vim in a terminal, run it as a normal command.
2018-03-20 17:43:01 +01:00
6ed86ad170 patch 8.0.1622: possible NULL pointer dereference
Problem:    Possible NULL pointer dereferencey. (Coverity)
Solution:   Reverse the check for a NULL pointer.
2018-03-20 13:30:42 +01:00
6185903e3d patch 8.0.1621: using invalid default value for highlight attribute
Problem:    Using invalid default value for highlight attribute.
Solution:   Use zero instead of -1.
2018-03-20 13:00:25 +01:00
e26e0d2b83 patch 8.0.1620: reading spell file has no good EOF detection
Problem:    Reading spell file has no good EOF detection.
Solution:   Check for EOF at every character read for a length field.
2018-03-20 12:34:04 +01:00
81c3c89a28 patch 8.0.1619: Win32 GUI: crash when winpty is not installed
Problem:    Win32 GUI: crash when winpty is not installed and trying to use
            :shell in a terminal window.
Solution:   Check for NULL return form term_start(). (Yasuhiro Matsumoto,
            closes #2727)
2018-03-20 11:41:44 +01:00
ecadf4377f patch 8.0.1618: color Grey50 is missing in the compiled-in table
Problem:    Color Grey50, used for ToolbarLine, is missing in the compiled-in
            table.
Solution:   Add the color to the list. (Kazunobu Kuriyama)
2018-03-20 11:17:04 +01:00
42f652f733 patch 8.0.1617: Win32: :shell command in the GUI crashes
Problem:    Win32: :shell command in the GUI crashes.
Solution:   Handle the situation that "cmd" is NULL. (Yasuhiro Matsumoto,
            closes #2721)
2018-03-19 21:44:37 +01:00
f05fa37822 patch 8.0.1616: Win32: shell commands in the GUI open a new console
Problem:    Win32: shell commands in the GUI open a new console.
Solution:   Use a terminal window for interactive use when 'guioptions'
            contains "!".
2018-03-18 19:29:34 +01:00
52acb110ac patch 8.0.1615: term_dumpload() does not use the right colors
Problem:    term_dumpload() does not use the right colors.
Solution:   Initialize colors when not using create_vterm().
2018-03-18 19:20:22 +01:00
98ef233e14 Update runtime files. Convert a couple of help files to utf-8. 2018-03-18 14:44:37 +01:00
9ef2a30e6f patch 8.0.1614: "make tags" doesn't include libvterm
Problem:    "make tags" doesn't include libvterm.
Solution:   Add the libvterm sources to the tags command.
2018-03-17 15:55:26 +01:00
a2150ac016 patch 8.0.1613: warning for unused variable in tiny build
Problem:    Warning for unused variable in tiny build. (Tony Mechelynck)
Solution:   Move declaration to inner block.
2018-03-17 13:15:17 +01:00
1dd98334d6 patch 8.0.1612: need to close terminal after shell stopped
Problem:    Need to close terminal after shell stopped.
Solution:   Make :terminal without argument close the window by default.
2018-03-16 22:54:53 +01:00
af23bad0fd patch 8.0.1611: CTRL-W in system terminal does not go to job
Problem:    CTRL-W in system terminal does not go to job.
Solution:   Do not use CTRL-W as a terminal command in a system terminal.
2018-03-16 22:20:49 +01:00
4ac31eeff0 patch 8.0.1610: cannot build without GUI
Problem:    Cannot build without GUI.
Solution:   Add #ifdef.
2018-03-16 21:34:25 +01:00
135682517b patch 8.0.1609: shell commands in the GUI use a dumb terminal
Problem:    Shell commands in the GUI use a dumb terminal.
Solution:   Add the "!" flag to 'guioptions' to execute system commands in a
            special terminal window.  Only for Unix now.
2018-03-16 20:46:58 +01:00
43cb626214 patch 8.0.1608: Win32: directx not enabled by default
Problem:    Win32: directx not enabled by default.
Solution:   Change Makefile to enable directx by default. (Ken Takata)
2018-03-14 21:39:02 +01:00
62dd452d02 patch 8.0.1607: --clean loads user settings from .gvimrc
Problem:    --clean loads user settings from .gvimrc.
Solution:   Behave like "-U NONE" was used. (Ken Takata)
2018-03-14 21:20:02 +01:00
228de1dfd2 patch 8.0.1606: singular/plural variants not translated
Problem:    Singular/plural variants not translated.
Solution:   Add NGETTEXT argument to xgettext. (Sergey Alyoshin)
2018-03-14 20:11:12 +01:00
012eb66293 patch 8.0.1605: terminal test is a bit flaky
Problem:    Terminal test is a bit flaky.
Solution:   Check for the shell prompt.  Use more lambda functions.
2018-03-13 17:55:27 +01:00
a903472cfa patch 8.0.1604: paste test may fail if $DISPLAY is not set
Problem:    Paste test may fail if $DISPLAY is not set.
Solution:   Add WorkingClipboard() and use it in the paste test.
2018-03-13 15:43:46 +01:00
f118d4847e patch 8.0.1603: cannot build with +terminal but without +menu
Problem:    Cannot build with +terminal but without +menu.
Solution:   Add #ifdef. (Damien)
2018-03-13 13:14:00 +01:00
625f0c1eb7 patch 8.0.1602: crash in parsing JSON
Problem:    Crash in parsing JSON.
Solution:   Fail when using array or dict as dict key. (Damien)
2018-03-13 13:10:41 +01:00
ff1e879577 patch 8.0.1601: highlight test fails on Win32
Problem:    Highlight test fails on Win32.
Solution:   Check for vtp and vcon support.
2018-03-12 22:16:37 +01:00
f708ac592f patch 8.0.1600: crash when setting t_Co to zero when 'termguicolors' is set
Problem:    Crash when setting t_Co to zero when 'termguicolors' is set.
Solution:   Use IS_CTERM instead of checking the number of colors.
            (closes #2710)
2018-03-12 21:48:32 +01:00
3e4b84d0b5 patch 8.0.1599: no error message when gdb does not support debugger
Problem:    No error message when gdb does not support the terminal debugger.
Solution:   Check for the response to open the Machine Interface.
2018-03-11 20:51:52 +01:00
c48369c3fc patch 8.0.1598: cannot select text in a terminal with the mouse
Problem:    Cannot select text in a terminal with the mouse.
Solution:   When a job in a terminal is not consuming mouse events, use them
            for modeless selection.  Also stop Insert mode when clicking in a
            terminal window.
2018-03-11 19:30:45 +01:00
e87303af32 patch 8.0.1597: autocommand events are not sorted
Problem:    Autocommand events are not sorted.
Solution:   Sort the autocommand events.
2018-03-11 17:02:12 +01:00
b852c3e64d patch 8.0.1596: no autocommand specifically for opening a terminal window
Problem:    No autocommand specifically for opening a terminal window.
Solution:   Add TerminalOpen. (?, closes #2484)
2018-03-11 16:55:36 +01:00
12a96de430 patch 8.0.1595: no autocommand triggered before exiting
Problem:    No autocommand triggered before exiting.
Solution:   Add the ExitPre autocommand event.
2018-03-11 14:44:18 +01:00
435acdb88c patch 8.0.1594: :conform qall not tested with active terminal window
Problem:    :conform qall not tested with active terminal window.
Solution:   Add a test.
2018-03-10 20:51:25 +01:00
25cdd9c33b patch 8.0.1593: :qall never exits with an active terminal window
Problem:    :qall never exits with an active terminal window.
Solution:   Add a way to kill a job in a terminal window.
2018-03-10 20:28:12 +01:00
b5b7562475 Update runtime files. 2018-03-09 22:22:21 +01:00
4d8bac8bf5 patch 8.0.1592: terminal windows in a session are not properly restored
Problem:    Terminal windows in a session are not properly restored.
Solution:   Add "terminal" in 'sessionoptions'.  When possible restore the
            command running in a terminal.
2018-03-09 21:33:34 +01:00
20586cb4f4 patch 8.0.1591: MS-Windows: when reparsing the arguments 'wildignore' matters
Problem:    MS-Windows: when reparsing the arguments 'wildignore' matters.
Solution:   Save and reset 'wildignore'. (Yasuhiro Matsumoto, closes #2702)
2018-03-08 22:03:14 +01:00
1a84024037 patch 8.0.1590: padding in list type wastes memory
Problem:    Padding in list type wastes memory.
Solution:   Reorder struct members to optimize padding. (Dominique Pelle,
            closes #2704)
2018-03-08 21:46:43 +01:00
d7db27bafd patch 8.0.1589: error for setting 'modifiable' when resetting it
Problem:    Error for setting 'modifiable' when resetting it.
Solution:   Check if 'modifiable' was actually set.
2018-03-07 23:02:33 +01:00
52f18a112a patch 8.0.1588: popup menu hangs after typing CTRL-C
Problem:    Popup menu hangs after typing CTRL-C.
Solution:   Make CTRL-C exit the loop. (Ozaki Kiichi, closes #2697)
2018-03-07 22:09:11 +01:00
3324d0a864 patch 8.0.1587: inserting from the clipboard doesn't work literally
Problem:    inserting from the clipboard doesn't work literally
Solution:   When pasting from the * or + register always assume literally.
2018-03-06 19:51:13 +01:00
201dc67db5 patch 8.0.1586: imactivatefunc does not work on non-GUI Mac
Problem:    Imactivatefunc does not work on non-GUI Mac.
Solution:   Fix logic in #ifdef.
2018-03-06 18:59:57 +01:00
ebf142a1ed patch 8.0.1585: enabling beval_term feature in Win32 GUI
Problem:    Enabling beval_term feature in Win32 GUI.
Solution:   Only enable beval_term in Win32 console.
2018-03-06 18:20:03 +01:00
f536bf6d45 patch 8.0.1584: using C99 in Mac file gives compiler warning messages
Problem:    Using C99 in Mac file gives compiler warning messages.
Solution:   Add #prama's to avoid the warnings. (Kazunobu Kuriyama)
2018-03-06 17:55:01 +01:00
fc6f16b57c patch 8.0.1583: using C99 comment
Problem:    Using C99 comment.
Solution:   Use old style comment. (Kazunobu Kuriyama)
2018-03-06 17:43:22 +01:00
157d813be4 patch 8.0.1582: in the MS-Windows console mouse movement is not used
Problem:    In the MS-Windows console mouse movement is not used.
Solution:   Pass mouse movement events when useful.
2018-03-06 17:09:20 +01:00
3b3a9a5609 patch 8.0.1581: cannot build Win32 GUI without +eval
Problem:    Cannot build Win32 GUI without +eval.
Solution:   Define HAVE_INPUT_METHOD without +eval. (Ken Takata)
2018-03-06 16:11:47 +01:00
946acdac5b patch 8.0.1580: FEAT_CURSORBIND and FEAT_SCROLLBIND are unused
Problem:    FEAT_CURSORBIND and FEAT_SCROLLBIND are unused.
Solution:   Delete them.
2018-03-06 15:06:19 +01:00
df0d24b627 patch 8.0.1579: virtual replace test fails in GUI
Problem:    Virtual replace test fails in GUI.
Solution:   Don't save key options if they were not set.
2018-03-06 14:22:58 +01:00
69f5a3011d patch 8.0.1578: no test for :popup in terminal
Problem:    No test for :popup in terminal.
Solution:   Add a screen dump test.
2018-03-06 13:23:08 +01:00
e780848150 patch 8.0.1577: virtual replace test fails on MS-Windows
Problem:    Virtual replace test fails on MS-Windows.
Solution:   Make adding a termcap entry work for a builtin terminal.
            Restore terminal keys in a better way.
2018-03-06 13:17:23 +01:00
16896a1019 patch 8.0.1576: Perl VIM::Buffers() does not find every buffer
Problem:    Perl VIM::Buffers() does not find every buffer.
Solution:   Also find unlisted buffer by number or name. (Chris Weyl,
            closes #2692)
2018-03-06 12:25:56 +01:00
63e82db6fc patch 8.0.1575: crash when using virtual replace
Problem:    Crash when using virtual replace.
Solution:   Adjust orig_line_count.  Add more tests. (Christian Brabandt)
2018-03-06 12:10:48 +01:00
987723e084 patch 8.0.1574: show cursor in wrong place when using popup menu
Problem:    Show cursor in wrong place when using popup menu. (Wei Zhang)
Solution:   Force updating the cursor position.  Fix skipping over unused
            entries.
2018-03-06 11:43:04 +01:00
89894aa671 patch 8.0.1573: getwinpos(1) may cause response to be handled as command
Problem:    getwinpos(1) may cause response to be handled as command.
Solution:   Handle any cursor position report once one was request. (partly by
            Hirohito Higashi)
2018-03-05 22:43:10 +01:00
362dc33835 patch 8.0.1572: Mac: getting memory size doesn't work everywhere
Problem:    Mac: getting memory size doesn't work everywhere.
Solution:   Use MACOS_X instead of MACOS_X_DARWIN. (Kazunobu Kuriyama)
2018-03-05 21:59:37 +01:00
40d77b0ec1 patch 8.0.1571: can't build without GUI
Problem:    Can't build without GUI.
Solution:   Adjust #ifdef for gui_find_menu().
2018-03-05 21:32:27 +01:00
29a2c08d79 patch 8.0.1570: can't use :popup for a menu in the terminal
Problem:    Can't use :popup for a menu in the terminal. (Wei Zhang)
Solution:   Make :popup work in the terminal.  Also fix that entries were
            included that don't work in the current state.
2018-03-05 21:06:23 +01:00
28ada699c1 patch 8.0.1569: warning for uninitialized variable from gcc
Problem:    Warning for uninitialized variable from gcc.
Solution:   Initialize the variable.
2018-03-05 12:42:42 +01:00
24fe475894 patch 8.0.1568: can't build on older Mac, header file is missing
Problem:    Can't build on older Mac, header file is missing.
Solution:   Remove the header file. (Ozaki Kiichi, closes #2691)
2018-03-05 10:54:53 +01:00
6e35a11490 patch 8.0.1567: cannot build Win32 GUI without IME
Problem:    Cannot build Win32 GUI without IME. (John Marriott)
Solution:   Adjust when IME_WITHOUT_XIM and HAVE_INPUT_METHOD are defined and
            use it in a few more places.
2018-03-04 21:36:05 +01:00
8a3bb56230 patch 8.0.1566: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.
2018-03-04 20:14:14 +01:00
107279c17b patch 8.0.1565: can't build Mac version without GUI
Problem:    Can't build Mac version without GUI.
Solution:   Adjust when IME_WITHOUT_XIM is defined.
2018-03-04 18:57:19 +01:00
f2bd8ef2b4 patch 8.0.1564: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the +autocmd feature. Takes away 450 #ifdefs and
            increases code size of tiny Vim by only 40 Kbyte.
2018-03-04 18:08:14 +01:00
3f54fd319f patch 8.0.1563: timeout of getwinposx() can be too short
Problem:    Timeout of getwinposx() can be too short. (lilydjwg)
Solution:   Add getwinpos(). (closes #2689)
2018-03-03 21:29:55 +01:00
71137fed4d patch 8.0.1562: the terminal debugger can't set a breakpoint with the mouse
Problem:    The terminal debugger can't set a breakpoint with the mouse.
Solution:   Add popup menu entries.
2018-03-03 20:47:21 +01:00
069dafc1de patch 8.0.1561: crash with rust syntax highligting
Problem:    Crash with rust syntax highligting. (Edd Barrett)
Solution:   Avoid going past the end of an empty line.
2018-03-03 20:02:19 +01:00
3767b61ad9 patch 8.0.1560: build failure without GUI on MS-Windows
Problem:    Build failure without GUI on MS-Windows.
Solution:   Adjust #ifdef for vcol2col().
2018-03-03 19:51:58 +01:00
658a154cbf patch 8.0.1559: build failure without GUI
Problem:    Build failure without GUI.
Solution:   Adjust #ifdef for get_fpos_of_mouse().
2018-03-03 19:29:43 +01:00
aef8c3da2b patch 8.0.1558: no right-click menu in a terminal
Problem:    No right-click menu in a terminal.
Solution:   Implement the right click menu for the terminal.
2018-03-03 18:59:16 +01:00
c71807db9c patch 8.0.1557: printf() does not work with only one argument
Problem:    printf() does not work with only one argument. (Daniel Hahler)
Solution:   Allow using just the format. (Ken Takata, closes #2687)
2018-03-03 15:06:52 +01:00
590ec878a5 patch 8.0.1556: may not parse the t_RS response correctly
Problem:    May not parse the t_RS response correctly, resulting in wrong
            characters in the input stream.
Solution:   When the t_RS response is partly received wait for more
            characters.
2018-03-02 20:58:42 +01:00
77780b66f4 patch 8.0.1555: build error for some combination of features
Problem:    Build error for some combination of features.
Solution:   Declare variable in more situations.
2018-03-01 23:10:45 +01:00
0726870326 patch 8.0.1554: custom plugins loaded with --clean
Problem:    Custom plugins loaded with --clean.
Solution:   Do not include the home directory in 'runtimepath'.
2018-03-01 21:57:32 +01:00
5f73ef8d20 patch 8.0.1553: cannot see what digraph is used to insert a character
Problem:    Cannot see what digraph is used to insert a character.
Solution:   Show the digraph with the "ga" command. (Christian Brabandt)
2018-02-27 21:09:30 +01:00
8195247054 patch 8.0.1552: may leak file descriptors when executing job
Problem:    May leak file descriptors when executing job.
Solution:   Close more file descriptors. (Ozaki Kiichi, closes #2531)
2018-02-27 19:10:00 +01:00
988615f26f patch 8.0.1551: on Mac 'maxmemtot' is set to a weird value
Problem:    On Mac 'maxmemtot' is set to a weird value.
Solution:   For Mac use total memory and subtract system memory. For other
            systems accept both a 32 bit and 64 bit result. (Ozaki Kiichi,
            closes #2646)
2018-02-27 17:58:20 +01:00
792f0e3659 patch 8.0.1550: various small problems in source files
Problem:    Various small problems in source files.
Solution:   Fix the problems.
2018-02-27 17:27:13 +01:00
5d7ead3bc8 patch 8.0.1549: various small problems in test files
Problem:    Various small problems in test files.
Solution:   Include small changes.
2018-02-27 17:17:42 +01:00
3ad8772ef0 Include Serbian spell input files 2018-02-27 17:11:01 +01:00
75542ec9f6 patch 8.0.1548: screen dump test script not included in distribution
Problem:    Screen dump test script not included in distribution.
Solution:   Add the script to the list of distributed files.
2018-02-27 17:07:43 +01:00
9c474b2773 patch 8.0.1547: undo in the options window makes it empty
Problem:    Undo in the options window makes it empty.
Solution:   Set 'undolevels' while filling the buffer. (Yasuhiro Matthew,
            closes #2645)
2018-02-27 17:04:25 +01:00
c8bcfe7efd patch 8.0.1546: using feedkeys() in a terminal may trigger mappings
Problem:    Using feedkeys() in a terminal window may trigger mappings.
            (Charles Sheridan)
Solution:   Avoid triggering a mapping when peeking for a key.
2018-02-27 16:29:28 +01:00
8226ac6b59 patch 8.0.1545: screen dumps not included in distribution
Problem:    Screen dumps not included in distribution.
Solution:   Add dumps to the list of distributed files.
2018-02-27 14:54:53 +01:00
22f1d0e35e Updated runtime files.
Add Serbian translations and spell checking.
2018-02-27 14:53:30 +01:00
d4fc577e60 patch 8.0.1544: when using 'termguicolors' SpellBad doesn't show
Problem:    When using 'termguicolors' SpellBad doesn't show.
Solution:   When the GUI colors are not set fall back to the cterm colors.
2018-02-27 14:39:03 +01:00
33ef5bb0e4 patch 8.0.1543: with 'termguicolors' Normal color doesn't work correctly
Problem:    With 'termguicolors' Normal color doesn't work correctly.
Solution:   Set cterm_normal_bg_gui_color and cterm_normal_fg_color always.
            (Kazunobu Kuriyama, closes #981, closes #2332)
2018-02-27 13:04:59 +01:00
9271d058c9 patch 8.0.1542: terminal screen dump does not include cursor position
Problem:    Terminal screen dump does not include cursor position.
Solution:   Mark the cursor position in the cump.
2018-02-25 21:39:46 +01:00
36f923014a patch 8.0.1541: synpat_T is taking too much memory
Problem:    synpat_T is taking too much memory.
Solution:   Reorder members to reduce padding. (Dominique Pelle, closes #2671)
2018-02-24 21:36:34 +01:00
2b10bcbfc1 patch 8.0.1540: popup menu positioning fails with longer string
Problem:    Popup menu positioning fails with longer string.
Solution:   Only align with right side of window when width is less than
            'pumwidth' (closes #2661)
2018-02-24 21:25:44 +01:00
6bb2cdfe60 patch 8.0.1539: no test for the popup menu positioning
Problem:    No test for the popup menu positioning.
Solution:   Add a screendump test for the popup menu.
2018-02-24 19:53:53 +01:00
bb008dd323 patch 8.0.1538: popupmenu is too far left when completion is long
Problem:    Popupmenu is too far left when completion is long. (Linwei)
Solution:   Adjust column computations. (Hirohito Higashi, closes #2661)
2018-02-24 18:59:55 +01:00
085346f5a1 patch 8.0.1537: xxd does not skip NUL lines when using ebcdic
Problem:    Xxd does not skip NUL lines when using ebcdic.
Solution:   Check for a NUL before converting a character for ebcdic. (Tim
            Sell, closes #2668)
2018-02-24 18:30:55 +01:00
791010e648 patch 8.0.1536: quotestar test is flaky when using the GUI
Problem:    Quotestar test is flaky when using the GUI.
Solution:   Add check that the star register arrived at the server.  Increase
            timeouts.
2018-02-24 17:42:28 +01:00
6acadda8d6 patch 8.0.1535: C syntax test still fails when using gvim
Problem:    C syntax test still fails when using gvim.
Solution:   Clear Normal cterm highlighting instead of setting it.
2018-02-24 16:51:32 +01:00
b7ea7cb8e4 patch 8.0.1534: C syntax test fails when using gvim
Problem:    C syntax test fails when using gvim
Solution:   Force running in a terminal.  Check that 'background' is correct
            even when $COLORFGBG is set.
2018-02-24 14:38:51 +01:00
674e482d13 patch 8.0.1533: libterm doesn't support requesting fg and bg color
Problem:    Libterm doesn't support requesting fg and bg color.
Solution:   Implement t_RF and t_RB.
2018-02-24 14:03:56 +01:00
cc0f2be880 patch 8.0.1532: compiler warnings without termguicolors feature
Problem:    Compiler warnings without termguicolors feature.
Solution:   Add #ifdef. (John Marriott)  Cleanup the code a bit.
2018-02-23 18:23:30 +01:00
cafafb381a patch 8.0.1531: cannot use 24 bit colors in MS-Windows console
Problem:    Cannot use 24 bit colors in MS-Windows console.
Solution:   Add support for vcon. (Nobuhiro Takasaki, Ken Takasaki,
            fixes #1270, fixes #2060)
2018-02-22 21:07:09 +01:00
19eb6658ec patch 8.0.1530: dump test fails when using a shadow directory
Problem:    Dump test fails when using a shadow directory.
Solution:   Add the directory to the list of symlinks to make (Elimar
            Riesebieter)
2018-02-22 11:42:49 +01:00
3049418f3d patch 8.0.1529: assert_equalfile() does not close file descriptors
Problem:    Assert_equalfile() does not close file descriptors. (Coverity)
Solution:   Close the file descriptors.
2018-02-20 21:46:05 +01:00
81226e0310 patch 8.0.1528: dead code found
Problem:    Dead code found.
Solution:   Remove the useless lines. (CodeAi, closes #2656)
2018-02-20 21:44:45 +01:00
3cc9f7440d patch 8.0.1527: screen dump test fails on MS-Windows
Problem:    Screen dump test fails on MS-Windows.
Solution:   Skip dump test on MS-Windows for now.
2018-02-20 17:09:16 +01:00
da65058a9c patch 8.0.1526: no test using a screen dump yet
Problem:    No test using a screen dump yet.
Solution:   Add a test for C syntax highlighting.  Add helper functions.
2018-02-20 15:51:40 +01:00
7a76092a51 patch 8.0.1525: using :wqa exits even if a job runs in a terminal window
Problem:    Using :wqa exits even if a job runs in a terminal window. (Jason
            Felice)
Solution:   Check if a terminal has a running job. (closes #2654)
2018-02-19 23:10:02 +01:00
9c8816bd30 patch 8.0.1524: compiler warnings for uninitialized variables
Problem:    Compiler warnings for uninitialized variables. (Tony Mechelynck)
Solution:   Initialize variables.
2018-02-19 21:50:42 +01:00
d96ff16511 patch 8.0.1523: cannot write and read terminal screendumps
Problem:    Cannot write and read terminal screendumps.
Solution:   Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
            Also add assert_equalfile().
2018-02-18 22:13:29 +01:00
4287ed33dd patch 8.0.1522: popup menu is positioned in the wrong place
Problem:    Popup menu is positioned in the wrong place. (Davit Samvelyan,
            Boris Staletic)
Solution:   Correct computation of the column and the conditions for that.
            (Hirohito Higashi, closes #2640)
2018-02-17 20:35:29 +01:00
73cddfd559 patch 8.0.1521: Shift-Tab does not work in a terminal window
Problem:    Shift-Tab does not work in a terminal window.
Solution:   Recognize Shift-Tab key press. (Jsees Luehrs, closes #2644)
2018-02-16 20:01:04 +01:00
181ca99e16 patch 8.0.1520: cursor in wrong line when using a WinBar in Terminal window
Problem:    Cursor is in the wrong line when using a WinBar in a Terminal
            window.
Solution:   Adjust the row number. (Christian Brabandt, closes #2362)
2018-02-13 21:19:21 +01:00
341a64c9ca patch 8.0.1519: getchangelist() does not use argument as bufname()
Problem:    Getchangelist() does not use argument as bufname().
Solution:   Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641)
2018-02-13 19:21:17 +01:00
2be5733152 patch 8.0.1518: error messages suppressed after ":silent! try"
Problem:    Error messages suppressed after ":silent! try". (Ben Reilly)
Solution:   Restore emsg_silent before executing :try. (closes #2531)
2018-02-13 18:05:18 +01:00
bc197195b0 patch 8.0.1517: invalid memory acces with pattern using look-behind match
Problem:    Invalid memory acces with pattern using look-behind match.
            (Dominique Pelle)
Solution:   Get a pointer to the right line.
2018-02-13 16:35:06 +01:00
b3292fa2d3 patch 8.0.1516: errors for job options are not very specific
Problem:    Errors for job options are not very specific.
Solution:   Add more specific error messages.
2018-02-13 15:17:58 +01:00
ab5e7c3deb patch 8.0.1515: BufWinEnter event fired when opening hidden terminal
Problem:    BufWinEnter event fired when opening hidden terminal.
Solution:   Do not fire BufWinEnter when the terminal is midden and does not
            open a window. (Kenta Sato, closes #2636)
2018-02-13 14:07:18 +01:00
07ad816525 patch 8.0.1514: getting the list of changes is not easy
Problem:    Getting the list of changes is not easy.
Solution:   Add the getchangelist() function. (Yegappan Lakshmanan,
            closes #2634)
2018-02-13 13:59:59 +01:00
4867974137 patch 8.0.1513: the jumplist is not always properly cleaned up
Problem:    The jumplist is not always properly cleaned up.
Solution:   Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan)
2018-02-13 13:33:29 +01:00
e4db7aedab patch 8.0.1512: warning for possibly using NULL pointer
Problem:    Warning for possibly using NULL pointer. (Coverity)
Solution:   Skip using the pointer if it's NULL.
2018-02-13 13:12:11 +01:00
3198870137 patch 8.0.1511: some code for the debugger watch expression is clumsy
Problem:    Some code for the debugger watch expression is clumsy.
Solution:   Clean up the code.
2018-02-13 12:57:42 +01:00
b48e96f61c patch 8.0.1510: cannot test if a command causes a beep
Problem:    Cannot test if a command causes a beep.
Solution:   Add assert_beeps().
2018-02-13 12:26:14 +01:00
294959528e patch 8.0.1509: test for failing drag-n-drop command no longer fails
Problem:    Test for failing drag-n-drop command no longer fails.
Solution:   Check for the "dnd" feature.
2018-02-12 22:49:00 +01:00
5a656864a0 patch 8.0.1508: the :drop command is not always available
Problem:    The :drop command is not always available.
Solution:   Include :drop in all builds. (Yasuhiro Matsumoto, closes #2639)
2018-02-12 22:08:06 +01:00
bfbea567d8 patch 8.0.1507: timer test is a bit flaky
Problem:    Timer test is a bit flaky.
Solution:   Add it to the list of flaky tests.
2018-02-12 21:31:35 +01:00
c19e1d1ba5 patch 8.0.1506: new version of HP NonStop (Tandem) doesn't like a header
Problem:    New version of HP NonStop (Tandem) doesn't like the default header
            for setenv().
Solution:   Put a #ifdef around the setenv() entry. (Joachim Schmitz)
2018-02-12 20:58:11 +01:00
c6f9f739d3 patch 8.0.1505: debugger can't break on a condition
Problem:    Debugger can't break on a condition. (Charles Campbell)
Solution:   Add ":breakadd expr". (Christian Brabandt, closes #859)
2018-02-11 19:06:26 +01:00
c33ecb2915 patch 8.0.1504: Win32: the screen may be cleared on startup
Problem:    Win32: the screen may be cleared on startup.
Solution:   Only call shell_resized() when the size actually changed. (Ken
            Takata, closes #2527)
2018-02-11 16:40:45 +01:00
cdd09aa51a patch 8.0.1503: access memory beyond end of string
Problem:    Access memory beyond end of string. (Coverity)
Solution:   Keep allocated memory in separate pointer.  Avoid outputting the
            NUL character.
2018-02-11 15:38:40 +01:00
71a43c0137 patch 8.0.1502: in out-of-memory situation character is not restored
Problem:    In out-of-memory situation character is not restored. (Coverity)
Solution:   Restore the character in all situations.
2018-02-11 15:20:20 +01:00
a0221df149 patch 8.0.1501: out-of-memory situation not correctly handled
Problem:    Out-of-memory situation not correctly handled. (Coverity)
Solution:   Check for NULL value.
2018-02-11 15:07:22 +01:00
0549a1e184 patch 8.0.1500: possible NULL pointer dereference
Problem:    Possible NULL pointer dereference. (Coverity)
Solution:   Check for the pointer not being NULL.
2018-02-11 15:02:48 +01:00
4b7e7bed6c patch 8.0.1499: out-of-memory situation not correctly handled
Problem:    Out-of-memory situation not correctly handled. (Coverity)
Solution:   Check for NULL value.
2018-02-11 14:53:30 +01:00
a7e18d237f patch 8.0.1498: getjumplist() returns duplicate entries
Problem:    Getjumplist() returns duplicate entries. (lacygoill)
Solution:   Call cleanup_jumplist(). (Yegappan Lakshmanan)
2018-02-11 14:29:49 +01:00
4f50588ba3 patch 8.0.1497: getting the jump list requires parsing the output of :jumps
Problem:    Getting the jump list requires parsing the output of :jumps.
Solution:   Add getjumplist(). (Yegappan Lakshmanan, closes #2609)
2018-02-10 21:06:32 +01:00
d23a823669 patch 8.0.1496: clearing a pointer takes two lines
Problem:    Clearing a pointer takes two lines.
Solution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
            closes #2629)
2018-02-10 18:45:26 +01:00
42443c7d7f patch 8.0.1495: having 'pumwidth' default to zero has no merit
Problem:    Having 'pumwidth' default to zero has no merit.
Solution:   Make the default 15, as the actual default value.
2018-02-10 18:28:52 +01:00
5a09343719 patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Problem:    No autocmd triggered in Insert mode with visible popup menu.
Solution:   Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
            closes #2372, closes #1691)
            Fix that the TextChanged autocommands are not always triggered
            when sourcing a script.
2018-02-10 18:15:19 +01:00
9b56a57cda patch 8.0.1493: completion items cannot be annotated
Problem:    Completion items cannot be annotated.
Solution:   Add a "user_data" entry to the completion item. (Ben Jackson,
            coses #2608, closes #2508)
2018-02-10 16:19:32 +01:00
b301f6b950 patch 8.0.1492: memory leak in balloon_split()
Problem:    Memory leak in balloon_split().
Solution:   Free the balloon lines. Free the balloon when exiting.
2018-02-10 15:38:35 +01:00
a8f04aa275 patch 8.0.1491: the minimum width of the popup menu is hard coded
Problem:    The minimum width of the popup menu is hard coded.
Solution:   Add the 'pumwidth' option. (Christian Brabandt, James McCoy,
            closes #2314)
2018-02-10 15:36:55 +01:00
2993ac5fce patch 8.0.1490: number of spell regions is spread out through the code
Problem:    Number of spell regions is spread out through the code.
Solution:   Define MAXREGIONS.
2018-02-10 14:12:43 +01:00
7254067ee9 Update runtime files. 2018-02-09 22:00:53 +01:00
5459129af2 patch 8.0.1489: there is no easy way to get the global directory
Problem:    There is no easy way to get the global directory, esp. if some
            windows have a local directory.
Solution:   Make getcwd(-1) return the global directory. (Andy Massimino,
            closes #2606)
2018-02-09 20:53:59 +01:00
0d20737732 patch 8.0.1488: emacs tags no longer work
Problem:    Emacs tags no longer work. (zdohnal)
Solution:   Do not skip over end of line.
2018-02-09 19:25:29 +01:00
8846ac5aed patch 8.0.1487: test 14 fails
Problem:    Test 14 fails.
Solution:   Fix of-by-one error.
2018-02-09 19:24:01 +01:00
82846a00ac patch 8.0.1486: accessing invalid memory with "it"
Problem:    Accessing invalid memory with "it". (Dominique Pelle)
Solution:   Avoid going over the end of the line. (Christian Brabandt,
            closes #2532)
2018-02-09 18:09:54 +01:00
9e33efd152 patch 8.0.1485: weird autocmd may cause arglist to be changed recursively
Problem:    Weird autocmd may cause arglist to be changed recursively.
Solution:   Prevent recursively changing the argument list. (Christian
            Brabandt, closes #2472)
2018-02-09 17:50:28 +01:00
a15ef4588c patch 8.0.1484: reduntant conditions
Problem:    Reduntant conditions.
Solution:   Remove them. (Dominique Pelle)
2018-02-09 16:46:00 +01:00
9d32276b52 patch 8.0.1483: searchpair() might return an invalid value on timeout
Problem:    Searchpair() might return an invalid value on timeout.
Solution:   When the second search times out, do not accept a match from the
            first search. (Daniel Hahler, closes #2552)
2018-02-09 16:04:25 +01:00
02ae9b4a93 patch 8.0.1482: using feedkeys() does not work to test completion
Problem:    Using feedkeys() does not work to test Insert mode completion.
            (Lifepillar)
Solution:   Do not check for typed keys when executing :normal or feedkeys().
            Fix thesaurus completion not working when 'complete' is empty.
2018-02-09 15:06:02 +01:00
1567558b20 patch 8.0.1481: clearing a pointer takes two lines
Problem:    Clearing a pointer takes two lines.
Solution:   Add vim_clear() to free and clear the pointer.
2018-02-09 12:29:56 +01:00
0562532c2e patch 8.0.1480: patch missing change
Problem:    Patch missing change.
Solution:   Add missing change.
2018-02-09 12:28:00 +01:00
bc0e9adae9 patch 8.0.1479: insert mode completion state is confusing
Problem:    Insert mode completion state is confusing.
Solution:   Move ctrl_x_mode into edit.c.  Add CTRL_X_NORMAL for zero.
2018-02-09 12:13:34 +01:00
dff72ba445 patch 8.0.1478: unnecessary condition
Problem:    Unnecessary condition for "len" being zero.
Solution:   Remove the condition. (Dominique Pelle)
2018-02-08 22:45:17 +01:00
d317b38a4d patch 8.0.1477: redraw flicker when moving the mouse outside of terminal window
Problem:    Redraw flicker when moving the mouse outside of terminal window.
Solution:   Instead of updating the cursor color and shape every time leaving
            and entering a terminal window, only update when different from
            the previously used cursor.
2018-02-08 22:33:31 +01:00
acda04f5c6 patch 8.0.1476: screen isn't always updated right away
Problem:    Screen isn't always updated right away.
Solution:   Adjust #ifdef: Call out_flush() when not running the GUI.
2018-02-08 09:57:28 +01:00
f12519dec8 patch 8.0.1475: invalid memory access in read_redo()
Problem:    Invalid memory access in read_redo(). (gy741)
Solution:   Convert the replacement character back from a negative number to
            CR or NL. (hint by Dominique Pelle, closes #2616)
2018-02-06 22:52:49 +01:00
dd08b6a32b patch 8.0.1474: Visual C 2017 has multiple MSVCVER numbers
Problem:    Visual C 2017 has multiple MSVCVER numbers.
Solution:   Assume the 2017 version if MSVCVER >= 1910. (Leonardo Valeri
            Manera, closes #2619)
2018-02-06 22:02:43 +01:00
511ffdd65d patch 8.0.1473: MS-Windows: D&D fails between 32 and 64 bit apps
Problem:    MS-Windows: D&D fails between 32 and 64 bit apps.
Solution:   Add the /HIGHENTROPYVA:NO linker option. (Ken Takata, closes #2504)
2018-02-04 19:37:40 +01:00
5d4247402b patch 8.0.1472: MS-Windows: nsis installer is a bit slow
Problem:    MS-Windows: nsis installer is a bit slow.
Solution:   Use ReserveFile for vimrc.ini. (closes #2522)
2018-02-04 19:11:30 +01:00
28944fecff patch 8.0.1471: on MS-Windows CursorIM highlighting no longer works
Problem:    On MS-Windows CursorIM highlighting no longer works.
Solution:   Adjust #if statements. (Ken Takata)
2018-02-04 19:01:31 +01:00
2c7b906afb patch 8.0.1470: integer overflow when using regexp pattern
Problem:    Integer overflow when using regexp pattern. (geeknik)
Solution:   Use a long instead of int. (Christian Brabandt, closes #2251)
2018-02-04 18:22:46 +01:00
2374faae11 patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Problem:    When package path is a symlink adding it to 'runtimepath' happens
            at the end.
Solution:   Do not resolve symlinks before locating the position in
            'runtimepath'. (Ozaki Kiichi, closes #2604)
2018-02-04 17:47:42 +01:00
191f18bad0 patch 8.0.1468: illegal memory access in del_bytes()
Problem:    Illegal memory access in del_bytes().
Solution:   Check for negative byte count. (Christian Brabandt, closes #2466)
2018-02-04 16:38:47 +01:00
fef4ddd5eb patch 8.0.1467: libvterm doesn't handle illegal byte sequence correctly
Problem:    Libvterm doesn't handle illegal byte sequence correctly.
Solution:   After the invalid code check if there is space to store another
            character.  Allocate one more character. (zhykzhykzhyk, closes
            #2614, closes #2613)
2018-02-04 14:49:57 +01:00
06b77ef69f patch 8.0.1466: older GTK versions don't have gtk_entry_get_text_length()
Problem:    Older GTK versions don't have gtk_entry_get_text_length().
Solution:   Add a function with #ifdefs to take care of GTK version
            differences. (Kazunobu Kuriyama, closes #2605)
2018-02-04 14:32:57 +01:00
4bc0bed536 patch 8.0.1465: python2 and python3 detection not tested
Problem:    Python2 and python3 detection not tested. (Matej Cepl)
Solution:   Add test for detecting python2 and python3.  Also detect a script
            using "js" as javascript.
2018-02-03 22:35:40 +01:00
8a37b03289 patch 8.0.1464: completing directory after :find does not add slash
Problem:    Completing directory after :find does not add slash.
Solution:   Adjust the flags for globpath(). (Genki Sky)
2018-02-03 20:43:08 +01:00
ec48a9c589 patch 8.0.1463: test fails without 'autochdir' option
Problem:    Test fails without 'autochdir' option.
Solution:   Skip test if 'autochdir' is not supported.
2018-02-03 20:11:40 +01:00
f4aba797cb patch 8.0.1462: missing yet another file in patch
Problem:    Missing yet another file in patch.
Solution:   Add changes to missing file.
2018-02-03 19:17:36 +01:00
15833239a4 patch 8.0.1461: missing another file in patch
Problem:    Missing another file in patch.
Solution:   Add changes to missing file.
2018-02-03 18:33:17 +01:00
b5cb65ba2b patch 8.0.1460: missing file in patch
Problem:    Missing file in patch.
Solution:   Add changes to missing file.
2018-02-03 18:01:37 +01:00
b7407d3fc9 patch 8.0.1459: cannot handle change of directory
Problem:    Cannot handle change of directory.
Solution:   Add the DirChanged autocommand event. (Andy Massimino,
            closes #888)  Avoid changing directory for 'autochdir' too often.
2018-02-03 17:36:27 +01:00
ddb349369d patch 8.0.1458: filetype detection test does not check all scripts
Problem:    Filetype detection test does not check all scripts.
Solution:   Add most scripts to the test
2018-02-03 15:55:49 +01:00
8fd2ffc530 patch 8.0.1457: clojure now supports a shebang line
Problem:    Clojure now supports a shebang line.
Solution:   Detect clojure script from the shebang line. (David Burgin,
            closes #2570)
2018-02-03 15:43:15 +01:00
8dce6c54c8 patch 8.0.1456: timer test on travis Mac is still flaky
Problem:    Timer test on travis Mac is still flaky.
Solution:   Increase time range a bit more.
2018-02-03 15:38:42 +01:00
4bfa8af141 patch 8.0.1455: if $SHELL contains a space then 'shell' is incorrect
Problem:    If $SHELL contains a space then the default value of 'shell' is
            incorrect. (Matthew Horan)
Solution:   Escape spaces in $SHELL. (Christian Brabandt, closes #459)
2018-02-03 15:14:46 +01:00
42b23fad1d patch 8.0.1454: when in silent mode too much output is buffered
Problem:    When in silent mode too much output is buffered.
Solution:   Use line buffering instead of fully buffered. (Brian M. Carlson,
            closes #2537)
2018-02-03 14:46:45 +01:00
218101442e patch 8.0.1453: terminal test fails on some slow terminals
Problem:    Terminal test fails on some slow terminals.
Solution:   Increase timeout to 10 seconds.
2018-02-02 18:30:36 +01:00
d4a282f7a5 patch 8.0.1452: terminal test fails on some systems
Problem:    Terminal test fails on some systems. (jonathonf)
Solution:   Use "cat" instead of Python to produce the input.  Add a delay.
            (closes #2607)
2018-02-02 18:22:31 +01:00
94073167e3 patch 8.0.1451: difficult to set the python home directories properly
Problem:    It is difficult to set the python home directory properly for
            Python 2.7 and 3.5 since both use $PYTHONHOME.
Solution:   Add the 'pythonhome' and 'pythonthreehome' options. (Kazuki
            Sakamoto, closes #1266)
2018-01-31 21:49:05 +01:00
1dd45fb4f3 patch 8.0.1450: GUI: endless loop when stopping cursor blinking
Problem:    Endless loop when gui_mch_stop_blink() is called while blink_state
            is BLINK_OFF. (zdohnal)
Solution:   Avoid calling gui_update_cursor() recursively.
2018-01-31 21:10:01 +01:00
a338adcf22 patch 8.0.1449: slow redrawing with DirectX
Problem:    Slow redrawing with DirectX.
Solution:   Avoid calling gui_mch_flush() unnecessarily, especially when
            updating the cursor. (Ken Takata, closes #2560)
2018-01-31 20:51:47 +01:00
37badc898b patch 8.0.1448: segfault with exception inside :rubyfile command
Problem:    Segmentation fault when Ruby throws an exception inside :rubyfile
            command.
Solution:   Use rb_protect() instead of rb_load_protect(). (ujihisa,
            closes #2147, greywolf, closes #2512, #2511)
2018-01-31 20:15:30 +01:00
cada78975e patch 8.0.1447: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Turn a few tests into new style. (Yegappan Lakshmanan,
            closes #2509)
2018-01-31 19:30:24 +01:00
6f361c9912 patch 8.0.1446: acessing freed memory after window command in auto command
Problem:    Acessing freed memory after window command in auto command.
            (gy741)
Solution:   Adjust the pointer in the parent frame. (Christian Brabandt,
            closes #2467)
2018-01-31 19:06:50 +01:00
153b704e20 patch 8.0.1445: cannot act on edits in the command line
Problem:    Cannot act on edits in the command line.
Solution:   Add the CmdlineChanged autocommand event. (xtal8, closes #2603,
            closes #2524)
2018-01-31 15:48:32 +01:00
ec0557f08b patch 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems
Problem:    Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is
            compiled with it.
Solution:   Include -D_FILE_OFFSET_BITS if some CFLAGS has it. (James McCoy,
            closes #2600)
2018-01-31 14:41:37 +01:00
059fd01021 patch 8.0.1443: compiler complains about uninitialized variable
Problem:    Compiler complains about uninitialized variable. (Tony Mechelynck)
Solution:   Assign a value to the variable.
2018-01-31 14:25:53 +01:00
a172b63ab8 patch 8.0.1442: using pointer before it is set
Problem:    Using pointer before it is set.
Solution:   Search in whole buffer instead of next token.
2018-01-30 22:52:06 +01:00
ce46d934af patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Problem:    Using ":undo 0" leaves undo in wrong state.
Solution:   Instead of searching for state 1 and go above, just use the start.
            (Ozaki Kiichi, closes #2595)
2018-01-30 22:46:06 +01:00
b50773c6df patch 8.0.1440: terminal window: some vterm responses are delayed
Problem:    Terminal window: some vterm responses are delayed.
Solution:   After writing input. check if there is output to read. (Ozaki
            Kiichi, closes #2594)
2018-01-30 22:31:19 +01:00
1274d33493 patch 8.0.1439: if cscope fails a search Vim may hang
Problem:    If cscope fails a search Vim may hang.
Solution:   Bail out when a search error is encountered. (Safouane Baroudi,
            closes #2598)
2018-01-30 21:47:52 +01:00
0479e910c4 patch 8.0.1438: filetype detection test not updated for change
Problem:    Filetype detection test not updated for change.
Solution:   Update the test.
2018-01-29 09:17:32 +01:00
d6d304298a patch 8.0.1437: pkg-config doesn't work with cross compiling
Problem:    Pkg-config doesn't work with cross compiling.
Solution:   Use AC_PATH_TOOL() instead of AC_PATH_PROG(). (James McCoy,
            closes #2513)
2018-01-28 22:48:55 +01:00
40962ec9c0 Update runtime files. 2018-01-28 22:47:25 +01:00
84b242c369 patch 8.0.1436: not enough information about what Python version may work
Problem:    Not enough information about what Python version may work.
Solution:   Add "python_compiled", "python3_compiled", "python_dynamic" and
            "python3_dynamic" values for has().
2018-01-28 17:45:49 +01:00
501383236d patch 8.0.1435: memory leak in test_arabic
Problem:    Memory leak in test_arabic.
Solution:   Free the from and to parts. (Christian Brabandt, closes #2569)
2018-01-28 17:05:16 +01:00
d7823d5b7c patch 8.0.1434: GTK: :promtfind does not put focus on text input
Problem:    GTK: :promtfind does not put focus on text input. (Adam Novak)
Solution:   When re-opening the dialog put focus on the text input. (Kazunobu
            Kuriyama, closes #2563)
2018-01-28 15:36:42 +01:00
95dbcbea6d patch 8.0.1433: illegal memory access after undo
Problem:    Illegal memory access after undo. (Dominique Pelle)
Solution:   Avoid the column becomes negative. (Christian Brabandt,
            closes #2533)
2018-01-27 21:01:34 +01:00
2ec364e94d patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Problem:    After ":copen" can't get the window-ID of the quickfix window.
            (FalacerSelene)
Solution:   Make it work without a quickfix list.  Add a test. (Yegappan
            Lakshmanan, closes #2541)
2018-01-27 11:52:13 +01:00
0cbcd949e1 patch 8.0.1431: MS-Windows: vimtutor fails if %TMP% has special chars
Problem:    MS-Windows: vimtutor fails if %TMP% has special chars.
Solution:   Add quotes. (Tamce, closes #2561)
2018-01-26 22:22:55 +01:00
4aad53c369 patch 8.0.1430: crash when term_start() fails
Problem:    Crash when term_start() fails.
Solution:   Initialize winpty_err.
2018-01-26 21:11:03 +01:00
ede35bbbd0 patch 8.0.1429: crash when calling term_start() with empty argument
Problem:    Crash when calling term_start() with empty argument.
Solution:   Check for invalid argument. (Yasuhiro Matsomoto, closes #2503)
            Fix memory leak.
2018-01-26 20:05:18 +01:00
200ea8ffaa patch 8.0.1428: compiler warning on 64 bit MS-Windows system
Problem:    Compiler warning on 64 bit MS-Windows system.
Solution:   Change type from "int" to "size_t". (Mike Williams)
2018-01-02 15:37:46 +01:00
de04654ddc patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Problem:    The :leftabove modifier doesn't work for :copen.
Solution:   Respect the split modifier. (Yegappan Lakshmanan, closes #2496)
2017-12-26 13:53:11 +01:00
9e3dfc6501 patch 8.0.1426: "gf" and <cfile> don't accept ? and & in URL
Problem:    "gf" and <cfile> don't accept ? and & in URL. (Dmitrii Tcyganok)
Solution:   Check for a URL and allow for extra characters. (closes #2493)
2017-12-25 14:29:18 +01:00
2095148277 patch 8.0.1425: execute() does not work in completion of user command
Problem:    execute() does not work in completion of user command. (thinca)
Solution:   Switch off redir_off and restore it. (Ozaki Kiichi, closes #2492)
2017-12-25 13:44:43 +01:00
df980db69b update a few runtime files 2017-12-24 13:22:00 +01:00
a47ebdbd22 patch 8.0.1424: the timer_pause test is flaky on Travis
Problem:    The timer_pause test is flaky on Travis.
Solution:   Accept a longer sleep time on Mac.
2017-12-23 18:41:35 +01:00
fabaf753e2 patch 8.0.1423: error in return not caught by try/catch
Problem:    Error in return not caught by try/catch.
Solution:   Call update_force_abort(). (Yasuhiro Matsomoto, closes #2483)
2017-12-23 17:26:11 +01:00
45a0000d5c patch 8.0.1422: no fallback to underline when undercurl is not set
Problem:    No fallback to underline when undercurl is not set. (Ben Jackson)
Solution:   Check for the value to be empty instead of NULL. (closes #2424)
2017-12-22 21:12:34 +01:00
e6640ad44e patch 8.0.1421: accessing invalid memory with overlong byte sequence
Problem:    Accessing invalid memory with overlong byte sequence.
Solution:   Check for NUL character. (test by Dominique Pelle, closes #2485)
2017-12-22 21:06:56 +01:00
3c09722600 patch 8.0.1420: accessing freed memory in vimgrep
Problem:    Accessing freed memory in vimgrep.
Solution:   Check that the quickfix list is still valid. (Yegappan Lakshmanan,
            closes #2474)
2017-12-21 20:54:49 +01:00
b73fa629d6 patch 8.0.1419: cursor column is not updated after ]s
Problem:    Cursor column is not updated after ]s. (Gary Johnson)
Solution:   Set the curswant flag.
2017-12-21 20:27:47 +01:00
ae6f865125 patch 8.0.1418: no test for expanding backticks
Problem:    No test for expanding backticks.
Solution:   Add a test. (Dominique Pelle, closes #2479)
2017-12-20 22:32:20 +01:00
1bd999f982 patch 8.0.1417: test doesn't search for a sentence
Problem:    Test doesn't search for a sentence. Still fails when searching for
            start of sentence. (Dominique Pelle)
Solution:   Add paren. Check for MAXCOL in dec().
2017-12-19 22:25:40 +01:00
8ada6aa929 patch 8.0.1416: crash when searching for a sentence
Problem:    Crash when searching for a sentence.
Solution:   Return NUL when getting character at MAXCOL. (closes #2468)
2017-12-19 21:23:21 +01:00
4ce46c2a6b patch 8.0.1415: warning for unused function without timers feature
Problem:    Warning for unused function without timers feature.
Solution:   Add #ifdef. (John Marriott)
2017-12-19 19:42:41 +01:00
14a4deb064 patch 8.0.1414: accessing freed memory in :lfile.
Problem:    Accessing freed memory in :lfile.
Solution:   Get the current window after executing autocommands. (Yegappan
            Lakshmanan, closes #2473)
2017-12-19 16:48:55 +01:00
aaf6e43b7a patch 8.0.1413: accessing freed memory in :cbuffer
Problem:    Accessing freed memory in :cbuffer.
Solution:   Get quickfix list after executing autocmds. (closes #2470)
2017-12-19 16:41:14 +01:00
1223744849 patch 8.0.1412: using free memory using setloclist()
Problem:    Using free memory using setloclist(). (Dominique Pelle)
Solution:   Mark location list context as still in use when needed. (Yegappan
            Lakshmanan, closes #2462)
2017-12-19 12:38:52 +01:00
2efb323e87 patch 8.0.1411: reading invalid memory with CTRL-W :
Problem:    Reading invalid memory with CTRL-W :.
Solution:   Correct the command characters. (closes #2469)
2017-12-19 12:27:23 +01:00
338e47fdfd patch 8.0.1410: hang when using count() with an empty string
Problem:    Hang when using count() with an empty string.
Solution:   Return zero for an empty string. (Dominique Pelle, closes #2465)
2017-12-19 11:55:26 +01:00
132f75255e patch 8.0.1409: buffer overflow in :tags command
Problem:    Buffer overflow in :tags command.
Solution:   Use vim_snprintf(). (Dominique Pelle, closes #2471, closes #2475)
            Add a test.
2017-12-19 10:49:34 +01:00
a0ca7d002d patch 8.0.1408: crash in setqflist()
Problem:    Crash in setqflist().
Solution:   Check for string to be NULL. (Dominique Pelle, closes #2464)
2017-12-19 10:22:19 +01:00
4af031dbc8 patch 8.0.1407: GUI: CursorHold may trigger before 'updatetime'
Problem:    GUI: CursorHold may trigger before 'updatetime' when using timers.
Solution:   Check that 'updatetime' has passed.
2017-12-19 10:02:43 +01:00
b254af312d patch 8.0.1406: difficult to track changes to a quickfix list
Problem:    Difficult to track changes to a quickfix list.
Solution:   Add a "changedtick" value. (Yegappan Lakshmanan, closes #2460)
2017-12-18 19:48:58 +01:00
c9e649ae81 patch 8.0.1405: duplicated code for getting a typed character
Problem:    Duplicated code for getting a typed character. CursorHold is
            called too often in the GUI. (lilydjwg)
Solution:   Refactor code to move code up from mch_inchar().  Don't fire
            CursorHold if feedkeys() was used. (closes #2451)
2017-12-18 18:14:47 +01:00
606d45ccd8 patch 8.0.1404: invalid memory access on exit
Problem:    Invalid memory access on exit when autocommands wipe out a buffer.
            (gy741, Dominique Pelle)
Solution:   Check if the buffer is still valid. (closes #2449)
2017-12-18 16:21:44 +01:00
4fb921e388 patch 8.0.1403: using freed buffer in grep command
Problem:    Using freed buffer in grep command. (gy741, Dominique Pelle)
Solution:   Lock the dummy buffer to avoid autocommands wiping it out.
2017-12-18 15:33:00 +01:00
9bca805ec4 patch 8.0.1402: crash with nasty autocommand
Problem:    Crash with nasty autocommand. (gy741, Dominique Pelle)
Solution:   Check that the new current buffer isn't wiped out. (closes #2447)
2017-12-18 12:37:55 +01:00
cb89c98c26 patch 8.0.1401: cannot build with GTK but without XIM
Problem:    Cannot build with GTK but without XIM. (Guido)
Solution:   Adjust #ifdef. (closes #2461)
2017-12-17 21:54:55 +01:00
f0b03c4e98 Update runtime files 2017-12-17 17:17:07 +01:00
8ee2d36e21 patch 8.0.1400: color scheme check script shows up as color scheme
Problem:    Color scheme check script shows up as color scheme.
Solution:   Move it to the "tools" subdirectory. (closes #2457)
2017-12-17 16:11:09 +01:00
ee219b0e9f patch 8.0.1399: warnings and errors when building tiny version
Problem:    Warnings and errors when building tiny version. (Tony Mechelynck)
Solution:   Add #ifdefs.
2017-12-17 14:55:01 +01:00
9e1d399e63 patch 8.0.1398: :packadd does not load packages from the "start" directory
Problem:    :packadd does not load packages from the "start" directory.
            (Alejandro Hernandez)
Solution:   Make :packadd look in the "start" directory if those packages were
            not loaded on startup.
2017-12-17 14:26:46 +01:00
890dd05492 patch 8.0.1397: pattern with \& following nothing gives an error
Problem:    Pattern with \& following nothing gives an error.
Solution:   Emit an empty node when needed.
2017-12-16 19:59:37 +01:00
a1d5c154db patch 8.0.1396: memory leak when CTRL-G in search command line fails
Problem:    Memory leak when CTRL-G in search command line fails.
Solution:   Move restore_last_search_pattern to after "if".
2017-12-16 19:05:22 +01:00
200d0e36bc patch 8.0.1395: it is not easy to see if a colorscheme is well written
Problem:    It is not easy to see if a colorscheme is well written.
Solution:   Add a script that checks for common mistakes. (Christian Brabandt)
2017-12-16 18:53:35 +01:00
7e1652c63c patch 8.0.1394: cannot intercept a yank command
Problem:    Cannot intercept a yank command.
Solution:   Add the TextYankPost autocommand event. (Philippe Vaucher et al.,
            closes #2333)
2017-12-16 18:27:02 +01:00
6621605eb9 patch 8.0.1393: too much highlighting with 'hlsearch' and 'incsearch' set
Problem:    Too much highlighting with 'hlsearch' and 'incsearch' set.
Solution:   Do not highlight matches when the pattern matches everything.
2017-12-16 16:33:44 +01:00
8b42328cef patch 8.0.1392: build fails with --with-features=huge --disable-channel
Problem:    Build fails with --with-features=huge --disable-channel.
Solution:   Don't enable the terminal feature when the channel feature is
            missing. (Dominique Pelle, closes #2453)
2017-12-16 14:37:06 +01:00
b29d328eb4 patch 8.0.1391: encoding empty string to JSON sometimes gives "null"
Problem:    Encoding empty string to JSON sometimes gives "null".
Solution:   Handle NULL string as empty string. (closes #2446)
2017-12-15 21:25:01 +01:00
4697399e8c move netrw back to the previous version 2017-12-14 19:56:46 +01:00
7f88b65f6c patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Problem:    DirectX scrolling can be slow, vertical positioning is off.
Solution:   Make scroll slightly faster when using "scrlines:1". Fix y
            position of displayed text. Fix DirectX with non-utf8 encoding.
            (Ken Takata, closes #2440)
2017-12-14 13:15:19 +01:00
a6d4849c71 patch 8.0.1389: getqflist() items are missing if not set
Problem:    getqflist() items are missing if not set, that makes it more
            difficult to handle the values.
Solution:   When a value is not available return zero or another invalid
            value. (Yegappan Lakshmanan, closes #2430)
2017-12-12 22:45:31 +01:00
fae8ed1fc8 patch 8.0.1388: char not overwritten with ambiguous width char
Problem:    Char not overwritten with ambiguous width char, if the ambiguous
            char is single width but we reserve double-width space.
Solution:   First clear the screen cells. (Ozaki Kiichi, closes #2436)
2017-12-12 22:29:30 +01:00
a703aaee4d patch 8.0.1387: wordcount test is old style
Problem:    Wordcount test is old style.
Solution:   Change into a new style test. (Yegappan Lakshmanan, closes #2434)
2017-12-11 22:55:26 +01:00
8e6a31df81 patch 8.0.1386: cannot select modified buffers with getbufinfo()
Problem:    Cannot select modified buffers with getbufinfo().
Solution:   Add the "bufmodified" flag. (Yegappan Lakshmanan, closes #2431)
2017-12-10 21:06:22 +01:00
59eb016dff patch 8.0.1385: Python 3.5 is getting old
Problem:    Python 3.5 is getting old.
Solution:   Make Python 3.6 the default. (Ken Takata, closes #2429)
2017-12-10 18:17:44 +01:00
74240d3feb patch 8.0.1384: not enough quickfix help; confusing winid
Problem:    Not enough quickfix help; confusing winid.
Solution:   Add more examples in the help. When the quickfix window is not
            present, return zero for getqflist() with 'winid'. Add more tests
            for jumping to quickfix list entries. (Yegappan Lakshmanan, closes
            #2427)
2017-12-10 15:26:15 +01:00
35c5e8155d patch 8.0.1383: local additions in help skips some files
Problem:    Local additions in help skips some files. (joshklod)
Solution:   Check the base file name length equals.
2017-12-09 21:10:13 +01:00
f405c8fe85 patch 8.0.1382: get "no write since last change" message if terminal is open
Problem:    Get "no write since last change" message if a terminal is open.
            (Fritz mehner)
Solution:   Don't consider a buffer changed if it's a terminal window.
2017-12-09 19:51:49 +01:00
620ca2da37 patch 8.0.1381: ch_readraw() waits for NL if channel mode is NL
Problem:    ch_readraw() waits for NL if channel mode is NL.
Solution:   Pass a "raw" flag to channel_read_block(). (Yasuhiro Matsumoto)
2017-12-09 19:13:13 +01:00
05684310a5 patch 8.0.1380: using "vim -r swapfile" the hit-enter prompt is misplaced.
Problem:    When recovering a file with "vim -r swapfile" the hit-enter prompt
            is at the top of the window.
Solution:   Invalidate the cursor position.
2017-12-09 15:11:24 +01:00
e4b78e2a42 patch 8.0.1379: configure check for selinux does not check for header file
Problem:    Configure check for selinux does not check for header file.
Solution:   Add an AC_CHECK_HEADER(). (Benny Siegert)
2017-12-07 22:29:11 +01:00
3388d33457 patch 8.0.1378: autoload script sources itself when defining function
Problem:    Autoload script sources itself when defining function.
Solution:   Pass TFN_NO_AUTOLOAD to trans_function_name(). (Yasuhiro
            Matsumoto, closes #2423)
2017-12-07 22:23:04 +01:00
6e65d594aa patch 8.0.1377: cannot call a dict function in autoloaded dict
Problem:    Cannot call a dict function in autoloaded dict.
Solution:   Call get_lval() passing the read-only flag.
2017-12-07 22:11:27 +01:00
23c1b2b018 patch 8.0.1376: cursor in terminal not always updated
Problem:    Cursor in terminal not always updated.
Solution:   Call gui_mch_flush(). (Ken Takata)
2017-12-05 21:32:33 +01:00
415a6939a4 patch 8.0.1375: window size wrong after maximizing with WinBar
Problem:    Window size wrong after maximizing with WinBar. (Lifepillar)
Solution:   Fix height computations. Redraw window when it is zero height but
            has a WinBar. (closes #2356)
2017-12-05 20:31:07 +01:00
5fe6bdf858 patch 8.0.1374: CTRL-A does not work with an empty line
Problem:    CTRL-A does not work with an empty line. (Alex)
Solution:   Decrement the end only once. (Hirohito Higashi, closes #2387)
2017-12-05 17:22:12 +01:00
3767c6e9ee patch 8.0.1373: no error when settting 'renderoptions' before starting GUI
Problem:    No error when settting 'renderoptions' to an invalid value before
            starting the GUI.
Solution:   Always check the value. (Ken Takata, closes #2413)
2017-12-05 16:57:56 +01:00
ac112f01a6 patch 8.0.1372: profile log may be truncated halfway a character
Problem:    Profile log may be truncated halfway a character.
Solution:   Find the start of the character. (Ozaki Kiichi, closes #2385)
2017-12-05 16:46:28 +01:00
feeb4d0901 patch 8.0.1371: Shift-Insert doesn't always work in MS-Windows console
Problem:    Shift-Insert doesn't always work in MS-Windows console.
Solution:   Handle K_NUL differently if the second character is more than one
            byte. (Yasuhiro Matsumoto, closes #2381)
2017-12-05 15:14:46 +01:00
1eca6f13d6 patch 8.0.1370: channel test for callback is flaky
Problem:    Channel test for callback is flaky.
Solution:   Add the test to thelist of flaky tests.
2017-12-05 14:04:27 +01:00
92467d3351 patch 8.0.1369: MS-Windows: drawing underline slow, mFallbackDC not updated
Problem:    MS-Windows: drawing underline, curl and strike-throw is slow,
            mFallbackDC not properly updated.
Solution:   Several performance improvements. (Ken Takata, Taro Muraoka,
            Yasuhiro Matsumoto, closes #2401)
2017-12-05 13:22:16 +01:00
ce6179c799 patch 8.0.1368: cannot drag status or separator of new terminal window
Problem:    Cannot drag status line or vertical separator of new terminal
            window. (UncleBill)
Solution:   Adjust mouse row and column computation. (Yasuhiro Matsumoto,
            closes #2410)
2017-12-05 13:06:16 +01:00
461fe50fea patch 8.0.1367: terminal test hangs, executing abcde
Problem:    terminal test hangs, executing abcde. (Stucki)
Solution:   Rename abcde to abxde.
2017-12-05 12:30:03 +01:00
1ad022a9b8 patch 8.0.1367 2017-12-03 18:20:32 +01:00
24820691e6 patch 8.0.1365: when one channel test fails others fail as well
Problem:    When one channel test fails others fail as well.
Solution:   Stop the job after a failure.  Also add a couple of tests to the
            list of flaky tests.
2017-12-02 16:38:12 +01:00
22044dc317 patch 8.0.1364: there is no easy way to get the window position
Problem:    There is no easy way to get the window position.
Solution:   Add win_screenpos().
2017-12-02 15:43:37 +01:00
af903e5d49 patch 8.0.1363: recovering does not work when swap file ends in .stz
Problem:    Recovering does not work when swap file ends in .stz.
Solution:   Check for all possible swap file names. (Elfling, closes #2395,
            closes #2396)
2017-12-02 15:11:22 +01:00
a7c54cfcf8 patch 8.0.1362: terminal window colors wrong when using Terminal highlighting
Problem:    Terminal window colors wrong when using Terminal highlighting.
Solution:   Set ansi_index when setting the default color.  Also cache the
            color index for Terminal. (Ozaki Kiichi, closes #2393)
2017-12-01 21:07:20 +01:00
97ce419201 patch 8.0.1361: some users don't want to diff with hidden buffers
Problem:    Some users don't want to diff with hidden buffers.
Solution:   Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394)
2017-12-01 20:35:58 +01:00
76bb7196f5 patch 8.0.1360: the Terminal highlighting doesn't work in a terminal
Problem:    The Terminal highlighting doesn't work in a terminal. (Ozaki
            Kiichi)
Solution:   Use the Terminal highlighting when the cterm index is zero.
2017-11-30 22:07:07 +01:00
2f0584910c Update runtime files 2017-11-30 20:27:52 +01:00
46359e198f patch 8.0.1359: libvterm ANSI colors can not always be recognized
Problem:    Libvterm ANSI colors can not always be recognized from the RGB
            values. The default color is wrong when t_RB is empty.
Solution:   Add the ANSI color index to VTermColor.
2017-11-29 22:33:38 +01:00
8b9e20afb0 patch 8.0.1358: undercurl is not used in the terminal
Problem:    Undercurl is not used in the terminal. (Kovid Goyal)
Solution:   Only fall back to underline when undercurl highlighting is not
            defined. (closes #1306)
2017-11-28 21:25:21 +01:00
1a2ab991a6 patch 8.0.1357: startup test fails on OpenBSD
Problem:    Startup test fails on OpenBSD. (Edd Barrett)
Solution:   Check for "BSD" instead of "FreeBSD" being defined. (James McCoy,
            closes #2376, closes #2378)
2017-11-28 21:06:18 +01:00
c5aa55db7e patch 8.0.1356: using simalt in a GUIEnter autocommand inserts characters
Problem:    Using simalt in a GUIEnter autocommand inserts strange characters.
            (Chih-Long Chang)
Solution:   Ignore K_NOP in Insert mode. (closes #2379)
2017-11-28 20:47:40 +01:00
a45ff6caba patch 8.0.1355: cursor keys don't work in MS-Windows console
Problem:    Cursor keys don't work in MS-Windows console.
Solution:   Revert the previous patch.  Also delete dead code.
2017-11-28 20:06:10 +01:00
3660a10c73 patch 8.0.1354: Shift-Insert doesn't always work in MS-Windows console
Problem:    Shift-Insert doesn't always work in MS-Windows console.
Solution:   Handle K_NUL differently. (Yasuhiro Matsumoto, closes #2381)
2017-11-28 18:07:59 +01:00
1ed2276fd5 patch 8.0.1353: QuickFixCmdPost is not used consistently
Problem:    QuickFixCmdPost is not used consistently.
Solution:   Invoke QuickFixCmdPost consistently after QuickFixCmdPre.
            (Yegappan Lakshmanan, closes #2377)
2017-11-28 18:03:44 +01:00
f38c86eb6b patch 8.0.1352: dead URLs in the help go unnoticed
Problem:    Dead URLs in the help go unnoticed.
Solution:   Add a script to check URLs in the help files. (Christian Brabandt)
2017-11-28 14:19:07 +01:00
bdb8139098 patch 8.0.1351: warning for unused variables building with MinGW
Problem:    Warning for unused variables building with MinGW.
Solution:   Change a few #ifdefs (suggested by John Marriott). Remove
            superfluous checks of FEAT_MBYTE.
2017-11-27 23:24:08 +01:00
1355aad2b9 patch 8.0.1350: cannot build with +eval and -multi_byte
Problem:    Cannot build with +eval and -multi_byte.
Solution:   Adjust #ifdefs. (John Marriott)  Always include the multi_byte
            feature when an input method feature is enabled.
2017-11-27 22:49:01 +01:00
17471e84a7 patch 8.0.1349: options test fails when using Motif or GTK GUI
Problem:    Options test fails when using Motif or GTK GUI.
Solution:   Use "fixed" instead of "fixedsys" for Unix. Don't try "xxx" for
            guifonteset.  Don't set 'termencoding' to anything but "utf-8" for
            GTK.  Give an error if 'termencoding' can't be converted.
2017-11-26 23:47:18 +01:00
c8c75796a6 patch 8.0.1348: make testclean deletes script file on MS-Windows
Problem:    Make testclean deletes script file on MS-Windows.
Solution:   Rename file to avoid it starting with an "x".
2017-11-26 17:18:06 +01:00
e0aa23f7e3 patch 8.0.1347: MS-Windows: build broken by misplaced curly
Problem:    MS-Windows: build broken by misplaced curly.
Solution:   Move curly after #endif
2017-11-26 17:08:03 +01:00
a3571ebef5 patch 8.0.1346: crash when passing 50 char string to balloon_split()
Problem:    Crash when passing 50 char string to balloon_split().
Solution:   Fix off-by-one error.
2017-11-26 16:53:16 +01:00
c41838aa01 patch 8.0.1345: race condition between stat() and open() for viminfo
Problem:    Race condition between stat() and open() for the viminfo temp
            file. (Simon Ruderich)
Solution:   use open() with O_EXCL to atomically check if the file exists.
            Don't try using a temp file, renaming it will fail anyway.
2017-11-26 16:50:41 +01:00
2877d334ad patch 8.0.1344: using 'imactivatefunc' in the GUI does not work
Problem:    Using 'imactivatefunc' in the GUI does not work.
Solution:   Do not use 'imactivatefunc' and 'imstatusfunc' in the GUI.
2017-11-26 14:56:16 +01:00
d7ccc4d81d patch 8.0.1343: MS-Windows: does not show colored emojis
Problem:    MS-Windows: does not show colored emojis.
Solution:   Implement colored emojis. Improve drawing speed. Make 'taamode'
            work. (Taro Muraoka, Yasuhiro Matsumoto, Ken Takata, close #2375)
2017-11-26 14:29:32 +01:00
fb1db0e355 patch 8.0.1342: cannot build with Motif and multi-byte
Problem:    Cannot build with Motif and multi-byte. (Mohamed Boughaba)
Solution:   Use the right input method status flag. (closes #2374)
2017-11-25 21:07:46 +01:00
be5d998d0e patch 8.0.1341: 'imactivatefunc' test fails on MS-Windows
Problem:    'imactivatefunc' test fails on MS-Windows.
Solution:   Skip the text.
2017-11-25 17:58:28 +01:00
281c93e714 patch 8.0.1340: MS-Windows: cannot build GUI without IME
Problem:    MS-Windows: cannot build GUI without IME.
Solution:   Define im_get_status() and im_set_active() when IME is not used.
2017-11-25 17:48:33 +01:00
83799a7b74 patch 8.0.1339: no test for what 8.0.1335 fixes
Problem:    No test for what 8.0.1335 fixes.
Solution:   Add a test. (Yasuhiro Matsumoto, closes #2373)
2017-11-25 17:24:09 +01:00
819edbe078 patch 8.0.1338: USE_IM_CONTROL is confusing and incomplete
Problem:    USE_IM_CONTROL is confusing and incomplete.
Solution:   Just use FEAT_MBYTE.  Call 'imactivatefunc' also without GUI.
2017-11-25 17:14:33 +01:00
50d43153a7 patch 8.0.1337: typo in #ifdef
Problem:    Typo in #ifdef.
Solution:   Fix the #if line.
2017-11-25 15:24:56 +01:00
6315a9ae92 patch 8.0.1336: cannot use imactivatefunc() unless compiled with +xim
Problem:    Cannot use imactivatefunc() unless compiled with +xim.
Solution:   Allow using imactivatefunc() when not compiled with +xim.
            (Yasuhiro Matsumoto, closes #2349)
2017-11-25 15:20:02 +01:00
291a9d15ed patch 8.0.1335: writefile() using fsync() may give an error.
Problem:    Writefile() using fsync() may give an error for a device.
            (Yasuhiro Matsumoto)
Solution:   Ignore fsync() failing. (closes #2373)
2017-11-25 14:37:11 +01:00
3167c3e701 patch 8.0.1334: splitting a window with a WinBar damages window layout
Problem:    Splitting a window with a WinBar damages window layout.
            (Lifepillar)
Solution:   Take the winbar into account when computing the new window
            position.  Add WINBAR_HEIGHT().
2017-11-25 14:19:43 +01:00
2c997d7603 patch 8.0.1333: some tests are run twice
Problem:    Some tests are run twice.
Solution:   Invoked most utf8 tests only from test_alot_utf8. (Yegappan
            Lakshmanan, closes #2369)
2017-11-23 22:52:09 +01:00
93a32e2ec4 patch 8.0.1332: highlighting in quickfix window could be better
Problem:    Highlighting in quickfix window could be better. (Axel Bender)
Solution:   Use the qfSeparator highlight item. (Yegappan Lakshmanan)
2017-11-23 22:05:45 +01:00
3679c17917 patch 8.0.1331: possible crash when window can be zero lines high
Problem:    Possible crash when window can be zero lines high. (Joseph
            Dornisch)
Solution:   Only set w_fraction if the window is at least two lines high.
2017-11-22 22:22:11 +01:00
a2a80162de Update runtime files. 2017-11-21 23:09:50 +01:00
52dbb5ea7f patch 8.0.1330: MS-Windows: job in terminal can't get back to Vim
Problem:    MS-Windows: job in terminal can't get back to Vim.
Solution:   set VIM_SERVERNAME in the environment. (Yasuhiro Matsumoto, closes
            #2360)
2017-11-21 18:11:27 +01:00
5505860152 patch 8.0.1329: when a flaky test fails it also often fails the second time
Problem:    When a flaky test fails it also often fails the second time.
Solution:   Sleep a couple of seconds before the second try.
2017-11-21 15:14:51 +01:00
ff5467965e patch 8.0.1328: trouble when using ":term ++close" with autocmd
Problem:    Trouble when using ":term ++close" with autocmd. (Gabriel Barta)
Solution:   Use aucmd_prepbuf() and aucmd_restbuf() instead of setting curbuf.
            (closes #2339)
2017-11-21 14:47:57 +01:00
91ffda9852 patch 8.0.1327: new proto file missing from distribution
Problem:    New proto file missing from distribution.
Solution:   Add it. (closes #2355)
2017-11-21 13:52:14 +01:00
6e77df2d85 patch 8.0.1326: largefile test fails on CI, glob test on MS-Windows
Problem:    Largefile test fails on CI, glob test on MS-Windows.
Solution:   Remove largefile test from list of all tests. Don't run
            Test_glob() on non-unix systems.  More cleanup. (Yegappan
            Lakshmanan, closes #2354)
2017-11-21 11:43:08 +01:00
5df95ea9ef patch 8.0.1325: more tests are not run
Problem:    More tests are not run.
Solution:   Add targets to the list of tests. (Yegappan Lakshmanan)
2017-11-20 22:08:10 +01:00
bb160a188a patch 8.0.1324: some xterm sends different mouse move codes
Problem:    Some xterm sends different mouse move codes.
Solution:   Also accept 0x80 as a move event.
2017-11-20 21:52:24 +01:00
73675fbc48 patch 8.0.1323: mouse events in a terminal window may cause endless loop
Problem:    Mouse events in a terminal window may cause endless loop.
Solution:   Adjust position computation.  Don't stuff a mouse event when
            coming from normal_cmd().
2017-11-20 21:49:19 +01:00
5bbef31949 patch 8.0.1322: textformat test isn't run
Problem:    Textformat test isn't run. (Yegappan Lakshmanan)
Solution:   Add target to the list of tests.
2017-11-19 20:38:05 +01:00
40e280d949 patch 8.0.1321: can't build huge version with Athena
Problem:    Can't build huge version with Athena. (Mark Kelly)
Solution:   Move including beval.h to before structs.h. Include beval.pro like
            other proto files.
2017-11-19 20:34:59 +01:00
7221fce8b3 patch 8.0.1320: popup test fails on GUI-only build
Problem:    Popup test fails on GUI-only build.
Solution:   Don't test balloon_split() when it's not available.
2017-11-19 20:32:49 +01:00
669a828cdc patch 8.0.1319: can't build GUI on MS-Windows
Problem:    Can't build GUI on MS-Windows.
Solution:   Don't define the balloon_split() function in a GUI-only build.
2017-11-19 20:13:05 +01:00
246fe03d15 patch 8.0.1318: terminal balloon only shows one line
Problem:    Terminal balloon only shows one line.
Solution:   Split into several lines in a clever way.  Add balloon_split().
            Make balloon_show() accept a list in the terminal.
2017-11-19 19:56:27 +01:00
e518226713 patch 8.0.1317: accessing freed memory in term_wait()
Problem:    Accessing freed memory in term_wait(). (Dominique Pelle)
Solution:   Check that the buffer still exists.
2017-11-19 15:05:44 +01:00
44c2bffde7 patch 8.0.1316: build still still fails on Mac
Problem:    Build still still fails on Mac. (chdiza)
Solution:   Remove another bogus typedef.
2017-11-18 23:23:01 +01:00
e86ee877c1 patch 8.0.1315: build still fails on Mac
Problem:    Build still fails on Mac. (chdiza)
Solution:   Remove bogus typedef.
2017-11-18 23:09:37 +01:00
4ab9d9e9a4 patch 8.0.1314: build fails on Mac
Problem:    Build fails on Mac. (chdiza)
Solution:   Add #ifdef around GUI fields.
2017-11-18 22:49:58 +01:00
d1c28346e1 patch 8.0.1313: missing dependencies cause parallel make to fail
Problem:    Missing dependencies cause parallel make to fail.
Solution:   Update dependencies.
2017-11-18 22:36:34 +01:00
c3719bd87b patch 8.0.1312: balloon_show() only works in terminal when compiled with GUI
Problem:    balloon_show() only works in terminal when compiled with the GUI.
Solution:   Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
            specific file.
2017-11-18 22:13:31 +01:00
c7d16dce2f patch 8.0.1311: no test for strpart()
Problem:    No test for strpart().
Solution:   Add a test. (Dominique Pelle, closes #2347)
2017-11-18 20:32:03 +01:00
0f1e643138 patch 8.0.1310: cproto generates errors because of missing type
Problem:    Cproto generates errors because of missing type.
Solution:   Define _Float128 when generating prototypes.
2017-11-18 20:22:24 +01:00
51b0f3701e patch 8.0.1309: cannot use 'balloonexpr' in a terminal
Problem:    Cannot use 'balloonexpr' in a terminal.
Solution:   Add 'balloonevalterm' and add code to handle mouse movements in a
            terminal. Initial implementation for Unix with GUI.
2017-11-18 18:52:04 +01:00
234d16286a patch 8.0.1308: the "Reading from stdin" message may be undesired
Problem:    The "Reading from stdin" message may be undesired and there is no
            easy way to skip it.
Solution:   Don't show the message with --not-a-term was used.
2017-11-18 14:55:23 +01:00
ae1e108caa patch 8.0.1307: compiler warning for ignoring return value
Problem:    Compiler warning for ignoring return value of ftruncate(). (Tony
            Mechelynck)
Solution:   Assign returned value to "ignore".
2017-11-17 21:35:24 +01:00
9e27217c48 patch 8.0.1306: ASAN error stack trace is not useful
Problem:    ASAN error stack trace is not useful.
Solution:   Add "asan_symbolize". (James McCoy, closes #2344)
2017-11-17 21:25:08 +01:00
7567d0b115 patch 8.0.1305: writefile() never calls fsync()
Problem:    Writefile() never calls fsync().
Solution:   Follow the 'fsync' option with override to enable or disable.
2017-11-16 23:04:15 +01:00
d048009717 patch 8.0.1304: CTRL-G/CTRL-T don't work with incsearch and empty pattern
Problem:    CTRL-G/CTRL-T don't work with incsearch and empty pattern.
Solution:   Use the last search pattern. (Christian Brabandt, closes #2292)
2017-11-16 22:20:39 +01:00
9c6ce0e622 patch 8.0.1303: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2
Problem:    'ttymouse' is not set to "sgr" for Terminal.app and Iterm2.
Solution:   Recognize Iterm2 by the termresponse.
2017-11-16 22:07:13 +01:00
209d3874c1 patch 8.0.1302: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Convert a few more tests to new style. (Yegappan Lakshmanan,
            closes #2326)
2017-11-16 21:52:51 +01:00
7cb769a69f patch 8.0.1301: generated license file for NSIS has a modeline
Problem:    Generated license file for NSIS has a modeline.
Solution:   Adjust the pattern for sed. (Ken Takata)
2017-11-16 17:36:02 +01:00
cd142e3369 patch 8.0.1300: file permissions may end up wrong when writing
Problem:    File permissions may end up wrong when writing.
Solution:   Use fchmod() instead of chmod() when possible.  Don't truncate
            until we know we can change the file.
2017-11-16 17:03:45 +01:00
a42ad57e48 patch 8.0.1299: bracketed paste does not work well in terminal window
Problem:    Bracketed paste does not work well in terminal window.
Solution:   Send translated string to job right away. (Ozaki Kiichi, closes
            #2341)
2017-11-16 13:08:04 +01:00
58a8f1706f patch 8.0.1298: missing test file
Problem:    Missing test file.
Solution:   Add samples/test000. (Christian Brabandt)
2017-11-14 20:23:15 +01:00
2392143236 patch 8.0.1297: +autoservername does not show enabled on MS-Windows
Problem:    +autoservername does not show enabled on MS-Windows.
Solution:   Always define the flag on MS-Windows. (Ken Takata)
2017-11-13 22:08:16 +01:00
1dcada1933 patch 8.0.1296: checking the same condition twice
Problem:    Checking the same condition twice. (John Marriott)
Solution:   Check blinkwait.
2017-11-13 21:10:04 +01:00
e42a6d2509 patch 8.0.1295: cannot automatically get a server name in a terminal
Problem:    Cannot automatically get a server name in a terminal.
Solution:   Add the --enable-autoservername flag to configure. (Cimbali,
            closes #2317)
2017-11-12 19:21:51 +01:00
2f27aab8e6 patch 8.0.1294: GUI: get stuck when splitting a terminal window
Problem:    GUI: get stuck when splitting a terminal window.
Solution:   Stop blinking when values become zero. (Hirohito Higashi)
2017-11-12 18:32:00 +01:00
60e73f2acc patch 8.0.1293: setting a breakpoint in the terminal debugger sometimes fails
Problem:    Setting a breakpoint in the terminal debugger sometimes fails.
Solution:   Interrupt the program if needed.  Set the interface to async.
2017-11-12 18:02:06 +01:00
d327b0c68f patch 8.0.1292: quick clicks in the WinBar start Visual mode
Problem:    Quick clicks in the WinBar start Visual mode.
Solution:   Use a double click in the WinBar like a normal click.
2017-11-12 16:56:12 +01:00
f8c53d3d26 patch 8.0.1291: C indent wrong when * immediately follows comment
Problem:    C indent wrong when * immediately follows comment. (John Bowler)
Solution:   Do not see "/*" after "*" as a comment start. (closes #2321)
2017-11-12 15:36:38 +01:00
80eaddd3a0 patch 8.0.1290: seq_cur of undotree() wrong after undo
Problem:    seq_cur of undotree() wrong after undo.
Solution:   Get the actual sequence number instead of decrementing the current
            one. (Ozaki Kiichi, closes #2319)
2017-11-11 23:37:08 +01:00
7f2e9d7c9c Update runtime files. 2017-11-11 20:58:53 +01:00
13e904199c patch 8.0.1289: mkview always includes the local directory
Problem:    Mkview always includes the local directory.
Solution:   Add the "curdir" value in 'viewoptions'. (Eric Roberts, closes
            #2316)
2017-11-11 18:16:48 +01:00
ae147ab2d7 patch 8.0.1288: GUI: cannot drag the statusline of a terminal window
Problem:    GUI: cannot drag the statusline of a terminal window.
Solution:   Handle the TERMINAL state. (Hirohito Higashi)
2017-11-11 17:09:09 +01:00
aeeb6888ca patch 8.0.1287: temp file used for viminfo may have wrong permissions
Problem:    The temp file used when updating the viminfo file may have the
            wrong permissions if setting the group fails.
Solution:   Check if the group matches and reduce permissions if not.
2017-11-11 16:45:19 +01:00
5fd8b78214 patch 8.0.1286: occasional crash when using a channel
Problem:    Occasional crash when using a channel. (Marek)
Solution:   Decrement reference count later. (closes #2315)
2017-11-11 15:54:00 +01:00
d09a206ee9 patch 8.0.1285: occasional crash when using a channel
Problem:    Occasional crash when using a channel. (Marek)
Solution:   Decrement reference count later. (closes #2315)
2017-11-11 15:37:45 +01:00
462455ee8b patch 8.0.1284: loading file type detection slows down startup
Problem:    Loading file type detection slows down startup.
Solution:   Store the last pattern of an autocommand event to make appending
            quicker.
2017-11-10 21:53:11 +01:00
9ed7d34af3 patch 8.0.1283: test 86 fails under ASAN
Problem:    Test 86 fails under ASAN.
Solution:   Fix that an item was added to a dictionary twice.
2017-11-09 22:10:33 +01:00
cef7322d8a patch 8.0.1282: script-local variable defined in the wrong script
Problem:    script-local variable defined in the wrong script
Solution:   Move variable to autoload/filetype.vim.
2017-11-09 21:05:31 +01:00
851ee6c3da patch 8.0.1281: loading file type detection slows down startup
Problem:    Loading file type detection slows down startup.
Solution:   Move functions to an autoload script.
2017-11-09 20:46:17 +01:00
de323093e1 patch 8.0.1280: Python None cannot be converted to a Vim type
Problem:    Python None cannot be converted to a Vim type.
Solution:   Convert it to v:none. (Ken Takata)
2017-11-09 19:56:08 +01:00
040c1feb21 patch 8.0.1279: initializing menus can be slow
Problem:    Initializing menus can be slow, especially when there are many
            keymaps, color schemes, etc.
Solution:   Do the globbing for runtime files lazlily. (Ken Takata)
2017-11-09 19:45:48 +01:00
8ac441576f patch 8.0.1278: GUI window always resizes when adding scrollbar
Problem:    GUI window always resizes when adding/removing a scrollbar,
            toolbar, etc.
Solution:   Add the 'k' flag in 'guioptions' to keep the GUI window size and
            change the number of lines/columns instead. (Ychin, closes #703)
2017-11-09 18:33:29 +01:00
26d205dcd8 patch 8.0.1277: terminal window CR-NL conversions may cause problems
Problem:    Terminal window CR-NL conversions may cause problems.
Solution:   Avoid most conversions, only fetch the current backspace key value
            from the tty. (mostly by Ozaki Kiichi, closes #2278)
2017-11-09 17:33:11 +01:00
a3f7e58bf8 patch 8.0.1276: key lost when window closed in exit callback
Problem:    Typed key is lost when the terminal window is closed in exit
            callback. (Gabriel Barta)
Solution:   When the current window changes bail out of the wait loop. (closes
            #2302)
2017-11-09 13:21:58 +01:00
c9e9c71409 patch 8.0.1275: CmdlineLeave autocmd prevents fold from opening
Problem:    CmdlineLeave autocmd prevents fold from opening. (Waivek)
Solution:   Save and restore KeyTyped. (closes #2305)
2017-11-09 12:29:35 +01:00
0c4dc88a63 patch 8.0.1274: setbufline() fails when using folding
Problem:    setbufline() fails when using folding.
Solution:   Set "curwin" if needed. (Ozaki Kiichi, closes #2293)
2017-11-06 21:32:54 +01:00
4148be468f patch 8.0.1273: old test file remaining
Problem:    Old test file remaining.
Solution:   Delete it.
2017-11-06 20:41:19 +01:00
53ec79537a patch 8.0.1272: warnings for unused variables in tiny build
Problem:    Warnings for unused variables in tiny build.
Solution:   Add #ifdef. (Dominique Pelle, closes #2288)
2017-11-05 21:24:23 +01:00
fb094e14c1 patch 8.0.1271: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Convert a few more tests to new style. (Yegappan Lakshmanan,
            closes #2290)
2017-11-05 20:59:28 +01:00
8fdb35a974 patch 8.0.1270: mismatching file name with Filelist
Problem:    Mismatching file name with Filelist.
Solution:   Rename color_ramp.vim to xterm_ramp.vim
2017-11-05 18:23:16 +01:00
b0d45e7f53 Update runtime files. 2017-11-05 18:19:24 +01:00
aace215813 patch 8.0.1269: effect of autocommands on marks is not tested
Problem:    Effect of autocommands on marks is not tested.
Solution:   Add a couple of tests. (James McCoy, closes #2271)
2017-11-05 16:23:10 +01:00
3bf8c3c38f patch 8.0.1268: PC install instructions are incomplete
Problem:    PC install instructions are incomplete.
Solution:   Update the instructions. (Ken Takata)
2017-11-05 16:04:43 +01:00
5842a748be patch 8.0.1267: Test_swap_group may leave file behind
Problem:    Test_swap_group may leave file behind.
Solution:   Add a try/finally.
2017-11-04 22:36:53 +01:00
ffe010fa03 patch 8.0.1266: Test_swap_directory was commented out
Problem:    Test_swap_directory was accidentally commented out.
Solution:   Uncomment the test.
2017-11-04 22:30:40 +01:00
ad7dac85c3 patch 8.0.1265: swap test not skipped when there is one group
Problem:    Swap test not skipped when there is one group.
Solution:   Convert list to string for the message.
2017-11-04 22:21:21 +01:00
c363251630 patch 8.0.1264: terminal debugger gets stuck in small window
Problem:    Terminal debugger gets stuck in small window.
Solution:   Add "-quiet" to the gdb command. (Christian Brabandt, closes #2154)
2017-11-04 21:44:59 +01:00
5a73e0ca54 patch 8.0.1263: others can read the swap file if a user is careless
Problem:    Others can read the swap file if a user is careless with his
            primary group.
Solution:   If the group permission allows for reading but the world
            permissions doesn't, make sure the group is right.
2017-11-04 21:35:01 +01:00
7dd88c5133 patch 8.0.1262: terminal redir test is flaky
Problem:    Terminal redir test is flaky.
Solution:   Add it to the list of flaky tests.
2017-11-04 20:46:40 +01:00
1232624ae5 patch 8.0.1261: program in terminal window gets NL instead of CR
Problem:    Program in terminal window gets NL instead of CR. (Lifepillar)
Solution:   Check the tty setup more often. (closes #1998)
2017-11-04 20:12:14 +01:00
ab8b1c14a3 patch 8.0.1260: using global variables for WaitFor()
Problem:    Using global variables for WaitFor().
Solution:   Use a lambda function instead.  Don't check a condition if
            WaitFor() already checked it.
2017-11-04 19:24:31 +01:00
13deab8d08 patch 8.0.1259: search test can be flaky
Problem:    Search test can be flaky.
Solution:   Use WaitFor() instead of a delay.  Make it possible to pass a
            funcref to WaitFor() to avoid the need for global variables.
            (James McCoy, closes #2282)
2017-11-04 18:48:43 +01:00
52a2f0f1da patch 8.0.1258: 'ttymouse' is set to "sgr" even though it's not supported
Problem:    'ttymouse' is set to "sgr" even though it's not supported. (Gary
            Johnson)
Solution:   Adjust #ifdef
2017-11-04 15:16:56 +01:00
2973daafe1 patch 8.0.1257: no test for fix of undefined behavior
Problem:    No test for fix of undefined behavior.
Solution:   Add a test. (closes #2255)
2017-11-02 23:15:40 +01:00
a88254f704 patch 8.0.1256: typo in configure variable vim_cv_tgent
Problem:    Typo in configure variable vim_cv_tgent. (Matthieu Guillard)
Solution:   Rename the variable. (closes #2281)
2017-11-02 23:04:14 +01:00
01164a6546 Long overdue runtime update. 2017-11-02 22:58:42 +01:00
ea84df8041 patch 8.0.1255: duplicate badge README file
Problem:    duplicate badge README file.
Solution:   Remove one. (Dominique Pelle)
2017-11-02 22:38:51 +01:00
4c22a91d20 patch 8.0.1254: undefined left shift in gethexchrs()
Problem:    Undefined left shift in gethexchrs(). (geeknik)
Solution:   Use unsigned long. (idea by Christian Brabandt, closes #2255)
2017-11-02 22:29:38 +01:00
430dc5d360 patch 8.0.1253: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Convert a few more tests to new style. (Yegappan Lakshmanan,
            closes #2272)
2017-11-02 21:04:47 +01:00
8889a5c305 patch 8.0.1252: incomplete translations makefile for MinGW/Cygwin
Problem:    Incomplete translations makefile for MinGW/Cygwin.
Solution:   Add missing source files.  Make it work with msys2's bash. (Ken
            Takata)
2017-11-02 19:27:36 +01:00
d97fbf171e patch 8.0.1251: invalid expressin passed to WaitFor()
Problem:    Invalid expressin passed to WaitFor().
Solution:   Check if the variable exists.
2017-11-02 19:23:03 +01:00
f8f8b2eadb patch 8.0.1250: 'hlsearch' highlighting not removed after incsearch
Problem:    'hlsearch' highlighting not removed after incsearch (lacygoill)
Solution:   Redraw all windows. Start search at the end of the match.  Improve
            how CTRL-G works with incremental search. Add tests. (Christian
            Brabandt, Hirohito Higashi, haya14busa, closes #2267)
2017-11-02 19:08:48 +01:00
c20e0d5207 patch 8.0.1249: no error when WaitFor() gets an invalid wrong expression
Problem:    No error when WaitFor() gets an invalid wrong expression.
Solution:   Do not ignore errors in evaluationg the expression.  Fix places
            where the expression was wrong.
2017-11-02 18:19:19 +01:00
5130f31661 patch 8.0.1248: stray + in README file
Problem:    Stray + in README file.
Solution:   Remove the +.  Add a line break.
2017-11-02 18:13:00 +01:00
86b21bb3e7 patch 8.0.1247: not easy to find Debian build info
Problem:    Not easy to find Debian build info.
Solution:   Add a badge in the README file. (Dominique Pelle)
2017-11-02 18:10:00 +01:00
b315876efa patch 8.0.1246: popup test has an arbitrary delay
Problem:    Popup test has an arbitrary delay.
Solution:   Wait for the ruler to show. (James McCoy)
2017-11-02 17:50:14 +01:00
3e1c617d49 patch 8.0.1245: when WaitFor() has a wrong expression it just waits a second
Problem:    When WaitFor() has a wrong expression it just waits a second,
            which goes unnoticed. (James McCoy)
Solution:   When WaitFor() times out throw an exception.  Fix places where the
            expression was wrong.
2017-11-02 16:58:00 +01:00
b94340c04f patch 8.0.1244: search test does not work correctly on MS-Windows
Problem:    Search test does not work correctly on MS-Windows.
Solution:   Put text in a file instead of sending it to the terminal.
            (Christian Brabandt)
2017-11-02 16:16:31 +01:00
f45938cc20 patch 8.0.1243: no test for what 8.0.1227 fixes
Problem:    No test for what 8.0.1227 fixes.
Solution:   Add a test that triggers the problem. (Christian Brabandt)
2017-11-02 15:59:57 +01:00
ffd99f729b patch 8.0.1242: function argument with only dash is seen as number zero
Problem:    Function argument with only dash is seen as number zero. (Wang
            Shidong)
Solution:   See a dash as a string. (Christian Brabandt)
2017-11-02 15:44:14 +01:00
89c394faca patch 8.0.1241: popup test is flaky
Problem:    Popup test is flaky. (James McCoy)
Solution:   Increase the wait time. (Dominique Pelle)
2017-10-31 22:19:58 +01:00
ba6febd380 patch 8.0.1240: MS-Windows: term_start() does not support environment
Problem:    MS-Windows: term_start() does not support environment.
Solution:   Implement the environment argument. (Yasuhiro Matsumoto, closes
            #2264)
2017-10-30 21:56:23 +01:00
48570488f1 patch 8.0.1239: cannot use a lambda for the skip argument to searchpair()
Problem:    Cannot use a lambda for the skip argument to searchpair().
Solution:   Evaluate a partial, funcref and lambda. (LemonBoy, closes #1454,
            closes #2265)
2017-10-30 21:48:41 +01:00
2e51d9a097 patch 8.0.1238: incremental search only shows one match
Problem:    Incremental search only shows one match.
Solution:   When 'incsearch' and and 'hlsearch' are both set highlight all
            matches. (haya14busa, closes #2198)
2017-10-29 16:40:30 +01:00
af2d20c628 patch 8.0.1237: ":set scroll&" often gives an error
Problem:    ":set scroll&" often gives an error.
Solution:   Don't use a fixed default value, use half the window height. Add a
            test. (Ozaki Kiichi, closes #2104)
2017-10-29 15:26:57 +01:00
d057301b1f patch 8.0.1236: Mac features are confusing
Problem:    Mac features are confusing.
Solution:   Make feature names more consistent, add "osxdarwin". Rename
            feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
2017-10-28 21:11:06 +02:00
ef83956e1e patch 8.0.1235: cannot disable the terminal feature in a huge build
Problem:    Cannot disable the terminal feature in a huge build. (lindhobe)
Solution:   Adjust the autoconf check. (Kazunobu Kuriyama, closes #2242)
2017-10-28 20:28:23 +02:00
a6ce1ccf5c patch 8.0.1234: MS-Windows: composing chars are not shown properly
Problem:    MS-Windows: composing characters are not shown properly.
Solution:   Pass base character and composing characters to the renderer at
            once. (Ken Takata, closes #2206)
2017-10-28 19:23:11 +02:00
b9fce6cbf7 patch 8.0.1233: typo in dos installer
Problem:    Typo in dos installer.
Solution:   Remove comma.
2017-10-28 18:50:01 +02:00
c3fdf7f80b patch 8.0.1232: MS-Windows users are confused about default mappings
Problem:    MS-Windows users are confused about default mappings.
Solution:   Don't map keys in the console where they don't work.  Add a choice
            in the installer to use MS-Windows key bindings or not. (Christian
            Brabandt, Ken Takata, closes #2093)
2017-10-28 18:36:48 +02:00
c312b8b87a patch 8.0.1231: expanding file name drops dash
Problem:    Expanding file name drops dash. (stucki)
Solution:   Use the right position. (Christian Brabandt, closes #2184)
2017-10-28 17:53:04 +02:00
ce15775026 patch 8.0.1230: CTRL-A in Visual mode uses character after selection
Problem:    CTRL-A in Visual mode uses character after selection. (Nikolai
            Pavlov)
Solution:   Check the length before using a character.
2017-10-28 16:07:33 +02:00
9a91c7a1f9 patch 8.0.1229: condition in vim_str2nr() is always true
Problem:    Condition in vim_str2nr() is always true. (Nikolai Pavlov)
Solution:   Remove the condition. (Closes #2259)
2017-10-28 15:38:40 +02:00
0e19fc07e7 patch 8.0.1228: invalid memory access in GUI test
Problem:    Invalid memory access in GUI test.
Solution:   Check that the row is not outside of the screen.
2017-10-28 14:45:16 +02:00
dc1c981294 patch 8.0.1227: undefined left shift in readfile()
Problem:    Undefined left shift in readfile(). (Brian 'geeknik' Carpenter)
Solution:   Add cast to unsigned. (Dominique Pelle, closes #2253)
2017-10-27 22:15:24 +02:00
2a45d64d0a patch 8.0.1226: edit and popup tests failing
Problem:    Edit and popup tests failing.
Solution:   Make the tests pass.
2017-10-27 01:35:00 +02:00
ee03b94124 patch 8.0.1225: no check for spell region being zero
Problem:    No check for spell region being zero. (geeknik)
Solution:   Check for zero. (closes #2252)
2017-10-27 00:57:05 +02:00
cf1ba35fc2 patch 8.0.1224: still interference between test functions
Problem:    Still interference between test functions.
Solution:   Clear autocommands. Wipe all buffers.  Fix tests that depend on a
            specific start context.
2017-10-27 00:55:04 +02:00
9ad89c6c4f patch 8.0.1223: crash when using autocomplete and tab pages
Problem:    Crash when using autocomplete and tab pages.
Solution:   Check if the current tab changed. (Christian Brabandt, closes
            #2239)
2017-10-26 22:04:04 +02:00
ce11de87e2 patch 8.0.1222: test functions interfere with each other
Problem:    Test functions interfere with each other.
Solution:   Cleanup tab pages, windows and buffers.  Reset option.
2017-10-26 22:00:00 +02:00
15993ce921 patch 8.0.1221: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Convert a few more tests to new style. (Yegappan Lakshmanan,
            closes #2256)
2017-10-26 20:21:44 +02:00
235dddf1f4 patch 8.0.1220: skipping empty statusline groups is not correct
Problem:    Skipping empty statusline groups is not correct.
Solution:   Also set group_end_userhl. (itchyny)
2017-10-26 18:21:24 +02:00
f204e05ae9 patch 8.0.1219: terminal test is flaky
Problem:    Terminal test is flaky.
Solution:   Add test function to list of flaky tests.
2017-10-26 17:14:01 +02:00
8d84ff1a3c patch 8.0.1218: writing to freed memory in autocmd
Problem:    Writing to freed memory in autocmd.
Solution:   Make a copy of the tag line. (Dominique Pelle, closes #2245)
2017-10-26 16:42:16 +02:00
d99388ba85 patch 8.0.1217: can't use remote eval to inspect vars in debug mode
Problem:    Can't use remote eval to inspect vars in debug mode.
Solution:   Don't discard the call stack in debug mode. (closes #2237, #2247)
2017-10-26 14:28:32 +02:00
6ce6504808 patch 8.0.1216: tabline is not always updated for :file command
Problem:    Tabline is not always updated for :file command. (Norio Takagi)
Solution:   Set redraw_tabline. (Hirohito Higashi)
2017-10-24 22:32:59 +02:00
2f40d129bf patch 8.0.1215: newer gcc warns for implicit fallthrough
Problem:    Newer gcc warns for implicit fallthrough.
Solution:   Consistently use a FALLTHROUGH comment. (Christian Brabandt)
2017-10-24 21:49:36 +02:00
4f1982800f patch 8.0.1214: accessing freed memory when EXITFREE is set
Problem:    Accessing freed memory when EXITFREE is set and there is more than
            one tab and window. (Dominique Pelle)
Solution:   Free options later.  Skip redraw when exiting.
2017-10-23 21:53:30 +02:00
2e4cb3b042 patch 8.0.1213: setting 'mzschemedll' has no effect
Problem:    Setting 'mzschemedll' has no effect.
Solution:   Move loading .vimrc to before call to mzscheme_main().
2017-10-22 21:11:17 +02:00
66857f4104 patch 8.0.1212: MS-Windows: tear-off menu does not work on 64 bit
Problem:    MS-Windows: tear-off menu does not work on 64 bit. (shaggyaxe)
Solution:   Change how the menu handle is looked up. (Ken Takata, closes
            #1205)
2017-10-22 16:43:20 +02:00
ca05aa24af patch 8.0.1211: cannot reorder tab pages with drag & drop
Problem:    Cannot reorder tab pages with drag & drop.
Solution:   Support drag & drop for GTK and MS-Windows. (Ken Takata, Masamichi
            Abe)
2017-10-22 15:36:14 +02:00
f8e8c0643b patch 8.0.1210: CTRL-G and CTRL-T are ignored with typeahead
Problem:    When typing a search pattern CTRL-G and CTRL-T are ignored when
            there is typeahead.
Solution:   Don't pass SEARCH_PEEK and don't call char_avail(). (haya14busa,
            closes #2233)
2017-10-22 14:44:17 +02:00
53f0c96239 patch 8.0.1209: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Convert a few more tests to new style. (Yegappan Lakshmanan,
            closes #2230)
2017-10-22 14:23:59 +02:00
6b89dbb55f patch 8.0.1208: 'statusline' drops empty group with highlight change
Problem:    'statusline' drops empty group with highlight change.
Solution:   Do not drop an empty group if it changes highlighting. (Marius
            Gedminas, closes #2228)
2017-10-22 14:22:16 +02:00
67435d9983 patch 8.0.1207: profiling skips the first and last script line
Problem:    Profiling skips the first and last script line.
Solution:   Check for BOM after setting script ID. (Lemonboy, closes #2103,
            closes #2112) Add a test. List the trailing script lines.
2017-10-19 21:04:37 +02:00
fafcf0dd59 patch 8.0.1206: no autocmd for entering or leaving the command line
Problem:    No autocmd for entering or leaving the command line.
Solution:   Add CmdlineEnter and CmdlineLeave.
2017-10-19 18:35:51 +02:00
ff930cad8a patch 8.0.1205: it is possible to unload a changed buffer
Problem:    Using "1q" it is possible to unload a changed buffer. (Rick Howe)
Solution:   Check the right window for changes.
2017-10-19 17:12:10 +02:00
87ffb5c1a3 patch 8.0.1204: a QuitPre autocommand may get the wrong file name
Problem:    A QuitPre autocommand may get the wrong file name.
Solution:   Pass the buffer being closed to apply_autocmds(). (Rich Howe)
2017-10-19 12:37:42 +02:00
6daeef1933 patch 8.0.1203: terminal window mistreats composing characters
Problem:    Terminal window mistreats composing characters.
Solution:   Count composing characters with the base character. (Ozaki Kiichi,
            closes #2195)
2017-10-15 22:56:49 +02:00
059db5c29f patch 8.0.1202: :wall gives an errof for a terminal window
Problem:    :wall gives an errof for a terminal window. (Marius Gedminas)
Solution:   Don't try writing a buffer that can't be written. (Yasuhiro
            Matsumoto, closes #2190)
2017-10-15 22:42:23 +02:00
44cc4cf72f patch 8.0.1201: "yL" is affected by 'scrolloff'
Problem:    "yL" is affected by 'scrolloff'. (Eli the Bearded)
Solution:   Don't use 'scrolloff' when an operator is pending.
2017-10-15 22:13:37 +02:00
67418d97b4 patch 8.0.1200: tests switch the bell off twice
Problem:    Tests switch the bell off twice.
Solution:   Don't set 'belloff' in individual tests. (Christian Brabandt)
2017-10-15 22:07:39 +02:00
8bfe07b708 patch 8.0.1199: when 'clipboard' is "autoselectplus" star register is set
Problem:    When 'clipboard' is "autoselectplus" the star register is also
            set. (Gilles Moris)
Solution:   Don't set the star register in this situation.
2017-10-15 21:47:05 +02:00
00ce63dc23 patch 8.0.1198: older compilers don't know uint8_t
Problem:    Older compilers don't know uint8_t.
Solution:   Use char_u instead.
2017-10-15 21:44:45 +02:00
81b07b527e patch 8.0.1197: MS-Windows build instructions are not up to date
Problem:    MS-Windows build instructions are not up to date.
Solution:   Adjust the instructions.  Fix the nsis script.
2017-10-15 21:43:21 +02:00
a20f83df1d patch 8.0.1196: crash when t_RF is not set
Problem:    Crash when t_RF is not set. (Brian Pina)
Solution:   Add t_RF to the list of terminal options. (Hirohito Higashi)
2017-10-15 13:35:01 +02:00
9377df3ecd patch 8.0.1195: can't build on MS-Windows
Problem:    Can't build on MS-Windows.
Solution:   Adjust #ifdef and add #ifdefs.
2017-10-15 13:22:01 +02:00
65e4c4f686 patch 8.0.1194: actual fg and bg colors of terminal are unknown
Problem:    Actual fg and bg colors of terminal are unknown.
Solution:   Add t_RF.  Store response to t_RB and t_RF, use for terminal.
2017-10-14 23:24:25 +02:00
b2c8750c4e patch 8.0.1193: crash when wiping out a buffer after using getbufinfo()
Problem:    Crash when wiping out a buffer after using getbufinfo().
            (Yegappan Lakshmanan)
Solution:   Remove b:changedtick from the buffer variables.
2017-10-14 21:15:58 +02:00
ac8069bb63 patch 8.0.1192: MS-Windows: terminal feature not enabled by default
Problem:    MS-Windows: terminal feature not enabled by default.
Solution:   Enable it. (Ken Takata)
2017-10-14 20:24:19 +02:00
6199d43f4b patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer
Problem:    MS-Windows: missing 32 and 64 bit files in installer.
Solution:   Include both 32 and 64 bit GvimExt and related dll files. Remove
            old Windows code from the installer. (Ken Takata, closes #2144)
2017-10-14 19:05:44 +02:00
2c33d7bb69 patch 8.0.1190: unusable after opening new window in BufWritePre event
Problem:    Vim becomes unusable after opening new window in BufWritePre
            event.
Solution:   Call not_exiting(). (Martin Tournoij, closes #2205)
            Also for "2q" when a help window is open.  Add a test.
2017-10-14 16:06:20 +02:00
6047e2c722 patch 8.0.1189: E172 is not actually useful
Problem:    E172 is not actually useful, it's only on Unix anyway.
Solution:   Remove the check and the error.
2017-10-14 15:24:49 +02:00
1d68d9b2bd patch 8.0.1188: autocmd test fails on MS-Windows
Problem:    Autocmd test fails on MS-Windows.
Solution:   Give the buffer a name and find the buffer to be wiped out by
            name.
2017-10-13 22:33:32 +02:00
8065cf2bfb patch 8.0.1187: building with lua fails for OSX on Travis
Problem:    Building with lua fails for OSX on Travis.
Solution:   Separate brew-update and brew-install. (Ozaki Kiichi, closes #2203)
2017-10-12 21:45:23 +02:00
4a6fcf8047 patch 8.0.1186: still quite a few old style tests
Problem:    Still quite a few old style tests.
Solution:   Convert old to new style tests. (Yegappan Lakshmanan)
            Avoid ringing the bell while running tests.
2017-10-12 21:29:22 +02:00
9202162c5c patch 8.0.1185: Ruby library includes minor version number
Problem:    Ruby library includes minor version number.
Solution:   Only use the API version number. (Ben Boeckel, closes #2199)
2017-10-12 12:33:43 +02:00
9b69f22e66 patch 8.0.1184: the :marks command is not tested
Problem:    The :marks command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #2197)
2017-10-08 21:53:15 +02:00
18cfa940e2 patch 8.0.1183: MS-Windows build instructions are outdated
Problem:    MS-Windows build instructions are outdated.
Solution:   Update instructions for MSVC 2015.  Update the build script.
2017-10-08 17:58:44 +02:00
0ab35b279f patch 8.0.1182: cannot see or change mzscheme dll name
Problem:    Cannot see or change mzscheme dll name.
Solution:   Add 'mzschemedll' and 'mzschemegcdll'.
2017-10-08 17:41:37 +02:00
4635e11c6b patch 8.0.1181: tests using Vim command fail on MS-Windows
Problem:    Tests using Vim command fail on MS-Windows.
Solution:   Do not add quotes around the Vim command.
2017-10-07 21:05:18 +02:00
75f69e5a18 patch 8.0.1180: MS-Windows testclean target deletes the color script
Problem:    MS-Windows testclean target deletes the color script.
Solution:   Rename the script file.
2017-10-07 20:10:29 +02:00
631820536e patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Problem:    Test_popup_and_window_resize() does not always pass.
Solution:   Do not use $VIMPROG, pass the Vim executable in the vimcmd file.
            (Ozaki Kiichi, closes #2186)
2017-10-07 20:03:23 +02:00
73f4439ca6 patch 8.0.1178: using old compiler on MS-Windows
Problem:    Using old compiler on MS-Windows.
Solution:   Switch default build on MS-Windows to use MSVC 2015. (Ken Takata)
2017-10-07 18:38:43 +02:00
54e5dbf58e patch 8.0.1177: in a terminal window the popup menu is not cleared
Problem:    In a terminal window the popup menu is not cleared. (Gerry
            Agbobada)
Solution:   Redraw when SOME_VALID is used instead of NOT_VALID. (closes
            #2194)
2017-10-07 17:35:09 +02:00
d78f03f860 patch 8.0.1176: job_start() does not handle quote and backslash correctly
Problem:    Job_start() does not handle quote and backslash correctly.
Solution:   Remove quotes, recognize and remove backslashes.
2017-10-06 01:07:41 +02:00
c902609f69 patch 8.0.1175: build failure without +termresponse
Problem:    Build failure without +termresponse.
Solution:   Add #ifdef.
2017-10-04 19:35:02 +02:00
a0a6f2776e patch 8.0.1174: Mac Terminal.app has wrong color for white
Problem:    Mac Terminal.app has wrong color for white.
Solution:   Use white from the color cube.
2017-10-04 18:04:16 +02:00
19a3d68b2c patch 8.0.1173: terminal window is not redrawn after CTRL-L
Problem:    Terminal window is not redrawn after CTRL-L. (Marcin Szamotulski)
Solution:   Redraw the whole terminal when w_redr_type is NOT_VALID.
2017-10-02 21:54:59 +02:00
2a6a6c3014 patch 8.0.1172: when E734 is given option is still set
Problem:    When E734 is given option is still set.
Solution:   Assign NULL to "s". (Christian Brabandt)
2017-10-02 19:29:48 +02:00
712549e04e patch 8.0.1171: popup test is still a bit flaky
Problem:    Popup test is still a bit flaky.
Solution:   Change term_wait() calls. (Ozaki Kiichi)
2017-10-01 16:59:18 +02:00
f33606112a patch 8.0.1170: using termdebug results in 100% CPU time
Problem:    Using termdebug results in 100% CPU time. (tomleb)
Solution:   Use polling instead of select().
2017-10-01 16:21:31 +02:00
5ece3e359c patch 8.0.1169: highlignting one char too many with 'list' and 'cul'
Problem:    Highlignting one char too many with 'list' and 'cul'.
Solution:   Check for 'list' being active. (Ozaki Kiichi, closes #2177)
2017-10-01 14:35:02 +02:00
0aa398f55a patch 8.0.1168: wrong highlighting with combination of match and 'cursorline'
Problem:    wrong highlighting with combination of match and 'cursorline'.
Solution:   Use "line_attr" when appropriate. (Ozaki Kiichi, closes #2111)
            But don't highlight more than one character.
2017-09-30 21:23:55 +02:00
3a497e1a41 patch 8.0.1167: Motif: typing in terminal window is slow
Problem:    Motif: typing in terminal window is slow.
Solution:   Do not redraw the whole terminal window but only was was changed.
2017-09-30 20:40:27 +02:00
c958b31638 patch 8.0.1166: :terminal doesn't work on Mac High Sierra
Problem:    :terminal doesn't work on Mac High Sierra.
Solution:   Change #ifdef for OpenPTY(). (Ozaki Kiichi, Kazunobu Kuriyama,
            closes #2162)
2017-09-30 20:04:36 +02:00
f52c383156 patch 8.0.1165: popup test is still flaky
Problem:    Popup test is still flaky.
Solution:   Add a term_wait() call. (Ozaki Kiichi)
2017-09-30 16:49:19 +02:00
65ed136844 patch 8.0.1164: changing StatusLine highlight does not always work
Problem:    Changing StatusLine highlight while evaluating 'statusline' may
            not change the status line color.
Solution:   When changing highlighting while redrawing don't cause another
            redraw. (suggested by Ozaki Kiichi, closes #2171, closes #2120)
2017-09-30 16:00:14 +02:00
c79977a437 patch 8.0.1163: popup test is flaky
Problem:    Popup test is flaky.
Solution:   Add a WaitFor() and fix another.
2017-09-30 14:39:27 +02:00
660b85e39a patch 8.0.1162: shared script for tests cannot be included twice
Problem:    Shared script for tests cannot be included twice.
Solution:   Include it where needed, it will "finish" if loaded again.
2017-09-30 14:26:58 +02:00
a5e6621aad patch 8.0.1161: popup menu drawing problem when resizing terminal
Problem:    Popup menu drawing problem when resizing terminal.
Solution:   Redraw after resizing also when a popup menu is visible. (Ozaki
            Kiichi, closes #2110)
2017-09-29 22:42:33 +02:00
816968defc patch 8.0.1160: getting tab-local variable fails after closing window
Problem:    Getting tab-local variable fails after closing window.
Solution:   set tp_firstwin and tp_lastwin. (Jason Franklin, closes #2170)
2017-09-29 21:29:18 +02:00
d371bbe0ab patch 8.0.1159: typo in #ifdef
Problem:    Typo in #ifdef.
Solution:   Change "PROT" to "PROTO". (Nobuhiro Takasaki, closes #2165)
2017-09-28 22:35:25 +02:00
db51007108 patch 8.0.1158: still old style tests
Problem:    Still old style tests.
Solution:   Convert serveral tests to new style. (Yegappan Lakshmanan)
2017-09-28 21:52:17 +02:00
24a98a0eb7 Update runtime files 2017-09-27 22:23:55 +02:00
9cf39cc57f patch 8.0.1157: compiler warning on MS-Windows
Problem:    Compiler warning on MS-Windows.
Solution:   Add type cast. (Yasuhiro Matsomoto)
2017-09-27 21:46:19 +02:00
1ec96c9269 patch 8.0.1156: trouble from removing one -W argument from Perl CFLAGS
Problem:    Removing one -W argument from Perl CFLAGS may cause trouble.
Solution:   Remove all -W flags. (Christian Brabandt)
2017-09-27 21:42:08 +02:00
d1bc96ce24 patch 8.0.1155: Ruby command triggers a warning
Problem:    Ruby command triggers a warning when RUBYOPT is set to "-w".
Solution:   use "-e_=0" instead of "-e0". (Masataka Pocke Kuwabara, closes
            #2143)
2017-09-26 21:21:44 +02:00
1b38344e00 patch 8.0.1154: 'indentkeys' does not work properly
Problem:    'indentkeys' does not work properly. (Gary Johnson)
Solution:   Get the cursor line again. (Christian Brabandt, closes #2151)
2017-09-26 20:04:54 +02:00
97fbc404fc patch 8.0.1153: no tests for diff_hlID() and diff_filler()
Problem:    No tests for diff_hlID() and diff_filler().
Solution:   Add tests. (Dominique Pelle, closes #2156)
2017-09-26 19:41:46 +02:00
2a02745709 patch 8.0.1152: encoding of error message wrong in Cygwin terminal
Problem:    Encoding of error message wrong in Cygwin terminal.
Solution:   Get locale from environment variables. (Ken Takata)
2017-09-26 19:10:37 +02:00
09ca932f8e patch 8.0.1151: "vim -c startinsert!" doesn't append
Problem:    "vim -c startinsert!" doesn't append.
Solution:   Correct line number on startup. (Christian Brabandt, closes #2117)
2017-09-26 17:40:45 +02:00
6edeaf387c patch 8.0.1150: MS-Windows GUI: dialog font size is incorrect
Problem:    MS-Windows GUI: dialog font size is incorrect.
Solution:   Pass flag to indicate 'encoding' or active codepage. (Yasuhiro
            Matsomoto, closes #2160)
2017-09-26 14:46:04 +02:00
a8fc0d3817 patch 8.0.1149: libvterm colors differ from xterm
Problem:    libvterm colors differ from xterm.
Solution:   Use the xterm colors for libvterm.
2017-09-26 13:59:47 +02:00
22ab547dc2 patch 8.0.1148: gN doesn't work on last match with 'wrapscan' off
Problem:    "gN" doesn't work on last match with 'wrapscan' off. (fcpg)
Solution:   Adjust for searching backward. (Christian Brabandt)
2017-09-26 12:28:45 +02:00
7c456a4511 patch 8.0.1147: fail to build with tiny features
Problem:    Fail to build with tiny features. (Tony Mechelynck)
Solution:   Move #ifdefs.
2017-09-26 11:15:53 +02:00
452030e530 patch 8.0.1146: redraw when highlight is set with same names
Problem:    Redraw when highlight is set with same names. (Ozaki Kiichi)
Solution:   Only free and save a name when it changed. (closes #2120)
2017-09-25 22:57:27 +02:00
0c6a32963d patch 8.0.1145: warning when compiling with Perl
Problem:    Warning when compiling with Perl.
Solution:   Remove unused variable. (Ken Takata0
2017-09-25 22:02:32 +02:00
0b05e491b4 patch 8.0.1144: using wrong #ifdef for computing length
Problem:    Using wrong #ifdef for computing length.
Solution:   use BACKSLASH_IN_FILENAME instead of COLON_IN_FILENAME. (Yasuhiro
            Matsomoto, closes #2153)
2017-09-24 19:39:09 +02:00
e0de17d84e patch 8.0.1143: macros always expand to the same thing
Problem:    Macros always expand to the same thing.
Solution:   Remove W_VSEP_WIDTH() and W_STATUS_HEIGHT().
2017-09-24 16:24:34 +02:00
378daf87d3 patch 8.0.1142: window toolbar menu gets a tear-off item
Problem:    Window toolbar menu gets a tear-off item.
Solution:   Recognize the window toolbar.
2017-09-23 23:58:28 +02:00
96e7a6ee45 patch 8.0.1141: MS-Windows build dependencies are incomplete
Problem:    MS-Windows build dependencies are incomplete.
Solution:   Fix the dependencies. (Ken Takata)
2017-09-23 19:48:29 +02:00
bb3e6416f1 patch 8.0.1140: still old style tests
Problem:    Still old style tests.
Solution:   Convert two tests to new style. (Yegappan Lakshmanan)
2017-09-23 19:24:46 +02:00
a21a6a9ade patch 8.0.1139: using window toolbar changes state
Problem:    Using window toolbar changes state.
Solution:   Always execute window toolbar actions in Normal mode.
2017-09-23 16:33:50 +02:00
eb163d73b1 patch 8.0.1138: click in window toolbar starts Visual mode
Problem:    Click in window toolbar starts Visual mode.
Solution:   Add the MOUSE_WINBAR flag.
2017-09-23 15:08:17 +02:00
e745d75c3e patch 8.0.1137: cannot build with Ruby
Problem:    Cannot build with Ruby.
Solution:   Fix misplaced brace.
2017-09-22 16:56:22 +02:00
0263146b5d patch 8.0.1136: W_WIDTH() is always the same
Problem:    W_WIDTH() is always the same.
Solution:   Expand the macro.
2017-09-22 15:20:32 +02:00
53f8174eae patch 8.0.1135: W_WINCOL() is always the same
Problem:    W_WINCOL() is always the same.
Solution:   Expand the macro.
2017-09-22 14:35:51 +02:00
76301956f0 patch 8.0.1134: superfluous call to syn_get_final_id()
Problem:    Superfluous call to syn_get_final_id().
Solution:   Remove it. (Ken Takata)
2017-09-22 13:53:37 +02:00
f3d769a585 patch 8.0.1133: syntax timeout not used correctly
Problem:    Syntax timeout not used correctly.
Solution:   Do not pass the timeout to syntax_start() but set it explicitly.
            (Yasuhiro Matsumoto, closes #2139)
2017-09-22 13:44:56 +02:00
8b21de33bb Missing part of 8.0.1131. 2017-09-22 11:13:52 +02:00
fc7649f8b8 patch 8.0.1132: #if condition is not portable
Problem:    #if condition is not portable.
Solution:   Add defined(). (Zuloloxi, closes #2136)
2017-09-21 22:46:47 +02:00
b00fdf6eed patch 8.0.1131: not easy to trigger an autocommand for new terminal window
Problem:    It is not easy to trigger an autocommand for new terminal window.
            (Marco Restelli)
Solution:   Trigger BufWinEnter after setting 'buftype'.
2017-09-21 22:16:21 +02:00
9cb03716c9 patch 8.0.1130: the qf_jump() function is still too long
Problem:    The qf_jump() function is still too long.
Solution:   Split of parts to separate functions. (Yegappan Lakshmanan)
2017-09-20 22:43:02 +02:00
2e6ab18729 Add back terminal.c 2017-09-20 10:03:07 +02:00
a5a2be26fe patch 8.0.1129: window toolbar missing a part of the patch
Problem:    Window toolbar missing a part of the patch.
Solution:   Add change in vim.h.
2017-09-19 22:08:04 +02:00
37c64c78fd Update runtime files. 2017-09-19 22:06:03 +02:00
e22bbf6508 patch 8.0.1128: old xterm sends CTRL-X in response to t_RS
Problem:    Old xterm sends CTRL-X in response to t_RS.
Solution:   Only send t_RS for xterm 279 and later.  Remove the workaround to
            ignore CTRL-X.
2017-09-19 20:47:16 +02:00
a8e93d63e3 patch 8.0.1127: Test_peek_and_get_char fails on 32 bit system
Problem:    Test_peek_and_get_char fails on 32 bit system. (Eliminate
            Riesebieter)
Solution:   Avoid an integer overflow. (James McCoy, closes #2116)
2017-09-18 21:50:47 +02:00
71b2964066 patch 8.0.1126: endless resize when terminal showing in two buffers
Problem:    Endless resize when terminal showing in two buffers. (Hirohito
            Higashi)
Solution:   Set a flag to prevent resizing the window.
2017-09-18 21:24:56 +02:00
d326ad6e93 patch 8.0.1125: wrong window height when splitting window with window toolbar
Problem:    Wrong window height when splitting window with window toolbar.
Solution:   Add or subtract the window toolbar height.
2017-09-18 20:31:41 +02:00
f16c71b669 patch 8.0.1124: use of MZSCHEME_VER is unclear
Problem:    Use of MZSCHEME_VER is unclear.
Solution:   Add a comment. (Ken Takata)
2017-09-18 20:01:02 +02:00
1b9645de3c patch 8.0.1123: cannot define a toolbar for a window
Problem:    Cannot define a toolbar for a window.
Solution:   Add a window-local toolbar.
2017-09-17 23:03:31 +02:00
dde403c2d8 patch 8.0.1122: vimtutor.bat doesn't work well with vim.bat
Problem:    vimtutor.bat doesn't work well with vim.bat.
Solution:   Use "call vim". (Ken Takata, closes #2105)
2017-09-17 21:43:00 +02:00
49150a41f8 patch 8.0.1121: can uncheck executables in MS-Windows installer
Problem:    Can uncheck executables in MS-Windows installer.
Solution:   Make the choice read-only. (Ken Takata, closes #2106)
2017-09-17 21:00:03 +02:00
63c4e8a198 patch 8.0.1120: :tm means :tmap instead of :tmenu
Problem:    :tm means :tmap instead of :tmenu. (Taro Muraoka)
Solution:   Move the new entry below the old entry. (closes #2102)
2017-09-17 20:32:20 +02:00
8adb0d03ca patch 8.0.1119: quitting a split terminal window kills the job
Problem:    Quitting a split terminal window kills the job. (Yasuhiro
            Matsumoto)
Solution:   Only stop terminal job if it is the last window.
2017-09-17 19:08:02 +02:00
4033c55eca patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs
Problem:    FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always
            enabled and only adds 7% to the binary size of the tiny build.
Solution:   Graduate FEAT_WINDOWS.
2017-09-16 20:54:51 +02:00
e738a1a033 patch 8.0.1117: Test_terminal_no_cmd hangs on MS-Windows with GUI
Problem:    Test_terminal_no_cmd hangs on MS-Windows with GUI. (Christian
            Brabandt)
Solution:   Run the command with "start" and wait for the text to appear.
            (micbou, closes #2096)
2017-09-16 17:42:41 +02:00
1514e8f427 patch 8.0.1116: terminal test fails on MS-Windows
Problem:    Terminal test fails on MS-Windows.
Solution:   Wait for the text to appear. (micbou, closes #2097)
2017-09-16 17:35:13 +02:00
495b7dd213 patch 8.0.1115: crash when using foldtextresult() recursively
Problem:    Crash when using foldtextresult() recursively.
Solution:   Avoid recursive calls. (Yasuhiro Matsumoto, closes #2098)
2017-09-16 17:19:22 +02:00
4cf56bbc85 patch 8.0.1114: default for 'iminsert' is annoying
Problem:    Default for 'iminsert' is annoying.
Solution:   Make the default always zero. (Yasuhiro Matsumoto, closes #2071)
2017-09-16 15:50:32 +02:00
eef9adddab patch 8.0.1113: can go to Insert mode from Terminal-Normal mode
Problem:    Can go to Insert mode from Terminal-Normal mode.
Solution:   Prevent :startinsert and "VA" to enter Insert mode. (Yasuhiro
            Matsumoto, closes #2092)
2017-09-16 15:38:04 +02:00
fc2b270cfd patch 8.0.1112: can't get size or current index from quickfix list
Problem:    Can't get size or current index from quickfix list.
Solution:   Add "idx" and "size" options. (Yegappan Lakshmanan)
2017-09-15 22:43:07 +02:00
b5e79ef5a9 patch 8.0.1111: syntax error in configure when using Perl
Problem:    Syntax error in configure when using Perl.
Solution:   Add missing quote
2017-09-15 12:40:53 +02:00
e8ff56b28e patch 8.0.1110: FORTIFY_SOURCE from Perl causes problems
Problem:    FORTIFY_SOURCE from Perl causes problems. (Scott Baker)
Solution:   Filter out the flag. (Christian Brabandt, closes #2068)
2017-09-14 23:06:23 +02:00
f5291f301e patch 8.0.1109: timer causes error on exit from Ex mode
Problem:    Timer causes error on exit from Ex mode. (xtal8)
Solution:   save and restore the ex_pressedreturn flag. (Christian Brabandt,
            closes #2079)
2017-09-14 22:55:37 +02:00
69fbc9e1da patch 8.0.1108: cannot specify mappings for the terminal window
Problem:    Cannot specify mappings for the terminal window.
Solution:   Add the :tmap command and associated code.  (Jacob Askeland,
            closes #2073)
2017-09-14 20:37:57 +02:00
38baa3e634 patch 8.0.1107: terminal debugger jumps to non-existing file
Problem:    Terminal debugger jumps to non-existing file.
Solution:   Check that the file exists.  Add an option to make the Vim wide
            wide. Fix removing highlight groups.
2017-09-14 16:10:38 +02:00
69e8aa7511 patch 8.0.1106: terminal colors wrong on an MS-Windows console
Problem:    Terminal colors on an MS-Windows console are not matching the
            normal colors.
Solution:   Use the normal colors for the terminal. (Yasuhiro Matsumoto,
            closes #2087)
2017-09-14 15:55:13 +02:00
1190cf68e2 patch 8.0.1105: match() and matchend() are not tested
Problem:    match() and matchend() are not tested.
Solution:   Add tests. (Ozaki Kiichi, closes #2088)
2017-09-14 14:31:18 +02:00
ef6b8de42f patch 8.0.1104: the qf_jump() function is too long
Problem:    The qf_jump() function is too long.
Solution:   Split of parts to separate functions. (Yegappan Lakshmanan)
2017-09-14 13:57:37 +02:00
478e3a78c3 patch 8.0.1103: converting cterm color fails for grey ramp
Problem:    Converting cterm color fails for grey ramp.
Solution:   Use index instead of number.
2017-09-14 13:37:00 +02:00
c71053c611 patch 8.0.1102: terminal window does not use Normal colors
Problem:    Terminal window does not use Normal colors.
Solution:   For the GUI and when 'termguicolors' is enabled, use the actual
            foreground and background colors for the terminal.  (Yasuhiro
            Matsumoto, closes #2067)
            Use the "Terminal" highlight group if defined.
2017-09-14 00:00:44 +02:00
71eeb74a60 patch 8.0.1101: channel write fails if writing to log fails
Problem:    Channel write fails if writing to log fails.
Solution:   Ignore return value of fwrite(). (Ozaki Kiichi, closes #2081)
2017-09-13 22:18:01 +02:00
072412ed45 patch 8.0.1100: stuck in redraw loop when 'lazyredraw' is set
Problem:    Stuck in redraw loop when 'lazyredraw' is set.
Solution:   Don't loop on update_screen() when not redrawing. (Yasuhiro
            Matsumoto, closes #2082)
2017-09-13 22:11:35 +02:00
518d699699 patch 8.0.1099: warnings for GDK calls
Problem:    Warnings for GDK calls.
Solution:   Use other calls for GTK 3 and fix a few problems. (Kazunobu
            Kuriyama)
2017-09-13 22:09:58 +02:00
b984b80cd8 patch 8.0.1098: build failure if libvterm installed
Problem:    Build failure if libvterm installed on the system. (Oleh
            Hushchenkov)
Solution:   Change the CCCTERM argument order. (Ken Takata, closes #2080)
2017-09-12 22:59:58 +02:00
49a613f84a patch 8.0.1097: background color wrong if job changes background color
Problem:    Background color wrong if job changes background color.
Solution:   Get the background color from vterm.
2017-09-11 23:05:44 +02:00
238d43b328 patch 8.0.1096: terminal window in Normal mode has wrong background
Problem:    Terminal window in Normal mode has wrong background.
Solution:   Store the default background and use it for clearning until the
            end of the line.  Not for below the last line, since there is no
            text there.
2017-09-11 22:00:51 +02:00
a038cb5eab patch 8.0.1095: terminal multibyte escrape test is flaky
Problem:    Terminal multibyte escrape test is flaky.
Solution:   Add another condition to wait for.
2017-09-11 20:45:23 +02:00
c212798333 patch 8.0.1094: using ssh from Terminal.app runs into xterm incompatibility
Problem:    Using ssh from Terminal.app runs into xterm incompatibility.
Solution:   Also detect Terminal.app on non-Mac systems.
2017-09-11 20:34:13 +02:00
b4d5fbabc9 patch 8.0.1093: various small quickfix issues
Problem:    Various small quickfix issues.
Solution:   Remove ":" prefix from title set by a user. Add the qf_id2nr().
            function. Add a couple more tests.  Update documentation.
            (Yegappan Lakshmanan)
2017-09-11 19:31:28 +02:00
45d5f26d11 patch 8.0.1092: terminal debugger can't evaluate expressions
Problem:    Terminal debugger can't evaluate expressions.
Solution:   Add :Evaluate and K.  Various other improvements.
2017-09-10 19:14:31 +02:00
95c83c64be patch 8.0.1091: test for <cexpr> fails without +balloon_eval feature
Problem:    Test for <cexpr> fails without +balloon_eval feature.
Solution:   Remove #ifdefs.
2017-09-10 18:44:29 +02:00
65f084749b patch 8.0.1090: cannot get the text under the cursor like v:beval_text
Problem:    cannot get the text under the cursor like v:beval_text
Solution:   Add <cexpr>.
2017-09-10 18:16:20 +02:00
c168bd4bd3 patch 8.0.1089: cannot get range count in user command
Problem:    Cannot get range count in user command.
Solution:   Add <range> argument.
2017-09-10 17:34:35 +02:00
414168d97f patch 8.0.1088: occasional memory use after free
Problem:    Occasional memory use after free.
Solution:   Use the highlight table directly, don't keep a pointer.
2017-09-10 15:21:55 +02:00
e9f6fd27d0 patch 8.0.1087: Test_terminal_cwd is flaky
Problem:    Test_terminal_cwd is flaky. MS-Windows: term_start() "cwd"
            argument does not work.
Solution:   Wait for the condition to be true instead of using a sleep.
            Pass the directory to winpty.
2017-09-10 14:25:49 +02:00
8696bbaf52 patch 8.0.1086: can't build with GTK 3
Problem:    Can't build with GTK 3.
Solution:   Rename function argument. (Kazunobu Kuriyama)
2017-09-09 23:00:56 +02:00
e09ba7bae5 patch 8.0.1085: terminal debugger can't set breakpoints
Problem:    The terminal debugger can't set breakpoints.
Solution:   Add :Break and :Delete commands.  Also commands for stepping
            through code.
2017-09-09 22:19:47 +02:00
7be9b50fd7 patch 8.0.1084: GTK build has compiler warnings
Problem:    GTK build has compiler warnings. (Christian Brabandt)
Solution:   Get screen size with a different function. (Ken Takata, Yasuhiro
            Matsumoto)
2017-09-09 18:45:26 +02:00
5b5adf5b9c patch 8.0.1083: leaking memory in input part of channel
Problem:    Leaking memory in input part of channel.
Solution:   Clear the input part of channel.  Free the entry. Move failing
            command test to a separate file to avoid bogus leak reports
            clouding tests that should not leak.
2017-09-09 18:16:43 +02:00
9d18961323 patch 8.0.1082: tests fail when run under valgrind
Problem:    Tests fail when run under valgrind.
Solution:   Increase waiting times.
2017-09-09 18:11:00 +02:00
aba680a851 patch 8.0.1081: memory leak for the channel write queue
Problem:    Memory leak for the channel write queue.
Solution:   Free the write queue when clearing a channel.
2017-09-09 16:42:53 +02:00
74121231be patch 8.0.1080: memory leak for eof_chars terminal option and buffer name
Problem:    Memory leak for eof_chars terminal option and buffer name.
Solution:   Free job options. Free the buffer name
2017-09-09 16:34:32 +02:00
09d6c3818d patch 8.0.1079: memory leak when remote_foreground() fails
Problem:    Memory leak when remote_foreground() fails.
Solution:   Free the error message.
2017-09-09 16:25:54 +02:00
b4ea1914b8 patch 8.0.1078: using freed memory with ":hi Normal"
Problem:    Using freed memory with ":hi Normal".
Solution:   Get "item" again after updating the table.
2017-09-09 15:28:14 +02:00
fe386641b0 patch 8.0.1077: no debugger making use of the terminal window
Problem:    No debugger making use of the terminal window.
Solution:   Add the term debugger plugin.  So far only displays the current
            line when stopped.
2017-09-08 21:10:04 +02:00
3c518400d1 patch 8.0.1076: term_start() does not take callbacks
Problem:    term_start() does not take callbacks. When using two terminals
            without a job only one is read from.  A terminal without a window
            returns the wrong pty.
Solution:   Support "callback", "out_cb" and "err_cb".  Fix terminal without a
            window. Fix reading from multiple channels.
2017-09-08 20:47:00 +02:00
1a735d6c9b patch 8.0.1075: MS-Windows: mouse does not work in terminal
Problem:    MS-Windows: mouse does not work in terminal.
Solution:   Force the winpty mouse on. (Yasuhiro Matsumoto, closes #2072)
2017-09-08 16:25:54 +02:00
2dc9d26c14 patch 8.0.1074: ":term NONE" does not work on MS-Windows
Problem:    ":term NONE" does not work on MS-Windows.
Solution:   Make it work.  Split "pty" into "pty_in" and "pty_out". (Yasuhiro
            Matsumoto, closes #2058, closes #2045)
2017-09-08 14:39:30 +02:00
ba2929b6af patch 8.0.1073: may get an endless loop if 'statusline' changes a highlight
Problem:    May get an endless loop if 'statusline' changes a highlight.
Solution:   Do not let evaluating 'statusline' trigger a redraw.
2017-09-08 13:59:21 +02:00
99433291b1 patch 8.0.1072: :highlight command causes a redraw even when nothing changed
Problem:    The :highlight command causes a redraw even when nothing changed.
Solution:   Only set "need_highlight_changed" when an attribute changed.
2017-09-08 12:37:47 +02:00
c6da01a5b8 patch 8.0.1071: putty-color and cygwin-color are not recognized
Problem:    $TERM names starting with "putty" and "cygwin" are likely to have
            a dark background, but are not recognized.
Solution:   Only check the first few characters of $TERM to match "putty" or
            "cygwin". (Christian Brabandt)
2017-09-07 22:37:36 +02:00
75a60f74ce patch 8.0.1070: terminal test is flaky on Mac
Problem:    Terminal test is flaky on Mac.
Solution:   Add Test_terminal_noblock() to list of flaky tests.
2017-09-07 22:24:41 +02:00
37b53270e1 patch 8.0.1069: still get CTRL-X sometimes
Problem:    Still get CTRL-X sometimes for t_RS request.
Solution:   Also skip 0x18 after a key code response.
2017-09-07 20:18:40 +02:00
618d6d277e patch 8.0.1068: vandyke SecureCRT terminal can't handle cursor mode request
Problem:    Vandyke SecureCRT terminal can't handle cursor mode request.
            (Steven Hartland)
Solution:   Fix pointer computation. (closes #2008)
2017-09-07 12:59:25 +02:00
e723c42836 patch 8.0.1067: try/catch in timer does not prevent it from being stopped
Problem:    Using try/catch in timer does not prevent it from being stopped.
Solution:   Reset the exception context and use did_emsg instead of
            called_emsg.
2017-09-06 23:40:10 +02:00
2e49b6b20c patch 8.0.1066: some terminals can't handle requesting cursor mode
Problem:    Some terminals can't handle requesting cursor mode. (Steven
            Hartland)
Solution:   Recognize vandyke SecureCRT. (closes #2008)
2017-09-06 22:08:16 +02:00
c35e4cb4fe patch 8.0.1065: not all macro examples are included
Problem:    Not all macro examples are included in the self-installing
            executable. (lkintact)
Solution:   Add the directories to the NSIS script. (closes #2065)
2017-09-06 21:43:10 +02:00
1b9f9d315f patch 8.0.1064: Coverity warns for leaking resource
Problem:    Coverity warns for leaking resource.
Solution:   Free pty_master_fd on failure.
2017-09-05 23:32:38 +02:00
28550b74bb patch 8.0.1063: Coverity warns for NULL check and array use
Problem:    Coverity warns for NULL check and using variable pointer as an
            array.
Solution:   Remove the NULL check.  Make "argvar" an array.
2017-09-05 23:31:01 +02:00
c3f81394ef patch 8.0.1062: Coverity warnings in libvterm
Problem:    Coverity warnings in libvterm.
Solution:   Add (void) to avoid warning for not checking return value.
            Add "break" before "case".
2017-09-05 23:29:34 +02:00
6756c7037f patch 8.0.1061: Coverity: no check for NULL command
Problem:    Coverity: no check for NULL command.
Solution:   Check for NULL list item.
2017-09-05 23:01:12 +02:00
3971905bac patch 8.0.1060: when imstyle is one, mapping <Left> breaks preediting
Problem:    When imstyle is one, mapping <Left> breaks preediting.
Solution:   Pass though preediting key-events. (Yasuhiro Matsumoto, closes
            #2064, closes #2063)
2017-09-05 22:20:46 +02:00
3d8d2c7ca5 patch 8.0.1059: older Gnome terminal returns smaller version number
Problem:    older Gnome terminal returns smaller version number. (antarestrue)
Solution:   Lower version limit from 2800 to 2500. (#2032)
2017-09-05 21:57:27 +02:00
8b53b79ea5 patch 8.0.1058: terminal redirection test is flaky
Problem:    Terminal redirection test is flaky.
Solution:   Wait for job to finish.
2017-09-05 20:29:25 +02:00
1bfdc07a49 patch 8.0.1057: terminal scrape test waits too long
Problem:    Terminal scrape test waits too long, it checks for one instead of
            three.
Solution:   Check there are three characters. (micbou)
2017-09-05 20:19:42 +02:00
6e32f615eb patch 8.0.1056: cannot build with +diff but without +multi_byte
Problem:    Cannot build with the diff feature but without the mutli-byte
            feature.
Solution:   Remove #ifdefs. (John Marriott)
2017-09-04 23:21:07 +02:00
11aa62f8f9 patch 8.0.1055: bufline test hangs on MS-Windows
Problem:    Bufline test hangs on MS-Windows.
Solution:   Avoid message for writing file.  Source shared.vim when running
            test individually.
2017-09-04 22:56:01 +02:00
178333783f patch 8.0.1054: terminal test fails on MS-Windows
Problem:    Terminal test fails on MS-Windows.
Solution:   Disable the redirection test for now.  Improve scrape test to make
            it less flaky.
2017-09-04 22:23:19 +02:00
9d954207e2 patch 8.0.1053: setline() does not work on startup
Problem:    setline() does not work on startup. (Manuel Ortega)
Solution:   Do not check for ml_mfp to be set for the current buffer.
            (Christian Brabandt)
2017-09-04 20:34:19 +02:00
e88fc7a574 patch 8.0.1052: term_start() does not allow in_io, out_io and err_io options
Problem:    term_start() does not allow in_io, out_io and err_io options.
Solution:   Add JO_OUT_IO to get_job_options().
2017-09-03 20:59:40 +02:00
9d654a8d8c patch 8.0.1051: cannot run terminal with spaces in argument
Problem:    Cannot run terminal with spaces in argument.
Solution:   Accept backslash to escape space and other characters. (closes
            #1999)
2017-09-03 19:52:17 +02:00
595a40226e patch 8.0.1050: terminal window feature not included by default
Problem:    Terminal window feature not included by default.
Solution:   Include the terminal feature for the "huge" build.
2017-09-03 19:15:57 +02:00
d8d85bfb7d patch 8.0.1049: shell on Mac can't handle long text
Problem:    Shell on Mac can't handle long text, making terminal test fail.
Solution:   Only write 1000 characters instead of 5000.
2017-09-03 18:08:00 +02:00
5e80de3f3e patch 8.0.1048: no test for what 8.0.1020 fixes
Problem:    No test for what 8.0.1020 fixes.
Solution:   Add test_feedinput().  Add a test. (Ozaki Kiichi, closes #2046)
2017-09-03 15:48:12 +02:00
00ccf54630 patch 8.0.1047: buffer overflow in Ruby
Problem:    Buffer overflow in Ruby.
Solution:   Allocate one more byte. (Dominique Pelle)
2017-09-03 15:17:48 +02:00
ae96b8d058 patch 8.0.1046: code duplication in diff mode
Problem:    Code duplication in diff mode.
Solution:   Use diff_equal_char() also in diff_cmp(). (Rick Howe)
2017-09-03 15:04:21 +02:00
6a8691d483 patch 8.0.1045: running tests may pollute shell history
Problem:    Running tests may pollute shell history. (Manuel Ortega)
Solution:   Make $HISTFILE empty.
2017-09-03 14:31:02 +02:00
2254a8ad0c patch 8.0.1044: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (John Marriott)
Solution:   Initialize ind_pre.
2017-09-03 14:03:43 +02:00
4ec86ddd77 patch 8.0.1043: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (John Marriott)
Solution:   Move code to check indent inside "if".
2017-09-02 23:28:54 +02:00
9f45ccd1bf patch 8.0.1042: without the syntax feature highlighting doesn't work
Problem:    Without the syntax feature highlighting doesn't work.
Solution:   Always use unsigned short to store attributes.
2017-09-02 20:40:35 +02:00
e2e69e4813 patch 8.0.1041: bogus characters when indenting during visual-block append
Problem:    Bogus characters appear when indenting kicks in while doing a
            visual-block append.
Solution:   Recompute when indenting is done. (Christian Brabandt)
2017-09-02 20:30:35 +02:00
3653822546 patch 8.0.1040: cannot use another error format in getqflist()
Problem:    Cannot use another error format in getqflist().
Solution:   Add the "efm" argument to getqflist(). (Yegappan Lakshmanan)
2017-09-02 19:51:44 +02:00
b31cf2bb0b patch 8.0.1039: cannot change a line in not current buffer
Problem:    Cannot change a line in a buffer other than the current one.
Solution:   Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes #1953)
2017-09-02 19:45:19 +02:00
cf4b00c856 patch 8.0.1038: strike-through text not supported
Problem:    Strike-through text not supported.
Solution:   Add support for the "strikethrough" attribute. (Christian
            Brabandt, Ken Takata)
2017-09-02 18:33:56 +02:00
da22b8cc8b patch 8.0.1037: "icase" of 'diffopt' is not used for highlighting
Problem:    "icase" of 'diffopt' is not used for highlighting differences.
Solution:   Also use "icase". (Rick Howe)
2017-09-02 18:01:50 +02:00
dada6d2a8e patch 8.0.1036: ++eof argument for terminal only available on MS-Windows
Problem:    ++eof argument for terminal only available on MS-Windows.
Solution:   Also support ++eof on Unix.  Add a test.
2017-09-02 17:18:35 +02:00
ef68e4fa52 patch 8.0.1035: sending buffer lines to terminal doesn't work on MS-Windows
Problem:    Sending buffer lines to terminal doesn't work on MS-Windows.
Solution:   Use CR instead of NL after every line.  Make the EOF text work
            properly.  Add the ++eof argument to :terminal.
2017-09-02 16:28:36 +02:00
3346cc4ffb patch 8.0.1034: sending buffer lines to terminal doesn't work on MS-Windows
Problem:    Sending buffer lines to terminal doesn't work on MS-Windows.
Solution:   Send CTRL-D to mark the end of the text. (Yasuhiro Matsumoto,
            closes #2043) Add the "eof_chars" option.
2017-09-02 14:54:21 +02:00
995e4afcfe patch 8.0.1033: detecting background color does not work in screen
Problem:    Detecting background color does not work in screen, even when it
            is working like an xterm.
Solution:   Make "screen.xterm" use termcap entries like an xterm. (Lubomir
            Rintel, closes #2048)  When termresponse version is huge also
            recognize as not being an xterm.
2017-09-01 20:24:03 +02:00
9ac9dfa9e2 patch 8.0.1032: "make tags" doesn't work well on MS-Windows
Problem:    "make tags" doesn't work well on MS-Windows.
Solution:   Add or fix tags target. (Ken Takata)
2017-09-01 18:41:26 +02:00
2c809b7c7d patch 8.0.1031: "text" argument for getqflist() is confusing
Problem:    "text" argument for getqflist() is confusing. (Lcd47)
Solution:   Use "lines" instead. (Yegappan Lakshmanan)
2017-09-01 18:34:02 +02:00
9e8dcf9d6f patch 8.0.1030: MS-Windows: wrong size computation in is_cygpty()
Problem:    MS-Windows: wrong size computation in is_cygpty().
Solution:   Compute the size properly. (Ken Takata)
2017-08-31 21:35:45 +02:00
da73253a0b patch 8.0.1029: return value of getqflist() is inconsistent
Problem:    Return value of getqflist() is inconsistent.  (Lcd47)
Solution:   Always return an "items" entry.
2017-08-31 20:58:02 +02:00
3d593c2dc9 patch 8.0.1028: MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set
Problem:    MS-Windows: viminfo uses $VIM/_viminfo if $HOME not set. (Yongwei
            Wu)
Solution:   Use vim_getenv() but check it's returning the default "C:/".
2017-08-31 20:42:18 +02:00
2db0ec4b2e patch 8.0.1027: more terminals can't handle requesting cursor mode
Problem:    More terminals can't handle requesting cursor mode.
Solution:   Recognize Putty. (Hirohito Higashi)  Also include Xfce in the
            version check. (Dominique Pelle)  Recognize Konsole.
2017-08-31 20:17:59 +02:00
5c6dbcb03f patch 8.0.1026: GTK on-the-spot input has problems
Problem:    GTK on-the-spot input has problems. (Gerd Wachsmuth)
Solution:   Support over-the-spot. (Yukihiro Nakadaira, Ketn Takata, closes
            #1215)
2017-08-30 22:00:20 +02:00
4e83961985 patch 8.0.1025: stray copy command in test
Problem:    Stray copy command in test.
Solution:   Remove the copy command.
2017-08-30 21:58:03 +02:00
4bebc9a056 patch 8.0.1024: folds lost when session file has a buffer in two windows
Problem:    Manual folds are lost when a session file has the same buffer in
            two windows. (Jeansen)
Solution:   Use ":edit" only once. (Christian Brabandt, closes #1958)
2017-08-30 21:07:38 +02:00
a539f4f1ae patch 8.0.1023: it is not easy to identify a quickfix list
Problem:    It is not easy to identify a quickfix list.
Solution:   Add the "id" field. (Yegappan Lakshmanan)
2017-08-30 20:33:55 +02:00
1a333bc44a patch 8.0.1022: test 80 is old style
Problem:    Test 80 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan)
2017-08-30 20:21:58 +02:00
dc5471d482 patch 8.0.1021: older Gnome terminal still echoes t_RC
Problem:    Older Gnome terminal still echoes t_RC. (Fracois Ingelrest)
Solution:   Check for version > 3000 instead of 4000.
2017-08-30 18:59:03 +02:00
0f0f230012 patch 8.0.1020: when a timer calls getchar(1) input is overwritten
Problem:    When a timer calls getchar(1) input is overwritten.
Solution:   Increment tb_change_cnt in inchar(). (closes #1940)
2017-08-30 18:52:56 +02:00
d41babef89 patch 8.0.1019: pasting in virtual edit happens in the wrong place
Problem:    Pasting in virtual edit happens in the wrong place.
Solution:   Do not adjust coladd when after the end of the line (closes #2015)
2017-08-30 17:01:35 +02:00
4ad3b2b588 patch 8.0.1018: warnings from 64-bit compiler
Problem:    Warnings from 64-bit compiler. (Christian Brabandt)
Solution:   Add type casts.
2017-08-30 15:57:33 +02:00
dde6034111 patch 8.0.1017: test for MS-Windows $HOME always passes
Problem:    Test for MS-Windows $HOME always passes.
Solution:   Rename the test function.  Make the test pass.
2017-08-30 14:55:42 +02:00
f3af54eeb1 patch 8.0.1016: gnome terminal echoes t_RC
Problem:    Gnome terminal echoes t_RC.
Solution:   Detect Gnome terminal by the version string.  Add v: variables for
            all the term responses.
2017-08-30 14:53:06 +02:00
97a80e440a patch 8.0.1015: missing update to terminal test
Problem:    Missing update to terminal test.
Solution:   Add the changes to the test.
2017-08-30 13:31:49 +02:00
b47a2597e6 patch 8.0.1014: old compiler doesn't know uint32_t
Problem:    Old compiler doesn't know uint32_t. Warning for using NULL instead
            of NUL.
Solution:   Use UINT32_T.  Use NUL instead of NULL.
2017-08-30 13:22:28 +02:00
e561a7e2fa patch 8.0.1013: terminal window behaves different from a buffer with changes
Problem:    A terminal window with a running job behaves different from a
            window containing a changed buffer.
Solution:   Do not set 'bufhidden' to "hide".  Fix that a buffer where a
            terminal used to run is listed as "[Scratch]".
2017-08-29 22:44:59 +02:00
48340b62e8 patch 8.0.1012: MS-Windows: problem with $HOME when is was set internally
Problem:    MS-Windows: Problem with $HOME when is was set internally.
Solution:   Only use the $HOME default internally. (Yasuhiro Matsumoto, closes
            #2013)
2017-08-29 22:08:53 +02:00
97f65fafdb patch 8.0.1011: terminal test fails with Athena and Motif
Problem:    Terminal test fails with Athena and Motif.
Solution:   Ignore the error for the input context. (Kazunobu Kuriyama)
2017-08-29 20:42:07 +02:00
3c37a8e660 patch 8.0.1010: build failure without termresponse feature
Problem:    Build failure without termresponse feature.
Solution:   Add #ifdef.
2017-08-28 23:00:55 +02:00
4db2554954 patch 8.0.1009: Xterm cursor blinking status may be inverted
Problem:    Xterm cursor blinking status may be inverted.
Solution:   Use another request to get the blink status and compare with the
            cursor style report
2017-08-28 22:43:05 +02:00
1dccf6351d patch 8.0.1008: slow updating of terminal window in Motif
Problem:    Slow updating of terminal window in Motif.
Solution:   Add a timeout to the wait-for-character loop.
2017-08-27 17:38:27 +02:00
cbe6944956 patch 8.0.1007: no test for filetype detection for scripts
Problem:    No test for filetype detection for scripts.
Solution:   Add a first test file script filetype detection.
2017-08-27 16:54:26 +02:00
c572da5f67 Update runtime files 2017-08-27 16:52:01 +02:00
7adf06f4e2 patch 8.0.1006: quickfix list changes when parsing text with 'erroformat'
Problem:    Cannot parse text with 'erroformat' without changing a quickfix
            list.
Solution:   Add the "text" argument to getqflist(). (Yegappan Lakshmanan)
2017-08-27 15:23:41 +02:00
4ab7968aa9 patch 8.0.1005: terminal without job updates slowly in GUI
Problem:    Terminal without job updates slowly in GUI.
Solution:   Poll for input when a channel has the keep_open flag.
2017-08-27 14:50:47 +02:00
8d9f0ef5c6 patch 8.0.1004: matchstrpos() without a match returns too many items
Problem:    Matchstrpos() without a match returns too many items.
Solution:   Also remove the second item when the position is beyond the end of
            the string. (Hirohito Higashi)  Use an enum for the type.
2017-08-27 13:51:01 +02:00
e85928a324 patch 8.0.1003: 64 bit compiler warning
Problem:    64 bit compiler warning
Solution:   Add type cast. (Mike Williams)
2017-08-27 13:10:10 +02:00
02e177d3e8 patch 8.0.1002: unnecessarily updating screen after timer callback
Problem:    Unnecessarily updating screen after timer callback.
Solution:   Check if calling the timer sets must_redraw.
2017-08-26 23:43:28 +02:00
0903d56f5c patch 8.0.1001: setting 'encoding' makes 'printheader' invalid
Problem:    Setting 'encoding' makes 'printheader' invalid.
Solution:   Do not translate the default value of 'printheader'. (Yasuhiro
            Matsumoto, closes #2026)
2017-08-26 22:30:15 +02:00
13ebb03e75 patch 8.0.1000: cannot open a terminal without running a job in it
Problem:    Cannot open a terminal without running a job in it.
Solution:   Make ":terminal NONE" open a terminal with a pty.
2017-08-26 22:02:51 +02:00
dde81312b0 patch 8.0.0999: indenting raw C++ strings is wrong
Problem:    Indenting raw C++ strings is wrong.
Solution:   Add special handling of raw strings. (Christian Brabandt)
2017-08-26 17:49:01 +02:00
a4f99f5a8b patch 8.0.0998: strange error when using K while only spaces are selected
Problem:    Strange error when using K while only spaces are selected.
            (Christian J. Robinson)
Solution:   Check for blank argument.
2017-08-26 16:25:32 +02:00
e922460394 patch 8.0.0997
Problem:    Libvterm and Terminal.app not regognized from termresponse.
Solution:   Adjust string compare.
2017-08-26 15:29:47 +02:00
833e0e3c8c patch 8.0.0996: Mac: t_RS is echoed on the screne in Terminal.app
Problem:    Mac: t_RS is echoed on the screne in Terminal.app.  Even though
            $TERM is set to "xterm-256colors" it cannot handle this xterm
            escape sequence.
Solution:   Recognize Terminal.app from the termresponse and skip sending t_RS
            if it looks like Terminal.app.
2017-08-26 15:16:03 +02:00
753289f9bf patch 8.0.0995: terminal tests fail on Mac
Problem:    Terminal tests fail on Mac.
Solution:   Add workaround: sleep a moment in between sending keys.
2017-08-25 23:22:05 +02:00
be0b72977f patch 8.0.0994: MS-Windows: cursor in terminal blinks undesirably
Problem:    MS-Windows: cursor in terminal blinks even though the blinking
            cursor was disabled on the system.
Solution:   Use GetCaretBlinkTime(). (Ken Takata)
2017-08-24 21:48:26 +02:00
f6d9f96b2d patch 8.0.0993: sometimes an xterm sends an extra CTRL-X
Problem:    Sometimes an xterm sends an extra CTRL-X after the response for
            the background color.  Related to t_RS.
Solution:   Check for the CTRL-X after the terminating 0x7.
2017-08-24 20:21:16 +02:00
33d66bd9fa patch 8.0.0992: terminal title is wrong when 'encoding' is DBCS
Problem:    Terminal title is wrong when 'encoding' is DBCS.
Solution:   Convert the title from DBCS to utf-8. (Yasuhiro Matsumoto, closes
            #2009)
2017-08-23 23:51:58 +02:00
6c4d12c527 patch 8.0.0991: using wrong character conversion for DBCS
Problem:    Using wrong character conversion for DBCS.
Solution:   Use utf_char2bytes instead of mb_char2bytes. (Yasuhiro Matsumoto,
            closes #2012)
2017-08-23 23:36:25 +02:00
285f243e50 patch 8.0.0990: with DBCS 'encoding' wrong pasting register into terminal
Problem:    When 'encoding' is a double-byte encoding, pasting a register into
            a terminal ends up with the wrong characters.
Solution:   Convert from 'encoding' to utf-8. (Yasuhiro Matsumoto, closes
            #2007)
2017-08-23 23:10:21 +02:00
77f7474d08 patch 8.0.0989: ActiveTcl dll name has changed in 8.6.6
Problem:    ActiveTcl dll name has changed in 8.6.6.
Solution:   Adjust the makefile. (Ken Takata)
2017-08-23 22:40:41 +02:00
829aa64cf5 patch 8.0.0988: warning from Covscan about using NULL pointer
Problem:    Warning from Covscan about using NULL pointer.
Solution:   Add extra check for NULL. (zdohnal)
2017-08-23 22:32:35 +02:00
d2c45a1964 patch 8.0.0987: terminal: second byte of double-byte char wrong
Problem:    terminal: second byte of double-byte char wrong
Solution:   Set the second byte to NUL only for utf-8 and non-multibyte.
2017-08-22 22:29:00 +02:00
ec0e07a324 patch 8.0.0986: terminal feature always requires multi-byte feature
Problem:    Terminal feature always requires multi-byte feature.
Solution:   Remove #ifdef FEAT_MBYTE, disable terminal without multi-byte.
2017-08-22 22:21:37 +02:00
6d0826dfbb patch 8.0.0985: libvterm has its own idea of character width
Problem:    Libvterm has its own idea of character width.
Solution:   Use the Vim functions for character width and composing to avoid a
            mismatch. (idea by Yasuhiro Matsumoto)
2017-08-22 22:12:17 +02:00
5830232c02 patch 8.0.0984: terminal blinking cursor not correct in the GUI
Problem:    Terminal blinking cursor not correct in the GUI.
Solution:   Set blinkoff correctly.  Also make the cursor blink on MS-Windows
            by default. (Ken Takata)
2017-08-22 20:33:53 +02:00
3f9a1ff141 patch 8.0.0983: unnecessary check for NULL pointer
Problem:    Unnecessary check for NULL pointer.
Solution:   Remove the NULL check in dialog_changed(), it already happens in
            dialog_msg(). (Ken Takata)
2017-08-21 22:06:02 +02:00
740c433c59 patch 8.0.0982: cannot use a terminal when 'encoding' is non-utf8 multi-byte
Problem:    When 'encoding' is set to a multi-byte encoding other than utf-8
            the characters from ther terminal are messed up.
Solution:   Convert displayed text from utf-8 to 'encoding' for MS-Windows.
            (Yasuhiro Matsumoto, close #2000)
2017-08-21 22:01:27 +02:00
0cbba82359 patch 8.0.0981: cursor in terminal window blinks by default
Problem:    Cursor in terminal window blinks by default, while in a real xterm
            it does not blink, unless the -bc argument is used.
Solution:   Do not use a blinking cursor by default.
2017-08-21 21:39:28 +02:00
b109bb4e12 patch 8.0.0980: Coverity warning for failing to open /dev/null
Problem:    Coverity warning for failing to open /dev/null.
Solution:   When /dev/null can't be opened exit the child.
2017-08-21 21:07:29 +02:00
eef0531621 patch 8.0.0979: terminal noblock test fails on MS-Windows
Problem:    Terminal noblock test fails on MS-Windows. (Christian Brabandt)
Solution:   Ignore empty line below "done".
2017-08-20 20:21:23 +02:00
37819ed540 patch 8.0.0978: writing to terminal job is not tested
Problem:    Writing to terminal job is not tested.
Solution:   Add a test.
2017-08-20 19:33:47 +02:00
5983d50247 patch 8.0.0977: cannot send lines to a terminal job on MS-Windows
Problem:    Cannot send lines to a terminal job on MS-Windows.
Solution:   Set jv_in_buf.  Command doesn't get EOF yet though.
2017-08-20 19:22:56 +02:00
b241208a13 patch 8.0.0976: cannot send lines to a terminal job
Problem:    Cannot send lines to a terminal job.
Solution:   Make [range]terminal send selected lines to the job.
            Use ++rows and ++cols for the terminal size.
2017-08-20 18:09:14 +02:00
edbc0d46cf patch 8.0.0975: using freed memory when setting 'backspace'
Problem:    Using freed memory when setting 'backspace'.
Solution:   When changing oldval also change origval.
2017-08-20 16:11:51 +02:00
8efa026a25 patch 8.0.0974: resetting a string option does not trigger OptionSet
Problem:    Resetting a string option does not trigger OptionSet. (Rick Howe)
Solution:   Set the origval.
2017-08-20 15:47:20 +02:00
ce1c32780a patch 8.0.0973: initial info about blinking cursor is wrong
Problem:    initial info about blinking cursor is wrong
Solution:   Invert the blink flag.  Add t_VS to stop a blinking cursor.
2017-08-20 15:05:15 +02:00
37b9b81997 patch 8.0.0972: compiler warnings for unused variables
Problem:    Compiler warnings for unused variables. (Tony Mechelynck)
Solution:   Add #ifdefs.
2017-08-19 23:23:43 +02:00
0aed9a2e2e patch 8.0.0971: 'winptydll' missing from :options
Problem:    'winptydll' missing from :options.
Solution:   Add the entry.
2017-08-19 23:18:02 +02:00
d6a7b3e6bb patch 8.0.0970: passing invalid highlight id
Problem:    if there is no StatusLine highlighting and there is StatusLineNC
            or StatusLineTermNC highlighting then an invalid highlight id is
            passed to combine_stl_hlt(). (Coverity)
Solution:   Check id_S to be -1 instead of zero.
2017-08-19 21:35:35 +02:00
dc926dd0dd patch 8.0.0969: Coverity warning for unused return value
Problem:    Coverity warning for unused return value.
Solution:   Add (void) to avoid the warning.
2017-08-19 21:26:44 +02:00
77ac9b5c62 patch 8.0.0968: crash when switching terminal modes
Problem:    Crash when switching terminal modes. (Nikolai Pavlov)
Solution:   Check that there are scrollback lines.
2017-08-19 21:23:05 +02:00
93c92eff26 patch 8.0.0967: using a terminal may cause the cursor to blink
Problem:    Using a terminal may cause the cursor to blink.
Solution:   Do not set t_vs, since we cannot restore the old blink state.
2017-08-19 21:11:57 +02:00
fc8bec0be4 patch 8.0.0966: build failure without terminal feature
Problem:    Build failure without terminal feature.
Solution:   Move #endif.
2017-08-19 19:57:34 +02:00
3eee06e7d4 patch 8.0.0965: not restoring cursor shape after it was set in a terminal
Problem:    The cursor shape is not reset after it was changed in a terminal.
Solution:   Request the original cursor shape and restore it.  Add t_RS.
            Do not add t_SH for now, it does not work properly.
2017-08-19 19:40:50 +02:00
683b796725 patch 8.0.0964: channel write buffer does not work with poll()
Problem:    Channel write buffer does not work with poll().
Solution:   Use the same mechanism as with select().
2017-08-19 15:51:59 +02:00
d21f8b54b2 patch 8.0.0963: terminal test fails on MacOS
Problem:    Terminal test fails on MacOS. (chdiza)
Solution:   Wait for the shell to echo the characters. (closes #1991)
2017-08-19 15:40:01 +02:00
9aa1569128 patch 8.0.0962: crash with virtualedit and joining lines
Problem:    Crash with virtualedit and joining lines. (Joshua T Corbin, Neovim
            #6726)
Solution:   When using a mark check that coladd is valid.
2017-08-19 15:05:32 +02:00
98ebd2bbec patch 8.0.0961: the script to build the installer does not include winpty
Problem:    The script to build the installer does not include winpty.
Solution:   Add winpty32.dll and winpty-agent.exe like diff.exe
2017-08-19 13:29:19 +02:00
8e539c51c3 patch 8.0.0960: job in terminal does not get CTRL-C
Problem:    Job in terminal does not get CTRL-C, we send a SIGINT instead.
Solution:   Don't call may_send_sigint() on CTRL-C.  Make CTRL-W CTRL-C end
            the job.
2017-08-18 22:57:06 +02:00
f66a2cda2c patch 8.0.0959: build failure on MS-Windows
Problem:    Build failure on MS-Windows.
Solution:   Use ioctlsocket() instead of fcntl().
2017-08-18 21:53:22 +02:00
ea5d6fadbb patch 8.0.0958: terminal test fails on Windows when winpty dll is missing
Problem:    The terminal test fails on MS-Windows when compiled with the
            terminal feature but the winpty DLL is missing.
Solution:   Check if the terminal feature works. (Ken Takata)
2017-08-18 21:07:11 +02:00
97bd5e6527 patch 8.0.0957: a terminal job can deadlock when sending many keys
Problem:    When term_sendkeys() sends many keys it may get stuck in writing
            to the job.
Solution:   Make the write non-blocking, buffer keys to be sent.
2017-08-18 20:50:30 +02:00
cfce71710b patch 8.0.0956: scrolling in a terminal window has flicker
Problem:    Scrolling in a terminal hwindow as flicker when the Normal
            background differs from the terminal window background.
Solution:   Set the attribute to clear with.
2017-08-17 20:31:48 +02:00
82de3c2c03 patch 8.0.0955: Test_existent_file() fails on some file systems
Problem:    Test_existent_file() fails on some file systems.
Solution:   Run the test again with a sleep when the test fails without a
            sleep. (James McCoy, closes #1984)
2017-08-17 17:35:36 +02:00
bc906e445c patch 8.0.0954: /proc/self/exe might be a relative path
Problem:    /proc/self/exe might be a relative path.
Solution:   Make the path a full path. (James McCoy, closes #1983)
2017-08-17 17:21:05 +02:00
f5be7cd016 patch 8.0.0953: get "no write since last change" error in terminal window
Problem:    Get "no write since last change" error in terminal window.
Solution:   Use another message when closing a terminal window. Make ":quit!"
            also end the job.
2017-08-17 16:55:13 +02:00
a83e3962ac patch 8.0.0952: has('terminal') does not check existence of dll file
Problem:    MS-Windows: has('terminal') does not check existence of dll file.
Solution:   Check if the winpty dll file can be loaded. (Ken Takata)
2017-08-17 14:39:07 +02:00
84ed4ad084 patch 8.0.0951: another wrong #ifdef
Problem:    Another wrong #ifdef.
Solution:   Change TERMINAL to FEAT_TERMINAL. (closes #1981)
2017-08-17 11:33:42 +02:00
ade59630c7 patch 8.0.0950: MS-Windows: wrong #ifdef, compiler warnings
Problem:    MS-Windows: wrong #ifdef, compiler warnings for signed/unsigned.
Solution:   Change variable type. Change TERMINAL to FEAT_TERMINAL.
2017-08-17 11:22:46 +02:00
9e13aa7729 patch 8.0.0949: winpty.dll name is fixed
Problem:    winpty.dll name is fixed.
Solution:   Add the 'winptydll' option. Make the default name depend on
            whether it is a 32-bit or 64-bit build. (idea by Yasuhiro
            Matsumoto, closes #1978)
2017-08-16 23:14:08 +02:00
989a70c590 patch 8.0.0948: crash if timer closes window while dragging status line
Problem:    Crash if timer closes window while dragging status line.
Solution:   Check if the window still exists. (Yasuhiro Matsumoto, closes
            #1979)
2017-08-16 22:46:01 +02:00
6fe15bbc87 patch 8.0.0947: entering terminal using C-O C-W C-W goes to Insert mode
Problem:    When in Insert mode and using CTRL-O CTRL-W CTRL-W to move to a
            termainal window, get in a weird Insert mode.
Solution:   Don't go to Insert mode in a terminal window. (closes #1977)
2017-08-16 21:09:18 +02:00
a9f8ee05f4 patch 8.0.0946: using PATH_MAX does not work well on some systems
Problem:    Using PATH_MAX does not work well on some systems.
Solution:   use MAXPATHL instead. (James McCoy, closes #1973)
2017-08-14 23:40:45 +02:00
60104f183c patch 8.0.0945: 64-bit compiler warnings
Problem:    64-bit compiler warnings.
Solution:   Use "size_t" instead of "int". (Mike Williams)
2017-08-14 23:25:04 +02:00
d21b16f3c0 patch 8.0.0944: test_profile is a little bit flaky
Problem:    Test_profile is a little bit flaky.
Solution:   Accept a match when self and total time are the same. (James
            McCoy, closes #1972)
2017-08-14 23:13:30 +02:00
3678393baa patch 8.0.0943: MS-Windows: Test_terminal_scrape_multibyte may fail
Problem:    Test_terminal_scrape_multibyte fails if the codepage is not utf-8.
Solution:   Start "cmd" with the utf-8 codepage. (micbou, closes #1975)
2017-08-14 23:07:30 +02:00
4fa1019f80 patch 8.0.0942: using freed memory with ":terminal"
Problem:    Using freed memory with ":terminal" if an autocommand changes
            'shell' when splitting the window. (Marius Gedminas)
Solution:   Make a copy of 'shell'. (closes #1974)
2017-08-14 22:56:27 +02:00
05fbfdcda4 patch 8.0.0941: existing color schemes don't like StatusLineTerm
Problem:    Existing color schemes don't work well with StatusLineTerm.
Solution:   Don't use "reverse", use fg and bg colors.  Also add
            StatusLineTermNC.
2017-08-14 22:35:08 +02:00
c08706135d patch 8.0.0940: Test_terminal_scrape_multibyte is flaky
Problem:    Test_terminal_scrape_multibyte is flaky. (James McCoy)
Solution:   Use WaitFor() instead of term_wait().
2017-08-14 22:01:16 +02:00
51c23687a9 patch 8.0.0939: Test_terminal_env is flaky
Problem:    Test_terminal_env is flaky. (James McCoy)
Solution:   Use WaitFor() instead of term_wait().
2017-08-14 21:45:00 +02:00
6bb18a878c patch 8.0.0938: scrolling in terminal window is inefficient
Problem:    Scrolling in terminal window is inefficient.
Solution:   Use win_del_lines().
2017-08-13 22:14:17 +02:00
bce4f62d30 patch 8.0.0937: user highlight groups not adjusted for terminal
Problem:    User highlight groups are not adjusted for StatusLineTerm.
Solution:   Combine attributes like for StatusLineNC.
2017-08-13 21:37:43 +02:00
2bb7b6b0e4 patch 8.0.0936: mode() returns wrong value for a terminal window
Problem:    Mode() returns wrong value for a terminal window.
Solution:   Return 't' when typed keys go to a job.
2017-08-13 20:58:33 +02:00
304b64c9e6 patch 8.0.0935: cannot recognize a terminal buffer in :ls output
Problem:    Cannot recognize a terminal buffer in :ls output.
Solution:   Use R for a running job and F for a finished job.
2017-08-13 20:43:48 +02:00
6b93b0e838 patch 8.0.0934: change to struts.h missing in patch
Problem:    Change to struts.h missing in patch.
Solution:   Include adding ttyinfo_T.
2017-08-13 20:28:53 +02:00
9f0139a2a8 patch 8.0.0933: terminal test tries to start GUI when it's not possible
Problem:    Terminal test tries to start GUI when it's not possible.
Solution:   Check if the GUI can run. (James McCoy, closes #1971)
2017-08-13 20:26:20 +02:00
4f44b88684 patch 8.0.0932: terminal may not use right characters for BS and Enter
Problem:    Terminal may not use right characters for BS and Enter.
Solution:   Get the characters from the tty.
2017-08-13 20:06:18 +02:00
69905d108b patch 8.0.0931: getwininfo() does not indicate a terminal window
Problem:    getwininfo() does not indicate a terminal window.
Solution:   Add "terminal" to the dictionary.
2017-08-13 18:14:47 +02:00
e62780543f patch 8.0.0930: terminal buffers are stored in the viminfo file
Problem:    Terminal buffers are stored in the viminfo file while they can't
            be useful.
Solution:   Skip terminal buffers for file marks and buffer list
2017-08-13 18:11:17 +02:00
2438ae3d67 patch 8.0.0929: :term without argument does not work
Problem:    :term without argument does not work.
Solution:   Use shell for empty command. (Yasuhiro Matsumoto, closes #1970)
2017-08-13 17:38:11 +02:00
dcaa61384c patch 8.0.0928: MS-Windows: passing arglist to job has escaping problems
Problem:    MS-Windows: passing arglist to job has escaping problems.
Solution:   Improve escaping. (Yasuhiro Matsumoto, closes #1954)
2017-08-13 17:13:09 +02:00
274a52fd58 patch 8.0.0927: if a terminal job sends a blank title "running" is not shown
Problem:    If a terminal job sends a blank title "running" is not shown.
Solution:   When the title is blank make it empty.
2017-08-13 16:09:31 +02:00
e0f314aa8d patch 8.0.0926: when job in terminal window ends topline is wrong
Problem:    When job in terminal window ends topline may be wrong.
Solution:   When the job ends adjust topline so that the active part of the
            terminal is displayed.
2017-08-13 16:01:31 +02:00
62426e168e patch 8.0.0925: MS-Windows GUI: channel I/O not handled right away
Problem:    MS-Windows GUI: channel I/O not handled right away.
Solution:   Don't call process_message() unless a message is available.
            (Yasuhiro Matsumoto, closes #1969)
2017-08-13 15:37:58 +02:00
5cc1f2c477 patch 8.0.0924: terminal window not updated after using term_sendkeys()
Problem:    Terminal window not updated after using term_sendkeys().
Solution:   Call redraw_after_callback().
2017-08-13 15:16:53 +02:00
679653e59c patch 8.0.0923: crash in GUI when terminal job exits
Problem:    Crash in GUI when terminal job exits. (Kazunobu Kuriyama)
Solution:   reset in_terminal_loop when a terminal is freed.
2017-08-13 14:13:19 +02:00
55b6926450 patch 8.0.0922: quickfix list always added after current one
Problem:    Quickfix list always added after current one.
Solution:   Make it possible to add a quickfix list after the last one.
            (Yegappan Lakshmanan)
2017-08-13 13:42:01 +02:00
3d9bdfebf1 patch 8.0.0921: terminal window cursor shape not supported in the GUI
Problem:    Terminal window cursor shape not supported in the GUI.
Solution:   Use the terminal window cursor shape in the GUI.
2017-08-12 22:55:58 +02:00
893029ab20 patch 8.0.0920: cursor wrong after switching altscreen in terminal
Problem:    The cursor shape is wrong after switch back from an alternate
            screen in a terminal window. (arius Gedminas)
Solution:   Change bitfield to unsigned.  Set flag that cursor shape was set.
2017-08-12 21:15:34 +02:00
c977092053 patch 8.0.0919: cursor color isn't set on startup
Problem:    Cursor color isn't set on startup.
Solution:   Initialize showing_mode to invalid value.
2017-08-12 20:11:53 +02:00
3cd43ccccb patch 8.0.0918: cannot get terminal window cursor shape or attributes
Problem:    Cannot get terminal window cursor shape or attributes.
Solution:   Support cursor shape, attributes and color.
2017-08-12 19:51:41 +02:00
589b1109c5 patch 8.0.0917: MS-Windows:CTRL-C handling in terminal window is wrong
Problem:    MS-Windows:CTRL-C handling in terminal window is wrong
Solution:   Pass CTRL-C as a key. Turn CTRL-BREAK into a key stroke. (Yasuhiro
            Matsumoto, closes #1965)
2017-08-12 16:39:05 +02:00
37c4583594 patch 8.0.0916: cannot specify properties of window for terminal open
Problem:    Cannot specify properties of window for when opening a window for
            a finished terminal job.
Solution:   Add "term_opencmd".
2017-08-12 16:01:04 +02:00
7eedd4398a patch 8.0.0915: wrong initialisation of global
Problem:    Wrong initialisation of global.
Solution:   Use INIT().
2017-08-12 15:15:33 +02:00
0cd2a94a40 patch 8.0.0914: highlight attributes are always combined
Problem:    Highlight attributes are always combined.
Solution:   Add the 'nocombine' value to replace attributes instead of
            combining them. (scauligi, closes #1963)
2017-08-12 15:12:30 +02:00
9698ad7201 patch 8.0.0913: MS-Windows: CTRL-C kills shell in terminal window
Problem:    MS-Windows: CTRL-C kills shell in terminal window instead of the
            command running in the shell.
Solution:   Make CTRL-C only send a CTRL_C_EVENT and have CTRL-BREAK kill the
            job. (partly by Yasuhiro Matsumoto, closes #1962)
2017-08-12 14:52:15 +02:00
8cad930a25 patch 8.0.0912: cannot run a job in a hidden terminal
Problem:    Cannot run a job in a hidden terminal.
Solution:   Add option "hidden" and ++hidden.
2017-08-12 14:32:32 +02:00
b81bc77ae7 patch 8.0.0911: terminal test takes too long
Problem:    Terminal test takes too long.
Solution:   Instead of "sleep 1" use a Python program to briefly sleep.
2017-08-11 22:45:01 +02:00
da43b61ddd patch 8.0.0910: cannot create a terminal in the current window
Problem:    Cannot create a terminal in the current window.
Solution:   Add option "curwin" and ++curwin.
2017-08-11 22:27:50 +02:00
8ed5400739 patch 8.0.0909: channel test fails
Problem:    Channel test fails.
Solution:   Allow for "cwd" and "env" arguments.
2017-08-11 22:22:36 +02:00
08d384ff3a patch 8.0.0908: cannot set terminal size with options
Problem:    Cannot set terminal size with options.
Solution:   Add "term_rows", "term_cols" and "vertical".
2017-08-11 21:51:23 +02:00
89e06c807a patch 8.0.0907: with cp932 font names might be misinterpreted
Problem:    With cp932 font names might be misinterpreted.
Solution:   Do not see "_" as a space when it is the second byte of a double
            byte character. (Ken Takata)
2017-08-11 20:55:55 +02:00
d9bc8a801a patch 8.0.0906: don't recognize Couchbase files
Problem:    Don't recognize Couchbase files.
Solution:   Add filetype detection. (Eugene Ciurana, closes #1951)
2017-08-11 20:50:04 +02:00
444fda2084 patch 8.0.0905: MS-Windows: broken multi-byte characters in the console
Problem:    MS-Windows: broken multi-byte characters in the console.
Solution:   Restore all regions of the console buffer. (Ken Takata)
2017-08-11 20:37:00 +02:00
ae33833850 patch 8.0.0904: cannot set a location list from text
Problem:    Cannot set a location list from text.
Solution:   Add the "text" argument to setqflist(). (Yegappan Lakshmanan)
2017-08-11 20:25:26 +02:00
cf8d840ce9 patch 8.0.0903: early return from test function
Problem:    Early return from test function.
Solution:   Remove the return.
2017-08-11 20:20:27 +02:00
1ccd8fff8a Update runtime files. 2017-08-11 19:50:37 +02:00
05aafed54b patch 8.0.0902: cannot specify directory or environment for a job
Problem:    Cannot specify directory or environment for a job.
Solution:   Add the "cwd" and "env" arguments to job options. (Yasuhiro
            Matsumoto, closes #1160)
2017-08-11 19:12:11 +02:00
76ca1b4041 patch 8.0.0901: asan suppress file missing from distribution
Problem:    Asan suppress file missing from distribution.
Solution:   Add the file.
2017-08-11 17:56:21 +02:00
ab6c8587ba patch 8.0.0900: :tab options doesn't open a new tab page
Problem:    :tab options doesn't open a new tab page. (Aviany)
Solution:   Support the :tab modifier. (closes #1960)
2017-08-11 17:15:09 +02:00
2d33e90f81 patch 8.0.0899: function name mch_stop_job() is confusing
Problem:    Function name mch_stop_job() is confusing.
Solution:   Rename to mch_signal_job().
2017-08-11 16:31:54 +02:00
e41e3b41f9 patch 8.0.0898: can't use the alternate screen in a terminal window
Problem:    Can't use the alternate screen in a terminal window.
Solution:   Initialze the alternate screen. (Yasuhiro Matsumoto, closes
            #1957)  Add term_getaltscreen().
2017-08-11 16:24:50 +02:00
f1237f1814 patch 8.0.0897: wrong error message for invalid term_finish value
Problem:    Wrong error message for invalid term_finish value
Solution:   Pass the right argument to emsg().
2017-08-11 15:45:28 +02:00
dd693ce28b patch 8.0.0896: cannot close a terminal window when the job ends
Problem:    Cannot automaticlaly close a terminal window when the job ends.
Solution:   Add the ++close argument to :term.  Add the term_finish option to
            term_start(). (Yasuhiro  Matsumoto, closes #1950)  Also add
            ++open.
2017-08-10 23:15:19 +02:00
8ab3c1dc6b patch 8.0.0895: filetype test fails on MS-Windows
Problem:    Filetype test fails on MS-Windows.
Solution:   Fix file names.
2017-08-09 22:24:52 +02:00
0a0217abfa patch 8.0.0894: there is no test for runtime filetype detection
Problem:    There is no test for runtime filetype detection.
Solution:   Test a list of filetypes from patterns.
2017-08-09 22:06:48 +02:00
82b9ca05f4 patch 8.0.0893: cannot get the scroll count of a terminal window
Problem:    Cannot get the scroll count of a terminal window.
Solution:   Add term_getscrolled().
2017-08-08 23:06:46 +02:00
292d569935 patch 8.0.0892: when opening a terminal the pty size doesn't always match
Problem:    When opening a terminal the pty size doesn't always match.
Solution:   Update the pty size after opening the terminal. (Ken Takata)
2017-08-08 21:52:22 +02:00
7fadbf8325 patch 8.0.0891: uninitialized memory use with empty line in terminal
Problem:    Uninitialized memory use with empty line in terminal.
Solution:   Initialize growarray earlier. (Yasuhiro Matsumoto, closes #1949)
2017-08-07 22:08:05 +02:00
75373f3808 patch 8.0.0890: still many old style tests
Problem:    Still many old style tests.
Solution:   Convert several tests to new style. (Yegappan Lakshmanan)
2017-08-07 22:02:30 +02:00
e20b3eba73 patch 8.0.0889: gcc gives warnings for uninitialized variables
Problem:    Gcc gives warnings for uninitialized variables. (Tony Mechelynck)
Solution:   Initialize variables even though they are not used.
2017-08-07 21:26:29 +02:00
116a0f800c patch 8.0.0888: compiler warnings with 64 bit build
Problem:    Compiler warnings with 64 bit build.
Solution:   Add type cast of change the type. (Mike Williams)
2017-08-07 21:17:57 +02:00
6d87e9e1c6 patch 8.0.0887: can create a logfile in the sandbox
Problem:    Can create a logfile in the sandbox.
Solution:   Disable ch_logfile() in the sandbox. (Yasuhiro Matsumoto)
2017-08-07 20:51:51 +02:00
f8d57a5049 patch 8.0.0886: crash when using ":term ls"
Problem:    Crash when using ":term ls".
Solution:   Fix line number computation.  Add a test for this.
2017-08-07 20:38:42 +02:00
33a43bee9c patch 8.0.0885: terminal window scrollback is stored inefficiently
Problem:    Terminal window scrollback is stored inefficiently.
Solution:   Store the text in the Vim buffer.
2017-08-06 21:36:22 +02:00
f3402b1b7f patch 8.0.0884: can't specify the wait time for term_wait()
Problem:    Can't specify the wait time for term_wait().
Solution:   Add an otional second argument.
2017-08-06 19:07:08 +02:00
1c864093f9 patch 8.0.0883: invalid memory access with nonsensical script
Problem:    Invalid memory access with nonsensical script.
Solution:   Check "dstlen" being positive. (Dominique Pelle)
2017-08-06 18:15:45 +02:00
4535654246 patch 8.0.0882: term_scrape() and term_getline() require two arguments
Problem:    term_scrape() and term_getline() require two arguments but it is
            not enforced.
Solution:   Correct minimal number of arguments. (Hirohito Higashi)  Update
            documentation. (Ken Takata)
2017-08-06 17:53:31 +02:00
e16b00a158 patch 8.0.0881: win32.mak no longer included in Windows SDK
Problem:    win32.mak no longer included in Windows SDK.
Solution:   Do not include win32.mak. (Ken Takata)
2017-08-06 17:38:06 +02:00
02113ed4df patch 8.0.0880: Travis uses an old Ubuntu version
Problem:    Travis uses an old Ubuntu version.
Solution:   Switch from precise to trusty. (Ken Takata, closes #1897)
2017-08-06 17:06:24 +02:00
bae5a17a73 patch 8.0.0879: crash when shifting with huge number
Problem:    Crash when shifting with huge number.
Solution:   Check for overflow. (Dominique Pelle, closes #1945)
2017-08-06 15:42:06 +02:00
cae92dc3d5 patch 8.0.0878: no completion for :mapclear
Problem:    No completion for :mapclear.
Solution:   Add completion (Nobuhiro Takasaki et al. closes #1943)
2017-08-06 15:22:15 +02:00
6d8197485d patch 8.0.0877: using CTRL-\ CTRL-N in terminal is inconsistent
Problem:    Using CTRL-\ CTRL-N in terminal is inconsistent.
Solution:   Stay in Normal mode.
2017-08-06 14:57:49 +02:00
39d21e3c30 patch 8.0.0876: backslashes and wildcards in backticks don't work
Problem:    MS-Windows: Backslashes and wildcards in backticks don't work.
Solution:   Do not handle backslashes inside backticks in the wrong place.
            (Yasuhiro Matsumoto, closes #1942)
2017-08-05 23:09:31 +02:00
0af2d32c21 patch 8.0.0875: crash with weird command sequence
Problem:    Crash with weird command sequence. (Dominique Pelle)
Solution:   Use vim_snprintf() instead of STRCPY().
2017-08-05 23:00:53 +02:00
22aa23fd8c patch 8.0.0874: can't build with terminal feature
Problem:    Can't build with terminal feature.
Solution:   Include change to term_use_loop(). (Dominique Pelle)
2017-08-05 21:13:36 +02:00
aaa8a35fbd patch 8.0.0873: in terminal cannot use CTRL-\ CTRL-N to start Visual mode
Problem:    In a terminal window cannot use CTRL-\ CTRL-N to start Visual
            mode.
Solution:   After CTRL-\ CTRL-N enter Terminal-Normal mode for one command.
2017-08-05 20:17:00 +02:00
98fd66d311 patch 8.0.0872: no mouse scroll with a terminal window
Problem:    Using mouse scroll while a terminal window has focus and the mouse
            pointer is on another window does not work.  Same for focus in a
            non-terminal window ahd the mouse pointer is over a terminal
            window.
Solution:   Send the scroll action to the right window.
2017-08-05 19:34:47 +02:00
086d535f77 patch 8.0.0871: status line for a terminal window always has "[+]".
Problem:    The status line for a terminal window always has "[+]".
Solution:   Do make the status line include "[+]" for a terminal window.
2017-08-05 18:19:55 +02:00
b9279e73ae patch 8.0.0870: mouse escape codes sent to terminal unintentionally
Problem:    Mouse escape codes sent to terminal unintentionally.
Solution:   Fix libvterm to send mouse codes only when enabled.
2017-08-05 18:02:21 +02:00
a9f028103f patch 8.0.0869: job output is sometimes not displayed in a terminal
Problem:    Job output is sometimes not displayed in a terminal.
Solution:   Flush output before closing the channel.
2017-08-05 17:40:38 +02:00
cfcc022c54 patch 8.0.0868: cannot specify the terminal size on the command line
Problem:    Cannot specify the terminal size on the command line.
Solution:   Use the address range for the terminal size. (Yasuhiro Matsumoto,
            closes #1941)
2017-08-05 17:13:48 +02:00
35422f45ba patch 8.0.0867: job and channel in a dict value not quoted
Problem:    When using a job or channel value as a dict value, when turning it
            into a string the quotes are missing.
Solution:   Add quotes to the job and channel values. (Yasuhiro Matsumoto,
            closes #1930)
2017-08-05 16:33:56 +02:00
d53109886b patch 8.0.0866: Solaris also doesn't have MIN and MAX
Problem:    Solaris also doesn't have MIN and MAX.
Solution:   Define MIN and MAX whenever they are not defined. (Ozaki Kiichi,
            closes #1939)
2017-08-05 15:16:32 +02:00
8456ea8050 patch 8.0.0865: cannot build with channel but without terminal feature
Problem:    Cannot build with channel but without terminal feature.
Solution:   Add #ifdef
2017-08-05 15:02:05 +02:00
78712a7733 patch 8.0.0864: cannot specify the name of a terminal
Problem:    Cannot specify the name of a terminal.
Solution:   Add the "term_name" option. (Yasuhiro Matsumoto, closes #1936)
2017-08-05 14:50:12 +02:00
69198197fd patch 8.0.0863: a remote command does not work in the terminal window
Problem:    A remote command starting with CTRL-\ CTRL-N does not work in the
            terminal window. (Christian J. Robinson)
Solution:   Use CTRL-\ CTRL-N as a prefix or a Normal mode command.
2017-08-05 14:10:48 +02:00
07c043af5f patch 8.0.0862: file size test fails on MS-Windows
Problem:    File size test fails on MS-Windows.
Solution:   Set fileformat after opening new buffer.  Strip CR.
2017-08-04 22:56:39 +02:00
4a137b4586 patch 8.0.0861: still many old style tests
Problem:    Still many old style tests.
Solution:   Convert several tests to new style. (Yegappan Lakshmanan)
2017-08-04 22:37:11 +02:00
6b7355a30d patch 8.0.0860: side effects when channel appends to a buffer
Problem:    There may be side effects when a channel appends to a buffer that
            is not the current buffer.
Solution:   Properly switch to another buffer before appending. (Yasuhiro
            Matsumoto, closes #1926, closes #1937)
2017-08-04 21:37:54 +02:00
8e5eece8c5 patch 8.0.0859: NULL pointer access when term_free_vterm called twice
Problem:    NULL pointer access when term_free_vterm called twice.
Solution:   Return when tl_vterm is NULL. (Yasuhiro Matsumoto, closes #1934)
2017-08-04 20:29:53 +02:00
eb44a68b42 patch 8.0.0858: can exit while a terminal is still running a job
Problem:    Can exit while a terminal is still running a job.
Solution:   Consider a buffer with a running job like a changed file.
2017-08-03 22:44:55 +02:00
620d064b0b patch 8.0.0857: terminal test fails on MS-Windows
Problem:    Terminal test fails on MS-Windows.
Solution:   Sleep a fraction of a second.
2017-08-03 21:08:05 +02:00
102dc7f891 patch 8.0.0856: MS-Windows: terminal job doesn't take options
Problem:    MS-Windows: terminal job doesn't take options.
Solution:   Call job_set_options(). (Yasuhiro Matsumoto)
2017-08-03 20:59:29 +02:00
5be8dd087f patch 8.0.0855: MS-Windows: can't get tty name of terminal
Problem:    MS-Windows: can't get tty name of terminal.
Solution:   Use the winpty process number. (Yasuhiro Matsumoto, closes #1929)
2017-08-03 20:52:19 +02:00
e9c21aed62 patch 8.0.0854: no redraw after terminal was closed
Problem:    No redraw after terminal was closed.
Solution:   Set typebuf_was_filled. (Yasuhiro Matsumoto, closes #1925, closes
            #1924)  Add function to check for messages even when input is
            available.
2017-08-03 20:44:48 +02:00
b4a6721a28 patch 8.0.0853: crash when running terminal with unknown command
Problem:    Crash when running terminal with unknown command.
Solution:   Check "term" not to be NULL. (Yasuhiro Matsumoto, closes #1932)
2017-08-03 19:22:36 +02:00
1b66c00aec patch 8.0.0852: MS-Windows: possible crash when giving a message on startup
Problem:    MS-Windows: possible crash when giving a message on startup.
Solution:   Initialize length. (Yasuhiro Matsumoto, closes #1931)
2017-08-03 18:55:00 +02:00
69a76feda9 patch 8.0.0851: 'smartindent' is used even when 'indentexpr' is set
Problem:    'smartindent' is used even when 'indentexpr' is set.
Solution:   Ignore 'smartindent' when 'indentexpr' is set. (Hirohito Higashi)
2017-08-03 17:54:03 +02:00
01efafad12 patch 8.0.0850: MS-Windows: error message while starting up may be broken
Problem:    MS-Windows: Depending on the console encoding, an error message
            that is given during startup may be broken.
Solution:   Convert the message to the console codepage. (Yasuhiro Matsumoto,
            closes #1927)
2017-08-03 17:37:48 +02:00
3c3a80dc59 patch 8.0.0849: crash when job exit callback wipes the terminal
Problem:    Crash when job exit callback wipes the terminal.
Solution:   Check for b_term to be NULL.  (Yasuhiro Matsumoto, closes #1922)
            Implement options for term_start() to be able to test.
            Make term_wait() more reliable.
2017-08-03 17:06:45 +02:00
2f3a90a3bd patch 8.0.0848: using multiple ch_log functions is clumsy
Problem:    Using multiple ch_log functions is clumsy.
Solution:   Use variable arguments. (Ozaki Kiichi, closes #1919)
2017-08-03 14:49:29 +02:00
398ee7326b patch 8.0.0847: :argadd without argument can't handle space in file name
Problem:    :argadd without argument can't handle space in file name. (Harm te
            Hennepe)
Solution:   Escape the space. (Yasuhiro Matsumoto, closes #1917)
2017-08-03 14:29:14 +02:00
7c9aec4ac8 patch 8.0.0846: cannot get the name of the pty of a job
Problem:    Cannot get the name of the pty of a job.
Solution:   Add the "tty" entry to the job info. (Ozaki Kiichi, closes #1920)
            Add the term_gettty() function.
2017-08-03 13:51:25 +02:00
d8dc179937 patch 8.0.0845: MS-Windows: missing semicolon in terminal code
Problem:    MS-Windows: missing semicolon in terminal code.
Solution:   Add it. (Naruhiko Nishino, closes #1923)
2017-08-03 11:55:21 +02:00
e0ab979fa7 patch 8.0.0844: wrong function prototype because of missing static
Problem:    Wrong function prototype because of missing static.
Solution:   Add "static".
2017-08-02 23:18:25 +02:00
66cd19fef1 patch 8.0.0843: MS-Windows: compiler warning for signed/unsigned
Problem:    MS-Windows: compiler warning for signed/unsigned.
Solution:   Add type cast. (Yasuhiro Matsumoto, closes #1912)
2017-08-02 23:13:27 +02:00
223896d3e9 patch 8.0.0842: using slave pty after closing it
Problem:    Using slave pty after closing it.
Solution:   Do the ioctl() before dup'ing it.
2017-08-02 22:33:28 +02:00
5c838a3e71 patch 8.0.0841: term_getline() may cause a crash
Problem:    term_getline() may cause a crash.
Solution:   Check that the row is valid. (Hirohito Higashi)
2017-08-02 22:10:34 +02:00
b6843a007d patch 8.0.0840: MS-Windows: fopen() and open() prototypes are wrong
Problem:    MS-Windows: fopen() and open() prototypes do not match the ones in
            the system header file.  Can't build without FEAT_MBYTE.
Solution:   Add "const".  Move macro to after including protoo.h.
2017-08-02 22:07:12 +02:00
fae4283542 patch 8.0.0839: cannot kill a job in a terminal with CTRL-C
Problem:    Cannot kill a job in a terminal with CTRL-C.
Solution:   Set the controlling tty and send SIGINT. (closes #1910)
2017-08-01 22:24:26 +02:00
94053a5125 patch 8.0.0838: buffer hangs around whem terminal window is closed
Problem:    Buffer hangs around whem terminal window is closed.
Solution:   When the job has ended wipe out a terminal buffer when the window
            is closed.
2017-08-01 21:44:33 +02:00
0792048842 patch 8.0.0837: signs can be drawn on top of console messages
Problem:    Signs can be drawn on top of console messages.
Solution:   don't redraw at a prompt or when scrolled up. (Christian Brabandt,
            closes #1907)
2017-08-01 20:53:30 +02:00
f55e4c867f Updated runtime files 2017-08-01 20:44:53 +02:00
20e6cd07ba patch 8.0.0836: can abandon a terminal buffer after making a change
Problem:    When a terminal buffer is changed it can still be accidentally
            abandoned.
Solution:   When making a change reset the 'buftype' option.
2017-08-01 20:25:22 +02:00
65cedb2074 patch 8.0.0835: translations check with msgfmt does not work
Problem:    Translations check with msgfmt does not work.
Solution:   Add a space before the file name.
2017-08-01 18:52:55 +02:00
2a4f06f370 patch 8.0.0834: can't build without the client-server feature
Problem:    Can't build without the client-server feature.
Solution:   Add #ifdef.
2017-08-01 18:44:29 +02:00
9c8448472f patch 8.0.0833: terminal test fails
Problem:    Terminal test fails.
Solution:   Update the row argument to one based.
2017-08-01 18:41:21 +02:00
c2ce52c011 patch 8.0.0832: terminal function arguments are not consistent
Problem:    Terminal function arguments are not consistent.
Solution:   Use one-based instead of zero-based rows and cols.  Use "." for
            the current row.
2017-08-01 18:35:38 +02:00
12d853fae1 patch 8.0.0831: with 8 colors the bold attribute is not set properly
Problem:    With 8 colors the bold attribute is not set properly.
Solution:   Move setting HL_TABLE() out of lookup_color. (closes #1901)
2017-08-01 18:04:04 +02:00
aaef1bae3c patch 8.0.0830: translating messages is not ideal
Problem:    Translating messages is not ideal.
Solution:   Add a remark about obsolete messages.  Use msgfmt in the check
            script. (Christian Brabandt)
2017-08-01 17:40:23 +02:00
7da346035b patch 8.0.0829: job running in terminal can't communicate with Vim
Problem:    A job running in a terminal window cannot easily communicate with
            the Vim it is running in.
Solution:   Pass v:servername in an environment variable. (closes #1908)
2017-08-01 17:14:21 +02:00
983b3a5bc4 patch 8.0.0828: Coverity: may dereference NULL pointer
Problem:    Coverity: may dereference NULL pointer.
Solution:   Bail out if calloc_state() returns NULL.
2017-08-01 15:14:26 +02:00
979e8c5346 patch 8.0.0827: Coverity: could leak pty file descriptor
Problem:    Coverity: could leak pty file descriptor, theoretically.
Solution:   If channel is NULL, free the file descriptors.
2017-08-01 15:08:07 +02:00
662d938666 patch 8.0.0826: cannot use text objects in Terminal mode
Problem:    Cannot use text objects in Terminal mode.
Solution:   Check for pending operator and Visual mode first. (Yasuhiro
            Matsumoto, closes #1906)
2017-07-31 22:56:24 +02:00
3633cf5201 patch 8.0.0825: not easy to see that a window is a terminal window
Problem:    Not easy to see that a window is a terminal window.
Solution:   Add StatusLineTerm highlighting.
2017-07-31 22:29:35 +02:00
392d1bfa5e patch 8.0.0824: in Terminal mode the cursor and screen gets redrawn
Problem:    In Terminal mode the cursor and screen gets redrawn when the job
            produces output.
Solution:   Check for tl_terminal_mode. (partly by Yasuhiro Matsumoto, closes
            #1904)
2017-07-31 21:18:58 +02:00
c9456cec0c patch 8.0.0823: cannot paste text into a terminal window
Problem:    Cannot paste text into a terminal window.
Solution:   Make CTRL-W " work.
2017-07-30 21:46:04 +02:00
d09be32142 patch 8.0.0822: Test_with_partial_callback is a tiny bit flaky
Problem:    Test_with_partial_callback is a tiny bit flaky.
Solution:   Add it to the list of flaky tests.
2017-07-30 21:37:58 +02:00
b000e328ef patch 8.0.0821: cannot get the title and status of a terminal window
Problem:    Cannot get the title and status of a terminal window.
Solution:   Implement term_gettitle() and term_getstatus().
2017-07-30 19:38:21 +02:00
12d93ee26d patch 8.0.0820: GUI: cursor in terminal window lags behind
Problem:    GUI: cursor in terminal window lags behind.
Solution:   call gui_update_cursor() under different conditions. (Ozaki
            Kiichi, closes #1893)
2017-07-30 19:02:02 +02:00
0e23e9c5e7 patch 8.0.0819: cursor not positioned in terminal window
Problem:    After changing current window the cursor position in the terminal
            window is not updated.
Solution:   Set w_wrow, w_wcol and w_valid.
2017-07-30 18:47:19 +02:00
97870002d3 patch 8.0.0818: cannot get the cursor position of a terminal
Problem:    Cannot get the cursor position of a terminal.
Solution:   Add term_getcursor().
2017-07-30 18:28:38 +02:00
22aad2f880 patch 8.0.0817: cannot get the terminal line at the cursor
Problem:    Cannot get the line of a terminal window at the cursor.
Solution:   Make the row argunt optionsl. (Yasuhiro Matsumoto, closes #1898)
2017-07-30 18:19:46 +02:00
f144a3fb73 patch 8.0.0816: crash when using invalid buffer number
Problem:    Crash when using invalid buffer number.
Solution:   Check for NULL buffer. (Yasuhiro Matsumoto, closes #1899)
2017-07-30 18:02:12 +02:00
43c007ff22 patch 8.0.0815: terminal window not correctly updated
Problem:    Terminal window not correctly updated when 'statusline' invokes
            ":sleep". (NIkolay Pavlov)
Solution:   Clear got_int.  Repeat redrawing when needed.
2017-07-30 17:45:37 +02:00
0e7885e67d patch 8.0.0814: file in Filelist does not exist
Problem:    File in Filelist does not exist.
Solution:   Remove the line.
2017-07-30 16:58:56 +02:00
423802d1a2 patch 8.0.0813: cannot use a terminal window while the job is running
Problem:    Cannot use Vim commands in a terminal window while the job is
            running.
Solution:   Implement Terminal Normal mode.
2017-07-30 16:52:24 +02:00
68c4bdd53c patch 8.0.0812: terminal window colors shift when 'number' is set
Problem:    Terminal window colors shift when 'number' is set. (Nazri Ramliy)
Solution:   Use vcol instead of col.
2017-07-30 13:57:41 +02:00
5449f7c6fc patch 8.0.0811: MS-Windows: test_expand_dllpath fails
Problem:    MS-Windows: test_expand_dllpath fails.
Solution:   Change backslashes to forward slashes
2017-07-30 13:51:37 +02:00
d0b6c6c54e patch 8.0.0810: MS-Windows: tests still hang
Problem:    MS-Windows: tests still hang.
Solution:   Only create the XfakeHOME directory if it does not exist yet.
2017-07-30 13:28:23 +02:00
30fe88677d patch 8.0.0809: MS-Windows: tests hang
Problem:    MS-Windows: tests hang.
Solution:   Delete the XfakeHOME directory.
2017-07-29 23:01:57 +02:00
d507a685ad patch 8.0.0808: cannot build with terminal feature and DEBUG defined
Problem:    Cannot build with terminal feature and DEBUG defined. (Christian
            Brabandt)
Solution:   Use DEBUG_LOG3().
2017-07-29 22:41:18 +02:00
6e1ef28057 patch 8.0.0807: terminal window can't handle mouse buttons
Problem:    Terminal window can't handle mouse buttons. (Hirohito Higashi)
Solution:   Implement mouse buttons and many other keys.  Ignore the ones that
            are not implemented.
2017-07-29 22:23:40 +02:00
f98246d484 patch 8.0.0806: tests may try to create XfakeHOME twice
Problem:    Tests may try to create XfakeHOME twice.
Solution:   Avoid loading setup.vim twice.
2017-07-29 22:21:18 +02:00
d1ee0043c0 patch 8.0.0805: GUI test fails with gnome2
Problem:    GUI test fails with gnome2.
Solution:   Set $HOME to an existing directory.
2017-07-29 20:39:53 +02:00
91d348abfc patch 8.0.0804: running tests fails when stdin is /dev/null
Problem:    Running tests fails when stdin is /dev/null. (James McCoy)
Solution:   Do not bail out from getting input if the --not-a-term argument
            was given. (closes #1460)
2017-07-29 20:16:03 +02:00
c6df10e5d3 patch 8.0.0804: terminal window functions not yet implemented
Problem:    Terminal window functions not yet implemented.
Solution:   Implement several functions. Add a first test. (Yasuhiro
            Matsumoto, closes #1871)
2017-07-29 20:15:08 +02:00
70229f951f patch 8.0.0802: last line of terminal window has no color
Problem:    After a job exits the last line in the terminal window does not
            get color attributes.
Solution:   Fix off-by-one error.
2017-07-29 16:01:53 +02:00
1e8340bbbf patch 8.0.0801: terminal window title says "running" after job exits
Problem:    The terminal window title sometimes still says "running" even
            though the job has finished.
Solution:   Also consider the job finished when the channel has been closed.
2017-07-29 15:53:39 +02:00
696d00f488 patch 8.0.0800
Problem:    Terminal window scrollback contents is wrong.
Solution:   Fix handling of multi-byte characters (Yasuhiro Matsumoto) Handle
            empty lines correctly. (closes #1891)
2017-07-29 14:52:43 +02:00
dcbfa33fa1 patch 8.0.0799: missing semicolon
Problem:    Missing semicolon.
Solution:   Add it.
2017-07-28 23:16:13 +02:00
63ecddab6d patch 8.0.0798: no highlighting in a terminal window with a finished job
Problem:    No highlighting in a terminal window with a finished job.
Solution:   Highlight the text.
2017-07-28 22:29:35 +02:00
d85f271bf8 patch 8.0.0797: finished job in terminal window is not handled
Problem:    Finished job in terminal window is not handled.
Solution:   Add the scrollback buffer.  Use it to fill the buffer when the job
            has ended.
2017-07-28 21:51:57 +02:00
d973bcb483 patch 8.0.0796: no coverage on Travis with clang
Problem:    No coverage on Travis with clang.
Solution:   Use a specific coveralls version. (Ozaki Kiichi, closes #1888)
2017-07-28 18:01:58 +02:00
607985a95f patch 8.0.0795: terminal feature does not build with older MSVC
Problem:    Terminal feature does not build with older MSVC.
Solution:   Do not use stdint.h.
2017-07-28 17:04:15 +02:00
9966b21a57 patch 8.0.0794: checking translations fails with multiple NL
Problem:    The script to check translations fails if there is more than one
            NL in one line.
Solution:   Count the number of NL characters.  Make count() accept a string.
2017-07-28 16:46:57 +02:00
93723a4ef1 patch 8.0.0793: using wrong terminal name for terminal window
Problem:    Using wrong terminal name for terminal window.
Solution:   When 'term' starts with "xterm" use it for $TERM in a terminal
            window.
2017-07-28 15:55:32 +02:00
1a0f200500 patch 8.0.0792: spell test leaves files behind
Problem:    Spell test leaves files behind.
Solution:   Delete the files.
2017-07-28 15:38:10 +02:00
b41bf8e6b4 patch 8.0.0791: terminal colors depend on the system
Problem:    Terminal colors depend on the system.
Solution:   Use the highlight color lookup tables.
2017-07-28 15:11:38 +02:00
fa228f716a patch 8.0.0790: MSVC compiler warning for strncpy in libvterm
Problem:    MSVC compiler warning for strncpy in libvterm.
Solution:   Add a define to stop the warnings. (Mike Williams)
2017-07-28 14:19:19 +02:00
96ad8c9ac1 patch 8.0.0789: splitting terminal window has resizing problems
Problem:    When splitting a terminal window where the terminal follows the
            size of the window doesn't work.
Solution:   Use the size of the smallest window. (Yasuhiro Matsumoto, closes
            #1885)
2017-07-28 14:17:34 +02:00
f86eea9f01 patch 8.0.0788: MS-Windows: cannot build with terminal feature
Problem:    MS-Windows: cannot build with terminal feature.
Solution:   Move set_ref_in_term(). (Ozaki Kiichi)
2017-07-28 13:51:30 +02:00
1f28b4c6a3 patch 8.0.0787: cannot send CTRL-W command to terminal job
Problem:    Cannot send CTRL-W command to terminal job.
Solution:   Make CTRL-W . a prefex for sending a key to the job.
2017-07-28 13:48:34 +02:00
8bcc99b821 patch 8.0.0786: build failures on Travis
Problem:    Build failures on Travis.
Solution:   Go back to precise termporarily.  Disable coverage with clang.
2017-07-28 13:45:16 +02:00
38ed1f5bea Do not run coverage with clang, currently fails. 2017-07-28 13:41:22 +02:00
d243a2a5ef Do not invoke rvm reset 2017-07-28 13:12:19 +02:00
bb543088a5 Remove ruby-dev from travis config. 2017-07-28 12:45:40 +02:00
59ee05b2f5 Switch travis back to precise temporarily 2017-07-28 12:22:55 +02:00
67883b4909 patch 8.0.0785: wildcards are not expanded for :terminal
Problem:    Wildcards are not expanded for :terminal.
Solution:   Add FILES to the command flags. (Yasuhiro Matsumoto, closes #1883)
            Also complete commands.
2017-07-27 22:57:00 +02:00
a2c45a17c1 patch 8.0.0784: job of terminal may be garbage collected
Problem:    Job of terminal may be garbage collected.
Solution:   Set copyID on job in terminal. (Ozaki Kiichi)
2017-07-27 22:14:59 +02:00
0e83f02d80 patch 8.0.0783: job of terminal may be freed too early
Problem:    Job of terminal may be freed too early.
Solution:   Increment job refcount. (Yasuhiro Matsumoto)
2017-07-27 22:07:35 +02:00
d28cc3f55d patch 8.0.0782: using freed memory in quickfix code
Problem:    Using freed memory in quickfix code. (Dominique Pelle)
Solution:   Handle a help window differently. (Yegappan Lakshmanan)
2017-07-27 22:03:50 +02:00
ab6eec3887 patch 8.0.0781: MS-Windows: memory leak when using :terminal
Problem:    MS-Windows: Memory leak when using :terminal.
Solution:   Handle failures properly. (Ken Takata)
2017-07-27 21:46:43 +02:00
cb25d18220 patch 8.0.0780: build failure on Travis
Problem:    Build failure on Travis.
Solution:   Set distribution explicitly. Use Lua and Ruby dev. (Ken Takata,
            closes #1884)
2017-07-27 21:29:31 +02:00
293424c199 patch 8.0.0779: :term without an argument uses empty buffer name
Problem:    :term without an argument uses empty buffer name but runs the
            snell.
Solution:   Change the command to the shell earlier.
2017-07-26 23:11:01 +02:00
4cc93dc85a patch 8.0.0778: in a terminal the cursor may be hidden
Problem:    In a terminal the cursor may be hidden and screen updating lags
            behind. (Nazri Ramliy)
Solution:   Switch the cursor on and flush output when needed. (Ozaki Kiichi)
2017-07-26 21:49:37 +02:00
a1b5b09281 patch 8.0.0777: compiler warnings with 64 bit compiler
Problem:    Compiler warnings with 64 bit compiler.
Solution:   Add type casts. (Mike Williams)
2017-07-26 21:29:34 +02:00
f0a521f4f7 patch 8.0.0776: function prototypes missing without the quickfix feature
Problem:    Function prototypes missing without the quickfix feature. (Tony
            Mechelynck)
Solution:   Move non-quickfix functions to buffer.c.
2017-07-25 23:31:12 +02:00
fc716d7256 patch 8.0.0775: in a terminal the cursor is updated too often
Problem:    In a terminal the cursor is updated too often.
Solution:   Only flush when needed. (Yasuhiro Matsumoto).  Remeber whether the
            cursor is visible. (closes #1873)
2017-07-25 23:08:47 +02:00
8f14bb58cb patch 8.0.0774: build failure without the multi-byte feature
Problem:    Build failure without the multi-byte feature on HPUX.
Solution:   Move #ifdefs. (John Marriott)
2017-07-25 22:06:43 +02:00
f80451e6fe patch 8.0.0773: mixing 32 and 64 bit libvterm builds fails
Problem:    Mixing 32 and 64 bit libvterm builds fails.
Solution:   Use OUTDIR. (Ken Takata)
2017-07-25 21:49:35 +02:00
b2a76ec06b patch 8.0.0772: other stdbool.h dependencies in libvterm
Problem:    Other stdbool.h dependencies in libvterm.
Solution:   Remove the dependency and use TRUE/FALSE/int. (Ken Takata)
2017-07-25 21:34:46 +02:00
1c84493bbe patch 8.0.0771: cursor in terminal window not always updated in GUI
Problem:    Cursor in a terminal window not always updated in the GUI.
Solution:   Call gui_update_cursor(). (Yasuhiro Matsumoto, closes #1868)
2017-07-24 23:36:41 +02:00
86067eb05e patch 8.0.0770: compiler warning for missing field initializer
Problem:    Compiler warning for missing field initializer.
Solution:   Add two more values. (Yegappan Lakshmanan)
2017-07-24 23:05:35 +02:00
8a77306fa1 patch 8.0.0769: build problems with terminal on MS-Windows
Problem:    Build problems with terminal on MS-Windows using MSVC.
Solution:   Remove stdbool.h dependency. Only use ScreenLinesUC when it was
            allocated. Fix typos. (Ken Takata)
2017-07-24 22:29:21 +02:00
2155441460 patch 8.0.0768: terminal window status shows "[Scratch]"
Problem:    Terminal window status shows "[Scratch]".
Solution:   Show "[Terminal]" when no title was set. (Yasuhiro Matsumoto)
            Store the terminal title that vterm sends and use it.  Update the
            special buffer name.  (closes #1869)
2017-07-24 21:44:43 +02:00
d60547bf80 patch 8.0.0767: build failure with Athena and Motif
Problem:    Build failure with Athena and Motif.
Solution:   Move local variable delcarations. (Kazunobu Kuriyama)
2017-07-24 20:15:30 +02:00
c4f43bce7c patch 8.0.0766: option test fails with +terminal feature
Problem:    Option test fails with +terminal feature.
Solution:   Fix using the right option when checking the value.
2017-07-24 20:03:01 +02:00
81bdd6a025 patch 8.0.0765: build fails with tiny features
Problem:    Build fails with tiny features.
Solution:   Adjust #ifdef. (John Marriott)
2017-07-23 22:57:00 +02:00
dbe948d6c3 patch 8.0.0764: 'termkey' does not work yet
Problem:    'termkey' does not work yet.
Solution:   Implement 'termkey'.
2017-07-23 22:50:51 +02:00
b6e0ec6b71 Documentation updates. 2017-07-23 22:12:20 +02:00
9cc5f75932 patch 8.0.0763: libvterm can be improved
Problem:    Libvterm can be improved.
Solution:   Various small improvements, more comments.
2017-07-23 22:07:27 +02:00
c31f9ae4f1 patch 8.0.0762: ml_get error with :psearch in buffer without a name
Problem:    ml_get error with :psearch in buffer without a name. (Dominique
            Pelle)
Solution:   Use the buffer number instead of the file name.  Check the cursor
            position.
2017-07-23 22:02:02 +02:00
1f2903c431 patch 8.0.0761: options not set properly for a terminal buffer
Problem:    Options of a buffer for a terminal window are not set properly.
Solution:   Add "terminal" value for 'buftype'.  Make 'buftype' and
            'bufhidden' not depend on the quickfix feature.
            Also set the buffer name and show "running" or "finished" in the
            window title.
2017-07-23 19:51:01 +02:00
065f41c814 patch 8.0.0760: terminal window colors wrong with 'termguicolors'
Problem:    Terminal window colors wrong with 'termguicolors'.
Solution:   Add 'termguicolors' support.
2017-07-23 18:07:56 +02:00
43da3e36b2 patch 8.0.0759: MS-Windows: terminal does not adjust size
Problem:    MS-Windows: terminal does not adjust size to the Vim window size.
Solution:   Add a call to winpty_set_size(). (Yasuhiro Matsumoto, closes #1863)
2017-07-23 17:27:54 +02:00
cdeae99b4e patch 8.0.0758: possible crash when using a terminal window
Problem:    Possible crash when using a terminal window.
Solution:   Check for NULL pointers. (Yasuhiro Matsumoto, closes #1864)
2017-07-23 17:22:35 +02:00
9c5589c7ce patch 8.0.0757: libvterm MSVC Makefile not included in the distribution
Problem:    Libvterm MSVC Makefile not included in the distribution.
Solution:   Add the file to the list.
2017-07-23 17:15:18 +02:00
2aeaf3fc01 patch 8.0.0756: cannot build libvterm with MSVC
Problem:    Cannot build libvterm with MSVC.
Solution:   Add an MSVC Makefile to libvterm. (Yasuhiro Matsumoto, closes
            #1865)
2017-07-23 17:11:15 +02:00
26af85d97b patch 8.0.0755: terminal window does not have colors in the GUI
Problem:    Terminal window does not have colors in the GUI.
Solution:   Lookup the GUI color.
2017-07-23 16:45:10 +02:00
eeac677886 patch 8.0.0754: terminal window does not support colors
Problem:    Terminal window does not support colors.
Solution:   Lookup the color attribute.
2017-07-23 15:48:37 +02:00
b13501f7da patch 8.0.0753: no size reports to a job running in a terminal
Problem:    A job running in a terminal does not get notified of changes in
            the terminal size.
Solution:   Use ioctl() and SIGWINCH to report the terminal size.
2017-07-22 22:32:56 +02:00
d7d3cbedb3 patch 8.0.0752: build fails on MS-Windows
Problem:    Build fails on MS-Windows.
Solution:   Change #ifdef for set_color_count().
2017-07-22 21:15:42 +02:00
613fe7ad2b patch 8.0.0751: OpenPTY missing with some combination of features
Problem:    OpenPTY missing with some combination of features. (Kazunobu
            Kuriyama)
Solution:   Adjust #ifdef.  Also include pty.pro when needed.
2017-07-22 21:11:53 +02:00
6ed8069c79 patch 8.0.0750: OpenPTY missing in non-GUI build
Problem:    OpenPTY missing in non-GUI build.
Solution:   Always include pty.c, add an #ifdef to skip over the contents.
2017-07-22 20:53:21 +02:00
816e7660e1 patch 8.0.0749: some unicode digraphs are hard to remember
Problem:    Some unicode digraphs are hard to remember.
Solution:   Add alternatives with a backtick. (Chris Harding, closes #1861)
2017-07-22 20:42:04 +02:00
b7a8dfeb49 patch 8.0.0748: running Vim in terminal window doesn't use the right colors
Problem:    When running Vim in a terminal window it does not detect the right
            number of colors available.
Solution:   Detect the version string that libvterm returns.  Pass the number
            of colors in $COLORS.
2017-07-22 20:33:05 +02:00
e173fd0972 patch 8.0.0747: :terminal without an argument doesn't work
Problem:    :terminal without an argument doesn't work.
Solution:   Use the 'shell' option. (Yasuhiro Matsumoto, closes #1860)
2017-07-22 19:03:32 +02:00
61a6605ea1 patch 8.0.0746: when :term fails the job is not properly cleaned up
Problem:    When :term fails the job is not properly cleaned up.
Solution:   Free the terminal. Handle a job that failed to start. (closes
            #1858)
2017-07-22 18:39:00 +02:00
9f1f49b839 patch 8.0.0745: multi-byte characters in a terminal don't display well
Problem:    multi-byte characters in a terminal window are not displayed
            properly.
Solution:   Set the unused screen characters. (Yasuhiro Matsumoto, closes
            #1857)
2017-07-22 18:14:17 +02:00
5a1feb8091 patch 8.0.0744: terminal window does not use a pty
Problem:    A terminal window uses pipes instead of a pty.
Solution:   Add pty support.
2017-07-22 18:04:08 +02:00
825680f5f4 patch 8.0.0743: the 'termsize' option can be set to an invalid value
Problem:    The 'termsize' option can be set to an invalid value.
Solution:   Check the 'termsize' option to be valid.
2017-07-22 17:04:02 +02:00
8f84c3a866 patch 8.0.0742: terminal feature does not work on MS-Windows
Problem:    Terminal feature does not work on MS-Windows.
Solution:   Use libvterm and libwinpty on MS-Windows. (Yasuhiro Matsumoto)
2017-07-22 16:14:44 +02:00
5f7e7bdcf8 patch 8.0.0741: cannot build with HPUX
Problem:    Cannot build with HPUX.
Solution:   Rename envbuf_TERM to envbuf_Term. (John Marriott)
2017-07-22 14:08:43 +02:00
e906ae85b2 patch 8.0.0740: cannot resize a terminal window by the command
Problem:    Cannot resize a terminal window by the command running in it.
Solution:   Add support for the window size escape sequence.  Make BS work.
2017-07-21 21:10:01 +02:00
58556cd0e5 patch 8.0.0739: terminal resizing doesn't work well.
Problem:    Terminal resizing doesn't work well.
Solution:   Resize the terminal to the Vim window and the other way around.
            Avoid mapping typed keys.  Set the environment properly.
2017-07-20 23:04:46 +02:00
e825d8b0a4 patch 8.0.0738: cannot use the mouse to resize a terminal window
Problem:    Cannot use the mouse to resize window while the focus is in a
            terminal window.
Solution:   Recognize nice mouse events in the terminal window.  A few more
            fixes for the terminal window.
2017-07-19 23:20:19 +02:00
cdb7e1b7f9 patch 8.0.0737: crash when X11 selection is very big
Problem:    Crash when X11 selection is very big.
Solution:   Use static items instead of allocating them.  Add callbacks.
            (Ozaki Kiichi)
2017-07-19 19:55:58 +02:00
04f62f881c patch 8.0.0736: OptionSet not triggered when entering diff mode
Problem:    The OptionSet autocommand event is not triggered when entering
            diff mode.
Solution:   use set_option_value() instead of setting the option directly.
            Change the tests from old to new style. (Christian Brabandt)
2017-07-19 18:18:39 +02:00
a8788f4d0b patch 8.0.0735: no indication that the quickfix window/buffer changed
Problem:    There is no way to notice that the quickfix window contents has
            changed.
Solution:   Increment b:changedtick when updating the quickfix window.
            (Yegappan Lakshmanan)
2017-07-19 17:06:20 +02:00
bf92e3a371 Update translations. 2017-07-19 14:59:34 +02:00
7f93703149 patch 8.0.0734: the script to check translations can be improved
Problem:    The script to check translations can be improved.
Solution:   Restore the view when no errors are found.  Check for matching
            line break at the end of the message. (Christian Brabandt)
2017-07-19 14:34:42 +02:00
a7df8c70c8 patch 8.0.0733: can only add entries to one list in the quickfix stack
Problem:    Can only add entries to one list in the quickfix stack.
Solution:   Move state variables from qf_list_T to qf_list_T. (Yegappan
            Lakshmanan)
2017-07-19 13:23:06 +02:00
80dd3f9d41 patch 8.0.0732: when updating a buffer modeless selection is lost
Problem:    When updating a buffer for a callback the modeless selection is
            lost.
Solution:   Do not insert or delete screen lines when redrawing for a callback
            and there is a modeless selection.
2017-07-19 12:51:52 +02:00
4fc63505d3 patch 8.0.0731: cannot build the terminal feature on MS-Windows
Problem:    Cannot build the terminal feature on MS-Windows.
Solution:   Add the Makefile changes. (Yasuhiro Matsumoto, closes #1851)
2017-07-19 11:28:17 +02:00
8c0095c59a patch 8.0.0730: terminal feature only supports Unix-like systems
Problem:    Terminal feature only supports Unix-like systems.
Solution:   Prepare for adding an MS-Windows implementaiton.
2017-07-18 22:53:21 +02:00
8008b6318d patch 8.0.0729: the help for the terminal configure option is wrong
Problem:    The help for the terminal configure option is wrong.
Solution:   Change "Disable" to "Enable". (E Kawashima, closes #1849)
            Improve alignment.
2017-07-18 21:33:20 +02:00
96ca27a0ee patch 8.0.0728: the terminal structure is never freed
Problem:    The terminal structure is never freed.
Solution:   Free the structure and unreference what it contains.
2017-07-17 23:20:24 +02:00
60d0e97497 patch 8.0.0727: message about what register to yank into is not translated
Problem:    Message about what register to yank into is not translated.
            (LemonBoy)
Solution:   Add _().
2017-07-16 20:54:34 +02:00
4d2ba822fd patch 8.0.0726: translations cleanup script is too conservative
Problem:    Translations cleanup script is too conservative.
Solution:   Also delete untranslated messages.
2017-07-16 20:32:25 +02:00
938783d0ab patch 8.0.0725: a terminal window does not handle keyboard input
Problem:    A terminal window does not handle keyboard input.
Solution:   Add terminal_loop().  ":term bash -i" sort of works now.
2017-07-16 20:13:26 +02:00
e45deb7997 patch 8.0.0724: the message for yanking doesn't indicate the register
Problem:    The message for yanking doesn't indicate the register.
Solution:   Show the register name in the "N lines yanked" message. (Lemonboy,
            closes #1803, closes #1809)
2017-07-16 17:56:16 +02:00
9b50bba643 patch 8.0.0723: arglist test fails if file name case is ignored
Problem:    Arglist test fails if file name case is ignored.
Solution:   Wipe existing buffers, check for fname_case property.
2017-07-16 16:42:13 +02:00
c9041079a1 patch 8.0.0722: screen is messed by timer up at inputlist() prompt
Problem:    Screen is messed by timer up at inputlist() prompt.
Solution:   Set state to ASKMORE. (closes #1843)
2017-07-16 15:48:46 +02:00
90305c66a8 patch 8.0.0721: :argedit can only have one argument
Problem:    :argedit can only have one argument.
Solution:   Allow for multiple arguments. (Christian Brabandt)
2017-07-16 15:31:17 +02:00
6a77d2667e patch 8.0.0720: unfinished mapping not displayed when running timer
Problem:    Unfinished mapping not displayed when running timer.
Solution:   Also use the extra_char while waiting for a mapping and digraph.
            (closes #1844)
2017-07-16 15:24:01 +02:00
c0aa482a5a patch 8.0.0719: build failure without +terminal feature
Problem:    Build failure without +terminal feature.
Solution:   Add #ifdefs.
2017-07-16 14:04:29 +02:00
cb8bbe9bf3 patch 8.0.0718: output of job in terminal is not displayed
Problem:    Output of job in terminal is not displayed.
Solution:   Connect the job output to the terminal.
2017-07-16 13:48:22 +02:00
26e8558e74 patch 8.0.0717: terminal feature precence unclear
Problem:    Terminal feature not included in :version output.
Solution:   Add +terminal or -terminal.
2017-07-15 20:05:54 +02:00
c4da113ef9 patch 8.0.0716: not easy to start Vim cleanly
Problem:    Not easy to start Vim cleanly without changing the viminfo file.
            Not possible to know whether the -i command line flag was used.
Solution:   Add the --clean command line argument.  Add the 'viminfofile'
            option.  Add "-u DEFAULTS".
2017-07-15 19:39:43 +02:00
a92522fbf3 patch 8.0.0714: when a timer causes a command line redraw " goes missing
Problem:    When a timer causes a command line redraw the " that is displayed
            for CTRL-R goes missing.
Solution:   Remember an extra character to display.
2017-07-15 15:21:38 +02:00
0daf843b4c patch 8.0.0713: 'termkey' option not fully implemented
Problem:    'termkey' option not fully implemented.
Solution:   Add initialisation.
2017-07-15 15:16:40 +02:00
1b0675caec patch 8.0.0712: the terminal implementation is incomplete
Problem:    The terminal implementation is incomplete.
Solution:   Add the 'termkey' option.
2017-07-15 14:04:01 +02:00
74675a666b Updated runtime files and translations. 2017-07-15 13:53:23 +02:00
85dad2c815 patch 8.0.0711: cannot build without the wildmenu feature
Problem:    Cannot build without the wildmenu feature.
Solution:   Add #ifdef
2017-07-12 21:12:43 +02:00
8603356bf4 patch 8.0.0710: a job that writes to a buffer clears completion
Problem:    A job that writes to a buffer clears command line completion.
            (Ramel Eshed)
Solution:   Do not redraw while showing the completion menu.
2017-07-12 20:24:41 +02:00
8327d1df17 patch 8.0.0709: libvterm cannot use vsnprintf()
Problem:    Libvterm cannot use vsnprintf(), it does not exist in C90.
Solution:   Use vim_vsnprintf() instead.
2017-07-11 22:34:51 +02:00
292eff0c5a patch 8.0.0708: some tests are old style
Problem:    Some tests are old style.
Solution:   Change a few tests from old style to new style. (pschuh,
            closes #1813)
2017-07-11 21:46:28 +02:00
f1d13478e3 patch 8.0.0707: freeing wrong memory with certain autocommands
Problem:    Freeing wrong memory when manipulating buffers in autocommands.
            (James McCoy)
Solution:   Also set the w_s pointer if w_buffer was NULL.
2017-07-11 18:28:46 +02:00
5a15b6aa0a patch 8.0.0706: crash when cancelling the cmdline window in Ex mode
Problem:    Crash when cancelling the cmdline window in Ex mode. (James McCoy)
Solution:   Do not set cmdbuff to NULL, make it empty.
2017-07-11 15:11:57 +02:00
cae24be4a8 patch 8.0.0705: crash when there is an error in a timer callback
Problem:    Crash when there is an error in a timer callback. (Aron Griffis,
            Ozaki Kiichi)
Solution:   Check did_throw before discarding an exception.  NULLify
            current_exception when no longer valid.
2017-07-10 22:12:10 +02:00
163095f088 patch 8.0.0704: problems with autocommands when opening help
Problem:    Problems with autocommands when opening help.
Solution:   Avoid using invalid "varp" value.  Allow using :wincmd if buffer
            is locked. (closes #1806, closes #1804)
2017-07-09 15:41:53 +02:00
faf29d7f91 patch 8.0.0703: illegal memory access with empty :doau command
Problem:    Illegal memory access with empty :doau command.
Solution:   Check the event for being out of range. (James McCoy)
2017-07-09 11:07:16 +02:00
c577d813b7 patch 8.0.0702: an error in a timer can make Vim unusable
Problem:    An error in a timer can make Vim unusable.
Solution:   Don't set the error flag or exception from a timer.  Stop a timer
            if it causes an error 3 out of 3 times.  Discard an exception
            caused inside a timer.
2017-07-08 22:37:34 +02:00
11e79bb04e patch 8.0.0701: system test failing when using X11 forwarding
Problem:    System test failing when using X11 forwarding.
Solution:   Set $XAUTHORITY before changing $HOME. (closes #1812)
            Also use a better check for the exit value.
2017-07-08 17:03:21 +02:00
0ea5070d79 patch 8.0.0700: segfault with QuitPre autocommand closes the window
Problem:    Segfault with QuitPre autocommand closes the window. (Marek)
Solution:   Check that the window pointer is still valid. (Christian Brabandt,
            closes #1817)
2017-07-08 14:44:50 +02:00
710b4a1646 patch 8.0.0699: checksum tests are not actually run
Problem:    Checksum tests are not actually run.
Solution:   Add the tests to the list. (Dominique Pelle, closes #1819)
2017-07-08 14:29:19 +02:00
c4f833808a patch 8.0.0698: crash on exit when using Python function in timer.
Problem:    When a timer uses ":pyeval" or another Python command and it
            happens to be triggered while exiting a Crash may happen.
            (Ricky Zhou)
Solution:   Avoid running a Python command after python_end() was called.
            Do not trigger timers while exiting.  (closes #1824)
2017-07-07 14:50:44 +02:00
8858498516 patch 8.0.0697: recorded key sequences may become invalid
Problem:    Recorded key sequences may become invalid.
Solution:   Add back KE_SNIFF removed in 7.4.1433. Use fixed numbers for the
            key_extra enum.
2017-07-07 13:32:14 +02:00
cce1cf12eb patch 8.0.0696: .inc files missing in git
Problem:    The .inc files are missing in git. (Nazri Ramliy)
Solution:   Remove the .inc line from .gitignore.
2017-07-07 13:04:16 +02:00
e5ae108ab8 patch 8.0.0695: missing dependencies breaks parallel make
Problem:    Missing dependencies breaks parallel make.
Solution:   Add dependencies for terminal.o.
2017-07-07 12:42:40 +02:00
a34293ae0a patch 8.0.0694: building in shadow directory does not work
Problem:    Building in shadow directory does not work.  Running Vim fails.
Solution:   Add the new libvterm directory.  Add missing change in command
            list.
2017-07-07 12:22:55 +02:00
e4f25e4a8d patch 8.0.0693: no terminal emulator support
Problem:    No terminal emulator support.  Cannot properly run commands in the
            GUI.  Cannot run a job interactively with an ssh connection.
Solution:   Very early implementation of the :terminal command.  Includes
            libvterm converted to ANSI C.  Many parts still missing.
2017-07-07 11:54:15 +02:00
da5116da45 patch 8.0.0692: CTRL-G with 'incsearch' and ? goes in the wrong direction
Problem:    Using CTRL-G with 'incsearch' and ? goes in the wrong direction.
            (Ramel Eshed)
Solution:   Adjust search_start. (Christian Brabandt)
2017-07-01 23:11:17 +02:00
a83fe75ca7 patch 8.0.0691: compiler warning without the linebreak feature
Problem:    Compiler warning without the linebreak feature.
Solution:   Add #ifdef. (John Marriott)
2017-06-29 22:33:13 +02:00
c2226845eb patch 8.0.0690: compiler warning on non-Unix system
Problem:    Compiler warning on non-Unix system.
Solution:   Add #ifdef. (John Marriott)
2017-06-29 22:27:24 +02:00
a693d0584b patch 8.0.0689: ~ character not escaped when extending search pattern
Problem:    The ~ character is not escaped when adding to the search pattern
            with CTRL-L. (Ramel Eshed)
Solution:   Escape the character. (Christian Brabandt)
2017-06-29 22:23:06 +02:00
9c4fefffb6 patch 8.0.0688: cannot resize the window in a FileType autocommand
Problem:    Cannot resize the window in a FileType autocommand. (Ingo Karkat)
Solution:   Add the CMDWIN flag to :resize. (test by Ingo Karkat,
            closes #1804)
2017-06-28 22:26:54 +02:00
86f100dc09 patch 8.0.0687: minor issues related to quickfix
Problem:    Minor issues related to quickfix.
Solution:   Set the proper return status for all cases in setqflist() and at
            test cases for this.  Move the "adding" flag outside of
            FEAT_WINDOWS. Minor update to the setqflist() help text. (Yegappan
            Lakshmanan)
2017-06-28 21:26:27 +02:00
9f5f7bf4d5 patch 8.0.0686: extra redraw when using CTRL-L in second window
Problem:    When typing CTRL-L in a window that's not the first one, another
            redraw will happen later. (Christian Brabandt)
Solution:   Reset must_redraw after calling screenclear().
2017-06-28 20:45:26 +02:00
e6bf655bc4 patch 8.0.0685: when conversion fails written file may be truncated
Problem:    When making backups is disabled and conversion with iconv fails
            the written file is truncated. (Luo Chen)
Solution:   First try converting the file and write the file only when it did
            not fail. (partly by Christian Brabandt)
2017-06-27 22:11:51 +02:00
28b238225a patch 8.0.0684: old style tests are not nice
Problem:    Old style tests are not nice.
Solution:   Turn two tests into new style. (pschuh, closes #1797)
2017-06-27 18:29:17 +02:00
2e147caa14 patch 8.0.0683: visual bell flashes too quickly
Problem:    When using a visual bell there is no delay, causing the flash to
            be very short, possibly unnoticeable.  Also, the flash and the
            beep can lockup the UI when repeated often.
Solution:   Do the delay in Vim or flush the output before the delay. Limit the
            bell to once per half a second. (Ozaki Kiichi, closes #1789)
2017-06-27 17:09:37 +02:00
0b2eef24bc patch 8.0.0682: no test for synIDtrans()
Problem:    No test for synIDtrans().
Solution:   Add a test. (Dominique Pelle, closes #1796)
2017-06-27 15:43:49 +02:00
18d90b95c4 patch 8.0.0681: unnamed register only contains the last deleted text
Problem:    Unnamed register only contains the last deleted text when
            appending deleted text to a register. (Wolfgang Jeltsch)
Solution:   Only set y_previous when not using y_append. (Christian Brabandt)
2017-06-27 15:39:14 +02:00
07ecfa64a1 patch 8.0.0680: plugins in start packages are sourced twice
Problem:    Plugins in start packages are sourced twice. (mseplowitz)
Solution:   Use the unmodified runtime path when loading plugins (test by Ingo
            Karkat, closes #1801)
2017-06-27 14:43:55 +02:00
41cc038ff8 patch 8.0.0679: using freed memory
Problem:    Using freed memory.
Solution:   Get the parent frame pointer earlier.
2017-06-26 09:59:35 +02:00
8eeeba8c02 patch 8.0.0678: closing a window does not trigger resizing
Problem:    When 'equalalways' is set and closing a window in a separate
            frame, not all window sizes are adjusted. (Glacambre)
Solution:   Resize all windows if the new current window is not in the same
            frame as the closed window. (closes #1707)
2017-06-25 22:45:39 +02:00
1814183b86 patch 8.0.0677: setting 'filetype' may switch buffers
Problem:    Setting 'filetype' internally may cause the current buffer and
            window to change unexpectedly.
Solution:   Set curbuf_lock. (closes #1734)
2017-06-25 21:17:25 +02:00
182a17b1e8 patch 8.0.0676: crash when closing quickfix window in autocmd
Problem:    Crash when closing the quickfix window in a FileType autocommand
            that triggers when the quickfix window is opened.
Solution:   Save the new value before triggering the OptionSet autocommand.
            Add the "starting" flag to test_override() to make the text work.
2017-06-25 20:57:18 +02:00
774e5a9673 patch 8.0.0675: 'colorcolumn' has a higher priority than 'hlsearch'
Problem:    'colorcolumn' has a higher priority than 'hlsearch', it should be
            the other way around. (Nazri Ramliy)
Solution:   Change the priorities. (LemonBoy, closes #1794)
2017-06-25 18:03:37 +02:00
5d7be4f0fa patch 8.0.0674: cannot build with eval but without timers
Problem:    Cannot build with eval but without timers.
Solution:   Add #ifdef (John Marriott)
2017-06-25 13:40:17 +02:00
ea20de8146 patch 8.0.0673: build failure without conceal feature
Problem:    Build failure without conceal feature.
Solution:   Add #ifdef.
2017-06-24 22:52:24 +02:00
cc0750dc6e patch 8.0.0672: third item of synconcealed() changes too often
Problem:    Third item of synconcealed() changes too often. (Dominique Pelle)
Solution:   Reset the sequence number at the start of each line.
2017-06-24 22:29:24 +02:00
4eb6531b03 patch 8.0.0671: hang when typing CTRL-C in confirm() in timer
Problem:    When a function invoked from a timer calls confirm() and the user
            types CTRL-C then Vim hangs.
Solution:   Reset typebuf_was_filled. (Ozaki Kiichi, closes #1791)
2017-06-24 18:49:00 +02:00
1e8e14552e patch 8.0.0670: can't use input() in a timer callback
Problem:    Can't use input() in a timer callback. (Cosmin Popescu)
Solution:   Reset vgetc_busy and set timer_busy. (Ozaki Kiichi, closes #1790,
            closes #1129)
2017-06-24 16:03:06 +02:00
24a9e348aa patch 8.0.0669: CTRL-N at start of the buffer does not work correctly
Problem:    In Insert mode, CTRL-N at start of the buffer does not work
            correctly. (zuloloxi)
Solution:   Wrap around the start of the buffer. (Christian Brabandt)
2017-06-24 15:39:07 +02:00
a1bd86e0f2 patch 8.0.0668: nsis installer script does not work
Problem:    Nsis installer script does not work. (Christian Brabandt)
Solution:   Fix the syntax of /SD.
2017-06-24 15:11:01 +02:00
53564f7c1a patch 8.0.0667: memory access error when command follows :endfunc
Problem:    Memory access error when command follows :endfunction. (Nikolai
            Pavlov)
Solution:   Make memory handling in :function straightforward. (closes #1793)
2017-06-24 14:48:11 +02:00
5fe691240b patch 8.0.0666: dead for loop
Problem:    Dead for loop. (Coverity)
Solution:   Remove the for loop.
2017-06-23 23:00:08 +02:00
090209bfbd patch 8.0.0665: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2017-06-23 22:45:33 +02:00
6d006f9e95 patch 8.0.0664: mouse does not work in tmux
Problem:    Mouse does not work in tmux. (lilydjwg)
Solution:   Add flag for SGR release being present.
2017-06-23 22:35:34 +02:00
f8be461d02 patch 8.0.0663: unexpected error message only when 'verbose' is set
Problem:    Giving an error message only when 'verbose' set is unexpected.
Solution:   Give a warning message instead.
2017-06-23 20:52:40 +02:00
4670490673 patch 8.0.0662: stray FIXME for fixed problem
Problem:    Stray FIXME for fixed problem.
Solution:   Remove the comment. (Dominique Pelle)
2017-06-22 23:03:12 +02:00
a529ce068b patch 8.0.0661: recognizing urxvt mouse codes does not work well
Problem:    Recognizing urxvt mouse codes does not work well.
Solution:   Recognize "Esc[*M" and "Esc[*m". (Maurice Bos, closes #1486)
2017-06-22 22:37:57 +02:00
a1fed064d1 patch 8.0.0660: silent install on MS-Windows shows dialog
Problem:    Silent install on MS-Windows does show a dialog.
Solution:   Add /SD to the default choice. (allburov, closes #1772)
2017-06-22 22:05:02 +02:00
4d785895d1 patch 8.0.0659: no test for conceal mode
Problem:    No test for conceal mode.
Solution:   Add a conceal mode test. (Dominique Pelle, closes #1783)
2017-06-22 22:00:50 +02:00
d2c061d24c patch 8.0.0658: spell test is old style
Problem:    Spell test is old style.
Solution:   Turn the spell test into a new style test (pschuh, closes #1778)
2017-06-22 21:42:49 +02:00
6a8958db25 patch 8.0.0657: cannot get and set quickfix list items
Problem:    Cannot get and set quickfix list items.
Solution:   Add the "items" argument to getqflist() and setqflist(). (Yegappan
            Lakshmanan)
2017-06-22 21:33:20 +02:00
6f9a476b2f patch 8.0.0656: cannot use ! after some user commands
Problem:    Cannot use ! after some user commands.
Solution:   Properly check for existing command. (Higashi Higashi)
2017-06-22 20:39:17 +02:00
d6abcd154c patch 8.0.0655: not easy to make sure a function does not exist
Problem:    Not easy to make sure a function does not exist.
Solution:   Add ! as an optional argument to :delfunc.
2017-06-22 19:15:24 +02:00
663bb23316 patch 8.0.0654: no warning for text after :endfunction
Problem:    Text found after :endfunction is silently ignored.
Solution:   Give a warning if 'verbose' is set.  When | or \n are used,
            execute the text as a command.
2017-06-22 19:12:10 +02:00
c768a208ca patch 8.0.0653: the default highlight for QuickFixLine is not good
Problem:    The default highlight for QuickFixLine does not work for several
            color schemes. (Manas Thakur)
Solution:   Make the default use the old color. (closes #1780)
2017-06-22 16:04:27 +02:00
383aa84c0d patch 8.0.0652: unicode information is outdated
Problem:    Unicode information is outdated.
Solution:   Update to Unicode 10. (Christian Brabandt)
2017-06-22 15:27:37 +02:00
157069b04e patch 8.0.0651: build failure without the auto command feature
Problem:    Build failure without the auto command feature.
Solution:   Add #ifdef. (closes #1782)
2017-06-22 14:56:12 +02:00
868831f122 patch 8.0.0650: for extra help files the filetype is set more than once
Problem:    For extra help files the filetype is set more than once.
Solution:   In *.txt files check that there is no help file modline.
2017-06-22 14:47:22 +02:00
9049298f8d patch 8.0.0649: when opening a help file the filetype is set several times
Problem:    When opening a help file the filetype is set several times.
Solution:   When setting the filetype to the same value from a modeline, don't
            trigger FileType autocommands.  Don't set the filetype to "help"
            when it's already set correctly.
2017-06-22 14:16:31 +02:00
fadacf01d0 patch 8.0.0648: possible use of NULL pointer
Problem:    Possible use of NULL pointer if buflist_new() returns NULL.
            (Coverity)
Solution:   Check for NULL pointer in set_bufref().
2017-06-19 20:35:32 +02:00
06f1ed2f78 patch 8.0.0647: syntax highlighting can make cause a freeze
Problem:    Syntax highlighting can make cause a freeze.
Solution:   Apply 'redrawtime' to syntax highlighting, per window.
2017-06-18 22:41:03 +02:00
0946326580 patch 8.0.0646: the hlsearch test fails on fast systems
Problem:    The hlsearch test fails on fast systems.
Solution:   Make the search pattern slower.  Fix that the old regexp engine
            doesn't timeout properly.
2017-06-17 20:55:06 +02:00
1ef9bbe215 patch 8.0.0645: no error for illegal back reference in NFA engine
Problem:    The new regexp engine does not give an error for using a back
            reference where it is not allowed. (Dominique Pelle)
Solution:   Check the back reference like the old engine. (closes #1774)
2017-06-17 20:08:20 +02:00
5b1affefd0 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Problem:    There is no test for 'hlsearch' timing out.
Solution:   Add a test.
2017-06-17 19:13:49 +02:00
fbd0b0af68 patch 8.0.0643: when a pattern search is slow Vim becomes unusable
Problem:    When 'hlsearch' is set and matching with the last search pattern
            is very slow, Vim becomes unusable.  Cannot quit search by
            pressing CTRL-C.
Solution:   When the search times out set a flag and don't try again.  Check
            for timeout and CTRL-C in NFA loop that adds states.
2017-06-17 18:44:21 +02:00
8cf91286ca patch 8.0.0642: writefile() continues after detecting an error
Problem:    writefile() continues after detecting an error.
Solution:   Bail out as soon as an error is detected. (suggestions by Nikolai
            Pavlov, closes #1476)
2017-06-13 19:38:37 +02:00
3ec574f2b5 Update runtime files.
Includes changing &sw to shiftwidth() for all indent scripts.
2017-06-13 18:12:01 +02:00
2102035488 patch 8.0.0641: cannot set a separate highlighting for the quickfix line
Problem:    Cannot set a separate highlighting for the current line in the
            quickfix window.
Solution:   Add QuickFixLine. (anishsane, closes #1755)
2017-06-13 17:21:04 +02:00
83064068ea patch 8.0.0640: mismatch between help and actual message
Problem:    Mismatch between help and actual message for ":syn conceal".
Solution:   Change the message to match the help. (Ken Takata)
2017-06-13 16:34:54 +02:00
9a48961d8b patch 8.0.0639: the cursor position is set when editing a new commit message
Problem:    The cursor position is set to the last position in a new commit
            message.
Solution:   Don't set the position if the filetype matches "commit".
            (Christian Brabandt)
2017-06-13 16:12:51 +02:00
d7383881c8 patch 8.0.0638: cannot build with new MSVC version
Problem:    Cannot build with new MSVC version VS2017.
Solution:   Change the compiler arguments. (Leonardo Manera, closes #1731,
            closes #1747)
2017-06-13 15:22:12 +02:00
21b34b63b3 patch 8.0.0637: crash when using some version of GTK 3
Problem:    Crash when using some version of GTK 3.
Solution:   Add #ifdefs around incrementing the menu index. (Kazunobu
            Kuriyama)
2017-06-13 14:34:01 +02:00
56f2db562d patch 8.0.0636: when reading the undo file fails may use uninitialized data
Problem:    When reading the undo file fails may use uninitialized data.
Solution:   Always clear the buffer on failure.
2017-06-11 23:09:15 +02:00
3a429efb62 patch 8.0.0635: when 'ignorecase' is set script detection is inaccurate
Problem:    When 'ignorecase' is set script detection is inaccurate.
Solution:   Enforce matching case for text. (closes #1753)
2017-06-11 17:10:32 +02:00
875feea6ce patch 8.0.0634: cannot easily get to the last quickfix list
Problem:    Cannot easily get to the last quickfix list.
Solution:   Add "$" as a value for the "nr" argument of getqflist() and
            setqflist(). (Yegappan Lakshmanan)
2017-06-11 16:07:51 +02:00
60964f6874 patch 8.0.0633: the client-server test is still a bit flaky
Problem:    The client-server test is still a bit flaky.
Solution:   Wait a bit for the GUI to start.  Check that the version number
            can be obtained.
2017-06-10 17:06:16 +02:00
1c13c0fe3e patch 8.0.0632: the quotestar test is still a bit flaky
Problem:    The quotestar test is still a bit flaky.
Solution:   Kill any existing server to make the retry work.  Wait for the
            register to be filled.
2017-06-10 16:30:32 +02:00
fa4161cb0c patch 8.0.0631: can't build with Perl 5.26
Problem:    Perl 5.26 also needs S_TOPMARK and S_POPMARK defined.
Solution:   Define the functions when needed. (Jesin, closes #1748)
2017-06-10 15:46:23 +02:00
f84b122a99 patch 8.0.0630: it is not easy to work on lines without a match
Problem:    The :global command does not work recursively, which makes it
            difficult to execute a command on a line where one pattern matches
            and another does not match. (Miles Cranmer)
Solution:   Allow for recursion if it is for only one line. (closes #1760)
2017-06-10 14:29:52 +02:00
6b1da3312e patch 8.0.0629: checking for ambigous width is not working
Problem:    Checking for ambigous width is not working. (Hirohito Higashi)
Solution:   Reset "starting" earlier.
2017-06-09 21:35:47 +02:00
f085f4266e patch 8.0.0628: cursor disappears after silent mapping
Problem:    Cursor disappears after silent mapping. (Ramel Eshed)
Solution:   Do restore the cursor when it was changed, but don't change it in
            the first place for a silent mapping.
2017-06-07 20:39:47 +02:00
add8dce38d patch 8.0.0627: "gn" selects only one character with 'nowrapscan'
Problem:    When 'wrapscan' is off "gn" does not select the whole pattern when
            it's the last one in the text. (KeyboardFire)
Solution:   Check if the search fails. (Christian Brabandt, closes #1683)
2017-06-05 19:56:04 +02:00
e21d69eec1 patch 8.0.0626: in the GUI the cursor may flicker
Problem:    In the GUI the cursor may flicker.
Solution:   Check the cmd_silent flag before updating the cursor shape.
            (Hirohito Higashi, closes #1637)
2017-06-05 19:32:32 +02:00
206155280d patch 8.0.0625: shellescape() always escapes a newline
Problem:    shellescape() always escapes a newline, which does not work with
            some shells. (Harm te Hennepe)
Solution:   Only escape a newline when the "special" argument is non-zero.
            (Christian Brabandt, closes #1590)
2017-06-05 18:46:26 +02:00
6c95fbc9ae patch 8.0.0624: warning for unused variable in tiny build
Problem:    Warning for unused variable in tiny build. (Tony Mechelynck)
Solution:   Add an #ifdef.
2017-06-05 17:53:37 +02:00
966e58e413 patch 8.0.0623: error for invalid regexp is not very informative
Problem:    The message "Invalid range" is used for multiple errors.
Solution:   Add two more specific error messages. (Itchyny, Ken Hamada)
2017-06-05 16:54:08 +02:00
c5e2b040b4 patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"
Problem:    Using a text object to select quoted text fails when 'selection'
            is set to "exclusive". (Guraga)
Solution:   Swap cursor and visual start position. (Christian Brabandt,
            closes #1687)
2017-06-05 16:37:07 +02:00
8ad80dea08 patch 8.0.0621: :stag does not respect 'switchbuf'
Problem:    The ":stag" command does not respect 'switchbuf'.
Solution:   Check 'switchbuf' for tag commands that may open a new window.
            (Ingo Karkat, closes #1681)  Define macros for the return values
            of getfile().
2017-06-05 16:01:59 +02:00
b463e8d999 patch 8.0.0620: checking for HAVE_GTK_MULTIHEAD is not needed
Problem:    Since we only support GTK versions that have it, the ckeck for
            HAVE_GTK_MULTIHEAD is no longer needed.
Solution:   Remove HAVE_GTK_MULTIHEAD. (Kazunobu Kuriyama)
2017-06-05 15:07:09 +02:00
6aa8cea46d Update runtime files. 2017-06-05 14:44:35 +02:00
9472eec83c patch 8.0.0619: GUI gets stuck if timer uses feedkeys()
Problem:    In the GUI, when a timer uses feedkeys(), it still waits for an
            event. (Raymond Ko)
Solution:   Check tb_change_cnt in one more place.
2017-06-05 13:31:56 +02:00
bb7943b792 patch 8.0.0618: NFA regex engine handles [0-z] incorrectly
Problem:    NFA regex engine handles [0-z] incorrectly.
Solution:   Return at the right point. (James McCoy, closes #1703)
2017-06-05 13:30:06 +02:00
763209c57b patch 8.0.0617: hardcopy test hangs on MS-Windows
Problem:    Hardcopy test hangs on MS-Windows.
Solution:   Check the postscript feature is supported.
2017-06-04 21:40:36 +02:00
1615b36b91 patch 8.0.0616: not always setting 'background' correctly after :hi Normal
Problem:    When setting the cterm background with ":hi Normal" the value of
            'background' may be set wrongly.
Solution:   Check that the color is less than 16.  Don't set 'background' when
            it was set explicitly. (Lemonboy, closes #1710)
2017-06-04 21:06:09 +02:00
bf15b8d78b patch 8.0.0615: using % with :hardcopy wrongly escapes spaces
Problem:    Using % with :hardcopy wrongly escapes spaces. (Alexey Muranov)
Solution:   Expand % differently. (Christian Brabandt, closes #1682)
2017-06-04 20:43:48 +02:00
863e80b445 patch 8.0.0614: float2nr() is not exactly right
Problem:    float2nr() is not exactly right.
Solution:   Make float2nr() more accurate.  Turn test64 into a new style test.
            (Hirohito Higashi, closes #1688)
2017-06-04 20:30:00 +02:00
3e54569b17 patch 8.0.0613: the conf filetype is used before ftdetect from packages
Problem:    The conf filetype detection is done before ftdetect scripts from
            packages that are added later.
Solution:   Add the FALLBACK argument to :setfiletype. (closes #1679,
            closes #1693)
2017-06-04 19:00:32 +02:00
ce876aaa9a patch 8.0.0612: pack dirs are added to 'runtimepath' too late
Problem:    Package directories are added to 'runtimepath' only after loading
            non-package plugins.
Solution:   Split off the code to add package directories to 'runtimepath'.
            (Ingo Karkat, closes #1680)
2017-06-04 17:47:42 +02:00
976787d1f3 patch 8.0.0611: the screen is not redrawn after sending t_u7
Problem:    When t_u7 is sent a few characters in the second screen line are
            overwritten and not redrawn later. (Rastislav Barlik)
Solution:   Move redrawing the screen to after overwriting the characters.
2017-06-04 15:45:50 +02:00
4b974d5443 patch 8.0.0610: the screen is redrawn when default 'background' is detected
Problem:    The screen is redrawn when t_BG is set and used to detect the
            value for 'background'.
Solution:   Don't redraw when the value of 'background' didn't change.
2017-06-04 15:37:46 +02:00
28a8193e31 patch 8.0.0609: some people still don't know how to quit
Problem:    For some people the hint about quitting is not sufficient.
Solution:   Put <Enter> separately.  Also use ":qa!" to get out even when
            there are changes.
2017-06-04 15:33:48 +02:00
a3921f48c6 patch 8.0.0608: cannot manipulate other than the current quickfix list
Problem:    Cannot manipulate other than the current quickfix list.
Solution:   Pass the list index to quickfix functions. (Yegappan Lakshmanan)
2017-06-04 15:30:34 +02:00
45e5fd135d patch 8.0.0607: after :bwipe + :new bufref might still be valid
Problem:    When creating a bufref, then using :bwipe and :new it might get
            the same memory and bufref_valid() returns true.
Solution:   Add br_fnum to check the buffer number didn't change.
2017-06-04 14:58:02 +02:00
6e62da3e14 patch 8.0.0606: cannot set the context for a specified quickfix list
Problem:    Cannot set the context for a specified quickfix list.
Solution:   Use the list index instead of the current list. (Yegappan
            Lakshmanan)
2017-05-28 08:16:25 +02:00
6dd4a53502 patch 8.0.0605: the quickfix cached buffer may become invalid
Problem:    The buffer that quickfix caches for performance may become
            invalid. (Daniel Hahler)
Solution:   Reset qf_last_bufref in qf_init_ext(). (Daniel Hahler,
            closes #1728, closes #1676)
2017-05-28 07:56:36 +02:00
b4d6c3ea4a Update runtime files. 2017-05-27 16:45:17 +02:00
712598f210 patch 8.0.0604: gF test fails still on MS-Windows
Problem:    gF test fails still on MS-Windows.
Solution:   Use : before the line number and remove it from 'isfname'.
2017-05-24 10:42:37 +02:00
d7aca7a71c patch 8.0.0603: gF test fails on MS-Windows
Problem:    gF test fails on MS-Windows.
Solution:   Use @ instead of : before the line number
2017-05-24 10:05:56 +02:00
2a79ed293c patch 8.0.0602: when gF fails to edit the file the cursor still moves
Problem:    When gF fails to edit the file the cursor still moves to the found
            line number.
Solution:   Check the return value of do_ecmd(). (Michael Hwang)
2017-05-24 09:51:39 +02:00
545cb79da5 patch 8.0.0601: no test coverage for :spellrepall
Problem:    No test coverage for :spellrepall.
Solution:   Add a test. (Dominique Pelle, closes #1717)
2017-05-23 11:31:22 +02:00
2a0b06def4 patch 8.0.0600: test_recover fails on some systems
Problem:    test_recover fails on some systems.
Solution:   Explicitly check if "/" is writable. (Ken Takata)
2017-05-18 16:23:43 +02:00
79a213d6a4 patch 8.0.0599: diff mode is insufficiently tested
Problem:    diff mode is insufficiently tested
Solution:   Add more test cases. (Dominique Pelle, closes #1685)
2017-05-16 13:15:18 +02:00
9e0f6ec076 patch 8.0.0598: building with gcc 7.1 yields new warnings
Problem:    Building with gcc 7.1 yields new warnings.
Solution:   Initialize result. (John Marriott)
2017-05-16 09:36:54 +02:00
253f912877 patch 8.0.0597: off-by-one error in size computation
Problem:    Off-by-one error in buffer size computation.
Solution:   Use ">=" instead of ">". (Lemonboy, closes #1694)
2017-05-15 08:45:13 +02:00
4475b62396 patch 8.0.0596: crash when complete() called after complete_add()
Problem:    Crash when complete() is called after complete_add() in
            'completefunc'. (Lifepillar)
Solution:   Bail out if compl_pattern is NULL. (closes #1668)
            Also avoid using freed memory.
2017-05-01 20:46:52 +02:00
beb9cb19c6 patch 8.0.0595: Coverity warning for not checking return value
Problem:    Coverity warning for not checking return value of dict_add().
Solution:   Check the return value for FAIL.
2017-05-01 14:14:04 +02:00
66c0e70b80 patch 8.0.0594: build failure when windows feature is missing
Problem:    Build failure when windows feature is missing.
Solution:   Add #ifdef.
2017-04-30 20:46:32 +02:00
45cf6e910c patch 8.0.0593: duplication of code for adding a list or dict return value
Problem:    Duplication of code for adding a list or dict return value.
Solution:   Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan)
2017-04-30 20:25:19 +02:00
29ae377ea7 patch 8.0.0592: if a job writes to a buffer screen is not updated
Problem:    If a job writes to a buffer and the user is typing a command, the
            screen isn't updated. When a message is displayed the changed
            buffer may cause it to be cleared. (Ramel Eshed)
Solution:   Update the screen and then the command line if the screen didn't
            scroll. Avoid inserting screen lines, as it clears any message.
            Update the status line when the buffer changed.
2017-04-30 19:39:39 +02:00
45d2cca1ea patch 8.0.0591: changes to eval functionality not documented
Problem:    Changes to eval functionality not documented.
Solution:   Include all the changes.
2017-04-30 16:36:05 +02:00
8f77c5a4ec patch 8.0.0590: cannot add a context to locations
Problem:    Cannot add a context to locations.
Solution:   Add the "context" entry in location entries. (Yegappan Lakshmanan,
            closes #1012)
2017-04-30 14:21:00 +02:00
a21ccb7a97 patch 8.0.0589: :simalt still does not work
Problem:    :simalt still does not work.
Solution:   Use K_NOP instead of K_IGNORE. (Christian Brabandt)
2017-04-29 17:40:22 +02:00
1a9020d4cb patch 8.0.0588: job_stop() often assumes the channel will be closed
Problem:    job_stop() often assumes the channel will be closed, while the job
            may not actually be stopped. (Martin Gammelsæter)
Solution:   Only assume the job stops on "kill".  Don't send a signal if the
            job has already ended. (closes #1632)
2017-04-29 16:24:38 +02:00
0635ee6824 Runtime file updates 2017-04-28 20:32:33 +02:00
696cbd224b patch 8.0.0587: configure check for return value of tgetent skipped
Problem:    Configure check for return value of tgetent is skipped.
Solution:   Always perform the check. (Marvin Schmidt, closes #1664)
2017-04-28 15:45:46 +02:00
b7637c44c2 patch 8.0.0586: no test for mapping timing out
Problem:    No test for mapping timing out.
Solution:   Add a test.
2017-04-23 18:49:36 +02:00
86e5792906 patch 8.0.0585: test_options fails when run in the GUI
Problem:    Test_options fails when run in the GUI.
Solution:   Also check the 'imactivatekey' value when the GUI is not running.
            Specify test values that work and that fail.
2017-04-23 18:44:26 +02:00
94237495c0 Updated runtime files. 2017-04-23 18:40:21 +02:00
d788f6fe89 patch 8.0.0584: memory leak when executing quickfix tests
Problem:    Memory leak when executing quickfix tests.
Solution:   Free the list reference. (Yegappan Lakshmanan)
2017-04-23 17:19:43 +02:00
b11c826ddc patch 8.0.0583: fold test hangs on MS-Windows
Problem:    Fold test hangs on MS-Windows.
Solution:   Avoid overflow in compare.
2017-04-23 16:48:20 +02:00
5b276aa80e patch 8.0.0582: illegal memory access with z= command
Problem:    Illegal memory access with z= command. (Dominique Pelle)
Solution:   Avoid case folded text to be longer than the original text.  Use
            MB_PTR2LEN() instead of MB_BYTE2LEN().
2017-04-22 23:49:52 +02:00
94be619e30 patch 8.0.0581: moving folded text is sometimes not correct
Problem:    Moving folded text is sometimes not correct.
Solution:   Bail out when "move_end" is zero. (Matthew Malcomson)
2017-04-22 22:40:11 +02:00
f1d21c8cc8 patch 8.0.0580: cannot set the valid flag with setqflist()
Problem:    Cannot set the valid flag with setqflist().
Solution:   Add the "valid" argument. (Yegappan Lakshmanan, closes #1642)
2017-04-22 21:20:46 +02:00
9b77016545 patch 8.0.0579: duplicate test case for quickfix
Problem:    Duplicate test case for quickfix.
Solution:   Remove the function. (Yegappan Lakshmanan)
2017-04-22 15:42:53 +02:00
7a85b0f028 patch 8.0.0578: :simalt on MS-Windows does not work properly
Problem:    :simalt on MS-Windows does not work properly.
Solution:   Put something in the typeahead buffer. (Christian Brabandt)
2017-04-22 15:17:40 +02:00
97db5541a6 patch 8.0.0577: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (John Marriott)
Solution:   Initialize "indent".
2017-04-21 23:18:26 +02:00
1d4be82c7d patch 8.0.0576: can't build when configure choses "install-sh"
Problem:    Can't build when configure choses "install-sh". (Daniel Hahler)
Solution:   Always use install-sh.  Fix remaining use of mkinstalldirs.
            (closes #1647)
2017-04-21 23:00:02 +02:00
a701b3b6f0 patch 8.0.0575: using freed memory when resetting 'indentexpr'
Problem:    Using freed memory when resetting 'indentexpr' while evaluating
            it. (Dominique Pelle)
Solution:   Make a copy of 'indentexpr'.
2017-04-20 22:57:27 +02:00
99895eac1c patch 8.0.0574: get only one quickfix list after :caddbuf
Problem:    Get only one quickfix list after :caddbuf.
Solution:   Reset qf_multiline. (Yegappan Lakshmanan)
2017-04-20 22:44:47 +02:00
91b6e4591a patch 8.0.0573: running parallel make after distclean fails
Problem:    Running parallel make after distclean fails. (Manuel Ortega)
Solution:   Instead of using targets "scratch config myself" use "reconfig".
2017-04-20 22:32:24 +02:00
6de5e12601 patch 8.0.0572: building the command table requires Perl
Problem:    Building the command table requires Perl.
Solution:   Use a Vim script solution. (Dominique Pelle, closes #1641)
2017-04-20 21:55:44 +02:00
a364cdb648 patch 8.0.0571: negative line number when using :z^ in an empty buffer
Problem:    The cursor line number becomes negative when using :z^ in an empty
            buffer. (neovim #6557)
Solution:   Correct the line number.  Also reset the column.
2017-04-20 21:12:30 +02:00
c03944151f patch 8.0.0570: can't run make with several jobs
Problem:    Can't run make with several jobs, creating directories has a race
            condition.
Solution:   Use the MKDIR_P autoconf mechanism. (Eric N. Vander Weele,
            closes #1639)
2017-04-20 20:20:23 +02:00
62cf09b5dc patch 8.0.0569: bracketed paste is still enabled in a shell command
Problem:    Bracketed paste is still enabled when executing a shell command.
            (Michael Smith)
Solution:   Disable brackted paste when going into cooked mode. (closes #1638)
2017-04-20 19:44:09 +02:00
60402d68da patch 8.0.0568: 1gd may hang
Problem:    "1gd" may hang.
Solution:   Don't get stuck in one position. (Christian Brabandt, closes #1643)
2017-04-20 18:54:50 +02:00
fc8f1118e7 patch 8.0.0567: call for requesting color and ambiwidth is too early
Problem:    Call for requesting color and ambiwidth is too early. (Hirohito
            Higashi)
Solution:   Move the call down to below resetting "starting".
2017-04-18 18:51:35 +02:00
43d1ac6e81 patch 8.0.0566: setting nocompatible for the tiny version moves the cursor
Problem:    Setting nocompatible for the tiny version moves the cursor.
Solution:   Use another trick to skip commands when the +eval feature is
            present. (Christian Brabandt, closes #1630)
2017-04-15 15:37:25 +02:00
31bdd13c33 patch 8.0.0565: using freed memory in :caddbuf
Problem:    Using freed memory in :caddbuf after clearing quickfix list.
            (Dominique Pelle)
Solution:   Set qf_last to NULL.
2017-04-15 15:22:52 +02:00
39170e2d97 patch 8.0.0564: cannot detect Bazel BUILD files on some systems
Problem:    Cannot detect Bazel BUILD files on some systems.
Solution:   Check for BUILD after script checks. (Issue #1340)
2017-04-15 14:36:07 +02:00
9f92886277 patch 8.0.0563: crash when getting the window position in tmux
Problem:    Crash when getting the window position in tmux. (Marvin Schmidt)
Solution:   Add t_GP to the list of terminal options. (closes #1627)
2017-04-11 22:44:05 +02:00
ea588154d0 patch 8.0.0562: not enough test coverage for syntax commands
Problem:    Not enough test coverage for syntax commands.
Solution:   Add a few more tests. (Dominique Pelle, closes #1624)
2017-04-10 22:45:30 +02:00
478af67dd6 patch 8.0.0561: undefined behavior when using backslash after empty line
Problem:    Undefined behavior when using backslash after empty line.
Solution:   Check for an empty line. (Dominique Pelle, closes #1631)
2017-04-10 22:22:42 +02:00
451a4a1cb7 patch 8.0.0560: :windo allows for ! but it's not supported
Problem:    :windo allows for ! but it's not supported.
Solution:   Disallow passing !. (Hirohito Higashi)
2017-04-10 21:46:38 +02:00
f803a76978 patch 8.0.0559: setting ttytype to xxx does not always fail
Problem:    Setting ttytype to xxx does not always fail as expected. (Marvin
            Schmidt)
Solution:   Catch both possible errors. (closes #1601)
2017-04-09 22:54:13 +02:00
cd5c8f8250 Update runtime files. 2017-04-09 20:11:58 +02:00
f8ec998613 patch 8.0.0558: :ownsyntax is not tested
Problem:    The :ownsyntax command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #1622)
2017-04-09 15:41:31 +02:00
59053e1d9f patch 8.0.0557: GTK: using static gravities is not useful
Problem:    GTK: using static gravities is not useful.
Solution:   Remove setting static gravities. (Kazunobu Kuriyama)
2017-04-09 15:27:09 +02:00
7860bac57b patch 8.0.0556: getting window position fails if GUI and term possible
Problem:    Getting the window position fails if both the GUI and term
            code is built in.
Solution:   Return after getting the GUI window position. (Kazunobu Kuriyama)
2017-04-09 15:03:15 +02:00
d2381a2cad patch 8.0.0555: toupper/tolower test fails on OSX without Darwin
Problem:    Toupper/tolower test fails on OSX without Darwin.
Solution:   Skip that part of the test also for OSX. (Kazunobu Kuriyama)
2017-04-09 14:58:15 +02:00
1cc482069a patch 8.0.0554: toupper and tolower don't work properly for Turkish
Problem:    Toupper and tolower don't work properly for Turkish when 'casemap'
            contains "keepascii". (Bjorn Linse)
Solution:   When 'casemap' contains "keepascii" use ASCII toupper/tolower.
2017-04-09 13:41:59 +02:00
9f4de1f543 patch 8.0.0553: toupper/tolower test fails on Mac
Problem:    Toupper/tolower test with Turkish locale fails on Mac.
Solution:   Skip the test on Mac.
2017-04-08 19:39:43 +02:00
3317d5ebbe patch 8.0.0552: toupper and tolower don't work properly for Turkish
Problem:    Toupper and tolower don't work properly for Turkish when 'casemap'
            is empty. (Bjorn Linse)
Solution:   Check the 'casemap' options when deciding how to upper/lower case.
2017-04-08 19:12:06 +02:00
d34f9b1155 patch 8.0.0551: the typeahead buffer is reallocated too often
Problem:    The typeahead buffer is reallocated too often.
Solution:   Re-use the existing buffer if possible.
2017-04-08 18:41:13 +02:00
9585a1655b patch 8.0.0550: cannot parse some etags format tags file
Problem:    Some etags format tags file use 0x01, breaking the parsing.
Solution:   Use 0x02 for TAG_SEP. (James McCoy, closes #1614)
2017-04-07 20:30:29 +02:00
395b6bab33 patch 8.0.0549: no test for the 8g8 command
Problem:    No test for the 8g8 command.
Solution:   Add a test. (Dominique Pelle, closes #1615)
2017-04-07 20:09:51 +02:00
d4863aa99e patch 8.0.0548: saving the redo buffer only works one time
Problem:    Saving the redo buffer only works one time, resulting in the "."
            command not working well for a function call inside another
            function call. (Ingo Karkat)
Solution:   Save the redo buffer at every user function call. (closes #1619)
2017-04-07 19:50:12 +02:00
52604f2454 patch 8.0.0547: extra line break in verbosefile
Problem:    Extra line break in verbosefile when using ":echomsg". (Ingo
            Karkat)
Solution:   Don't call msg_start(). (closes #1618)
2017-04-07 16:17:39 +02:00
3bab93998d patch 8.0.0546: swap file exists briefly when opening the command window
Problem:    Swap file exists briefly when opening the command window.
Solution:   Set the noswapfile command modifier before splitting the window.
            (James McCoy, closes #1620)
2017-04-07 15:42:25 +02:00
15ecbd6f3d patch 8.0.0545: edit test may fail on some systems
Problem:    Edit test may fail on some systems.
Solution:   If creating a directory with a very long path fails, bail out.
2017-04-07 14:10:48 +02:00
866c688610 patch 8.0.0544: cppcheck warnings
Problem:    Cppcheck warnings.
Solution:   Use temp variable. Change NUL to NULL. Swap conditions. (Dominique
            Pelle)
2017-04-07 14:02:01 +02:00
ba6ec18297 patch 8.0.0543: test_edit causes older xfce4-terminal to close
Problem:    Test_edit causes older xfce4-terminal to close. (Dominique Pelle)
Solution:   Reduce number of columns to 2000.  Try to restore the window
            position.
2017-04-04 22:41:10 +02:00
a1d5fa65bc patch 8.0.0542: getpos() can return a negative line number
Problem:    getpos() can return a negative line number. (haya14busa)
Solution:   Handle a zero topline and botline. (closes #1613)
2017-04-03 22:02:55 +02:00
04000560ca patch 8.0.0541: compiler warning on MS-Windows
Problem:    Compiler warning on MS-Windows.
Solution:   Add a type cast. (Mike Williams)
2017-04-03 21:35:42 +02:00
a604429529 patch 8.0.0540: building unit tests fails
Problem:    Building unit tests fails.
Solution:   Move params outside of #ifdef.
2017-04-02 18:19:53 +02:00
08f88b139d patch 8.0.0539: startup test fails on Mac
Problem:    Startup test fails on Mac.
Solution:   Use another term name, "unknown" is known. Avoid a 2 second delay.
2017-04-02 17:21:16 +02:00
85045a73db patch 8.0.0538: no test for falling back to default term value
Problem:    No test for falling back to default term value.
Solution:   Add a test.
2017-04-02 16:54:09 +02:00
fa0ad0bb0b patch 8.0.0537: illegal memory access with :z and large count
Problem:    Illegal memory access with :z and large count.
Solution:   Check for number overflow, using long instead of int. (Dominique
            Pelle, closes #1612)
2017-04-02 15:45:17 +02:00
69f40be645 patch 8.0.0536: quickfix window not updated when freeing quickfix stack
Problem:    Quickfix window not updated when freeing quickfix stack.
Solution:   Update the quickfix window. (Yegappan Lakshmanan)
2017-04-02 15:15:49 +02:00
6914c64ee5 patch 8.0.0535: memory leak when exiting from within a user function
Problem:    Memory leak when exiting from within a user function.
Solution:   Clear the function call stack on exit.
2017-04-01 21:21:30 +02:00
33ccb24cf7 patch 8.0.0534: defaults.vim does not work well with tiny features
Problem:    Defaults.vim does not work well with tiny features. (crd477)
Solution:   When the +eval feature is not available always reset 'compatible'.
2017-04-01 16:59:29 +02:00
878c263a48 patch 8.0.0533: abbreviation doesn't work after backspacing newline
Problem:    Abbreviation doesn't work after backspacing newline. (Hkonrk)
Solution:   Set the insert start column. (closes #1609)
2017-04-01 15:15:52 +02:00
c77d675747 patch 8.0.0532: test with long directory name fails on Mac
Problem:    Test with long directory name fails on Mac.
Solution:   Skip the test on Mac systems.
2017-04-01 14:13:14 +02:00
9b81079ddd patch 8.0.0531: test with long directory name fails on non-unix systems
Problem:    Test with long directory name fails on non-unix systems.
Solution:   Skip the test on non-unix systems.
2017-03-31 23:32:53 +02:00
658a3a2caf patch 8.0.0530: buffer overflow when 'columns' is very big
Problem:    Buffer overflow when 'columns' is very big. (Nikolai Pavlov)
Solution:   Correctly compute where to truncate.  Fix translation.
            (closes #1600)
2017-03-31 22:27:12 +02:00
13489b9c41 patch 8.0.0529: line in test commented out
Problem:    Line in test commented out.
Solution:   Uncomment the lines for character classes that were failing before
            8.0.0519. (Dominique Pelle, closes #1599)
2017-03-30 22:20:29 +02:00
ef8eb08978 patch 8.0.0528: highlight wrong text when 'wim' includes "longest"
Problem:    When 'wildmenu' is set and 'wildmode' has "longest" then the first
            file name is highlighted, even though the text shows the longest
            match.
Solution:   Do not highlight the first match. (LemonBoy, closes #1602)
2017-03-30 22:04:55 +02:00
ce5c274201 patch 8.0.0527: leftover file from RISC OS
Problem:    RISC OS support was removed long ago, but one file is still
            included.
Solution:   Delete the file. (Thomas Dziedzic, closes #1603)
2017-03-30 21:51:31 +02:00
85325f839a patch 8.0.0526: Coverity complains about possible negative value
Problem:    Coverity complains about possible negative value.
Solution:   Check return value of ftell() not to be negative.
2017-03-30 21:18:45 +02:00
a33ddbbd04 patch 8.0.0525: completion for user command argument not tested
Solution:   Completion for user command argument not tested.
Problem:    Add a test.
2017-03-29 21:30:04 +02:00
8da1e6cedf patch 8.0.0524: folds messed up
Problem:    Folds are messed up when 'encodin' is "utf-8".
Solution:   Also set the fold character when it's not multi-byte.
2017-03-29 20:38:59 +02:00
bf3d58073f patch 8.0.0523: dv} deletes part of a multi-byte character.
Problem:    dv} deletes part of a multi-byte character. (Urtica Dioica)
Solution:   Include the whole character.
2017-03-29 19:48:11 +02:00
3fcfa35f82 patch 8.0.0522: Win32: when 'clipboard' is "unnamed" yyp does not work
Problem:    MS-Windows: when 'clipboard' is "unnamed" yyp does not work in a
            :global command.
Solution:   When setting the clipboard was postponed, do not clear the
            register.
2017-03-29 19:20:41 +02:00
99a6e8dd82 patch 8.0.0521: GtkForm handling is outdated
Problem:    GtkForm handling is outdated.
Solution:   Get rid of event filter functions.  Get rid of GtkForm.width and
            .height.  Eliminate gtk_widget_size_request() calls. (Kazunobu
            Kuriyama)
2017-03-29 18:07:40 +02:00
ace95989ed patch 8.0.0520: using a function pointer while the function is known
Problem:    Using a function pointer instead of the actual function, which we
            know.
Solution:   Change mb_ functions to utf_ functions when already checked for
            Unicode. (Dominique Pelle, closes #1582)
2017-03-29 17:30:27 +02:00
0c078fc7db patch 8.0.0519: character classes are not well tested
Problem:    Character classes are not well tested. They can differ between
            platforms.
Solution:   Add tests.  In the documentation make clear which classes depend
            on what library function.  Only use :cntrl: and :graph: for ASCII.
            (Kazunobu Kuriyama, Dominique Pelle, closes #1560)
            Update the documentation.
2017-03-29 15:31:20 +02:00
c6cd8409c2 patch 8.0.0518: bad fold text when a multi-byte char has a zero byte
Problem:    Storing a zero byte from a multi-byte character causes fold text
            to show up wrong.
Solution:   Avoid putting zero in ScreenLines. (Christian Brabandt,
            closes #1567)
2017-03-29 14:40:47 +02:00
b6fa30ccc3 patch 8.0.0517: there is no way to remove quickfix lists
Problem:    There is no way to remove quickfix lists (for testing).
Solution:   Add the 'f' action to setqflist(). Add tests. (Yegappan
            Lakshmanan)
2017-03-29 14:19:25 +02:00
e0720cbf63 Update runtime files. 2017-03-29 13:48:40 +02:00
b1e04fca37 patch 8.0.0516: a large count on a normal command causes trouble
Problem:    A large count on a normal command causes trouble. (Dominique
            Pelle)
Solution:   Make "opcount" long.
2017-03-29 13:08:35 +02:00
d5d37537d1 patch 8.0.0515: ml_get errors in silent Ex mode
Problem:    ml_get errors in silent Ex mode. (Dominique Pelle)
Solution:   Clear valid flags when setting the cursor.  Set the topline when
            not in full screen mode.
2017-03-27 23:02:07 +02:00
980128c369 patch 8.0.0514: script for creating cmdidxs can be improved
Problem:    Script for creating cmdidxs can be improved.
Solution:   Count skipped lines instead of collecting the lines.  Add "const".
            (Dominique Pelle, closes #1594)
2017-03-26 21:46:28 +02:00
c96272e30e patch 8.0.0513: getting name of cleared highlight group is wrong
Problem:    Getting name of cleared highlight group is wrong. (Matt Wozniski)
Solution:   Only skip over cleared names for completion. (closes #1592)
            Also fix that a cleared group causes duplicate completions.
2017-03-26 13:50:09 +02:00
1572e30607 patch 8.0.0512: check for available characters takes too long
Problem:    Check for available characters takes too long.
Solution:   Only check did_start_blocking if wtime is negative. (Daisuke
            Suzuki, closes #1591)
2017-03-25 20:16:28 +01:00
a683ec44c3 patch 8.0.0511: message for skipping client-server tests is unclear
Problem:    Menuage for skipping client-server tests is unclear.
Solution:   Be more specific about what's missing (Hirohito Higashi, Kazunobu
            Kuriyama)
2017-03-25 20:14:34 +01:00
8a0141d4e7 patch 8.0.0510: typo in link to codecov.io results
Problem:    Typo in link to codecov.io results.
Solution:   Remove duplicate https:.
2017-03-25 18:10:31 +01:00
dd00851e07 patch 8.0.0509: no link to codecov.io results
Problem:    No link to codecov.io results.
Solution:   Add a badge to the readme file.
2017-03-25 18:04:32 +01:00
d722fd74d8 patch 8.0.0508: Coveralls no longer shows per-file coverage
Problem:    Coveralls no longer shows per-file coverage.
Solution:   Add coverage from codecov.io. (Christian Brabandt)
2017-03-25 17:46:59 +01:00
a2845b8f5a patch 8.0.0507: client-server tests fail when $DISPLAY is not set
Problem:    Client-server tests fail when $DISPLAY is not set.
Solution:   Check for E240 before running the test.
2017-03-25 15:20:06 +01:00
6c0c1e8052 patch 8.0.0506: can't build with ANSI C
Problem:    Can't build with ANSI C.
Solution:   Move declarations to start of block.
2017-03-25 15:07:43 +01:00
ba6ad17378 patch 8.0.0505: failed window split for :stag not handled
Problem:    Failed window split for :stag not handled. (Coverity CID 99204)
Solution:   If the split fails skip to the end. (bstaletic, closes #1577)
2017-03-25 15:03:45 +01:00
e5e0fbcd42 patch 8.0.0504: looking up an Ex command is a bit slow
Problem:    Looking up an Ex command is a bit slow.
Solution:   Instead of just using the first letter, also use the second letter
            to skip ahead in the list of commands. Generate the table with a
            Perl script. (Dominique Pelle, closes #1589)
2017-03-25 14:51:01 +01:00
9d20ce6970 patch 8.0.0503: endless loop in updating folds with 32 bit ints
Problem:    Endless loop in updating folds with 32 bit ints.
Solution:   Subtract from LHS instead of add to the RHS. (Matthew Malcomson)
2017-03-23 21:53:35 +01:00
a37ffaa5e0 patch 8.0.0502: Coverity complains about possible NULL pointer
Problem:    Coverity complains about possible NULL pointer.
Solution:   Add an assert(), let's see if this works on all systems.
2017-03-21 21:58:00 +01:00
b2964f2570 patch 8.0.0501: on MS-Windows ":!start" does not work as expected
Problem:    On MS-Windows ":!start" does not work as expected.
Solution:   When creating a process fails try passing the argument to
            ShellExecute().  (Katsuya Hino, closes #1570)
2017-03-21 19:29:26 +01:00
3c2881dc11 Update runtime files. Add Rust support. 2017-03-21 19:18:29 +01:00
4889ad7c6c patch 8.0.0500: quotestar test is still a bit flaky
Problem:    Quotestar test is still a bit flaky.
Solution:   Add a slower check for v:version.
2017-03-21 18:02:41 +01:00
c6aafbaf3e patch 8.0.0499: taglist() does not prioritize tags for a buffer
Problem:    taglist() does not prioritize tags for a buffer.
Solution:   Add an optional buffer argument. (Duncan McDougall, closes #1194)
2017-03-21 17:09:10 +01:00
e94260f358 patch 8.0.0498: two autocmd tests are skipped on MS-Windows
Problem:    Two autocmd tests are skipped on MS-Windows.
Solution:   Make the test pass on MS-Windows. Write the messages in a file
            instead of getting the output of system().
2017-03-21 15:50:12 +01:00
1413 changed files with 210536 additions and 92099 deletions

2
.gitignore vendored
View File

@ -38,6 +38,7 @@ src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
# Borland C++
@ -79,6 +80,7 @@ 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

4
.lgtm.yml Normal file
View File

@ -0,0 +1,4 @@
# Format of this file: https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
path_classifiers:
documentation:
- runtime/tutor/tutor*

View File

@ -1,4 +1,5 @@
language: c
dist: trusty
os:
- osx
@ -9,54 +10,58 @@ compiler:
- gcc
env:
- BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
- BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
- BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
# Mac OSX build
- BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
# 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"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
- &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'"
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: BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
env: *tiny
- os: osx
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
env: *normal
- os: osx
env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
env: *unittests
- os: osx
env: BUILD=yes TEST=scripttests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
env: *small
- os: osx
env: 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"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
- os: linux
compiler: gcc
env: 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"
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
env: *linux-huge
- os: osx
env: *asan
- os: linux
compiler: clang
env: BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
env: *asan
- os: linux
compiler: clang
env: BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
env: *unittests
- os: linux
env: BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
compiler: clang
env: *small
- os: linux
env: *osx-huge
branches:
except:
@ -66,38 +71,101 @@ addons:
apt:
packages:
- autoconf
- clang
- lcov
- libperl-dev
- python-dev
- python3-dev
- liblua5.1-0-dev
- lua5.1
- liblua5.2-dev
- lua5.2
- ruby-dev
- tcl-dev
- cscope
- libgtk2.0-dev
homebrew:
packages:
- lua
update: true
before_install:
- 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 brew install lua; export LUA_PREFIX=/usr/local; fi
- 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
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
before_script:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0 && sh -e /etc/init.d/xvfb start && sleep 3; fi
# 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)
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; fi
- if [ -n "$ASAN_OPTIONS" ]; then export PATH=/usr/lib/llvm-$(clang -v 2>&1 | sed -n 's/.*version \([1-9]\.[0-9][0-9]*\).*/\1/p')/bin:$PATH; fi
- make $SHADOWOPT $TEST
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do cat "$log"; err=1; done; fi
- if [ -n "$err" ]; then exit 1; fi
- |
if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
make -C src autoconf
fi
- |
if [[ -n "${SHADOWOPT}" ]]; then
make -C src shadow
fi
- |
(
cd "${SRCDIR}" \
&& ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
) && if [[ "${BUILD}" = "yes" ]]; then
make ${SHADOWOPT} -j${NPROC}
fi
# 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
fi
after_success:
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
- |
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
# vim:set sts=2 sw=2 tw=0 et:

View File

@ -51,4 +51,24 @@ Look in the header of the file for the name and email address.
The maintainer will take care of issues and send updates to Bram for
distribution with Vim.
If the maintainer does not react, contact the vim-dev maillist.
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:
* Messages in Vim, see [src/po/README.txt][1]
* 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]
The help files can be translated and made available separately.
See https://www.vim.org/translations.php for examples.
[1]: https://github.com/vim/vim/blob/master/src/po/README.txt
[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

163
Filelist
View File

@ -1,17 +1,23 @@
# List of distributed Vim files.
# Used by Makefile and upload.aap.
# Used by Makefile.
# source files for all source archives
SRC_ALL = \
.hgignore \
.lgtm.yml \
.travis.yml \
appveyor.yml \
src/appveyor.bat \
ci/appveyor.bat \
src/Make_all.mak \
src/README.txt \
src/alloc.h \
src/arabic.c \
src/arabic.h \
src/ascii.h \
src/autocmd.c \
src/beval.c \
src/beval.h \
src/blob.c \
src/blowfish.c \
src/buffer.c \
src/channel.c \
@ -24,25 +30,25 @@ SRC_ALL = \
src/edit.c \
src/eval.c \
src/evalfunc.c \
src/ex_cmdidxs.h \
src/ex_cmds.c \
src/ex_cmds.h \
src/ex_cmds2.c \
src/ex_docmd.c \
src/ex_eval.c \
src/ex_getln.c \
src/farsi.c \
src/farsi.h \
src/feature.h \
src/fileio.c \
src/findfile.c \
src/fold.c \
src/getchar.c \
src/globals.h \
src/gui.c \
src/gui.h \
src/gui_beval.c \
src/gui_beval.h \
src/hardcopy.c \
src/hashtab.c \
src/indent.c \
src/json.c \
src/json_test.c \
src/kword_test.c \
@ -77,15 +83,18 @@ SRC_ALL = \
src/screen.c \
src/search.c \
src/sha256.c \
src/structs.h \
src/sign.c \
src/spell.c \
src/spell.h \
src/spellfile.c \
src/structs.h \
src/syntax.c \
src/tag.c \
src/term.c \
src/terminal.c \
src/term.h \
src/termlib.c \
src/textprop.c \
src/ui.c \
src/undo.c \
src/userfunc.c \
@ -96,16 +105,16 @@ SRC_ALL = \
src/window.c \
src/tee/tee.c \
src/xxd/xxd.c \
src/main.aap \
src/testdir/gen_opt_test.vim \
src/testdir/main.aap \
src/testdir/README.txt \
src/testdir/Make_all.mak \
src/testdir/*.in \
src/testdir/*.py \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/shared.vim \
src/testdir/screendump.vim \
src/testdir/view_util.vim \
src/testdir/setup.vim \
src/testdir/gui_init.vim \
@ -115,7 +124,6 @@ SRC_ALL = \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
src/testdir/test49.vim \
src/testdir/test60.vim \
src/testdir/test83-tags? \
src/testdir/test77a.com \
src/testdir/test_*.vim \
@ -131,9 +139,17 @@ SRC_ALL = \
src/testdir/pyxfile/*.py \
src/testdir/bench*.in \
src/testdir/bench*.vim \
src/testdir/dumps/*.dump \
src/testdir/samples/*.txt \
src/testdir/samples/test000 \
src/testdir/if_ver*.vim \
src/testdir/color_ramp.vim \
src/proto.h \
src/protodef.h \
src/proto/arabic.pro \
src/proto/autocmd.pro \
src/proto/beval.pro \
src/proto/blob.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/channel.pro \
@ -151,14 +167,15 @@ SRC_ALL = \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/farsi.pro \
src/proto/fileio.pro \
src/proto/findfile.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
src/proto/gui.pro \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/indent.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
@ -181,18 +198,107 @@ SRC_ALL = \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/sha256.pro \
src/proto/sign.pro \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
src/proto/term.pro \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/textprop.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/winclip.pro \
src/proto/window.pro \
src/libvterm/.bzrignore \
src/libvterm/.gitignore \
src/libvterm/LICENSE \
src/libvterm/Makefile \
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 \
src/libvterm/include/vterm_keycodes.h \
src/libvterm/src/encoding.c \
src/libvterm/src/encoding/DECdrawing.inc \
src/libvterm/src/encoding/DECdrawing.tbl \
src/libvterm/src/encoding/uk.inc \
src/libvterm/src/encoding/uk.tbl \
src/libvterm/src/keyboard.c \
src/libvterm/src/mouse.c \
src/libvterm/src/parser.c \
src/libvterm/src/pen.c \
src/libvterm/src/rect.h \
src/libvterm/src/termscreen.c \
src/libvterm/src/state.c \
src/libvterm/src/unicode.c \
src/libvterm/src/utf8.h \
src/libvterm/src/vterm.c \
src/libvterm/src/vterm_internal.h \
src/libvterm/t/02parser.test \
src/libvterm/t/03encoding_utf8.test \
src/libvterm/t/10state_putglyph.test \
src/libvterm/t/11state_movecursor.test \
src/libvterm/t/12state_scroll.test \
src/libvterm/t/13state_edit.test \
src/libvterm/t/14state_encoding.test \
src/libvterm/t/15state_mode.test \
src/libvterm/t/16state_resize.test \
src/libvterm/t/17state_mouse.test \
src/libvterm/t/18state_termprops.test \
src/libvterm/t/20state_wrapping.test \
src/libvterm/t/21state_tabstops.test \
src/libvterm/t/22state_save.test \
src/libvterm/t/25state_input.test \
src/libvterm/t/26state_query.test \
src/libvterm/t/27state_reset.test \
src/libvterm/t/28state_dbl_wh.test \
src/libvterm/t/29state_fallback.test \
src/libvterm/t/30pen.test \
src/libvterm/t/40screen_ascii.test \
src/libvterm/t/41screen_unicode.test \
src/libvterm/t/42screen_damage.test \
src/libvterm/t/43screen_resize.test \
src/libvterm/t/44screen_pen.test \
src/libvterm/t/45screen_protect.test \
src/libvterm/t/46screen_extent.test \
src/libvterm/t/47screen_dbl_wh.test \
src/libvterm/t/48screen_termprops.test \
src/libvterm/t/90vttest_01-movement-1.test \
src/libvterm/t/90vttest_01-movement-2.test \
src/libvterm/t/90vttest_01-movement-3.test \
src/libvterm/t/90vttest_01-movement-4.test \
src/libvterm/t/90vttest_02-screen-1.test \
src/libvterm/t/90vttest_02-screen-2.test \
src/libvterm/t/90vttest_02-screen-3.test \
src/libvterm/t/90vttest_02-screen-4.test \
src/libvterm/t/92lp1640917.test \
src/libvterm/t/harness.c \
src/libvterm/t/run-test.pl \
src/xdiff/COPYING \
src/xdiff/README.txt \
src/xdiff/xdiff.h \
src/xdiff/xdiffi.c \
src/xdiff/xdiffi.h \
src/xdiff/xemit.c \
src/xdiff/xemit.h \
src/xdiff/xhistogram.c \
src/xdiff/xinclude.h \
src/xdiff/xmacros.h \
src/xdiff/xpatience.c \
src/xdiff/xprepare.c \
src/xdiff/xprepare.h \
src/xdiff/xtypes.h \
src/xdiff/xutils.c \
src/xdiff/xutils.h \
# source files for Unix only
@ -209,12 +315,12 @@ SRC_UNIX = \
src/INSTALLx.txt \
src/Makefile \
src/auto/configure \
src/config.aap.in \
src/config.h.in \
src/config.mk.dist \
src/config.mk.in \
src/configure \
src/configure.ac \
src/create_cmdidxs.vim \
src/gui_at_fs.c \
src/gui_at_sb.c \
src/gui_at_sb.h \
@ -233,12 +339,10 @@ SRC_UNIX = \
src/gui_x11_pm.h \
src/hangulin.c \
src/if_xcmdsrv.c \
src/integration.c \
src/integration.h \
src/link.sh \
src/installman.sh \
src/installml.sh \
src/mkinstalldirs \
src/install-sh \
src/os_unix.c \
src/os_unix.h \
src/os_unixx.h \
@ -257,7 +361,6 @@ SRC_UNIX = \
src/proto/if_xcmdsrv.pro \
src/proto/os_unix.pro \
src/proto/pty.pro \
src/proto/workshop.pro \
src/pty.c \
src/testdir/Makefile \
src/testdir/unix.vim \
@ -267,10 +370,6 @@ SRC_UNIX = \
src/vimtutor \
src/gvimtutor \
src/which.sh \
src/workshop.c \
src/workshop.h \
src/wsdebug.c \
src/wsdebug.h \
src/tee/Makefile \
src/xxd/Makefile \
@ -329,6 +428,9 @@ SRC_DOS = \
src/msvcsetup.bat \
src/msvc2008.bat \
src/msvc2010.bat \
src/msvc2015.bat \
src/msys32.bat \
src/msys64.bat \
src/dimm.idl \
src/dlldata.c \
src/dosinst.c \
@ -374,6 +476,7 @@ SRC_DOS = \
nsis/gvim.nsi \
nsis/gvim_version.nsh \
nsis/README.txt \
nsis/lang/*.nsi \
uninstal.txt \
src/VisVim/Commands.cpp \
src/VisVim/Commands.h \
@ -412,8 +515,7 @@ SRC_DOS_BIN = \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
nsis/icons/*.bmp \
nsis/icons/*.ico \
nsis/icons.zip \
# source files for Amiga, DOS, etc. (also in the extra archive)
SRC_AMI_DOS = \
@ -503,6 +605,7 @@ RT_ALL = \
runtime/doc/*.txt \
runtime/doc/Makefile \
runtime/doc/doctags.c \
runtime/doc/test_urls.vim \
runtime/doc/vim.1 \
runtime/doc/evim.1 \
runtime/doc/vimdiff.1 \
@ -524,7 +627,6 @@ RT_ALL = \
runtime/macros/matchit.vim \
runtime/macros/maze/README.txt \
runtime/macros/maze/[mM]akefile \
runtime/macros/maze/main.aap \
runtime/macros/maze/maze.c \
runtime/macros/maze/maze_5.78 \
runtime/macros/maze/maze_mac \
@ -552,6 +654,7 @@ RT_ALL = \
runtime/tutor/tutor \
runtime/tutor/tutor.vim \
runtime/vimrc_example.vim \
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
@ -560,8 +663,10 @@ RT_ALL = \
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
runtime/pack/dist/opt/matchit/doc/tags \
runtime/pack/dist/opt/matchit/autoload/*.vim \
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
# runtime files for all distributions without CR-NL translation
RT_ALL_BIN = \
@ -579,13 +684,20 @@ RT_SCRIPTS = \
runtime/makemenu.vim \
runtime/autoload/*.vim \
runtime/autoload/README.txt \
runtime/autoload/dist/*.vim \
runtime/autoload/xml/*.vim \
runtime/colors/*.vim \
runtime/colors/README.txt \
runtime/colors/tools/*.vim \
runtime/compiler/*.vim \
runtime/compiler/README.txt \
runtime/indent/*.vim \
runtime/indent/README.txt \
runtime/indent/Makefile \
runtime/indent/testdir/README.txt \
runtime/indent/testdir/*.vim \
runtime/indent/testdir/*.in \
runtime/indent/testdir/*.ok \
runtime/ftplugin/*.vim \
runtime/ftplugin/logtalk.dict \
runtime/ftplugin/README.txt \
@ -619,6 +731,7 @@ RT_NO_UNIX = \
# runtime for Amiga (also in the extra archive)
RT_AMI_DOS = \
runtime/doc/evim.man \
runtime/doc/vim.man \
runtime/doc/vimdiff.man \
runtime/doc/vimtutor.man \
@ -721,10 +834,7 @@ EXTRA = \
$(SRC_EXTRA) \
README_extra.txt \
src/VisVim/VisVim.dll \
farsi/README.txt \
farsi/fonts/*/far-* \
runtime/vimlogo.xpm \
src/swis.s \
src/tee/Makefile \
src/tee/Make_mvc.mak \
src/tee/tee.c \
@ -760,6 +870,8 @@ IN_README_DIR = \
# generic language files
LANG_GEN = \
runtime/doc/*-da.1 \
runtime/doc/*-da.UTF-8.1 \
runtime/doc/*-de.1 \
runtime/doc/*-de.UTF-8.1 \
runtime/doc/*-fr.1 \
@ -820,6 +932,7 @@ LANG_SRC = \
src/po/check.vim \
src/po/cleanup.vim \
src/po/Makefile \
src/po/Make_all.mak \
src/po/Make_cyg.mak \
src/po/Make_ming.mak \
src/po/Make_mvc.mak \

View File

@ -32,14 +32,26 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests unittests testclean clean distclean:
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests test_libvterm unittests testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@# When the target is "test" also run the indent tests.
@if test "$@" = "test"; then \
$(MAKE) indenttest; \
fi
# Executable used for running the indent tests.
VIM_FOR_INDENTTEST = ../../src/vim
indenttest:
cd runtime/indent && \
$(MAKE) clean VIM="$(VIM_FOR_INDENTTEST)" && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
#########################################################################
# 2. Creating the various distribution files.
@ -68,7 +80,7 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 8
MINOR = 0
MINOR = 1
# CHECKLIST for creating a new version:
#
@ -120,28 +132,28 @@ MINOR = 0
#
# MS-Windows:
# - Run make on Unix to update the ".mo" files.
# - Get libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
# https://mlocati.github.io/gettext-iconv-windows/ .
# Use the "shared-32.zip file and extract the archive to get the files.
# Put them in the top directory, "make dosrt" uses them.
# Put them in the gettext32 directory, "make dosrt" uses them.
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
# https://mlocati.github.io/gettext-iconv-windows/ .
# Use the "shared-64.zip file and extract the archive to get the files.
# Put them in the gettext64 directory, "make dosrt" uses them.
# - > 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.
# Win32 console version build:
# - Set environment for Visual C++ 2008, e.g.:
# > src/msvc2008.bat
# Or:
# > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
# paths when necessary).
# For Windows 98/ME the 2003 version is required, but then the executable
# won't work on Windows 7 and 64 bit systems.
# - > cd src
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:
# > cd src
# > msvc2015.bat
# - Build the console binary:
# > nmake -f Make_mvc.mak
# - Run the tests:
# - Run the tests and check the ouput:
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak test
# - check the output.
# - Rename (using ../tools/rename.bat):
# vim.exe to vimw32.exe
# tee/tee.exe to teew32.exe
@ -152,19 +164,18 @@ MINOR = 0
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
# - Run the tests:
# - Run the tests and check the output:
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# - check the output.
# - 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.
# 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.
# - Build:
# > cd src
# Adjust bigvim.bat to match the version of each interface you want.
# > bigvim.bat
# - Run the tests:
# > nmake -f Make_mvc.mak testclean
@ -188,11 +199,13 @@ MINOR = 0
# gvimext64.dll in src/GvimExt
# VisVim.dll in src/VisVim
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
# It is part of vim72.zip as vim72/gvimext.dll.
# 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.
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
# version).
# version). Also put winpty32.dll and winpty-agent.exe there.
# - go to ../nsis and do:
# > unzip icons.zip
# > makensis gvim.nsi (takes a few minutes).
# ignore warning for libwinpthread-1.dll
# - Copy gvim##.exe to the dist directory.
@ -456,20 +469,25 @@ dosrt_files: dist prepare no_title.vim
-rm $(IN_README_DIR)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
# Add the message translations. Trick: skip ja.mo/ja.euc-jp.mo and use
# ja.sjis.mo instead. Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo,
# sk.mo / sk.cp1250.mo, zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and
# ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/ja.euc-jp.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
cp libintl-8.dll dist/vim/$(VIMRTDIR)/
cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
cp libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/
mkdir dist/vim/$(VIMRTDIR)/gettext32
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
mkdir dist/vim/$(VIMRTDIR)/gettext64
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
# Used before uploading. Don't delete the AAPDIR/sign files!
@ -496,7 +514,10 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
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 gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
cp gvim.pdb dist/gvim$(VERSION).pdb

View File

@ -1,8 +1,12 @@
`README.md` for version 8.0 of Vim: Vi IMproved.
![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)
[![Coverage Status](https://coveralls.io/repos/vim/vim/badge.svg?branch=master&service=github)](https://coveralls.io/github/vim/vim?branch=master)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![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)
## What is Vim? ##
@ -134,3 +138,6 @@ If nothing else works, report bugs directly:
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.

View File

@ -1,4 +1,4 @@
README.txt for version 8.0 of Vim: Vi IMproved.
README.txt for version 8.1 of Vim: Vi IMproved.
WHAT IS VIM?

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.0. Also runs under UNIX, MS-Windows, Mac, etc.
vim80rt.tgz contains the documentation and syntax files.
vim80bin.tgz contains the binaries.
vim80src.tgz contains the sources.
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.
Author: Bram Moolenaar et al.

View File

@ -1,4 +1,4 @@
README_ami.txt for version 8.0 of Vim: Vi IMproved.
README_ami.txt for version 8.1 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:vim80bin.tar
tar xf t:vim80rt.tar
tar xf t:vim81bin.tar
tar xf t:vim81rt.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.0 of Vim: Vi IMproved.
README_amibin.txt for version 8.1 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 (vim80rt.tgz).
These files are in the runtime archive (vim81rt.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.0 of Vim: Vi IMproved.
README_amisrc.txt for version 8.1 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 (vim80rt.tgz).
These files are in the runtime archive (vim81rt.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.0 of Vim: Vi IMproved.
README_bindos.txt for version 8.1 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 (vim80rt.zip).
These files are in the runtime archive (vim81rt.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):
vim80w32.zip Windows 95/98/NT/etc. console version
gvim80.zip Windows 95/98/NT/etc. GUI version
gvim80ole.zip Windows 95/98/NT/etc. GUI version with OLE
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
You MUST also get the runtime archive (vim80rt.zip).
The sources are also available (vim80src.zip).
You MUST also get the runtime archive (vim81rt.zip).
The sources are also available (vim81src.zip).

View File

@ -1,4 +1,4 @@
README_dos.txt for version 8.0 of Vim: Vi IMproved.
README_dos.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about 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\vim80
C:\vim\vim81
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\vim80",
2. Unpack the zip archives. This will create a new directory "vim\vim81",
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 gvim80.zip
unzip vim80w32.zip
pkunzip -d gvim81.zip
unzip vim81w32.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
@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
archive and follow the instructions in the documentation.
3. Change to the new directory:
cd vim\vim80
cd vim\vim81
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 +80,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\vim80
set path=%path%;D:\editors\vim\vim80
set path=%path%;C:\vim\vim81
set path=%path%;D:\editors\vim\vim81
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@ -93,8 +93,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.0 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim80. See ":help $VIM" for more information.
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.
- 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 +105,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim80\vim.exe The Vim version 8.0 executable.
C:\vim\vim80\doc\*.txt The version 8.0 documentation files.
C:\vim\vim80\bugreport.vim A Vim version 8.0 script.
C:\vim\vim80\... Other version 8.0 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.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim80". Don't add
"vim80" to $VIM, that won't work.
Then $VIMRUNTIME will automatically be set to "$VIM\vim81". Don't add
"vim81" 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
@ -136,8 +136,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\vim80\vim.exe
C:\command.com /c D:\editors\vim\vim80\vim.exe
C:\command.com /c C:\vim\vim81\vim.exe
C:\command.com /c D:\editors\vim\vim81\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".

View File

@ -1,4 +1,4 @@
README_extra.txt for version 8.0 of Vim: Vi IMproved.
README_extra.txt for version 8.1 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"

View File

@ -1,4 +1,4 @@
README_mac.txt for version 8.0 of Vim: Vi IMproved.
README_mac.txt for version 8.1 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.0 of Vim: Vi IMproved.
README_ole.txt for version 8.1 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.0 of Vim: Vi IMproved.
README_os2.txt for version 8.1 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_zOS.txt for version 8.0 of Vim: Vi IMproved.
README_os390.txt for version 8.1 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.

View File

@ -1,8 +1,8 @@
README_src.txt for version 8.0 of Vim: Vi IMproved.
README_src.txt for version 8.1 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.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-8.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!

View File

@ -1,8 +1,8 @@
README_srcdos.txt for version 8.0 of Vim: Vi IMproved.
README_srcdos.txt for version 8.1 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 (vim80rt.zip).
These files are in the runtime archive (vim81rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or

View File

@ -1,4 +1,4 @@
README_unix.txt for version 8.0 of Vim: Vi IMproved.
README_unix.txt for version 8.1 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.0 of Vim: Vi IMproved.
README_vms.txt for version 8.1 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,4 +1,4 @@
README_w32s.txt for version 8.0 of Vim: Vi IMproved.
README_w32s.txt for version 8.1 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.

View File

@ -16,9 +16,10 @@ matrix:
before_build:
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
build_script:
- src/appveyor.bat
- ci/appveyor.bat
test_script:
- cd src/testdir

View File

@ -7,7 +7,7 @@ cd %APPVEYOR_BUILD_FOLDER%
cd src
echo "Building MinGW 32bit console version"
set PATH=c:\msys64\mingw32\bin;%PATH%
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
:: Save vim.exe before Make clean, moved back below.
copy vim.exe testdir
mingw32-make.exe -f Make_ming.mak clean
@ -16,24 +16,24 @@ mingw32-make.exe -f Make_ming.mak clean
:: with specified features without python.
echo "Building MinGW 32bit GUI version"
if "%FEATURE%" == "HUGE" (
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed CHANNEL=yes GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35 FEATURES=%FEATURE% || exit 1
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed CHANNEL=yes GUI=yes IME=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35 FEATURES=%FEATURE% || exit 1
) ELSE (
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
)
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
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 MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
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
:: build MSVC huge version with python and channel support
:: GUI needs to be last, so that testing works
echo "Building MSVC 64bit GUI Version"
if "%FEATURE%" == "HUGE" (
nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 CHANNEL=yes OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 FEATURES=%FEATURE% || exit 1
nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 CHANNEL=yes OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 FEATURES=%FEATURE% || exit 1
) ELSE (
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
)
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt

View File

@ -1,2 +0,0 @@
For information about installation of Farsi fonts and Vim usage in Farsi mode,
refer to the Farsi help file by typing ":help farsi" in Vim.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
This builds a one-click install for Vim for Win32 using the Nullsoft
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
Installation System (NSIS), available at http://nsis.sourceforge.net/
To build the installable .exe:
@ -15,28 +15,63 @@ To build the installable .exe:
vimrun.exe,
install.exe,
uninstal.exe,
tee/tee.exe,
xxd/xxd.exe,
Then execute tools/rename.bat to rename the executables. (mv command is
required.)
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
archive).
archive). Both 64- and 32-bit versions are needed and should be placed
as follows:
64-bit: src/GvimExt/gvimext64.dll
32-bit: src/GvimExt/gvimext.dll
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
archive).
5. Go to the OleVim directory and build OpenWithVim.exe and SendToVim.exe (or
get them from a binary archive).
6. Get a "diff.exe" program and put it in the "../.." directory (above the
"vim61" directory, it's the same for all Vim versions).
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,
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"
directory). This is required for the terminal window.
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
to do this on Unix. Make sure the file is in DOS file format!
8. Get gettext and iconv DLLs from the following site:
https://github.com/mlocati/gettext-iconv-windows/releases
Both 64- and 32-bit versions are needed.
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
DLLs and place them as follows:
<GETTEXT directory>
|
+ gettext32/
| libintl-8.dll
| libiconv-2.dll
| libgcc_s_sjlj-1.dll
|
` gettext64/
libintl-8.dll
libiconv-2.dll
The default <GETTEXT directory> is "..", however, you can change it by
passing /DGETTEXT=... option to the makensis command.
Install NSIS if you didn't do that already.
Also install UPX, if you want a compressed file.
Unpack the images:
cd nsis
unzip icons.zip
To build then, enter:
cd nsis
makensis gvim.nsi

File diff suppressed because it is too large Load Diff

View File

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

BIN
nsis/icons.zip Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

175
nsis/lang/danish.nsi Normal file
View File

@ -0,0 +1,175 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# danish.nsi: Danish language strings for gvim NSIS installer.
#
# Locale ID : 1030
# fileencoding : UTF-8
# Author : scootergrisen
!insertmacro MUI_LANGUAGE "Danish"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_DANISH} "Destinationsmappe (skal slutte med $\"vim$\")"
LangString str_show_readme ${LANG_DANISH} "Vis README efter installationen er gennemført"
# Install types:
LangString str_type_typical ${LANG_DANISH} "Typisk"
LangString str_type_minimal ${LANG_DANISH} "Minimal"
LangString str_type_full ${LANG_DANISH} "Fuld"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_DANISH} "Afinstaller eksisterende version(er)"
LangString str_desc_old_ver ${LANG_DANISH} "Afinstaller eksisterende Vim-version(er) fra dit system."
LangString str_section_exe ${LANG_DANISH} "Vim GUI og afviklingsfiler"
LangString str_desc_exe ${LANG_DANISH} "Vim GUI-eksekverbare- og afviklingsfiler. Komponenten kræves."
LangString str_section_console ${LANG_DANISH} "Vim-konsolprogram"
LangString str_desc_console ${LANG_DANISH} "Konsolversion af Vim (vim.exe)."
LangString str_section_batch ${LANG_DANISH} "Opret .bat-filer"
LangString str_desc_batch ${LANG_DANISH} "Opret .bat-filer til Vim-varianter i Windows-mappen til brug fra kommandolinjen."
LangString str_group_icons ${LANG_DANISH} "Opret ikoner til Vim"
LangString str_desc_icons ${LANG_DANISH} "Opret ikoner til Vim diverse steder for at hjælpe med at gøre adgangen let."
LangString str_section_desktop ${LANG_DANISH} "På skrivebordet"
LangString str_desc_desktop ${LANG_DANISH} "Opret ikoner til gVim-eksekverbare på skrivebordet."
LangString str_section_start_menu ${LANG_DANISH} "I Programmer-mappen i menuen Start"
LangString str_desc_start_menu ${LANG_DANISH} "Tilføj Vim i Programmer-mappen i menuen Start."
#LangString str_section_quick_launch ${LANG_DANISH} "I værktøjslinjen Hurtig start"
#LangString str_desc_quick_launch ${LANG_DANISH} "Tilføj Vim-genvej i værktøjslinjen Hurtig start."
LangString str_section_edit_with ${LANG_DANISH} "Tilføj Vim-genvejsmenu"
LangString str_desc_edit_with ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen."
#LangString str_section_edit_with32 ${LANG_DANISH} "32-bit-version"
#LangString str_desc_edit_with32 ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen for 32-bit-programmer."
#LangString str_section_edit_with64 ${LANG_DANISH} "64-bit-version"
#LangString str_desc_edit_with64 ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen for 64-bit-programmer."
LangString str_section_vim_rc ${LANG_DANISH} "Opret standardkonfiguration"
LangString str_desc_vim_rc ${LANG_DANISH} "Opret en standardkonfigurationsfil (_vimrc) hvis der ikke allerede findes en."
LangString str_group_plugin ${LANG_DANISH} "Opret plugin-mapper"
LangString str_desc_plugin ${LANG_DANISH} "Opret plugin-mapper. Plugin-mapper giver mulighed for at udvide Vim ved at slippe en fil i en mappen."
LangString str_section_plugin_home ${LANG_DANISH} "Private"
LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME (hvis du har defineret et) eller Vim-installationsmappe."
LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
LangString str_section_vis_vim ${LANG_DANISH} "VisVim-udvidelser"
LangString str_desc_vis_vim ${LANG_DANISH} "VisVim-udvidelser til integrering i Microsoft Visual Studio."
LangString str_section_nls ${LANG_DANISH} "Understøttelse af modersmål"
LangString str_desc_nls ${LANG_DANISH} "Installer filer til understøttelse af modersmål."
LangString str_unsection_register ${LANG_DANISH} "Afregistrer Vim"
LangString str_desc_unregister ${LANG_DANISH} "Afregistrer Vim fra systemet."
LangString str_unsection_exe ${LANG_DANISH} "Fjern Vim-eksekverbare-/afviklingsfiler"
LangString str_desc_rm_exe ${LANG_DANISH} "Fjern alle Vim-eksekverbare- og afviklingsfiler."
LangString str_ungroup_plugin ${LANG_DANISH} "Fjern plugin-mapper"
LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne, hvis de er tomme."
LangString str_unsection_plugin_home ${LANG_DANISH} "Private"
LangString str_desc_rm_plugin_home ${LANG_DANISH} "Fjern plugin-mapperne fra HOME-mappen."
LangString str_unsection_plugin_vim ${LANG_DANISH} "Delte"
LangString str_desc_rm_plugin_vim ${LANG_DANISH} "Fjern plugin-mapperne fra Vim-installationsmappen."
LangString str_unsection_rootdir ${LANG_DANISH} "Fjern Vim-rodmappen"
LangString str_desc_rm_rootdir ${LANG_DANISH} "Fjern Vim-rodmappen. Den indeholder dine Vim-konfigurationsfiler!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_DANISH} "Fandt $vim_old_ver_count Vim-versioner på dit system.$\r$\nInstallationsguiden kan højst håndtere ${VIM_MAX_OLD_VER}-versioner.$\r$\nFjern venligst nogle versioner og start igen."
#LangString str_msg_invalid_root ${LANG_DANISH} "Ugyldig installationssti: $vim_install_root!$\r$\nDen skal slutte med $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_DANISH} "Uoverensstemmelse i binære sti!$\r$\n$\r$\nForventede at den binære sti var $\"$vim_bin_path$\",$\r$\nmen systemet indikerer at den binære sti er $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_DANISH} "Vim kører stadig på dit system.$\r$\nLuk venligst alle instanser af Vim inden du fortsætter."
#LangString str_msg_register_ole ${LANG_DANISH} "Forsøger at registrere Vim med OLE. Der er ingen meddelelse til at indikere om det virker eller ej."
#LangString str_msg_unreg_ole ${LANG_DANISH} "Forsøger at afregistrere Vim med OLE. Der er ingen meddelelse til at indikere om det virker eller ej."
#LangString str_msg_rm_start ${LANG_DANISH} "Afinstallerer følgende version:"
#LangString str_msg_rm_fail ${LANG_DANISH} "Kunne ikke afinstallere følgende version:"
#LangString str_msg_no_rm_key ${LANG_DANISH} "Kan ikke finde registreringsdatabasenøgle for afinstallationsguiden."
#LangString str_msg_no_rm_reg ${LANG_DANISH} "Kan ikke finde afinstallationsguiden fra registreringsdatabasen."
#LangString str_msg_no_rm_exe ${LANG_DANISH} "Kan ikke tilgå afinstallationsguide."
#LangString str_msg_rm_copy_fail ${LANG_DANISH} "Kunne ikke kopiere afinstallationsguide til midlertidig mappe."
#LangString str_msg_rm_run_fail ${LANG_DANISH} "Kunne ikke køre afinstallationsguide."
#LangString str_msg_abort_install ${LANG_DANISH} "Installationsguiden vil afbryde."
LangString str_msg_install_fail ${LANG_DANISH} "Installationen mislykkedes. Bedre held næste gang."
LangString str_msg_rm_exe_fail ${LANG_DANISH} "Nogle filer i $0 er ikke blevet slettet!$\r$\nDu skal gøre det manuelt."
#LangString str_msg_rm_root_fail ${LANG_DANISH} "ADVARSEL: Kan ikke fjerne $\"$vim_install_root$\", den er ikke tom!"
LangString str_msg_uninstalling ${LANG_DANISH} "Afinstallerer den gamle version..."
LangString str_msg_registering ${LANG_DANISH} "Registrerer..."
LangString str_msg_unregistering ${LANG_DANISH} "Afregistrerer..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_DANISH} "Vælg _vimrc-indstillinger"
LangString str_vimrc_page_subtitle ${LANG_DANISH} "Vælg indstillingerne til forbedring, tastatur og mus."
LangString str_msg_compat_title ${LANG_DANISH} " Vi- / Vim-opførsel "
LangString str_msg_compat_desc ${LANG_DANISH} "&Kompatibilitet og forbedringer"
LangString str_msg_compat_vi ${LANG_DANISH} "Vi-kompatibel"
LangString str_msg_compat_vim ${LANG_DANISH} "Vim original"
LangString str_msg_compat_defaults ${LANG_DANISH} "Vim med nogle forbedringer (indlæs defaults.vim)"
LangString str_msg_compat_all ${LANG_DANISH} "Vim med alle forbedringer (indlæs vimrc_example.vim) (standard)"
LangString str_msg_keymap_title ${LANG_DANISH} " Tilknytninger "
LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
LangString str_msg_keymap_default ${LANG_DANISH} "Gentilknyt ikke taster (standard)"
LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster"
LangString str_msg_mouse_title ${LANG_DANISH} " Mus "
LangString str_msg_mouse_desc ${LANG_DANISH} "&Opførsel af højre og venstre knapper"
LangString str_msg_mouse_default ${LANG_DANISH} "Højre: genvejsmenu, venstre: visuel tilstand (standard)"
LangString str_msg_mouse_windows ${LANG_DANISH} "Højre: genvejsmenu, venstre: vælg-tilstand (Windows)"
LangString str_msg_mouse_unix ${LANG_DANISH} "Højre: udvider markering, venstre: visuel tilstand (Unix)"

281
nsis/lang/dutch.nsi Normal file
View File

@ -0,0 +1,281 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# dutch.nsi : Dutch language strings for gvim NSIS installer.
#
# Locale ID : 1043
# Locale Name : nl
# fileencoding : UTF-8
# Author : Peter Odding <peter@peterodding.com>
!insertmacro MUI_LANGUAGE "Dutch"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_DUTCH} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_DUTCH} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_DUTCH} \
# "Doelmap (moet eindigen op $\"vim$\")"
LangString str_show_readme ${LANG_DUTCH} \
"README weergeven na installatie"
# Install types:
LangString str_type_typical ${LANG_DUTCH} \
"Gebruikelijk"
LangString str_type_minimal ${LANG_DUTCH} \
"Minimaal"
LangString str_type_full ${LANG_DUTCH} \
"Volledig"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_DUTCH} \
"Bestaande versie(s) de-installeren"
LangString str_desc_old_ver ${LANG_DUTCH} \
"Bestaande Vim versie(s) van je systeem verwijderen."
LangString str_section_exe ${LANG_DUTCH} \
"Vim GUI"
LangString str_desc_exe ${LANG_DUTCH} \
"Vim GUI uitvoerbare bestanden en runtime bestanden. Dit component is vereist."
LangString str_section_console ${LANG_DUTCH} \
"Vim console programma"
LangString str_desc_console ${LANG_DUTCH} \
"Console versie van Vim (vim.exe)."
LangString str_section_batch ${LANG_DUTCH} \
"Creëer .bat bestanden"
LangString str_desc_batch ${LANG_DUTCH} \
"Creëer .bat bestanden voor Vim varianten in de Windows map voor \
commando regel gebruik."
LangString str_group_icons ${LANG_DUTCH} \
"Creëer pictogrammen for Vim"
LangString str_desc_icons ${LANG_DUTCH} \
"Creëer pictogrammen voor Vim op verschillende locaties voor gemakkelijke toegang."
LangString str_section_desktop ${LANG_DUTCH} \
"Op het bureaublad"
LangString str_desc_desktop ${LANG_DUTCH} \
"Creëer pictogrammen voor Vim uitvoerbare bestanden op het bureaublad."
LangString str_section_start_menu ${LANG_DUTCH} \
"In de Programma's map in het start menu"
LangString str_desc_start_menu ${LANG_DUTCH} \
"Voeg Vim toe aan de programma's map in het start menu. \
Van toepassing op Windows 95 en later."
#LangString str_section_quick_launch ${LANG_DUTCH} \
# "In de snel starten balk"
#LangString str_desc_quick_launch ${LANG_DUTCH} \
# "Voeg Vim snelkoppeling toe aan de snel starten balk."
LangString str_section_edit_with ${LANG_DUTCH} \
"Voeg Vim contextmenu toe"
LangString str_desc_edit_with ${LANG_DUTCH} \
"Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst."
#LangString str_section_edit_with32 ${LANG_DUTCH} \
# "32-bit versie"
#LangString str_desc_edit_with32 ${LANG_DUTCH} \
# "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst \
# voor 32-bit toepassingen."
#LangString str_section_edit_with64 ${LANG_DUTCH} \
# "64-bit versie"
#LangString str_desc_edit_with64 ${LANG_DUTCH} \
# "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst \
# voor 64-bit toepassingen."
LangString str_section_vim_rc ${LANG_DUTCH} \
"Creëer standaard configuratie"
LangString str_desc_vim_rc ${LANG_DUTCH} \
"Creëer een standaard configuratie bestand (_vimrc) als er nog geen bestaat."
LangString str_group_plugin ${LANG_DUTCH} \
"Creëer Plugin mappen"
LangString str_desc_plugin ${LANG_DUTCH} \
"Creëer plugin mappen. Plugin mappen maken het mogelijk om \
Vim uit te breiden door een bestand in een map te plaatsen."
LangString str_section_plugin_home ${LANG_DUTCH} \
"Privé"
LangString str_desc_plugin_home ${LANG_DUTCH} \
"Create plugin directories in HOME directory."
LangString str_section_plugin_vim ${LANG_DUTCH} \
"Gedeeld"
LangString str_desc_plugin_vim ${LANG_DUTCH} \
"Creëer plugin mappen in Vim installatie map, deze worden gebruikt \
voor iedereen op het systeem."
LangString str_section_vis_vim ${LANG_DUTCH} \
"VisVim extensie"
LangString str_desc_vis_vim ${LANG_DUTCH} \
"VisVim extensie voor Microsoft Visual Studio integratie."
LangString str_section_nls ${LANG_DUTCH} \
"Ondersteuning voor andere talen"
LangString str_desc_nls ${LANG_DUTCH} \
"Bestanden voor ondersteuning van andere talen dan Engels installeren."
LangString str_unsection_register ${LANG_DUTCH} \
"Vim afmelden"
LangString str_desc_unregister ${LANG_DUTCH} \
"Registratie van Vim in het systeem ongedaan maken."
LangString str_unsection_exe ${LANG_DUTCH} \
"Vim uitvoerbare/runtime bestanden verwijderen"
LangString str_desc_rm_exe ${LANG_DUTCH} \
"Verwijder alle Vim uitvoerbare bestanden en runtime bestanden."
LangString str_ungroup_plugin ${LANG_DUTCH} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_DUTCH} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_DUTCH} \
"Privé"
LangString str_desc_rm_plugin_home ${LANG_DUTCH} \
"Remove the plugin directories from HOME directory."
LangString str_unsection_plugin_vim ${LANG_DUTCH} \
"Gedeeld"
LangString str_desc_rm_plugin_vim ${LANG_DUTCH} \
"Remove the plugin directories from Vim install directory."
LangString str_unsection_rootdir ${LANG_DUTCH} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_DUTCH} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_DUTCH} \
# "Er zijn $vim_old_ver_count Vim versies op je systeem gevonden.$\r$\n\
# Deze installatie kan omgaan met maximaal ${VIM_MAX_OLD_VER} versies.$\r$\n\
# Verwijder a.u.b. wat versies en probeer het dan opnieuw."
#LangString str_msg_invalid_root ${LANG_DUTCH} \
# "Ongeldig installatiepad: $vim_install_root!$\r$\n\
# Het moet eindelijk op $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_DUTCH} \
# "Binair pad onjuist!$\r$\n$\r$\n\
# Het binaire pad zou $\"$vim_bin_path$\" moeten zijn,$\r$\n\
# maar het systeem geeft aan dat het binaire pad $\"$INSTDIR$\" is."
#LangString str_msg_vim_running ${LANG_DUTCH} \
# "Vim is nog actief op je systeem.$\r$\n\
# Sluit a.u.b. alle instanties van Vim voordat je verder gaat."
#LangString str_msg_register_ole ${LANG_DUTCH} \
# "Bezig met proberen om Vim te registreren met OLE. \
# Er is geen bericht dat aangeeft of deze operatie slaagt."
#LangString str_msg_unreg_ole ${LANG_DUTCH} \
# "Bezig met proberen om Vim te de-registreren met OLE. \
# Er is geen bericht dat aangeeft of deze operatie slaagt."
#LangString str_msg_rm_start ${LANG_DUTCH} \
# "De volgende versies worden verwijderd:"
#LangString str_msg_rm_fail ${LANG_DUTCH} \
# "De volgende versies konden niet worden verwijderd:"
#LangString str_msg_no_rm_key ${LANG_DUTCH} \
# "Kan de uninstaller register sleutel niet vinden."
#LangString str_msg_no_rm_reg ${LANG_DUTCH} \
# "Kan de uninstaller niet vinden via het register."
#LangString str_msg_no_rm_exe ${LANG_DUTCH} \
# "Kan geen toegang krijgen tot de uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_DUTCH} \
# "Kon de uninstaller niet naar een tijdelijke map kopiëren."
#LangString str_msg_rm_run_fail ${LANG_DUTCH} \
# "Kon de uninstaller niet uitvoeren."
#LangString str_msg_abort_install ${LANG_DUTCH} \
# "Installatie wordt gestopt."
LangString str_msg_install_fail ${LANG_DUTCH} \
"Installatie is mislukt."
LangString str_msg_rm_exe_fail ${LANG_DUTCH} \
"Sommige bestanden in $0 zijn niet verwijderd!$\r$\n\
Dit moet je handmatig doen."
#LangString str_msg_rm_root_fail ${LANG_DUTCH} \
# "WAARSCHUWING: Kan $\"$vim_install_root$\" niet verwijderen omdat het niet leeg is!"
LangString str_msg_uninstalling ${LANG_DUTCH} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_DUTCH} \
"Registering..."
LangString str_msg_unregistering ${LANG_DUTCH} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_DUTCH} \
"Choose _vimrc settings"
LangString str_vimrc_page_subtitle ${LANG_DUTCH} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_DUTCH} \
" Vi / Vim behavior "
LangString str_msg_compat_desc ${LANG_DUTCH} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_DUTCH} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_DUTCH} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_DUTCH} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_DUTCH} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_DUTCH} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_DUTCH} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_DUTCH} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_DUTCH} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_DUTCH} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_DUTCH} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_DUTCH} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_DUTCH} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_DUTCH} \
"Right: extends selection, Left: visual mode (Unix)"

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

@ -0,0 +1,280 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# english.nsi: English language strings for gvim NSIS installer.
#
# Locale ID : 1033
# fileencoding : UTF-8
# Author : Guopeng Wen, Ken Takata
!insertmacro MUI_LANGUAGE "English"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_ENGLISH} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_ENGLISH} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_ENGLISH} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_ENGLISH} \
"Show README after installation finish"
# Install types:
LangString str_type_typical ${LANG_ENGLISH} \
"Typical"
LangString str_type_minimal ${LANG_ENGLISH} \
"Minimal"
LangString str_type_full ${LANG_ENGLISH} \
"Full"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_ENGLISH} \
"Uninstall Existing Version(s)"
LangString str_desc_old_ver ${LANG_ENGLISH} \
"Uninstall existing Vim version(s) from your system."
LangString str_section_exe ${LANG_ENGLISH} \
"Vim GUI and runtime files"
LangString str_desc_exe ${LANG_ENGLISH} \
"Vim GUI executables and runtime files. This component is required."
LangString str_section_console ${LANG_ENGLISH} \
"Vim console program"
LangString str_desc_console ${LANG_ENGLISH} \
"Console version of Vim (vim.exe)."
LangString str_section_batch ${LANG_ENGLISH} \
"Create .bat files"
LangString str_desc_batch ${LANG_ENGLISH} \
"Create .bat files for Vim variants in the Windows directory for \
command line use."
LangString str_group_icons ${LANG_ENGLISH} \
"Create icons for Vim"
LangString str_desc_icons ${LANG_ENGLISH} \
"Create icons for Vim at various locations to facilitate easy access."
LangString str_section_desktop ${LANG_ENGLISH} \
"On the Desktop"
LangString str_desc_desktop ${LANG_ENGLISH} \
"Create icons for gVim executables on the desktop."
LangString str_section_start_menu ${LANG_ENGLISH} \
"In the Start Menu Programs Folder"
LangString str_desc_start_menu ${LANG_ENGLISH} \
"Add Vim in the programs folder of the start menu."
#LangString str_section_quick_launch ${LANG_ENGLISH} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_ENGLISH} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_ENGLISH} \
"Add Vim Context Menu"
LangString str_desc_edit_with ${LANG_ENGLISH} \
"Add Vim to the $\"Open With...$\" context menu list."
#LangString str_section_edit_with32 ${LANG_ENGLISH} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_ENGLISH} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_ENGLISH} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_ENGLISH} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_ENGLISH} \
"Create Default Config"
LangString str_desc_vim_rc ${LANG_ENGLISH} \
"Create a default config file (_vimrc) if one does not already exist."
LangString str_group_plugin ${LANG_ENGLISH} \
"Create Plugin Directories"
LangString str_desc_plugin ${LANG_ENGLISH} \
"Create plugin directories. Plugin directories allow extending Vim \
by dropping a file into a directory."
LangString str_section_plugin_home ${LANG_ENGLISH} \
"Private"
LangString str_desc_plugin_home ${LANG_ENGLISH} \
"Create plugin directories in HOME directory."
LangString str_section_plugin_vim ${LANG_ENGLISH} \
"Shared"
LangString str_desc_plugin_vim ${LANG_ENGLISH} \
"Create plugin directories in Vim install directory, it is used for \
everybody on the system."
LangString str_section_vis_vim ${LANG_ENGLISH} \
"VisVim Extension"
LangString str_desc_vis_vim ${LANG_ENGLISH} \
"VisVim Extension for Microsoft Visual Studio integration."
LangString str_section_nls ${LANG_ENGLISH} \
"Native Language Support"
LangString str_desc_nls ${LANG_ENGLISH} \
"Install files for native language support."
LangString str_unsection_register ${LANG_ENGLISH} \
"Unregister Vim"
LangString str_desc_unregister ${LANG_ENGLISH} \
"Unregister Vim from the system."
LangString str_unsection_exe ${LANG_ENGLISH} \
"Remove Vim Executables/Runtime Files"
LangString str_desc_rm_exe ${LANG_ENGLISH} \
"Remove all Vim executables and runtime files."
LangString str_ungroup_plugin ${LANG_ENGLISH} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_ENGLISH} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_ENGLISH} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_ENGLISH} \
"Remove the plugin directories from HOME directory."
LangString str_unsection_plugin_vim ${LANG_ENGLISH} \
"Shared"
LangString str_desc_rm_plugin_vim ${LANG_ENGLISH} \
"Remove the plugin directories from Vim install directory."
LangString str_unsection_rootdir ${LANG_ENGLISH} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_ENGLISH} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_ENGLISH} \
# "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_ENGLISH} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_ENGLISH} \
# "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_ENGLISH} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_ENGLISH} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_ENGLISH} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_ENGLISH} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_ENGLISH} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_ENGLISH} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_ENGLISH} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_ENGLISH} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_ENGLISH} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_ENGLISH} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_ENGLISH} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_ENGLISH} \
"Installation failed. Better luck next time."
LangString str_msg_rm_exe_fail ${LANG_ENGLISH} \
"Some files in $0 have not been deleted!$\r$\n\
You must do it manually."
#LangString str_msg_rm_root_fail ${LANG_ENGLISH} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_ENGLISH} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_ENGLISH} \
"Registering..."
LangString str_msg_unregistering ${LANG_ENGLISH} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_ENGLISH} \
"Choose _vimrc settings"
LangString str_vimrc_page_subtitle ${LANG_ENGLISH} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_ENGLISH} \
" Vi / Vim behavior "
LangString str_msg_compat_desc ${LANG_ENGLISH} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_ENGLISH} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_ENGLISH} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_ENGLISH} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_ENGLISH} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_ENGLISH} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_ENGLISH} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_ENGLISH} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_ENGLISH} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_ENGLISH} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ENGLISH} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_ENGLISH} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_ENGLISH} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_ENGLISH} \
"Right: extends selection, Left: visual mode (Unix)"

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

@ -0,0 +1,280 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# german.nsi : German language strings for gvim NSIS installer.
#
# Locale ID : 1031
# fileencoding : UTF-8
# Author : Christian Brabandt, tux
!insertmacro MUI_LANGUAGE "German"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_GERMAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_GERMAN} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_GERMAN} \
# "Zielverzeichnis auswählen (muss auf $\"vim$\" enden)"
LangString str_show_readme ${LANG_GERMAN} \
"README-Datei nach der Installation anzeigen"
# Install types:
LangString str_type_typical ${LANG_GERMAN} \
"Typisch"
LangString str_type_minimal ${LANG_GERMAN} \
"Minimal"
LangString str_type_full ${LANG_GERMAN} \
"Vollständig"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_GERMAN} \
"Vorherige Version deinstallieren"
LangString str_desc_old_ver ${LANG_GERMAN} \
"Vorherige installierte Versionen auf diesem System deinstallieren."
LangString str_section_exe ${LANG_GERMAN} \
"Vim GUI"
LangString str_desc_exe ${LANG_GERMAN} \
"Vim (Anwendung) und Laufzeitdateien (Dieser Teil ist zwingend \
erforderlich)."
LangString str_section_console ${LANG_GERMAN} \
"Vim Konsolenanwendung"
LangString str_desc_console ${LANG_GERMAN} \
"Konsolenversion von Vim."
LangString str_section_batch ${LANG_GERMAN} \
".bat-Dateien erstellen"
LangString str_desc_batch ${LANG_GERMAN} \
".bat-Dateien erstellen, um Vim in der Konsole auszuführen."
LangString str_group_icons ${LANG_GERMAN} \
"Vim-Verknüpfungen erstellen"
LangString str_desc_icons ${LANG_GERMAN} \
"Verknüpfungen mit Vim für einfachen Aufruf erstellen."
LangString str_section_desktop ${LANG_GERMAN} \
"Auf dem Desktop"
LangString str_desc_desktop ${LANG_GERMAN} \
"Icons für GVim auf dem Desktop erstellen."
LangString str_section_start_menu ${LANG_GERMAN} \
"Im Startmenü"
LangString str_desc_start_menu ${LANG_GERMAN} \
"Vim im Programmverzeichnis des Startmenüs hinzufügen."
#LangString str_section_quick_launch ${LANG_GERMAN} \
# "In der Schnellstartleiste"
#LangString str_desc_quick_launch ${LANG_GERMAN} \
# "Verknüpfung zu Vim in der Schnellstartleiste ablegen."
LangString str_section_edit_with ${LANG_GERMAN} \
"Vim zum Kontextmenü hinzufügen"
LangString str_desc_edit_with ${LANG_GERMAN} \
"Vim in das $\"Öffnen mit...$\"-Kontextmenü einfügen."
#LangString str_section_edit_with32 ${LANG_GERMAN} \
# "32-Bit-Version"
#LangString str_desc_edit_with32 ${LANG_GERMAN} \
# "Vim in das $\"Öffnen mit...$\"-Kontextmenü \
# für 32-Bit-Anwendungen integrieren."
#LangString str_section_edit_with64 ${LANG_GERMAN} \
# "64-Bit-Version"
#LangString str_desc_edit_with64 ${LANG_GERMAN} \
# "Vim in das $\"Öffnen mit...$\"-Kontextmenü \
# für 64-Bit-Anwendungen integrieren."
LangString str_section_vim_rc ${LANG_GERMAN} \
"Standard-Konfigurationsdatei erstellen"
LangString str_desc_vim_rc ${LANG_GERMAN} \
"Eine Standard-Konfigurationsdatei (_vimrc) erstellen, \
falls noch keine existiert."
LangString str_group_plugin ${LANG_GERMAN} \
"Plugin-Verzeichnisse anlegen"
LangString str_desc_plugin ${LANG_GERMAN} \
"Plugin-Verzeichnisse anlegen. Plugins erlauben es, Vim \
um zusätzliche Funktionen zu erweitern."
LangString str_section_plugin_home ${LANG_GERMAN} \
"Privat"
LangString str_desc_plugin_home ${LANG_GERMAN} \
"Erstelle Plugin-Verzeichnis im HOME Benutzerverzeichnis."
LangString str_section_plugin_vim ${LANG_GERMAN} \
"Freigegeben"
LangString str_desc_plugin_vim ${LANG_GERMAN} \
"Plugin-Verzeichnisse im Vim-Installationsverzeichnis erstellen. Diese werden \
für alle Benutzer dieses Systems genutzt."
LangString str_section_vis_vim ${LANG_GERMAN} \
"VisVim-Erweiterung"
LangString str_desc_vis_vim ${LANG_GERMAN} \
"VisVim-Erweiterung zur Integration in Microsoft Visual Studio."
LangString str_section_nls ${LANG_GERMAN} \
"Unterstützung für andere Sprachen"
LangString str_desc_nls ${LANG_GERMAN} \
"Dateien zur Unterstützung anderer Sprachen als Englisch installieren."
LangString str_unsection_register ${LANG_GERMAN} \
"Vim deinstallieren"
LangString str_desc_unregister ${LANG_GERMAN} \
"Vim vom System entfernen."
LangString str_unsection_exe ${LANG_GERMAN} \
"Vim-Anwendung und Laufzeitdateien entfernen"
LangString str_desc_rm_exe ${LANG_GERMAN} \
"Alle Vim-Anwendungen und Laufzeitdateien von diesem System entfernen."
LangString str_ungroup_plugin ${LANG_GERMAN} \
"Entferne Plugin-Verzeichnisse"
LangString str_desc_rm_plugin ${LANG_GERMAN} \
"Entferne Plugin-Verzeichnisse, falls sie leer sind."
LangString str_unsection_plugin_home ${LANG_GERMAN} \
"Privat"
LangString str_desc_rm_plugin_home ${LANG_GERMAN} \
"Entfernt die Plugin-Verzeichnisse aus dem HOME Benutzerverzeichnis."
LangString str_unsection_plugin_vim ${LANG_GERMAN} \
"Freigegeben"
LangString str_desc_rm_plugin_vim ${LANG_GERMAN} \
"Entfernt das Plugin-Verzeichnis aus dem Vim-Installationsverzeichnis."
LangString str_unsection_rootdir ${LANG_GERMAN} \
"Entferne Vim Installationsverzeichnis"
LangString str_desc_rm_rootdir ${LANG_GERMAN} \
"Entfernt das Vim Installationsverzeichnis. Es enthält die Vim Konfigurationsdateien!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_GERMAN} \
# "$vim_old_ver_count Vim-Versionen auf diesem System gefunden..$\r$\n\
# Dieser Installer kann maximal ${VIM_MAX_OLD_VER} Versionen \
# handhaben.$\r$\n\
# Bitte alte Versionen entfernen und noch einmal probieren."
#LangString str_msg_invalid_root ${LANG_GERMAN} \
# "Nicht gültiges Installationsverzeichnis: $vim_install_root!$\r$\n\
# Der Pfad muss auf $\"vim$\" enden."
#LangString str_msg_bin_mismatch ${LANG_GERMAN} \
# "Pfaddiskrepanz!$\r$\n$\r$\n\
# Erwarte Anwendungsverzeichnis $\"$vim_bin_path$\",$\r$\n\
# aber fand Anwendungspfad $\"$INSTDIR$\" vor."
#LangString str_msg_vim_running ${LANG_GERMAN} \
# "Laufender Vim-Prozess erkannt.$\r$\n\
# Bitte alle laufenden Vim-Prozesse vor dem Fortfahren beenden."
#LangString str_msg_register_ole ${LANG_GERMAN} \
# "Versuche OLE-Registrierung durchzuführen."
#LangString str_msg_unreg_ole ${LANG_GERMAN} \
# "Versuche OLE-Registrierung zu löschen."
#LangString str_msg_rm_start ${LANG_GERMAN} \
# "Deinstalliere die folgende Version:"
#LangString str_msg_rm_fail ${LANG_GERMAN} \
# "Deinstallation der Version fehlgeschlagen:"
#LangString str_msg_no_rm_key ${LANG_GERMAN} \
# "Deinstallationsschlüssel in der Registrierungsdatenbank nicht gefunden."
#LangString str_msg_no_rm_reg ${LANG_GERMAN} \
# "Kein Uninstaller in der Registrierungsdatenbank gefunden."
#LangString str_msg_no_rm_exe ${LANG_GERMAN} \
# "Kein Zugriff auf den Uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_GERMAN} \
# "Fehler beim Kopieren des Uninstallers in ein temporäres Verzeichnis."
#LangString str_msg_rm_run_fail ${LANG_GERMAN} \
# "Fehler beim Aufruf des Uninstallers."
#LangString str_msg_abort_install ${LANG_GERMAN} \
# "Installation wird abgebrochen."
LangString str_msg_install_fail ${LANG_GERMAN} \
"Installation fehlerhaft beendet."
LangString str_msg_rm_exe_fail ${LANG_GERMAN} \
"Einige Dateien im Pfad $0 konnten nicht gelöscht werden!$\r$\n\
Diese Dateien müssen manuell gelöscht werden."
#LangString str_msg_rm_root_fail ${LANG_GERMAN} \
# "Achtung: Kann Verzeichnis $\"$vim_install_root$\" nicht entfernen, \
# weil es nicht leer ist!"
LangString str_msg_uninstalling ${LANG_GERMAN} \
"Deinstalliere alte Version..."
LangString str_msg_registering ${LANG_GERMAN} \
"Registriere..."
LangString str_msg_unregistering ${LANG_GERMAN} \
"Entferne Registrierung..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_GERMAN} \
"Wähle _vimrc Konfigurationsoptionen"
LangString str_vimrc_page_subtitle ${LANG_GERMAN} \
"Wähle Einstellungen zur Kompatibilität, Tastatur und Maus."
LangString str_msg_compat_title ${LANG_GERMAN} \
" Vi / Vim Verhalten "
LangString str_msg_compat_desc ${LANG_GERMAN} \
"&Kompatibilität und Erweiterungen"
LangString str_msg_compat_vi ${LANG_GERMAN} \
"Vi-kompatibel"
LangString str_msg_compat_vim ${LANG_GERMAN} \
"Vim Original"
LangString str_msg_compat_defaults ${LANG_GERMAN} \
"Vim mit einigen Erweiterungen (Lädt defaults.vim)"
LangString str_msg_compat_all ${LANG_GERMAN} \
"Vim mit allen Erweiterungen (Lädt vimrc_example.vim) (Standard)"
LangString str_msg_keymap_title ${LANG_GERMAN} \
" Mappings für Windows Standard Tastenkombinationen "
LangString str_msg_keymap_desc ${LANG_GERMAN} \
"&Einige Tasten umkonfigurieren (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_GERMAN} \
"Keine Tasten umkonfigurieren (Standard)"
LangString str_msg_keymap_windows ${LANG_GERMAN} \
"Einige Tasten umkonfigurieren"
LangString str_msg_mouse_title ${LANG_GERMAN} \
" Maus "
LangString str_msg_mouse_desc ${LANG_GERMAN} \
"&Verhalten der linken und rechten Buttons"
LangString str_msg_mouse_default ${LANG_GERMAN} \
"Rechts: Popup Menü, Links: Visueller Modus (Standard)"
LangString str_msg_mouse_windows ${LANG_GERMAN} \
"Rechts: Popup Menü, Links: Auswahl Modus (Windows)"
LangString str_msg_mouse_unix ${LANG_GERMAN} \
"Rechts: Auswahl erweitern, Links: Visueller Modus (Unix)"

283
nsis/lang/italian.nsi Normal file
View File

@ -0,0 +1,283 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# italian.nsi : Italian language strings for gvim NSIS installer.
#
# Locale ID : 1040
# Locale Name : it
# fileencoding : UTF-8
# Author : Antonio Colombo
!insertmacro MUI_LANGUAGE "Italian"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_ITALIAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_ITALIAN} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_ITALIAN} \
# "Cartella d'installazione (il nome deve finire con $\"vim$\")"
LangString str_show_readme ${LANG_ITALIAN} \
"Visualizza README al termine dell'installazione"
# Install types:
LangString str_type_typical ${LANG_ITALIAN} \
"Tipica"
LangString str_type_minimal ${LANG_ITALIAN} \
"Minima"
LangString str_type_full ${LANG_ITALIAN} \
"Completa"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_ITALIAN} \
"Disinstalla versione/i esistente/i"
LangString str_desc_old_ver ${LANG_ITALIAN} \
"Disinstalla versione/i esistente/i di Vim dal vostro sistema."
LangString str_section_exe ${LANG_ITALIAN} \
"Vim GUI e file di supporto"
LangString str_desc_exe ${LANG_ITALIAN} \
"Vim GUI programmi e file di supporto. Questa componente è indispensabile."
LangString str_section_console ${LANG_ITALIAN} \
"Vim console (vim.exe per MS-DOS)"
LangString str_desc_console ${LANG_ITALIAN} \
"Versione console di Vim (vim.exe)."
LangString str_section_batch ${LANG_ITALIAN} \
"Crea file di invocazione (MS-DOS) .bat"
LangString str_desc_batch ${LANG_ITALIAN} \
"Crea file di invocazione .bat per varianti di Vim nella directory \
di Windows, per utilizzo da linea di comando (MS-DOS)."
LangString str_group_icons ${LANG_ITALIAN} \
"Crea icone per Vim"
LangString str_desc_icons ${LANG_ITALIAN} \
"Crea icone per Vim in vari posti, per rendere facile l'accesso."
LangString str_section_desktop ${LANG_ITALIAN} \
"Sul Desktop"
LangString str_desc_desktop ${LANG_ITALIAN} \
"Crea icone per programma gVim sul desktop."
LangString str_section_start_menu ${LANG_ITALIAN} \
"Nella cartella del menù START"
LangString str_desc_start_menu ${LANG_ITALIAN} \
"Aggiungi Vim alle cartelle del menù START."
#LangString str_section_quick_launch ${LANG_ITALIAN} \
# "Nella barra di Avvio Veloce"
#LangString str_desc_quick_launch ${LANG_ITALIAN} \
# "Aggiungi un puntatore a Vim nella barra di Avvio Veloce."
LangString str_section_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim al Menù Contestuale"
LangString str_desc_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim alla lista contestuale $\"Apri con...$\"."
#LangString str_section_edit_with32 ${LANG_ITALIAN} \
# "Versione a 32-bit"
#LangString str_desc_edit_with32 ${LANG_ITALIAN} \
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
# per applicazioni a 32-bit."
#LangString str_section_edit_with64 ${LANG_ITALIAN} \
# "Versione a 64-bit"
#LangString str_desc_edit_with64 ${LANG_ITALIAN} \
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
# per applicazioni a 64-bit."
LangString str_section_vim_rc ${LANG_ITALIAN} \
"Crea configurazione di default"
LangString str_desc_vim_rc ${LANG_ITALIAN} \
"Crea un file configurazione di default (_vimrc) se non \
ne esiste già uno."
LangString str_group_plugin ${LANG_ITALIAN} \
"Crea directory per plugin"
LangString str_desc_plugin ${LANG_ITALIAN} \
"Crea directory per plugin. Consentono di aggiungere funzionalità \
a Vim mettendo file in una di queste directory."
LangString str_section_plugin_home ${LANG_ITALIAN} \
"Private"
LangString str_desc_plugin_home ${LANG_ITALIAN} \
"Crea directory per plugin nella directory HOME."
LangString str_section_plugin_vim ${LANG_ITALIAN} \
"Condivise"
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
"Crea directory per plugin nella directory di installazione di Vim \
per uso da parte di tutti gli utenti di questo sistema."
LangString str_section_vis_vim ${LANG_ITALIAN} \
"Estensione VisVim"
LangString str_desc_vis_vim ${LANG_ITALIAN} \
"Estensione VisVim per integrazione con Microsoft Visual Studio."
LangString str_section_nls ${LANG_ITALIAN} \
"Supporto Multilingue (NLS)"
LangString str_desc_nls ${LANG_ITALIAN} \
"Installa file per supportare messaggi in diverse lingue."
LangString str_unsection_register ${LANG_ITALIAN} \
"Togli Vim dal Registry"
LangString str_desc_unregister ${LANG_ITALIAN} \
"Togli Vim dal Registry di configurazione sistema."
LangString str_unsection_exe ${LANG_ITALIAN} \
"Cancella programmi/file di supporto Vim"
LangString str_desc_rm_exe ${LANG_ITALIAN} \
"Cancella tutti i programmi/file di supporto di Vim."
LangString str_ungroup_plugin ${LANG_ITALIAN} \
"Cancella le directory per plugin"
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
"Cancella le directory per plugin se sono vuote."
LangString str_unsection_plugin_home ${LANG_ITALIAN} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
"Cancella le directory per plugin dalla directory HOME."
LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
"Condivise"
LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
"Cancella le directory per plugin dalla directory di installazione di Vim."
LangString str_unsection_rootdir ${LANG_ITALIAN} \
"Cancella la directory di installazione di Vim"
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
"Cancella la directory di installazione di Vim. Contiene i vostri file di configurazione!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
# "Trovate $vim_old_ver_count versioni di Vim sul vostro sistema.$\r$\n\
# Questo programma di installazione può gestire solo \
# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
# Disinstallate qualche versione precedente e ricominciate."
#LangString str_msg_invalid_root ${LANG_ITALIAN} \
# "Nome di directory di installazione non valida: $vim_install_root!$\r$\n\
# Dovrebbe terminare con $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
# "Conflitto nella directory di installazione!$\r$\n$\r$\n\
# Cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
# ma il sistema segnala invece $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_ITALIAN} \
# "Vim ancora in esecuzione sul vostro sistema.$\r$\n\
# Chiudete tutte le sessioni attive di Vim per continuare."
#LangString str_msg_register_ole ${LANG_ITALIAN} \
# "Tentativo di registrazione di Vim con OLE. \
# Non c'è messaggio che indica se è riuscito o no."
#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
# "Tentativo di togliere dal Registry Vim con OLE. \
# Non c'è messaggio che indica se è riuscito o no."
#LangString str_msg_rm_start ${LANG_ITALIAN} \
# "Disinstallazione della seguente versione:"
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
# "Disinstallazione non riuscita per la seguente versione:"
#LangString str_msg_no_rm_key ${LANG_ITALIAN} \
# "Non riesco a trovare chiave di disinstallazione nel Registry."
#LangString str_msg_no_rm_reg ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione nel Registry."
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione."
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
# "Non riesco a copiare programma disinstallazione a una \
# directory temporanea."
#LangString str_msg_rm_run_fail ${LANG_ITALIAN} \
# "Non riesco a eseguire programma disinstallazione."
#LangString str_msg_abort_install ${LANG_ITALIAN} \
# "Il programma di disinstallazione verrà chiuso senza aver fatto nulla."
LangString str_msg_install_fail ${LANG_ITALIAN} \
"Installazione non riuscita. Miglior fortuna alla prossima!"
LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
"Alcuni file in $0 non sono stati cancellati!$\r$\n\
Dovreste cancellarli voi stessi."
#LangString str_msg_rm_root_fail ${LANG_ITALIAN} \
# "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
LangString str_msg_uninstalling ${LANG_ITALIAN} \
"Sto disinstallando la vecchia versione..."
LangString str_msg_registering ${LANG_ITALIAN} \
"Sto aggiungendo Vim al Registry..."
LangString str_msg_unregistering ${LANG_ITALIAN} \
"Sto togliendo Vim dal Registry..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_ITALIAN} \
"Scelta impostazioni _vimrc"
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
"Scelta impostazioni per funzionalità ulteriori, tastiera e mouse."
LangString str_msg_compat_title ${LANG_ITALIAN} \
" comportamento come Vi / Vim "
LangString str_msg_compat_desc ${LANG_ITALIAN} \
"&Compatibilità e funzionalità ulteriori"
LangString str_msg_compat_vi ${LANG_ITALIAN} \
"Compatibile con Vi"
LangString str_msg_compat_vim ${LANG_ITALIAN} \
"Vim originale"
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
"Vim con alcune funzionalità ulteriori (esecuzione defaults.vim)"
LangString str_msg_compat_all ${LANG_ITALIAN} \
"Vim con tutte le funzionalità ulteriori (esecuzione vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_ITALIAN} \
" Mappature "
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
"&Rimappatura di alcuni tasti per Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
LangString str_msg_keymap_default ${LANG_ITALIAN} \
"Non effettuare rimappature di tasti (Default)"
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
"Rimappare solo alcuni tasti"
LangString str_msg_mouse_title ${LANG_ITALIAN} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
"&Comportamento dei pulsanti destro e sinistro"
LangString str_msg_mouse_default ${LANG_ITALIAN} \
"Destro: popup menu, Sinistro: modalità visuale (Default)"
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
"Destro: popup menu, Sinistro: seleziona modalità (Windows)"
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
"Destro: estende selezione, Sinistro: modalità visuale (Unix)"

287
nsis/lang/japanese.nsi Normal file
View File

@ -0,0 +1,287 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# japanese.nsi: Japanese language strings for gvim NSIS installer.
#
# Locale ID : 1041
# fileencoding : UTF-8
# Author : Ken Takata
!insertmacro MUI_LANGUAGE "Japanese"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_JAPANESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_JAPANESE} \
"$(^Name) Uninstall"
# Workarounds for NSIS Japanese translation. The messages are too long.
# These should be better to be fixed by the NSIS upstream.
LangString ^SpaceAvailable ${LANG_JAPANESE} \
"利用可能なディスク容量:"
LangString ^SpaceRequired ${LANG_JAPANESE} \
"必要なディスク容量:"
# Fix another NSIS Japanese translation. The access key was missing.
LangString ^InstallBtn ${LANG_JAPANESE} \
"インストール(&I)"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_JAPANESE} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_JAPANESE} \
"インストール完了後に README を表示する"
# Install types:
LangString str_type_typical ${LANG_JAPANESE} \
"通常"
LangString str_type_minimal ${LANG_JAPANESE} \
"最小"
LangString str_type_full ${LANG_JAPANESE} \
"全て"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_JAPANESE} \
"既存のバージョンをアンインストール"
LangString str_desc_old_ver ${LANG_JAPANESE} \
"すでにインストールされている Vim をシステムから削除します。"
LangString str_section_exe ${LANG_JAPANESE} \
"Vim GUI とランタイムファイル"
LangString str_desc_exe ${LANG_JAPANESE} \
"Vim GUI 実行ファイルとラインタイムファイル。このコンポーネントは必須です。"
LangString str_section_console ${LANG_JAPANESE} \
"Vim コンソールプログラム"
LangString str_desc_console ${LANG_JAPANESE} \
"コンソール版の Vim (vim.exe)。"
LangString str_section_batch ${LANG_JAPANESE} \
".bat ファイルを作成"
LangString str_desc_batch ${LANG_JAPANESE} \
"コマンドラインから Vim と関連コマンドを実行できるように、.bat ファイルを Windows ディレクトリに作成します。"
LangString str_group_icons ${LANG_JAPANESE} \
"Vim のアイコンを作成"
LangString str_desc_icons ${LANG_JAPANESE} \
"Vim を簡単に実行できるように、いくつかの場所にアイコンを作成します。"
LangString str_section_desktop ${LANG_JAPANESE} \
"デスクトップ上"
LangString str_desc_desktop ${LANG_JAPANESE} \
"gVim 実行ファイルのアイコンをデスクトップ上に作成します。"
LangString str_section_start_menu ${LANG_JAPANESE} \
"スタートメニューのプログラムフォルダー上"
LangString str_desc_start_menu ${LANG_JAPANESE} \
"Vim のアイコンをスタートメニューのプログラムフォルダー上に作成します。"
#LangString str_section_quick_launch ${LANG_JAPANESE} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_JAPANESE} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_JAPANESE} \
"Vim のコンテキストメニューを追加"
LangString str_desc_edit_with ${LANG_JAPANESE} \
"$\"Vimで編集する$\" をコンテキストメニューに追加します"
#LangString str_section_edit_with32 ${LANG_JAPANESE} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_JAPANESE} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_JAPANESE} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_JAPANESE} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_JAPANESE} \
"既定のコンフィグを作成"
LangString str_desc_vim_rc ${LANG_JAPANESE} \
"もし無ければ、既定のコンフィグファイル (_vimrc) を作成します。"
LangString str_group_plugin ${LANG_JAPANESE} \
"プラグインディレクトリを作成"
LangString str_desc_plugin ${LANG_JAPANESE} \
"プラグインディレクトリを作成します。そこにプラグインファイルを置くことで Vim を拡張することができます。"
LangString str_section_plugin_home ${LANG_JAPANESE} \
"個人用"
LangString str_desc_plugin_home ${LANG_JAPANESE} \
"プラグインディレクトリをホームディレクトリに作成します。"
LangString str_section_plugin_vim ${LANG_JAPANESE} \
"共用"
LangString str_desc_plugin_vim ${LANG_JAPANESE} \
"プラグインディレクトリを Vim のインストールディレクトリに作成します。システムの全員で共有されます。"
LangString str_section_vis_vim ${LANG_JAPANESE} \
"VisVim 拡張"
LangString str_desc_vis_vim ${LANG_JAPANESE} \
"Microsoft Visual Studio 統合用の VisVim 拡張。"
LangString str_section_nls ${LANG_JAPANESE} \
"多言語サポート"
LangString str_desc_nls ${LANG_JAPANESE} \
"多言語サポート用のファイルをインストールします。"
LangString str_unsection_register ${LANG_JAPANESE} \
"Vim を登録解除"
LangString str_desc_unregister ${LANG_JAPANESE} \
"Vim をシステムから登録解除します。"
LangString str_unsection_exe ${LANG_JAPANESE} \
"Vim の実行ファイル/ランタイムファイルを削除"
LangString str_desc_rm_exe ${LANG_JAPANESE} \
"全ての Vim の実行ファイルとランタイムファイルを削除します。"
LangString str_ungroup_plugin ${LANG_JAPANESE} \
"プラグインディレクトリを削除"
LangString str_desc_rm_plugin ${LANG_JAPANESE} \
"プラグインディレクトリが空であればそれを削除します。"
LangString str_unsection_plugin_home ${LANG_JAPANESE} \
"個人用"
LangString str_desc_rm_plugin_home ${LANG_JAPANESE} \
"プラグインディレクトリをホームディレクトリから削除します。"
LangString str_unsection_plugin_vim ${LANG_JAPANESE} \
"共用"
LangString str_desc_rm_plugin_vim ${LANG_JAPANESE} \
"プラグインディレクトリを Vim のインストールディレクトリから削除します。"
LangString str_unsection_rootdir ${LANG_JAPANESE} \
"Vim のトップディレクトリを削除"
LangString str_desc_rm_rootdir ${LANG_JAPANESE} \
"Vim のトップディレクトリを削除します。あなたの Vim の設定ファイルも含まれていることに注意してください!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_JAPANESE} \
# "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_JAPANESE} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_JAPANESE} \
# "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_JAPANESE} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_JAPANESE} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_JAPANESE} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_JAPANESE} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_JAPANESE} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_JAPANESE} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_JAPANESE} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_JAPANESE} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_JAPANESE} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_JAPANESE} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_JAPANESE} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_JAPANESE} \
"インストールに失敗しました。次はうまくいくことを祈ります。"
LangString str_msg_rm_exe_fail ${LANG_JAPANESE} \
"$0 内の一部のファイルは削除できませんでした!$\r$\n\
手動で削除する必要があります。"
#LangString str_msg_rm_root_fail ${LANG_JAPANESE} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_JAPANESE} \
"古いバージョンをアンインストールしています..."
LangString str_msg_registering ${LANG_JAPANESE} \
"登録中..."
LangString str_msg_unregistering ${LANG_JAPANESE} \
"登録解除中..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_JAPANESE} \
"_vimrc の設定を選んでください"
LangString str_vimrc_page_subtitle ${LANG_JAPANESE} \
"拡張やキーボード、マウスの設定を選んでください。"
LangString str_msg_compat_title ${LANG_JAPANESE} \
" Vi / Vim の動作 "
LangString str_msg_compat_desc ${LANG_JAPANESE} \
"互換性と拡張(&C)"
LangString str_msg_compat_vi ${LANG_JAPANESE} \
"Vi 互換"
LangString str_msg_compat_vim ${LANG_JAPANESE} \
"Vim 独自"
LangString str_msg_compat_defaults ${LANG_JAPANESE} \
"Vim 独自と多少の拡張 (defaults.vim を読み込み)"
LangString str_msg_compat_all ${LANG_JAPANESE} \
"Vim 独自と全ての拡張 (vimrc_example.vim を読み込み) (既定)"
LangString str_msg_keymap_title ${LANG_JAPANESE} \
" マッピング "
LangString str_msg_keymap_desc ${LANG_JAPANESE} \
"Windows用に一部のキーをリマップする(&R) (例: Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F など)"
LangString str_msg_keymap_default ${LANG_JAPANESE} \
"リマップしない (既定)"
LangString str_msg_keymap_windows ${LANG_JAPANESE} \
"リマップする"
LangString str_msg_mouse_title ${LANG_JAPANESE} \
" マウス "
LangString str_msg_mouse_desc ${LANG_JAPANESE} \
"右ボタンと左ボタンの動作(&B)"
LangString str_msg_mouse_default ${LANG_JAPANESE} \
"右:ポップアップメニュー、左:ビジュアルモード (既定)"
LangString str_msg_mouse_windows ${LANG_JAPANESE} \
"右:ポップアップメニュー、左:選択モード (Windows)"
LangString str_msg_mouse_unix ${LANG_JAPANESE} \
"右:選択を拡張、左:ビジュアルモード (Unix)"

277
nsis/lang/simpchinese.nsi Normal file
View File

@ -0,0 +1,277 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# simpchinese.nsi: Simplified Chinese language strings for gvim NSIS
# installer.
#
# Locale ID : 2052
# fileencoding : UTF-8
# Author : Guopeng Wen
!insertmacro MUI_LANGUAGE "SimpChinese"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SIMPCHINESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_SIMPCHINESE} \
# "安装路径 (必须以 vim 结尾)"
LangString str_show_readme ${LANG_SIMPCHINESE} \
"安装完成后显示 README 文件"
# Install types:
LangString str_type_typical ${LANG_SIMPCHINESE} \
"典型安装"
LangString str_type_minimal ${LANG_SIMPCHINESE} \
"最小安装"
LangString str_type_full ${LANG_SIMPCHINESE} \
"完全安装"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_SIMPCHINESE} \
"卸载旧版本"
LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
"卸载系统上旧版本的 Vim。"
LangString str_section_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面"
LangString str_desc_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面及脚本。此为必选安装。"
LangString str_section_console ${LANG_SIMPCHINESE} \
"安装 Vim 命令行程序"
LangString str_desc_console ${LANG_SIMPCHINESE} \
"安装 Vim 命令行程序 (vim.exe)。该程序在命令行窗口中运行。"
LangString str_section_batch ${LANG_SIMPCHINESE} \
"安装批处理文件"
LangString str_desc_batch ${LANG_SIMPCHINESE} \
"为 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。"
LangString str_section_start_menu ${LANG_SIMPCHINESE} \
"在启动菜单的程序菜单下"
LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
"在启动菜单的程序菜单下添加 Vim 组。适用于 Windows 95 及以上版本。"
#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
# "在快速启动启动栏中"
#LangString str_desc_quick_launch ${LANG_SIMPCHINESE} \
# "在快速启动栏中添加 Vim 图标。"
LangString str_section_edit_with ${LANG_SIMPCHINESE} \
"安装快捷菜单"
LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
"将 Vim 添加到“打开方式”快捷菜单中。"
#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
# "32 位版本"
#LangString str_desc_edit_with32 ${LANG_SIMPCHINESE} \
# "将 Vim 添加到 32 位程序的“打开方式”快捷菜单中。"
#LangString str_section_edit_with64 ${LANG_SIMPCHINESE} \
# "64 位版本"
#LangString str_desc_edit_with64 ${LANG_SIMPCHINESE} \
# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
"创建缺省配置文件"
LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
"在安装目录下生成缺省的 Vim 配置文件(_vimrc)。\
如果该文件已经存在,则略过此项。"
LangString str_group_plugin ${LANG_SIMPCHINESE} \
"创建插件目录"
LangString str_desc_plugin ${LANG_SIMPCHINESE} \
"创建(空的)插件目录结构。插件目录用于安装 Vim 扩展插件,\
只要将文件复制到相关的子目录中即可。"
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} \
"公共插件目录"
LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
"在 Vim 安装目录下创建(空的)插件目录结构,系统上所有用户都能使用安装在\
该目录下的扩展插件。"
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
"安装 VisVim 插件"
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
"安装用于与微软 Microsoft Visual Studio 进行集成的 VisVim 插件。"
LangString str_section_nls ${LANG_SIMPCHINESE} \
"安装多语言支持"
LangString str_desc_nls ${LANG_SIMPCHINESE} \
"安装用于多语言支持的文件。"
LangString str_unsection_register ${LANG_SIMPCHINESE} \
"删除 Vim 系统配置"
LangString str_desc_unregister ${LANG_SIMPCHINESE} \
"删除和 Vim 相关的系统配置。"
LangString str_unsection_exe ${LANG_SIMPCHINESE} \
"删除 Vim 执行文件以及脚本"
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."
LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_SIMPCHINESE} \
# "您的系统上安装了 $vim_old_ver_count 个不同版本的 Vim$\r$\n\
# 但本安装程序最多只能处理 ${VIM_MAX_OLD_VER} 个版本。$\r$\n\
# 请您手工删除一些旧版本以后再运行本安装程序。"
#LangString str_msg_invalid_root ${LANG_SIMPCHINESE} \
# "安装路径“$vim_install_root”无效$\r$\n\
# 该路径必须以 vim 结尾。"
#LangString str_msg_bin_mismatch ${LANG_SIMPCHINESE} \
# "Vim 执行程序安装路径异常!$\r$\n$\r$\n\
# 该版本 Vim 的执行程序安装路径应该是“$vim_bin_path”,$\r$\n\
# 而系统却指示该路径为“$INSTDIR”。"
#LangString str_msg_vim_running ${LANG_SIMPCHINESE} \
# "您的系统上仍有 Vim 在运行,$\r$\n\
# 请您在执行后续步骤前退出这些 Vim。"
#LangString str_msg_register_ole ${LANG_SIMPCHINESE} \
# "试图注册 Vim OLE 服务器。请注意无论成功与否都不再显示进一步的信息。"
#LangString str_msg_unreg_ole ${LANG_SIMPCHINESE} \
# "试图注销 Vim OLE 服务器。请注意无论成功与否都不再显示进一步的信息。"
#LangString str_msg_rm_start ${LANG_SIMPCHINESE} \
# "开始卸载以下版本:"
#LangString str_msg_rm_fail ${LANG_SIMPCHINESE} \
# "以下版本卸载失败:"
#LangString str_msg_no_rm_key ${LANG_SIMPCHINESE} \
# "找不到卸载程序的注册表键。"
#LangString str_msg_no_rm_reg ${LANG_SIMPCHINESE} \
# "在注册表中未找到卸载程序路径。"
#LangString str_msg_no_rm_exe ${LANG_SIMPCHINESE} \
# "找不到卸载程序。"
#LangString str_msg_rm_copy_fail ${LANG_SIMPCHINESE} \
# "无法将卸载程序复制到临时目录。"
#LangString str_msg_rm_run_fail ${LANG_SIMPCHINESE} \
# "执行卸载程序失败。"
#LangString str_msg_abort_install ${LANG_SIMPCHINESE} \
# "安装程序将退出。"
LangString str_msg_install_fail ${LANG_SIMPCHINESE} \
"安装失败。祝您下次好运。"
LangString str_msg_rm_exe_fail ${LANG_SIMPCHINESE} \
"目录“$0”下有部分文件删除失败$\r$\n\
您只能手工删除该目录。"
#LangString str_msg_rm_root_fail ${LANG_SIMPCHINESE} \
# "警告:无法删除 Vim 安装目录“$vim_install_root”\
# 该目录下仍有其他文件。"
LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_SIMPCHINESE} \
"Registering..."
LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
"Choose _vimrc settings"
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 "
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
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)"
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"
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)"
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
"Right: extends selection, Left: visual mode (Unix)"

278
nsis/lang/tradchinese.nsi Normal file
View File

@ -0,0 +1,278 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# tradchinese.nsi: Traditional Chinese language strings for gvim NSIS
# installer.
#
# Locale ID : 1028
# fileencoding : UTF-8
# Author : Guopeng Wen
!insertmacro MUI_LANGUAGE "TradChinese"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_TRADCHINESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_TRADCHINESE} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_TRADCHINESE} \
# "安裝資料夾 (必須以 vim 結尾)"
LangString str_show_readme ${LANG_TRADCHINESE} \
"安裝完成後顯示 README 檔案"
# Install types:
LangString str_type_typical ${LANG_TRADCHINESE} \
"典型安裝"
LangString str_type_minimal ${LANG_TRADCHINESE} \
"最小安裝"
LangString str_type_full ${LANG_TRADCHINESE} \
"完全安裝"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_TRADCHINESE} \
"移除舊版本"
LangString str_desc_old_ver ${LANG_TRADCHINESE} \
"移除閣下電腦上舊版本的 Vim。"
LangString str_section_exe ${LANG_TRADCHINESE} \
"安裝 Vim 圖形界面程式"
LangString str_desc_exe ${LANG_TRADCHINESE} \
"安裝 Vim 圖形界面程式及腳本。此為必選安裝。"
LangString str_section_console ${LANG_TRADCHINESE} \
"安裝 Vim 命令行程式"
LangString str_desc_console ${LANG_TRADCHINESE} \
"安裝 Vim 命令行程式 (vim.exe)。該程式在控制臺窗口中運行。"
LangString str_section_batch ${LANG_TRADCHINESE} \
"安裝批次檔案"
LangString str_desc_batch ${LANG_TRADCHINESE} \
"為 Vim 的各種變體創建批次檔,以便在命令行下啟動 Vim。"
LangString str_group_icons ${LANG_TRADCHINESE} \
"建立 Vim 圖示"
LangString str_desc_icons ${LANG_TRADCHINESE} \
"建立若干 Vim 圖示,以便于使用 Vim。"
LangString str_section_desktop ${LANG_TRADCHINESE} \
"於桌面"
LangString str_desc_desktop ${LANG_TRADCHINESE} \
"建立若干 Vim 圖示於桌面上,以方便啟動 Vim。"
LangString str_section_start_menu ${LANG_TRADCHINESE} \
"於「開始」功能表的「程式」集"
LangString str_desc_start_menu ${LANG_TRADCHINESE} \
"在「開始」功能表的「程式」集中建立 Vim 啟動組。\
適用于 Windows 95 及以上版本。"
#LangString str_section_quick_launch ${LANG_TRADCHINESE} \
# "於快速啟動列"
#LangString str_desc_quick_launch ${LANG_TRADCHINESE} \
# "在快速啟動列中建立 Vim 圖示。"
LangString str_section_edit_with ${LANG_TRADCHINESE} \
"安裝快捷選單"
LangString str_desc_edit_with ${LANG_TRADCHINESE} \
"在「打開方式」快捷選單中添加 Vim 項。"
#LangString str_section_edit_with32 ${LANG_TRADCHINESE} \
# "32 位元版本"
#LangString str_desc_edit_with32 ${LANG_TRADCHINESE} \
# "在 32 位元程式的「打開方式」快捷選單中添加 Vim 項。"
#LangString str_section_edit_with64 ${LANG_TRADCHINESE} \
# "64 位元版本"
#LangString str_desc_edit_with64 ${LANG_TRADCHINESE} \
# "在 64 位元程式的「打開方式」快捷選單中添加 Vim 項。"
LangString str_section_vim_rc ${LANG_TRADCHINESE} \
"建立默認設定檔"
LangString str_desc_vim_rc ${LANG_TRADCHINESE} \
"在安裝資料夾下建立默認的 Vim 設定檔(_vimrc)。\
若該設定檔已經存在,則略過此項。"
LangString str_group_plugin ${LANG_TRADCHINESE} \
"建立插件資料夾"
LangString str_desc_plugin ${LANG_TRADCHINESE} \
"建立(空的)插件資料夾結構。插件資料夾用于安裝 Vim 的擴展插件,\
只要將檔案復制到相關的子資料夾中即可。"
LangString str_section_plugin_home ${LANG_TRADCHINESE} \
"建立插件資料夾"
LangString str_desc_plugin_home ${LANG_TRADCHINESE} \
"Create plugin directories in HOME directory."
LangString str_section_plugin_vim ${LANG_TRADCHINESE} \
"建立共享插件資料夾"
LangString str_desc_plugin_vim ${LANG_TRADCHINESE} \
"在 Vim 安裝資料夾下建立(空的)插件資料夾結構,電腦上所有用戶都能使用安裝\
在該資料夾里的擴展插件。"
LangString str_section_vis_vim ${LANG_TRADCHINESE} \
"安裝 VisVim 插件"
LangString str_desc_vis_vim ${LANG_TRADCHINESE} \
"VisVim 是用于與微軟 Microsoft Visual Studio 軟體進行整合的插件。"
LangString str_section_nls ${LANG_TRADCHINESE} \
"安裝本地語言支持"
LangString str_desc_nls ${LANG_TRADCHINESE} \
"安裝用于支持本地語言的檔案。"
LangString str_unsection_register ${LANG_TRADCHINESE} \
"移除 Vim 系統設定"
LangString str_desc_unregister ${LANG_TRADCHINESE} \
"移除與 Vim 相關的系統設定。"
LangString str_unsection_exe ${LANG_TRADCHINESE} \
"移除 Vim 程式及腳本"
LangString str_desc_rm_exe ${LANG_TRADCHINESE} \
"移除所有的 Vim 程式及腳本。"
LangString str_ungroup_plugin ${LANG_TRADCHINESE} \
"Remove plugin directories"
LangString str_desc_rm_plugin ${LANG_TRADCHINESE} \
"Remove the plugin directories if they are empty."
LangString str_unsection_plugin_home ${LANG_TRADCHINESE} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_TRADCHINESE} \
"Remove the vimfiles directory in HOME directory."
LangString str_unsection_plugin_vim ${LANG_TRADCHINESE} \
"Shared"
LangString str_desc_rm_plugin_vim ${LANG_TRADCHINESE} \
"Remove the vimfiles directory in Vim install directory."
LangString str_unsection_rootdir ${LANG_TRADCHINESE} \
"Remove the Vim root directory"
LangString str_desc_rm_rootdir ${LANG_TRADCHINESE} \
"Remove the Vim root directory. It contains your Vim configuration files!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_TRADCHINESE} \
# "閣下的電腦上安裝了 $vim_old_ver_count 個不同版本的 Vim$\r$\n\
# 但是本安裝程式最多只能處理 ${VIM_MAX_OLD_VER} 個版本。$\r$\n\
# 煩請閣下手工移除一些版本以后再運行本安裝程式。"
#LangString str_msg_invalid_root ${LANG_TRADCHINESE} \
# "安裝資料夾「$vim_install_root」無效$\r$\n\
# 該資料夾必須以「vim」結尾。"
#LangString str_msg_bin_mismatch ${LANG_TRADCHINESE} \
# "Vim 執行程式安裝路徑異常!$\r$\n$\r$\n\
# 該版本 Vim 的執行程式安裝路徑應該是「$vim_bin_path」,$\r$\n\
# 而系統卻指示該路徑為「$INSTDIR」。"
#LangString str_msg_vim_running ${LANG_TRADCHINESE} \
# "閣下的電腦上尚有正在運行之 Vim$\r$\n\
# 煩請閣下在執行后續步驟前將其全部退出。"
#LangString str_msg_register_ole ${LANG_TRADCHINESE} \
# "試圖注冊 Vim OLE 伺服程式。請注意不論成功與否都不再顯示進一步的信息。"
#LangString str_msg_unreg_ole ${LANG_TRADCHINESE} \
# "試圖注銷 Vim OLE 伺服程式。請注意不論成功與否都不再顯示進一步的信息。"
#LangString str_msg_rm_start ${LANG_TRADCHINESE} \
# "正移除如下版本:"
#LangString str_msg_rm_fail ${LANG_TRADCHINESE} \
# "以下版本移除失敗:"
#LangString str_msg_no_rm_key ${LANG_TRADCHINESE} \
# "找不到反安裝程式的登錄檔入口。"
#LangString str_msg_no_rm_reg ${LANG_TRADCHINESE} \
# "在登錄檔中未找到反安裝程式路徑。"
#LangString str_msg_no_rm_exe ${LANG_TRADCHINESE} \
# "找不到反安裝程式。"
#LangString str_msg_rm_copy_fail ${LANG_TRADCHINESE} \
# "無法將法將反安裝程式复制到臨時目錄。"
#LangString str_msg_rm_run_fail ${LANG_TRADCHINESE} \
# "執行反安裝程式失敗。"
#LangString str_msg_abort_install ${LANG_TRADCHINESE} \
# "安裝程式將退出。"
LangString str_msg_install_fail ${LANG_TRADCHINESE} \
"安裝失敗。預祝下次好運。"
LangString str_msg_rm_exe_fail ${LANG_TRADCHINESE} \
"資料夾「$0」下有部分檔案未能移除$\r$\n\
閣下只能手工移除該資料夾。"
#LangString str_msg_rm_root_fail ${LANG_TRADCHINESE} \
# "警告:無法刪除 Vim 安裝資料夾「$vim_install_root」\
# 該資料夾下仍有其他檔案。"
LangString str_msg_uninstalling ${LANG_TRADCHINESE} \
"Uninstalling the old version..."
LangString str_msg_registering ${LANG_TRADCHINESE} \
"Registering..."
LangString str_msg_unregistering ${LANG_TRADCHINESE} \
"Unregistering..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_TRADCHINESE} \
"Choose _vimrc settings"
LangString str_vimrc_page_subtitle ${LANG_TRADCHINESE} \
"Choose the settings for enhancement, keyboard and mouse."
LangString str_msg_compat_title ${LANG_TRADCHINESE} \
" Vi / Vim behavior "
LangString str_msg_compat_desc ${LANG_TRADCHINESE} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_TRADCHINESE} \
"Vi compatible"
LangString str_msg_compat_vim ${LANG_TRADCHINESE} \
"Vim original"
LangString str_msg_compat_defaults ${LANG_TRADCHINESE} \
"Vim with some enhancements (load defaults.vim)"
LangString str_msg_compat_all ${LANG_TRADCHINESE} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_TRADCHINESE} \
" Mappings "
LangString str_msg_keymap_desc ${LANG_TRADCHINESE} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
LangString str_msg_keymap_default ${LANG_TRADCHINESE} \
"Do not remap keys (Default)"
LangString str_msg_keymap_windows ${LANG_TRADCHINESE} \
"Remap a few keys"
LangString str_msg_mouse_title ${LANG_TRADCHINESE} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_TRADCHINESE} \
"&Behavior of right and left buttons"
LangString str_msg_mouse_default ${LANG_TRADCHINESE} \
"Right: popup menu, Left: visual mode (Default)"
LangString str_msg_mouse_windows ${LANG_TRADCHINESE} \
"Right: popup menu, Left: select mode (Windows)"
LangString str_msg_mouse_unix ${LANG_TRADCHINESE} \
"Right: extends selection, Left: visual mode (Unix)"

View File

@ -0,0 +1,62 @@
" Author: Antony Lee <anntzer.lee@gmail.com>
" Description: Helper functions for reStructuredText syntax folding
" Last Modified: 2018-12-29
function s:CacheRstFold()
if !g:rst_fold_enabled
return
endif
let closure = {'header_types': {}, 'max_level': 0, 'levels': {}}
function closure.Process(match) dict
let curline = getcurpos()[1]
if has_key(self.levels, curline - 1)
" For over+under-lined headers, the regex will match both at the
" overline and at the title itself; in that case, skip the second match.
return
endif
let lines = split(a:match, '\n')
let key = repeat(lines[-1][0], len(lines))
if !has_key(self.header_types, key)
let self.max_level += 1
let self.header_types[key] = self.max_level
endif
let self.levels[curline] = self.header_types[key]
endfunction
let save_cursor = getcurpos()
let save_mark = getpos("'[")
silent keeppatterns %s/\v^%(%(([=`:.'"~^_*+#-])\1+\n)?.{1,2}\n([=`:.'"~^_*+#-])\2+)|%(%(([=`:.''"~^_*+#-])\3{2,}\n)?.{3,}\n([=`:.''"~^_*+#-])\4{2,})$/\=closure.Process(submatch(0))/gn
call setpos('.', save_cursor)
call setpos("'[", save_mark)
let b:RstFoldCache = closure.levels
endfunction
function RstFold#GetRstFold()
if !g:rst_fold_enabled
return
endif
if !has_key(b:, 'RstFoldCache')
call s:CacheRstFold()
endif
if has_key(b:RstFoldCache, v:lnum)
return '>' . b:RstFoldCache[v:lnum]
else
return '='
endif
endfunction
function RstFold#GetRstFoldText()
if !g:rst_fold_enabled
return
endif
if !has_key(b:, 'RstFoldCache')
call s:CacheRstFold()
endif
let indent = repeat(' ', b:RstFoldCache[v:foldstart] - 1)
let thisline = getline(v:foldstart)
" For over+under-lined headers, skip the overline.
let text = thisline =~ '^\([=`:.''"~^_*+#-]\)\1\+$' ? getline(v:foldstart + 1) : thisline
return indent . text
endfunction

View File

@ -591,7 +591,7 @@ function ada#Map_Menu (Text, Keys, Command)
\" :" . a:Command
execute
\ "inoremap <buffer>" .
\ " <Learder>a" . a:Keys .
\ " <Leader>a" . a:Keys .
\" <C-O>:" . a:Command
endif
return

View File

@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Jun 20
" Last Change: 2018 Aug 20
let s:cpo_save = &cpo
set cpo&vim
@ -72,8 +72,10 @@ function! ccomplete#Complete(findstart, base)
" Split item in words, keep empty word after "." or "->".
" "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
" We can't use split, because we need to skip nested [...].
" "aa[...]" -> ['aa', '[...]'], "aa.bb[...]" -> ['aa', 'bb', '[...]'], etc.
let items = []
let s = 0
let arrays = 0
while 1
let e = match(base, '\.\|->\|\[', s)
if e < 0
@ -107,6 +109,7 @@ function! ccomplete#Complete(findstart, base)
endwhile
let e += 1
call add(items, strpart(base, s, e - s))
let arrays += 1
let s = e
endif
endwhile
@ -161,15 +164,26 @@ function! ccomplete#Complete(findstart, base)
endif
endif
let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}]
elseif len(items) == arrays + 1
" Completing one word and it's a local array variable: build tagline
" from declaration line
let match = items[0]
let kind = 'v'
let tagline = "\t/^" . line . '$/'
let res = [{'match': match, 'tagline' : tagline, 'kind' : kind, 'info' : line}]
else
" Completing "var.", "var.something", etc.
let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
endif
endif
if len(items) == 1
if len(items) == 1 || len(items) == arrays + 1
" Only one part, no "." or "->": complete from tags file.
let tags = taglist('^' . base)
if len(items) == 1
let tags = taglist('^' . base)
else
let tags = taglist('^' . items[0] . '$')
endif
" Remove members, these can't appear without something in front.
call filter(tags, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1')
@ -516,11 +530,24 @@ function! s:StructMembers(typename, items, all)
endif
endif
" Skip over [...] items
let idx = 0
while 1
if idx >= len(a:items)
let target = '' " No further items, matching all members
break
endif
if a:items[idx][0] != '['
let target = a:items[idx]
break
endif
let idx += 1
endwhile
" Put matching members in matches[].
let matches = []
for l in qflist
let memb = matchstr(l['text'], '[^\t]*')
if memb =~ '^' . a:items[0]
if memb =~ '^' . target
" Skip matches local to another file.
if match(l['text'], "\tfile:") < 0 || bufnr('%') == bufnr(matchstr(l['text'], '\t\zs[^\t]*'))
let item = {'match': memb, 'tagline': l['text']}
@ -540,8 +567,8 @@ function! s:StructMembers(typename, items, all)
endfor
if len(matches) > 0
" Skip over [...] items
let idx = 1
" Skip over next [...] items
let idx += 1
while 1
if idx >= len(a:items)
return matches " No further items, return the result.

View File

@ -4,7 +4,7 @@
" plus CSS Speech Module <http://www.w3.org/TR/css3-speech/>
" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
" Original Author: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2016 Jan 11
" Last Change: 2018 Jul 02
let s:values = split("all additive-symbols align-content align-items align-self animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-repeat background-size block-size border border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip clip-path color columns column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width content counter-increment counter-reset cue cue-before cue-after cursor direction display empty-cells fallback filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float font font-family font-feature-settings font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid grid-area grid-auto-columns grid-auto-flow grid-auto-position grid-auto-rows grid-column grid-column-start grid-column-end grid-row grid-row-start grid-row-end grid-template grid-template-areas grid-template-rows grid-template-columns height hyphens image-rendering image-resolution image-orientation ime-mode inline-size isolation justify-content left letter-spacing line-break line-height list-style list-style-image list-style-position list-style-type margin margin-block-end margin-block-start margin-bottom margin-inline-end margin-inline-start margin-left margin-right margin-top marks mask mask-type max-block-size max-height max-inline-size max-width max-zoom min-block-size min-height min-inline-size min-width min-zoom mix-blend-mode negative object-fit object-position offset-block-end offset-block-start offset-inline-end offset-inline-start opacity order orientation orphans outline outline-color outline-offset outline-style outline-width overflow overflow-wrap overflow-x overflow-y pad padding padding-block-end padding-block-start padding-bottom padding-inline-end padding-inline-start padding-left padding-right padding-top page-break-after page-break-before page-break-inside pause-before pause-after pause perspective perspective-origin pointer-events position prefix quotes range resize rest rest-before rest-after right ruby-align ruby-merge ruby-position scroll-behavior scroll-snap-coordinate scroll-snap-destination scroll-snap-points-x scroll-snap-points-y scroll-snap-type scroll-snap-type-x scroll-snap-type-y shape-image-threshold shape-margin shape-outside speak speak-as suffix symbols system table-layout tab-size text-align text-align-last text-combine-upright text-decoration text-decoration-color text-decoration-line text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-orientation text-overflow text-rendering text-shadow text-transform text-underline-position top touch-action transform transform-box transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi unicode-range user-zoom vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-rate voice-range voice-stress voice-volume white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index zoom")
@ -19,7 +19,6 @@ function! csscomplete#CompleteCSS(findstart, base)
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
let start -= 1
endwhile
let b:after = line[compl_begin :]
let b:compl_context = line[0:compl_begin]
return start
endif
@ -37,11 +36,14 @@ function! csscomplete#CompleteCSS(findstart, base)
" 5. if @ complete at-rule
" 6. if ! complete important
if exists("b:compl_context")
let line = getline('.')
let compl_begin = col('.') - 2
let after = line[compl_begin:]
let line = b:compl_context
let after = b:after
unlet! b:compl_context
else
let line = a:base
let after = ''
endif
let res = []

757
runtime/autoload/dist/ft.vim vendored Normal file
View File

@ -0,0 +1,757 @@
" Vim functions for file type detection
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 18
" These functions are moved here from runtime/filetype.vim to make startup
" faster.
" Line continuation is used here, remove 'C' from 'cpoptions'
let s:cpo_save = &cpo
set cpo&vim
func dist#ft#Check_inp()
if getline(1) =~ '^\*'
setf abaqus
else
let n = 1
if line("$") > 500
let nmax = 500
else
let nmax = line("$")
endif
while n <= nmax
if getline(n) =~? "^header surface data"
setf trasys
break
endif
let n = n + 1
endwhile
endif
endfunc
" This function checks for the kind of assembly that is wanted by the user, or
" can be detected from the first five lines of the file.
func dist#ft#FTasm()
" make sure b:asmsyntax exists
if !exists("b:asmsyntax")
let b:asmsyntax = ""
endif
if b:asmsyntax == ""
call dist#ft#FTasmsyntax()
endif
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
if b:asmsyntax == ""
if exists("g:asmsyntax")
let b:asmsyntax = g:asmsyntax
else
let b:asmsyntax = "asm"
endif
endif
exe "setf " . fnameescape(b:asmsyntax)
endfunc
func dist#ft#FTasmsyntax()
" see if file contains any asmsyntax=foo overrides. If so, change
" b:asmsyntax appropriately
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
\" ".getline(5)." "
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
if match != ''
let b:asmsyntax = match
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
let b:asmsyntax = "vmasm"
endif
endfunc
" Check if one of the first five lines contains "VB_Name". In that case it is
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
func dist#ft#FTVB(alt)
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
setf vb
else
exe "setf " . a:alt
endif
endfunc
func dist#ft#FTbtm()
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
setf dosbatch
else
setf btm
endif
endfunc
func dist#ft#BindzoneCheck(default)
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
setf bindzone
elseif a:default != ''
exe 'setf ' . a:default
endif
endfunc
func dist#ft#FTlpc()
if exists("g:lpc_syntax_for_c")
let lnum = 1
while lnum <= 12
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)'
setf lpc
return
endif
let lnum = lnum + 1
endwhile
endif
setf c
endfunc
func dist#ft#FTheader()
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
if exists("g:c_syntax_for_h")
setf objc
else
setf objcpp
endif
elseif exists("g:c_syntax_for_h")
setf c
elseif exists("g:ch_syntax_for_h")
setf ch
else
setf cpp
endif
endfunc
" This function checks if one of the first ten lines start with a '@'. In
" that case it is probably a change file.
" If the first line starts with # or ! it's probably a ch file.
" If a line has "main", "include", "//" or "/*" it's probably ch.
" Otherwise CHILL is assumed.
func dist#ft#FTchange()
let lnum = 1
while lnum <= 10
if getline(lnum)[0] == '@'
setf change
return
endif
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!')
setf ch
return
endif
if getline(lnum) =~ "MODULE"
setf chill
return
endif
if getline(lnum) =~ 'main\s*(\|#\s*include\|//'
setf ch
return
endif
let lnum = lnum + 1
endwhile
setf chill
endfunc
func dist#ft#FTent()
" This function checks for valid cl syntax in the first five lines.
" Look for either an opening comment, '#', or a block start, '{".
" If not found, assume SGML.
let lnum = 1
while lnum < 6
let line = getline(lnum)
if line =~ '^\s*[#{]'
setf cl
return
elseif line !~ '^\s*$'
" Not a blank line, not a comment, and not a block start,
" so doesn't look like valid cl code.
break
endif
let lnum = lnum + 1
endw
setf dtd
endfunc
func dist#ft#EuphoriaCheck()
if exists('g:filetype_euphoria')
exe 'setf ' . g:filetype_euphoria
else
setf euphoria3
endif
endfunc
func dist#ft#DtraceCheck()
let lines = getline(1, min([line("$"), 100]))
if match(lines, '^module\>\|^import\>') > -1
" D files often start with a module and/or import statement.
setf d
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
setf dtrace
else
setf d
endif
endfunc
func dist#ft#FTe()
if exists('g:filetype_euphoria')
exe 'setf ' . g:filetype_euphoria
else
let n = 1
while n < 100 && n < line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
setf specman
return
endif
let n = n + 1
endwhile
setf eiffel
endif
endfunc
" Distinguish between HTML, XHTML and Django
func dist#ft#FThtml()
let n = 1
while n < 10 && n < line("$")
if getline(n) =~ '\<DTD\s\+XHTML\s'
setf xhtml
return
endif
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
setf htmldjango
return
endif
let n = n + 1
endwhile
setf html
endfunc
" Distinguish between standard IDL and MS-IDL
func dist#ft#FTidl()
let n = 1
while n < 50 && n < line("$")
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
setf msidl
return
endif
let n = n + 1
endwhile
setf idl
endfunc
" Distinguish between "default" and Cproto prototype file. */
func dist#ft#ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have
" comments, thus we can't match comments to see the difference.
" IDL files can have a single ';' in the second line, require at least one
" chacter before the ';'.
if getline(2) =~ '.;$'
setf cpp
else
exe 'setf ' . a:default
endif
endfunc
func dist#ft#FTm()
let n = 1
let saw_comment = 0 " Whether we've seen a multiline comment leader.
while n < 100
let line = getline(n)
if line =~ '^\s*/\*'
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
" it's either of them yet, but track this as a hint in case we don't see
" anything more definitive.
let saw_comment = 1
endif
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
setf objc
return
endif
if line =~ '^\s*%'
setf matlab
return
endif
if line =~ '^\s*(\*'
setf mma
return
endif
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
setf murphi
return
endif
let n = n + 1
endwhile
if saw_comment
" We didn't see anything definitive, but this looks like either Objective C
" or Murphi based on the comment leader. Assume the former as it is more
" common.
setf objc
elseif exists("g:filetype_m")
" Use user specified default filetype for .m
exe "setf " . g:filetype_m
else
" Default is matlab
setf matlab
endif
endfunc
func dist#ft#FTmms()
let n = 1
while n < 10
let line = getline(n)
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
setf mmix
return
endif
if line =~ '^\s*#'
setf make
return
endif
let n = n + 1
endwhile
setf mmix
endfunc
" This function checks if one of the first five lines start with a dot. In
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
func dist#ft#FTnroff()
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
setf nroff
return 1
endif
return 0
endfunc
func dist#ft#FTmm()
let n = 1
while n < 10
let line = getline(n)
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
setf objcpp
return
endif
let n = n + 1
endwhile
setf nroff
endfunc
func dist#ft#FTpl()
if exists("g:filetype_pl")
exe "setf " . g:filetype_pl
else
" recognize Prolog by specific text in the first non-empty line
" require a blank after the '%' because Perl uses "%list" and "%translate"
let l = getline(nextnonblank(1))
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
setf prolog
else
setf perl
endif
endif
endfunc
func dist#ft#FTinc()
if exists("g:filetype_inc")
exe "setf " . g:filetype_inc
else
let lines = getline(1).getline(2).getline(3)
if lines =~? "perlscript"
setf aspperl
elseif lines =~ "<%"
setf aspvbs
elseif lines =~ "<?"
setf php
else
call dist#ft#FTasmsyntax()
if exists("b:asmsyntax")
exe "setf " . fnameescape(b:asmsyntax)
else
setf pov
endif
endif
endif
endfunc
func dist#ft#FTprogress_cweb()
if exists("g:filetype_w")
exe "setf " . g:filetype_w
return
endif
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE'
setf progress
else
setf cweb
endif
endfunc
func dist#ft#FTprogress_asm()
if exists("g:filetype_i")
exe "setf " . g:filetype_i
return
endif
" This function checks for an assembly comment the first ten lines.
" If not found, assume Progress.
let lnum = 1
while lnum <= 10 && lnum < line('$')
let line = getline(lnum)
if line =~ '^\s*;' || line =~ '^\*'
call dist#ft#FTasm()
return
elseif line !~ '^\s*$' || line =~ '^/\*'
" Not an empty line: Doesn't look like valid assembly code.
" Or it looks like a Progress /* comment
break
endif
let lnum = lnum + 1
endw
setf progress
endfunc
func dist#ft#FTprogress_pascal()
if exists("g:filetype_p")
exe "setf " . g:filetype_p
return
endif
" This function checks for valid Pascal syntax in the first ten lines.
" Look for either an opening comment or a program start.
" If not found, assume Progress.
let lnum = 1
while lnum <= 10 && lnum < line('$')
let line = getline(lnum)
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
setf pascal
return
elseif line !~ '^\s*$' || line =~ '^/\*'
" Not an empty line: Doesn't look like valid Pascal code.
" Or it looks like a Progress /* comment
break
endif
let lnum = lnum + 1
endw
setf progress
endfunc
func dist#ft#FTr()
let max = line("$") > 50 ? 50 : line("$")
for n in range(1, max)
" Rebol is easy to recognize, check for that first
if getline(n) =~? '\<REBOL\>'
setf rebol
return
endif
endfor
for n in range(1, max)
" R has # comments
if getline(n) =~ '^\s*#'
setf r
return
endif
" Rexx has /* comments */
if getline(n) =~ '^\s*/\*'
setf rexx
return
endif
endfor
" Nothing recognized, use user default or assume Rexx
if exists("g:filetype_r")
exe "setf " . g:filetype_r
else
" Rexx used to be the default, but R appears to be much more popular.
setf r
endif
endfunc
func dist#ft#McSetf()
" Rely on the file to start with a comment.
" MS message text files use ';', Sendmail files use '#' or 'dnl'
for lnum in range(1, min([line("$"), 20]))
let line = getline(lnum)
if line =~ '^\s*\(#\|dnl\)'
setf m4 " Sendmail .mc file
return
elseif line =~ '^\s*;'
setf msmessages " MS Message text file
return
endif
endfor
setf m4 " Default: Sendmail .mc file
endfunc
" Called from filetype.vim and scripts.vim.
func dist#ft#SetFileTypeSH(name)
if did_filetype()
" Filetype was already detected
return
endif
if expand("<amatch>") =~ g:ft_ignore_pat
return
endif
if a:name =~ '\<csh\>'
" Some .sh scripts contain #!/bin/csh.
call dist#ft#SetFileTypeShell("csh")
return
elseif a:name =~ '\<tcsh\>'
" Some .sh scripts contain #!/bin/tcsh.
call dist#ft#SetFileTypeShell("tcsh")
return
elseif a:name =~ '\<zsh\>'
" Some .sh scripts contain #!/bin/zsh.
call dist#ft#SetFileTypeShell("zsh")
return
elseif a:name =~ '\<ksh\>'
let b:is_kornshell = 1
if exists("b:is_bash")
unlet b:is_bash
endif
if exists("b:is_sh")
unlet b:is_sh
endif
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>'
let b:is_bash = 1
if exists("b:is_kornshell")
unlet b:is_kornshell
endif
if exists("b:is_sh")
unlet b:is_sh
endif
elseif a:name =~ '\<sh\>'
let b:is_sh = 1
if exists("b:is_kornshell")
unlet b:is_kornshell
endif
if exists("b:is_bash")
unlet b:is_bash
endif
endif
call dist#ft#SetFileTypeShell("sh")
endfunc
" For shell-like file types, check for an "exec" command hidden in a comment,
" as used for Tcl.
" Also called from scripts.vim, thus can't be local to this script.
func dist#ft#SetFileTypeShell(name)
if did_filetype()
" Filetype was already detected
return
endif
if expand("<amatch>") =~ g:ft_ignore_pat
return
endif
let l = 2
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
" Skip empty and comment lines.
let l = l + 1
endwhile
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
" Found an "exec" line after a comment with continuation
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '')
if n =~ '\<tclsh\|\<wish'
setf tcl
return
endif
endif
exe "setf " . a:name
endfunc
func dist#ft#CSH()
if did_filetype()
" Filetype was already detected
return
endif
if exists("g:filetype_csh")
call dist#ft#SetFileTypeShell(g:filetype_csh)
elseif &shell =~ "tcsh"
call dist#ft#SetFileTypeShell("tcsh")
else
call dist#ft#SetFileTypeShell("csh")
endif
endfunc
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
func dist#ft#FTRules()
let path = expand('<amatch>:p')
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
setf udevrules
return
endif
if path =~ '^/etc/ufw/'
setf conf " Better than hog
return
endif
if path =~ '^/\(etc\|usr/share\)/polkit-1/rules\.d'
setf javascript
return
endif
try
let config_lines = readfile('/etc/udev/udev.conf')
catch /^Vim\%((\a\+)\)\=:E484/
setf hog
return
endtry
let dir = expand('<amatch>:p:h')
for line in config_lines
if line =~ s:ft_rules_udev_rules_pattern
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
if dir == udev_rules
setf udevrules
endif
break
endif
endfor
setf hog
endfunc
func dist#ft#SQL()
if exists("g:filetype_sql")
exe "setf " . g:filetype_sql
else
setf sql
endif
endfunc
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
" it is almost certainly a Perl test file.
" If the first line starts with '#' and contains 'perl' it's probably a Perl
" file.
" (Slow test) If a file contains a 'use' statement then it is almost certainly
" a Perl file.
func dist#ft#FTperl()
let dirname = expand("%:p:h:t")
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
setf perl
return 1
endif
if getline(1)[0] == '#' && getline(1) =~ 'perl'
setf perl
return 1
endif
let save_cursor = getpos('.')
call cursor(1,1)
let has_use = search('^use\s\s*\k', 'c', 30)
call setpos('.', save_cursor)
if has_use
setf perl
return 1
endif
return 0
endfunc
" Choose context, plaintex, or tex (LaTeX) based on these rules:
" 1. Check the first line of the file for "%&<format>".
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
" 3. Default to "plain" or to g:tex_flavor, can be set in user's vimrc.
func dist#ft#FTtex()
let firstline = getline(1)
if firstline =~ '^%&\s*\a\+'
let format = tolower(matchstr(firstline, '\a\+'))
let format = substitute(format, 'pdf', '', '')
if format == 'tex'
let format = 'latex'
elseif format == 'plaintex'
let format = 'plain'
endif
elseif expand('%') =~ 'tex/context/.*/.*.tex'
let format = 'context'
else
" Default value, may be changed later:
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
" Save position, go to the top of the file, find first non-comment line.
let save_cursor = getpos('.')
call cursor(1,1)
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
\ 'cnp', firstNC + 1000)
if kwline == 1 " lpat matched
let format = 'latex'
elseif kwline == 2 " cpat matched
let format = 'context'
endif " If neither matched, keep default set above.
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
" if cline > 0
" let format = 'context'
" endif
" if lline > 0 && (cline == 0 || cline > lline)
" let format = 'tex'
" endif
endif " firstNC
call setpos('.', save_cursor)
endif " firstline =~ '^%&\s*\a\+'
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
if format == 'plain'
setf plaintex
elseif format == 'context'
setf context
else " probably LaTeX
setf tex
endif
return
endfunc
func dist#ft#FTxml()
let n = 1
while n < 100 && n < line("$")
let line = getline(n)
" DocBook 4 or DocBook 5.
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
if is_docbook4 || is_docbook5
let b:docbk_type = "xml"
if is_docbook5
let b:docbk_ver = 5
else
let b:docbk_ver = 4
endif
setf docbk
return
endif
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
setf xbl
return
endif
let n += 1
endwhile
setf xml
endfunc
func dist#ft#FTy()
let n = 1
while n < 100 && n < line("$")
let line = getline(n)
if line =~ '^\s*%'
setf yacc
return
endif
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include'
setf racc
return
endif
let n = n + 1
endwhile
setf yacc
endfunc
func dist#ft#Redif()
let lnum = 1
while lnum <= 5 && lnum < line('$')
if getline(lnum) =~ "^\ctemplate-type:"
setf redif
return
endif
let lnum = lnum + 1
endwhile
endfunc
" Restore 'cpoptions'
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because it is too large Load Diff

View File

@ -1,35 +1,25 @@
" Vim support file to help with paste mappings and menus
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Jun 23
" Last Change: 2019 Jan 27
" Define the string to use for items that are present both in Edit, Popup and
" Toolbar menu. Also used in mswin.vim and macmap.vim.
" Pasting blockwise and linewise selections is not possible in Insert and
" Visual mode without the +virtualedit feature. They are pasted as if they
" were characterwise instead. Add to that some tricks to leave the cursor in
" the right position, also for "gi".
if has("virtualedit")
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
func! paste#Paste()
let ove = &ve
set ve=all
normal! `^
if @+ != ''
normal! "+gP
endif
let c = col(".")
normal! i
if col(".") < c " compensate for i<ESC> moving the cursor left
normal! l
endif
let &ve = ove
endfunc
else
let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"}
let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
endif
func! paste#Paste()
let ove = &ve
set ve=all
normal! `^
if @+ != ''
normal! "+gP
endif
let c = col(".")
normal! i
if col(".") < c " compensate for i<ESC> moving the cursor left
normal! l
endif
let &ve = ove
endfunc

View File

@ -3,7 +3,7 @@
" Maintainer: Dávid Szabó ( complex857 AT gmail DOT com )
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" URL: https://github.com/shawncplus/phpcomplete.vim
" Last Change: 2016 Oct 10
" Last Change: 2018 Oct 10
"
" OPTIONS:
"
@ -146,6 +146,8 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
end
try
let eventignore = &eventignore
let &eventignore = 'all'
let winheight = winheight(0)
let winnr = winnr()
@ -216,6 +218,7 @@ function! phpcomplete#CompletePHP(findstart, base) " {{{
endif
finally
silent! exec winnr.'resize '.winheight
let &eventignore = eventignore
endtry
endfunction
" }}}
@ -1393,23 +1396,28 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
for classstructure in classcontents
let docblock_target_pattern = 'function\s\+&\?'.method.'\>\|\(public\|private\|protected\|var\).\+\$'.method.'\>\|@property.\+\$'.method.'\>'
let doc_str = phpcomplete#GetDocBlock(split(classstructure.content, '\n'), docblock_target_pattern)
if doc_str != ''
let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(split(classstructure.content, '\n'), 'function\s\+&\?'.method.'\>')
if doc_str != '' || return_type_hint != ''
break
endif
endfor
if doc_str != ''
if doc_str != '' || return_type_hint != ''
let docblock = phpcomplete#ParseDocBlock(doc_str)
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0
let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : ''
if has_key(docblock.return, 'type') || has_key(docblock.var, 'type') || len(docblock.properties) > 0 || return_type_hint != ''
if return_type_hint == ''
let type = has_key(docblock.return, 'type') ? docblock.return.type : has_key(docblock.var, 'type') ? docblock.var.type : ''
if type == ''
for property in docblock.properties
if property.description =~? method
let type = property.type
break
endif
endfor
endif
if type == ''
for property in docblock.properties
if property.description =~? method
let type = property.type
break
endif
endfor
endif
else
let type = return_type_hint
end
" there's a namespace in the type, threat the type as FQCN
if type =~ '\\'
@ -1483,7 +1491,7 @@ function! phpcomplete#GetMethodStack(line) " {{{
continue
endif
" if it's looks like a string
" if it looks like a string
if current_char == "'" || current_char == '"'
" and it is not escaped
if prev_char != '\' || (prev_char == '\' && prev_prev_char == '\')
@ -1587,9 +1595,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
elseif function_file != '' && filereadable(function_file)
let file_lines = readfile(function_file)
let docblock_str = phpcomplete#GetDocBlock(file_lines, 'function\s*&\?\<'.function_name.'\>')
let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(file_lines, 'function\s*&\?'.function_name.'\>')
let docblock = phpcomplete#ParseDocBlock(docblock_str)
if has_key(docblock.return, 'type')
let classname_candidate = docblock.return.type
let type = has_key(docblock.return, 'type') ? docblock.return.type : return_type_hint
if type != ''
let classname_candidate = type
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
" try to expand the classname of the returned type with the context got from the function's source file
@ -1821,9 +1831,11 @@ function! phpcomplete#GetClassName(start_line, context, current_namespace, impor
elseif function_file != '' && filereadable(function_file)
let file_lines = readfile(function_file)
let docblock_str = phpcomplete#GetDocBlock(file_lines, 'function\s*&\?\<'.function_name.'\>')
let return_type_hint = phpcomplete#GetFunctionReturnTypeHint(file_lines, 'function\s*&\?'.function_name.'\>')
let docblock = phpcomplete#ParseDocBlock(docblock_str)
if has_key(docblock.return, 'type')
let classname_candidate = docblock.return.type
let type = has_key(docblock.return, 'type') ? docblock.return.type : return_type_hint
if type != ''
let classname_candidate = type
let [class_candidate_namespace, function_imports] = phpcomplete#GetCurrentNameSpace(file_lines)
" try to expand the classname of the returned type with the context got from the function's source file
let [classname_candidate, class_candidate_namespace] = phpcomplete#ExpandClassName(classname_candidate, class_candidate_namespace, function_imports)
@ -2413,6 +2425,44 @@ function! phpcomplete#ParseDocBlock(docblock) " {{{
endfunction
" }}}
function! phpcomplete#GetFunctionReturnTypeHint(sccontent, search)
let i = 0
let l = 0
let function_line_start = -1
let function_line_end = -1
let sccontent_len = len(a:sccontent)
let return_type = ''
while (i < sccontent_len)
let line = a:sccontent[i]
" search for a function declaration
if line =~? a:search
let l = i
let function_line_start = i
" now search for the first { where the function body starts
while l < sccontent_len
let line = a:sccontent[l]
if line =~? '\V{'
let function_line_end = l
break
endif
let l += 1
endwhile
break
endif
let i += 1
endwhile
" now grab the lines that holds the function declaration line
if function_line_start != -1 && function_line_end != -1
let function_line = join(a:sccontent[function_line_start :function_line_end], " ")
let class_name_pattern = '[a-zA-Z_\x7f-\xff\\][a-zA-Z_0-9\x7f-\xff\\]*'
let return_type = matchstr(function_line, '\c\s*:\s*\zs'.class_name_pattern.'\ze\s*{')
endif
return return_type
endfunction
function! phpcomplete#GetTypeFromDocBlockParam(docblock_type) " {{{
if a:docblock_type !~ '|'
return a:docblock_type
@ -2572,7 +2622,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
" find kind flags from tags or built in methods for the objects we extracted
" they can be either classes, interfaces or namespaces, no other thing is importable in php
for [key, import] in items(imports)
" if theres a \ in the name we have it's definetly not a built in thing, look for tags
" if theres a \ in the name we have it's definitely not a built in thing, look for tags
if import.name =~ '\\'
let patched_ctags_detected = 0
let [classname, namespace_for_classes] = phpcomplete#ExpandClassName(import.name, '\', {})

View File

@ -1,9 +1,9 @@
" Vim completion script
" Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Maintainer Version: 0.8.1
" Language: Ruby
" 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
" ----------------------------------------------------------------------------
"
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
@ -103,7 +103,7 @@ function! s:GetBufferRubyEntity( name, type, ... )
endif
let curpos = getpos(".")
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'wr' )
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'W' )
call cursor(lastpos[1], lastpos[2])
if lnum > enum
@ -253,15 +253,27 @@ class VimRubyCompletion
# {{{ buffer analysis magic
def load_requires
custom_paths = VIM::evaluate("get(g:, 'rubycomplete_load_paths', [])")
if !custom_paths.empty?
$LOAD_PATH.concat(custom_paths).uniq!
end
buf = VIM::Buffer.current
enum = buf.line_number
nums = Range.new( 1, enum )
nums.each do |x|
ln = buf[x]
begin
eval( "require %s" % $1 ) if /.*require\s*(.*)$/.match( ln )
rescue Exception
#ignore?
if /.*require_relative\s*(.*)$/.match( ln )
eval( "require %s" % File.expand_path($1) )
elsif /.*require\s*(["'].*?["'])/.match( ln )
eval( "require %s" % $1 )
end
rescue Exception => e
dprint e.inspect
end
end
end
@ -344,8 +356,13 @@ class VimRubyCompletion
if x != cur_line
next if x == 0
ln = buf[x]
if /^\s*(module|class|def|include)\s+/.match(ln)
clscnt += 1 if $1 == "class"
is_const = false
if /^\s*(module|class|def|include)\s+/.match(ln) || is_const = /^\s*?[A-Z]([A-z]|[1-9])*\s*?[|]{0,2}=\s*?.+\s*?/.match(ln)
clscnt += 1 if /class|module/.match($1)
# We must make sure to load each constant only once to avoid errors
if is_const
ln.gsub!(/\s*?[|]{0,2}=\s*?/, '||=')
end
#dprint "\$1$1
classdef += "%s\n" % ln
classdef += "end\n" if /def\s+/.match(ln)
@ -423,7 +440,6 @@ class VimRubyCompletion
return get_buffer_entity_list( "class" )
end
def load_rails
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
return if allow_rails.to_i.zero?
@ -529,7 +545,6 @@ class VimRubyCompletion
ret += ActiveRecord::ConnectionAdapters::SchemaStatements.methods
end
return ret
end
@ -587,11 +602,13 @@ class VimRubyCompletion
# {{{ main completion code
def self.preload_rails
a = VimRubyCompletion.new
require 'Thread'
Thread.new(a) do |b|
begin
b.load_rails
rescue
if VIM::evaluate("has('nvim')") == 0
require 'thread'
Thread.new(a) do |b|
begin
b.load_rails
rescue
end
end
end
a.load_rails
@ -612,7 +629,6 @@ class VimRubyCompletion
want_gems = VIM::evaluate("get(g:, 'rubycomplete_load_gemfile')")
load_gems unless want_gems.to_i.zero?
input = VIM::Buffer.current.line
cpos = VIM::Window.current.cursor[1] - 1
@ -666,6 +682,7 @@ class VimRubyCompletion
message = Regexp.quote($4)
dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ]
load_buffer_class( receiver )
load_buffer_module( receiver )
begin
classes = eval("#{receiver}.constants")
#methods = eval("#{receiver}.methods")
@ -786,7 +803,6 @@ class VimRubyCompletion
methods += Kernel.public_methods
end
include_object = VIM::evaluate("exists('g:rubycomplete_include_object') && g:rubycomplete_include_object")
methods = clean_sel( methods, message )
methods = (methods-Object.instance_methods) if include_object == "0"
@ -829,5 +845,4 @@ let s:rubycomplete_rails_loaded = 0
call s:DefRuby()
"}}} ruby-side code
" vim:tw=78:sw=4:ts=8:et:fdm=marker:ft=vim:norl:

415
runtime/autoload/rust.vim Normal file
View File

@ -0,0 +1,415 @@
" Author: Kevin Ballard
" Description: Helper functions for Rust commands/mappings
" Last Modified: May 27, 2014
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
" Jump {{{1
function! rust#Jump(mode, function) range
let cnt = v:count1
normal! m'
if a:mode ==# 'v'
norm! gv
endif
let foldenable = &foldenable
set nofoldenable
while cnt > 0
execute "call <SID>Jump_" . a:function . "()"
let cnt = cnt - 1
endwhile
let &foldenable = foldenable
endfunction
function! s:Jump_Back()
call search('{', 'b')
keepjumps normal! w99[{
endfunction
function! s:Jump_Forward()
normal! j0
call search('{', 'b')
keepjumps normal! w99[{%
call search('{')
endfunction
" Run {{{1
function! rust#Run(bang, args)
let args = s:ShellTokenize(a:args)
if a:bang
let idx = index(l:args, '--')
if idx != -1
let rustc_args = idx == 0 ? [] : l:args[:idx-1]
let args = l:args[idx+1:]
else
let rustc_args = l:args
let args = []
endif
else
let rustc_args = []
endif
let b:rust_last_rustc_args = l:rustc_args
let b:rust_last_args = l:args
call s:WithPath(function("s:Run"), rustc_args, args)
endfunction
function! s:Run(dict, rustc_args, args)
let exepath = a:dict.tmpdir.'/'.fnamemodify(a:dict.path, ':t:r')
if has('win32')
let exepath .= '.exe'
endif
let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path)
let rustc_args = [relpath, '-o', exepath] + a:rustc_args
let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc"
let pwd = a:dict.istemp ? a:dict.tmpdir : ''
let output = s:system(pwd, shellescape(rustc) . " " . join(map(rustc_args, 'shellescape(v:val)')))
if output != ''
echohl WarningMsg
echo output
echohl None
endif
if !v:shell_error
exe '!' . shellescape(exepath) . " " . join(map(a:args, 'shellescape(v:val)'))
endif
endfunction
" Expand {{{1
function! rust#Expand(bang, args)
let args = s:ShellTokenize(a:args)
if a:bang && !empty(l:args)
let pretty = remove(l:args, 0)
else
let pretty = "expanded"
endif
call s:WithPath(function("s:Expand"), pretty, args)
endfunction
function! s:Expand(dict, pretty, args)
try
let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc"
if a:pretty =~? '^\%(everybody_loops$\|flowgraph=\)'
let flag = '--xpretty'
else
let flag = '--pretty'
endif
let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path)
let args = [relpath, '-Z', 'unstable-options', l:flag, a:pretty] + a:args
let pwd = a:dict.istemp ? a:dict.tmpdir : ''
let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)')))
if v:shell_error
echohl WarningMsg
echo output
echohl None
else
new
silent put =output
1
d
setl filetype=rust
setl buftype=nofile
setl bufhidden=hide
setl noswapfile
" give the buffer a nice name
let suffix = 1
let basename = fnamemodify(a:dict.path, ':t:r')
while 1
let bufname = basename
if suffix > 1 | let bufname .= ' ('.suffix.')' | endif
let bufname .= '.pretty.rs'
if bufexists(bufname)
let suffix += 1
continue
endif
exe 'silent noautocmd keepalt file' fnameescape(bufname)
break
endwhile
endif
endtry
endfunction
function! rust#CompleteExpand(lead, line, pos)
if a:line[: a:pos-1] =~ '^RustExpand!\s*\S*$'
" first argument and it has a !
let list = ["normal", "expanded", "typed", "expanded,identified", "flowgraph=", "everybody_loops"]
if !empty(a:lead)
call filter(list, "v:val[:len(a:lead)-1] == a:lead")
endif
return list
endif
return glob(escape(a:lead, "*?[") . '*', 0, 1)
endfunction
" Emit {{{1
function! rust#Emit(type, args)
let args = s:ShellTokenize(a:args)
call s:WithPath(function("s:Emit"), a:type, args)
endfunction
function! s:Emit(dict, type, args)
try
let output_path = a:dict.tmpdir.'/output'
let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc"
let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path)
let args = [relpath, '--emit', a:type, '-o', output_path] + a:args
let pwd = a:dict.istemp ? a:dict.tmpdir : ''
let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)')))
if output != ''
echohl WarningMsg
echo output
echohl None
endif
if !v:shell_error
new
exe 'silent keepalt read' fnameescape(output_path)
1
d
if a:type == "llvm-ir"
setl filetype=llvm
let extension = 'll'
elseif a:type == "asm"
setl filetype=asm
let extension = 's'
endif
setl buftype=nofile
setl bufhidden=hide
setl noswapfile
if exists('l:extension')
" give the buffer a nice name
let suffix = 1
let basename = fnamemodify(a:dict.path, ':t:r')
while 1
let bufname = basename
if suffix > 1 | let bufname .= ' ('.suffix.')' | endif
let bufname .= '.'.extension
if bufexists(bufname)
let suffix += 1
continue
endif
exe 'silent noautocmd keepalt file' fnameescape(bufname)
break
endwhile
endif
endif
endtry
endfunction
" Utility functions {{{1
" Invokes func(dict, ...)
" Where {dict} is a dictionary with the following keys:
" 'path' - The path to the file
" 'tmpdir' - The path to a temporary directory that will be deleted when the
" function returns.
" 'istemp' - 1 if the path is a file inside of {dict.tmpdir} or 0 otherwise.
" If {istemp} is 1 then an additional key is provided:
" 'tmpdir_relpath' - The {path} relative to the {tmpdir}.
"
" {dict.path} may be a path to a file inside of {dict.tmpdir} or it may be the
" existing path of the current buffer. If the path is inside of {dict.tmpdir}
" then it is guaranteed to have a '.rs' extension.
function! s:WithPath(func, ...)
let buf = bufnr('')
let saved = {}
let dict = {}
try
let saved.write = &write
set write
let dict.path = expand('%')
let pathisempty = empty(dict.path)
" Always create a tmpdir in case the wrapped command wants it
let dict.tmpdir = tempname()
call mkdir(dict.tmpdir)
if pathisempty || !saved.write
let dict.istemp = 1
" if we're doing this because of nowrite, preserve the filename
if !pathisempty
let filename = expand('%:t:r').".rs"
else
let filename = 'unnamed.rs'
endif
let dict.tmpdir_relpath = filename
let dict.path = dict.tmpdir.'/'.filename
let saved.mod = &mod
set nomod
silent exe 'keepalt write! ' . fnameescape(dict.path)
if pathisempty
silent keepalt 0file
endif
else
let dict.istemp = 0
update
endif
call call(a:func, [dict] + a:000)
finally
if bufexists(buf)
for [opt, value] in items(saved)
silent call setbufvar(buf, '&'.opt, value)
unlet value " avoid variable type mismatches
endfor
endif
if has_key(dict, 'tmpdir') | silent call s:RmDir(dict.tmpdir) | endif
endtry
endfunction
function! rust#AppendCmdLine(text)
call setcmdpos(getcmdpos())
let cmd = getcmdline() . a:text
return cmd
endfunction
" Tokenize the string according to sh parsing rules
function! s:ShellTokenize(text)
" states:
" 0: start of word
" 1: unquoted
" 2: unquoted backslash
" 3: double-quote
" 4: double-quoted backslash
" 5: single-quote
let l:state = 0
let l:current = ''
let l:args = []
for c in split(a:text, '\zs')
if l:state == 0 || l:state == 1 " unquoted
if l:c ==# ' '
if l:state == 0 | continue | endif
call add(l:args, l:current)
let l:current = ''
let l:state = 0
elseif l:c ==# '\'
let l:state = 2
elseif l:c ==# '"'
let l:state = 3
elseif l:c ==# "'"
let l:state = 5
else
let l:current .= l:c
let l:state = 1
endif
elseif l:state == 2 " unquoted backslash
if l:c !=# "\n" " can it even be \n?
let l:current .= l:c
endif
let l:state = 1
elseif l:state == 3 " double-quote
if l:c ==# '\'
let l:state = 4
elseif l:c ==# '"'
let l:state = 1
else
let l:current .= l:c
endif
elseif l:state == 4 " double-quoted backslash
if stridx('$`"\', l:c) >= 0
let l:current .= l:c
elseif l:c ==# "\n" " is this even possible?
" skip it
else
let l:current .= '\'.l:c
endif
let l:state = 3
elseif l:state == 5 " single-quoted
if l:c == "'"
let l:state = 1
else
let l:current .= l:c
endif
endif
endfor
if l:state != 0
call add(l:args, l:current)
endif
return l:args
endfunction
function! s:RmDir(path)
" sanity check; make sure it's not empty, /, or $HOME
if empty(a:path)
echoerr 'Attempted to delete empty path'
return 0
elseif a:path == '/' || a:path == $HOME
echoerr 'Attempted to delete protected path: ' . a:path
return 0
endif
return system("rm -rf " . shellescape(a:path))
endfunction
" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd.
" If {pwd} is the empty string then it doesn't change the cwd.
function! s:system(pwd, cmd)
let cmd = a:cmd
if !empty(a:pwd)
let cmd = 'cd ' . shellescape(a:pwd) . ' && ' . cmd
endif
return system(cmd)
endfunction
" Playpen Support {{{1
" Parts of gist.vim by Yasuhiro Matsumoto <mattn.jp@gmail.com> reused
" gist.vim available under the BSD license, available at
" http://github.com/mattn/gist-vim
function! s:has_webapi()
if !exists("*webapi#http#post")
try
call webapi#http#post()
catch
endtry
endif
return exists("*webapi#http#post")
endfunction
function! rust#Play(count, line1, line2, ...) abort
redraw
let l:rust_playpen_url = get(g:, 'rust_playpen_url', 'https://play.rust-lang.org/')
let l:rust_shortener_url = get(g:, 'rust_shortener_url', 'https://is.gd/')
if !s:has_webapi()
echohl ErrorMsg | echomsg ':RustPlay depends on webapi.vim (https://github.com/mattn/webapi-vim)' | echohl None
return
endif
let bufname = bufname('%')
if a:count < 1
let content = join(getline(a:line1, a:line2), "\n")
else
let save_regcont = @"
let save_regtype = getregtype('"')
silent! normal! gvy
let content = @"
call setreg('"', save_regcont, save_regtype)
endif
let body = l:rust_playpen_url."?code=".webapi#http#encodeURI(content)
if strlen(body) > 5000
echohl ErrorMsg | echomsg 'Buffer too large, max 5000 encoded characters ('.strlen(body).')' | echohl None
return
endif
let payload = "format=simple&url=".webapi#http#encodeURI(body)
let res = webapi#http#post(l:rust_shortener_url.'create.php', payload, {})
let url = res.content
redraw | echomsg 'Done: '.url
endfunction
" }}}1
" vim: set noet sw=8 ts=8:

View File

@ -0,0 +1,107 @@
" Author: Stephen Sugden <stephen@stephensugden.com>
"
" Adapted from https://github.com/fatih/vim-go
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
if !exists("g:rustfmt_autosave")
let g:rustfmt_autosave = 0
endif
if !exists("g:rustfmt_command")
let g:rustfmt_command = "rustfmt"
endif
if !exists("g:rustfmt_options")
let g:rustfmt_options = ""
endif
if !exists("g:rustfmt_fail_silently")
let g:rustfmt_fail_silently = 0
endif
let s:got_fmt_error = 0
function! s:RustfmtCommandRange(filename, line1, line2)
let l:arg = {"file": shellescape(a:filename), "range": [a:line1, a:line2]}
return printf("%s %s --write-mode=overwrite --file-lines '[%s]'", g:rustfmt_command, g:rustfmt_options, json_encode(l:arg))
endfunction
function! s:RustfmtCommand(filename)
return g:rustfmt_command . " --write-mode=overwrite " . g:rustfmt_options . " " . shellescape(a:filename)
endfunction
function! s:RunRustfmt(command, curw, tmpname)
if exists("*systemlist")
let out = systemlist(a:command)
else
let out = split(system(a:command), '\r\?\n')
endif
if v:shell_error == 0 || v:shell_error == 3
" remove undo point caused via BufWritePre
try | silent undojoin | catch | endtry
" Replace current file with temp file, then reload buffer
call rename(a:tmpname, expand('%'))
silent edit!
let &syntax = &syntax
" only clear location list if it was previously filled to prevent
" clobbering other additions
if s:got_fmt_error
let s:got_fmt_error = 0
call setloclist(0, [])
lwindow
endif
elseif g:rustfmt_fail_silently == 0
" otherwise get the errors and put them in the location list
let errors = []
for line in out
" src/lib.rs:13:5: 13:10 error: expected `,`, or `}`, found `value`
let tokens = matchlist(line, '^\(.\{-}\):\(\d\+\):\(\d\+\):\s*\(\d\+:\d\+\s*\)\?\s*error: \(.*\)')
if !empty(tokens)
call add(errors, {"filename": @%,
\"lnum": tokens[2],
\"col": tokens[3],
\"text": tokens[5]})
endif
endfor
if empty(errors)
% | " Couldn't detect rustfmt error format, output errors
endif
if !empty(errors)
call setloclist(0, errors, 'r')
echohl Error | echomsg "rustfmt returned error" | echohl None
endif
let s:got_fmt_error = 1
lwindow
" We didn't use the temp file, so clean up
call delete(a:tmpname)
endif
call winrestview(a:curw)
endfunction
function! rustfmt#FormatRange(line1, line2)
let l:curw = winsaveview()
let l:tmpname = expand("%:p:h") . "/." . expand("%:p:t") . ".rustfmt"
call writefile(getline(1, '$'), l:tmpname)
let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2)
call s:RunRustfmt(command, l:curw, l:tmpname)
endfunction
function! rustfmt#Format()
let l:curw = winsaveview()
let l:tmpname = expand("%:p:h") . "/." . expand("%:p:t") . ".rustfmt"
call writefile(getline(1, '$'), l:tmpname)
let command = s:RustfmtCommand(l:tmpname)
call s:RunRustfmt(command, l:curw, l:tmpname)
endfunction

View File

@ -22,6 +22,7 @@ function! spellfile#LoadFile(lang)
endif
return
endif
let lang = tolower(a:lang)
" If the URL changes we try all files again.
if s:spellfile_URL != g:spellfile_URL
@ -30,13 +31,13 @@ function! spellfile#LoadFile(lang)
endif
" I will say this only once!
if has_key(s:donedict, a:lang . &enc)
if has_key(s:donedict, lang . &enc)
if &verbose
echomsg 'spellfile#LoadFile(): Tried this language/encoding before.'
endif
return
endif
let s:donedict[a:lang . &enc] = 1
let s:donedict[lang . &enc] = 1
" Find spell directories we can write in.
let [dirlist, dirchoices] = spellfile#GetDirChoices()
@ -57,14 +58,14 @@ function! spellfile#LoadFile(lang)
endif
endif
let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc
let msg = 'Cannot find spell file for "' . lang . '" in ' . &enc
let msg .= "\nDo you want me to try downloading it?"
if confirm(msg, "&Yes\n&No", 2) == 1
let enc = &encoding
if enc == 'iso-8859-15'
let enc = 'latin1'
endif
let fname = a:lang . '.' . enc . '.spl'
let fname = lang . '.' . enc . '.spl'
" Split the window, read the file into a new buffer.
" Remember the buffer number, we check it below.
@ -95,7 +96,7 @@ function! spellfile#LoadFile(lang)
let newbufnr = winbufnr(0)
endif
let fname = a:lang . '.ascii.spl'
let fname = lang . '.ascii.spl'
echo 'Could not find it, trying ' . fname . '...'
call spellfile#Nread(fname)
if getline(2) !~ 'VIMspell'

View File

@ -2,7 +2,7 @@
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 16.0
" Last Change: 2015 Dec 29
" Last Change: 2017 Oct 15
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
" Usage: For detailed help
" ":help sql.txt"
@ -860,7 +860,7 @@ function! s:SQLCGetColumns(table_name, list_type)
" Start characterwise visual mode
" Advance right one character
" Search foward until one of the following:
" Search forward until one of the following:
" 1. Another select/update/delete statement
" 2. A ; at the end of a line (the delimiter)
" 3. The end of the file (incase no delimiter)

View File

@ -152,10 +152,12 @@ 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)
" call Decho("1: exe silent r! gzip -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." - "
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
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." - "
@ -287,12 +289,14 @@ fun! tar#Read(fname,mode)
else
let tar_secure= " "
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 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "sil! r! " . gzip_command . " -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
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
@ -389,6 +393,8 @@ 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))
@ -396,12 +402,12 @@ fun! tar#Write(fname)
let compress= "bzip2 -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.gz'
call system("gzip -d -- ".shellescape(tarfile,0))
call system(gzip_command . " -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 -d -- ".shellescape(tarfile,0))
call system(gzip_command . " -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".shellescape(tarfile,0)
let tgz = 1
@ -581,7 +587,10 @@ fun! tar#Vimuntar(...)
" if necessary, decompress the tarball; then, extract it
if tartail =~ '\.tgz'
if executable("gunzip")
let gzip_command = s:get_gzip_command(tarfile)
if executable(gzip_command)
silent exe "!" . gzip_command . " -d ".shellescape(tartail)
elseif executable("gunzip")
silent exe "!gunzip ".shellescape(tartail)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
@ -619,6 +628,28 @@ 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: 2013 Sep 03
" Last Change: 2018 Nov 11
"
" Additional contributors:
"
@ -544,12 +544,16 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
" add required javascript in reverse order so we can just call append again
" and again without adjusting {{{
" insert script closing tag
call append(style_start, [
\ '',
\ s:settings.use_xhtml ? '//]]>' : '-->',
\ "</script>"
\ ])
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids || !empty(s:settings.prevent_copy)
" insert script closing tag if needed
if s:uses_script
call append(style_start, [
\ '',
\ s:settings.use_xhtml ? '//]]>' : '-->',
\ "</script>"
\ ])
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
@ -575,55 +579,61 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
\ '}'
\ ])
endif
"
" insert javascript to get IDs from line numbers, and to open a fold before
" jumping to any lines contained therein
call append(style_start, [
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
\ " * we corrected the raw number to a line ID.",
\ " */",
\ " if (lineElem) {",
\ " lineElem.scrollIntoView(true);",
\ " }",
\ " return true;",
\ "}",
\ "if ('onhashchange' in window) {",
\ " window.onhashchange = JumpToLine;",
\ "}"
\ ])
if s:settings.dynamic_folds
if s:settings.line_ids
call append(style_start, [
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
\ " * we corrected the raw number to a line ID.",
\ " */",
\ " if (lineElem) {",
\ " lineElem.scrollIntoView(true);",
\ " }",
\ " return true;",
\ "}",
\ "if ('onhashchange' in window) {",
\ " window.onhashchange = JumpToLine;",
\ "}"
\ ])
if s:settings.dynamic_folds
call append(style_start, [
\ "",
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
\ " var node = lineElem;",
\ " while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
\ " {",
\ " if (node.className == 'closed-fold')",
\ " {",
\ " /* toggle open the fold ID (remove window ID) */",
\ " toggleFold(node.id.substr(4));",
\ " }",
\ " node = node.parentNode;",
\ " }",
\ ])
endif
endif
if s:settings.line_ids
call append(style_start, [
\ "",
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
\ " var node = lineElem;",
\ " while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
\ " {",
\ " if (node.className == 'closed-fold')",
\ " {",
\ " /* toggle open the fold ID (remove window ID) */",
\ " toggleFold(node.id.substr(4));",
\ " }",
\ " node = node.parentNode;",
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
\ "function JumpToLine()",
\ "{",
\ " var lineNum;",
\ " lineNum = window.location.hash;",
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
\ "",
\ " if (lineNum.indexOf('L') == -1) {",
\ " lineNum = 'L'+lineNum;",
\ " }",
\ " if (lineNum.indexOf('W') == -1) {",
\ " lineNum = 'W1'+lineNum;",
\ " }",
\ " var lineElem = document.getElementById(lineNum);"
\ ])
endif
call append(style_start, [
\ "",
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
\ "function JumpToLine()",
\ "{",
\ " var lineNum;",
\ " lineNum = window.location.hash;",
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
\ "",
\ " if (lineNum.indexOf('L') == -1) {",
\ " lineNum = 'L'+lineNum;",
\ " }",
\ " if (lineNum.indexOf('W') == -1) {",
\ " lineNum = 'W1'+lineNum;",
\ " }",
\ " lineElem = document.getElementById(lineNum);"
\ ])
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active.
@ -648,11 +658,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
\ ])
endif
" insert script tag; javascript is always needed for the line number
" normalization for URL hashes
call append(style_start, [
\ "<script type='text/javascript'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
if s:uses_script
" insert script tag; javascript is always needed for the line number
" normalization for URL hashes
call append(style_start, [
\ "<script type='text/javascript'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
endif
" Insert styles from all the generated html documents and additional styles
" for the table-based layout of the side-by-side diff. The diff should take
@ -767,7 +779,7 @@ func! tohtml#GetUserSettings() "{{{
if user_settings.no_pre == 0
call tohtml#GetOption(user_settings,
\ 'expand_tabs',
\ &expandtab || &ts != 8 || user_settings.number_lines ||
\ &expandtab || &ts != 8 || &vts != '' || user_settings.number_lines ||
\ (user_settings.dynamic_folds && !user_settings.no_foldcolumn))
else
let user_settings.expand_tabs = 1

View File

@ -0,0 +1,115 @@
" Vim plugin for formatting XML
" Last Change: Thu, 07 Dec 2018
" Version: 0.1
" Author: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" License: VIM License
" Documentation: see :h xmlformat.txt (TODO!)
" ---------------------------------------------------------------------
" Load Once: {{{1
if exists("g:loaded_xmlformat") || &cp
finish
endif
let g:loaded_xmlformat = 1
let s:keepcpo = &cpo
set cpo&vim
" Main function: Format the input {{{1
func! xmlformat#Format()
" only allow reformatting through the gq command
" (e.g. Vim is in normal mode)
if mode() != 'n'
" do not fall back to internal formatting
return 0
endif
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
call add(result, s:Indent(item))
endif
endif
let lastitem = item
endfor
if !empty(result)
exe v:lnum. ",". (v:lnum + v:count - 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 ''
exe last. 'd'
endif
endif
" do not run internal formatter!
return 0
endfunc
" Check if given tag is XML Declaration header {{{1
func! s:IsXMLDecl(tag)
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
endfunc
" Return tag indented by current level {{{1
func! s:Indent(item)
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
endfu
" Return item trimmed from leading whitespace {{{1
func! s:Trim(item)
if exists('*trim')
return trim(a:item)
else
return matchstr(a:item, '\S\+.*')
endif
endfunc
" Check if tag is a new opening tag <tag> {{{1
func! s:StartTag(tag)
let is_comment = s:IsComment(a:tag)
return a:tag =~? '^\s*<[^/?]' && !is_comment
endfunc
func! s:IsComment(tag)
return a:tag =~? '<!--'
endfunc
" Remove one level of indentation {{{1
func! s:DecreaseIndent()
return (s:indent > 0 ? s:indent - 1 : 0)
endfunc
" Check if tag is a closing tag </tag> {{{1
func! s:EndTag(tag)
return a:tag =~? '^\s*</'
endfunc
" Check that the tag is actually a tag and not {{{1
" something like "foobar</foobar>"
func! s:IsTag(tag)
return s:Trim(a:tag)[0] == '<'
endfunc
" Check if tag is empty <tag/> {{{1
func! s:EmptyTag(tag)
return a:tag =~ '/>\s*$'
endfunc
" Restoration And Modelines: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" Modeline {{{1
" vim: fdm=marker fdl=0 ts=2 et sw=0 sts=-1

View File

@ -2,7 +2,7 @@
:" information about the environment of a possible bug in Vim.
:"
:" Maintainer: Bram Moolenaar <Bram@vim.org>
:" Last change: 2005 Jun 12
:" Last change: 2019 Jan 27
:"
:" To use inside Vim:
:" :so $VIMRUNTIME/bugreport.vim
@ -54,9 +54,7 @@
:endif
:set all
:set termcap
:if has("autocmd")
: au
:endif
:au
:if 1
: echo "--- Normal/Visual mode mappings ---"
:endif

View File

@ -42,7 +42,16 @@ this autocmd might be useful:
Replace "blue_sky" with the name of the colorscheme.
In case you want to tweak a colorscheme after it was loaded, check out the
ColorScheme autocmd event.
ColorScheme autocommand event.
To clean up just before loading another colorscheme, use the ColorSchemePre
autocommand event. For example:
let g:term_ansi_colors = ...
augroup MyColorscheme
au!
au ColorSchemePre * unlet g:term_ansi_colors
au ColorSchemePre * au! MyColorscheme
augroup END
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
and use `:runtime` to load the original colorscheme:
@ -64,6 +73,8 @@ Search for "highlight_init".
If you think you have a color scheme that is good enough to be used by others,
please check the following items:
- Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for
common mistakes.
- Does it work in a color terminal as well as in the GUI?
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
it this way:

View File

@ -0,0 +1,136 @@
" 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.
let s:save_cpo= &cpo
set cpo&vim
func! Test_check_colors()
call cursor(1,1)
let err={}
" 1) Check g:colors_name is existing
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
let err['colors_name'] = 'g:colors_name not set'
else
let err['colors_name'] = 'OK'
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={}
for group in hi_groups
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
continue
endif
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
let groups[group] = 'Missing foreground color 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
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
endif
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')
if search(bg_pat, 'cnW')
exe line
if search('hi \U\w\+\s\+\S', 'cbnW')
let err['background'] = 'Should not set background option after :hi statement'
endif
else
let err['background'] = 'OK'
endif
call cursor(1,1)
" 4) Check, that t_Co is checked
let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
if !search(pat, 'ncW')
let err['t_Co'] = 'Does not check terminal for capable colors'
endif
" 5) Initializes correctly, e.g. should have a section like
" hi clear
" 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'
if !search(pat, 'cnW')
let err['init'] = 'No initialization'
endif
" 6) Does not use :syn on
if search('syn\%[tax]\s\+on', 'cnW')
let err['background'] = 'Should not issue :syn on'
endif
" 7) Does not define filetype specific groups like vimCommand, htmlTag,
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
for group in hi_groups
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
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
let g:err = err
" print Result
call Result(err)
endfu
fu! Result(err)
let do_roups = 0
echohl Title|echomsg "---------------"|echohl Normal
for key in sort(keys(a:err))
if key is# 'highlight'
let do_groups = 1
continue
else
if a:err[key] !~ 'OK'
echohl Title
endif
echomsg printf("%15s: %s", key, a:err[key])
echohl Normal
endif
endfor
echohl Title|echomsg "---------------"|echohl Normal
if do_groups
echohl Title | echomsg "Groups" | echohl Normal
for v1 in sort(keys(a:err['highlight']))
echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
endfor
endif
endfu
call Test_check_colors()
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@ -0,0 +1,35 @@
" Vim compiler file
" Compiler: Cargo Compiler
" Maintainer: Damien Radtke <damienradtke@gmail.com>
" Latest Revision: 2014 Sep 24
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
if exists('current_compiler')
finish
endif
runtime compiler/rustc.vim
let current_compiler = "cargo"
let s:save_cpo = &cpo
set cpo&vim
if exists(':CompilerSet') != 2
command -nargs=* CompilerSet setlocal <args>
endif
if exists('g:cargo_makeprg_params')
execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*'
else
CompilerSet makeprg=cargo\ $*
endif
" Ignore general cargo progress messages
CompilerSet errorformat+=
\%-G%\\s%#Downloading%.%#,
\%-G%\\s%#Compiling%.%#,
\%-G%\\s%#Finished%.%#,
\%-G%\\s%#error:\ Could\ not\ compile\ %.%#,
\%-G%\\s%#To\ learn\ more\\,%.%#
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@ -3,6 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2018 Jan 25
if exists("current_compiler")
finish
@ -28,8 +29,8 @@ CompilerSet errorformat=
\%W%f:%l:\ warning:\ %m,
\%E%f:%l:in\ %*[^:]:\ %m,
\%E%f:%l:\ %m,
\%-C%\tfrom\ %f:%l:in\ %.%#,
\%-Z%\tfrom\ %f:%l,
\%-C%\t%\\d%#:%#\ %#from\ %f:%l:in\ %.%#,
\%-Z%\t%\\d%#:%#\ %#from\ %f:%l,
\%-Z%p^,
\%-G%.%#

View File

@ -3,6 +3,7 @@
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2018 Mar 02
if exists("current_compiler")
finish
@ -20,12 +21,12 @@ CompilerSet makeprg=rake
CompilerSet errorformat=
\%D(in\ %f),
\%\\s%#from\ %f:%l:%m,
\%\\s%#from\ %f:%l:,
\%\\s%##\ %f:%l:%m,
\%\\s%##\ %f:%l,
\%\\s%#[%f:%l:\ %#%m,
\%\\s%#%f:%l:\ %#%m,
\%\\s%#%\\d%#:%#\ %#from\ %f:%l:%m,
\%\\s%#%\\d%#:%#\ %#from\ %f:%l:,
\%\\s%##\ %f:%l:%m%\\&%.%#%\\D:%\\d%\\+:%.%#,
\%\\s%##\ %f:%l%\\&%.%#%\\D:%\\d%\\+,
\%\\s%#[%f:%l:\ %#%m%\\&%.%#%\\D:%\\d%\\+:%.%#,
\%\\s%#%f:%l:\ %#%m%\\&%.%#%\\D:%\\d%\\+:%.%#,
\%\\s%#%f:%l:,
\%m\ [%f:%l]:,
\%+Erake\ aborted!,

View File

@ -3,6 +3,7 @@
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2018 Aug 07
if exists("current_compiler")
finish
@ -23,7 +24,8 @@ CompilerSet errorformat=
\%E%.%#:in\ `load':\ %f:%l:%m,
\%E%f:%l:in\ `%*[^']':\ %m,
\%-Z\ \ \ \ \ %\\+\#\ %f:%l:%.%#,
\%E\ \ %\\d%\\+)%.%#,
\%E\ \ \ \ \ Failure/Error:\ %m,
\%E\ \ \ \ \ Failure/Error:,
\%C\ \ \ \ \ %m,
\%C%\\s%#,
\%-G%.%#

View File

@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: reStructuredText Documentation Format
" Compiler: sphinx >= 1.0.8, http://www.sphinx-doc.org
" Description: reStructuredText Documentation Format
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19
" Latest Revision: 2017-03-31
if exists("current_compiler")
finish
@ -11,12 +12,18 @@ let current_compiler = "rst"
let s:cpo_save = &cpo
set cpo&vim
setlocal errorformat=
\%f:%l:\ (%tEBUG/0)\ %m,
\%f:%l:\ (%tNFO/1)\ %m,
\%f:%l:\ (%tARNING/2)\ %m,
\%f:%l:\ (%tRROR/3)\ %m,
\%f:%l:\ (%tEVERE/3)\ %m,
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%f\\:%l:\ %tEBUG:\ %m,
\%f\\:%l:\ %tNFO:\ %m,
\%f\\:%l:\ %tARNING:\ %m,
\%f\\:%l:\ %tRROR:\ %m,
\%f\\:%l:\ %tEVERE:\ %m,
\%f\\:%s:\ %tARNING:\ %m,
\%f\\:%s:\ %tRROR:\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f

View File

@ -4,7 +4,7 @@
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
" Last Change: 2019 Jan 06
if exists("current_compiler")
finish
@ -21,21 +21,21 @@ set cpo-=C
" default settings runs script normally
" add '-c' switch to run syntax check only:
"
" CompilerSet makeprg=ruby\ -wc\ $*
" CompilerSet makeprg=ruby\ -c
"
" or add '-c' at :make command line:
"
" :make -c %<CR>
"
CompilerSet makeprg=ruby\ -w\ $*
CompilerSet makeprg=ruby
CompilerSet errorformat=
\%+E%f:%l:\ parse\ error,
\%W%f:%l:\ warning:\ %m,
\%E%f:%l:in\ %*[^:]:\ %m,
\%E%f:%l:\ %m,
\%-C%\tfrom\ %f:%l:in\ %.%#,
\%-Z%\tfrom\ %f:%l,
\%-C%\t%\\d%#:%#\ %#from\ %f:%l:in\ %.%#,
\%-Z%\t%\\d%#:%#\ %#from\ %f:%l,
\%-Z%p^,
\%-G%.%#

View File

@ -3,6 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2014 Mar 23
if exists("current_compiler")
finish

View File

@ -0,0 +1,46 @@
" Vim compiler file
" Compiler: Rust Compiler
" Maintainer: Chris Morgan <me@chrismorgan.info>
" Latest Revision: 2013 Jul 12
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
if exists("current_compiler")
finish
endif
let current_compiler = "rustc"
let s:cpo_save = &cpo
set cpo&vim
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0
CompilerSet makeprg=rustc
else
CompilerSet makeprg=rustc\ \%
endif
" Old errorformat (before nightly 2016/08/10)
CompilerSet errorformat=
\%f:%l:%c:\ %t%*[^:]:\ %m,
\%f:%l:%c:\ %*\\d:%*\\d\ %t%*[^:]:\ %m,
\%-G%f:%l\ %s,
\%-G%*[\ ]^,
\%-G%*[\ ]^%*[~],
\%-G%*[\ ]...
" New errorformat (after nightly 2016/08/10)
CompilerSet errorformat+=
\%-G,
\%-Gerror:\ aborting\ %.%#,
\%-Gerror:\ Could\ not\ compile\ %.%#,
\%Eerror:\ %m,
\%Eerror[E%n]:\ %m,
\%Wwarning:\ %m,
\%Inote:\ %m,
\%C\ %#-->\ %f:%l:%c
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -0,0 +1,37 @@
" Vim compiler file
" Compiler: Haskell Stack
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
" Latest Revision: 2018-08-27
if exists("current_compiler")
finish
endif
let current_compiler = "stack"
let s:cpo_save = &cpo
set cpo&vim
CompilerSet errorformat=
\%-G%.%#:\ build\ %.%#,
\%-G%.%#:\ configure\ %.%#,
\%-G[%.%#]%.%#,
\%-G%.%#preprocessing\ %.%#,
\%-G%.%#configuring\ %.%#,
\%-G%.%#building\ %.%#,
\%-G%.%#linking\ %.%#,
\%-G%.%#installing\ %.%#,
\%-G%.%#registering\ %.%#,
\%-G%.%#:\ copy/register%.%#,
\%-G%.%#process\ exited\ %.%#,
\%-G%.%#--builddir=%.%#,
\%-G--%.%#,
\%-G%.%#\|%.%#,
\%E%f:%l:%c:\ error:,%+Z\ \ \ \ %m,
\%E%f:%l:%c:\ error:\ %m,%-Z,
\%W%f:%l:%c:\ warning:,%+Z\ \ \ \ %m,
\%W%f:%l:%c:\ warning:\ %m,%-Z,
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2017 Mar 08
" Last change: 2019 Feb 18
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@ -26,6 +26,12 @@ if &compatible
set nocompatible
endif
" When the +eval feature is missing, the set command above will be skipped.
" Use a trick to reset compatible only when the +eval feature is missing.
silent! while 0
set nocompatible
silent! endwhile
" Allow backspacing over everything in insert mode.
set backspace=indent,eol,start
@ -84,8 +90,8 @@ if &t_Co > 2 || has("gui_running")
let c_comment_strings=1
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Only do this part when Vim was compiled with the +eval feature.
if 1
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
@ -100,16 +106,17 @@ if has("autocmd")
au!
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
" Don't do it when the position is invalid, when inside an event handler
" (happens when dropping a file on gvim) and for a commit message (it's
" likely a different one than last time).
autocmd BufReadPost *
\ if line("'\"") >= 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
\ | exe "normal! g`\""
\ | endif
augroup END
endif " has("autocmd")
endif
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.

View File

@ -5,6 +5,7 @@
" Last Change: 2001 May 27
aunmenu *
tlunmenu *
silent! unlet did_install_default_menus
silent! unlet did_install_syntax_menu

View File

@ -30,6 +30,7 @@ DOCS = \
filetype.txt \
fold.txt \
ft_ada.txt \
ft_rust.txt \
ft_sql.txt \
gui.txt \
gui_w32.txt \
@ -100,6 +101,8 @@ DOCS = \
tabpage.txt \
tagsrch.txt \
term.txt \
terminal.txt \
textprop.txt \
tips.txt \
todo.txt \
uganda.txt \
@ -165,6 +168,7 @@ HTMLS = \
filetype.html \
fold.html \
ft_ada.html \
ft_rust.html \
ft_sql.html \
gui.html \
gui_w32.html \
@ -234,6 +238,8 @@ HTMLS = \
tabpage.html \
tagsrch.html \
term.html \
terminal.html \
textprop.html \
tips.html \
todo.html \
uganda.html \
@ -339,7 +345,7 @@ xxd.man: xxd.1
nroff -man xxd.1 | sed -e s/.//g > xxd.man
uganda.nsis.txt: uganda.txt
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
uganda.txt | uniq >uganda.nsis.txt
# Awk version of .txt to .html conversion.
@ -371,6 +377,10 @@ tags.ref tags.html: tags
perlhtml: tags $(DOCS)
./vim2html.pl tags $(DOCS)
# Check URLs in the help with "curl".
test_urls:
vim -S test_urls.vim
clean:
-rm doctags *.html tags.ref

View File

@ -1,4 +1,4 @@
*arabic.txt* For Vim version 8.0. Last change: 2010 Nov 13
*arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
@ -10,11 +10,11 @@ Arabic Language support (options & mappings) for Vim *Arabic*
*E800*
In order to use right-to-left and Arabic mapping support, it is
necessary to compile VIM with the |+arabic| feature.
necessary to compile Vim with the |+arabic| feature.
These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org>
It is best to view this file with these settings within VIM's GUI: >
It is best to view this file with these settings within Vim's GUI: >
:set encoding=utf-8
:set arabicshape
@ -42,7 +42,7 @@ the user interface remains the standard Vi interface.
Highlights
----------
o Editing left-to-right files as in the original VIM hasn't changed.
o Editing left-to-right files as in the original Vim hasn't changed.
o Viewing and editing files in right-to-left windows. File
orientation is per window, so it is possible to view the same
@ -52,7 +52,7 @@ o No special terminal with right-to-left capabilities is required.
The right-to-left changes are completely hardware independent.
Only Arabic fonts are necessary.
o Compatible with the original VIM. Almost all features work in
o Compatible with the original Vim. Almost all features work in
right-to-left mode (there are liable to be bugs).
o Changing keyboard mapping and reverse insert modes using a single
@ -66,14 +66,14 @@ o While in Arabic mode, numbers are entered from left to right. Upon
o Arabic keymapping on the command line in reverse insert mode.
o Proper Bidirectional functionality is possible given VIM is
o Proper Bidirectional functionality is possible given Vim is
started within a Bidi capable terminal emulator.
Arabic Fonts *arabicfonts*
------------
VIM requires monospaced fonts of which there are many out there.
Vim requires monospaced fonts of which there are many out there.
Arabic requires ISO-8859-6 as well as Presentation Form-B fonts
(without Form-B, Arabic will _NOT_ be usable). It is highly
recommended that users search for so-called 'ISO-10646-1' fonts.
@ -96,13 +96,13 @@ o Installation of fonts for X Window systems (Unix/Linux)
Usage
-----
Prior to the actual usage of Arabic within VIM, a number of settings
Prior to the actual usage of Arabic within Vim, a number of settings
need to be accounted for and invoked.
o Setting the Arabic fonts
+ For VIM GUI set the 'guifont' to your_ARABIC_FONT. This is done
by entering the following command in the VIM window.
+ For Vim GUI set the 'guifont' to your_ARABIC_FONT. This is done
by entering the following command in the Vim window.
>
:set guifont=your_ARABIC_FONT
<
@ -115,7 +115,7 @@ o Setting the Arabic fonts
you can include ':set guifont=your_ARABIC_FONT' to your .vimrc
file.
+ Under the X Window environment, you can also start VIM with
+ Under the X Window environment, you can also start Vim with
'-fn your_ARABIC_FONT' option.
o Setting the appropriate character Encoding
@ -124,7 +124,7 @@ o Setting the appropriate character Encoding
>
:set encoding=utf-8
<
to your .vimrc file (entering the command manually into you VIM
to your .vimrc file (entering the command manually into you Vim
window is highly discouraged). In short, include ':set
encoding=utf-8' to your .vimrc file.
@ -137,11 +137,11 @@ o Setting the appropriate character Encoding
o Enable Arabic settings [short-cut]
In order to simplify and streamline things, you can either invoke
VIM with the command-line option,
Vim with the command-line option,
% vim -A my_utf8_arabic_file ...
or enable 'arabic' via the following command within VIM
or enable 'arabic' via the following command within Vim
>
:set arabic
<
@ -189,7 +189,7 @@ o Enable Arabic settings [short-cut]
>
:set keymap=arabic
<
in your VIM window. You can also append the 'keymap' set command to
in your Vim window. You can also append the 'keymap' set command to
your .vimrc file. In other words, you can include ':set keymap=arabic'
to your .vimrc file.
@ -202,7 +202,7 @@ o Enable Arabic settings [short-cut]
+ Arabic deletion of a combined pair character
By default VIM has the 'delcombine' option disabled. This option
By default Vim has the 'delcombine' option disabled. This option
allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
and still retain the LAM (i.e. it reverts to treating the combined
character as its natural two characters form -- this also pertains
@ -211,13 +211,13 @@ o Enable Arabic settings [short-cut]
>
:set delcombine
<
in our VIM window. You can also append the 'delcombine' set command
in our Vim window. You can also append the 'delcombine' set command
to your .vimrc file. In other words, you can include ':set delcombine'
to your .vimrc file.
+ Arabic right-to-left Mode
By default VIM starts in Left-to-right mode. 'rightleft' is the
By default Vim starts in Left-to-right mode. 'rightleft' is the
command that allows one to alter a window's orientation - that can
be accomplished via,
@ -253,7 +253,7 @@ o Enable Arabic settings [short-cut]
>
:set arabicshape
<
in our VIM window. You can also append the 'arabicshape' set
in our Vim window. You can also append the 'arabicshape' set
command to your .vimrc file. In other words, you can include
':set arabicshape' to your .vimrc file.
@ -261,7 +261,7 @@ o Enable Arabic settings [short-cut]
Keymap/Keyboard *arabickeymap*
---------------
The character/letter encoding used in VIM is the standard UTF-8.
The character/letter encoding used in Vim is the standard UTF-8.
It is widely discouraged that any other encoding be used or even
attempted.
@ -294,7 +294,7 @@ o Keyboard
Restrictions
------------
o VIM in its GUI form does not currently support Bi-directionality
o Vim in its GUI form does not currently support Bi-directionality
(i.e. the ability to see both Arabic and Latin intermixed within
the same line).
@ -319,4 +319,4 @@ There is one known minor bug,
No other bugs are known to exist.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,10 +1,10 @@
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jan 14
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jan 19
VIM REFERENCE MANUAL by Bram Moolenaar
Automatic commands *autocommand*
Automatic commands *autocommand* *autocommands*
For a basic explanation, see section |40.3| in the user manual.
@ -21,7 +21,6 @@ For a basic explanation, see section |40.3| in the user manual.
11. Disabling autocommands |autocmd-disable|
{Vi does not have any of these commands}
{only when the |+autocmd| feature has not been disabled at compile time}
==============================================================================
1. Introduction *autocmd-intro*
@ -33,7 +32,7 @@ files matching *.c. You can also use autocommands to implement advanced
features, such as editing compressed files (see |gzip-example|). The usual
place to put autocommands is in your .vimrc or .exrc file.
*E203* *E204* *E143* *E855* *E937*
*E203* *E204* *E143* *E855* *E937* *E952*
WARNING: Using autocommands is very powerful, and may lead to unexpected side
effects. Be careful not to destroy your text.
- It's a good idea to do some testing on an expendable copy of a file first.
@ -57,6 +56,8 @@ effects. Be careful not to destroy your text.
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat} |autocmd-patterns|.
Note: A quote character is seen as argument to the
: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].
@ -68,7 +69,14 @@ Note: The ":autocmd" command can only be followed by another command when the
'|' appears before {cmd}. This works: >
:augroup mine | au! BufRead | augroup END
But this sees "augroup" as part of the defined command: >
:augroup mine | au! BufRead * | augroup END
:augroup mine | au BufRead * set tw=70 | augroup END
Instead you can put the group name into the command: >
:au! mine BufRead *
:au mine BufRead * set tw=70
Or use `:execute`: >
:augroup mine | exe "au! BufRead *" | augroup END
:augroup mine | exe "au BufRead * set tw=70" | augroup END
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
arguments are not expanded when the autocommand is defined. These will be
@ -85,7 +93,8 @@ will appear twice. To avoid this, define your autocommands in a group, so
that you can easily clear them: >
augroup vimrc
autocmd! " Remove all vimrc autocommands
" Remove all vimrc autocommands
autocmd!
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
augroup END
@ -139,6 +148,8 @@ prompt. When one command outputs two messages this can happen anyway.
plugins, syntax highlighting, etc.
:au[tocmd]! [group] Remove ALL autocommands.
Note: a quote will be seen as argument to the :autocmd
and won't start a comment.
Warning: You should normally not do this without a
group, it breaks plugins, syntax highlighting, etc.
@ -251,6 +262,7 @@ 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
@ -279,7 +291,8 @@ Name triggered by ~
|GUIFailed| after starting the GUI failed
|TermResponse| after the terminal response to |t_RV| is received
|QuitPre| when using `:quit`, before deciding whether to quit
|QuitPre| when using `:quit`, before deciding whether to exit
|ExitPre| when using a command that may make Vim exit
|VimLeavePre| before exiting Vim, before writing the viminfo file
|VimLeave| before exiting Vim, after writing the viminfo file
@ -288,6 +301,9 @@ Name triggered by ~
|FileChangedShellPost| After handling a file changed since editing started
|FileChangedRO| before making the first change to a read-only file
|DiffUpdated| after diffs have been updated
|DirChanged| after the working directory has changed
|ShellCmdPost| after executing a shell command
|ShellFilterPost| after filtering with a shell command
@ -295,6 +311,7 @@ Name triggered by ~
|FuncUndefined| a user function is used but it isn't defined
|SpellFileMissing| a spell file is used but it can't be found
|SourcePre| before sourcing a Vim script
|SourcePost| after sourcing a Vim script
|SourceCmd| before sourcing a Vim script |Cmd-event|
|VimResized| after the Vim window size changed
@ -315,6 +332,10 @@ Name triggered by ~
|CmdwinEnter| after entering the command-line window
|CmdwinLeave| before leaving the command-line window
|CmdlineChanged| after a change was made to the command-line text
|CmdlineEnter| after the cursor moves to the command line
|CmdlineLeave| before the cursor leaves the command line
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
@ -323,7 +344,12 @@ Name triggered by ~
|TextChanged| after a change was made to the text in Normal mode
|TextChangedI| after a change was made to the text in Insert mode
when popup menu is not visible
|TextChangedP| after a change was made to the text in Insert mode
when popup menu visible
|TextYankPost| after text has been yanked or deleted
|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
|RemoteReply| a reply from a server Vim was received
@ -445,6 +471,9 @@ BufWinEnter After a buffer is displayed in a window. This
existing buffer. But it does happen for a
":split" with the name of the current buffer,
since it reloads that buffer.
Does not happen for a terminal window, because
it starts in Terminal-Job mode and Normal mode
commands won't work. Use |TerminalOpen| instead.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
@ -492,6 +521,29 @@ CmdUndefined When a user command is used but it isn't
command is defined. An alternative is to
always define the user command and have it
invoke an autoloaded function. See |autoload|.
*CmdlineChanged*
CmdlineChanged After a change was made to the text in the
command line. Be careful not to mess up
the command line, it may cause Vim to lock up.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdlineEnter*
CmdlineEnter After moving the cursor to the command line,
where the user can type a command or search
string.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdlineLeave*
CmdlineLeave Before leaving the command line.
Also when abandoning the command line, after
typing CTRL-C or <Esc>.
When the commands result in an error the
command line is still executed.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdwinEnter*
CmdwinEnter After entering the command-line window.
Useful for setting options specifically for
@ -516,6 +568,10 @@ ColorScheme After loading a color scheme. |:colorscheme|
set, and <amatch> for the new colorscheme
name.
*ColorSchemePre*
ColorSchemePre Before loading a color scheme. |:colorscheme|
Useful to setup removing things added by a
color scheme, before another one is loaded.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
@ -602,6 +658,29 @@ FileChangedRO Before making the first change to a read-only
*E881*
If the number of lines changes saving for undo
may fail and the change will be aborted.
*DiffUpdated*
DiffUpdated After diffs have been updated. Depending on
what kind of diff is being used (internal or
external) this can be triggered on every
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.
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
<afile> is set to the new directory name.
*ExitPre*
ExitPre When using `:quit`, `:wq` in a way it makes
Vim exit, or using `:qall`, just after
|QuitPre|. Can be used to close any
non-essential window. Exiting may still be
cancelled if there is a modified buffer that
isn't automatically saved, use |VimLeavePre|
for really exiting.
*FileChangedShell*
FileChangedShell When Vim notices that the modification time of
a file has changed since editing started.
@ -610,7 +689,7 @@ FileChangedShell When Vim notices that the modification time of
|timestamp|
Mostly triggered after executing a shell
command, but also with a |:checktime| command
or when Gvim regains input focus.
or when gvim regains input focus.
This autocommand is triggered for each changed
file. It is not used when 'autoread' is set
and the buffer was not changed. If a
@ -621,7 +700,7 @@ FileChangedShell When Vim notices that the modification time of
to tell Vim what to do next.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer that was changed "<afile>".
buffer that was changed, which is in "<afile>".
NOTE: The commands must not change the current
buffer, jump to another buffer or delete a
buffer. *E246* *E811*
@ -651,7 +730,8 @@ FileType When the 'filetype' option has been set. The
pattern is matched against the filetype.
<afile> can be used for the name of the file
where this option was set, and <amatch> for
the new value of 'filetype'.
the new value of 'filetype'. Navigating to
another window or buffer is not allowed.
See |filetypes|.
*FileWriteCmd*
FileWriteCmd Before writing to a file, when not writing the
@ -680,13 +760,14 @@ FilterReadPre Before reading a file from a filter command.
Not triggered when 'shelltemp' is off.
*FilterWritePost*
FilterWritePost After writing a file for a filter command or
making a diff.
making a diff with an external diff (see
DiffUpdated for internal diff).
Vim checks the pattern against the name of
the current buffer as with FilterWritePre.
Not triggered when 'shelltemp' is off.
*FilterWritePre*
FilterWritePre Before writing a file for a filter command or
making a diff.
making a diff with an external diff.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
@ -738,7 +819,7 @@ InsertCharPre When a character is typed in Insert mode,
inserted literally.
It is not allowed to change the text |textlock|.
The event is not triggered when 'paste' is
set.
set. {only with the +eval feature}
*InsertEnter*
InsertEnter Just before starting Insert mode. Also for
Replace mode and Virtual Replace mode. The
@ -756,13 +837,14 @@ MenuPopup Just before showing the popup menu (under the
right mouse button). Useful for adjusting the
menu for what is under the cursor or mouse
pointer.
The pattern is matched against a single
character representing the mode:
The pattern is matched against one or two
characters representing the mode:
n Normal
v Visual
o Operator-pending
i Insert
c Command line
tl Terminal
*OptionSet*
OptionSet After setting an option. The pattern is
matched against the long option name.
@ -786,6 +868,9 @@ OptionSet After setting an option. The pattern is
plugin. You can always use `:noa` to prevent
triggering this autocommand.
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|,
@ -816,6 +901,7 @@ QuitPre When using `:quit`, `:wq` or `:qall`, before
or quits Vim. Can be used to close any
non-essential window if the current window is
the last ordinary window.
Also see |ExitPre|.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|. The
@ -840,6 +926,12 @@ ShellFilterPost After executing a shell command with
*SourcePre*
SourcePre Before sourcing a Vim script. |:source|
<afile> is the name of the file being sourced.
*SourcePost*
SourcePost After sourcing a Vim script. |:source|
<afile> is the name of the file being sourced.
Not triggered when sourcing was interrupted.
Also triggered after a SourceCmd autocommand
was triggered.
*SourceCmd*
SourceCmd When sourcing a Vim script. |:source|
<afile> is the name of the file being sourced.
@ -884,6 +976,7 @@ SwapExists Detected an existing swap file when starting
It is not allowed to change to another buffer,
change a buffer name or change directory
here.
{only available with the +eval feature}
*Syntax*
Syntax When the 'syntax' option has been set. The
pattern is matched against the syntax name.
@ -910,6 +1003,11 @@ TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
colors, fonts and other terminal-dependent
settings. Executed for all loaded buffers.
*TerminalOpen*
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.
*TermResponse*
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
@ -920,8 +1018,10 @@ TermResponse After the response to |t_RV| is received from
anything else that takes time is involved.
*TextChanged*
TextChanged After a change was made to the text in the
current buffer in Normal mode. That is when
|b:changedtick| has changed.
current buffer in Normal mode. That is after
|b:changedtick| has changed (also when that
happened before the TextChanged autocommand
was defined).
Not triggered when there is typeahead or when
an operator is pending.
Careful: This is triggered very often, don't
@ -932,10 +1032,39 @@ TextChangedI After a change was made to the text in the
current buffer in Insert mode.
Not triggered when the popup menu is visible.
Otherwise the same as TextChanged.
*TextChangedP*
TextChangedP After a change was made to the text in the
current buffer in Insert mode, only when the
popup menu is visible. Otherwise the same as
TextChanged.
*TextYankPost*
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
register, as a list of lines,
like with: >
getreg(r, 1, 1)
< regname Name of the |register| or
empty string for the unnamed
register.
regtype Type of the register, see
|getregtype()|.
Not triggered when |quote_| is used nor when
called recursively.
It is not allowed to change the buffer text,
see |textlock|.
{only when compiled with the +eval feature}
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
":doautocmd".
Note that when `:doautocmd User MyEvent` is
used while there are no matching autocommands,
you will get an error. If you don't want
that, define a dummy autocommand yourself.
*UserGettingBored*
UserGettingBored When the user presses the same key 42 times.
Just kidding! :-)
@ -980,9 +1109,10 @@ WinEnter After entering another window. Not done for
If the window is for another buffer, Vim
executes the BufEnter autocommands after the
WinEnter autocommands.
Note: When using ":split fname" the WinEnter
event is triggered after the split but before
the file "fname" is loaded.
Note: For split and tabpage commands the
WinEnter event is triggered after the split
or tab command but before the file is loaded.
*WinLeave*
WinLeave Before leaving a window. If the window to be
entered next is for a different buffer, Vim
@ -1292,7 +1422,7 @@ Careful: '[ and '] change when using commands that change the buffer.
In commands which expect a file name, you can use "<afile>" for the file name
that is being read |:<afile>| (you can also use "%" for the current file
name). "<abuf>" can be used for the buffer number of the currently effective
buffer. This also works for buffers that doesn't have a name. But it doesn't
buffer. This also works for buffers that don't have a name. But it doesn't
work for files without a buffer (e.g., with ":r file").
*gzip-example*
@ -1483,4 +1613,4 @@ This will write the file without triggering the autocommands defined by the
gzip plugin.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.0. Last change: 2017 Feb 12
*change.txt* For Vim version 8.1. Last change: 2019 Feb 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -110,7 +110,7 @@ is an error when 'cpoptions' includes the 'E' flag.
J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see
below). Fails when on the last line of the buffer.
If [count] is too big it is reduce to the number of
If [count] is too big it is reduced to the number of
lines available.
*v_J*
@ -177,8 +177,6 @@ gR Enter Virtual Replace mode: Each character you type
<Tab> may replace several characters at once.
Repeat the entered text [count]-1 times. See
|Virtual-Replace-mode| for more details.
{not available when compiled without the |+vreplace|
feature}
*c*
["x]c{motion} Delete {motion} text [into register x] and start
@ -303,8 +301,6 @@ gr{char} Replace the virtual characters under the cursor with
space. See |gR| and |Virtual-Replace-mode| for more
details. As with |r| a count may be given.
{char} can be entered like with |r|.
{not available when compiled without the |+vreplace|
feature}
*digraph-arg*
The argument for Normal mode commands like |r| and |t| is a single character.
@ -446,7 +442,7 @@ This depends on the 'nrformats' option:
For decimals a leading negative sign is considered for incrementing/
decrementing, for binary, octal and hex values, it won't be considered. To
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
For numbers with leading zeros (including all octal and hexadecimal numbers),
Vim preserves the number of characters in the number when possible. CTRL-A on
@ -480,6 +476,10 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
*<*
<{motion} Shift {motion} lines one 'shiftwidth' leftwards.
If the 'vartabstop' feature is enabled, and the
'shiftwidth' option is set to zero, the amount of
indent is calculated at the first non-blank character
in the line.
*<<*
<< Shift [count] lines one 'shiftwidth' leftwards.
@ -491,6 +491,10 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
*>*
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
If the 'vartabstop' feature is enabled, and the
'shiftwidth' option is set to zero, the amount of
indent is calculated at the first non-blank character
in the line.
*>>*
>> Shift [count] lines one 'shiftwidth' rightwards.
@ -533,6 +537,7 @@ If the 'shiftround' option is on, the indent is rounded to a multiple of
If the 'smartindent' option is on, or 'cindent' is on and 'cinkeys' contains
'#' with a zero value, shift right does not affect lines starting with '#'
(these are supposed to be C preprocessor lines that must stay in column 1).
This can be changed with the 'cino' option, see |cino-#|.
When the 'expandtab' option is off (this is the default) Vim uses <Tab>s as
much as possible to make the indent. You can use ">><<" to replace an indent
@ -635,11 +640,11 @@ For other systems the tmpnam() library function is used.
For the {pattern} see |pattern|.
{string} can be a literal string, or something
special; see |sub-replace-special|.
*E939*
When [range] and [count] are omitted, replace in the
current line only. When [count] is given, replace in
[count] lines, starting with the last line in [range].
When [range] is omitted start in the current line.
*E939*
[count] must be a positive number. Also see
|cmdline-ranges|.
@ -711,6 +716,7 @@ The flags that you can use for the substitute commands:
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
particular, continue in maps as if no error occurred. This is most
useful to prevent the "No match" error from breaking a mapping. Vim
@ -722,6 +728,7 @@ The flags that you can use for the substitute commands:
Interrupted
{not in Vi}
*:s_g*
[g] Replace all occurrences in the line. Without this argument,
replacement occurs only for the first occurrence in each line. If
the 'edcompatible' option is on, Vim remembers this flag and toggles
@ -729,26 +736,30 @@ The flags that you can use for the substitute commands:
pattern. If the 'gdefault' option is on, this flag is on by default
and the [g] argument switches it off.
*: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]
flag is ignored. The matches are reported as if 'report' is zero.
Useful to |count-items|.
If \= |sub-replace-expression| is used, the expression will be
evaluated in the |sandbox| at every match.
[p] Print the line containing the last substitute.
[p] Print the line containing the last substitute. *:s_p*
[#] Like [p] and prepend the line number.
[#] Like [p] and prepend the line number. *:s_#*
[l] Like [p] but print the text like |:list|.
[l] Like [p] but print the text like |:list|. *:s_l*
*:s_r*
[r] Only useful in combination with `:&` or `:s` without arguments. `:&r`
works the same way as `:~`: When the search pattern is empty, use the
previously used search pattern instead of the search pattern from the
@ -847,7 +858,7 @@ the |substitute()| function with the following exceptions:
- magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M).
- \<CR> does not have a special meaning. it's just one of \x.
- \<CR> does not have a special meaning. It's just one of \x.
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
@ -933,9 +944,9 @@ When the result is a |List| then the items are joined with separating line
breaks. Thus each item becomes a line, except that they can contain line
breaks themselves.
The whole matched text can be accessed with "submatch(0)". The text matched
with the first pair of () with "submatch(1)". Likewise for further
sub-matches in ().
The |submatch()| function can be used to obtain matched text. The whole
matched text can be accessed with "submatch(0)". The text matched with the
first pair of () with "submatch(1)". Likewise for further sub-matches in ().
Be careful: The separation character must not appear in the expression!
Consider using a character like "@" or ":". There is no problem if the result
@ -986,6 +997,11 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
this (that's a good habit anyway).
`:retab!` may also change a sequence of spaces by
<Tab> characters, which can mess up a printf().
If the |+vartabs| feature is enabled then a list of
tab widths separated by commas may be used in place of
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*
@ -1444,6 +1460,55 @@ to the name of an external program for Vim to use for text formatting. The
'textwidth' and other options have no effect on formatting by an external
program.
*format-formatexpr*
The 'formatexpr' option can be set to a Vim script function that performs
reformatting of the buffer. This should usually happen in an |ftplugin|,
since formatting is highly dependent on the type of file. It makes
sense to use an |autoload| script, so the corresponding script is only loaded
when actually needed and the script should be called <filetype>format.vim.
For example, the XML filetype plugin distributed with Vim in the $VIMRUNTIME
directory, sets the 'formatexpr' option to: >
setlocal formatexpr=xmlformat#Format()
That means, you will find the corresponding script, defining the
xmlformat#Format() function, in the directory:
`$VIMRUNTIME/autoload/xmlformat.vim`
Here is an example script that removes trailing whitespace from the selected
text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
func! format#Format()
" only reformat on explicit gq command
if mode() != 'n'
" fall back to Vims internal reformatting
return 1
endif
let lines = getline(v:lnum, v:lnum + v:count - 1)
call map(lines, {key, val -> substitute(val, '\s\+$', '', 'g')})
call setline('.', lines)
" do not run internal formatter!
return 0
endfunc
You can then enable the formatting by executing: >
setlocal formatexpr=format#Format()
Note: this function explicitly returns non-zero when called from insert mode
(which basically means, text is inserted beyond the 'textwidth' limit). This
causes Vim to fall back to reformat the text by using the internal formatter.
However, if the |gq| command is used to reformat the text, the function
will receive the selected lines, trim trailing whitespace from those lines and
put them back in place. If you are going to split single lines into multiple
lines, be careful not to overwrite anything.
If you want to allow reformatting of text from insert or replace mode, one has
to be very careful, because the function might be called recursively. For
debugging it helps to set the 'debug' option.
*right-justify*
There is no command in Vim to right justify text. You can do it with
an external command, like "par" (e.g.: "!}par" to format until the end of the
@ -1655,6 +1720,17 @@ j Where it makes sense, remove a comment leader when joining lines. For
// in the list ~
Becomes:
int i; // the index in the list ~
p Don't break lines at single spaces that follow periods. This is
intended to complement 'joinspaces' and |cpo-J|, for prose with
sentences separated by two spaces. For example, with 'textwidth' set
to 28: >
Surely you're joking, Mr. Feynman!
< Becomes: >
Surely you're joking,
Mr. Feynman!
< Instead of: >
Surely you're joking, Mr.
Feynman!
With 't' and 'c' you can specify when Vim performs auto-wrapping:
@ -1829,4 +1905,4 @@ The sorting can be interrupted, but if you interrupt it too late in the
process you may end up with duplicated lines. This also depends on the system
library function used.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.0. Last change: 2016 Dec 02
*channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -22,6 +22,7 @@ The Netbeans interface also uses a channel. |netbeans|
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|
{Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
@ -55,7 +56,7 @@ JS JavaScript style JSON-like encoding |js_encode()|
Common combination are:
- Using a job connected through pipes in NL mode. E.g., to run a style
checker and receive errors and warnings.
- Using a deamon, connecting over a socket in JSON mode. E.g. to lookup
- Using a daemon, connecting over a socket in JSON mode. E.g. to lookup
cross-references in a database.
==============================================================================
@ -162,6 +163,9 @@ Use |ch_status()| to see if the channel could be opened.
The "close_cb" is also considered for this.
"never" All messages will be kept.
*channel-noblock*
"noblock" Same effect as |job-noblock|. Only matters for writing.
*waittime*
"waittime" The time to wait for the connection to be made in
milliseconds. A negative number waits forever.
@ -427,8 +431,8 @@ When no message was available then the result is v:none for a JSON or JS mode
channels, an empty string for a RAW or NL channel. You can use |ch_canread()|
to check if there is something to read.
Note that when there is no callback message are dropped. To avoid that add a
close callback to the channel.
Note that when there is no callback, messages are dropped. To avoid that add
a close callback to the channel.
To read all output from a RAW channel that is available: >
let output = ch_readraw(channel)
@ -489,6 +493,11 @@ If you want to handle both stderr and stdout with one handler use the
"callback" option: >
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.
This might not always work when called early, put in the callback handler or
use a timer to call it after the job has started.
You can send a message to the command with ch_evalraw(). If the channel is in
JSON or JS mode you can use ch_evalexpr().
@ -513,7 +522,7 @@ By default this reads the whole buffer. This can be changed with the "in_top"
and "in_bot" options.
A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
time a line is added to the buffer, the last-but-one line will be send to the
time a line is added to the buffer, the last-but-one line will be sent to the
job stdin. This allows for editing the last line and sending it when pressing
Enter.
*channel-close-in*
@ -588,6 +597,17 @@ See |job_setoptions()| and |ch_setoptions()|.
Note: when writing to a file or buffer and when
reading from a buffer NL mode is used by default.
*job-noblock*
"noblock": 1 When writing use a non-blocking write call. This
avoids getting stuck if Vim should handle other
messages in between, e.g. when a job sends back data
to Vim. It implies that when `ch_sendraw()` returns
not all data may have been written yet.
This option was added in patch 8.1.0350, test with: >
if has("patch-8.1.350")
let options['noblock'] = 1
endif
<
*job-callback*
"callback": handler Callback for something to read on any part of the
channel.
@ -606,7 +626,7 @@ See |job_setoptions()| and |ch_setoptions()|.
"close_cb": handler Callback for when the channel is closed. Same as
"close_cb" on |ch_open()|, see |close_cb|.
*job-drop*
"drop" Specifies when to drop messages. Same as "drop" on
"drop": when Specifies when to drop messages. Same as "drop" on
|ch_open()|, see |channel-drop|. For "auto" the
exit_cb is not considered.
*job-exit_cb*
@ -619,12 +639,12 @@ See |job_setoptions()| and |ch_setoptions()|.
Note that data can be buffered, callbacks may still be
called after the process ends.
*job-timeout*
"timeout" The time to wait for a request when blocking, E.g.
"timeout": time The time to wait for a request when blocking, E.g.
when using ch_evalexpr(). In milliseconds. The
default is 2000 (2 seconds).
*out_timeout* *err_timeout*
"out_timeout" Timeout for stdout. Only when using pipes.
"err_timeout" Timeout for stderr. Only when using pipes.
"out_timeout": time Timeout for stdout. Only when using pipes.
"err_timeout": time Timeout for stderr. Only when using pipes.
Note: when setting "timeout" the part specific mode is
overwritten. Therefore set "timeout" first and the
part specific mode later.
@ -636,8 +656,9 @@ See |job_setoptions()| and |ch_setoptions()|.
The default is "term".
*job-term*
"term": "open" Start a terminal and connect the job
stdin/stdout/stderr to it.
"term": "open" Start a terminal in a new window and connect the job
stdin/stdout/stderr to it. Similar to using
`:terminal`.
NOTE: Not implemented yet!
"channel": {channel} Use an existing channel instead of creating a new one.
@ -647,6 +668,11 @@ See |job_setoptions()| and |ch_setoptions()|.
cause I/O errors.
Existing callbacks and other settings remain.
"pty": 1 Use a pty (pseudo-tty) instead of a pipe when
possible. This is most useful in combination with a
terminal window, see |terminal|.
{only on Unix and Unix-like systems}
*job-in_io* *in_top* *in_bot* *in_name* *in_buf*
"in_io": "null" disconnect stdin (read from /dev/null)
"in_io": "pipe" stdin is connected to the channel (default)
@ -685,6 +711,10 @@ See |job_setoptions()| and |ch_setoptions()|.
"block_write": number only for testing: pretend every other write to stdin
will block
"env": dict environment variables for the new process
"cwd": "/path/to/dir" current working directory for the new process;
if the directory does not exist an error is given
Writing to a buffer ~
*out_io-buffer*
@ -720,10 +750,6 @@ The "out_msg" option can be used to specify whether a new buffer will have the
first line set to "Reading from channel output...". The default is to add the
message. "err_msg" does the same for channel error.
'modifiable' option off, or write to a buffer that has 'modifiable' off. That
means that lines will be appended to the buffer, but the user can't easily
change the buffer.
When an existing buffer is to be written where 'modifiable' is off and the
"out_modifiable" or "err_modifiable" options is not zero, an error is given
and the buffer will not be written to.
@ -759,5 +785,49 @@ signals. E.g. to force a job to stop, "kill it": >
For more options see |job_stop()|.
==============================================================================
12. Using a prompt buffer *prompt-buffer*
vim:tw=78:ts=8:ft=help:norl:
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.
This will be complicated, since there are so many possible commands.
- Use a terminal window. This works well if what you type goes directly to
the job and the job output is directly displayed in the window.
See |terminal-window|.
- Use a prompt window. This works well when entering a line for the job in Vim
while displaying (possibly filtered) output from the job.
A prompt buffer is created by setting 'buftype' to "prompt". You would
normally only do that in a newly created buffer.
The user can edit and enter one line of text at the very last line of the
buffer. When pressing Enter in the prompt line the callback set with
|prompt_setcallback()| is invoked. It would normally send the line to a job.
Another callback would receive the output from the job and display it in the
buffer, below the prompt (and above the next prompt).
Only the text in the last line, after the prompt, is editable. The rest of the
buffer is not modifiable with Normal mode commands. It can be modified by
calling functions, such as |append()|. Using other commands may mess up the
buffer.
After setting 'buftype' to "prompt" Vim does not automatically start Insert
mode, use `:startinsert` if you want to enter Insert mode, so that the user
can start typing a line.
The text of the prompt can be set with the |prompt_setprompt()| function.
The user can go to Normal mode and navigate through the buffer. This can be
useful see older output or copy text.
The CTRL-W key can be used to start a window command, such as CTRL-W w to
switch to the next window. This also works in Insert mode (use Shift-CTRL-W
to delete a word). When leaving the window Insert mode will be stopped. When
coming back to the prompt window Insert mode will be restored.
Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
the cursor to the last line. "A" will move to the end of the line, "I" to the
start of the line.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.0. Last change: 2016 Sep 27
*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -175,12 +175,14 @@ CTRL-R CTRL-F *c_CTRL-R_CTRL-F* *c_<C-R>_<C-F>*
CTRL-R CTRL-P *c_CTRL-R_CTRL-P* *c_<C-R>_<C-P>*
CTRL-R CTRL-W *c_CTRL-R_CTRL-W* *c_<C-R>_<C-W>*
CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
Insert the object under the cursor:
CTRL-F the Filename under the cursor
CTRL-P the Filename under the cursor, expanded with
'path' as in |gf|
CTRL-W the Word under the cursor
CTRL-A the WORD under the cursor; see |WORD|
CTRL-L the line under the cursor
When 'incsearch' is set the cursor position at the end of the
currently displayed match is used. With CTRL-W the part of
@ -192,8 +194,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
*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-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
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}
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),
@ -410,14 +412,17 @@ CTRL-D List names that match the pattern in front of the cursor.
match is inserted. After the last match, the first is used
again (wrap around).
The behavior can be changed with the 'wildmode' option.
*c_<S-Tab>*
<S-Tab> Like 'wildchar' or <Tab>, but begin with the last match and
then go to the previous match.
<S-Tab> does not work everywhere.
*c_CTRL-N*
CTRL-N After using 'wildchar' which got multiple matches, go to next
match. Otherwise recall more recent command-line from history.
<S-Tab> *c_CTRL-P* *c_<S-Tab>*
*c_CTRL-P*
CTRL-P After using 'wildchar' which got multiple matches, go to
previous match. Otherwise recall older command-line from
history. <S-Tab> only works with the GUI, on the Amiga and
with MS-DOS.
history.
*c_CTRL-A*
CTRL-A All names that match the pattern in front of the cursor are
inserted.
@ -453,8 +458,15 @@ a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
When repeating 'wildchar' or CTRL-N you cycle through the matches, eventually
ending up back to what was typed. If the first match is not what you wanted,
you can use <S-Tab> or CTRL-P to go straight back to what you typed.
The 'wildignorecase' option can be set to ignore case in filenames.
The 'wildmenu' option can be set to show the matches just above the command
line.
If you like tcsh's autolist completion, you can use this mapping:
:cnoremap X <C-L><C-D>
(Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D)
@ -522,8 +534,45 @@ after a command causes the rest of the line to be ignored. This can be used
to add comments. Example: >
:set ai "set 'autoindent' option
It is not possible to add a comment to a shell command ":!cmd" or to the
":map" command and a few others, because they see the '"' as part of their
argument. This is mentioned where the command is explained.
":map" command and a few others (mainly commands that expect expressions)
that see the '"' as part of their argument:
:argdo
:autocmd
:bufdo
:cexpr (and the like)
:cdo (and the like)
:command
:cscope (and the like)
:debug
:display
:echo (and the like)
:elseif
:execute
:folddoopen
:folddoclosed
:for
:grep (and the like)
:help (and the like)
:if
:let
:make
:map (and the like including :abbrev commands)
:menu (and the like)
:mkspell
:normal
:ownsyntax
:popup
:promptfind (and the like)
:registers
:return
:sort
:syntax
:tabdo
:tearoff
:vimgrep (and the like)
:while
:windo
*:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
@ -820,25 +869,34 @@ it, no matter how many backslashes.
\\# \#
Also see |`=|.
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
*<slnum>* *E495* *E496* *E497* *E499* *E500*
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
*:<amatch>* *<amatch>*
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
*:<sflnum>* *<sflnum>* *E499* *E500*
Note: these are typed literally, they are not special keys!
<cword> is replaced with the word under the cursor (like |star|)
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
<cexpr> is replaced with the word under the cursor, including more
to form a C expression. E.g., when the cursor is on "arg"
of "ptr->arg" then the result is "ptr->arg"; when the
cursor is on "]" of "list[idx]" then the result is
"list[idx]". This is used for |v:beval_text|.
<cfile> is replaced with the path name under the cursor (like what
|gf| uses)
<afile> When executing autocommands, is replaced with the file name
for a file read or write.
of the buffer being manipulated, or the file for a read or
write. *E495*
<abuf> When executing autocommands, is replaced with the currently
effective buffer number (for ":r file" and ":so file" it is
the current buffer, the file being read/sourced is not in a
buffer).
buffer). *E496*
<amatch> When executing autocommands, is replaced with the match for
which this autocommand was executed. It differs from
<afile> only when the file name isn't used to match with
(for FileType, Syntax and SpellFileMissing events).
which this autocommand was executed. *E497*
It differs from <afile> only when the file name isn't used
to match with (for FileType, Syntax and SpellFileMissing
events).
<sfile> When executing a ":source" command, is replaced with the
file name of the sourced file. *E498*
When executing a function, is replaced with:
@ -848,9 +906,12 @@ Note: these are typed literally, they are not special keys!
Note that filename-modifiers are useless when <sfile> is
used inside a function.
<slnum> When executing a ":source" command, is replaced with the
line number. *E842*
line number. *E842*
When executing a function it's the line number relative to
the start of the function.
<sflnum> When executing a script, is replaced with the line number.
It differs from <slnum> in that <sflnum> is replaced with
the script line number in any situation. *E961*
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
@ -875,7 +936,8 @@ 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.
current directory, but on MS-Windows the drive is removed if
it is the current drive.
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.
@ -1144,4 +1206,4 @@ The character used for the pattern indicates the type of command-line:
@ string for |input()|
- text for |:insert| or |:append|
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*debug.txt* For Vim version 8.0. Last change: 2012 Feb 11
*debug.txt* For Vim version 8.1. Last change: 2017 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -53,7 +53,7 @@ Use this command to start Vim:
valgrind --log-file=valgrind.log --leak-check=full ./vim
Note: Vim will run much slower. If your .vimrc is big or you have several
plugins you need to be patient for startup, or run with the "-u NONE"
plugins you need to be patient for startup, or run with the "--clean"
argument.
There are often a few leaks from libraries, such as getpwuid() and
@ -172,4 +172,4 @@ Visual C++ 2005 Express Edition can be downloaded for free from:
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
=========================================================================
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*debugger.txt* For Vim version 8.0. Last change: 2005 Mar 29
*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
VIM REFERENCE MANUAL by Gordon Prieur
@ -95,10 +95,12 @@ list and colors can be set via X resources (XmNballoonEvalFontList,
XmNballoonEvalBackground, and XmNballoonEvalForeground).
The 'balloondelay' option sets the delay before an attempt is made to show a
balloon.
The 'ballooneval' option needs to be set to switch it on.
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
switch it on.
Balloon evaluation is only available when compiled with the |+balloon_eval|
feature.
Balloon evaluation is only available in the GUI when compiled with the
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
matters.
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
@ -137,4 +139,4 @@ Programming Environment.
For Sun NetBeans support see |netbeans|.
vim:tw=78:sw=4:ts=8:ft=help:norl:
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.0. Last change: 2017 Jan 05
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,7 +18,8 @@ See the file README.txt in the "src" directory for an overview of the source
code.
Vim is open source software. Everybody is encouraged to contribute to help
improving Vim. For sending patches a context diff "diff -c" is preferred.
improving Vim. For sending patches a unified diff "diff -u" is preferred.
You can create a pull request on github, but it's not required.
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
==============================================================================
@ -143,9 +144,10 @@ and its environment.
VIM IS... NOT *design-not*
- Vim is not a shell or an Operating System. You will not be able to run a
shell inside Vim or use it to control a debugger. This should work the
other way around: Use Vim as a component from a shell or in an IDE.
- Vim is not a shell or an Operating System. It does provide a terminal
window, in which you can run a shell or debugger. E.g. to be able to do
this over an ssh connection. But if you don't need a text editor with that
it is out of scope (use something like screen or tmux instead).
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include
everything but the kitchen sink, but some people say that you can clean one
with it. ;-)"
@ -181,12 +183,43 @@ The basic steps to make changes to the code:
include the diff. Or create a pull request on github.
C COMPILER *style-compiler*
C COMPILER *style-compiler* *ANSI-C* *C89* *C99*
The minimal C compiler version supported is C89, also known as ANSI C.
Later standards don't add much and C89 is the widest supported.
Later standards, such as C99, are not widely supported, or at least not 100%
supported. Therefore we use only some of the C99 features and disallow some
(at least for now).
One restriction that this implies: no // comments, only /* comments */.
Please don't make changes everywhere to use the C99 features, it causes merge
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:
int some_var; // single line comment useful here
Enums ~
The last item in an enum may have a trailing comma. C89 didn't allow this.
Types ~
"long long" is allowed and can be expected to be 64 bits. Use %lld in printf
formats. Also "long long unsigned" with %llu.
Not to be used ~
These C99 features are not to be used, because not enough compilers support
them:
- Declaration after Statements (MSVC 2012 does not support it). All
declarations need to be at the start of the block.
- Variable length arrays (even in C11 this is an optional feature).
- _Bool and _Complex types.
- "inline" (it's hardly ever needed, let the optimizer do its work)
- flexible array members: Not supported by HP-UX C compiler (John Marriott)
USE OF COMMON FUNCTIONS *style-functions*
@ -322,6 +355,24 @@ OK: if (cond)
cmd;
}
When a block has one line the braces can be left out. When an if/else has
braces on one block, it usually looks better when the other block also has
braces:
OK: if (cond)
cmd;
else
cmd;
OK: if (cond)
{
cmd;
}
else
{
cmd;
cmd;
}
Use ANSI (new style) function declarations with the return type on a separate
indented line.
@ -334,10 +385,10 @@ OK: /*
*/
int
function_name(
int arg1, /* short comment about arg1 */
int arg2) /* short comment about arg2 */
int arg1, // short comment about arg1
int arg2) // short comment about arg2
{
int local; /* comment about local */
int local; // comment about local
local = arg1 * arg2;
@ -530,4 +581,4 @@ long 32 or 64 bit signed, can hold a pointer
Note that some compilers cannot handle long lines or strings. The C89
standard specifies a limit of 509 characters.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.0. Last change: 2017 Feb 03
*diff.txt* For Vim version 8.1. Last change: 2017 Oct 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -10,7 +10,7 @@ eight versions of the same file.
The basics are explained in section |08.7| of the user manual.
1. Starting diff mode |vimdiff|
1. Starting diff mode |start-vimdiff|
2. Viewing diffs |view-diffs|
3. Jumping to diffs |jumpto-diffs|
4. Copying diffs |copy-diffs|
@ -19,7 +19,7 @@ The basics are explained in section |08.7| of the user manual.
{not in Vi}
==============================================================================
1. Starting diff mode
1. Starting diff mode *start-vimdiff*
The easiest way to start editing in diff mode is with the "vimdiff" command.
This starts Vim as usual, and additionally sets up for viewing the differences
@ -39,7 +39,9 @@ The second and following arguments may also be a directory name. Vim will
then append the file name of the first argument to the directory name to find
the file.
This only works when a standard "diff" command is available. See 'diffexpr'.
By default an internal diff library will be used. When 'diffopt' or
'diffexpr' has been set an external "diff" command will be used. This only
works when such a diff program is available.
Diffs are local to the current tab page |tab-page|. You can't see diffs with
a window in another tab page. This does make it possible to have several
@ -226,8 +228,8 @@ The diffs are highlighted with these groups:
(searching from the end of the line). The
text in between is highlighted. This means
that parts in the middle that are still the
same are highlighted anyway. Only "iwhite" of
'diffopt' is used here.
same are highlighted anyway. The 'diffopt'
flags "iwhite" and "icase" are used here.
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
because they don't really exist in this
buffer.
@ -326,7 +328,7 @@ g:diff_translations to zero: >
let g:diff_translations = 0
<
After setting this variable, Reload the syntax script: >
After setting this variable, reload the syntax script: >
set syntax=diff
<
@ -344,8 +346,9 @@ between file1 and file2: >
The ">" is replaced with the value of 'shellredir'.
The output of "diff" must be a normal "ed" style diff. Do NOT use a context
diff. This example explains the format that Vim expects: >
The output of "diff" must be a normal "ed" style diff or a unified diff. Do
NOT use a context diff. This example explains the format that Vim expects for
the "ed" style diff: >
1a2
> bbb
@ -384,12 +387,16 @@ Example (this does almost the same as 'diffexpr' being empty): >
endif
silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new .
\ " > " . v:fname_out
redraw!
endfunction
The "-a" argument is used to force comparing the files as text, comparing as
binaries isn't useful. The "--binary" argument makes the files read in binary
mode, so that a CTRL-Z doesn't end the text on DOS.
The `redraw!` command may not be needed, depending on whether executing a
shell command shows something on the display or not.
*E810* *E97*
Vim will do a test if the diff output looks alright. If it doesn't, you will
get an error message. Possible causes:
@ -441,4 +448,4 @@ evaluating 'patchexpr'. This hopefully avoids that files in the current
directory are accidentally patched. Vim will also delete files starting with
v:fname_in and ending in ".rej" and ".orig".
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*digraph.txt* For Vim version 8.0. Last change: 2016 Nov 04
*digraph.txt* For Vim version 8.1. Last change: 2019 Feb 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -24,7 +24,9 @@ An alternative is using the 'keymap' option.
1. Defining digraphs *digraphs-define*
*:dig* *:digraphs*
:dig[raphs] show currently defined digraphs.
:dig[raphs][!] Show currently defined digraphs.
With [!] headers are used to make it a bit easier to
find a specific character.
*E104* *E39*
:dig[raphs] {char1}{char2} {number} ...
Add digraph {char1}{char2} to the list. {number} is
@ -57,18 +59,9 @@ conversion to be available, it might fail. For the NUL character you will see
"10". That's because NUL characters are internally represented with a NL
character. When you write the file it will become a NUL character.
When Vim was compiled without the |+multi_byte| feature, you need to specify
the character in the encoding given with 'encoding'. You might want to use
something like this: >
if has("multi_byte")
digraph oe 339
elseif &encoding == "iso-8859-15"
digraph oe 189
endif
This defines the "oe" digraph for a character that is number 339 in Unicode
and 189 in latin9 (iso-8859-15).
Example: >
digraph oe 339
This defines the "oe" digraph for a character that is number 339 in Unicode.
==============================================================================
2. Using digraphs *digraphs-use*
@ -111,11 +104,14 @@ this, you will have to type <BS> e again. To avoid this don't set the
You may have problems using Vim with characters which have a value above 128.
For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
mode. After leaving the Insert mode everything is fine. Note that fmt
removes all characters with a value above 128 from the text being formatted.
On some Unix systems this means you have to define the environment-variable
LC_CTYPE. If you are using csh, then put the following line in your .cshrc: >
setenv LC_CTYPE iso_8859_1
mode. After leaving the Insert mode everything is fine. On some Unix systems
this means you have to define the environment-variable LC_CTYPE. If you are
using csh, then put the following line in your .cshrc: >
setenv LC_CTYPE en_US.utf8
(or similar for a different language or country). The value must be a valid
locale on your system, i.e. on Unix-like systems it must be present in the
output of >
locale -a
==============================================================================
3. Default digraphs *digraphs-default*
@ -159,8 +155,7 @@ a standard meaning:
Example: a: is ä and o: is ö
These are the RFC1345 digraphs for the one-byte characters. See the output of
":digraphs" for the others. The characters above 255 are only available when
Vim was compiled with the |+multi_byte| feature.
":digraphs" for the others.
EURO
@ -1488,4 +1483,4 @@ char digraph hex dec official name ~
ſt ft FB05 64261 LATIN SMALL LIGATURE LONG S T
st st FB06 64262 LATIN SMALL LIGATURE ST
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.0. Last change: 2016 Nov 24
*editing.txt* For Vim version 8.1. Last change: 2018 Dec 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -424,6 +424,15 @@ On Unix and a few other systems you can also use backticks for the file name
argument, for example: >
:next `find . -name ver\\*.c -print`
:view `ls -t *.patch \| head -n1`
Vim will run the command in backticks using the 'shell' and use the standard
output as argument for the given Vim command (error messages from the shell
command will be discarded).
To see what shell command Vim is running, set the 'verbose' option to 4. When
the shell command returns a non-zero exit code, an error message will be
displayed and the Vim command will be aborted. To avoid this make the shell
always return zero like so: >
:next `find . -name ver\\*.c -print \|\| true`
The backslashes before the star are required to prevent the shell from
expanding "ver*.c" prior to execution of the find program. The backslash
before the shell pipe symbol "|" prevents Vim from parsing it as command
@ -617,16 +626,16 @@ list of the current window.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:[count]arge[dit][!] [++opt] [+cmd] {name} *:arge* *:argedit*
Add {name} to the argument list and edit it.
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
Add {name}s to the argument list and edit it.
When {name} already exists in the argument list, this
entry is edited.
This is like using |:argadd| and then |:edit|.
Note that only one file name is allowed, and spaces
inside the file name are allowed, like with |:edit|.
Spaces in filenames have to be escaped with "\".
[count] is used like with |:argadd|.
[!] is required if the current file cannot be
|abandon|ed.
If the current file cannot be |abandon|ed {name}s will
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}
@ -650,8 +659,7 @@ 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} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
@ -665,8 +673,7 @@ list of the current window.
when it's deleted from the argument list.
Example: >
:argdel *.obj
< {not in Vi} {not available when compiled without the
|+listcmds| feature}
< {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
@ -681,8 +688,7 @@ 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} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
@ -691,16 +697,14 @@ 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} {not available when compiled without the
|+listcmds| feature}
{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} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
@ -823,7 +827,6 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
{not available when compiled without the |+windows| or |+listcmds| features}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
@ -875,8 +878,7 @@ USING THE ARGUMENT LIST
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
{not in Vi} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@ -899,8 +901,8 @@ flag is used for the ":substitute" command to avoid an error for files where
Note: When the 'write' option is off, you are not able to write any file.
*:w* *:write*
*E502* *E503* *E504* *E505*
*E512* *E514* *E667* *E796*
*E502* *E503* *E504* *E505*
*E512* *E514* *E667* *E796* *E949*
:w[rite] [++opt] Write the whole buffer to the current file. This is
the normal way to save changes to a file. It fails
when the 'readonly' option is set or when there is
@ -956,6 +958,9 @@ used, for example, when the write fails and you want to try again later with
":w #". This can be switched off by removing the 'A' flag from the
'cpoptions' option.
Note that the 'fsync' option matters here. If it's set it may make writes
slower (but safer).
*:sav* *:saveas*
:sav[eas][!] [++opt] {file}
Save the current buffer under the name {file} and set
@ -1109,6 +1114,7 @@ The names can be in upper- or lowercase.
window in the current tab page the current tab page is
closed |tab-page|.
Triggers the |QuitPre| autocommand event.
See |CTRL-W_q| for quitting another window.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
@ -1198,7 +1204,8 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
: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, Vim will not quit.
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
{not in Vi}
==============================================================================
@ -1328,9 +1335,11 @@ present in 'cpoptions' and "!" is not used in the command.
:chd[ir][!] [path] Same as |:cd|.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory for the
current window. The current directory for other
windows is not changed. {not in Vi}
: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}
@ -1406,7 +1415,7 @@ cannot be read without the right key.
The text in the swap file and the undo file is also encrypted. *E843*
However, this is done block-by-block and may reduce the time needed to crack a
password. You can disable the swap file, but then a crash will cause you to
lose your work. The undo file can be disabled without much disadvantage. >
lose your work. The undo file can be disabled without too much disadvantage. >
:set noundofile
:noswapfile edit secrets
@ -1558,6 +1567,13 @@ 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.
If you do not want to be asked or automatically reload the file, you can use
this: >
set buftype=nofile
Or, when starting gvim from a shell: >
gvim file.log -c "set buftype=nofile"
Note that if a FileChangedShell autocommand is defined you will not get a
warning message or prompt. The autocommand is expected to handle this.
@ -1728,7 +1744,7 @@ There are three different types of searching:
This searches the same directories, but in a different order.
Note that completion for ":find", ":sfind", and ":tabfind" commands do not
currently work with 'path' items that contain a url or use the double star
currently work with 'path' items that contain a URL or use the double star
with depth limiter (/usr/**2) or upward search (;) notations.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

File diff suppressed because it is too large Load Diff

View File

@ -25,11 +25,9 @@ MS-Windows のメモ帳のような動作です。
.PP
引数や Vim についての詳細は vim(1) を参照してください。
.PP
オプション 'insertmode' が設定され、テキストを直接、入力できるようになりま
す。
オプション 'insertmode' が設定され、テキストを直接、入力できるようになります。
.br
コピーとペーストのキー操作が MS-Windows と同じになるように、マップが設定され
ます。
コピーとペーストのキー操作が MS-Windows と同じになるように、マップが設定されます。
CTRL-X が切り取り、CTRL-C がコピー、CTRL-V がペーストです。
標準の CTRL-V の操作は CTRL-Q に割り当てられます。
.SH オプション
@ -41,8 +39,7 @@ eVim の初期化スクリプト。
.SH 別名
evim は "gumbies のための Vim" とも呼ばれています。
evim を使っているあなたはきっと、頭にハンカチをかぶっているのです。
(訳注: gumbies は Monty Python に登場するおもしろ集団。ハンカチをかぶっ
ている。)
(訳注: gumbies は Monty Python に登場するおもしろ集団。ハンカチをかぶっている。)
.SH 関連項目
vim(1)
.SH 著者

52
runtime/doc/evim.man Normal file
View File

@ -0,0 +1,52 @@
EVIM(1) EVIM(1)
NAME
evim - easy Vim, edit a file with Vim and setup for modeless editing
SYNOPSIS
evim [options] [file ..]
eview
DESCRIPTION
eVim starts Vim and sets options to make it behave like a modeless edi-
tor. This is still Vim but used as a point-and-click editor. This
feels a lot like using Notepad on MS-Windows. eVim will always run in
the GUI, to enable the use of menus and toolbar.
Only to be used for people who really can't work with Vim in the normal
way. Editing will be much less efficient.
eview is the same, but starts in read-only mode. It works just like
evim -R.
See vim(1) for details about Vim, options, etc.
The 'insertmode' option is set to be able to type text directly.
Mappings are setup to make Copy and Paste work with the MS-Windows
keys. CTRL-X cuts text, CTRL-C copies text and CTRL-V pastes text.
Use CTRL-Q to obtain the original meaning of CTRL-V.
OPTIONS
See vim(1).
FILES
/usr/local/lib/vim/evim.vim
The script loaded to initialize eVim.
AKA
Also Known As "Vim for gumbies". When using evim you are expected to
take a handkerchief, make a knot in each corner and wear it on your
head.
SEE ALSO
vim(1)
AUTHOR
Most of Vim was made by Bram Moolenaar, with a lot of help from others.
See the Help/Credits menu.
2002 February 16 EVIM(1)

View File

@ -1,4 +1,4 @@
*farsi.txt* For Vim version 8.0. Last change: 2015 Aug 29
*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@ -9,261 +9,12 @@ Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
{Vi does not have any of these commands}
*E27*
In order to use right-to-left and Farsi mapping support, it is necessary to
compile Vim with the |+farsi| feature.
Farsi support has been removed in patch 8.1.0932. At that time it was
outdated and unused.
These functions have been made by Mortaza G. Shiran <shiran@jps.net>
If you would like to bring Farsi support back, please have a look at the old
Farsi code, as it was present at the 8.1 release. It should be merged with
Arabic support using the Unicode character set.
Introduction
------------
In right-to-left oriented files the characters appear on the screen from right
to left. This kind of file is most useful when writing Farsi documents,
composing faxes or writing Farsi memos.
The commands, prompts and help files are not in Farsi, therefore the user
interface remains the standard Vi interface.
Highlights
----------
o Editing left-to-right files as in the original Vim, no change.
o Viewing and editing files in right-to-left windows. File orientation is
per window, so it is possible to view the same file in right-to-left and
left-to-right modes, simultaneously.
o Compatibility to the original Vim. Almost all features work in
right-to-left mode (see bugs below).
o Changing keyboard mapping and reverse insert modes using a single
command.
o Backing from reverse insert mode to the correct place in the file
(if possible).
o While in Farsi mode, numbers are entered from left to right. Upon entering
a none number character, that character will be inserted just into the
left of the last number.
o No special terminal with right-to-left capabilities is required. The
right-to-left changes are completely hardware independent. Only
Farsi font is necessary.
o Farsi keymapping on the command line in reverse insert mode.
o Toggling between left-to-right and right-to-left via F8 function key.
o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
function key. Since this makes sense only for the text written in
right-to-left mode, this function is also supported only in right-to-left
mode.
Farsi Fonts *farsi-fonts*
-----------
The following files are found in the subdirectories of the '$VIM/farsi/fonts'
directory:
+ far-a01.pcf X Windows fonts for Unix including Linux systems
+ far-a01.bf X Windows fonts for SunOS
+ far-a01.f16 a screen fonts for Unix including Linux systems
+ far-a01.fon a monospaced fonts for Windows NT/95/98
+ far-a01.com a screen fonts for DOS
Font Installation
-----------------
o Installation of fonts for MS Window systems (NT/95/98)
From 'Control Panel' folder, start the 'Fonts' program. Then from 'file'
menu item select 'Install New Fonts ...'. Browse and select the
'far-a01.fon', then follow the installation guide.
NOTE: several people have reported that this does not work. The solution
is unknown.
o Installation of fonts for X Window systems (Unix/Linux)
Depending on your system, copy far-a01.pcf.Z or far-a01.pcf.gz into a
directory of your choice. Change to the directory containing the Farsi
fonts and execute the following commands:
> mkfontdir
> xset +fp path_name_of_farsi_fonts_directory
o Installation of fonts for X Window systems (SunOS)
Copy far-a01.bf font into a directory of your choice.
Change to the directory containing the far-a01.fb fonts and
execute the following commands:
> fldfamily
> xset +fp path_name_of_fonts_directory
o Installation of ASCII screen fonts (Unix/Linux)
For Linux system, copy the far-a01.f16 fonts into /usr/lib/kbd/consolefonts
directory and execute the setfont program as "setfont far-a01.f16". For
other systems (e.g. SCO Unix), please refer to the fonts installation
section of your system administration manuals.
o Installation of ASCII screen fonts (DOS)
After system power on, prior to the first use of Vim, upload the Farsi
fonts by executing the far-a01.com font uploading program.
Usage
-----
Prior to starting Vim, the environment in which Vim can run in Farsi mode,
must be set. In addition to installation of Farsi fonts, following points
refer to some of the system environments, which you may need to set:
Key code mapping, loading graphic card in ASCII screen mode, setting the IO
driver in 8 bit clean mode ... .
o Setting the Farsi fonts
+ For Vim GUI set the 'guifont' to far-a01. This is done by entering
':set guifont=far-a01' in the Vim window.
You can have 'guifont' set to far-a01 by Vim during the Vim startup
by appending the ':set guifont=far-a01' into your .vimrc file
(in case of NT/95/98 platforms _vimrc).
Under the X Window environment, you can also start Vim with the
'-fn far-a01' option.
+ For Vim within a xterm, start a xterm with the Farsi fonts (e.g.
kterm -fn far-a01). Then start Vim inside the kterm.
+ For Vim under DOS, prior to the first usage of Vim, upload the Farsi
fonts by executing the far-a01.com fonts uploading program.
o Farsi Keymapping Activation
To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'.
This is done by entering ':set akm' or ':set fk' in the Vim window.
You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm'
or ':set fk' in your .vimrc file or _vimrc in case of NT/95/98 platforms.
To turn off the Farsi keymapping as a default second language keymapping,
reset the 'altkeymap' by entering ':set noakm'.
o right-to-left Farsi Mode
By default Vim starts in Left-to-right mode. Following are ways to change
the window orientation:
+ Start Vim with the -F option (e.g. vim -F ...).
+ Use the F8 function key to toggle between left-to-right and right-to-left.
+ While in Left-to-right mode, enter 'set rl' in the command line ('rl' is
the abbreviation for rightleft).
+ Put the 'set rl' line in your '.vimrc' file to start Vim in
right-to-left mode permanently.
Encoding
--------
The letter encoding used is the Vim extended ISIR-3342 standard with a built
in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard.
For document portability reasons, the letter encoding is kept the same across
different platforms (i.e. UNIX's, NT/95/98, MS DOS, ...).
o Keyboard
+ CTRL-_ in insert/replace modes toggles between Farsi(akm)/Latin
mode as follows:
+ CTRL-_ moves the cursor to the end of the typed text in edit mode.
+ CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/
Latin. The Farsi text is then entered in reverse insert mode.
+ F8 - Toggles between left-to-right and right-to-left.
+ F9 - Toggles the encoding between ISIR-3342 standard and Vim extended
ISIR-3342 (supported only in right-to-left mode).
+ Keyboard mapping is based on the Iranian ISIRI-2901 standard.
Following table shows the keyboard mapping while Farsi(akm) mode set:
-------------------------------------
` 1 2 3 4 5 6 7 8 9 0 - =
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
~ ! @ # $ % ^ & * ( ) _ +
~ <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
q w e r t z u i o p [ ]
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
Q W E R T Z U I O P { }
<09> <20> <20> <20> <20> <20> <20> <20> [ ] { }
-------------------------------------
a s d f g h j k l ; ' \
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
A S D F G H J K L : " |
<09> <20><> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
< y x c v b n m , . /
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
> Y X C V B N M < > ?
<09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>
-------------------------------------
Note:
<09> stands for Farsi PSP (break without space)
<09> stands for Farsi PCN (for HAMZE attribute)
Restrictions
------------
o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not
supported.
o If you change the character mapping between Latin/Farsi, the redo buffer
will be reset (emptied). That is, redo is valid and will function (using
'.') only within the mode you are in.
o While numbers are entered in Farsi mode, the redo buffer will be reset
(emptied). That is, you cannot redo the last changes (using '.') after
entering numbers.
o While in left-to-right mode and Farsi mode set, CTRL-R is not supported.
o While in right-to-left mode, the search on 'Latin' pattern does not work,
except if you enter the Latin search pattern in reverse.
o In command mode there is no support for entering numbers from left
to right and also for the sake of flexibility the keymapping logic is
restricted.
o Under the X Window environment, if you want to run Vim within a xterm
terminal emulator and Farsi mode set, you need to have an ANSI compatible
xterm terminal emulator. This is because the letter codes above 128 decimal
have certain meanings in the standard xterm terminal emulator.
Note: Under X Window environment, Vim GUI works fine in Farsi mode.
This eliminates the need of any xterm terminal emulator.
Bugs
----
While in insert/replace and Farsi mode set, if you repeatedly change the
cursor position (via cursor movement) and enter new text and then try to undo
the last change, the undo will lag one change behind. But as you continue to
undo, you will reach the original line of text. You can also use U to undo all
changes made in the current line.
For more information about the bugs refer to rileft.txt.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.0. Last change: 2017 Jan 04
*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -43,7 +43,7 @@ Detail: The ":filetype on" command will load one of these files:
BufNewFile and BufRead events. If the file type is not found by the
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
contents of the file.
When the GUI is running or will start soon, the menu.vim script is
When the GUI is running or will start soon, the |menu.vim| script is
also sourced. See |'go-M'| about avoiding that.
To add your own file types, see |new-filetype| below. To search for help on a
@ -319,6 +319,10 @@ then Vim will load all plugins in these directories and below:
Note that the last one is the value of $VIMRUNTIME which has been expanded.
Note that when using a plugin manager or |packages| many directories will be
added to 'runtimepath'. These plugins each require their own directory, don't
put them directly in ~/.vim/plugin.
What if it looks like your plugin is not being loaded? You can find out what
happens when Vim starts up by using the |-V| argument: >
@ -353,12 +357,12 @@ define yourself. There are a few ways to avoid this:
You need to define your own mapping before the plugin is loaded (before
editing a file of that type). The plugin will then skip installing the
default mapping.
*no_mail_maps*
3. Disable defining mappings for a specific filetype by setting a variable,
which contains the name of the filetype. For the "mail" filetype this
would be: >
:let no_mail_maps = 1
< *no_plugin_maps*
4. Disable defining mappings for all filetypes by setting a variable: >
:let no_plugin_maps = 1
<
@ -602,35 +606,17 @@ MANPAGER *manpager.vim*
The :Man command allows you to turn Vim into a manpager (that syntax highlights
manpages and follows linked manpages on hitting CTRL-]).
Works on:
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
- Linux
- Mac OS
- FreeBSD
- Cygwin
- Win 10 under Bash
export MANPAGER="vim -M +MANPAGER -"
Untested:
For (t)csh, add to the config file
- Amiga OS
- BeOS
- OS/2
setenv MANPAGER "vim -M +MANPAGER -"
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
For fish, add to the config file
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
For (t)csh by adding to the config file
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
For fish by adding to the config file
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
If man sets the $MAN_PN environment variable, like man-db, the most common
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
superfluous.
set -x MANPAGER "vim -M +MANPAGER -"
PDF *ft-pdf-plugin*
@ -652,17 +638,52 @@ By default the following options are set, in accordance with PEP8: >
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
To disable this behaviour, set the following variable in your vimrc: >
To disable this behavior, set the following variable in your vimrc: >
let g:python_recommended_style = 0
R MARKDOWN *ft-rmd-plugin*
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
your |vimrc|: >
let rmd_include_html = 1
The 'formatexpr' option is set dynamically with different values for R code
and for Markdown code. If you prefer that 'formatexpr' is not set, add to your
|vimrc|: >
let rmd_dynamic_comments = 0
R RESTRUCTURED TEXT *ft-rrst-plugin*
The 'formatexpr' option is set dynamically with different values for R code
and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
your |vimrc|: >
let rrst_dynamic_comments = 0
RESTRUCTUREDTEXT *ft-rst-plugin*
The following formatting setting are optionally available: >
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
To enable this behavior, set the following variable in your vimrc: >
let g:rst_style = 1
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate
file: |pi_spec.txt|.
RUST *ft-rust*
Since the text for this plugin is rather long it has been put in a separate
file: |ft_rust.txt|.
SQL *ft-sql*
Since the text for this plugin is rather long it has been put in a separate
@ -684,4 +705,23 @@ You can change the default by defining the variable g:tex_flavor to the format
Currently no other formats are recognized.
vim:tw=78:ts=8:ft=help:norl:
VIM *ft-vim-plugin*
The Vim filetype plugin defines mappings to move to the start and end of
functions with [[ and ]]. Move around comments with ]" and [".
The mappings can be disabled with: >
let g:no_vim_maps = 1
ZIMBU *ft-zimbu-plugin*
The Zimbu filetype plugin defines mappings to move to the start and end of
functions with [[ and ]].
The mappings can be disabled with: >
let g:no_zimbu_maps = 1
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*fold.txt* For Vim version 8.0. Last change: 2016 Jan 02
*fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -79,7 +79,7 @@ This will call a function to compute the fold level: >
:set foldexpr=MyFoldLevel(v:lnum)
This will make a fold out of paragraphs separated by blank lines: >
:set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1
this does the same: >
This does the same: >
:set foldexpr=getline(v:lnum-1)=~'^\\s*$'&&getline(v:lnum)=~'\\S'?'>1':1
Note that backslashes must be used to escape characters that ":set" handles
@ -203,7 +203,7 @@ and the level given by the marker:
1. If a marker with the same fold level is encountered, the previous fold
ends and another fold with the same level starts.
2. If a marker with a higher fold level is found, a nested fold is started.
3. if a marker with a lower fold level is found, all folds up to and including
3. If a marker with a lower fold level is found, all folds up to and including
this level end and a fold with the specified level starts.
The number indicates the fold level. A zero cannot be used (a marker with
@ -601,4 +601,4 @@ used. Otherwise the values from the window where the buffer was edited last
are used.
==============================================================================
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*ft_ada.txt* For Vim version 8.0. Last change: 2010 Jul 20
*ft_ada.txt* For Vim version 8.1. Last change: 2010 Jul 20
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
@ -116,7 +116,7 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
then "gnat xref -v *.ad?"
4) Project manager support is completely broken - don't even try "gnat xref
-Padacl.gpr".
5) VIM is faster when the tags file is sorted - use "sort --unique
5) Vim is faster when the tags file is sorted - use "sort --unique
--ignore-case --output=tags tags" .
6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
the file assorted.
@ -249,7 +249,7 @@ g:decada.Make_Command string
External command used for |g:decada.Make()| (|'makeprg'|).
*g:decada.Error_Format*
g:decada.Error_Format| string
g:decada.Error_Format string
Error format (|'errorformat'|).
==============================================================================

239
runtime/doc/ft_rust.txt Normal file
View File

@ -0,0 +1,239 @@
*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
This is documentation for the Rust filetype plugin.
==============================================================================
CONTENTS *rust*
1. Introduction |rust-intro|
2. Settings |rust-settings|
3. Commands |rust-commands|
4. Mappings |rust-mappings|
==============================================================================
INTRODUCTION *rust-intro*
This plugin provides syntax and supporting functionality for the Rust
filetype.
==============================================================================
SETTINGS *rust-settings*
This plugin has a few variables you can define in your vimrc that change the
behavior of the plugin.
*g:rustc_path*
g:rustc_path~
Set this option to the path to rustc for use in the |:RustRun| and
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
let g:rustc_path = $HOME."/bin/rustc"
<
*g:rustc_makeprg_no_percent*
g:rustc_makeprg_no_percent~
Set this option to 1 to have 'makeprg' default to "rustc" instead of
"rustc %": >
let g:rustc_makeprg_no_percent = 1
<
*g:rust_conceal*
g:rust_conceal~
Set this option to turn on the basic |conceal| support: >
let g:rust_conceal = 1
<
*g:rust_conceal_mod_path*
g:rust_conceal_mod_path~
Set this option to turn on |conceal| for the path connecting token
"::": >
let g:rust_conceal_mod_path = 1
<
*g:rust_conceal_pub*
g:rust_conceal_pub~
Set this option to turn on |conceal| for the "pub" token: >
let g:rust_conceal_pub = 1
<
*g:rust_recommended_style*
g:rust_recommended_style~
Set this option to enable vim indentation and textwidth settings to
conform to style conventions of the rust standard library (i.e. use 4
spaces for indents and sets 'textwidth' to 99). This option is enabled
by default. To disable it: >
let g:rust_recommended_style = 0
<
*g:rust_fold*
g:rust_fold~
Set this option to turn on |folding|: >
let g:rust_fold = 1
<
Value Effect ~
0 No folding
1 Braced blocks are folded. All folds are open by
default.
2 Braced blocks are folded. 'foldlevel' is left at the
global value (all folds are closed by default).
*g:rust_bang_comment_leader*
g:rust_bang_comment_leader~
Set this option to 1 to preserve the leader on multi-line doc comments
using the /*! syntax: >
let g:rust_bang_comment_leader = 1
<
*g:ftplugin_rust_source_path*
g:ftplugin_rust_source_path~
Set this option to a path that should be prepended to 'path' for Rust
source files: >
let g:ftplugin_rust_source_path = $HOME.'/dev/rust'
<
*g:rustfmt_command*
g:rustfmt_command~
Set this option to the name of the 'rustfmt' executable in your $PATH. If
not specified it defaults to 'rustfmt' : >
let g:rustfmt_command = 'rustfmt'
<
*g:rustfmt_autosave*
g:rustfmt_autosave~
Set this option to 1 to run |:RustFmt| automatically when saving a
buffer. If not specified it defaults to 0 : >
let g:rustfmt_autosave = 0
<
*g:rustfmt_fail_silently*
g:rustfmt_fail_silently~
Set this option to 1 to prevent 'rustfmt' from populating the
|location-list| with errors. If not specified it defaults to 0: >
let g:rustfmt_fail_silently = 0
<
*g:rustfmt_options*
g:rustfmt_options~
Set this option to a string of options to pass to 'rustfmt'. The
write-mode is already set to 'overwrite'. If not specified it
defaults to '' : >
let g:rustfmt_options = ''
<
*g:rust_playpen_url*
g:rust_playpen_url~
Set this option to override the URL for the playpen to use: >
let g:rust_playpen_url = 'https://play.rust-lang.org/'
<
*g:rust_shortener_url*
g:rust_shortener_url~
Set this option to override the URL for the URL shortener: >
let g:rust_shortener_url = 'https://is.gd/'
<
==============================================================================
COMMANDS *rust-commands*
:RustRun [args] *:RustRun*
:RustRun! [rustc-args] [--] [args]
Compiles and runs the current file. If it has unsaved changes,
it will be saved first using |:update|. If the current file is
an unnamed buffer, it will be written to a temporary file
first. The compiled binary is always placed in a temporary
directory, but is run from the current directory.
The arguments given to |:RustRun| will be passed to the
compiled binary.
If ! is specified, the arguments are passed to rustc instead.
A "--" argument will separate the rustc arguments from the
arguments passed to the binary.
If |g:rustc_path| is defined, it is used as the path to rustc.
Otherwise it is assumed rustc can be found in $PATH.
:RustExpand [args] *:RustExpand*
:RustExpand! [TYPE] [args]
Expands the current file using --pretty and displays the
results in a new split. If the current file has unsaved
changes, it will be saved first using |:update|. If the
current file is an unnamed buffer, it will be written to a
temporary file first.
The arguments given to |:RustExpand| will be passed to rustc.
This is largely intended for specifying various --cfg
configurations.
If ! is specified, the first argument is the expansion type to
pass to rustc --pretty. Otherwise it will default to
"expanded".
If |g:rustc_path| is defined, it is used as the path to rustc.
Otherwise it is assumed rustc can be found in $PATH.
:RustEmitIr [args] *:RustEmitIr*
Compiles the current file to LLVM IR and displays the results
in a new split. If the current file has unsaved changes, it
will be saved first using |:update|. If the current file is an
unnamed buffer, it will be written to a temporary file first.
The arguments given to |:RustEmitIr| will be passed to rustc.
If |g:rustc_path| is defined, it is used as the path to rustc.
Otherwise it is assumed rustc can be found in $PATH.
:RustEmitAsm [args] *:RustEmitAsm*
Compiles the current file to assembly and displays the results
in a new split. If the current file has unsaved changes, it
will be saved first using |:update|. If the current file is an
unnamed buffer, it will be written to a temporary file first.
The arguments given to |:RustEmitAsm| will be passed to rustc.
If |g:rustc_path| is defined, it is used as the path to rustc.
Otherwise it is assumed rustc can be found in $PATH.
:RustPlay *:RustPlay*
This command will only work if you have web-api.vim installed
(available at https://github.com/mattn/webapi-vim). It sends the
current selection, or if nothing is selected, the entirety of the
current buffer to the Rust playpen, and emits a message with the
shortened URL to the playpen.
|g:rust_playpen_url| is the base URL to the playpen, by default
"https://play.rust-lang.org/".
|g:rust_shortener_url| is the base URL for the shortener, by
default "https://is.gd/"
:RustFmt *:RustFmt*
Runs |g:rustfmt_command| on the current buffer. If
|g:rustfmt_options| is set then those will be passed to the
executable.
If |g:rustfmt_fail_silently| is 0 (the default) then it
will populate the |location-list| with the errors from
|g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1
then it will not populate the |location-list|.
:RustFmtRange *:RustFmtRange*
Runs |g:rustfmt_command| with selected range. See
|:RustFmt| for any other information.
==============================================================================
MAPPINGS *rust-mappings*
This plugin defines mappings for |[[| and |]]| to support hanging indents.
It also has a few other mappings:
*rust_<D-r>*
<D-r> Executes |:RustRun| with no arguments.
Note: This binding is only available in MacVim.
*rust_<D-R>*
<D-R> Populates the command line with |:RustRun|! using the
arguments given to the last invocation, but does not
execute it.
Note: This binding is only available in MacVim.
==============================================================================
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*ft_sql.txt* For Vim version 8.0. Last change: 2013 May 15
*ft_sql.txt* For Vim version 8.1. Last change: 2013 May 15
by David Fishburn
@ -777,4 +777,4 @@ Setting the filetype back to Perl sets all the usual "perl" related items back
as they were.
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:noet:ft=help:norl:

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