Compare commits

...

1359 Commits

Author SHA1 Message Date
a3a124627d patch 8.1.2000: plugin cannot get the current IME status
Problem:    Plugin cannot get the current IME status.
Solution:   Add the getimstatus() function. (closes #4904)
2019-09-07 15:08:38 +02:00
1b33bee35e patch 8.1.1999: calling both PlaySoundW() and PlaySoundA()
Problem:    Calling both PlaySoundW() and PlaySoundA().
Solution:   Only use PlaySoundW(). (Dan Thompson, closes #4903)
2019-09-07 14:50:49 +02:00
fbb3bc89b3 patch 8.1.1998: redraw even when no popup window filter was invoked
Problem:    Redraw even when no popup window filter was invoked.
Solution:   Only redraw when must_redraw was set to a larger value.
2019-09-07 14:33:36 +02:00
bcb4c8f905 patch 8.1.1997: no redraw after a popup window filter is invoked
Problem:    No redraw after a popup window filter is invoked.
Solution:   Redraw if needed.
2019-09-07 14:06:52 +02:00
aad222c9c9 patch 8.1.1996: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 22:46:09 +02:00
93476fd634 patch 8.1.1995: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make sign functions usable as a method.
2019-09-06 22:00:54 +02:00
5ec849896f patch 8.1.1994: MS-Windows: cannot build with eval but without cscope
Problem:    MS-Windows: cannot build with eval but without cscope
Solution:   Adjust the makefiles to always build if_cscope.obj.
2019-09-06 21:46:15 +02:00
196b466443 patch 8.1.1993: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 21:34:30 +02:00
16b58ae9f3 patch 8.1.1992: the search stat moves when wrapping at the end of the buffer
Problem:    The search stat moves when wrapping at the end of the buffer.
Solution:   Put the "W" in front instead of at the end.
2019-09-06 20:40:21 +02:00
6f72e90dd8 patch 8.1.1991: still cannot build with eval but without cscope
Problem:    Still cannot build with eval but without cscope.
Solution:   Move f_cscope_connection() outside of #ifdef.
2019-09-05 23:04:02 +02:00
a546b21b24 patch 8.1.1990: cannot build with eval but without cscope
Problem:    Cannot build with eval but without cscope.
Solution:   Always include if_cscope.pro.
2019-09-05 22:50:11 +02:00
af7645d373 patch 8.1.1989: the evalfunc.c file is still too big
Problem:    The evalfunc.c file is still too big.
Solution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to
            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_
            functions to ex_cmds2.c.  move callback functions to evalvars.c.
2019-09-05 22:33:28 +02:00
8d3b51084a patch 8.1.1988: :startinsert! does not work the same way as "A"
Problem:    :startinsert! does not work the same way as "A".
Solution:   Use the same code to move the cursor. (closes #4896)
2019-09-05 21:29:01 +02:00
a0d1fef4eb patch 8.1.1987: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 22:29:14 +02:00
a5a7882ea4 patch 8.1.1986: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make textprop functions usable as a method.
2019-09-04 21:57:18 +02:00
26262f8777 patch 8.1.1985: code for dealing with paths is spread out
Problem:    Code for dealing with paths is spread out.
Solution:   Move path related functions from misc1.c to filepath.c.
            Remove NO_EXPANDPATH.
2019-09-04 20:59:15 +02:00
3f4f3d8e7e patch 8.1.1984: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 20:05:59 +02:00
ea781459b9 patch 8.1.1983: compiler nags for uninitialized variable and unused function
Problem:    Compiler nags for uninitialized variable and unused function.
Solution:   Add unnecessary initialization.  Move function inside #ifdef.
2019-09-04 18:53:12 +02:00
6a124e622c patch 8.1.1982: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make popup functions usable as a method.
2019-09-04 18:15:19 +02:00
08c308aeb5 patch 8.1.1981: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move undo functions to undo.c.  Move cmdline functions to
            ex_getln.c.  Move some container functions to list.c.
2019-09-04 17:48:15 +02:00
0f63ed33fd patch 8.1.1980: fix for search stat not tested
Problem:    Fix for search stat not tested.
Solution:   Add a screenshot test. (Christian Brabandt)
2019-09-04 16:32:36 +02:00
b005cd80cf patch 8.1.1979: code for handling file names is spread out
Problem:    Code for handling file names is spread out.
Solution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.
2019-09-04 15:54:55 +02:00
1e1d30048e patch 8.1.1978: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move filter() and map() to list.c.
2019-09-04 14:41:14 +02:00
19c8fe1925 patch 8.1.1977: terminal debugger plugin may hang
Problem:    Terminal debugger plugin may hang.
Solution:   Wait longer when still reading symbols.
2019-09-04 14:24:24 +02:00
2b43f7f9f4 patch 8.1.1976: Travis log always shows test output
Problem:    Travis log always shows test output.
Solution:   Change script to avoid if/else. (Ozaki Kiichi, closes #4892)
2019-09-04 14:11:16 +02:00
89c0003331 patch 8.1.1975: MS-Windows GUI responds slowly to timer
Problem:    MS-Windows GUI responds slowly to timer.
Solution:   Break out of wait loop when timer was added or input is available.
            (closes #4893)
2019-09-04 13:53:21 +02:00
1f3165bc34 patch 8.1.1974: Coverity warns for using pointer as array
Problem:    Coverity warns for using pointer as array.
Solution:   Call var2fpos() directly instead of using f_line().
2019-09-04 13:21:26 +02:00
61c18652c9 patch 8.1.1973: cannot build without the quickfix feature
Problem:    Cannot build without the quickfix feature.
Solution:   Remove #ifdef for qf_info_T.
2019-09-04 11:51:17 +02:00
5d712e4672 patch 8.1.1972: no proper test for getchar()
Problem:    No proper test for getchar().
Solution:   Add a test with special characters.
2019-09-03 23:37:01 +02:00
d570ab95d9 patch 8.1.1971: manually enabling features causes build errors
Problem:    Manually enabling features causes build errors. (John Marriott)
Solution:   Adjust #ifdefs.
2019-09-03 23:20:05 +02:00
19e8ac72e9 patch 8.1.1970: search stat space wrong, no test for 8.1.1965
Problem:    Search stat space wrong, no test for 8.1.1965.
Solution:   Fix check for cmd_silent.  Add a test. (Christian Brabandt)
2019-09-03 22:23:38 +02:00
581ba39aef patch 8.1.1969: popup window filter is used in all modes
Problem:    Popup window filter is used in all modes.
Solution:   Add the "filtermode" property.
2019-09-03 22:08:33 +02:00
27da7de7c5 patch 8.1.1968: crash when using nested map()
Problem:    Crash when using nested map().
Solution:   Clear the pointer in prepare_vimvar(). (Ozaki Kiichi,
            closes #4890, closes #4891)
2019-09-03 17:13:37 +02:00
8e0a8e7eb7 patch 8.1.1967: line() only works for the current window
Problem:    Line() only works for the current window.
Solution:   Add an optional argument for the window to use.
2019-09-02 22:56:24 +02:00
e677df8d93 patch 8.1.1966: some code in options.c fits better elsewhere
Problem:    Some code in options.c fits better elsewhere.
Solution:   Move functions from options.c to other files. (Yegappan
            Lakshmanan, closes #4889)
2019-09-02 22:31:11 +02:00
359ad1a6f9 patch 8.1.1965: search count message is not displayed when using a mapping
Problem:    The search count message is not displayed when using a mapping.
            (Gary Johnson)
Solution:   Ignore cmd_silent for showing the search count. (Christian
            Brabandt)
2019-09-02 21:44:59 +02:00
c36350bca3 patch 8.1.1964: crash when using nested map() and filter()
Problem:    Crash when using nested map() and filter().
Solution:   Do not set the v:key type to string without clearing the pointer.
2019-09-02 20:44:07 +02:00
934470e562 patch 8.1.1963: popup window filter may be called recursively
Problem:    Popup window filter may be called recursively when using a Normal
            mode command.
Solution:   Prevent recursiveness. (closes #4887)  Also restore KeyTyped.
2019-09-01 23:27:05 +02:00
55008aad50 patch 8.1.1962: leaking memory when using tagfunc()
Problem:    Leaking memory when using tagfunc().
Solution:   Free the user_data. (Dominique Pelle, closes #4886)
2019-09-01 20:21:56 +02:00
a144983633 patch 8.1.1961: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.  Add a test for
            mapcheck().
2019-09-01 20:16:52 +02:00
db022f3ffb patch 8.1.1960: fold code is spread out
Problem:    Fold code is spread out.
Solution:   Move fold functions to fold.c.
2019-09-01 17:52:32 +02:00
a112f2d003 patch 8.1.1959: when using "firstline" in popup window text may jump
Problem:    When using "firstline" in popup window text may jump when
            redrawing it. (Nick Jensen)
Solution:   Set 'scrolloff' to zero in a popup window. (closes #4882)
2019-09-01 17:38:09 +02:00
c330835928 patch 8.1.1958: old style comments taking up space
Problem:    Old style comments taking up space.
Solution:   Change to new style comments.
2019-09-01 16:24:56 +02:00
da6c033421 patch 8.1.1957: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move code to where it fits better. (Yegappan Lakshmanan,
            closes #4883)
2019-09-01 16:01:30 +02:00
0fdddeeb66 patch 8.1.1956: screenshot tests may use a different encoding
Problem:    Screenshot tests may use a different encoding. (Dominique Pelle)
Solution:   Always set 'encoding' to "utf-8" when running Vim in a terminal.
            (closes #4884)
2019-09-01 15:26:23 +02:00
1bc353b6f1 patch 8.1.1955: tests contain typos
Problem:    Tests contain typos.
Solution:   Correct the typos. (Dominique Pelle)
2019-09-01 14:45:28 +02:00
02b31110d3 patch 8.1.1954: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 22:16:38 +02:00
f9f24ce7a0 patch 8.1.1953: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 21:17:39 +02:00
5d69fdb7c4 patch 8.1.1952: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 19:13:58 +02:00
f1699968ba patch 8.1.1951: mouse double click test is a bit flaky
Problem:    Mouse double click test is a bit flaky.
Solution:   Add to list of flaky tests.  Update a couple of comments.
2019-08-31 17:48:19 +02:00
06fe74aef7 Runtime files update. 2019-08-31 16:20:32 +02:00
4bbfb0f3cc patch 8.1.1950: using NULL pointer after an out-of-memory
Problem:    Using NULL pointer after an out-of-memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes #4881)
2019-08-31 15:28:02 +02:00
8c6173c7d3 patch 8.1.1949: cannot scroll a popup window to the very bottom
Problem:    Cannot scroll a popup window to the very bottom.
Solution:   Scroll to the bottom when the "firstline" property was set to -1.
            (closes #4577)  Allow resetting min/max width/height.
2019-08-30 22:08:34 +02:00
b5432d8968 patch 8.1.1948: mouse doesn't work in Linux console
Problem:    Mouse doesn't work in Linux console and causes 100% CPU. (James P.
            Harvey)
Solution:   Loop in WaitForCharOrMouse() when gpm_process_wanted is set.
            (closes #4828)
2019-08-30 19:28:25 +02:00
60b1bcfe92 patch 8.1.1947: when executing one test the report doesn't show it
Problem:    When executing one test the report doesn't show it.
Solution:   Adjust the regexp. (Daniel Hahler, closes #4879)
2019-08-30 19:05:32 +02:00
163588005d patch 8.1.1946: memory error when profiling a function without a script ID
Problem:    Memory error when profiling a function without a script ID.
Solution:   Check for missing script ID.  (closes #4877)
2019-08-30 18:37:26 +02:00
9e67b6a6a1 patch 8.1.1945: popup window "firstline" cannot be reset
Problem:    Popup window "firstline" cannot be reset.
Solution:   Allow for setting "firstline" to zero.  Fix that the text jumps to
            the top when using win_execute(). (closes #4876)
2019-08-30 17:34:08 +02:00
821d771e86 patch 8.1.1944: leaking memory when using sound callback
Problem:    Leaking memory when using sound callback.
Solution:   src/sound.c
2019-08-30 16:30:00 +02:00
8d71b54409 patch 8.1.1943: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move it, clean up comments.  Also move some window related
            functions to window.c. (Yegappan Lakshmanan, closes #4874)
2019-08-30 15:46:30 +02:00
58a297b28d patch 8.1.1942: shadow directory gets outdated when files are added
Problem:    Shadow directory gets outdated when files are added.
Solution:   Add the "shadowupdate" target and add a few comments.
2019-08-30 13:59:29 +02:00
ad5db44c01 patch 8.1.1941: getftype() test fails on Mac
Problem:    getftype() test fails on Mac.
Solution:   Skip /dev/fd/.
2019-08-30 13:12:25 +02:00
34ed68d40e patch 8.1.1940: script tests fail
Problem:    Script tests fail.
Solution:   Don't set vimvars type in set_vim_var_nr().
2019-08-29 22:48:24 +02:00
e5cdf153bc patch 8.1.1939: code for handling v: variables in generic eval file
Problem:    Code for handling v: variables in generic eval file.
Solution:   Move v: variables to evalvars.c. (Yegappan Lakshmanan,
            closes #4872)
2019-08-29 22:09:46 +02:00
c507a2d164 patch 8.1.1938: may crash when out of memory
Problem:    May crash when out of memory.
Solution:   Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871)
2019-08-29 21:32:55 +02:00
4fb15c6476 patch 8.1.1937: errors when using javascriptreact
Problem:    Errors when using javascriptreact.
Solution:   Use ":runtime" instead of ":source". (closes #4875)
2019-08-29 21:24:21 +02:00
1fb0831a0e patch 8.1.1936: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.  Make negative offset work.  Close all
            popups when window closes.
2019-08-29 20:02:11 +02:00
57441d6fa0 patch 8.1.1935: test for text property popup window is flaky
Problem:    Test for text property popup window is flaky.
Solution:   Remove the undo message
2019-08-28 22:38:07 +02:00
bc2d4c1db6 patch 8.1.1934: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.
2019-08-28 22:18:30 +02:00
0522ba0359 patch 8.1.1933: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move code related to variables to evalvars.c. (Yegappan
            Lakshmanan, closes #4868)
2019-08-27 22:48:30 +02:00
d20070274c patch 8.1.1932: ml_get errors after using append()
Problem:    Ml_get errors after using append(). (Alex Genco)
Solution:   Do not update the cursor twice. (closes #1737)
2019-08-27 21:56:06 +02:00
ea7a08a53e patch 8.1.1931: syntax test fails
Problem:    Syntax test fails.
Solution:   Add new javascriptreact type to completions.
2019-08-26 22:38:22 +02:00
92852cee3f patch 8.1.1930: cannot recognize .jsx and .tsx files
Problem:    Cannot recognize .jsx and .tsx files.
Solution:   Recognize them as javascriptreact and typescriptreact.
            (closes #4830)
2019-08-26 21:28:15 +02:00
8e95636a28 patch 8.1.1929: no tests for text property popup window
Problem:    No tests for text property popup window.
Solution:   Add a few tests.
2019-08-25 23:08:17 +02:00
12034e22dd patch 8.1.1928: popup windows don't move with the text when making changes
Problem:    Popup windows don't move with the text when making changes.
Solution:   Add the 'textprop" property to the popup window options, position
            the popup relative to a text property. (closes #4560)
            No tests yet.
2019-08-25 22:25:02 +02:00
307c5a5bb7 patch 8.1.1927: code for dealing with script files is spread out
Problem:    Code for dealing with script files is spread out.
Solution:   Move the code to scriptfile.c. (Yegappan Lakshmanan, closes #4861)
2019-08-25 15:41:00 +02:00
c2b97643a8 patch 8.1.1926: cursorline not redrawn when putting a line above the cursor
Problem:    Cursorline not redrawn when putting a line above the cursor.
Solution:   Redraw when the curor line is below a change. (closes #4862)
2019-08-25 14:48:37 +02:00
4c313b13fb patch 8.1.1925: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 22:58:31 +02:00
a8eee21e75 patch 8.1.1924: using empty string for current buffer is unexpected
Problem:    Using empty string for current buffer is unexpected.
Solution:   Make the argument optional for bufname() and bufnr().
2019-08-24 22:14:58 +02:00
4119309d70 patch 8.1.1923: some source files are not in a normal encoding
Problem:    Some source files are not in a normal encoding.
Solution:   Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1
            to utf-8. (Daniel Hahler, closes #4731)
2019-08-24 21:53:31 +02:00
4f57eefe1e patch 8.1.1922: in diff mode global operations can be very slow
Problem:    In diff mode global operations can be very slow.
Solution:   Do not call diff_redraw() many times, call it once when redrawing.
            And also don't update folds multiple times.
2019-08-24 20:54:19 +02:00
a4208966fb patch 8.1.1921: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 20:50:19 +02:00
f63962378d patch 8.1.1920: cannot always close a popup when filter consumes all events
Problem:    Cannot close a popup by the X when a filter consumes all events.
Solution:   Check for a click on the close button before invoking filters.
            (closes #4858)
2019-08-24 19:36:00 +02:00
4645104be4 patch 8.1.1919: using window options when passing a buffer to popup_create()
Problem:    Using current window option values when passing a buffer to
            popup_create().
Solution:   Clear the window-local options. (closes #4857)
2019-08-24 15:50:46 +02:00
e9a891f255 patch 8.1.1918: redrawing popups is inefficient
Problem:    Redrawing popups is inefficient.
Solution:   Fix the logic to compute what window lines to redraw.  Make it
            work below the last line.  Remove redrawing all windows.
2019-08-24 15:26:24 +02:00
356375fbf8 patch 8.1.1917: non-current window is not redrawn when moving popup
Problem:    Non-current window is not redrawn when moving popup. (Ben Jackson)
Solution:   Redraw all windows under a popup. (closes #4860)
2019-08-24 14:46:29 +02:00
741ea17038 patch 8.1.1916: trying to allocate negative amount of memory closing popup
Problem:    Trying to allocate negative amount of memory when closing a popup.
Solution:   Check the rows are not out of bounds.  Don't finish a selection if
            it was never started.
2019-08-24 14:16:32 +02:00
1a3a89168d patch 8.1.1915: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-23 22:31:37 +02:00
d019039ccd patch 8.1.1914: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855)
2019-08-23 21:17:35 +02:00
37f4cbd46f patch 8.1.1913: not easy to compute the space on the command line
Problem:    Not easy to compute the space on the command line.
Solution:   Add v:echospace. (Daniel Hahler, closes #4732)
2019-08-23 20:58:45 +02:00
570497ac40 patch 8.1.1912: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make channel and job functions usable as a method.
2019-08-22 22:55:13 +02:00
64b4d73524 patch 8.1.1911: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-22 22:18:17 +02:00
448262176b patch 8.1.1910: redrawing too much when toggling 'relativenumber'
Problem:    Redrawing too much when toggling 'relativenumber'.
Solution:   Only clear when 'signcolumn' is set to "number". (Yegappan
            Lakshmanan, closes #4852)
2019-08-22 21:23:20 +02:00
e49fbff384 patch 8.1.1909: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-21 22:50:07 +02:00
00b0d6d8dc patch 8.1.1908: every popup window consumes a buffer number
Problem:    Every popup window consumes a buffer number.
Solution:   Recycle buffers only used for popup windows.  Do not list popup
            window buffers.
2019-08-21 22:25:30 +02:00
fe6e7618b4 patch 8.1.1907: wrong position for info popup with scrollbar on the left
Problem:    Wrong position for info popup with scrollbar on the left.
Solution:   Take the scrollbar into account.
2019-08-21 20:57:20 +02:00
c1f87c9a31 patch 8.1.1906: info popup size is sometimes incorrect
Problem:    Info popup size is sometimes incorrect.
Solution:   Compute the position and size after setting the content.
2019-08-21 19:33:16 +02:00
c7c5f10a36 patch 8.1.1905: cannot set all properties of the info popup
Problem:    Cannot set all properties of the info popup.
Solution:   Add popup_findinfo().  Rename popup_getpreview() to
            popup_findpreview().
2019-08-21 18:31:03 +02:00
258cef59d8 patch 8.1.1904: cannot have an info popup align with the popup menu
Problem:    Cannot have an info popup align with the popup menu.
Solution:   Add the "align" item to 'completepopup'.
2019-08-21 17:29:29 +02:00
9cb698d564 patch 8.1.1903: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Add missing #ifdefs
2019-08-21 15:30:45 +02:00
bd483b3f57 patch 8.1.1902: cannot have an info popup without a border
Problem:    Cannot have an info popup without a border.
Solution:   Add the "border" item to 'completepopup'.
2019-08-21 15:13:41 +02:00
e2c453d38f patch 8.1.1901: the +insert_expand feature is not always available
Problem:    The +insert_expand feature is not always available.
Solution:   Graduate the +insert_expand feature.
2019-08-21 14:37:09 +02:00
d933c82ff4 patch 8.1.1900: sign test fails in the GUI
Problem:    Sign test fails in the GUI.
Solution:   Catch and ignore the exception.
2019-08-21 13:45:16 +02:00
42aff46d97 patch 8.1.1899: sign_place() does not work as documented
Problem:    sign_place() does not work as documented.
Solution:   Make accept line numbers like line(). (Yegappan Lakshmanan,
            closes #4848)
2019-08-21 13:20:29 +02:00
4dc8f498aa patch 8.1.1898: crash when out of memory during startup
Problem:    Crash when out of memory during startup.
Solution:   When out of memory message given during initialisation bail out.
            (closes #4842)
2019-08-21 13:06:55 +02:00
f1552d07d7 patch 8.1.1897: may free memory twice when out of memory
Problem:    May free memory twice when out of memory.
Solution:   Check that backslash_halve_save() returns a different pointer.
            (Dominique Pelle, closes #4847)
2019-08-21 12:54:18 +02:00
eaf3524119 patch 8.1.1896: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef. (John Marriott)  Missing part of 8.1.1892.
2019-08-20 23:14:15 +02:00
6f10c70b59 patch 8.1.1895: using NULL pointer when out of memory
Problem:    Using NULL pointer when out of memory.
Solution:   Bail out or skip the code using the pointer. (Zu-Ming Jiang,
            closes #4805, closes #4843, closes #4939, closes #4844)
2019-08-20 22:58:37 +02:00
1058c9d9b5 patch 8.1.1894: not checking for out-of-memory of autoload_name()
Problem:    Not checking for out-of-memory of autoload_name().
Solution:   Check for NULL. (Dominique Pelle, closes #4846)
2019-08-20 21:58:00 +02:00
f1e0544d41 patch 8.1.1893: script to summarize test results can be improved
Problem:    Script to summarize test results can be improved.
Solution:   Use "silent" for substitute to avoid reporting number of matches.
            Remove duplicate "set nocp". (Daniel Hahler, closes #4845)
2019-08-20 21:25:46 +02:00
36e4d985f0 patch 8.1.1892: missing index entry and option menu for 'completepopup'
Problem:    Missing index entry and option menu for 'completepopup'.
Solution:   Add the entries.  Adjust #ifdefs to avoid dead code.
2019-08-20 21:12:16 +02:00
5843f5f37b patch 8.1.1891: functions used in one file are global
Problem:    Functions used in one file are global.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4840)
2019-08-20 20:13:45 +02:00
9a4a8c4d59 patch 8.1.1890: ml_get error when deleting fold marker
Problem:    Ml_get error when deleting fold marker.
Solution:   Check that the line number is not below the last line.  Adjust the
            fold when deleting the empty line.  (Christian Brabandt,
            closes #4834)
2019-08-19 22:48:30 +02:00
ea7ecfe2a0 patch 8.1.1889: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Use zero for column if pos is NULL.
2019-08-19 20:08:15 +02:00
073e4b92e6 patch 8.1.1888: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-18 23:01:56 +02:00
0a52df50a0 patch 8.1.1887: the +cmdline_compl feature is not in the tiny version
Problem:    The +cmdline_compl feature is not in the tiny version.
Solution:   Graduate the +cmdline_compl feature.
2019-08-18 22:26:31 +02:00
66b51420e0 patch 8.1.1886: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831)
2019-08-18 21:44:12 +02:00
db1085a563 patch 8.1.1885: comments in libvterm are inconsistent
Problem:    Comments in libvterm are inconsistent.
Solution:   Use // comments.  Als update the table of combining characters.
2019-08-18 20:41:38 +02:00
f0bc15c769 patch 8.1.1884: cannot use mouse scroll wheel in popup in Insert mode
Problem:    Cannot use mouse scroll wheel in popup in Insert mode.  Mouse
            clicks in popup close the popup menu.
Solution:   Check if the mouse is in a popup window. Do not let mouse events
            close the popup menu.  (closes #4544)
2019-08-18 19:23:45 +02:00
9513d91be0 patch 8.1.1883: options test fails
Problem:    Options test fails.
Solution:   Add entry for 'completepopup'.
2019-08-18 17:58:11 +02:00
62a0cb443c patch 8.1.1882: cannot specify properties of the info popup window
Problem:    Cannot specify properties of the info popup window.
Solution:   Add the 'completepopup' option.  Default to PmenuSel highlight.
2019-08-18 16:35:23 +02:00
f4665e78f2 patch 8.1.1881: popup window test fails in some configurations
Problem:    Popup window test fails in some configurations.
Solution:   Check that screendumps can be made.
2019-08-18 15:42:10 +02:00
576a4a6ff1 patch 8.1.1880: cannot show extra info for completion in a popup window
Problem:    Cannot show extra info for completion in a popup window.
Solution:   Add the "popup" entry in 'completeopt'.
2019-08-18 15:25:17 +02:00
93cf85f9ef patch 8.1.1879: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make float functions usable as a method.
2019-08-17 21:36:28 +02:00
9cfe8f6e68 patch 8.1.1878: negative float before method not parsed correctly
Problem:    Negative float before method not parsed correctly.
Solution:   Apply "!" and "-" in front of expression before using ->.
2019-08-17 21:04:16 +02:00
ffc0716af8 patch 8.1.1877: graduated features scattered
Problem:    Graduated features scattered.
Solution:   Put graduated and obsolete features together.
2019-08-17 20:17:51 +02:00
f8b055d170 patch 8.1.1876: proto file missing from distribution
Problem:    proto file missing from distribution
Solution:   Add the file.
2019-08-17 20:10:42 +02:00
56c860c315 Update runtime files. 2019-08-17 20:09:31 +02:00
e9bd57286a patch 8.1.1875: cannot get size and position of the popup menu
Problem:    Cannot get size and position of the popup menu.
Solution:   Add pum_getpos(). (Ben Jackson, closes #4827)
2019-08-17 19:36:06 +02:00
4dd751b956 patch 8.1.1874: modeless selection in popup window overlaps scrollbar
Problem:    Modeless selection in popup window overlaps scrollbar.
Solution:   Subtract scrollbar from max_col. (closes #4773)
2019-08-17 19:10:53 +02:00
df70775555 patch 8.1.1873: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for is_autocmd_blocked().
2019-08-17 17:50:07 +02:00
c7226684c8 patch 8.1.1872: when Vim exits because of a signal, VimLeave is not triggered
Problem:    When Vim exits because of a signal, VimLeave is not triggered.
            (Daniel Hahler)
Solution:   Unblock autocommands when triggering VimLeave. (closes #4818)
2019-08-17 16:33:23 +02:00
ff9f27cdc7 patch 8.1.1871: modeless selection in GUI still not correct
Problem:    Modeless selection in GUI still not correct.
Solution:   Fix max_col.
2019-08-17 16:15:53 +02:00
026587b35c patch 8.1.1870: using :pedit from a help file sets help filetype
Problem:    Using :pedit from a help file sets the preview window to help
            filetype. (Wang Shidong)
Solution:   Do not set "keep_help_flag". (closes #3536)
2019-08-17 15:08:00 +02:00
4ad62155a1 patch 8.1.1869: code for the argument list is spread out
Problem:    Code for the argument list is spread out.
Solution:   Put argument list code in arglist.c. (Yegappan Lakshmanan,
            closes #4819)
2019-08-17 14:38:55 +02:00
69cbbecf54 patch 8.1.1868: multi-byte chars in 'listchars' fail with 'linebreak' set
Problem:    Multibyte characters in 'listchars' don't work correctly if
            'linebreak' is also enabled. (Martin Tournoij)
Solution:   Make it work correctly. (Christian Brabandt, closes #4822,
            closes #4812)
2019-08-17 14:10:56 +02:00
315244d85b patch 8.1.1867: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Loop with a sleep instead of one fixed sleep.
2019-08-17 13:18:16 +02:00
d5cf89872e patch 8.1.1866: modeless selection in GUI does not work properly
Problem:    Modeless selection in GUI does not work properly.
Solution:   Avoid going beyond the end of the line. (closes #4783)
2019-08-16 23:09:11 +02:00
a3891681f7 patch 8.1.1865: spellrare and spellrepall in the wrong order
Problem:    Spellrare and spellrepall in the wrong order.
Solution:   Put spellrare below spellrepall. (closes #4820)
2019-08-16 22:42:13 +02:00
413c04e8d5 patch 8.1.1864: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Adjust the sleep times.
2019-08-16 22:29:18 +02:00
9174639a82 patch 8.1.1863: confusing error when using a builtin function as method
Problem:    Confusing error when using a builtin function as method while it
            does not support that.
Solution:   Add a specific error message.
2019-08-16 22:22:31 +02:00
9c272a9e52 patch 8.1.1862: Coverity warns for not using return value
Problem:    Coverity warns for not using return value.
Solution:   Add "(void)" to avoid the warning.
2019-08-16 21:54:27 +02:00
24278d2407 patch 8.1.1861: only some assert functions can be used as a method
Problem:    Only some assert functions can be used as a method.
Solution:   Allow using most assert functions as a method.
2019-08-16 21:49:22 +02:00
ea94c85516 patch 8.1.1860: map timeout test is flaky
Problem:    Map timeout test is flaky.
Solution:   Add test to list of flaky tests.  Increase timeout.
2019-08-16 21:47:27 +02:00
427dddf014 patch 8.1.1859: timer test sometimes fails on Mac
Problem:    Timer test sometimes fails on Mac.
Solution:   Show more info when it fails.
2019-08-16 21:22:41 +02:00
2f710afe7f patch 8.1.1858: test for multi-byte mapping fails on some systems
Problem:    Test for multi-byte mapping fails on some systems.
Solution:   Test in another way.
2019-08-16 20:56:03 +02:00
c8fd33d18b patch 8.1.1857: cannot use modifier with multi-byte character
Problem:    Cannot use modifier with multi-byte character.
Solution:   Allow using a multi-byte character, although it doesn't work
            everywhere.
2019-08-16 20:33:05 +02:00
78d629a385 patch 8.1.1856: popup preview test fails sometimes
Problem:    popup preview test fails sometimes. (Christian Brabandt)
Solution:   Clear the command line.
2019-08-16 17:31:15 +02:00
9a2fddcf04 patch 8.1.1855: another failing timer test
Problem:    Another failing timer test.
Solution:   Assert that timers are finished by the end of the test.  Rename
            test functions to make them easier to find.
2019-08-16 11:26:06 +02:00
973d5304a4 patch 8.1.1854: now another timer test is flaky
Problem:    Now another timer test is flaky.
Solution:   Add test to list of flaky tests.
2019-08-16 10:51:10 +02:00
52953194af patch 8.1.1853: timers test is still flaky
Problem:    Timers test is still flaky.
Solution:   Compute the time to sleep more accurately.
2019-08-16 10:27:13 +02:00
7e6feb9eeb patch 8.1.1852: timers test is flaky
Problem:    Timers test is flaky.
Solution:   Accept a larger count.  Add test to list of flaky tests.
2019-08-15 23:42:21 +02:00
28e67e0c14 patch 8.1.1851: crash when sound_playfile() callback plays sound
Problem:    Crash when sound_playfile() callback plays sound.
Solution:   Invoke callback later from event loop.
2019-08-15 23:05:49 +02:00
5dd143e223 patch 8.1.1850: focus may remain in popup window
Problem:    Focus may remain in popup window.
Solution:   Change focus if needed.
2019-08-15 21:34:34 +02:00
9bca58f36d patch 8.1.1849 2019-08-15 21:31:52 +02:00
a4b2699e28 patch 8.1.1848: 'langmap' is not used for CTRL-W command in terminal
Problem:    'langmap' is not used for CTRL-W command in terminal.
Solution:   Push the command in the typeahead buffer instead of the stuff
            buffer. (closes #4814)
2019-08-15 20:58:54 +02:00
185d68a9d0 patch 8.1.1847: suspend test is failing
Problem:    Suspend test is failing.
Solution:   Do not use GetVimCommandClean().
2019-08-15 11:21:15 +02:00
93344c2d70 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Problem:    Inconsistently using GetVimCommand() and v:progpath. (Daniel
            Hahler)
Solution:   Use GetVimCommand(). (closes #4806)
2019-08-14 21:12:05 +02:00
6ace95e981 patch 8.1.1845: may use NULL pointer when running out of memory
Problem:    May use NULL pointer when running out of memory.
Solution:   Do not clear popup buffers when NULL. (closes #4802)
2019-08-13 23:09:49 +02:00
45311b5274 patch 8.1.1844: buffer no longer unloaded when adding text properties
Problem:    Buffer no longer unloaded when adding text properties to it.
Solution:   Do not create the memfile. (closes #4808)
2019-08-13 22:27:32 +02:00
f077db2423 patch 8.1.1843: might be freeing memory that was not allocated
Problem:    Might be freeing memory that was not allocated.
Solution:   Have next_fenc() set the fenc_alloced flag. (closes #4804)
2019-08-13 00:18:24 +02:00
9570aacdb8 patch 8.1.1842: test listed as flaky should no longer be flaky
Problem:    Test listed as flaky should no longer be flaky.
Solution:   Remove Test_popup_and_window_resize from the list of flaky tests.
            (Daniel Hahler, close #4807)
2019-08-12 23:56:20 +02:00
d5e3cc11d3 patch 8.1.1841: no test for Ex shift commands
Problem:    No test for Ex shift commands.
Solution:   Add a test. (Dominique Pelle, closes #4801)
2019-08-12 14:38:02 +02:00
52992feafe patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Problem:    Testing: WorkingClipboard() is not accurate.
Solution:   Check feature clipboard_working instead.
2019-08-12 14:20:33 +02:00
0b5dc64446 patch 8.1.1839: insufficient info when test fails because of screen size
Problem:    Insufficient info when test fails because of screen size.
Solution:   Report the detected screen size.
2019-08-11 22:56:15 +02:00
08cc374dab patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Problem:    There is :spellwrong and :spellgood but not :spellrare.
Solution:   Add :spellrare. (Martin Tournoij, closes #4291)
2019-08-11 22:51:14 +02:00
4999a7fb65 patch 8.1.1837: popup test fails if clipboard is supported but not working
Problem:    Popup test fails if clipboard is supported but not working.
Solution:   Add the "clipboard_working" feature. Also use Check commands
            instead of "if" and "throw".  And remove stray ch_logfile().
2019-08-10 22:21:48 +02:00
a9ab391a3a patch 8.1.1836: inaccurate memory estimate for Amiga-like OS
Problem:    Inaccurate memory estimate for Amiga-like OS.
Solution:   Adjust #ifdef for AvailMem(). (Ola Söder, closes #4797)
2019-08-10 14:54:20 +02:00
fd8ca21b3f patch 8.1.1835: cannot use printf() as a method
Problem:    Cannot use printf() as a method.
Solution:   Pass the base as the second argument to printf().
2019-08-10 00:13:30 +02:00
22a0c0c4ec patch 8.1.1834: cannot use a lambda as a method
Problem:    Cannot use a lambda as a method.
Solution:   Implement ->{lambda}(). (closes #4768)
2019-08-09 23:25:08 +02:00
0c779e8e48 patch 8.1.1833: allocating a bit too much when there is no bad word.
Problem:    Allocating a bit too much when spellbadword() does not find a bad
            word.
Solution:   Reset "len" when going to the next word. (Daniel Hahler,
            closes #4788)
2019-08-09 17:01:02 +02:00
820680b9ff patch 8.1.1832: win_execute() does not work in other tab
Problem:    Win_execute() does not work in other tab. (Rick Howe)
Solution:   Take care of the tab. (closes #4792)
2019-08-09 14:56:22 +02:00
2514315fc2 patch 8.1.1831: confusing skipped message
Problem:    Confusing skipped message.
Solution:   Drop "run" from "run start the GUI".
2019-08-09 14:13:57 +02:00
088e8e3443 Update runtime files. 2019-08-08 22:15:18 +02:00
a576f50662 patch 8.1.1830: Travis does not report error when tests fail
Problem:    Travis does not report error when tests fail.
Solution:   Explicitly do "exit 1".
2019-08-08 22:02:35 +02:00
39de6413c8 patch 8.1.1829: difference in screenshots
Problem:    Difference in screenshots.
Solution:   Update screenshots.  Change checks in a few more tests.
            (closes #4789)
2019-08-08 21:52:39 +02:00
5184132ec0 patch 8.1.1828: not strict enough checking syntax of method invocation
Problem:    Not strict enough checking syntax of method invocation.
Solution:   Check there is no white space inside ->method(.
2019-08-08 21:10:01 +02:00
47ed553fd5 patch 8.1.1827: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
2019-08-08 20:49:14 +02:00
8c5a278fc5 patch 8.1.1826: tests use hand coded feature and option checks
Problem:    Tests use hand coded feature and option checks.
Solution:   Use the commands from check.vim in more tests.
2019-08-07 23:07:07 +02:00
b59e735772 patch 8.1.1825: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4785)
2019-08-07 21:42:24 +02:00
5bcc5a1ff9 patch 8.1.1824: crash when correctly spelled word is very long
Problem:    Crash when correctly spelled word is very long. (Ben Kraft)
Solution:   Check word length before copying. (closes #4778)
2019-08-06 22:48:02 +02:00
d7663c22c6 patch 8.1.1823: command line history code is spread out
Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
2019-08-06 21:59:57 +02:00
0acae7acc4 patch 8.1.1822: confusing error message when range is not allowed
Problem:    Confusing error message when range is not allowed.
Solution:   With ADDR_NONE give e_norange.  Change e_invaddr to e_invrange for
            consistency.
2019-08-06 21:29:29 +02:00
f97d46f816 patch 8.1.1821: no test for wrong number of method arguments
Problem:    No test for wrong number of method arguments.
Solution:   Add a test.
2019-08-06 20:34:10 +02:00
761fdf01c6 patch 8.1.1820: using expr->FuncRef() does not work
Problem:    Using expr->FuncRef() does not work.
Solution:   Make FuncRef work as a method.
2019-08-05 23:10:16 +02:00
1b6d9c4215 patch 8.1.1819: :pedit does not work with a popup preview window
Problem:    :pedit does not work with a popup preview window.
Solution:   Avoid aborting with an error. (fixes #4777)  Also double check
            that after prepare_tagpreview() the current window is not a
            popup window.
2019-08-05 21:52:04 +02:00
b4a88a0441 patch 8.1.1818: unused variable
Problem:    Unused variable.
Solution:   Remove the variable. (Mike Williams)
2019-08-05 20:18:14 +02:00
6f33b893c6 patch 8.1.1817: github contribution text is incomplete
Problem:    Github contribution text is incomplete.
Solution:   Update the text.
2019-08-04 23:22:08 +02:00
fcfe1a9b89 patch 8.1.1816: cannot use a user defined function as a method
Problem:    Cannot use a user defined function as a method.
Solution:   Pass the base as the first argument to the user defined function
            after "->". (partly by FUJIWARA Takuya)
2019-08-04 23:04:39 +02:00
7a4ea1df2f patch 8.1.1815: duplicating info for internal functions
Problem:    Duplicating info for internal functions.
Solution:   Use one table to list internal functions.
2019-08-04 21:35:12 +02:00
5d458a7b3d patch 8.1.1814: a long title in a popup window overflows
Problem:    A long title in a popup window overflows.
Solution:   Truncate the title. (closes #4770)
2019-08-04 21:12:15 +02:00
2debf1c16b patch 8.1.1813: ATTENTION prompt for a preview popup window
Problem:    ATTENTION prompt for a preview popup window.
Solution:   Close the popup window if aborting the buffer load.  Avoid getting
            the ATTENTION dialog.
2019-08-04 20:44:19 +02:00
fb06d767a8 patch 8.1.1812: reading a truncted undo file hangs Vim
Problem:    Reading a truncted undo file hangs Vim.
Solution:   Check for reading EOF. (closes #4769)
2019-08-04 18:55:35 +02:00
c363fe1599 patch 8.1.1811: popup window color cannot be set to "Normal"
Problem:    Popup window color cannot be set to "Normal".
Solution:   Check for non-empty 'wincolor' instead of zero attribute.
            (closes #4772)
2019-08-04 18:13:46 +02:00
b8350abef0 patch 8.1.1810: popup_getoptions() is missing an entry for "mapping"
Problem:    Popup_getoptions() is missing an entry for "mapping".
Solution:   Add the entry.
2019-08-04 17:59:49 +02:00
a74e4946de patch 8.1.1809: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add has_key(), split(), str2list(), etc.
2019-08-04 17:35:53 +02:00
e4ce825a55 patch 8.1.1808: build failure for tiny version
Problem:    Build failure for tiny version.
Solution:   Define ex_eval to ex_ni.  Clean up the ordering a bit.
2019-08-04 15:30:16 +02:00
25e42231d3 patch 8.1.1807: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add append(), appendbufline(), assert_equal(), etc.
            Also add the :eval command.
2019-08-04 15:04:10 +02:00
7cc535175a patch 8.1.1806: test for display updating doesn't check without statusline
Problem:    Test for display updating doesn't check without statusline.
Solution:   Add screenshots without a status line.
2019-08-03 23:30:21 +02:00
6cd57d4466 patch 8.1.1805: au_did_filetype is declared twice
Problem:    Au_did_filetype is declared twice.
Solution:   Remove it from autocmd.c. (closes #4767)
2019-08-03 23:08:14 +02:00
3c8ee62974 patch 8.1.1804: no test for display updating without a scroll region
Problem:    No test for display updating without a scroll region.
Solution:   Add a test.
2019-08-03 22:55:50 +02:00
ac92e25a33 patch 8.1.1803: all builtin functions are global
Problem:    All builtin functions are global.
Solution:   Add the method call operator ->.  Implemented for a limited number
            of functions.
2019-08-03 21:58:38 +02:00
b2129068a5 patch 8.1.1802: missing change to call_callback()
Problem:    Missing change to call_callback().
Solution:   Add missing change.
2019-08-03 18:31:11 +02:00
505e43a20e patch 8.1.1801: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Always define funcexe_T.
2019-08-03 18:28:17 +02:00
c6538bcc1c patch 8.1.1800: function call functions have too many arguments
Problem:    Function call functions have too many arguments.
Solution:   Pass values in a funcexe_T struct.
2019-08-03 18:17:11 +02:00
749fa0af85 patch 8.1.1799: cannot avoid mapping for a popup window
Problem:    Cannot avoid mapping for a popup window.
Solution:   Add the "mapping" property, default TRUE.
2019-08-03 16:18:07 +02:00
eda35f7127 patch 8.1.1798: warning for unused variable in tiny version
Problem:    Warning for unused variable in tiny version. (Tony Mechelynck)
Solution:   Move inside #ifdef.  Reformat code.
2019-08-03 14:59:44 +02:00
edd680f364 patch 8.1.1797: the vgetorpeek() function is too long
Problem:    The vgetorpeek() function is too long.
Solution:   Split off the part that handles mappings, with fix.
2019-08-03 14:23:48 +02:00
72e1b39111 patch 8.1.1796: :argdo is not tested
Problem:    :argdo is not tested
Solution:   Add a test.
2019-08-03 13:50:08 +02:00
c7f1e40021 patch 8.1.1795: no syntax HL after splitting windows with :bufdo
Problem:    No syntax HL after splitting windows with :bufdo. (Yasuhiro
            Matsumoto)
Solution:   Trigger Syntax autocommands in buffers that are active.
            (closes #4761)
2019-08-03 13:29:46 +02:00
f2d8b7a0a6 patch 8.1.1794: tests are flaky
Problem:    Tests are flaky.
Solution:   Undo the change to vgetorpeek().
2019-08-02 22:46:11 +02:00
1ccaa35abf patch 8.1.1793: mixed comment style in globals
Problem:    Mixed comment style in globals.
Solution:   Use // comments where appropriate.
2019-08-02 22:08:25 +02:00
dd00035cb5 patch 8.1.1792: the vgetorpeek() function is too long
Problem:    The vgetorpeek() function is too long.
Solution:   Split off the part that handles mappings.
2019-08-02 21:35:33 +02:00
50f91d22bd patch 8.1.1791: 'completeslash' also applies to globpath()
Problem:    'completeslash' also applies to globpath().
Solution:   Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro
            Matsumoto, closes #4760)
2019-08-02 19:52:15 +02:00
8750026a7f patch 8.1.1790: :mkvimrc is not tested
Problem:    :mkvimrc is not tested.
Solution:   Add a test.
2019-08-01 23:05:49 +02:00
90f3e7ac56 patch 8.1.1789: cannot see file name of preview popup window
Problem:    Cannot see file name of preview popup window.
Solution:   Add the file name as the title.
2019-08-01 22:40:44 +02:00
f4fd7ecbc0 patch 8.1.1788: missing changes in proto file
Problem:    missing changes in proto file
Solution:   Update proto file.
2019-08-01 21:26:00 +02:00
9bcb70c18a patch 8.1.1787: cannot resize a popup window
Problem:    Cannot resize a popup window.
Solution:   Allow for resizing by dragging the lower right corncer.
2019-08-01 21:11:05 +02:00
13b11eddca patch 8.1.1786: double click in popup scrollbar starts selection
Problem:    Double click in popup scrollbar starts selection.
Solution:   Ignore the double click.
2019-08-01 15:52:45 +02:00
b66bab381c patch 8.1.1785: map functionality mixed with character input
Problem:    Map functionality mixed with character input.
Solution:   Move the map functionality to a separate file. (Yegappan
            Lakshmanan, closes #4740)  Graduate the +localmap feature.
2019-08-01 14:28:24 +02:00
3f9bdeb2a5 patch 8.1.1784: MS-Windows: resolve() does not work if serial nr duplicated
Problem:    MS-Windows: resolve() does not work if serial nr duplicated.
Solution:   Use another method to get the full path. (Ken Takata, closes #4661)
2019-08-01 13:55:37 +02:00
dff2adc8dd patch 8.1.1783: MS-Windows: compiler test may fail when using %:S
Problem:    MS-Windows: compiler test may fail when using %:S.
Solution:   Reset 'shellslash'.
2019-07-31 22:18:22 +02:00
5477506a9f Update runtime files. 2019-07-31 21:07:14 +02:00
0e6bfb9b2e patch 8.1.1782: MS-Windows: system() has temp file error with 'noshelltemp'
Problem:    MS-Windows: system() has temp file error with 'noshelltemp'.
Solution:   Check s_dont_use_vimrun. (Ken Takata, closes #4754)
2019-07-31 20:53:56 +02:00
70576f70f7 patch 8.1.1781: Amiga: no builtin OS readable version info
Problem:    Amiga: no builtin OS readable version info.
Solution:   Add a "version" variable. (Ola Söder, closes #4753)
2019-07-31 20:40:08 +02:00
674e2bde6e patch 8.1.1780: warning for file no longer available is repeated
Problem:    Warning for file no longer available is repeated every time Vim is
            focused. (Brian Armstrong)
Solution:   Only give the message once. (closes #4748)
2019-07-31 20:21:01 +02:00
8edf0e3132 patch 8.1.1779: not showing the popup window right border is confusing
Problem:    Not showing the popup window right border is confusing.
Solution:   Also show the border when 'wrap' is off. (closes #4747)
2019-07-30 21:19:26 +02:00
8c8b88d0cc patch 8.1.1778: not showing the popup window right border is confusing
Problem:    Not showing the popup window right border is confusing.
Solution:   Also show the border when there is no close button. (closes #4747)
2019-07-30 20:32:41 +02:00
f386f08ccb patch 8.1.1777: useless checks for job feature in channel test
Problem:    Useless checks for job feature in channel test.
Solution:   Remove the checks.  Remove ch_log() calls.
2019-07-29 23:03:03 +02:00
4641a122f2 patch 8.1.1776: text added with a job isn't displayed
Problem:    Text added with a job to another buffer isn't displayed.
Solution:   Update topline after adding a line. (closes #4745)
2019-07-29 22:10:23 +02:00
eee9f65b2a patch 8.1.1775: error message may be empty in filetype test
Problem:    Error message may be empty in filetype test.
Solution:   Use v:exception instead. (Daniel Hahler, closs #4744)
2019-07-29 21:14:42 +02:00
3c610c9638 patch 8.1.1774: test is silently skipped
Problem:    Test is silently skipped.
Solution:   Throw "Skipped".
2019-07-29 21:03:45 +02:00
13d5c3f616 patch 8.1.1773: the preview popup window may be too far to the right
Problem:    The preview popup window may be too far to the right.
Solution:   Keep it inside the screen.  Also keep the close button and
            scrollbar visible if possible.
2019-07-28 21:42:38 +02:00
b78564d022 patch 8.1.1772: options test still fails on MS-Windows
Problem:    Options test still fails on MS-Windows.
Solution:   Check buffer-local value of 'completeslash'.
2019-07-28 19:24:36 +02:00
d4404b4391 patch 8.1.1771: options test fails on MS-Windows
Problem:    Options test fails on MS-Windows.
Solution:   Add correct and incorrect values for 'completeslash'.
2019-07-28 18:38:09 +02:00
56c0c4749d patch 8.1.1770: cannot get the window ID of the popup preview window
Problem:    Cannot get the window ID of the popup preview window.
Solution:   Add popup_getpreview().
2019-07-28 17:57:43 +02:00
ac3150d385 patch 8.1.1769: 'shellslash' is also used for completion
Problem:    'shellslash' is also used for completion.
Solution:   Add the 'completeslash' option. (Yasuhiro Matsumoto, closes #3612)
2019-07-28 16:36:39 +02:00
bca9c30193 patch 8.1.1768: man plugin changes setting in current window
Problem:    Man plugin changes setting in current window.
Solution:   Set options later. (Jason Franklin)
2019-07-28 15:28:45 +02:00
f96ae0b5a2 patch 8.1.1767: FEAT_SESSION defined separately
Problem:    FEAT_SESSION defined separately.
Solution:   Make FEAT_SESSION depend on FEAT_EVAL.
2019-07-28 15:21:55 +02:00
2a9c9f6d89 undo extra changes in src/Makefile 2019-07-28 14:17:56 +02:00
8453807911 patch 8.1.1766: code for writing session file is spread out
Problem:    Code for writing session file is spread out.
Solution:   Put it in one file. (Yegappan Lakshmanan, closes #4728)
2019-07-28 14:15:42 +02:00
f91aac5e3e patch 8.1.1765: get(func, dict, def) does not work properly
Problem:    get(func, dict, def) does not work properly.
Solution:   Handle NULL dict better. (Takuya Fujiwara, closes #4734)
2019-07-28 13:21:01 +02:00
5328cb8986 patch 8.1.1764: ":browse oldfiles" is not tested
Problem:    ":browse oldfiles" is not tested.
Solution:   Add a test.
2019-07-27 23:27:51 +02:00
9f9fe37f67 patch 8.1.1763: evalfunc.c is still too big
Problem:    Evalfunc.c is still too big.
Solution:   Move dict and list functions to a better place.
2019-07-27 23:12:12 +02:00
c273405188 patch 8.1.1762: some filetype rules are in the wrong place
Problem:    Some filetype rules are in the wrong place.
Solution:   Move to the right place.  Add a few more tests.
2019-07-27 21:57:21 +02:00
4248111497 patch 8.1.1761: filetype "vuejs" causes problems for some users
Problem:    Filetype "vuejs" causes problems for some users.
Solution:   Rename to "vue".
2019-07-27 21:39:13 +02:00
9800bfe0fc patch 8.1.1760: extra line break for wrapping output of :args
Problem:    Extra line break for wrapping output of :args.
Solution:   Avoid the extra line break. (Daniel Hahler, closes #4737)
2019-07-27 21:23:45 +02:00
14371ed697 patch 8.1.1759: no mode char for terminal mapping from maparg()
Problem:    No mode char for terminal mapping from maparg().
Solution:   Check for TERMINAL mode. (closes #4735)
2019-07-27 21:05:21 +02:00
d5c8234517 patch 8.1.1758: count of g$ not used correctly when text is not wrapped
Problem:    Count of g$ not used correctly when text is not wrapped.
Solution:   Do use the count. (Christian Brabandt, closes #4729, closes #4566)
2019-07-27 18:44:57 +02:00
2984666291 patch 8.1.1757: text added with appendbufline() isn't displayed
Problem:    Text added with appendbufline() to another buffer isn't displayed.
Solution:   Update topline. (partly by Christian Brabandt, closes #4718)
2019-07-27 17:39:15 +02:00
1417c766f5 patch 8.1.1756: autocommand that splits window messes up window layout
Problem:    Autocommand that splits window messes up window layout.
Solution:   Disallow splitting a window while closing one.  In ":all" give an
            error when moving a window will not work.
2019-07-27 17:31:36 +02:00
0aca293fed patch 8.1.1755: leaking memory when using a popup window mask
Problem:    Leaking memory when using a popup window mask.
Solution:   Free the cached mask.
2019-07-26 22:22:38 +02:00
4f0d002cf9 patch 8.1.1754: build failure
Problem:    Build failure.
Solution:   Add missing change to window struct.
2019-07-26 22:20:03 +02:00
e865dcbce1 patch 8.1.1753: use of popup window mask is inefficient
Problem:    Use of popup window mask is inefficient.
Solution:   Precompute and cache the mask.
2019-07-26 22:15:50 +02:00
7b73d7ebf7 patch 8.1.1752: resizing hashtable is inefficient
Problem:    Resizing hashtable is inefficient.
Solution:   Avoid resizing when the final size is predictable.
2019-07-26 21:26:34 +02:00
9d5ffceb3f patch 8.1.1751: when redrawing popups plines_win() may be called often
Problem:    When redrawing popups plines_win() may be called often.
Solution:   Pass a cache to mouse_comp_pos().
2019-07-26 21:01:29 +02:00
8a5c29aee9 patch 8.1.1750: depending on the terminal width :version may miss a line break
Problem:    Depending on the terminal width :version may miss a line break.
Solution:   Add a line break when needed.
2019-07-26 19:48:19 +02:00
736cd2cfbe patch 8.1.1749: Coverity warns for using negative index
Problem:    Coverity warns for using negative index.
Solution:   Move using index inside "if".
2019-07-25 21:58:19 +02:00
74da39373c patch 8.1.1748: :args output is not aligned
Problem:    :args output is not aligned.
Solution:   Output a line break after the last item in a row.
2019-07-25 21:52:39 +02:00
fbfb757d4c patch 8.1.1747: compiler warning for unused variables
Problem:    Compiler warning for unused variables. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-07-25 20:53:03 +02:00
94f82cbacf patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Problem:    ":dl" is seen as ":dlist" instead of ":delete".
Solution:   Do not use cmdidxs2[] if the length is 1. (closes #4721)
2019-07-24 22:30:27 +02:00
1f164b1968 patch 8.1.1745: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.  Change comments to new style.
2019-07-24 19:00:36 +02:00
07d1356648 patch 8.1.1744: build error without the conceal feature
Problem:    Build error without the conceal feature.
Solution:   Define variables also without the conceal feature.
2019-07-24 18:43:08 +02:00
bbca7732e8 patch 8.1.1743: 'hlsearch' and match highlighting in the wrong place
Problem:    'hlsearch' and match highlighting in the wrong place.
Solution:   Move highlighting from inside screen functions to highlight.c.
2019-07-24 18:13:16 +02:00
7dfb016d25 patch 8.1.1742: still some match functions in evalfunc.c
Problem:    Still some match functions in evalfunc.c.
Solution:   Move them to highlight.c.
2019-07-24 16:00:39 +02:00
4ef18dcc2e patch 8.1.1741: cleared/added match highlighting not updated in other window
Problem:    Cleared/added match highlighting not updated in other window.
            (Andi Massimino)
Solution:   Mark the right window for refresh.
2019-07-24 15:28:18 +02:00
d08b8c4c04 patch 8.1.1740: exepath() doesn't work for "bin/cat"
Problem:    Exepath() doesn't work for "bin/cat".
Solution:   Check for any path separator. (Daniel Hahler, closes #4724,
            closes #4710)
2019-07-24 14:59:45 +02:00
06029a857a patch 8.1.1739: deleted match highlighting not updated in other window
Problem:    Deleted match highlighting not updated in other window.
Solution:   Mark the window for refresh. (closes #4720)  Also fix that
            ambi-width check clears with wrong attributes.
2019-07-24 14:25:26 +02:00
9bc4dde45d patch 8.1.1738: testing lambda with timer is slow
Problem:    Testing lambda with timer is slow.
Solution:   Do not test timer accuracy, only that it works. (Daniel Hahler,
            closes #4723)
2019-07-24 13:08:29 +02:00
949f1989cb patch 8.1.1737: :args command that outputs one line gives more prompt
Problem:    :args command that outputs one line gives more prompt.
Solution:   Only output line break if needed. (Daniel Hahler, closes #4715)
2019-07-23 23:00:08 +02:00
c3328169d5 patch 8.1.1736: viminfo support is spread out
Problem:    Viminfo support is spread out.
Solution:   Move more viminfo code to viminfo.c. (Yegappan Lakshmanan,
            closes #4717)  Reorder code to make most functions static.
2019-07-23 22:15:25 +02:00
c61a48d259 patch 8.1.1735: can't build with tiny features
Problem:    Can't build with tiny features.
Solution:   Add missing #ifdefs.
2019-07-22 23:16:33 +02:00
29b7d7a9aa patch 8.1.1734: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move some functions to other files.
2019-07-22 23:03:57 +02:00
e5e6950193 patch 8.1.1733: the man ftplugin leaves an empty buffer behind
Problem:    The man ftplugin leaves an empty buffer behind.
Solution:   Don't make new window and edit, use split. (Jason Franklin)
2019-07-22 22:09:21 +02:00
f03e328348 patch 8.1.1732: completion in cmdwin does not work for buffer-local commands
Problem:    Completion in cmdwin does not work for buffer-local commands.
Solution:   Use the right buffer. (closes #4711)
2019-07-22 21:55:18 +02:00
26b654a5df patch 8.1.1731: command line history not read from viminfo on startup
Problem:    Command line history not read from viminfo on startup.
Solution:   Get history length after initializing it.
2019-07-22 20:50:17 +02:00
1e78e69680 patch 8.1.1730: wrong place for mark viminfo support
Problem:    Wrong place for mark viminfo support.
Solution:   Move it to viminfo.c. (Yegappan Lakshmanan, closes #4716)
2019-07-22 20:18:27 +02:00
ecaa75b4ce patch 8.1.1729: heredoc with trim not properly handled in function
Problem:    Heredoc with trim not properly handled in function.
Solution:   Allow for missing indent. (FUJIWARA Takuya, closes #4713)
2019-07-21 23:04:21 +02:00
5f32ece459 patch 8.1.1728: wrong place for command line history viminfo support
Problem:    Wrong place for command line history viminfo support.
Solution:   Move it to viminfo.c.
2019-07-21 21:51:59 +02:00
defa067c54 patch 8.1.1727: code for viminfo support is spread out
Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
2019-07-21 19:25:37 +02:00
ed997adaa1 patch 8.1.1726: the eval.txt help file is too big
Problem:    The eval.txt help file is too big.
Solution:   Split off testing support to testing.txt.  Move function details
            to where the functionality is explained.
2019-07-21 16:42:00 +02:00
663bbc09ba patch 8.1.1725: MS-Windows: E325 message may use incorrect date format
Problem:    MS-Windows: E325 message may use incorrect date format.
Solution:   Convert strftime() result to 'encoding'.  Also make the message
            translatable. (Ken Takata, closes #4685, closes #4681)
2019-07-21 15:23:35 +02:00
b4fe0eb4b4 patch 8.1.1724: too much overhead checking for CTRL-C while processing text
Problem:    Too much overhead checking for CTRL-C while processing text.
Solution:   Increase BREAKCHECK_SKIP.  Remove the difference for when built
            with the GUI. (suggested by Andy Massimino, closes #4708)
2019-07-21 14:50:21 +02:00
2458200729 patch 8.1.1723: heredoc assignment has no room for new features
Problem:    Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution:   Require the marker does not start with a lower case character.
            (closes #4705)
2019-07-21 14:14:26 +02:00
61343f0c44 patch 8.1.1722: error when scriptversion is 2 a making a dictionary access
Problem:    Error when scriptversion is 2 a making a dictionary access.
Solution:   Parse the subscript even when not evaluating the sub-expression.
            (closes #4704)
2019-07-20 21:11:13 +02:00
63187f7932 patch 8.1.1721: build failure with normal features without netbeans interface
Problem:    Build failure with normal features without netbeans interface.
Solution:   Enable signs when using the text properties feature.
2019-07-20 19:14:49 +02:00
2a5b52758b patch 8.1.1720: crash with very long %[] pattern
Problem:    Crash with very long %[] pattern. (Reza Mirzazade farkhani)
Solution:   Check for reg_toolong. (closes #4703)
2019-07-20 18:56:06 +02:00
331bafd481 patch 8.1.1719: popup too wide when 'showbreak' is set
Problem:    Popup too wide when 'showbreak' is set.
Solution:   Set window width when computing line length. (closes #4701)
2019-07-20 17:46:05 +02:00
cb5ff34c1b patch 8.1.1718: popup menu highlighting does not look good
Problem:    Popup menu highlighting does not look good.
Solution:   Highlight the whole window line.  Fix that sign line HL is not
            displayed in a window with a background color.
2019-07-20 16:51:19 +02:00
f914a33c9c patch 8.1.1717: last char in menu popup window highlighted
Problem:    Last char in menu popup window highlighted.
Solution:   Do not highlight an extra character twice.
2019-07-20 15:09:56 +02:00
ab0a789808 patch 8.1.1716: old style comments are wasting space
Problem:    Old style comments are wasting space
Solution:   Use new style comments in option header file.
2019-07-19 23:15:12 +02:00
06e6377009 patch 8.1.1715: emoji characters are seen as word characters for spelling
Problem:    Emoji characters are seen as word characters for spelling. (Gautam
            Iyer)
Solution:   Exclude class 3 from word characters.
2019-07-19 23:04:34 +02:00
85850f3a5e Update runtime files 2019-07-19 22:05:51 +02:00
7964873afe patch 8.1.1714: cannot preview a file in a popup window
Problem:    Cannot preview a file in a popup window.
Solution:   Add the 'previewpopup' option.
2019-07-18 21:43:07 +02:00
df9c6cad8c patch 8.1.1713: highlighting cursor line only works with popup_menu()
Problem:    Highlighting cursor line only works with popup_menu().
Solution:   Add the "cursorline" property. (Naruhiko Nishino, closes #4671)
2019-07-18 13:46:42 +02:00
d6bcff4577 patch 8.1.1712: signs in number column cause text to be misaligned
Problem:    Signs in number column cause text to be misaligned.
Solution:   Improve alignment. (Yasuhiro Matsumoto, closes #4694)
2019-07-18 12:48:16 +02:00
acf7544cf6 patch 8.1.1711: listener callback called at the wrong moment
Problem:    Listener callback called at the wrong moment
Solution:   Invoke listeners before calling ml_delete_int(). (closes #4657)
2019-07-17 22:55:35 +02:00
4a0a161a9b patch 8.1.1710: Coverity found dead code
Problem:    Coverity found dead code.
Solution:   Remove merging of listener changes.
2019-07-17 22:00:19 +02:00
403d090e39 patch 8.1.1709: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Make sure no NULL pointer is used.
2019-07-17 21:37:32 +02:00
3fb4f4762b patch 8.1.1708: Coverity warns for using uninitialized variable
Problem:    Coverity warns for using uninitialized variable.
Solution:   Set the start col when col is set.
2019-07-17 21:32:14 +02:00
cfdbc5adde patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Change the logic to make sure no NULL pointer is used.
2019-07-17 21:27:52 +02:00
99a764bccd patch 8.1.1706: typo in #ifdef
Problem:    Typo in #ifdef.
Solution:   Change PROT to PROTO.
2019-07-17 20:01:48 +02:00
4c6d90458b patch 8.1.1705: using ~{} for a literal dict is not nice
Problem:    Using ~{} for a literal dict is not nice.
Solution:   Use #{} instead.
2019-07-16 22:04:02 +02:00
69a5b86794 patch 8.1.1704: C-R C-W does not work after C-G when using 'incsearch'
Problem:    C-R C-W does not work after C-G when using 'incsearch'.
Solution:   Put cursor at end of the match. (Yasuhiro Matsumoto, closes #4664)
2019-07-16 21:38:51 +02:00
6138640806 patch 8.1.1703: breaking out of loop by checking window pointer insufficient
Problem:    Breaking out of loop by checking window pointer is insufficient.
Solution:   Check the window ID and the buffer number. (closes #4683)
2019-07-16 21:19:55 +02:00
c7283078c3 patch 8.1.1702: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Christian Brabandt)
2019-07-16 20:12:44 +02:00
7ce2aa01c2 patch 8.1.1701: Appveyor build with MSVC fails puts progress bar in log
Problem:    Appveyor build with MSVC fails puts progress bar in log.
Solution:   Adjust the sed command. (Ken Takata)
2019-07-16 20:00:11 +02:00
250e3112c6 patch 8.1.1700: listener callback called for the wrong buffer
Problem:    Listener callback called for the wrong buffer.
Solution:   Invoke listeners before calling ml_append_int().
2019-07-15 23:02:14 +02:00
2ac6e82a4e patch 8.1.1699: highlight_ga can be local instead of global
Problem:    Highlight_ga can be local instead of global.
Solution:   Move highlight_ga into highlight.c. (Yegappan Lakshmanan,
            closes #4675)
2019-07-15 22:40:22 +02:00
5d6844566a patch 8.1.1698: Appveyor build with MSVC fails
Problem:    Appveyor build with MSVC fails.
Solution:   Remove the sed command
2019-07-15 22:03:40 +02:00
c9afd15bc8 patch 8.1.1697: cannot build with MSVC
Problem:    Cannto build with MSVC.
Solution:   Remove the backslashes after the @<< mechanism.
2019-07-15 21:15:05 +02:00
cea2a15687 patch 8.1.1696: MSVC: link command line is too long
Problem:    MSVC: link command line is too long.
Solution:   Use the @<< mechanism to pass the arguments via a file. (Christian
            Brabandt)
2019-07-15 20:44:57 +02:00
f49a692259 patch 8.1.1695: Windows 10: crash when cursor is at bottom of terminal
Problem:    Windows 10: crash when cursor is at bottom of terminal.
Solution:   Position the cursor before resizing. (Yasuhiro Matsumoto,
            closes #4679)
2019-07-15 20:37:05 +02:00
41a8260445 patch 8.1.1694: the RUN_VIM variable is longer than needed
Problem:    The RUN_VIM variable is longer than needed.
Solution:   Shorten RUN_VIM. (Daniel Hahler, closes #4643)
2019-07-14 21:54:26 +02:00
f9cc9f209e patch 8.1.1693: syntax coloring and highlighting is in one big file
Problem:    Syntax coloring and highlighting is in one big file.
Solution:   Move the highlighting to a separate file. (Yegappan Lakshmanan,
            closes #4674)
2019-07-14 21:29:22 +02:00
b8be54dcc5 patch 8.1.1692: using *{} for literal dict is not backwards compatible
Problem:    Using *{} for literal dict is not backwards compatible. (Yasuhiro
            Matsumoto)
Solution:   Use ~{} instead.
2019-07-14 18:22:59 +02:00
37d9f175a4 patch 8.1.1691: diff test fails on some systems
Problem:    Diff test fails on some systems. (Elimar Riesebieter)
Solution:   Add a term_wait() call.
2019-07-14 17:26:46 +02:00
0346413c24 patch 8.1.1690: default padding for popup window menu is too much
Problem:    Default padding for popup window menu is too much.
Solution:   Only add padding left and right.
2019-07-14 16:28:13 +02:00
660a10ad41 patch 8.1.1689: profiling code is spread out
Problem:    Profiling code is spread out.
Solution:   Move more profiling code to profiler.c. (Yegappan Lakshmanan,
            closes #4668)
2019-07-14 15:48:38 +02:00
1850b14c0d patch 8.1.1688: old makefiles are no longer useful
Problem:    Old makefiles are no longer useful.
Solution:   Delete the makefiles, they most likely don't work anyway.
2019-07-14 15:09:59 +02:00
ecaa70ea29 patch 8.1.1687: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move testing support to a separate file.
2019-07-14 14:55:39 +02:00
2898ebb44c patch 8.1.1686: "*" of "*{" is recognized as multipy operator
Problem:    "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution:   Check for the "{".
2019-07-14 13:41:34 +02:00
a099da3572 patch 8.1.1685: missing file in distributed file list
Problem:    Missing file in distributed file list.
Solution:   Add profiling.pro
2019-07-13 23:06:26 +02:00
396e829fa3 Update runtime files 2019-07-13 23:04:31 +02:00
fa55cfc69d patch 8.1.1684: profiling functionality is spread out
Problem:    Profiling functionality is spread out.
Solution:   Put profiling functionality in profiling.c. (Yegappan Lakshmanan,
            closes #4666)
2019-07-13 22:59:32 +02:00
d5abb4c877 patch 8.1.1683: dictionary with string keys is longer than needed
Problem:    Dictionary with string keys is longer than needed.
Solution:   Use *{key: val} for literaly keys.
2019-07-13 22:46:10 +02:00
809ce4d317 patch 8.1.1682: placing a larger number of signs is slow
Problem:    Placing a larger number of signs is slow.
Solution:   Add functions for dealing with a list of signs. (Yegappan
            Lakshmanan, closes #4636)
2019-07-13 21:21:40 +02:00
0fb286e82d patch 8.1.1681: insert stray "{" when listener gets buffer line
Problem:    Insert stray "{" when listener gets buffer line. (Paul Jolly)
Solution:   Flush the cached line after invoking listeners. (closes #4455)
2019-07-13 20:14:45 +02:00
63d0dad874 patch 8.1.1680: the command table is not well aligned
Problem:    The command table is not well aligned.
Solution:   Adjust indent.
2019-07-13 18:17:23 +02:00
eaa49e40d7 patch 8.1.1679: test using SwapExists autocommand file may fail
Problem:    Test using SwapExists autocommand file may fail.
Solution:   Remove the SwapExists autocommand.
2019-07-13 18:08:59 +02:00
a901a37bae patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Problem:    When using popup_menu() does not scroll to show the selected line.
Solution:   Scroll the text. (Naruhiko Nishino, closes #4651)
2019-07-13 16:38:50 +02:00
b073da8929 patch 8.1.1677: tests get stuck when running into an existing swapfile
Problem:    Tests get stuck when running into an existing swapfile.
Solution:   Set v:swapchoice to "q" and report an error. (Daniel Hahler,
            closes #4644)
2019-07-13 14:47:26 +02:00
017c269938 patch 8.1.1676: "maxwidth" of popup window does not always work properly
Problem:    "maxwidth" of popup window does not always work properly.
Solution:   Adjust the computation. (Naruhiko Nishino, closes #4653)
2019-07-13 14:17:51 +02:00
7b73f914c4 patch 8.1.1675: listener list not correctly updated on listener_remove()
Problem:    Listener list not correctly updated on listener_remove().
Solution:   Only set "prev" when not removing a listener.  Return one if the
            listener was found and removed.
2019-07-13 13:03:02 +02:00
4e63f9425e patch 8.1.1674: script to check a colorscheme can be improved
Problem:    Script to check a colorscheme can be improved.
Solution:   Match the whole group name. Don't warn for what is usually omitted.
2019-07-12 22:46:47 +02:00
b4f0628fc5 patch 8.1.1673: cannot easily find the popup window at a certain position
Problem:    Cannot easily find the popup window at a certain position.
Solution:   Add popup_locate().
2019-07-12 21:07:54 +02:00
d94ac0caca patch 8.1.1672: "make cmdidxs" doesn't work
Problem:    "make cmdidxs" doesn't work.
Solution:   Update macro names. (Naruhiko Nishino, closes #4660)
2019-07-12 20:24:59 +02:00
b7b9efbccf patch 8.1.1671: copying a blob may result in it being locked
Problem:    Copying a blob may result in it being locked.
Solution:   Reset v_lock. (Ken Takata, closes #4648)
2019-07-12 20:17:03 +02:00
0231f8312b patch 8.1.1670: sign column not always properly aligned
Problem:    Sign column not always properly aligned.
Solution:   Use "col" only after it was calculated. (Yee Cheng Chin,
            closes #4649)
2019-07-12 19:22:22 +02:00
efef9fea72 patch 8.1.1669: Travis: test results section is closed even when failed
Problem:    Travis: test results section is closed even when some tests
            failed.
Solution:   Only close the section on success. (Daniel Hahler, closes #4659)
2019-07-12 18:45:40 +02:00
8ccabf624e patch 8.1.1668: popup window test is a bit flaky on some systems
Problem:    Popup window test is a bit flaky on some systems.
Solution:   Clear the command line. (Naruhiko Nishino, closes #4656)
2019-07-12 18:12:51 +02:00
8071cb2c64 patch 8.1.1667: flags for Ex commands may clash with other symbols
Problem:    Flags for Ex commands may clash with other symbols.
Solution:   Prepend with EX_.
2019-07-12 17:58:01 +02:00
bd42b31780 patch 8.1.1666: click in popup window scrollbar with border doesn't scroll
Problem:    Click in popup window scrollbar with border doesn't scroll.
Solution:   Correct column for the border. (Naruhiko Nishino, closes #4650)
2019-07-12 16:35:34 +02:00
b420747478 patch 8.1.1665: crash when popup window with mask is below the screen
Problem:    Crash when popup window with mask is below the screen.
Solution:   Correct boundary check.
2019-07-12 16:05:45 +02:00
847a5d69a8 patch 8.1.1664: GUI resize may cause changing Rows at a bad time
Problem:    GUI resize may cause changing Rows at a bad time. (Dominique
            Pelle)
Solution:   Postpone resizing while updating the screen.
2019-07-12 15:37:13 +02:00
1072768b91 patch 8.1.1663: compiler warning for using size_t
Problem:    Compiler warning for using size_t.
Solution:   Add type cast. (Mike Williams)
2019-07-12 13:59:20 +02:00
e28cfb2812 patch 8.1.1662: cannot build uninstal.exe with some version of MinGW
Problem:    Cannot build uninstal.exe with some version of MinGW.
Solution:   Add -lole32. (Rene Nyffenegger, closes #4646)
2019-07-11 22:04:21 +02:00
247bf0de46 patch 8.1.1661: cannot build with +textprop but without +balloon_eval
Problem:    Cannot build with +textprop but without +balloon_eval.
Solution:   Adjust #ifdefs. (closes #4645)
2019-07-10 22:21:48 +02:00
7780e5c1c5 patch 8.1.1660: assert_fails() does not fail inside try/catch
Problem:    Assert_fails() does not fail inside try/catch.
Solution:   Set trylevel to zero. (Ozaki Kiichi, closes #4639)
2019-07-10 22:04:48 +02:00
b05caa782d patch 8.1.1659: popup window "mousemoved" values not correct
Problem:    Popup window "mousemoved" values not correct.
Solution:   Convert text column to mouse column.
2019-07-10 21:55:54 +02:00
3b849af90a patch 8.1.1658: debug statements included in patch
Problem:    Debug statements included in patch.
Solution:   Remove the debug statements.
2019-07-10 16:15:04 +02:00
7ba343e634 patch 8.1.1657: Terminal: screen updates from 'balloonexpr' are not displayed
Problem:    Terminal: screen updates from 'balloonexpr' are not displayed.
Solution:   Update the screen if needed.  Fix the word position for
            "mousemoved".
2019-07-09 23:22:15 +02:00
e089c3fd69 patch 8.1.1656: popup window width is wrong when using Tabs
Problem:    Popup window width is wrong when using Tabs. (Paul Jolly)
Solution:   Count tabs correctly. (closes #4637)
2019-07-09 20:25:25 +02:00
3dabd718f4 patch 8.1.1655: popup window border drawn wrong with multi-byte char
Problem:    Popup window border drawn wrong with multi-byte char. (Marcin
            Szamotulski)
Solution:   Correct check in mb_fix_col(). (closes #4635)
2019-07-08 23:30:22 +02:00
8a7383b6d2 patch 8.1.1654: GUI: screen updates from 'balloonexpr' are not displayed
Problem:    GUI: screen updates from 'balloonexpr' are not displayed.
Solution:   Update the screen if needed.  Also avoid the cursor being
            displayed in the wrong position.
2019-07-08 22:23:33 +02:00
0d07155c8b patch 8.1.1653: ubsan warns for possibly passing NULL pointer
Problem:    Ubsan warns for possibly passing NULL pointer.
Solution:   Skip code when length is zero. (Dominique Pelle, closes #4631)
2019-07-08 22:04:03 +02:00
49fe95f225 patch 8.1.1652: GUI: popup window doesn't close on mouse movement
Problem:    GUI: popup window doesn't close on mouse movement. (Paul Jolly)
Solution:   Generate mouse-move events when a popup window is visible.
2019-07-08 21:57:30 +02:00
9992244226 patch 8.1.1651: suspend test is flaky on some systems
Problem:    Suspend test is flaky on some systems.
Solution:   Wait for the shell prompt to show. (Yee Cheng Chin, closes #4632)
2019-07-08 20:58:25 +02:00
ee9e604124 patch 8.1.1650: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable. (Tony Mechelynck)
Solution:   Simplify the code by always using the mouse coordinates.
2019-07-08 20:08:44 +02:00
3e35d05b1f patch 8.1.1649: Illegal memory access when closing popup window
Problem:    Illegal memory access when closing popup window.
Solution:   Get w_next before closing the window.
2019-07-07 20:43:34 +02:00
3f3e954d96 patch 8.1.1648: MS-Windows: build error with normal feaures
Problem:    MS-Windows: build error with normal feaures.
Solution:   Adjust #ifdef for find_word_under_cursor().
2019-07-07 20:30:48 +02:00
d84b2c3d88 patch 8.1.1647: build error with GTK and hangulinput feature
Problem:    Build error with GTK and hangulinput feature, im_get_status()
            defined twice. (Dominique Pelle)
Solution:   Adjust im_get_status(). (closes #4628)
2019-07-07 19:16:58 +02:00
56a6312099 patch 8.1.1646: build failure
Problem:    build failure
Solution:   Add changes to structure.
2019-07-07 18:38:34 +02:00
b3d17a20d2 patch 8.1.1645: cannot use a popup window for a balloon
Problem:    Cannot use a popup window for a balloon.
Solution:   Add popup_beval().  Add the "mousemoved" property.  Add the
            screenpos() function.
2019-07-07 18:28:14 +02:00
5b19e5b919 patch 8.1.1644: sound test does not work on Travis
Problem:    Sound test does not work on Travis.
Solution:   Use "sg" command to enable audio. (Ozaki Kiichi, closes #4624)
2019-07-07 15:12:12 +02:00
899f20deae patch 8.1.1643: sign placement is wrong when 'foldcolumn' is set
Problem:    Sign placement is wrong when 'foldcolumn' is set.
Solution:   Adjust the column computation. (Yee Cheng Chin, closes #4627)
2019-07-07 14:56:25 +02:00
ec572ad6a6 patch 8.1.1642: may use uninitialized variable
Problem:    May use uninitialized variable. (Patrick Palka)
Solution:   Initialize variables earlier. (closes #4623)
2019-07-07 14:26:59 +02:00
6cc7e21412 patch 8.1.1641: garbage collection may run at a wrong moment
Problem:    Garbage collection may run at a wrong moment. (Trygve Aaberge)
Solution:   Postpone garbage collection while parsing messages. (closes #4620)
2019-07-07 14:05:24 +02:00
c2f5054be9 patch 8.1.1640: the CursorHold autocommand takes down a balloon
Problem:    The CursorHold autocommand takes down a balloon. (Paul Jolly)
Solution:   Ignore the CursorHold pseudo-key.
2019-07-05 23:24:56 +02:00
28fc247f8d patch 8.1.1639: changing an autoload name into a file name is inefficient
Problem:    Changing an autoload name into a script file name is inefficient.
Solution:   Remember the last replaced #. (Ozaki Kiichi, closes #4618)
2019-07-05 22:14:16 +02:00
3940ec6d41 patch 8.1.1638: running tests leaves some files behind
Problem:    Running tests leaves some files behind.
Solution:   Delete the files. (Ozaki Kiichi, closes #4617)
2019-07-05 21:53:24 +02:00
4f5b0e5355 patch 8.1.1637: after running tests and clean the XfakeHOME directory remains
Problem:    After running tests and clean the XfakeHOME directory remains.
Solution:   Use "rm -rf". (Hirohito Higashi)
2019-07-05 20:43:52 +02:00
437a746b4c patch 8.1.1636: crash when popup has fitting scrollbar
Problem:    Crash when popup has fitting scrollbar. (Trygve Aaberge)
Solution:   Don't divide by zero if the scrollbar just fits. (closes #4615)
2019-07-05 20:17:22 +02:00
b4d9b893d3 patch 8.1.1635: warnings for unused variables in small version
Problem:    Warnings for unused variables in small version. (John Marriott)
Solution:   Adjust #ifdefs.
2019-07-04 22:59:06 +02:00
981d9dc8f3 patch 8.1.1634: terminal test fails when term_getansicolors() is missing
Problem:    Terminal test fails when term_getansicolors() is missing.
            Diff test fails without +rightleft.  (Dominique Pelle)
Solution:   Check if term_getansicolors() is supported. (closes #4597)
2019-07-04 22:32:39 +02:00
b7ed839976 patch 8.1.1633: cannot generate prototypes with X11 but without GUI
Problem:    Cannot generate prototypes with X11 but without GUI.
Solution:   Include X11/Intrinsic.h.
2019-07-04 21:24:34 +02:00
48ac671fe5 patch 8.1.1632: build with EXITFREE but without +arabic fails
Problem:    Build with EXITFREE but without +arabic fails.
Solution:   Rename the function and adjust #ifdefs. (closes #4613)
2019-07-04 20:26:21 +02:00
4e038571aa patch 8.1.1631: displaying signs is inefficient
Problem:    Displaying signs is inefficient.
Solution:   Avoid making multiple calls to get information about a placed
            sign. (Yegappan Lakshmanan, closes #4586)
2019-07-04 18:28:35 +02:00
e809a4ed30 patch 8.1.1630: various small problems
Problem:    Various small problems.
Solution:   Various small improvements.
2019-07-04 17:35:05 +02:00
790c18bfa5 Update runtime files 2019-07-04 17:22:06 +02:00
6bf2c6264b patch 8.1.1629: terminal function help is in the wrong file
Problem:    Terminal function help is in the wrong file.
Solution:   Move the function details to terminal.txt.
2019-07-04 17:12:09 +02:00
931a277145 patch 8.1.1628: popup window functions not in list of functions
Problem:    Popup window functions not in list of functions.
Solution:   Add popup window functins to the list of functions.  Reorganise
            the popup window help.
2019-07-04 16:54:54 +02:00
6cb39f924a patch 8.1.1627: header file contains mixed comment style
Problem:    Header file contains mixed comment style.
Solution:   Use // style comments.
2019-07-04 16:05:14 +02:00
5ca1ac373a patch 8.1.1626: no test for closing a popup window with a modified buffer
Problem:    No test for closing a popup window with a modified buffer.
Solution:   Add a test.  Add "popups" to getbufinfo().
2019-07-04 15:39:28 +02:00
bc2cfe4672 patch 8.1.1625: script line numbers are not exactly right
Problem:    Script line numbers are not exactly right.
Solution:   Handle heredoc and continuation lines better. (Ozaki Kiichi,
            closes #4611, closes #4511)
2019-07-04 14:57:12 +02:00
0d702028fe patch 8.1.1624: when testing in the GUI may try to run gvim in a terminal
Problem:    When testing in the GUI may try to run gvim in a terminal.
Solution:   Add the -v argument. (Yee Cheng Chin, closes #4605)  Don't skip
            tests that work now.
2019-07-04 14:20:41 +02:00
e4b407f536 patch 8.1.1623: display wrong with signs in narrow number column
Problem:    Display wrong with signs in narrow number column.
Solution:   Increase the numbercolumn width if needed. (Yegappan Lakshmanan,
            closes #4606)
2019-07-04 11:59:28 +02:00
e296e3177b patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Problem:    Wrong width if displaying a lot of lines in a popup window.
Solution:   Accurately compute the line overflow.
2019-07-03 23:20:18 +02:00
80edda1cf5 patch 8.1.1621: Amiga: time.h included twice
Problem:    Amiga: time.h included twice.
Solution:   Remove include from evalfunc.c, move outside of #ifdef in
            os_amiga.h. (Ola Söder, closes #4607)
2019-07-03 22:53:06 +02:00
ba45f1f4fb patch 8.1.1620: no test for popup window with border and mask
Problem:    No test for popup window with border and mask.
Solution:   Add this popup window, fix problems.
2019-07-03 22:50:41 +02:00
435f9f06ca patch 8.1.1619: tests are not run with GUI on Travis
Problem:    Tests are not run with GUI on Travis.
Solution:   Add a testgui job. (Ozaki Kiichi, closes #4609)
2019-07-03 21:40:16 +02:00
9ee3d161f7 patch 8.1.1618: Amiga-like systems quickly run out of stack
Problem:    Amiga-like systems quickly run out of stack.
Solution:   Reserve a Megabyte stack. (Ola Söder, closes #4608)
2019-07-02 23:22:43 +02:00
d529ba58dc patch 8.1.1617: no test for popup window with mask and position fixed
Problem:    No test for popup window with mask and position fixed.
Solution:   Add a couple of screenshots.  Fix deteced problems.
2019-07-02 23:13:53 +02:00
8531dc66e8 patch 8.1.1616: build failure with gcc on Amiga
Problem:    Build failure with gcc on Amiga.
Solution:   Add missing header includes. (Ola Söder, closes #4603)
2019-07-01 22:28:20 +02:00
7866b87958 patch 8.1.1615: crash when passing buffer number to popup_create()
Problem:    Crash when passing buffer number to popup_create(). (Yasuhiro
            Matsumoto)
Solution:   Initialze the window properly.
2019-07-01 22:21:01 +02:00
f8a0712655 patch 8.1.1614: 'numberwidth' can only go up to 10
Problem:    'numberwidth' can only go up to 10.
Solution:   Allow up to 20. (Charlie Stanton, closes #4584)
2019-07-01 22:06:07 +02:00
a83e70000f patch 8.1.1613: popup window test fails with Athena and Motif
Problem:    Popup window test fails with Athena and Motif.
Solution:   Compute the highlight attribut when the GUI is not active.
2019-07-01 21:47:35 +02:00
5b8cfedfbd patch 8.1.1612: cannot show an existing buffer in a popup window
Problem:    Cannot show an existing buffer in a popup window.
Solution:   Support buffer number argument in popup_create().
2019-06-30 22:16:10 +02:00
892ae723ab patch 8.1.1611: bufadd() reuses existing buffer without a name
Problem:    Bufadd() reuses existing buffer without a name.
Solution:   When the name is empty always create a new buffer.
2019-06-30 20:33:01 +02:00
15e248e37f patch 8.1.1610: there is no way to add or load a buffer without side effects
Problem:    There is no way to add or load a buffer without side effects.
Solution:   Add the bufadd() and bufload() functions.
2019-06-30 20:21:37 +02:00
2e62b568e9 patch 8.1.1609: the user cannot easily close a popup window
Problem:    The user cannot easily close a popup window.
Solution:   Add the "close" property. (mostly by Masato Nishihata,
            closes #4601)
2019-06-30 18:07:00 +02:00
b60d8514b8 patch 8.1.1608: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move sign functionality to sign.c.
2019-06-29 07:59:04 +02:00
f9c85f580b patch 8.1.1608: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move sign functionality to sign.c.
2019-06-29 07:41:35 +02:00
548be7f126 patch 8.1.1606: on a narrow screen ":hi" output is confusing
Problem:    On a narrow screen ":hi" output is confusing.
Solution:   Insert a space between highlight group name and "xxx". (Masato
            Nishihaga, closes #4599)
2019-06-29 03:42:42 +02:00
4340fc95d5 patch 8.1.1605: Vim may delay processing messages on a json channel
Problem:    Vim may delay processing messages on a json channel. (Pontus
            Leitzler)
Solution:   Try parsing json when checking if there is readahead.
2019-06-28 22:06:49 +02:00
13b47c37a6 patch 8.1.1604: popup window scroll test is flaky
Problem:    Popup window scroll test is flaky.
Solution:   Add a delay between scroll events.
2019-06-28 21:55:48 +02:00
d74af4227b patch 8.1.1603: crash when using unknown highlighting in text property
Problem:    Crash when using unknown highlighting in text property.
Solution:   Check for zero highlight ID.
2019-06-28 21:38:00 +02:00
711d02c96d patch 8.1.1602: popup window cannot overflow on the left or right
Problem:    Popup window cannot overflow on the left or right.
Solution:   Only set the "fixed" option when it is in the dict. Set w_leftcol
            to allow for the popup overflowing on the left and use it when
            applying the mask.
2019-06-28 04:06:50 +02:00
8da4181631 patch 8.1.1601: missing changes to popup window test file
Problem:    Missing changes to popup window test file.
Solution:   Add those changes.
2019-06-26 18:04:54 +02:00
4cd583c6da patch 8.1.1600: cannot specify highlighting for popup window scrollbar
Problem:    Cannot specify highlighting for popup window scrollbar.
Solution:   Add "scrollbarhighlight" and "thumbhighlight" options.
2019-06-26 05:13:57 +02:00
6efd76ae4a patch 8.1.1599: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add a dummy assignment.
2019-06-26 04:06:57 +02:00
53a95d6584 patch 8.1.1598: update to test file missing
Problem:    Update to test file missing.
Solution:   Update the popup window test file.
2019-06-26 03:54:08 +02:00
68acb41f99 patch 8.1.1597: cannot scroll a popup window with the mouse
Problem:    Cannot scroll a popup window with the mouse.
Solution:   If the popup window has a scrollbar let the mouse scroll wheel
            scroll the window.
2019-06-26 03:40:36 +02:00
c2a4316500 patch 8.1.1596: when resizing the screen may draw popup in wrong position
Problem:    When resizing the screen may draw popup in wrong position. (Masato
            Nishihata)
Solution:   Check the popup is not outside of the screen. (fixes #4592)
2019-06-26 01:03:53 +02:00
88c47aa692 patch 8.1.1595: MS-Windows with VIMDLL: colors wrong in console
Problem:    MS-Windows with VIMDLL: colors wrong in console.
Solution:   Do not set the GUI colors when not using the GUI. (Ken Takata,
            closes #4588)
2019-06-26 00:34:15 +02:00
2eed9bafa0 patch 8.1.1594: may still start file dialog while exiting
Problem:    May still start file dialog while exiting.
Solution:   Ignore the "browse" modifier in another place when exiiting.
            (Ozaki Kiichi, closes #4582)
2019-06-25 23:40:29 +02:00
6a7af8e2db patch 8.1.1593: filetype not detected for C++ header files without extension
Problem:    Filetype not detected for C++ header files without extension.
Solution:   Recognize the file by the Emacs file mode. (Dmitry Ilyin,
            closes #4593)
2019-06-25 21:34:26 +02:00
5c381eb9e7 patch 8.1.1592: may start file dialog while exiting
Problem:    May start file dialog while exiting.
Solution:   Ignore the "browse" modifier when exiting. (Ozaki Kiichi,
            closes #4582
2019-06-25 06:50:31 +02:00
7d491c4253 patch 8.1.1591: on error garbage collection may free memory in use
Problem:    On error garbage collection may free memory in use.
Solution:   Reset may_garbage_collect when evaluating expression mapping.
            Add tests. (Ozaki Kiichi, closes #4579)
2019-06-25 06:28:02 +02:00
6c6a603cd2 patch 8.1.1590: popup window test fails
Problem:    Popup window test fails.
Solution:   Add "scrollbar" to expected result.
2019-06-25 05:33:36 +02:00
75fb0854e9 patch 8.1.1589: popup window does not indicate scroll position
Problem:    Popup window does not indicate scroll position.
Solution:   Add a scrollbar.
2019-06-25 05:15:58 +02:00
e96a2498f9 patch 8.1.1588: in :let-heredoc line continuation is recognized
Problem:    In :let-heredoc line continuation is recognized.
Solution:   Do not consume line continuation. (Ozaki Kiichi, closes #4580)
2019-06-25 04:12:16 +02:00
2b044ffb5a patch 8.1.1587: redraw problem when sign icons in the number column
Problem:    Redraw problem when sign icons in the number column.
Solution:   Clear and redraw when changing related options.  Right aligh the
            sign icon in the GUI. (Yegappan Lakshmanan, closes #4578)
2019-06-24 05:45:14 +02:00
b2cda0dd1d patch 8.1.1586: error number used in two places
Problem:    Error number used in two places.
Solution:   Renumber one. (Ken Takata)
2019-06-24 05:06:36 +02:00
e7eb92708e patch 8.1.1585: :let-heredoc does not trim enough
Problem:    :let-heredoc does not trim enough.
Solution:   Trim indent from the contents based on the indent of the first
            line.  Use let-heredoc in more tests.
2019-06-24 00:58:07 +02:00
0a1f56fcfe patch 8.1.1584: the evalfunc.c file is getting too big
Problem:    The evalfunc.c file is getting too big.
Solution:   Move channel and job related functions to channel.c.
2019-06-24 00:43:35 +02:00
7be3ab2589 patch 8.1.1583: set_ref_in_list() only sets ref in items
Problem:    Set_ref_in_list() only sets ref in items.
Solution:   Rename to set_ref_in_list_items() to avoid confusion.
2019-06-23 01:46:15 +02:00
0fcf26ba4f patch 8.1.1582: cannot build with +textprop but without +timers
Problem:    Cannot build with +textprop but without +timers.
Solution:   Add #ifdef. (Ola Söder, closes #4574)
2019-06-23 01:03:51 +02:00
7a39dd7f00 patch 8.1.1581: shared functions for testing are disorganised
Problem:    Shared functions for testing are disorganised.
Solution:   Group finctions in script files. (Ozaki Kiichi, closes #4573)
2019-06-23 00:50:15 +02:00
c662ec9978 patch 8.1.1580: cannot make part of a popup transparent
Problem:    Cannot make part of a popup transparent.
Solution:   Add the "mask" option.
2019-06-23 00:15:57 +02:00
6c1e1570b1 Update runtime files 2019-06-22 02:13:00 +02:00
adc6714aac patch 8.1.1579: dict and list could be GC'ed while displaying error
Problem:    Dict and list could be GC'ed while displaying error in a timer.
            (Yasuhiro Matsumoto)
Solution:   Block garbage collection when executing a timer.  Add
            test_garbagecollect_soon(). Add "no_wait_return" to
            test_override(). (closes #4571)
2019-06-22 01:40:42 +02:00
dfc1455728 patch 8.1.1578: MS-Windows: pathdef.c should depend on build options
Problem:    MS-Windows: pathdef.c should depend on build options.
Solution:   Generate pathdef.c in the object directory.  Fix dependencies.
            (Ken Takata, closes #4565)
2019-06-21 17:36:10 +02:00
693f7dc818 patch 8.1.1577: command line redrawn for +arabic without Arabic characters
Problem:    Command line redrawn for +arabic without Arabic characters.
            (Dominique Pelle)
Solution:   Check if there actually are any Arabic characters.  Do redraw
            after displaying incsearch. (closes #4569)
2019-06-21 02:30:38 +02:00
405bb42734 patch 8.1.1576: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add "UNUSED" annotation. (Dominique Pelle, closes #4570)
2019-06-21 00:12:29 +02:00
75a1a9415b patch 8.1.1575: callbacks may be garbage collected
Problem:    Callbacks may be garbage collected.
Solution:   Set reference in callbacks. (Ozaki Kiichi, closes #4564)
2019-06-20 03:45:36 +02:00
a3fce62c91 patch 8.1.1574: tabpage option not yet implemented for popup window
Problem:    Tabpage option not yet implemented for popup window.
Solution:   Implement tabpage option, also for popup_getoptions().
2019-06-20 02:31:49 +02:00
37e66cf0f6 patch 8.1.1573: textprop test fails if screenhots do not work
Problem:    Textprop test fails if screenhots do not work.
Solution:   Add check for screenhots working.
2019-06-19 18:16:10 +02:00
e9726e31fe patch 8.1.1572: compiler warnings with tiny build
Problem:    Compiler warnings with tiny build. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-06-19 18:01:21 +02:00
a956bf6ca3 patch 8.1.1571: textprop highlight starts too early if just after a tab
Problem:    textprop highlight starts too early if just after a tab.
Solution:   Check if still drawing a previous character. (closes #4558)
2019-06-19 17:34:24 +02:00
4dff4aed09 patch 8.1.1570: icon signs not displayed properly in the number column
Problem:    Icon signs not displayed properly in the number column.
Solution:   Display them properly. (Yegappan Lakshmanan, closes #4559)
2019-06-19 16:31:28 +02:00
bf8c3adef2 patch 8.1.1569: cannot build with signs but without diff feature
Problem:    Cannot build with signs but without diff feature.
Solution:   Move #ifdef. (Tom Ryder)
2019-06-19 14:28:43 +02:00
87652a7e3b patch 8.1.1568: strftime() test fails on MS-Windows
Problem:    Strftime() test fails on MS-Windows.
Solution:   Skip the check for using the $TZ environment variable.
2019-06-18 23:07:37 +02:00
db51730df1 patch 8.1.1567: localtime_r() does not respond to $TZ changes
Problem:    Localtime_r() does not respond to $TZ changes.
Solution:   If $TZ changes then call tzset(). (Tom Ryder)
2019-06-18 22:53:24 +02:00
517f71ab17 patch 8.1.1566: error message when terminal closes in another tab
Problem:    Error message when terminal closes while it is not in the current
            tab.
Solution:   Also set "do_set_w_closing" when using the special autocommand
            window. (closes #4552)
2019-06-17 22:40:41 +02:00
9b283523f2 patch 8.1.1565: MS-Windows: no sound support
Problem:    MS-Windows: no sound support.
Solution:   Add sound support for MS-Windows. (Yasuhiro Matsumoto, Ken Takata,
            closes #4522)
2019-06-17 22:19:33 +02:00
394c5d8870 patch 8.1.1564: sign column takes up space
Problem:    Sign column takes up space.  (Adam Stankiewicz)
Solution:   Optionally put signs in the number column. (Yegappan Lakshmanan,
            closes #4555, closes #4515)
2019-06-17 21:48:05 +02:00
6e5000d493 patch 8.1.1563: crash when using closures
Problem:    Crash when using closures.
Solution:   Set reference in varlist of funccal when running the garbage
            collector. (Ozaki Kiichi, closes #4554, closes #4547)
2019-06-17 21:18:41 +02:00
ad24a71e22 patch 8.1.1562: popup window not always redrawn after popup_setoptions()
Problem:    Popup window not always redrawn after popup_setoptions().
Solution:   Force a redraw.
2019-06-17 20:05:45 +02:00
ae943150d3 patch 8.1.1561: popup_setoptions() is not implemented yet
Problem:    Popup_setoptions() is not implemented yet.
Solution:   Implement popup_setoptions().  Also add more fields to
            popup_getoptions().
2019-06-16 22:54:14 +02:00
6313c4f41d patch 8.1.1560: popup window hidden option not implemented yet
Problem:    Popup window hidden option not implemented yet.
Solution:   Implement the hidden option.
2019-06-16 20:39:13 +02:00
eb2310d47d patch 8.1.1559: popup window title property not implemented yet
Problem:    Popup window title property not implemented yet.
Solution:   Implement the title property.
2019-06-16 20:09:10 +02:00
a730e55cc2 patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Problem:    Popup_menu() and popup_filter_menu() are not implemented yet.
Solution:   Implement the functions. Fix that centering didn't take the border
            and padding into account.
2019-06-16 19:05:31 +02:00
983f2f1403 patch 8.1.1557: compiler warning for unused variables in tiny version
Problem:    Compiler warning for unused variables in tiny version. (Tony
            Mechelynck)
Solution:   Add #ifdef.
2019-06-16 16:41:41 +02:00
8a5c7ef9bb patch 8.1.1556: command for failing screenshot does not include directory
Problem:    The command displayed to show a failing screenshot does not include
            the "testdir" directory.
Solution:   Prefix the directory name so that it can be copy-pasted.
2019-06-16 16:14:20 +02:00
8cdbd5b3c4 patch 8.1.1555: NOT_IN_POPUP_WINDOW is confusing
Problem:    NOT_IN_POPUP_WINDOW is confusing. (Andy Massimino)
Solution:   Rename to ERROR_IF_POPUP_WINDOW().
2019-06-16 15:50:45 +02:00
1c196e7b17 patch 8.1.1554: docs and tests for :const can be improved
Problem:    Docs and tests for :const can be improved.
Solution:   Improve documentation, add a few more tests. (Ryuichi Hayashida,
            closes #4551)
2019-06-16 15:41:58 +02:00
dc2ce58b5a patch 8.1.1553: not easy to change the text in a popup window
Problem:    Not easy to change the text in a popup window.
Solution:   Add popup_settext(). (Ben Jackson, closes #4549)
            Also display a space for an empty popup.
2019-06-16 15:32:14 +02:00
f85e40afc2 patch 8.1.1552: cursor position is wrong after sign column changes
Problem:    Cursor position is wrong after sign column appears or disappears.
            (Yegappan Lakshmanan)
Solution:   Call changed_line_abv_curs() instead of changed_cline_bef_curs().
2019-06-16 13:55:40 +02:00
6c17543b56 patch 8.1.1551: warning for shadowing popup_dragwin
Problem:    Warning for shadowing popup_dragwin. (Dominique Pelle)
Solution:   Add missing change.
2019-06-15 23:10:30 +02:00
51c3131040 patch 8.1.1550: when a popup has left padding text may be cut off
Problem:    When a popup has left padding text may be cut off.
Solution:   Add the border and padding when computing the size.
2019-06-15 22:27:23 +02:00
61eeeea8e6 patch 8.1.1549: quickfix test fails
Problem:    Quickfix test fails.
Solution:   Negate result of bt_quickfix().
2019-06-15 21:56:17 +02:00
a42d945efc patch 8.1.1548: popup_dialog() is not implemented
Problem:    Popup_dialog() is not implemented.
Solution:   Implement popup_dialog() and popup_filter_yesno().
2019-06-15 21:46:30 +02:00
26910de8b0 patch 8.1.1547: functionality of bt_nofile() is confusing
Problem:    Functionality of bt_nofile() is confusing.
Solution:   Split into bt_nofile() and bt_nofilename().
2019-06-15 19:37:15 +02:00
0331faf712 patch 8.1.1546: in some tests 'tags' is set but not restored
Problem:    In some tests 'tags' is set but not restored. (Daniel Hahler)
Solution:   Restore 'tags'. (closes #4535)
2019-06-15 18:40:37 +02:00
45aa07d3c1 patch 8.1.1545: when the screen is to small there is no message about that
Problem:    When the screen is to small there is no message about that.
            (Daniel Hahler)
Solution:   Do not use :cquit. (closes #4534)
2019-06-15 18:20:38 +02:00
b46fecd345 patch 8.1.1544: some balloon tests don't run when they can
Problem:    Some balloon tests don't run when they can.
Solution:   Split GUI balloon tests off into a separate file. (Ozaki Kiichi,
            closes #4538)  Change the feature check into a command for
            consistency.
2019-06-15 17:58:09 +02:00
b6e3b88ec8 patch 8.1.1543: const test fails with small features
Problem:    Const test fails with small features.
Solution:   Don't unlet non-existing variables.
2019-06-15 17:50:57 +02:00
d7c9687947 patch 8.1.1542: an OptionSet autocommand does not get enough info
Problem:    An OptionSet autocommand does not get enough info.
Solution:   Add v:option_command, v:option_oldlocal and v:option_oldglobal.
            (Latrice Wilgus, closes #4118)
2019-06-15 17:12:48 +02:00
bffc50494d patch 8.1.1541: check for ASAN is not reliable
Problem:    Check for ASAN is not reliable.
Solution:   Check the version output. (Dominique Pelle, closes #4543)
2019-06-15 16:34:21 +02:00
0abb4273f6 patch 8.1.1540: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Define ex_const if needed.
2019-06-15 16:06:00 +02:00
9937a05543 patch 8.1.1539: not easy to define a variable and lock it
Problem:    Not easy to define a variable and lock it.
Solution:   Add ":const".
2019-06-15 15:45:06 +02:00
dfa97f2aed patch 8.1.1538: cannot specify highlighting for notifications
Problem:    Cannot specify highlighting for notifications.
Solution:   Use the PopupNotification group if it exists. Add a minimal width
            to notifications.
2019-06-15 14:31:55 +02:00
fc06cbbf86 patch 8.1.1537: using "tab" for popup window can be confusing
Problem:    Using "tab" for popup window can be confusing.
Solution:   Use "tabpage". (Hirohito Higashi, closes #4532)
2019-06-15 14:14:31 +02:00
1755ec4278 patch 8.1.1536: popup select test still fails on Mac
Problem:    Popup select test still fails on Mac.
Solution:   Set 'clipboard' to "autoselect"
2019-06-15 13:13:54 +02:00
650a63748c patch 8.1.1535: popup select test fails on Mac
Problem:    Popup select test fails on Mac.
Solution:   Skip test if clipboard feature not available.
2019-06-15 00:29:33 +02:00
bd75b5333d patch 8.1.1534: modeless selection in popup window selects too much
Problem:    Modeless selection in popup window selects too much.
Solution:   Restrict the selection to insde of the popup window.
2019-06-14 23:41:55 +02:00
2fc39aeeb5 patch 8.1.1533: GUI build fails on Mac
Problem:    GUI build fails on Mac.
Solution:   Change VimClipboard type in non-C file.
2019-06-14 23:27:29 +02:00
d2cea96f6c patch 8.1.1532: build fails
Problem:    Build fails.
Solution:   Add missing changes.
2019-06-14 23:14:45 +02:00
0554fa478d patch 8.1.1531: clipboard type name is inconsistent
Problem:    Clipboard type name is inconsistent.
Solution:   Rename VimClipboard to Clipboard_T.
2019-06-14 21:36:54 +02:00
f42397c395 patch 8.1.1530: Travis config is not optimal
Problem:    Travis config is not optimal.
Solution:   Remove system conditions.  Do not use excluding matrix. Cache OSX
            results. (Ozaki Kiichi, closes #4521)
2019-06-14 20:47:49 +02:00
21606676d9 patch 8.1.1529: libcanberra is linked with even when not used
Problem:    Libcanberra is linked with even when not used.
Solution:   Have configure check for libcanberra only when wanted.
            (suggestions by Libor Bukata)
2019-06-14 20:40:58 +02:00
b4086ffa32 patch 8.1.1528: popup_any_visible() is unused
Problem:    Popup_any_visible() is unused.
Solution:   Remove it.
2019-06-14 20:00:48 +02:00
a540f8aa3b patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Problem:    When moving a popup window over the command line it is not
            redrawn.
Solution:   Redraw the command line. Move popup redrawing code to the popupwin
            file.
2019-06-14 19:23:57 +02:00
37df9a4401 patch 8.1.1526: no numerical value for the patchlevel
Problem:    No numerical value for the patchlevel.
Solution:   Add v:versionlong.
2019-06-14 14:39:51 +02:00
b53fb31a1e patch 8.1.1525: cannot move a popup window with the mouse
Problem:    Cannot move a popup window with the mouse.
Solution:   Add the "drag" property and make it possible to drag a popup
            window by its border.
2019-06-13 23:59:52 +02:00
b0f94c1ff3 patch 8.1.1524: tests are silently skipped
Problem:    Tests are silently skipped.
Solution:   Throw an exception for skipped tests in more places.
2019-06-13 22:19:53 +02:00
8d24104031 patch 8.1.1523: cannot show range of buffer lines in popup window
Problem:    Cannot show range of buffer lines in popup window.
Solution:   Add the "firstline" property. (closes #4523)
2019-06-12 23:40:01 +02:00
68d48f40a4 patch 8.1.1522: poup_notification() not implemented yet
Problem:    Popup_notification() not implemented yet.
Solution:   Implement it.
2019-06-12 22:42:41 +02:00
7c7f01e2b2 patch 8.1.1521: when a popup window is closed the buffer remains
Problem:    When a popup window is closed the buffer remains.
Solution:   Wipe out the buffer.
2019-06-12 21:06:32 +02:00
451d4b5b7c patch 8.1.1520: popup windows are ignored when dealing with mouse position
Problem:    Popup windows are ignored when dealing with mouse position
Solution:   Find the mouse position inside a popup window.  Allow for modeless
            selection.
2019-06-12 20:22:27 +02:00
06e2c81f6d patch 8.1.1519: 'backupskip' may contain duplicates
Problem:    'backupskip' may contain duplicates.
Solution:   Add the P_NODUP flag. (Tom Ryder)
2019-06-12 19:05:48 +02:00
202d982b36 patch 8.1.1518: crash when setting 'columns' while a popup is visible
Problem:    Crash when setting 'columns' while a popup is visible.
Solution:   Recompute all positions when clearing the screen. (closes #4467)
2019-06-11 21:56:30 +02:00
12ee7ff00b Update runtime files 2019-06-10 22:47:40 +02:00
4c063a0dab patch 8.1.1517: when a popup changes all windows are redrawn
Problem:    When a popup changes all windows are redrawn.
Solution:   Only update the lines that were affected.  Add a file for
            profiling popup windows efficiency.
2019-06-10 21:24:12 +02:00
640d4f0c97 patch 8.1.1516: time reported for a test measured wrong
Problem:    Time reported for a test measured wrong.
Solution:   Move the computation to the end of RunTheTest(). (Ozaki Kiichi,
            closes #4520)
2019-06-10 17:43:46 +02:00
82febc16e4 patch 8.1.1515: memory leak reported for sound when build with EXITFREE
Problem:    Memory leak reported for sound when build with EXITFREE.
Solution:   Free sound stuff when exiting.
2019-06-10 14:48:59 +02:00
01257a7a8e patch 8.1.1514: MS-Windows: wrong shell command with ! in 'guioptions'
Problem:    MS-Windows: wrong shell command with ! in 'guioptions'.
Solution:   Do not check for ! in 'guioptions' when applying 'shellxquote'.
            (Yasuhiro Matsumoto, closes #4519)
2019-06-10 14:46:04 +02:00
3ff5f0f05d patch 8.1.1513: all popup functionality is in functions, except :popupclear
Problem:    All popup functionality is in functions, except :popupclear.
Solution:   Add popup_clear() for consistency.  Also rename sound_stopall() to
            sound_clear().
2019-06-10 13:11:22 +02:00
38ea784fec patch 8.1.1512: ch_evalexpr() hangs when used recursively
Problem:    ch_evalexpr() hangs when used recursively. (Paul Jolly)
Solution:   Change ch_block_id from a single number to a list of IDs to wait
            on.
2019-06-09 19:51:58 +02:00
ac2450a9a8 patch 8.1.1511: matches in a popup window are not displayed properly
Problem:    Matches in a popup window are not displayed properly.
Solution:   Do display matches in a popup window. (closes #4517)
2019-06-09 18:04:28 +02:00
80dad48c50 patch 8.1.1510: a plugin cannot easily expand a command like done internally
Problem:    A plugin cannot easily expand a command like done internally.
Solution:   Add the expandcmd() function. (Yegappan Lakshmanan, closes #4514)
2019-06-09 17:22:31 +02:00
954bb06363 patch 8.1.1509: cmdline_row can become negative, causing a crash
Problem:    Cmdline_row can become negative, causing a crash.
Solution:   Make sure cmdline_row does not become negagive. (closes #4102)
2019-06-09 16:40:46 +02:00
541faf7a73 patch 8.1.1508: sound keeps failing on Travis
Problem:    Sound keeps failing on Travis.
Solution:   Throw a skipped exception in the test.
2019-06-09 15:35:41 +02:00
a90998d93a patch 8.1.1507: sound test still fails on Travis
Problem:    Sound test still fails on Travis.
Solution:   Try another dummy sound approach.
2019-06-09 15:21:27 +02:00
b29cfb8c28 patch 8.1.1506: syntax error in Travis config
Problem:    Syntax error in Travis config.
Solution:   Set AUDIODEV in another section.
2019-06-09 14:51:30 +02:00
8ed75cb0b4 patch 8.1.1505: running "make clean" twice gives errors
Problem:    Running "make clean" twice gives errors.
Solution:   Add "-f" to "rm". (closes #4516)
2019-06-09 14:39:13 +02:00
ef23c527bd patch 8.1.1504: sound test still fails on Travis
Problem:    Sound test still fails on Travis.
Solution:   Add more lines to the install section.
2019-06-09 14:15:29 +02:00
ffa60dda0a patch 8.1.1503: sound test fails on Travis
Problem:    Sound test fails on Travis.
Solution:   Set AUDIODEV to "null".
2019-06-09 13:56:27 +02:00
427f5b66ce patch 8.1.1502: cannot play any sound
Problem:    Cannot play any sound.
Solution:   Use libcanberra if available.  Add sound functions.
2019-06-09 13:43:51 +02:00
260addf795 patch 8.1.1501: new behavior of b:changedtick not tested
Problem:    New behavior of b:changedtick not tested.
Solution:   Add a few test cases. (Daniel Hahler)
2019-06-08 20:48:36 +02:00
21f8d93c71 patch 8.1.1500: wrong shell command when building with VIMDLL and "!" in 'go'
Problem:    Wrong shell command when building with VIMDLL and "!" in
            'guioptions'.
Solution:   Add check for GUI in use. (Ken Takata)
2019-06-08 20:17:18 +02:00
24a5ac5d4d patch 8.1.1499: ruler not updated after popup window was removed
Problem:    Ruler not updated after popup window was removed.
Solution:   use popup_mask in screen_puts().
2019-06-08 19:01:18 +02:00
c024b46678 patch 8.1.1498: ":write" increments b:changedtick even though nothing changed
Problem:    ":write" increments b:changedtick even though nothing changed.
            (Daniel Hahler)
Solution:   Only increment b:changedtick if the modified flag is reset.
2019-06-08 18:07:21 +02:00
aef5c62a6f patch 8.1.1497: accessing memory beyond allocated space
Problem:    Accessing memory beyond allocated space.
Solution:   Check column before accessing popup mask.
2019-06-08 17:25:33 +02:00
acc682bd7c patch 8.1.1496: popup window height is not recomputed
Problem:    Popup window height is not recomputed.
Solution:   Recompute the height when needed.
2019-06-08 17:15:51 +02:00
1748c7f77e patch 8.1.1495: memory access error
Problem:    Memory access error.
Solution:   Use the correct size for clearing the popup mask.
2019-06-08 16:55:15 +02:00
6c009a3974 patch 8.1.1494: build failure
Problem:    Build failure.
Solution:   Add missing changes.
2019-06-08 16:06:28 +02:00
33796b39b9 patch 8.1.1493: redrawing with popups is slow and causes flicker
Problem:    Redrawing with popups is slow and causes flicker.
Solution:   Avoid clearing and redrawing using a zindex mask.
2019-06-08 16:01:13 +02:00
7c348bb5ad patch 8.1.1492: MS-Windows: when "!" is in 'guioptions' ":!start" fails
Problem:    MS-Windows: when "!" is in 'guioptions' ":!start" fails.
Solution:   Do not use a terminal window when the shell command begins with
            "!start". (Yasuhiro Matsumoto, closes #4504)
2019-06-08 12:05:22 +02:00
6064073841 patch 8.1.1491: when skipping over code a function call may cause trouble
Problem:    When skipping over code after an exception was thrown expression
            evaluation is aborted after a function call. (Ingo Karkat)
Solution:   Do not fail if not executing the expression. (closes #4507)
2019-06-07 23:15:22 +02:00
4e0bf84627 patch 8.1.1490: when a single test fails the exit code is not set
Problem:    When a single test fails the exit code is not set. (Daniel Hahler)
Solution:   Add an exit command. (closes #4506)
2019-06-07 22:40:25 +02:00
64416127fc patch 8.1.1489: sign order wrong when priority was changed
Problem:    Sign order wrong when priority was changed.
Solution:   Reorder signs when priority is changed. (Yegappan Lakshmanan,
            closes #4502)
2019-06-07 21:37:13 +02:00
150f0550f4 patch 8.1.1488: summary of tests has incorrect failed count
Problem:    Summary of tests has incorrect failed count.
Solution:   Add to the failed count instead of setting it. (Christian Brabandt)
2019-06-07 21:29:50 +02:00
62a88f498a patch 8.1.1487: older msgfmt cannot generate proper .desktop file
Problem:    Older msgfmt cannot generate proper .desktop file.
Solution:   Add a configure check to not use this msgfmt version. (Ken Takata)
2019-06-07 20:44:40 +02:00
1253704591 patch 8.1.1486: a listener change is merged even when it adds a line
Problem:    A listener change is merged even when it adds a line. (Paul Jolly)
Solution:   Do not merge a change that adds or removes a line. (closes #4490)
2019-06-06 22:50:35 +02:00
773a97c254 Update runtime files - Add typescript syntax and indent. 2019-06-06 20:39:55 +02:00
c07f67ad0e patch 8.1.1485: double free when garbage_collect() is used in autocommand
Problem:    Double free when garbage_collect() is used in autocommand.
Solution:   Have garbage collection also set the copyID in funccal_stack.
2019-06-06 19:03:17 +02:00
75ee544f99 patch 8.1.1484: some tests are slow
Problem:    Some tests are slow.
Solution:   Add timing to the test messages.  Fix double free when quitting in
            VimLeavePre autocmd.
2019-06-06 18:05:25 +02:00
5d30ff1964 patch 8.1.1483: skipped tests are not properly listed
Problem:    Skipped tests are not properly listed.
Solution:   Throw a "Skipped" exception instead of using ":finish" or ":return".
2019-06-06 16:12:12 +02:00
f6d50f1da8 patch 8.1.1482: no test for wincol() depending on the 'number' option
Problem:    No test for wincol() depending on the 'number' option.
Solution:   Add a couple of tests. (Christian Brabandt, closes #4500)
2019-06-06 15:40:08 +02:00
12e71eb8a8 patch 8.1.1481: length for two-digit rgb termresponse is off by one
Problem:    Length for two-digit rgb termresponse is off by one.
Solution:   Adjust the length. (closes #4494)
2019-06-06 15:19:31 +02:00
8e228e21cc patch 8.1.1480: desktop file check doesn't run on CI
Problem:    Desktop file check doesn't run on CI.
Solution:   Install the desktip-file-utils packages. (Christian Brabandt,
            closes #4498)
2019-06-06 15:13:19 +02:00
133c737357 patch 8.1.1479: change included for debugging only
Problem:    Change included for debugging only.
Solution:   Restore the REDIR_TEST_TO_NULL line.
2019-06-06 14:38:06 +02:00
18250e291a patch 8.1.1478: still an error when running tests with the tiny version
Problem:    Still an error when running tests with the tiny version.
Solution:   Do not try reading test.log
2019-06-06 14:28:54 +02:00
c7500f9cb5 patch 8.1.1477: test summary fails in the tiny version
Problem:    Test summary fails in the tiny version.
Solution:   set 'nocompatible'.
2019-06-06 14:08:50 +02:00
9c0cec65f8 patch 8.1.1476: no statistics displayed after running tests
Problem:    No statistics displayed after running tests.
Solution:   Summarize the test results. (Christian Brabandt, closes #4391)
            Also make it possible to report a skipped file.
2019-06-06 13:38:15 +02:00
db294adc65 patch 8.1.1475: search string not displayed when 'rightleft' is set
Problem:    Search string not displayed when 'rightleft' is set.
Solution:   Clear the right part of the old text. (closes #4488, closes #4489)
2019-06-06 12:49:29 +02:00
9aeb33639f patch 8.1.1474: 'ttybuiltin' is not tested
Problem:    'ttybuiltin' is not tested.
Solution:   At least test that it doesn't break things.
2019-06-06 12:36:15 +02:00
4a792c87b9 patch 8.1.1473: new resolve() implementation causes problem for plugins
Problem:    New resolve() implementation causes problem for plugins.
Solution:   Only resolve a resparse point after checking it is needed. (Ken
            Takata, closes #4492)
2019-06-06 12:22:41 +02:00
61da1bfa6c Update runtime files. 2019-06-06 12:14:49 +02:00
de6dbb452a patch 8.1.1472: add_termcap_entry() is not tested
Problem:    Add_termcap_entry() is not tested.
Solution:   Add a simple test.
2019-06-06 11:59:18 +02:00
32e1977012 patch 8.1.1471: 'background' not correctly set for 2-digit rgb termresponse
Problem:    'background' not correctly set for 2-digit rgb termresponse.
Solution:   Adjust what digit to use. (closes #4495)
2019-06-05 22:57:04 +02:00
6d718c4c38 patch 8.1.1470: new Unicode character U32FF missing from double-width table
Problem:    New Unicode character U32FF missing from double-width table.
Solution:   Add the character.
2019-06-05 22:46:13 +02:00
66761db11d patch 8.1.1469: no test for checking the cursor style response
Problem:    No test for checking the cursor style response.
Solution:   Add a simple test.  Also include the missing part of 8.1.1464.
2019-06-05 22:07:51 +02:00
d0380dc782 patch 8.1.1468: the generated desktop files may be invalid
Problem:    The generated desktop files may be invalid.
Solution:   Check validity with desktop-file-validate. (Christian Brabandt,
            Will Thompson, closes #4480)
2019-06-05 21:25:34 +02:00
d6ec1730ba patch 8.1.1467: cscope test fails
Problem:    Cscope test fails.
Solution:   Update expected text.
2019-06-04 23:20:23 +02:00
58a7f87c86 patch 8.1.1466: not updating priority on existing sign
Problem:    Not updating priority on existing sign.
Solution:   Set the sign priority.  Add a test. (Yegappan Lakshmanan)
2019-06-04 22:48:15 +02:00
a37833dbd7 patch 8.1.1465: allocating wrong amount of memory
Problem:    Allocating wrong amount of memory. (Yegappan Lakshmanan)
Solution:   Use sizeof() for right type of struct.
2019-06-04 22:29:10 +02:00
cea254f5a7 patch 8.1.1464: only 4-digit rgb termresponse is recognized
Problem:    Only 4-digit rgb termresponse is recognized.
Solution:   Also recognize 2-digit rgb response. (closes #4486)
2019-06-04 21:41:28 +02:00
277e79adc4 patch 8.1.1463: gcc warns for uninitialized variable
Problem:    Gcc warns for uninitialized variable.
Solution:   Put usage inside "if".  (Ken Takata)
2019-06-04 19:16:29 +02:00
c974022c31 patch 8.1.1462: MS-Windows: using special character requires quoting
Problem:    MS-Windows: using special character requires quoting.
Solution:   Add quotes. (Ken Takata)
2019-06-04 08:22:53 +02:00
ddd3308782 patch 8.1.1461: tests do not run or are not reliable on some systems
Problem:    Tests do not run or are not reliable on some systems.
Solution:   Use "findstr" instead of "grep" on MS-Windows. Clear
            PROMPT_COMMAND in the terminal test. Delete temp file. Wait for
            output after executing a debug command. (Yegappan Lakshmanan,
            closes #4479)
2019-06-03 23:07:25 +02:00
02e15072be patch 8.1.1460: popup window border characters may be wrong
Problem:    Popup window border characters may be wrong.
Solution:   Reset the border characters for each popup.  Correct use of
            'ambiwidth'.
2019-06-03 22:53:30 +02:00
3f6aeba18b patch 8.1.1459: popup window border looks bad when 'ambiwidth' is "double"
Problem:    Popup window border looks bad when 'ambiwidth' is "double".
            (Yasuhiro Matsumoto)
Solution:   Only use line drawing characters when 'ambiwidth' is "single".
            (Ken Takata, closes #4477)
2019-06-03 22:21:27 +02:00
0b4c9eddb5 patch 8.1.1458: crash when using gtags
Problem:    Crash when using gtags. (issue #4102)
Solution:   Check for negative row or col in screen_puts_len(). (Christian
            Brabandt)
2019-06-03 22:04:23 +02:00
87abab92f5 patch 8.1.1457: cannot reuse a buffer when loading a screen dump
Problem:    Cannot reuse a buffer when loading a screen dump.
Solution:   Add the "bufnr" option.
2019-06-03 21:14:59 +02:00
98fb65cb05 patch 8.1.1456: WinBar not redrawn after scrolling one line
Problem:    WinBar not redrawn after scrolling one line.
Solution:   Exclude the winbar height when deciding what to redraw.
            (closes #4473)
2019-06-02 20:33:32 +02:00
1762731f20 patch 8.1.1455: popup_atcursor() not completely implemented
Problem:    Popup_atcursor() not completely implemented.
Solution:   Add the default for the "moved" property.
2019-06-02 19:53:44 +02:00
6116b6abb1 patch 8.1.1454: build failure without the conceal feature
Problem:    Build failure without the conceal feature.
Solution:   Remove #ifdef.
2019-06-02 19:02:27 +02:00
3397f74ac2 patch 8.1.1453: popup window "moved" property not implemented yet
Problem:    Popup window "moved" property not implemented yet.
Solution:   Implement it.
2019-06-02 18:40:06 +02:00
b0ebbda06c patch 8.1.1452: line and col property of popup windows not properly checked
Problem:    Line and col property of popup windows not properly checked.
Solution:   Check for "+" or "-" sign.
2019-06-02 16:51:21 +02:00
ca2f7037c1 patch 8.1.1451: CTRL-L does not clear screen with a popup window
Problem:    CTRL-L does not clear screen with a popup window.
Solution:   Do not change the type to NOT_VALID.  Redraw all windows.
            (closes #4471)
2019-06-02 15:56:15 +02:00
399d898ac1 patch 8.1.1450: popup window positioning wrong when using padding or borders
Problem:    Popup window positioning wrong when using padding or borders.
Solution:   Fix computing the position.
2019-06-02 15:34:29 +02:00
042fb4b449 patch 8.1.1449: popup text truncated at end of screen
Problem:    Popup text truncated at end of screen.
Solution:   Move popup left if needed.  Add the "fixed" property to disable
            that. (Ben Jackson , closes #4466)
2019-06-02 14:49:56 +02:00
988c43310a patch 8.1.1448: statusline is sometimes drawn on top of popup
Problem:    Statusline is sometimes drawn on top of popup.
Solution:   Redraw popups after the statusline. (Naruhiko Nishino,
            closes #4468)
2019-06-02 14:12:11 +02:00
7b29dd8507 patch 8.1.1447: not allowed to create an empty popup
Problem:    Not allowed to create an empty popup.
Solution:   Remove restriction that there is some text. (closes #4470)
2019-06-02 13:22:11 +02:00
9eaac89650 patch 8.1.1446: popup window callback not implemented yet
Problem:    Popup window callback not implemented yet.
Solution:   Implement the callback.
2019-06-01 22:49:29 +02:00
790498b509 patch 8.1.1445: popup window border highlight not implemented yet
Problem:    Popup window border highlight not implemented yet.
Solution:   Implement the "borderhighlight" option.
2019-06-01 22:15:29 +02:00
3bfd04e672 patch 8.1.1444: not using double line characters for popup border
Problem:    Not using double line characters for popup border.
Solution:   Use double line characters if using utf-8.
2019-06-01 20:45:21 +02:00
2fd8e35e16 patch 8.1.1443: popup window padding and border not implemented yet
Problem:    Popup window padding and border not implemented yet.
Solution:   Implement padding and border.  Add core position and size to
            popup_getpos().
2019-06-01 20:16:48 +02:00
8caaf82569 patch 8.1.1442: popup windows not considered when the Vim window is resized
Problem:    Popup windows not considered when the Vim window is resized.
            (Ben Jackson)
Solution:   Reallocate the w_lines structure. (closes #4467)
2019-06-01 18:11:22 +02:00
bf0eff0b72 patch 8.1.1441: popup window filter not yet implemented
Problem:    Popup window filter not yet implemented.
Solution:   Implement the popup filter.
2019-06-01 17:13:36 +02:00
2d247849ce patch 8.1.1440: win_execute() test fails
Problem:    Win_execute() test fails.
Solution:   Adjust the expected error number.  Move to popup test.
2019-06-01 17:06:25 +02:00
c47ed44be7 patch 8.1.1439: json_encode() is very slow for large results
Problem:    Json_encode() is very slow for large results.
Solution:   In the growarray use a growth of at least 50%. (Ken Takata,
            closes #4461)
2019-06-01 14:36:26 +02:00
815b76bff6 patch 8.1.1438: some commands cause trouble in a popup window
Problem:    Some commands cause trouble in a popup window.
Solution:   Add NOT_IN_POPUP_WINDOW.
2019-06-01 14:15:52 +02:00
3a97bb3f0f patch 8.1.1437: code to handle callbacks is duplicated
Problem:    Code to handle callbacks is duplicated.
Solution:   Add callback_T and functions to deal with it.
2019-06-01 13:28:35 +02:00
7dd64a3e57 Update runtime files. 2019-05-31 21:41:05 +02:00
c28cb5b16d patch 8.1.1436: writefile test fails when run under /tmp
Problem:    Writefile test fails when run under /tmp.
Solution:   Adjust 'backupskip. (Kenta Sato, closes #4462)
2019-05-31 20:42:09 +02:00
5d508dd39e patch 8.1.1435: memory usage test is a bit too flaky
Problem:    Memory usage test is a bit too flaky.
Solution:   Adjust the tolerances a bit. (Christian Brabandt)
2019-05-31 20:23:25 +02:00
1ab74a5af3 patch 8.1.1434: test 3 is old style
Problem:    Test 3 is old style.
Solution:   Turn into a new style test. (Yegappan Lakshmanan, closes #4460)
2019-05-31 20:02:53 +02:00
eea1699836 patch 8.1.1433: win_execute() may leave popup window focused
Problem:    Win_execute() may leave popup window focused, eventually leading
            to a crash. (Bjorn Linse)
Solution:   When previous window was closed, go to the first window.
2019-05-31 17:34:48 +02:00
ccd6e3471d patch 8.1.1432: can't build with eval feature
Problem:    Can't build with eval feature.
Solution:   Add missing rename.
2019-05-30 22:35:18 +02:00
c6896e20f8 patch 8.1.1431: popup window listed as "Scratch"
Problem:    Popup window listed as "Scratch".
Solution:   List them as "Popup".
2019-05-30 22:32:34 +02:00
402502d0e4 patch 8.1.1430: popup window option "wrap" not supported
Problem:    Popup window option "wrap" not supported.
Solution:   Implement it.
2019-05-30 22:07:36 +02:00
ac1f1bc222 patch 8.1.1429: "pos" option of popup window not supported yet
Problem:    "pos" option of popup window not supported yet.
Solution:   Implement the option. Rename popup_getposition() to
            popup_getpos().
2019-05-30 21:24:26 +02:00
cc31ad9f9b patch 8.1.1428: popup_atcursor() not implemented yet
Problem:    Popup_atcursor() not implemented yet.
Solution:   Implement it. (Yasuhiro Matsumoto, closes #4456)
2019-05-30 19:25:06 +02:00
54fabd4b5e patch 8.1.1427: popup window screenshot test fails
Problem:    Popup window screenshot test fails.
Solution:   Add missing change to popup window code.
2019-05-30 19:03:22 +02:00
b42301247d patch 8.1.1426: no test for syntax highlight in popup window
Problem:    No test for syntax highlight in popup window.
Solution:   Add a screenshot test.  Update associated documentation. Avoid
            'buftype' being reset by setbufvar().
2019-05-30 18:40:53 +02:00
89adc3a137 patch 8.1.1425: win_execute() does not set window pointers properly
Problem:    Win_execute() does not set window pointers properly.
Solution:   Use switch_win_noblock().  Also execute autocommands in a popup
            window.
2019-05-30 17:29:40 +02:00
5c3fb04623 patch 8.1.1424: crash when popup menu is deleted while waiting for char
Problem:    Crash when popup menu is deleted while waiting for char.
Solution:   Bail out when pum_array was cleared.
2019-05-30 15:53:29 +02:00
cacc6a5c98 patch 8.1.1423: popup windows use options from current window and buffer
Problem:    Popup windows use options from current window and buffer.
Solution:   Clear all local options when creating a popup window.
2019-05-30 15:22:43 +02:00
8c2a600f72 patch 8.1.1422: popup_getoptions() not implemented yet
Problem:    Popup_getoptions() not implemented yet.
Solution:   Implement it. (closes #4452)
2019-05-30 14:29:45 +02:00
1714696600 patch 8.1.1421: drawing "~" line in popup window
Problem:    Drawing "~" line in popup window.
Solution:   Just draw text in the last line of the popup window.
2019-05-30 00:12:11 +02:00
88c4e1f069 patch 8.1.1420: popup window size only uses first line length
Problem:    Popup window size only uses first line length.
Solution:   Use the longest line. (Ben Jackson, closes #4451)  Also deal with
            wrapping lines.
2019-05-29 23:14:28 +02:00
68a4b04a8d patch 8.1.1419: listener callbacks may be called recursively
Problem:    Listener callbacks may be called recursively.
Solution:   Set "updating_screen" while listener callbacks are invoked.
2019-05-29 22:28:29 +02:00
868b7b6712 patch 8.1.1418: win_execute() is not implemented yet
Problem:    Win_execute() is not implemented yet.
Solution:   Implement it.
2019-05-29 21:44:40 +02:00
1bbebab525 patch 8.1.1417: MS-Windows: resolve() does not resolve all components of path
Problem:    MS-Windows: resolve() does not resolve all components of the path.
            (David Briscoe)
Solution:   Do not bail out for a reparse point. (Yasuhiro Matsumoto,
            closes #4211, closes #4447)
2019-05-29 20:36:54 +02:00
bc133543b8 patch 8.1.1416: popup_getposition() not implemented yet
Problem:    Popup_getposition() not implemented yet.
Solution:   Implement it. (Yasuhiro Matsumoto, closes #4449)
2019-05-29 20:26:46 +02:00
59edb00e22 patch 8.1.1415: build error in MS-Windows GUI
Problem:    Build error in MS-Windows GUI.
Solution:   Fix the LALLOC_MULT() argument.
2019-05-28 23:32:47 +02:00
c799fe206e patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
Problem:    Alloc() returning "char_u *" causes a lot of type casts.
Solution:   Have it return "void *". (Mike Williams)  Define ALLOC_ONE() to
            check the simple allocations.
2019-05-28 23:08:19 +02:00
b58a4b938c patch 8.1.1413: error when the drive of the swap file was disconnected
Problem:    Error when the drive of the swap file was disconnected.
Solution:   Try closing and re-opening the swap file. (closes #4378)
2019-05-27 23:36:21 +02:00
72fcf07b06 patch 8.1.1412: test 30 is old style
Problem:    Test 30 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes #4440)
2019-05-27 22:21:44 +02:00
7833dab73c patch 8.1.1411: Coverity warns for divide by zero
Problem:    Coverity warns for divide by zero.
Solution:   Make sure width is larger than zero.
2019-05-27 22:01:40 +02:00
60cdb3004a patch 8.1.1410: popup_move() is not implemented yet
Problem:    Popup_move() is not implemented yet.
Solution:   Implement it. (Yasuhiro Matsumoto, closes #4441)  Improve the
            positioning and resizing.
2019-05-27 21:54:10 +02:00
b43683729b patch 8.1.1409: Coverity warns for using uninitialized memory
Problem:    Coverity warns for using uninitialized memory.
Solution:   Add a condition to clearing the growarray.
2019-05-27 20:01:41 +02:00
bf0ecb2cb6 patch 8.1.1408: PFL_HIDDEN conflicts with system header file
Problem:    PFL_HIDDEN conflicts with system header file.
Solution:   Rename to POPF_HIDDEN.
2019-05-27 10:04:40 +02:00
7a8d0278bd patch 8.1.1407: popup_create() does not support text properties
Problem:    Popup_create() does not support text properties.
Solution:   Support the third form of the text argument.
2019-05-26 23:32:06 +02:00
2cd0dce898 patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Problem:    popup_hide() and popup_show() not implemented yet.
Solution:   Implement the functions.
2019-05-26 22:17:52 +02:00
68e6560b84 Update runtime files. 2019-05-26 21:33:31 +02:00
20c023aee0 patch 8.1.1405: "highlight" option of popup windows not supported
Problem:    "highlight" option of popup windows not supported.
Solution:   Implement the "highlight" option.
2019-05-26 21:03:24 +02:00
9d591525a5 patch 8.1.1404: cannot change the patch level when building with NSIS
Problem:    Cannot change the patch level when building with NSIS.
Solution:   Use $PATCHLEVEL if defined. (Christian Brabandt)
2019-05-26 20:49:42 +02:00
35d5af6c0b patch 8.1.1403: cannot build without the timer feature
Problem:    Cannot build without the timer feature.
Solution:   Add #ifdef.
2019-05-26 20:44:10 +02:00
51fe3b14f6 patch 8.1.1402: "timer" option of popup windows not supported
Problem:    "timer" option of popup windows not supported.
Solution:   Implement the "timer" option. (Yasuhiro Matsumoto, closes #4439)
2019-05-26 20:10:06 +02:00
076073950c patch 8.1.1401: misspelled mkspellmem as makespellmem
Problem:    Misspelled mkspellmem as makespellmem.
Solution:   Drop duplicate help entry, fix test. (Naruhiko Nishino, Ken
            Takata, closes #4437)
2019-05-26 19:20:43 +02:00
9c27b1c6d1 patch 8.1.1400: using global pointer for tab-local popups is clumsy
Problem:    Using global pointer for tab-local popups is clumsy.
Solution:   Use the pointer in tabpage_T.
2019-05-26 18:48:13 +02:00
ec58384afa patch 8.1.1399: popup windows not adjusted when switching tabs
Problem:    Popup windows not adjusted when switching tabs.
Solution:   Save and restore first_tab_popupwin. Fix closing a tabpage.
2019-05-26 14:11:23 +02:00
a8c99fb78e patch 8.1.1398: duplicate line in MSVC build file
Problem:    Duplicate line in MSVC build file.
Solution:   Remove the line. (Ken Takata, closes #4436)
2019-05-26 13:14:02 +02:00
80f95425cf patch 8.1.1397: build fails in tiny version
Problem:    Build fails in tiny version.
Solution:   Always define hl_combine_attr().
2019-05-25 23:42:13 +02:00
193ffd1d9f patch 8.1.1396: 'wincolor' does not apply to lines below the buffer
Problem:    'wincolor' does not apply to lines below the buffer.
Solution:   Also apply 'wincolor' to the "~" lines and the number column.
2019-05-25 22:57:30 +02:00
adfde115d5 patch 8.1.1395: saving for undo may access invalid memory
Problem:    Saving for undo may access invalid memory. (Dominique Pelle)
Solution:   Set ml_line_len also when returning a constant string.
2019-05-25 22:11:45 +02:00
a5e44600eb patch 8.1.1394: not restoring t_F2 in registers test
Problem:    Not restoring t_F2 in registers test.
Solution:   Assign to &t_F2 instead of t_F2. (Andy Massimino, closes #4434)
2019-05-25 21:52:30 +02:00
51e14387f1 patch 8.1.1393: unnecessary type casts
Problem:    Unnecessary type casts.
Solution:   Remove type casts from alloc() and lalloc() calls. (Mike Williams)
2019-05-25 20:21:28 +02:00
682725c141 patch 8.1.1392: build failure in tiny version
Problem:    Build failure in tiny version.
Solution:   Define ex_popupclear to ex_ni if not implemented.  Add UNUSED.
2019-05-25 20:10:37 +02:00
4d784b21d1 patch 8.1.1391: no popup window support
Problem:    No popup window support.
Solution:   Add initial code for popup windows.  Add the 'wincolor' option.
2019-05-25 19:51:39 +02:00
8f46e4c4bd patch 8.1.1390: search stats are off when using count or offset
Problem:    Search stats are off when using count or offset.
Solution:   Recompute the stats when needed. (Masato Nishihata, closes #4410)
2019-05-24 22:08:15 +02:00
7b31a181c8 patch 8.1.1389: changes are not flushed when end and start overlap
Problem:    Changes are not flushed when end and start overlap. (Paul Jolly)
Solution:   When end of a previous changes overlaps with start of a new
            change, first flush listeners.
2019-05-24 21:39:27 +02:00
f0884c5f3f patch 8.1.1388: errors when calling prop_remove() for an unloaded buffer
Problem:    Errors when calling prop_remove() for an unloaded buffer.
Solution:   Bail out when the buffer is not loaded.  Add a few more tests for
            failing when the buffer number is invalid.
2019-05-24 21:22:29 +02:00
d79eef2eb1 patch 8.1.1387: calling prop_add() in an empty buffer doesn't work
Problem:    Calling prop_add() in an empty buffer doesn't work. (Dominique
            Pelle)
Solution:   Open the memline before adding a text property. (closes #4412)
2019-05-24 20:41:55 +02:00
18a4ba29ae patch 8.1.1386: unessesary type casts for lalloc()
Problem:    Unessesary type casts for lalloc().
Solution:   Remove type casts.  Change lalloc(size, TRUE) to alloc(size).
2019-05-24 19:39:03 +02:00
71de720c2c patch 8.1.1385: signed/unsigned compiler warning
Problem:    Signed/unsigned compiler warning.
Solution:   Use STRLEN() instead of strlen().
2019-05-24 19:04:29 +02:00
964b3746b9 patch 8.1.1384: using "int" for alloc() often results in compiler warnings
Problem:    Using "int" for alloc() often results in compiler warnings.
Solution:   Use "size_t" and remove type casts.  Remove alloc_check(), Vim
            only works with 32 bit ints anyway.
2019-05-24 18:54:09 +02:00
d33a764123 patch 8.1.1383: warning for size_t/int mixup
Problem:    Warning for size_t/int mixup.
Solution:   Change type. (Mike Williams)
2019-05-24 17:56:14 +02:00
3020a87cb1 patch 8.1.1382: error when editing test file
Problem:    Error when editing test file.
Solution:   Remove part of modeline.
2019-05-24 17:33:01 +02:00
d22a6f8aaf patch 8.1.1381: MS-Windows: missing build dependency
Problem:    MS-Windows: missing build dependency.
Solution:   Make gui_dwrite.cpp depend on gui_dwrite.h. (Ken Takata,
            closes #4423
2019-05-24 17:17:54 +02:00
fa8f861957 patch 8.1.1380: MS-Windows building VIMDLL with MSVC: SUBSYSTEM is not set
Problem:    MS-Windows building VIMDLL with MSVC: SUBSYSTEM is not set.
Solution:   Invert condition. (closes #4422)
2019-05-24 17:05:44 +02:00
8239c62067 patch 8.1.1379: filechanged test hangs
Problem:    Filechanged test hangs.
Solution:   Do not check 'autoread'.
2019-05-24 16:46:01 +02:00
701ff0a3e5 patch 8.1.1378: delete() can not handle a file name that looks like a pattern
Problem:    Delete() can not handle a file name that looks like a pattern.
Solution:   Use readdir() instead of appending "/*" and expanding wildcards.
            (Ken Takata, closes #4424, closes #696)
2019-05-24 14:14:14 +02:00
fcc4d921d6 patch 8.1.1377: MS-Windows GUI uses wrong shell command for bash
Problem:    MS-Windows GUI uses wrong shell command for bash. (Robert Bogomip)
Solution:   Check that 'shellcmdflag' is "/c". (Ken Takata, closes #4418)
2019-05-24 13:32:36 +02:00
e2ad826f43 patch 8.1.1376: warnings for size_t/int mixups
Problem:    Warnings for size_t/int mixups.
Solution:   Change types, add type casts. (Mike Williams)
2019-05-24 13:22:22 +02:00
984f031fb0 patch 8.1.1375: without "TS" in 'shortmess' get a hit-enter prompt often
Problem:    Without "TS" in 'shortmess' get a hit-enter prompt often.
Solution:   Always truncate the search message.  Also avoid putting it in the
            message history. (closes #4413)
2019-05-24 13:11:47 +02:00
c97582b029 patch 8.1.1374: check for file changed triggers too often
Problem:    Check for file changed triggers too often.
Solution:   Don't use "b_p_ar" when it is negative.
2019-05-24 11:45:22 +02:00
0ab190c057 patch 8.1.1373: "[p" in Visual mode puts in wrong line
Problem:    "[p" in Visual mode puts in wrong line.
Solution:   Call nv_put() instead of duplicating the functionality.
            (closes #4408)
2019-05-23 23:27:36 +02:00
1c6fd1e100 patch 8.1.1372: when evaluating 'statusline' the current window is unknown
Problem:    When evaluating 'statusline' the current window is unknown.
            (Daniel Hahler)
Solution:   Set "g:actual_curwin" for %{} items.  Set "g:statusline_winid"
            when evaluationg %!. (closes #4406, closes #3299)
2019-05-23 22:11:59 +02:00
99499b1c05 patch 8.1.1371: cannot recover from a swap file
Problem:    Cannot recover from a swap file.
Solution:   Do not expand environment variables in the swap file name.
            Do not check the extension when we already know a file is a swap
            file.  (Ken Takata, closes 4415, closes #4369)
2019-05-23 21:35:48 +02:00
05b8b07e27 patch 8.1.1370: not using the new github feature for donations
Problem:    Not using the new github feature for donations.
Solution:   Add a Sponsor button. (closes #4417)
2019-05-23 20:42:10 +02:00
294d9bf966 patch 8.1.1369: get E484 when using system() during GUI startup
Problem:    Get E484 when using system() during GUI startup.
Solution:   Check "gui.starting". (Ken Takata)
2019-05-23 20:12:46 +02:00
e09244ee35 patch 8.1.1368: modeline test fails with python but without pythonhome
Problem:    Modeline test fails with python but without pythonhome.
Solution:   Correct test argument.
2019-05-23 17:35:55 +02:00
7e800c6047 patch 8.1.1367: can set 'modelineexpr' in modeline
Problem:    can set 'modelineexpr' in modeline.
Solution:   Add P_SECURE flag.
2019-05-23 17:08:49 +02:00
110289e781 patch 8.1.1366: using expressions in a modeline is unsafe
Problem:    Using expressions in a modeline is unsafe.
Solution:   Disallow using expressions in a modeline, unless the
            'modelineexpr' option is set.  Update help, add more tests.
2019-05-23 15:38:06 +02:00
5357552140 patch 8.1.1365: source command doesn't check for the sandbox
Problem:    Source command doesn't check for the sandbox. (Armin Razmjou)
Solution:   Check for the sandbox when sourcing a file.
2019-05-22 22:38:25 +02:00
5c017b2de2 patch 8.1.1364: design for popup window support needs more details
Problem:    Design for popup window support needs more details.
Solution:   Add details about using a window and buffer.  Rename popup_show()
            to popup_create() and add popup_show() and popup_hide().
2019-05-21 23:09:01 +02:00
e0b5949a3b patch 8.1.1363: ":vert options" does not make a vertical split
Problem:    ":vert options" does not make a vertical split.
Solution:   Pass the right modifiers in $OPTWIN_CMD. (Ken Takata,
            closes #4401)
2019-05-21 20:54:45 +02:00
c79745a82f patch 8.1.1362: code and data in tests can be hard to read
Problem:    Code and data in tests can be hard to read.
Solution:   Use the new heredoc style. (Yegappan Lakshmanan, closes #4400)
2019-05-20 22:12:34 +02:00
0b0ad35c33 patch 8.1.1361: Python setuptools don't work with Python 3
Problem:    Python setuptools don't work with Python 3.
Solution:   Add dummy implementation for find_module. (Joel Frederico,
            closes #4402, closes #3984
2019-05-20 21:52:45 +02:00
80341bcd89 patch 8.1.1360: buffer left 'nomodifiable' after :substitute
Problem:    Buffer left 'nomodifiable' after :substitute. (Ingo Karkat)
Solution:   Save the value of 'modifiable' earlier' (Christian Brabandt,
            closes #4403)
2019-05-20 20:34:51 +02:00
f3333b02f3 patch 8.1.1359: text property wrong after :substitute with backslash
Problem:    Text property wrong after :substitute with backslash.
Solution:   Adjust text property columns when removing backslashes.
            (closes #4397)
2019-05-19 22:53:40 +02:00
386b43e594 patch 8.1.1358: cannot enter character with a CSI byte
Problem:    Cannot enter character with a CSI byte.
Solution:   Only check "gui.in_use" when VIMDLL is defined. (Ken Takata,
            closes #4396)
2019-05-19 21:57:11 +02:00
999dc14644 patch 8.1.1357: test 37 is old style
Problem:    Test 37 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes #4398)
2019-05-19 21:44:08 +02:00
8471e57026 patch 8.1.1356: some text in heredoc assignment ends the text
Problem:    Some text in heredoc assignment ends the text. (Ozaki Kiichi)
Solution:   Recognize "let v =<<" and skip until the end.
2019-05-19 21:37:18 +02:00
16e9b85113 patch 8.1.1355: obvious mistakes are accepted as valid expressions
Problem:    Obvious mistakes are accepted as valid expressions.
Solution:   Be more strict about parsing numbers. (Yasuhiro Matsumoto,
            closes #3981)
2019-05-19 19:59:35 +02:00
f5842c5a53 patch 8.1.1354: getting a list of text lines is clumsy
Problem:    Getting a list of text lines is clumsy.
Solution:   Add the =<< assignment. (Yegappan Lakshmanan, closes #4386)
2019-05-19 18:41:26 +02:00
2b39d806f0 patch 8.1.1353: undo test fails on Mac
Problem:    Undo test fails on Mac.
Solution:   Expect "private" on the Mac.
2019-05-19 16:38:56 +02:00
e9ebc9a91c patch 8.1.1352: undofile() reports wrong name
Problem:    Undofile() reports wrong name. (Francisco Giordano)
Solution:   Clean up the name before changing path separators. (closes #4392,
            closes #4394)
2019-05-19 15:27:14 +02:00
338dfdad38 patch 8.1.1351: text property wrong after :substitute
Problem:    Text property wrong after :substitute.
Solution:   Save for undo before changing any text properties.
2019-05-19 15:19:57 +02:00
dc6855af97 patch 8.1.1350: "W" for wrapping not shown when more than 99 matches
Problem:    "W" for wrapping not shown when more than 99 matches.
Solution:   Adjust check for length. (Masato Nishihata, closes #4388)
2019-05-18 19:26:29 +02:00
cf0bfd9ade patch 8.1.1349: if writing runs into conversion error backup file is deleted
Problem:    If writing runs into a conversion error the backup file is
            deleted. (Arseny Nasokin)
Solution:   Don't delete the backup file is the file was overwritten and a
            conversion error occurred. (Christian Brabandt, closes #4387)
2019-05-18 18:52:04 +02:00
f8191c5f07 patch 8.1.1348: running tests may cause the window to move
Problem:    Running tests may cause the window to move.
Solution:   Correct the reported window position for the offset with the
            position after ":winpos".  Works around an xterm bug.
2019-05-18 17:22:54 +02:00
bd2d68c2f4 patch 8.1.1347: fractional scroll position not restored after closing window
Problem:    Fractional scroll position not restored after closing window.
Solution:   Do restore fraction if topline is not one.
2019-05-18 15:36:11 +02:00
7f3a28490a patch 8.1.1346: error for Python exception does not show useful info
Problem:    Error for Python exception does not show useful info.
Solution:   Show the last line instead of the first one. (Ben Jackson,
            closes #4381)
2019-05-18 15:02:25 +02:00
6349e9411f patch 8.1.1345: stuck in sandbox with ":s/../\=Function/gn"
Problem:    Stuck in sandbox with ":s/../\=Function/gn".
Solution:   Don't skip over code to restore sandbox. (Christian Brabandt)
2019-05-18 13:41:22 +02:00
0d3cb73012 patch 8.1.1344: Coverity complains about possibly using a NULL pointer
Problem:    Coverity complains about possibly using a NULL pointer and copying
            a string into a fixed size buffer.
Solution:   Check for NULL, even though it should not happen.  Use
            vim_strncpy() instead of strcpy().
2019-05-18 13:05:18 +02:00
8055d17388 patch 8.1.1343: text properties not adjusted for Visual block mode delete
Problem:    Text properties not adjusted for Visual block mode delete.
Solution:   Call adjust_prop_columns(). (closes #4384)
2019-05-17 22:57:26 +02:00
787880a86d patch 8.1.1342: using freed memory when joining line with text property
Problem:    Using freed memory when joining line with text property.
Solution:   Use already computed length.
2019-05-17 20:17:40 +02:00
80e737cc6a patch 8.1.1341: text properties are lost when joining lines
Problem:    Text properties are lost when joining lines.
Solution:   Move the text properties to the joined line.
2019-05-17 19:56:34 +02:00
bfd451283f patch 8.1.1340: attributes from 'cursorline' overwrite textprop
Problem:    Attributes from 'cursorline' overwrite textprop.
Solution:   Combine the attributes. (closes #3912)
2019-05-17 13:05:07 +02:00
dabfde04fe patch 8.1.1339: installer needs to product name et al.
Problem:    Installer needs to product name et al.
Solution:   Add a few lines to the NSIS installer script. (Christian Brabandt)
2019-05-17 12:37:27 +02:00
0ebe12be86 patch 8.1.1338: hang when concealing the '>' shown for half of wide char
Problem:    Hang when concealing the '>' shown for a wide char that doesn't
            fit in the last cell.
Solution:   Put back the pointer when the '>' is not going to be displayed.
            (closes #4377)
2019-05-17 12:31:44 +02:00
5c65e6a062 patch 8.1.1337: get empty text prop when splitting line just after text prop
Problem:    Get empty text prop when splitting line just after text prop.
Solution:   Do not create an empty text prop at the start of the line.
2019-05-17 11:08:56 +02:00
17aca707f9 patch 8.1.1336: some eval functionality is not covered by tests
Problem:    Some eval functionality is not covered by tests.
Solution:   Add a few more test cases. (Masato Nishihata, closes #4374)
2019-05-16 22:24:55 +02:00
dda4144d39 patch 8.1.1335: listener callback is called after inserting text
Problem:    Listener callback is called after inserting text.
Solution:   Flush the changes before inserting or deleting a line.  Store
            changes per buffer.
2019-05-16 22:11:47 +02:00
eda652215a patch 8.1.1334: when buffer is hidden "F" in 'shortmess' is not used
Problem:    When buffer is hidden "F" in 'shortmess' is not used.
Solution:   Check the "F" flag in 'shortmess' when the buffer is already
            loaded. (Jason Franklin)  Add test_getvalue() to be able to test
            this.
2019-05-16 20:29:44 +02:00
45dd07f10a patch 8.1.1333: text properties don't always move after changes
Problem:    Text properties don't always move after changes.
Solution:   Update properties before reporting changes to listeners. Move text
            property when splitting a line.
2019-05-15 22:45:37 +02:00
fe1ade0a78 patch 8.1.1332: cannot flush listeners without redrawing, mix of changes
Problem:    Cannot flush change listeners without also redrawing.  The line
            numbers in the list of changes may become invalid.
Solution:   Add listener_flush().  Invoke listeners before adding a change
            that makes line numbers invalid.
2019-05-14 21:20:36 +02:00
fb222df28d patch 8.1.1331: test 29 is old style
Problem:    Test 29 is old style.
Solution:   Turn it into a new style test. (Yegappan Lakshmanan, closes #4370)
2019-05-14 17:57:19 +02:00
9e58787de7 patch 8.1.1330: using bold attribute in terminal changes the color
Problem:    Using bold attribute in terminal changes the color. (Jason
            Franklin)
Solution:   Don't set the "bold-highbright" flag in vterm unless the terminal
            supports less than 16 colors.
2019-05-13 20:27:23 +02:00
957f85d54e patch 8.1.1329: plans for popup window support are spread out
Problem:    Plans for popup window support are spread out.
Solution:   Add a first version of the popup window help.
2019-05-12 21:43:48 +02:00
bc4fd43160 patch 8.1.1328: no test for listener with undo operation
Problem:    No test for listener with undo operation.
Solution:   Add a test.
2019-05-12 14:36:27 +02:00
a9b2535f44 patch 8.1.1327: unnecessary scroll after horizontal split
Problem:    Unnecessary scroll after horizontal split.
Solution:   Don't adjust to fraction if all the text fits in the window.
            (Martin Kunev, closes #4367)
2019-05-12 14:25:30 +02:00
8aad88d8de patch 8.1.1326: no test for listener with partial
Problem:    No test for listener with partial.
Solution:   Add a test.  Add example to help.
2019-05-12 13:53:50 +02:00
97b0075b0d patch 8.1.1325: cannot build with +eval but without +channel and +timers
Problem:    Cannot build with +eval but without +channel and +timers. (John
            Marriott)
Solution:   Adjust #ifdef for get_callback().
2019-05-12 13:07:14 +02:00
b73fbc76c6 patch 8.1.1324: stray comma in VMS makefile
Problem:    Stray comma in VMS makefile.
Solution:   Remove the comma. (Naruhiko Nishino, closes #4368)
2019-05-11 21:50:07 +02:00
5d0183b706 patch 8.1.1323: 'mouse' option is reset when using GPM mouse
Problem:    'mouse' option is reset when using GPM mouse.
Solution:   Add flag for GPM mouse.
2019-05-11 21:38:58 +02:00
6e75e0a400 patch 8.1.1322: Cygwin makefile is not nicely indented
Problem:    Cygwin makefile is not nicely indented.
Solution:   Addjust spaces in preprocessor directives. (Ken Takata)
2019-05-11 21:24:26 +02:00
a334772967 patch 8.1.1321: no docs or tests for listener functions
Problem:    No docs or tests for listener functions.
Solution:   Add help and tests for listener_add() and listener_remove().
            Invoke the callbacks before redrawing.
2019-05-11 21:14:24 +02:00
6d2399bd10 patch 8.1.1320: it is not possible to track changes to a buffer
Problem:    It is not possible to track changes to a buffer.
Solution:   Add listener_add() and listener_remove(). No docs or tests yet.
2019-05-11 19:14:16 +02:00
6ed8819822 patch 8.1.1319: computing function length name in many places
Problem:    Computing function length name in many places.
Solution:   compute name length in call_func().
2019-05-11 18:37:44 +02:00
ec28d1516e patch 8.1.1318: code for text changes is in a "misc" file
Problem:    Code for text changes is in a "misc" file.
Solution:   Move the code to change.c.
2019-05-11 18:36:34 +02:00
3f86ca0faa Add missing files from patch 8.1.1318 2019-05-11 18:30:00 +02:00
dc9f9e93f5 patch 8.1.1317: output from Travis can be improved
Problem:    Output from Travis can be improved.
Solution:   Add section headers.  Handle errors better. (closes #4098)
2019-05-11 14:34:13 +02:00
d6896731ec patch 8.1.1316: duplicated localtime() call
Problem:    Duplicated localtime() call.
Solution:   Delete one.
2019-05-11 13:09:42 +02:00
afd78266c5 patch 8.1.1315: there is always a delay if a termrequest is never answered
Problem:    There is always a delay if a termrequest is never answered.
Solution:   When the response is not received within two seconds consider the
            request to have failed.
2019-05-10 23:10:31 +02:00
c049b52b90 patch 8.1.1314: MSVC makefile is not nicely indented
Problem:    MSVC makefile is not nicely indented.
Solution:   Addjust spaces in preprocessor directives. (Ken Takata)
2019-05-10 21:38:54 +02:00
63d2555c9c patch 8.1.1313: warnings for using localtime() and ctime()
Problem:    Warnings for using localtime() and ctime().
Solution:   Use localtime_r() if available.  Avoid using ctime().
2019-05-10 21:28:38 +02:00
4ca41534b7 patch 8.1.1312: Coverity warning for using uninitialized variable
Problem:    Coverity warning for using uninitialized variable.
Solution:   Clear exarg_T.
2019-05-09 21:48:37 +02:00
23b5139234 patch 8.1.1311: aborting an autocmd with an exception is not tested
Problem:    Aborting an autocmd with an exception is not tested.
Solution:   Add a test.  Also shows how to abort a command by throwing an
            exception.
2019-05-09 21:38:43 +02:00
42ae78cfff patch 8.1.1310: named function arguments are never optional
Problem:    Named function arguments are never optional.
Solution:   Support optional function arguments with a default value. (Andy
            Massimino, closes #3952)
2019-05-09 21:08:58 +02:00
6b528fa062 patch 8.1.1309: test for Normal highlight fails on MS-Windows GUI
Problem:    Test for Normal highlight fails on MS-Windows GUI.
Solution:   Skip the test for MS-Windows GUI.
2019-05-09 20:07:33 +02:00
f90b6e03a9 patch 8.1.1308: the Normal highlight is not defined when compiled with GUI
Problem:    The Normal highlight is not defined when compiled with GUI.
Solution:   Always define Normal. (Christian Brabandt, closes #4072)
2019-05-09 19:26:38 +02:00
a6c27c47dd Update runtime files 2019-05-09 19:16:22 +02:00
d4aa83af1d patch 8.1.1307: cannot reconnect to the X server after it restarted
Problem:    Cannot reconnect to the X server after it restarted.
Solution:   Add the :xrestore command. (Adrian Kocis, closes #844)
2019-05-09 18:59:31 +02:00
eae1b91fea patch 8.1.1306: Borland support is outdated and doesn't work
Problem:    Borland support is outdated and doesn't work.
Solution:   Remove Borland support, there are other (free) compilers
            available. (Thomas Dziedzic, Ken Takata, closes #4364)
2019-05-09 15:12:55 +02:00
691ddeefb5 patch 8.1.1305: there is no easy way to manipulate environment variables
Problem:    There is no easy way to manipulate environment variables.
Solution:   Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto,
            closes #2875)
2019-05-09 14:52:41 +02:00
68cbb14bae patch 8.1.1304: MS-Windows: compiler warning for unused value
Problem:    MS-Windows: compiler warning for unused value.
Solution:   Adjust #ifdefs. (Ken Takata, closes #4363)
2019-05-09 14:14:42 +02:00
be0a2597ae patch 8.1.1303: not possible to hide a balloon
Problem:    Not possible to hide a balloon.
Solution:   Hide the balloon when balloon_show() is called with an empty
            string or list.  Add balloon_gettext().
2019-05-09 13:50:16 +02:00
06bd824869 patch 8.1.1302: v:beval_text is not tested in Visual mode
Problem:    v:beval_text is not tested in Visual mode.
Solution:   Add a screenshot of the balloon in Visual mode.
2019-05-08 22:55:16 +02:00
0b75f7c97c patch 8.1.1301: when compiled with VIMDLL some messages are not shown
Problem:    When compiled with VIMDLL some messages are not shown.
Solution:   Set/reset gui.in_use and gui.starting as needed. (Ken Takata,
            closes #4361)
2019-05-08 22:28:46 +02:00
2f10658b06 patch 8.1.1300: in a terminal 'ballooneval' does not work right away
Problem:    In a terminal 'ballooneval' does not work right away.
Solution:   Flush output after drawing the balloon.  Add the <Ignore> key
            code.  Add a test.
2019-05-08 21:59:25 +02:00
a5c6a0b6c7 patch 8.1.1299: "extends" from 'listchars' is used when 'list' is off
Problem:    "extends" from 'listchars' is used when 'list' is off. (Hiroyuki
            Yoshinaga)
Solution:   Only use the "extends" character when 'list' is on. (Hirohito
            Higashi, closes #4360)
2019-05-08 20:20:46 +02:00
5416b75031 patch 8.1.1298: invalid argument test fails without X clipboard
Problem:    Invalid argument test fails without X clipboard.
Solution:   Test -display only with the +xterm_clipboard feature.
2019-05-08 18:36:43 +02:00
240f7abab0 patch 8.1.1297: invalid argument test fails without GTK
Problem:    Invalid argument test fails without GTK.
Solution:   Test -display and --display separately.
2019-05-08 17:58:15 +02:00
27821260c0 patch 8.1.1296: crash when using invalid command line argument
Problem:    Crash when using invalid command line argument.
Solution:   Check for options not being initialized.
2019-05-08 16:41:09 +02:00
98ffe4c6d8 patch 8.1.1295: when vimrun.exe does not exist external command may fail
Problem:    When vimrun.exe does not exist external command may fail.
Solution:   Use "cmd /c" twice to get the same behavior. (Ken Takata,
            closes #4355)
2019-05-07 23:01:39 +02:00
93d77b2cbe patch 8.1.1294: MS-Windows: Some fonts return wrong average char width
Problem:    MS-Windows: Some fonts return wrong average char width.
Solution:   Compute the average ourselves. (Ken Takata, closes #4356)
2019-05-07 22:52:50 +02:00
fda9784dc9 patch 8.1.1293: MSVC files are no longer useful
Problem:    MSVC files are no longer useful for debugging.  Newer Visual
            Studio versions cannot read them.
Solution:   Delete the files. (Ken Takata, closes #4357)
2019-05-07 22:25:27 +02:00
ba9ea91beb patch 8.1.1292: invalid command line arguments not tested
Problem:    Invalid command line arguments not tested.
Solution:   Add a test. (Dominique Pelle, closes #4346)
2019-05-07 22:10:50 +02:00
1063f3d200 patch 8.1.1291: not easy to change directory and restore
Problem:    Not easy to change directory and restore.
Solution:   Add the chdir() function. (Yegappan Lakshmanan, closes #4358)
2019-05-07 22:06:52 +02:00
fd31e45e4b patch 8.1.1290: .hgignore and .gitignore are either distributed or in git
Problem:    .hgignore and .gitignore are either distributed or in git, not
            both.
Solution:   Add .gitignore to the distribution and .hgignore to git.  Update
            the entries. (Christian Brabandt, Ken Takata)
2019-05-07 21:48:51 +02:00
b6cb26ffe1 patch 8.1.1289: may not have enough space to add "W" to search stats
Problem:    May not have enough space to add "W" to search stats.
Solution:   Reserve a bit more space. (Christian Brabandt)
2019-05-07 21:34:37 +02:00
9ce3fa828d patch 8.1.1288: search stats don't show for mapped command
Problem:    Search stats don't show for mapped command.
Solution:   Remove SEARCH_PEEK from searchit flags.  Add a test. (Christian
            Brabandt)
2019-05-07 21:29:11 +02:00
7e1a5af540 patch 8.1.1287: cannot build with +eval but without +mouse
Problem:    Cannot build with +eval but without +mouse.
Solution:   Add #ifdefs around f_test_setmouse(). (John Marriott)
2019-05-07 16:28:13 +02:00
4fa06870e5 patch 8.1.1286: running tests leaves XTest_tabpage_cmdheight file behind
Problem:    Running tests leaves XTest_tabpage_cmdheight file behind.
Solution:   Delete the right file. (closes #4350)
2019-05-06 22:03:39 +02:00
f0ab01f6d8 patch 8.1.1285: test17 is old style
Problem:    Test17 is old style.
Solution:   Turn into new style test. (Yegappan Lakshmanan, closes #4347)
2019-05-06 22:00:00 +02:00
d136221129 patch 8.1.1284: detecting *.tmpl as htmlcheetah is outdated
Problem:    Detecting *.tmpl as htmlcheetah is outdated.
Solution:   Use the generic name "template". (closes #4348)
2019-05-06 21:46:10 +02:00
c7a10b35de patch 8.1.1283: delaying half a second after the top-bot message
Problem:    Delaying half a second after the top-bot message.
Solution:   Instead of the delay add "W" to the search count.
2019-05-06 21:37:18 +02:00
91882cf712 patch 8.1.1282: running make in src/po leaves LINGUAS file behind
Problem:    Running make in src/po leaves LINGUAS file behind. (Ken Takata)
Solution:   Delete LINGUAS after running msgfmt.
2019-05-05 21:01:51 +02:00
8ffc7c8b5f patch 8.1.1281: cannot specify a count with :chistory
Problem:    Cannot specify a count with :chistory.
Solution:   Add a count to :chistory and :lhistory. (Yegappan Lakshmanan,
            closes #4344)
2019-05-05 21:00:26 +02:00
25c9c680ec patch 8.1.1280: remarks about functionality not in Vi clutters the help
Problem:    Remarks about functionality not in Vi clutters the help.
Solution:   Move all info about what is new in Vim or already existed in Vi to
            vi_diff.txt.  Remove {not in Vi} remarks. (closes #4268) Add
            "noet" to the help files modeline.  Also include many other help
            file improvements.
2019-05-05 18:13:34 +02:00
9a061cb78c patch 8.1.1279: cannot set 'spellang' to "sr@latin"
Problem:    Cannot set 'spellang' to "sr@latin". (Bojan Stipic)
Solution:   Allow using '@' in 'spellang'. (closes #4342)
2019-05-05 16:55:03 +02:00
58187f1c8a patch 8.1.1278: missing change for "combine" field
Problem:    Missing change for "combine" field.
Solution:   Also change the textprop implementation.
2019-05-05 16:33:47 +02:00
8fc0271e9a patch 8.1.1277: missing screenshot update
Problem:    Missing screenshot update.
Solution:   Update the screenshot.
2019-05-05 16:10:32 +02:00
de24a87013 patch 8.1.1276: cannot combine text properties with syntax highlighting
Problem:    Cannot combine text properties with syntax highlighting.
Solution:   Add the "combine" field to prop_type_add(). (closes #4343)
2019-05-05 15:48:00 +02:00
cf6a55c4b0 patch 8.1.1275: cannot navigate to errors before/after the cursor
Problem:    Cannot navigate to errors before/after the cursor.
Solution:   Add the :cbefore and :cafter commands. (Yegappan Lakshmanan,
            closes #4340)
2019-05-05 15:02:30 +02:00
ce79353ace patch 8.1.1274: after :unmenu can still execute the menu with :emenu
Problem:    After :unmenu can still execute the menu with :emenu.
Solution:   Do not execute a menu that was disabled for the specified mode.
2019-05-05 14:19:20 +02:00
f653a6bcff patch 8.1.1273: compiler warning in direct write code
Problem:    Compiler warning in direct write code.
Solution:   Add a type cast.
2019-05-05 13:20:02 +02:00
711f02da65 patch 8.1.1272: click on WinBar of other window not tested
Problem:    Click on WinBar of other window not tested.
Solution:   Add a test case.
2019-05-05 13:14:28 +02:00
b3de6c4a76 patch 8.1.1271: compiler warnings for use of STRNCPY()
Problem:    Compiler warnings for use of STRNCPY(). (John Marriott)
Solution:   Use mch_memmove() instead of STRNCPY().
2019-05-05 13:02:28 +02:00
9dfa313919 patch 8.1.1270: cannot see current match position
Problem:    Cannot see current match position.
Solution:   Show "3/44" when using the "n" command and "S" is not in
            'shortmess'. (Christian Brabandt, closes #4317)
2019-05-04 21:08:40 +02:00
ed5ab2a959 patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not work
Problem:    MS-Windows GUI: multibyte chars with a 0x80 byte do not work when
            compiled with VIMDLL.
Solution:   Adjust the condition for fixing the input buffer. (Ken Takata,
            closes #4330)
2019-05-04 20:00:00 +02:00
510671a055 patch 8.1.1268: map completion test fails in GUI
Problem:    Map completion test fails in GUI.
Solution:   Skip the test that fails.
2019-05-04 19:26:56 +02:00
4b8366b56e patch 8.1.1267: cannot check if GPM mouse support is working
Problem:    Cannot check if GPM mouse support is working.
Solution:   Add the "mouse_gpm_enable" feature.
2019-05-04 17:34:34 +02:00
8caef443b2 patch 8.1.1266: winbar test doesn't test enough
Problem:    Winbar test doesn't test enough.
Solution:   Check that the WinBar actually shows up.  Correct check for clicks
            with no effect. (Ben Jackson, closes #4338)
2019-05-04 17:30:04 +02:00
bedf091a95 patch 8.1.1265: when GPM mouse support is enabled double clicks do not work
Problem:    When GPM mouse support is enabled double clicks in xterm do not
            work.
Solution:   Use KS_GPM_MOUSE for GPM mouse events.
2019-05-04 16:58:45 +02:00
d2fad67e3e patch 8.1.1264: crash when closing window from WinBar click
Problem:    Crash when closing window from WinBar click. (Ben Jackson)
Solution:   Check that window pointer is still valid. (closes #4337)
2019-05-04 16:55:25 +02:00
66f8311152 patch 8.1.1263: mouse clicks in WinBar not tested
Problem:    Mouse clicks in WinBar not tested.
Solution:   Add a test for clicking on the WinBar entries.
2019-05-04 16:06:12 +02:00
bb8476be87 patch 8.1.1262: cannot simulate a mouse click in a test
Problem:    Cannot simulate a mouse click in a test.
Solution:   Add test_setmouse().
2019-05-04 15:47:48 +02:00
25190db225 patch 8.1.1261: no error for quickfix commands with negative range
Problem:    No error for quickfix commands with negative range.
Solution:   Add ADDR_UNSIGNED and use it for quickfix commands.  Make
            assert_fails() show the command if the error doesn't match.
2019-05-04 15:05:28 +02:00
e4f5f3aa3d patch 8.1.1260: comparing with pointer instead of value
Problem:    Comparing with pointer instead of value.
Solution:   Add a "*". (Ken Takata, closes #4336)
2019-05-04 14:05:08 +02:00
e5c83286bb patch 8.1.1259: crash when exiting early
Problem:    Crash when exiting early. (Ralf Schandl)
Solution:   Only pop/push the title when it was set. (closes #4334)
2019-05-03 23:15:37 +02:00
9404a18ad9 patch 8.1.1258: the "N files to edit" message can not be surpressed
Problem:    The "N files to edit" message can not be surpressed.
Solution:   Surpress the message with --not-a-term. (closes #4320)
2019-05-03 22:25:40 +02:00
819d3e52a1 patch 8.1.1257: MSVC: name of object directory now always right
Problem:    MSVC: name of object directory now always right.
Solution:   Adjust comment.  Don't use different directory for DIRECTX.  Do
            use different directory for USE_MSVCRT. (Ken Takata, closes #4333)
2019-05-03 22:15:03 +02:00
3ff33114d7 patch 8.1.1256: cannot navigate through errors relative to the cursor
Problem:    Cannot navigate through errors relative to the cursor.
Solution:   Add :cabove, :cbelow, :labove and :lbelow. (Yegappan Lakshmanan,
            closes #4316)
2019-05-03 21:56:35 +02:00
12e91862c1 patch 8.1.1255: building desktop files fails on FreeBSD
Problem:    Building desktop files fails on FreeBSD. (Adam Weinberger)
Solution:   Avoid using non-portable construct in Makefile. (closes #4332)
2019-05-03 21:20:03 +02:00
61df0c7996 patch 8.1.1254: mapping completion contains dead code
Problem:    Mapping completion contains dead code.
Solution:   Remove the code.
2019-05-03 21:10:36 +02:00
92b9e60cb5 patch 8.1.1253: mapping completion test fails
Problem:    Mapping completion test fails.
Solution:   Fix expected output.
2019-05-03 16:49:25 +02:00
1776a28e9c patch 8.1.1252: not all mapping completion is tested
Problem:    Not all mapping completion is tested.
Solution:   Add a few more mapping completion tests.
2019-05-03 16:05:41 +02:00
2cb9f02532 patch 8.1.1251: no test for completion of mapping keys
Problem:    No test for completion of mapping keys.
Solution:   Add a test.  Also clean up the code.
2019-05-03 15:13:57 +02:00
d788543ac6 patch 8.1.1250: no test for netterm mouse
Problem:    No test for netterm mouse.
Solution:   Add some tests for netterm mouse.
2019-05-03 13:44:10 +02:00
c6b1cc967f patch 8.1.1249: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Christian Brabandt)
2019-05-03 11:21:05 +02:00
92fd599e0d patch 8.1.1248: no test for dec mouse
Problem:    No test for dec mouse.
Solution:   Add some tests for dec mouse.  Add "no_query_mouse".
2019-05-02 23:00:22 +02:00
d0621d85a6 patch 8.1.1247: urxvt mouse codes are not tested
Problem:    Urxvt mouse codes are not tested.
Solution:   Also set 'ttymouse' to "urxvt" in the termcodes test.
2019-05-02 21:12:19 +02:00
bb7e1b4ba8 patch 8.1.1246: cannot handle negative mouse coordinate from urxvt
Problem:    Cannot handle negative mouse coordinate from urxvt.
Solution:   Accept '-' where a digit is expected. (Vincent Vinel,
            closes #4326)
2019-05-02 20:24:12 +02:00
36d502225c patch 8.1.1245: ":copen 10" sets height in full-height window
Problem:    ":copen 10" sets height in full-height window. (Daniel Hahler)
Solution:   Don't set the height if the quickfix window is full height.
            (closes #4325)
2019-05-02 20:17:40 +02:00
1ee36d6ff5 patch 8.1.1244: no tests for CTRL-mouse-click
Problem:    No tests for CTRL-mouse-click.
Solution:   Add a few tests. (Dominique Pelle, closes #4323)
2019-05-01 23:13:56 +02:00
26f0cb145a patch 8.1.1243: compiler warnings for incomplete switch statement
Problem:    Compiler warnings for incomplete switch statement. (Tony
            Mechelynck)
Solution:   Add ADDR_QUICKFIX to the list.
2019-05-01 21:43:42 +02:00
0fef0aeb1c patch 8.1.1242: no cmdline redraw when tabpages have different 'cmdheight'
Problem:    No cmdline redraw when tabpages have different 'cmdheight'.
Solution:   redraw the command line when 'cmdheight' changes when switching
            tabpages. (closes #4321)
2019-05-01 20:30:40 +02:00
b731689e85 patch 8.1.1241: Ex command info contains confusing information
Problem:    Ex command info contains confusing information.
Solution:   When using the NOTADR flag use ADDR_OTHER for the address type.
            Cleanup code using NOTADR.  Check for errors in
            create_cmdidxs.vim.  Adjust Makefile to see the errors.
2019-05-01 18:08:42 +02:00
d96dbd6f95 patch 8.1.1240: runtime desktop files are overwritten by build
Problem:    Runtime desktop files are overwritten by build. (Tony Mechelynck)
Solution:   Instead of copying the files find them with "make install".
2019-04-30 21:27:34 +02:00
a9dd2d3c75 patch 8.1.1239: key with byte sequence containing CSI does not work
Problem:    Key with byte sequence containing CSI does not work.
Solution:   Do not recognize CSI as special unless the GUI is active. (Ken
            Takata, closes #4318)
2019-04-29 21:58:41 +02:00
a0e67fc166 patch 8.1.1238: MS-Windows: compiler warning for sprintf() format
Problem:    MS-Windows: compiler warning for sprintf() format.
Solution:   Change %d to %ld. (Ken Takata)
2019-04-29 21:46:26 +02:00
52111f8231 patch 8.1.1237: error for using "compl", reserved word in C++
Problem:    Error for using "compl", reserved word in C++.
Solution:   Rename to "complp". (suggestion by Ken Takata)
2019-04-29 21:30:45 +02:00
fe368edcc0 patch 8.1.1236: sjiscorr.c not found in shadow directory
Problem:    sjiscorr.c not found in shadow directory. (Tony Mechelynck)
Solution:   Link po/*.c files with "make shadow".
2019-04-29 20:30:54 +02:00
602abeb20f Update .gitignore 2019-04-29 20:26:05 +02:00
c0af78fa08 patch 8.1.1235: compiler warnings for using STRLEN() value
Problem:    Compiler warnings for using STRLEN() value.
Solution:   Cast to int. (Christian Brabandt, Mike Williams)
2019-04-29 19:47:22 +02:00
701df4eb64 patch 8.1.1234: swap file test fails on MS-Windows
Problem:    Swap file test fails on MS-Windows.
Solution:   Only compare the tail of the file names.
2019-04-28 23:07:18 +02:00
c779c674ac patch 8.1.1233: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for verb_msg().
2019-04-28 22:53:41 +02:00
1b243eafb0 patch 8.1.1232: can't build on MS-Windows
Problem:    Can't build on MS-Windows.
Solution:   Define process_still_running.
2019-04-28 22:50:40 +02:00
67cf86bfff patch 8.1.1231: asking about existing swap file unnecessarily
Problem:    Asking about existing swap file unnecessarily.
Solution:   When it is safe, delete the swap file.  Remove
            HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)
2019-04-28 22:25:38 +02:00
afde13b62b patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exe
Problem:    A lot of code is shared between vim.exe and gvim.exe.
Solution:   Optionally put the shared code in vim.dll. (Ken Takata,
            closes #4287)
2019-04-28 19:46:49 +02:00
ab4cece605 patch 8.1.1229: warning for posix_openpt() not declared
Problem:    Warning for posix_openpt() not declared. (Tony Mechelynck)
Solution:   Add declaration.
2019-04-28 18:40:03 +02:00
45e18cbdc4 patch 8.1.1228: not possible to process tags with a function
Problem:    Not possible to process tags with a function.
Solution:   Add tagfunc() (Christian Brabandt, Andy Massimino, closes #4010)
2019-04-28 18:05:35 +02:00
7a9df9dd00 patch 8.1.1227: duplicate entries in the generate .desktop files
Problem:    Duplicate entries in the generate .desktop files. (Ralf Schandl)
Solution:   Remove translated entries from the .in files. (closes #4313)
2019-04-28 16:08:30 +02:00
6c60f47fb9 patch 8.1.1226: {not in Vi} remarks get in the way of useful help text
Problem:    {not in Vi} remarks get in the way of useful help text.
Solution:   Make a list of all Vi options, instead of mentioning what Vi does
            not have.  Update the help text for options.
2019-04-28 16:00:35 +02:00
1e44968780 patch 8.1.1225: cannot create a pty to use with :terminal on FreeBSD
Problem:    Cannot create a pty to use with :terminal on FreeBSD.
Solution:   Add support for posix_openpt(). (Ozaki Kiichi, closes #4306,
            closes #4289)
2019-04-28 14:59:59 +02:00
f720d0a77e patch 8.1.1224: MS-Windows: cannot specify font weight
Problem:    MS-Windows: cannot specify font weight.
Solution:   Add the "W" option to 'guifont'. (closes #4309)  Move GUI font
            explanation out of options.txt.
2019-04-28 14:02:47 +02:00
564344ace9 patch 8.1.1223: middle mouse click test fails without a clipboard
Problem:    Middle mouse click test fails without a clipboard.
Solution:   Check if the clipboard can be used. (Dominique Pelle, Christian
            Brabandt)  Also use WorkingClipboard() instead of checking for the
            "clipboard" feature.
2019-04-28 13:00:12 +02:00
dcaa54dded patch 8.1.1222: build still fails on MS-Windows
Problem:    Build still fails on MS-Windows.
Solution:   Move another declaration to start of block.
2019-04-27 22:45:00 +02:00
ad6dc49a75 patch 8.1.1221: filtering does not work when listing marks
Problem:    Filtering does not work when listing marks.
Solution:   Implement filtering marks. (Marcin Szamotulski, closes #3895)
2019-04-27 22:40:08 +02:00
0ee1bdff7d patch 8.1.1220: build fails on MS-Windows
Problem:    Build fails on MS-Windows.
Solution:   Move declaration to start of block.
2019-04-27 22:38:30 +02:00
6ee9658774 patch 8.1.1219: not checking for NULL return from alloc()
Problem:    Not checking for NULL return from alloc().
Solution:   Add checks. (Martin Kunev, closes #4303, closes #4174)
2019-04-27 22:06:37 +02:00
00aa069db8 patch 8.1.1218: cannot set a directory for a tab page
Problem:    Cannot set a directory for a tab page.
Solution:   Add the tab-local directory. (Yegappan Lakshmanan, closes #4212)
2019-04-27 20:37:57 +02:00
2155a6abaa patch 8.1.1217: MS-Windows: no space reserved for font quality name
Problem:    MS-Windows: no space reserved for font quality name.
Solution:   Add quality_name length if present. (Ken Takata, closes #4311)
2019-04-27 19:15:45 +02:00
c1b8160b44 patch 8.1.1216: mouse middle click is not tested
Problem:    Mouse middle click is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4310)
2019-04-27 19:11:35 +02:00
49543fbced patch 8.1.1215: "make clean" does not remove generated src/po files
Problem:    "make clean" does not remove generated src/po files.
Solution:   Remove the files for "make clean". (Christian Brabandt)
2019-04-27 18:32:31 +02:00
c6b37db1ba patch 8.1.1214: old style tests
Problem:    Old style tests.
Solution:   Move tests from test14 to new style test files. (Yegappan
            Lakshmanan, closes #4308)
2019-04-27 18:00:34 +02:00
e13a3901ca patch 8.1.1213: "make clean" in top dir does not cleanup indent test output
Problem:    "make clean" in top dir does not cleanup indent test output.
Solution:   Clean the indent test output.  Do not rely on the vim executable
            for that. (closes #4307)
2019-04-27 17:57:31 +02:00
520e245237 patch 8.1.1212: signal PWR is not tested
Problem:    Signal PWR is not tested.
Solution:   Test that PWR updates the swap file. (Dominique Pelle,
            closes #4312)
2019-04-27 17:32:40 +02:00
e61e548dd6 patch 8.1.1211: not all user command code is tested
Problem:    Not all user command code is tested.
Solution:   Add more tests.
2019-04-27 15:05:12 +02:00
ac9fb18020 patch 8.1.1210: support for user commands is spread out
Problem:    Support for user commands is spread out. No good reason to make
            user commands optional.
Solution:   Move user command support to usercmd.c.  Always enable the
            user_commands feature.
2019-04-27 13:04:13 +02:00
5431589d25 patch 8.1.1209: clever compiler warns for buffer being too small
Problem:    Clever compiler warns for buffer being too small.
Solution:   Make the buffer bigger (even though it's not really needed).
2019-04-26 22:33:49 +02:00
c8cc0ad477 patch 8.1.1208: links to repository use wrong file name
Problem:    Links to repository use wrong file name.
Solution:   Swap the file names. (Nahuel Ourthe, closes #4304)
2019-04-26 21:31:38 +02:00
1f3601e92e patch 8.1.1207: some compilers give warning messages
Problem:    Some compilers give warning messages.
Solution:   Initialize variables, change printf() argument. (Christian
            Brabandt, closes #4305)
2019-04-26 20:33:00 +02:00
d1f90bbcab patch 8.1.1206: user command parsing and listing not properly tested
Problem:    User command parsing and listing not properly tested.
Solution:   Add more tests. (Dominique Pelle, closes #4296)
2019-04-25 22:42:07 +02:00
a68e595909 patch 8.1.1205: a BufReadPre autocommand may cause the cursor to move
Problem:    A BufReadPre autocommand may cause the cursor to move.
Solution:   Restore the cursor position after executing the autocommand,
            unless the autocommand moved it. (Christian Brabandt,
            closes #4302, closes #4294)
2019-04-25 22:22:01 +02:00
a561a41a70 patch 8.1.1204: output of :command with address completion is not nice
Problem:    Output of :command with address completion is not nice.
Solution:   Shorten the address completion names.
2019-04-25 21:27:58 +02:00
69ea587289 patch 8.1.1203: some autocmd tests are old style
Problem:    Some autocmd tests are old style.
Solution:   Turn the tests into new style. (Yegappan Lakshmanan, closes #4295)
2019-04-25 20:29:00 +02:00
c2d09c9f2c patch 8.1.1202: always get regexp debugging logs when building with -DDEBUG
Problem:    Always get regexp debugging logs when building with -DDEBUG.
Solution:   By default do not create regexp debugging logs. (Ken Takata)
2019-04-25 20:07:51 +02:00
725310d89e patch 8.1.1201: output of :command is hard to read
Problem:    Output of :command is hard to read.
Solution:   Make some columns wider, some narrower.  Truncate the command when
            listing all.
2019-04-24 23:08:23 +02:00
31fc39e47b patch 8.1.1200: old style comments in debugger source
Problem:    Old style comments in debugger source.
Solution:   Use new style comments. (Yegappan Lakshmanan, closes #4286)
2019-04-23 18:39:49 +02:00
8485be4e49 patch 8.1.1199: no test for :abclear
Problem:    No test for :abclear.
Solution:   Add a test. (Dominique Pelle, closes #4292)
2019-04-23 16:36:05 +02:00
958eabe5e5 patch 8.1.1198: bracketed paste may remain active after Vim exists
Problem:    Bracketed paste may remain active after Vim exists, because the
            terminal emulater restores the setting.
Solution:   Set/reset bracketed paste mode before setting the terminal mode.
            (closes #3579)
2019-04-21 17:22:33 +02:00
c75e812623 patch 8.1.1197: when starting with multiple tabs file messages is confusing
Problem:    When starting with multiple tabs file messages is confusing.
Solution:   Set 'shortmess' when loading the other tabs. (Christian Brabandt)
2019-04-21 15:55:10 +02:00
7bde95a461 patch 8.1.1196: parallel build may fail
Problem:    Parallel build may fail.
Solution:   Update dependencies.
2019-04-21 15:22:39 +02:00
eead75c5e8 patch 8.1.1195: Vim script debugger functionality needs cleanup
Problem:    Vim script debugger functionality needs cleanup.
Solution:   Move debugger code to a separate file.  Add more tests. (Yegappan
            Lakshmanan, closes #4285)
2019-04-21 11:35:00 +02:00
911ead1269 Update runtime files 2019-04-21 00:03:35 +02:00
ad3ec76bb8 patch 8.1.1194: typos and small problems in source files
Problem:    Typos and small problems in source files.
Solution:   Small fixes.
2019-04-21 00:00:13 +02:00
037c54f261 patch 8.1.1193: typos and small problems in test files
Problem:    Typos and small problems in test files.
Solution:   Small improvements.
2019-04-20 23:47:46 +02:00
4c25bd785a patch 8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc
Problem:    Mode is not cleared when leaving Insert mode with mapped Esc.
Solution:   Clear the mode when redraw_cmdline is set. (closes #4269)
2019-04-20 23:38:07 +02:00
0fdd943595 patch 8.1.1191: not all debug commands are covered by a test
Problem:    Not all debug commands are covered by a test.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #4282)
2019-04-20 22:28:48 +02:00
93a4879c20 patch 8.1.1190: has('vimscript-3') does not work
Problem:    has('vimscript-3') does not work.
Solution:   Add "vimscript-3" to the list of features.
2019-04-20 21:54:28 +02:00
abc7c7fc5a patch 8.1.1189: mode is not cleared when leaving Insert mode
Problem:    Mode is not cleared when leaving Insert mode.
Solution:   Clear the mode when got_int is set. (Ozaki Kiichi, closes #4270)
2019-04-20 15:10:13 +02:00
d2e716e6df patch 8.1.1188: not all Vim variables require the v: prefix
Problem:    Not all Vim variables require the v: prefix.
Solution:   When scriptversion is 3 all Vim variables can only be used with
            the v: prefix.  (Ken Takata, closes #4274)
2019-04-20 14:39:52 +02:00
3a4c53ba51 patch 8.1.1187: cannot recognize Pipfile
Problem:    Cannot recognize Pipfile.
Solution:   Use existing filetypes. (Charles Ross, closes #4280)
2019-04-19 23:33:14 +02:00
334ad41504 patch 8.1.1186: readdir() allocates list twice
Problem:    readdir() allocates list twice.
Solution:   Remove second allocation.  Also check for zero length.
2019-04-19 15:20:46 +02:00
86ec6d7e1e patch 8.1.1185: mapping for CTRL-X is inconsistent
Problem:    Mapping for CTRL-X is inconsistent.
Solution:   Map CTRL-X to "*d also for the MS-Windows console. (Ken Takata,
            closes #4265)
2019-04-18 21:09:02 +02:00
137c14bb4f patch 8.1.1184: undo file left behind after running test
Problem:    Undo file left behind after running test.
Solution:   Delete the undo file. (Dominique Pelle, closes #4279)
2019-04-18 20:30:55 +02:00
b49e3563b9 patch 8.1.1183: typos in VisVim comments
Problem:    Typos in VisVim comments.
Solution:   Correct the typos. (Christ van Willegen)
2019-04-17 18:31:18 +02:00
b9cdb37176 patch 8.1.1182: some function prototypes are outdated
Problem:    Some function prototypes are outdated.
Solution:   Update function prototypes. (Ken Takata, closes #4267)
2019-04-17 18:24:35 +02:00
2b00b9b0f3 patch 8.1.1181: tests for mouse clicks are a bit flaky
Problem:    Tests for mouse clicks are a bit flaky when run in an interactive
            terminal.
Solution:   Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious
            drag events.
2019-04-17 17:08:27 +02:00
113bf0672b patch 8.1.1180: Vim script debugger tests are old style
Problem:    Vim script debugger tests are old style.
Solution:   Turn into new style tests. (Yegappan Lakshmanan, closes #4259)
2019-04-17 16:54:05 +02:00
696d637728 patch 8.1.1179: no test for mouse clicks in the fold column
Problem:    No test for mouse clicks in the fold column.
Solution:   Add a test. (Dominique Pelle, closes #4261)
2019-04-17 16:33:46 +02:00
4945219b99 patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Problem:    When mouse click tests fails value of 'ttytype' is unknown.
Solution:   Add a message to the assert.
2019-04-17 16:27:02 +02:00
1a4dce7cad patch 8.1.1177: .ts files are recognized as xml, typescript is more common
Problem:    .ts files are recognized as xml, while typescript is more common.
Solution:   Recognize .ts files as typescript. (closes #4264)
2019-04-16 22:21:05 +02:00
7f27976589 patch 8.1.1176: test for dragging a tab is flaky
Problem:    Test for dragging a tab is flaky.
Solution:   Add a brief sleep.
2019-04-15 21:48:22 +02:00
e3e3828f93 patch 8.1.1175: no test for dragging a tab and double click for new tab
Problem:    No test for dragging a tab with the mouse and for creating a new
            tab by double clicking in the tabline.
Solution:   Add two tests. (Dominique Pelle, closes #4258)
2019-04-15 20:55:31 +02:00
8dc4c72923 patch 8.1.1174: cannot build with Ruby 1.8
Problem:    Cannot build with Ruby 1.8. (Tom G. Christensen)
Solution:   Include ruby/st.h. (Ozaki Kiichi, closes #4257)
2019-04-14 19:42:13 +02:00
a8356bc173 patch 8.1.1173: suspend test has duplicated lines
Problem:    Suspend test has duplicated lines.
Solution:   Use a function.
2019-04-14 14:31:11 +02:00
74e3d4ec11 patch 8.1.1172: cursor properties were not fully tested
Problem:    Cursor properties were not fully tested.
Solution:   Add a test. (Dominique Pelle, closes #4256)
2019-04-14 14:16:46 +02:00
316c16797a patch 8.1.1171: statusline test could fail in large terminal
Problem:    Statusline test could fail in large terminal.
Solution:   Make the test work on a huge terminal. (Dominique Pelle,
            closes #4255)
2019-04-14 13:23:40 +02:00
a0aaf3c4df patch 8.1.1170: terminal ANSI color test does not cover all colors
Problem:    Terminal ANSI color test does not cover all colors.
Solution:   Use the color number, the name is not always resulting in an ANSI
            color when t_Co is 256.
2019-04-13 23:18:21 +02:00
837854d1bc patch 8.1.1169: writing coverage info in a separate dir is not needed
Problem:    Writing coverage info in a separate dir is not needed.
Solution:   Revert the changes to use a separate directory.
2019-04-13 22:44:51 +02:00
87dcfd75c2 patch 8.1.1168: not all screen update code of terminal is executed in tests
Problem:    Not all screen update code of the terminal window is executed in
            tests.
Solution:   Redraw before taking a screenshot.
2019-04-13 22:35:29 +02:00
39f76c6ac0 patch 8.1.1167: no test for closing tab by click in tabline
Problem:    No test for closing tab by click in tabline.
Solution:   Add a test.  Also fix that dragging window separator could fail in
            a large terminal. (Dominique Pelle, closes #4253)
2019-04-13 22:13:23 +02:00
9c35d05f45 patch 8.1.1166: gettitle test can still fail when another Vim is running
Problem:    Gettitle test can still fail when another Vim is running.
Solution:   Accept any server name number. (Dominique Pelle, closes #4252)
2019-04-13 20:39:15 +02:00
ca57ab54d7 patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Problem:    No test for mouse clicks in the terminal tabpage line.
Solution:   Add a test. (Dominique Pelle, closes #4247).  Also init
            TabPageIdxs[], in case it's used before a redraw.
2019-04-13 14:53:16 +02:00
700dfaa86a patch 8.1.1164: gettitle test is failing when server name differs
Problem:    Gettitle test is failing when server name differs. (Kenta Sato)
Solution:   Accept "VIM1" when 'autoservername' is used. (Dominique Pelle,
            closes #4250, closes #4249)
2019-04-13 14:21:19 +02:00
5d48e0d99a patch 8.1.1163: codecov does not report all the coverage information
Problem:    Codecov does not report all the coverage information.
Solution:   Make a second run with the nested execution output, expect that
            Codecov will merge the results.
2019-04-13 13:44:31 +02:00
f587ef345e patch 8.1.1162: incorrect coverage information; typo in color name
Problem:    Incorrect coverage information; typo in color name.
Solution:   Fix the typo.  Set environment variables to have a nested Vim
            write the coverage info in another directory.
2019-04-13 13:13:54 +02:00
1d79ce81e7 patch 8.1.1161: unreachable code
Problem:    Unreachable code.
Solution:   Remove condition that will never be true.  Add tests for all ANSI
            colors.
2019-04-12 22:27:39 +02:00
c8b3ddab51 patch 8.1.1160: termcodes test would fail in a very big terminal
Problem:    Termcodes test would fail in a very big terminal.
Solution:   Bail out when the row is larger than what will work. (Dominique
            Pelle, closes #4246)
2019-04-12 21:42:52 +02:00
a8d22e3a40 patch 8.1.1159: MS-Windows: with a silent (un)install $VIM/_vimrc is removed
Problem:    MS-Windows: with a silent (un)install $VIM/_vimrc is removed.
Solution:   Don't delete _vimrc in silent mode. (Ken Takata, closes #4242)
2019-04-12 21:29:33 +02:00
04af19637c patch 8.1.1158: json encoded string is sometimes missing the final NUL
Problem:    Json encoded string is sometimes missing the final NUL.
Solution:   Add the NUL.  Also for log messages.
2019-04-12 21:19:04 +02:00
f9b89b4679 patch 8.1.1157: Unicode tables are out of date
Problem:    Unicode tables are out of date.
Solution:   Update to Unicode 12. (Christian Brabandt, closes #4240)
2019-04-12 20:08:55 +02:00
d489c9801b patch 8.1.1156: Unicode emoji and other image characters not recognized
Problem:    Unicode emoji and other image characters not recognized.
Solution:   Add ranges for musical notation, game pieces, etc. (Martin
            Tournoij, closes #4238)
2019-04-12 20:00:21 +02:00
3fbd2d7c31 patch 8.1.1155: termcodes tests can be improved
Problem:    Termcodes tests can be improved.
Solution:   Add helper functions to simplify tests.  Dragging statusline for
            xterm and sgr. (Dominique Pelle, closes #4237)
2019-04-11 23:56:16 +02:00
496555fd18 patch 8.1.1154: getting a newer msgfmt on Travis is too complicated
Problem:    Getting a newer msgfmt on Travis is too complicated.
Solution:   Use a "sourcline" entry. (Ozaki Kiichi, closes #4236)
2019-04-11 20:14:56 +02:00
9a419ffb93 patch 8.1.1154 2019-04-11 18:44:11 +02:00
7edf0baef4 patch 8.1.1152: compiler warning with VS2019
Problem:    Compiler warning with VS2019.
Solution:   Specify different offset for "AMD64". (closes #4235)
2019-04-11 17:22:57 +02:00
679beba800 patch 8.1.1151: build fails when using shadow directory
Problem:    Build fails when using shadow directory.
Solution:   Link the desktop.in files.
2019-04-11 16:21:33 +02:00
29a9baa077 patch 8.1.1150: generating desktop files not tested on Travis
Problem:    Generating desktop files not tested on Travis.
Solution:   Install a newer msgfmt package. (Christian Brabandt)
2019-04-11 15:49:11 +02:00
26096cc96f patch 8.1.1149: building desktop files fails with older msgfmt
Problem:    Building desktop files fails with older msgfmt.
Solution:   Add autoconf check.  Avoid always building the desktop files.
2019-04-11 15:25:40 +02:00
730f48fe36 patch 8.1.1148: CTRL-L with 'incsearch' does not pick up char under cursor
Problem:    CTRL-L with 'incsearch' does not pick up char under cursor.
            (Smylers)
Solution:   Do not compare the position with the cursor position. (Hirohito
            Higashi, closes #3620)
2019-04-11 13:45:57 +02:00
a60e536a29 patch 8.1.1147: desktop file translations are requiring manual updates
Problem:    Desktop file translations are requiring manual updates.
Solution:   Use the .po files for desktop file translations. (Christian
            Brabandt)
2019-04-11 13:11:39 +02:00
ef8c83c550 patch 8.1.1146: in MS-Windows console colors in a terminal window are wrong
Problem:    In MS-Windows console colors in a terminal window are wrong.
Solution:   Use the ansi index also for 16 colors. (Ken Takata)
2019-04-11 11:40:13 +02:00
a7be0f2451 patch 8.1.1145: compiler warning for unused function
Problem:    Compiler warning for unused function. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-04-11 11:19:32 +02:00
862f1e17ea patch 8.1.1144: too strict checking of the 'spellfile' option
Problem:    Too strict checking of the 'spellfile' option.
Solution:   Allow for a path.
2019-04-10 22:33:41 +02:00
8f130eda47 patch 8.1.1143: may pass weird strings to file name expansion
Problem:    May pass weird strings to file name expansion.
Solution:   Check for matching characters.  Disallow control characters.
2019-04-10 22:15:19 +02:00
3fb01a53c6 patch 8.1.1142: no test for dragging the window separators with the mouse
Problem:    No test for dragging the window separators with the mouse.
Solution:   Add a test. (Dominique Pelle, closes #4226)
2019-04-09 21:52:02 +02:00
1b55797e90 patch 8.1.1141: terminal winpos test fails with very large terminal
Problem:    Terminal winpos test fails with very large terminal. (Dominique
            Pelle)
Solution:   Compute the expected size more accurately. (closes #4228)
2019-04-09 21:17:32 +02:00
46ad288b9b patch 8.1.1140: not easy to find out what neighbors a window has
Problem:    Not easy to find out what neighbors a window has.
Solution:   Add more arguments to winnr(). (Yegappan Lakshmanan, closes #3993)
2019-04-08 20:01:47 +02:00
9845f36aa6 patch 8.1.1139: no test for what is fixed in patch 8.1.0716
Problem:    No test for what is fixed in patch 8.1.0716.
Solution:   Add a test. (Yasuhiro Matsumoto, closes #3797)
2019-04-08 18:59:54 +02:00
d7f246c68c patch 8.1.1138: plugins don't get notified when the popup menu changes
Problem:    Plugins don't get notified when the popup menu changes.
Solution:   Add the CompleteChanged event. (Andy Massimino. closes #4176)
2019-04-08 18:15:41 +02:00
62e1bb4a11 Update runtime files. 2019-04-08 16:25:07 +02:00
049736fa8a patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Problem:    Xterm mouse wheel escape sequence is not tested.
Solution:   Add a test using low-level input. (Dominique Pelle, closes #4221)
2019-04-07 21:55:07 +02:00
905dd905de patch 8.1.1136: decoding of mouse click escape sequence is not tested
Problem:    Decoding of mouse click escape sequence is not tested.
Solution:   Add a test for xterm and SGR using low-level input.  Make
            low-level input execution with feedkeys() work.
2019-04-07 14:21:47 +02:00
d85c396d51 patch 8.1.1135: build failure for small version
Problem:    Build failure for small version. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-04-07 14:19:14 +02:00
39803d82db patch 8.1.1134: buffer for quickfix window is reused for another file
Problem:    Buffer for quickfix window is reused for another file.
Solution:   Don't reuse the quickfx buffer. (Yegappan Lakshmanan)
2019-04-07 12:04:51 +02:00
08499f5a4d patch 8.1.1133: compiler warning for uninitialized struct member
Problem:    Compiler warning for uninitialized struct member. (Yegappan
            Lakshmanan)
Solution:   Add initializer field.
2019-04-07 11:56:49 +02:00
616aeef21f patch 8.1.1132: getwinpos() test fails on MS-Windows
Problem:    getwinpos() test fails on MS-Windows.
Solution:   Don't try running this test.
2019-04-06 22:21:22 +02:00
16c34c3765 patch 8.1.1131: getwinpos() does not work in the MS-Windows console
Problem:    getwinpos() does not work in the MS-Windows console.
Solution:   Implement getwinpos().
2019-04-06 22:01:24 +02:00
1164023828 patch 8.1.1130: MS-Windows: warning for unused variable
Problem:    MS-Windows: warning for unused variable.
Solution:   Remove the variable.
2019-04-06 20:53:29 +02:00
2d7260d665 patch 8.1.1129: when making a new screendump test have to create the file
Problem:    When making a new screendump test have to create the file.
Solution:   Continue creating the failed screendump, so it can be moved once
            it is correct.
2019-04-06 20:51:52 +02:00
94a7242ad1 patch 8.1.1128: getwinpos() test does not work on MS-Windows
Problem:    getwinpos() test does not work on MS-Windows.
Solution:   Skip the test.
2019-04-06 20:40:35 +02:00
6bc9305a02 patch 8.1.1127: getwinpos() doesn't work in terminal on MS-Windows console
Problem:    getwinpos() doesn't work in terminal on MS-Windows console.
Solution:   Adjust #ifdefs.  Disable test for MS-Windows console.
2019-04-06 20:00:19 +02:00
3d3f21764a patch 8.1.1126: build failure with +terminal but without tgetent
Problem:    Build failure with +terminal but without tgetent.
Solution:   Adjust #ifdef.
2019-04-06 17:56:05 +02:00
fa1e90cd4d patch 8.1.1125: libvterm does not handle the window position report
Problem:    Libvterm does not handle the window position report.
Solution:   Let libvterm call the fallback CSI handler when not handling CSI
            sequence.  Handle the window position report in Vim.
2019-04-06 17:47:40 +02:00
d9eefe3155 patch 8.1.1124: insert completion flags are mixed up
Problem:    Insert completion flags are mixed up.
Solution:   Clean up flags use of ins_compl_add() and cp_flags.
2019-04-06 14:22:21 +02:00
73655cf0ca patch 8.1.1123: no way to avoid filtering for autocomplete function
Problem:    No way to avoid filtering for autocomplete function, causing
            flickering of the popup menu.
Solution:   Add the "equal" field to complete items. (closes #3887)
2019-04-06 13:45:55 +02:00
9d40128afd patch 8.1.1122: char2nr() does not handle composing characters
Problem:    char2nr() does not handle composing characters.
Solution:   Add str2list() and list2str(). (Ozaki Kiichi, closes #4190)
2019-04-06 13:18:12 +02:00
4a5711b5ea patch 8.1.1121: test for term_gettitle() was disabled
Problem:    Test for term_gettitle() was disabled.
Solution:   Enable the test and bail out only when it doesn't work. (Dominique
            Pelle, closes #3776)
2019-04-06 12:39:55 +02:00
543c9b1921 patch 8.1.1120: cannot easily get directory entry matches
Problem:    Cannot easily get directory entry matches.
Solution:   Add the readdir() function. (Yasuhiro Matsumoto, closes #2439)
2019-04-05 22:50:40 +02:00
577fadfc10 patch 8.1.1119: no support for Windows on ARM64.
Problem:    No support for Windows on ARM64.
Solution:   Add ARM64 support (Leendert van Doorn)
2019-04-04 20:32:24 +02:00
652de23dc7 patch 8.1.1118: a couple of conditions are hard to understand
Problem:    A couple of conditions are hard to understand.
Solution:   Split the conditions into pieces. (Ozaki Kiichi, closes #3879)
2019-04-04 20:13:09 +02:00
1cd4dc444a patch 8.1.1117: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef.
2019-04-04 19:06:14 +02:00
558ca4ae55 patch 8.1.1116: cannot enforce a Vim script style
Problem:    Cannot enforce a Vim script style.
Solution:   Add the :scriptversion command. (closes #3857)
2019-04-04 18:15:38 +02:00
8f4aeb5572 patch 8.1.1115: cannot build with older C compiler
Problem:    Cannot build with older C compiler.
Solution:   Move variable declaration to start of block.
2019-04-04 15:40:56 +02:00
0f248b006c patch 8.1.1114: confusing overloaded operator "." for string concatenation
Problem:    Confusing overloaded operator "." for string concatenation.
Solution:   Add ".." for string concatenation.  Also "let a ..= b".
2019-04-04 15:36:05 +02:00
eb93f3f0e2 patch 8.1.1113: making an autocommand trigger once is not so easy
Problem:    Making an autocommand trigger once is not so easy.
Solution:   Add the ++once argument.  Also add ++nested as an alias for
            "nested". (Justin M. Keyes, closes #4100)
2019-04-04 15:04:56 +02:00
87f59b09ea patch 8.1.1112: duplicate code in quickfix file
Problem:    Duplicate code in quickfix file.
Solution:   Move code into functions. (Yegappan Lakshmanan, closes #4207)
2019-04-04 14:04:11 +02:00
fda1bff39f patch 8.1.1111: it is not easy to check for infinity
Problem:    It is not easy to check for infinity.
Solution:   Add isinf(). (Ozaki Kiichi, closes #3787)
2019-04-04 13:44:37 +02:00
e5e4e22c1c patch 8.1.1110: composing chars on space wrong when 'listchars' is set
Problem:    Composing chars on space wrong when 'listchars' is set.
Solution:   Do not use "space" and "nbsp" entries of 'listchars' when there is
            a composing character.  (Yee Cheng Chin, closes #4197)
2019-04-04 13:28:45 +02:00
39b76b7df8 patch 8.1.1109: deleted file still in list of distributed files
Problem:    Deleted file still in list of distributed files.
Solution:   Remove the src/os_w32dll.c entry.
2019-04-04 13:12:07 +02:00
723dd946f9 Update runtime files. 2019-04-04 13:11:03 +02:00
7a66627cf4 patch 8.1.1108: test for 'visualbell' doesn't work
Problem:    Test for 'visualbell' doesn't work.
Solution:   Make 'belloff' empty.
2019-04-03 22:52:34 +02:00
b4e6a2d075 patch 8.1.1107: no test for 'visualbell'
Problem:    No test for 'visualbell'.
Solution:   Add a test.
2019-04-03 21:53:33 +02:00
449ac47f93 patch 8.1.1106: no test for 'writedelay'
Problem:    No test for 'writedelay'.
Solution:   Add a test.
2019-04-03 21:42:35 +02:00
5da04ef1b4 patch 8.1.1105: long escape sequences may be split up
Problem:    Long escape sequences may be split up.
Solution:   Assume esccape sequences can be up to 80 bytes long. (Nobuhiro
            Takasaki, closes #4196)
2019-04-03 21:15:58 +02:00
796cc42d3a patch 8.1.1104: MS-Windows: not all environment variables can be used
Problem:    MS-Windows: not all environment variables can be used.
Solution:   Use the wide version of WinMain() and main(). (Ken Takata,
            closes #4206)
2019-04-03 20:31:00 +02:00
0eb035c974 patch 8.1.1103: MS-Windows: old API calls are no longer needed
Problem:    MS-Windows: old API calls are no longer needed.
Solution:   Always use the wide functions. (Ken Takata, closes #4199)
2019-04-02 22:15:55 +02:00
b26705afb5 patch 8.1.1102: Win32 exe file contains unused code
Problem:    Win32 exe file contains unused code.
Solution:   Remove unused #ifdefs and code. (Ken Takata, closes #4198)
2019-04-02 22:02:32 +02:00
690a905a01 patch 8.1.1101: signals test may fail in the GUI
Problem:    Signals test may fail in the GUI.
Solution:   Skip the test for the GUI. (Yee Checng Chin, closes #4202)
2019-04-02 21:45:41 +02:00
fd700393be patch 8.1.1100: tag file without trailing newline no longer works
Problem:    Tag file without trailing newline no longer works. (Marco Hinz)
Solution:   Don't expect a newline at the end of the file. (closes #4200)
2019-04-02 21:26:07 +02:00
b4a6020ac6 patch 8.1.1099: the do_tag() function is too long
Problem:    The do_tag() function is too long.
Solution:   Factor parts out to separate functions.  Move simplify_filename()
            to a file where it fits better. (Andy Massimino, closes #4195)
2019-03-31 19:40:07 +02:00
95946f1209 patch 8.1.1098: quickfix code duplication
Problem:    Quickfix code duplication.
Solution:   Refactor the qf_init_ext() function. (Yegappan Lakshmanan,
            closes #4193)
2019-03-31 15:31:59 +02:00
4fc8e2f8bb patch 8.1.1097: Motif build fails
Problem:    Motif build fails. (Paul Jolly)
Solution:   Only use gui_mch_maximized() for MS-Windows. (closes #4194)
2019-03-30 22:26:38 +01:00
b70a47b774 patch 8.1.1096: MS-Windows: cannot distinguish BS and CTRL-H
Problem:    MS-Windows: cannot distinguish BS and CTRL-H.
Solution:   Add code for VK_BACK. (Linwei, closes #1833)
2019-03-30 22:11:21 +01:00
8662189736 patch 8.1.1095: MS-Windows: executable() fails on very long filename
Problem:    MS-Windows: executable() fails on very long filename.
Solution:   (Ken Takata, closes #4015)
2019-03-30 21:51:28 +01:00
5209334c55 patch 8.1.1094: long line in tags file causes error
Problem:    Long line in tags file causes error.
Solution:   Check for overlong line earlier. (Andy Massimino, closes #4051,
            closes #4084)
2019-03-30 21:41:48 +01:00
96428dd4e9 patch 8.1.1093: support for outdated tags format slows down tag parsing
Problem:    Support for outdated tags format slows down tag parsing.
Solution:   Remove FEAT_TAG_OLDSTATIC.
2019-03-30 21:19:34 +01:00
372674fca3 patch 8.1.1092: setting 'guifont' when maximized resizes the Vim window
Problem:    Setting 'guifont' when maximized resizes the Vim window. When
            'guioptions' contains "k" gvim may open with a tiny window.
Solution:   Avoid un-maximizing when setting 'guifont'. (Yee Cheng Chin,
            closes #3808)
2019-03-30 20:31:22 +01:00
f0908e6fe1 patch 8.1.1091: MS-Windows: cannot use multi-byte chars in environment var
Problem:    MS-Windows: cannot use multi-byte chars in environment var.
Solution:   Use the wide API. (Ken Takata, closes #4008)
2019-03-30 20:11:50 +01:00
2d04a91d69 patch 8.1.1090: MS-Windows: modify_fname() has problems with some 'encoding'
Problem:    MS-Windows: modify_fname() has problems with some 'encoding'.
Solution:   Use GetLongPathNameW() instead of GetLongPathName(). (Ken Takata,
            closes #4007)
2019-03-30 20:04:08 +01:00
b44b7add8a patch 8.1.1089: tutor does not check $LC_MESSAGES
Problem:    Tutor does not check $LC_MESSAGES.
Solution:   Let $LC_MESSAGES overrule $LANG. (Miklos Vajna, closes #4112)
2019-03-30 19:56:46 +01:00
9e1e358d37 patch 8.1.1088: height of quickfix window not retained with vertical split
Problem:    Height of quickfix window not retained with vertical split.
Solution:   Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu,
            closes #4013, closes #2998)
2019-03-30 19:49:06 +01:00
7559dcef6c patch 8.1.1087: tag stack is incorrect after CTRL-T and then :tag
Problem:    tag stack is incorrect after CTRL-T and then :tag
Solution:   Handle DT_TAG differently. (test by Andy Massimino, closes #3944,
            closes #4177)
2019-03-30 19:12:02 +01:00
abab0b0fdd patch 8.1.1086: too many curly braces
Problem:    Too many curly braces.
Solution:   Remove curly braces where they are not needed. (Hirohito Higashi,
            closes #3982)
2019-03-30 18:47:01 +01:00
bd9bf266fc patch 8.1.1085: compiler warning for possibly uninitialized variable
Problem:    Compiler warning for possibly uninitialized variable. (Tony
            Mechelynck)
Solution:   Make conditions more logical.
2019-03-30 18:25:39 +01:00
aff749145e patch 8.1.1084: cannot delete a match from another window
Problem:    Cannot delete a match from another window. (Paul Jolly)
Solution:   Add window ID argument to matchdelete(), clearmatches(),
            getmatches() and setmatches(). (Andy Massimino, closes #4178)
2019-03-30 18:11:49 +01:00
8bb41b3d06 patch 8.1.1083: MS-Windows: hang when opening a file on network share
Problem:    MS-Windows: hang when opening a file on network share.
Solution:   Avoid using FindFirstFile(), use GetLongPathNameW(). (Ken Takata,
            closes #3923)
2019-03-30 17:28:16 +01:00
ab62c19ea0 patch 8.1.1082: "Conceal" match is mixed up with 'hlsearch' match.
Problem:    "Conceal" match is mixed up with 'hlsearch' match.
Solution:   Check that a match is found, not a 'hlsearch' item. (Andy
            Massimino, closes #4073)
2019-03-30 16:39:05 +01:00
433a5eb9de patch 8.1.1081: MS-Windows: cannot use some fonts
Problem:    MS-Windows: cannot use fonts whose name cannot be represented in
            the current code page.
Solution:   Use wide font functions. (Ken Takata, closes #4000)
2019-03-30 16:24:16 +01:00
ef7f0e367e patch 8.1.1080: when a screendump test fails, moving the file is a hassle
Problem:    When a screendump test fails, moving the file is a hassle.
Solution:   Instead of appending ".failed" to the file name, keep the same
            file name but put the screendump in the "failed" directory.
            Then the file name only needs to be typed once when moving a
            screendump.
2019-03-30 15:59:51 +01:00
48aed0824e patch 8.1.1079: no need for a separate ScreenLinesUtf8() test function
Problem:    No need for a separate ScreenLinesUtf8() test function.
Solution:   Get the composing characters with ScreenLines().
2019-03-30 15:44:17 +01:00
5f8069bbf5 patch 8.1.1078: when 'listchars' is set a composing char on a space is wrong
Problem:    When 'listchars' is set a composing char on a space is wrong.
Solution:   Separate handling a non-breaking space and a space. (Yasuhiro
            Matsumoto, closes #4046)
2019-03-30 15:34:47 +01:00
9a2c091a74 patch 8.1.1077: reg_executing() is reset by calling input()
Problem:    reg_executing() is reset by calling input().
Solution:   Implement a more generic way to save and restore reg_executing.
            (Ozaki Kiichi, closes #4192)
2019-03-30 14:26:18 +01:00
7591bb39d5 patch 8.1.1076: file for Insert mode is much too big
Problem:    File for Insert mode is much too big.
Solution:   Split off the code for Insert completion. (Yegappan Lakshmanan,
            closes #4044)
2019-03-30 13:53:47 +01:00
de5b380042 patch 8.1.1075: function reference count wrong in Python code
Problem:    Function reference count wrong in Python code.
Solution:   Use "O" instead of "N" for the arguments. (Ben Jackson,
            closes #4188)
2019-03-30 12:51:22 +01:00
bfd3603670 patch 8.1.1074: Python test doesn't wipe out hidden buffer
Problem:    Python test doesn't wipe out hidden buffer.
Solution:   Wipe out the buffer. (Ben Jackson, closes #4189)
2019-03-30 12:33:13 +01:00
e73f911c53 patch 8.1.1073: space in number column is on wrong side with 'rightleft' set
Problem:    Space in number column is on wrong side with 'rightleft' set.
Solution:   Move the space to the text side.  Add a test.
2019-03-29 18:29:54 +01:00
8ee4c01b8c patch 8.1.1072: extending sign and foldcolumn below the text is confusing
Problem:    Extending sign and foldcolumn below the text is confusing.
Solution:   Let the sign and foldcolumn stop at the last text line, just like
            the line number column.  Also stop the command line window leader.
            (Christian Brabandt, closes #3964)
2019-03-29 18:08:18 +01:00
2912abb3a2 patch 8.1.1071: cannot get composing characters from the screen
Problem:    Cannot get composing characters from the screen.
Solution:   Add screenchars() and screenstring(). (partly by Ozaki Kiichi,
            closes #4059)
2019-03-29 14:16:42 +01:00
e46736b23b patch 8.1.1070: issue templates are not good enough
Problem:    Issue templates are not good enough.
Solution:   Rephrase to anticipate unexperienced users.
2019-03-29 13:12:39 +01:00
8ac8a77f24 patch 8.1.1069: source README file doesn't look nice on github
Problem:    Source README file doesn't look nice on github.
Solution:   Turn it into markdown, still readable as plain text.
            (WenxuanHuang, closes #4141)
2019-03-29 13:10:08 +01:00
fd133323d4 patch 8.1.1068: cannot get all the information about current completion
Problem:    Cannot get all the information about current completion.
Solution:   Add complete_info(). (Shougo, Hirohito Higashi, closes #4106)
2019-03-29 12:20:27 +01:00
723d165c2f patch 8.1.1067: issues added on github are unstructured
Problem:    Issues added on github are unstructured.
Solution:   Add a bug and feature request template. (Ken Takata, closes #4183)
2019-03-29 10:54:37 +01:00
89828e9fe6 patch 8.1.1066: VIMDLL isn't actually used
Problem:    VIMDLL isn't actually used.
Solution:   Remove VIMDLL support.
2019-03-28 22:43:16 +01:00
47cf1cc257 patch 8.1.1065: no test for using and deleting menu in the GUI
Problem:    No test for using and deleting menu in the GUI.
Solution:   Add a test.
2019-03-28 22:04:56 +01:00
c701f320e8 patch 8.1.1064: no test for output conversion in the GTK GUI
Problem:    No test for output conversion in the GTK GUI.
Solution:   Add a simplistic test.
2019-03-28 21:49:21 +01:00
37db642083 patch 8.1.1063: insufficient testing for wildmenu completion
Problem:    Insufficient testing for wildmenu completion.
Solution:   Extend the test case. (Dominique Pelle, closes #4182)
2019-03-28 21:26:23 +01:00
a16123a666 patch 8.1.1062: quickfix code is repeated
Problem:    Quickfix code is repeated.
Solution:   Define FOR_ALL_QFL_ITEMS(). Move some code to separate functions.
            (Yegappan Lakshmanan, closes #4166)
2019-03-28 20:31:07 +01:00
0e97b94875 patch 8.1.1061: when substitute string throws error, substitute happens anyway
Problem:    When substitute string throws error, substitute happens anyway.
Solution:   Skip substitution when aborting. (closes #4161)
2019-03-27 22:53:53 +01:00
760285dd4f patch 8.1.1060: MS-Windows: get_cmd_args() is no longer needed
Problem:    MS-Windows: get_cmd_args() is no longer needed, get_cmd_argsW() is
            always used.
Solution:   Remove get_cmd_args(). (Ken Takata, closes #4171)
2019-03-27 21:59:45 +01:00
90d0cf69aa patch 8.1.1059: MS-Windows: PlatformId() is called unnecessarily
Problem:    MS-Windows: PlatformId() is called unnecessarily.
Solution:   Remove calls to PlatformId(). (Ken Takata, closes #4170)
2019-03-27 21:49:14 +01:00
3a731ee0c2 patch 8.1.1058: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems.
Solution:   Use 98% of the lower limit. (Christian Brabandt)
2019-03-27 21:41:36 +01:00
6a95c889bf patch 8.1.1057: nsis config is too complicated
Problem:    Nsis config is too complicated.
Solution:   Use "File /r" for the macros and pack directories. (Ken Takata,
            closes #4169)
2019-03-26 23:02:46 +01:00
e99be0e6d2 patch 8.1.1056: no eval function for Ruby
Problem:    No eval function for Ruby.
Solution:   Add rubyeval(). (Ozaki Kiichi, closes #4152)
2019-03-26 22:51:09 +01:00
75bf3d22f4 patch 8.1.1055: CTRL-G U in Insert mode doesn't work for shift-Left
Problem:    CTRL-G U in Insert mode doesn't work to avoid splitting the undo
            sequence for shift-left and shift-right.
Solution:   Also check dont_sync_undo for shifted cursor keys. (Christian
            Brabandt)
2019-03-26 22:46:05 +01:00
6fb5c97242 patch 8.1.1054: not checking return value of ga_grow()
Problem:    Not checking return value of ga_grow(). (Coverity)
Solution:   Only append when ga_grow() returns OK.
2019-03-26 21:44:20 +01:00
d6c3f1fa2b patch 8.1.1053: warning for missing return statement
Problem:    Warning for missing return statement. (Dominique Pelle)
Solution:   Add return statement.
2019-03-26 00:31:21 +01:00
553e5a5c56 patch 8.1.1052: test for CTRL-C message sometimes fails
Problem:    test for CTRL-C message sometimes fails
Solution:   Make sure there are no changed buffers.
2019-03-25 23:16:34 +01:00
a4c2a24cc7 patch 8.1.1051: not all ways to switch terminal mode are tested
Problem:    Not all ways to switch terminal mode are tested.
Solution:   Add more test cases.
2019-03-25 23:01:38 +01:00
3dd174abbf patch 8.1.1050: blank srceen when DirectWrite failed
Problem:    Blank srceen when DirectWrite failed.
Solution:   Call redraw_later_clear() after recreating the Direct2D render
            target. (Ken Takata, closes #4172)
2019-03-25 22:48:18 +01:00
a84a3dd663 patch 8.1.1049: when user tries to exit with CTRL-C message is confusing
Problem:    When user tries to exit with CTRL-C message is confusing.
Solution:   Only mention ":qa!" when there is a changed buffer. (closes #4163)
2019-03-25 22:21:24 +01:00
b45125b374 patch 8.1.1048: minor issues with tests
Problem:    Minor issues with tests.
Solution:   Delete unused test OK file.  Add missing entries in list of tests.
            Fix readme file. (Masato Nishihata, closes #4160)
2019-03-24 20:18:40 +01:00
63b74a8362 Update runtime files. 2019-03-24 15:09:13 +01:00
db77b84ac2 patch 8.1.1047: WINCH signal is not tested
Problem:    WINCH signal is not tested.
Solution:   Add a test. (Dominique Pelle, closes #4158)
2019-03-24 14:58:31 +01:00
82b033eff8 patch 8.1.1046: the "secure" variable is used inconsistently
Problem:    the "secure" variable is used inconsistently. (Justin M. Keyes)
Solution:   Set it to one instead of incrementing.
2019-03-24 14:02:04 +01:00
63dbfd33c1 patch 8.1.1045: E315 ml_get error when using Python and hidden buffer
Problem:    E315 ml_get error when using Python and hidden buffer.
Solution:   Make sure the cursor position is valid. (Ben Jackson,
            closes #4153, closes #4154)
2019-03-23 17:41:59 +01:00
c3e92c161d patch 8.1.1044: no way to check the reference count of objects
Problem:    No way to check the reference count of objects.
Solution:   Add test_refcount(). (Ozaki Kiichi, closes #4124)
2019-03-23 14:23:07 +01:00
b782869033 patch 8.1.1043: Lua interface does not support Blob
Problem:    Lua interface does not support Blob.
Solution:   Add support to Blob. (Ozaki Kiichi, closes #4151)
2019-03-23 13:57:02 +01:00
832615be12 patch 8.1.1042: the paste test doesn't work properly in the Windows console
Problem:    The paste test doesn't work properly in the Windows console.
Solution:   Disable the test.
2019-03-23 13:30:22 +01:00
295e3ba31f patch 8.1.1041: test for Arabic no longer needed
Problem:    Test for Arabic no longer needed.
Solution:   Remove the test for something that was intentionally left out.
2019-03-23 12:59:40 +01:00
b99abaa480 patch 8.1.1040: FEAT_TAG_ANYWHITE is not enabled in any build
Problem:    FEAT_TAG_ANYWHITE is not enabled in any build.
Solution:   Remove the feature.
2019-03-22 17:03:05 +01:00
e37368c496 patch 8.1.1039: MS-Windows build fails
Problem:    MS-Windows build fails.
Solution:   Remove dependency on arabic.h
2019-03-22 16:57:45 +01:00
dc4fa190e7 patch 8.1.1038: Arabic support excludes Farsi
Problem:    Arabic support excludes Farsi.
Solution:   Add Farsi support to the Arabic support. (Ali Gholami Rudi,
            Ameretat Reith)
2019-03-22 16:33:15 +01:00
6b6f7aae4a patch 8.1.1037: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems.
Solution:   Increase tolerance from 3% to 20%.
2019-03-22 14:36:59 +01:00
9afe5e9cc0 patch 8.1.1036: quickfix function arguments are inconsistent
Problem:    Quickfix function arguments are inconsistent.
Solution:   Pass a list pointer to more functions. (Yegappan Lakshmanan,
            closes #4149)
2019-03-22 14:16:06 +01:00
0a2f578e22 patch 8.1.1035: prop_remove() second argument is not optional
Problem:    prop_remove() second argument is not optional.
Solution:   Fix argument count.  Use "buf" instead of "curbuf". (closes #4147)
2019-03-22 13:20:43 +01:00
2ace1bd652 patch 8.1.1034: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Merge FEAT_MOUSE_SGR into FEAT_MOUSE_XTERM / FEAT_MOUSE_TTY.
2019-03-22 12:03:30 +01:00
ba64ba0935 patch 8.1.1033: memory usage test may still fail on some systems
Problem:    Memory usage test may still fail on some systems. (Elimar
            Riesebieter)
Solution:   Increase tolerance from 1% to 3%.
2019-03-22 11:33:09 +01:00
2c519cf3bf patch 8.1.1032: warnings from clang static analyzer
Problem:    Warnings from clang static analyzer. (Yegappan Lakshmanan)
Solution:   Fix relevant warnings.
2019-03-21 21:45:34 +01:00
f7e47af776 patch 8.1.1031: memory usage test may still fail
Problem:    Memory usage test may still fail.
Solution:   Drop the unused min value. (Christian Brabandt)
2019-03-21 21:16:36 +01:00
0398e00a1b patch 8.1.1030: quickfix function arguments are inconsistent
Problem:    Quickfix function arguments are inconsistent.
Solution:   Pass a list pointer instead of info and index. (Yegappan
            Lakshmanan, closes #4135)
2019-03-21 21:12:49 +01:00
60ebd524cf patch 8.1.1029: DirectWrite doesn't take 'linespace' into account
Problem:    DirectWrite doesn't take 'linespace' into account.
Solution:   Include 'linespace' in the position. (Ken Takata, closes #4137)
2019-03-21 20:50:12 +01:00
9029b918f9 patch 8.1.1028: MS-Windows: memory leak when creating terminal fails
Problem:    MS-Windows: memory leak when creating terminal fails.
Solution:   Free the command. (Ken Takata, closes #4138)
2019-03-21 19:58:00 +01:00
08cda65ddf patch 8.1.1027: memory usage test sometimes fails
Problem:    Memory usage test sometimes fails.
Solution:   Use 80% of before.last as the lower limit. (Christian Brabandt)
2019-03-20 22:45:01 +01:00
d00e024d9f patch 8.1.1026: unused condition
Problem:    Unused condition. (Coverity)
Solution:   Remove the condition.  Also remove unused #define.
2019-03-20 21:42:20 +01:00
64c8ed366d patch 8.1.1025: checking NULL pointer after addition
Problem:    Checking NULL pointer after addition. (Coverity)
Solution:   First check for NULL, then add the column.
2019-03-20 21:18:34 +01:00
697005f2cf patch 8.1.1024: stray log calls in terminal code
Problem:    Stray log calls in terminal code. (Christian Brabandt)
Solution:   Remove the calls.
2019-03-20 20:38:44 +01:00
61be376337 patch 8.1.1023: may use NULL pointer when indexing a blob
Problem:    May use NULL pointer when indexing a blob. (Coverity)
Solution:   Break out of loop after using index on blob
2019-03-19 23:04:17 +01:00
e142a9467a patch 8.1.1022: may use NULL pointer when out of memory
Problem:    May use NULL pointer when out of memory. (Coverity)
Solution:   Check for blob_alloc() returning NULL.
2019-03-19 23:03:27 +01:00
8e9a24a127 patch 8.1.1021: pyeval() and py3eval() leak memory
Problem:    pyeval() and py3eval() leak memory.
Solution:   Do not increase the reference count twice. (Ozaki Kiichi,
            closes #4129)
2019-03-19 22:22:55 +01:00
828bff1f9b patch 8.1.1020: compiler warning for Python3 interface
Problem:    Compiler warning for Python3 interface.
Solution:   Add type cast. (Ozaki Kiichi, closes #4128, closes #4103)
2019-03-19 22:11:41 +01:00
4eefe47ea4 patch 8.1.1019: Lua: may garbage collect function reference in use
Problem:    Lua: may garbage collect function reference in use.
Solution:   Keep the function name instead of the typeval. Make luaV_setref()
            handle funcref objects. (Ozaki Kiichi, closes #4127)
2019-03-19 21:59:19 +01:00
8376c3d321 patch 8.1.1018: window cleared when entering Terminal-Normal twice
Problem:    Window cleared when entering Terminal-Normal twice. (Epheien)
Solution:   Don't cleanup scrollback when there is no postponed scrollback.
            (Christian Brabandt, closes #4126)
2019-03-19 20:50:43 +01:00
493fbe4abe patch 8.1.1017: off-by-one error in filetype detection
Problem:    Off-by-one error in filetype detection.
Solution:   Also check the last line of the file.
2019-03-17 17:16:12 +01:00
26967617a3 Update runtime files. 2019-03-17 17:13:16 +01:00
049ca59236 patch 8.1.1016: MS-Windows: No color in shell when using "!" in 'guioptions
Problem:    MS-Windows: No color in shell when using "!" in 'guioptions.
Solution:   Don't stop termcap when using a terminal window for the shell.
            (vim-jp, closes #4117)
2019-03-17 16:59:44 +01:00
647e24ba3d patch 8.1.1015: quickfix buffer shows up in list, can't get buffer number
Problem:    Quickfix buffer shows up in list, can't get buffer number.
Solution:   Make the quickfix buffer unlisted when the quickfix window is
            closed.  get the quickfix buffer number with getqflist().
            (Yegappan Lakshmanan, closes #4113)
2019-03-17 16:39:46 +01:00
38db5276cd patch 8.1.1014: MS-Windows: /analyze only defined for non-debug version
Problem:    MS-Windows: /analyze only defined for non-debug version.
Solution:   Move adding of /analyze up. (Taro Muraoka, closes #4114)
2019-03-17 15:47:25 +01:00
3b5fef6a99 patch 8.1.1013: MS-Windows: Scrolling fails when dividing the screen
Problem:    MS-Windows: Scrolling fails when dividing the screen.
Solution:   Position the cursor before calling ScrollConsoleScreenBuffer().
            (Nobuhiro Takasaki, closes #4115)
2019-03-17 14:54:53 +01:00
ab89d7ab89 patch 8.1.1012: memory leak with E461
Problem:    Memory leak with E461.
Solution:   Clear the typeval. (Dominique Pelle, closes #4111)
2019-03-17 14:43:31 +01:00
2ba4238818 patch 8.1.1011: indent from autoindent not removed from blank line
Problem:    Indent from autoindent not removed from blank line. (Daniel Hahler)
Solution:   Do not reset did_ai when text follows. (closes #4119)
2019-03-16 18:11:07 +01:00
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
1077 changed files with 156017 additions and 115508 deletions

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

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

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

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

View File

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

35
.gitignore vendored
View File

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

98
.hgignore Normal file
View File

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

View File

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

View File

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

View File

@ -3,31 +3,39 @@
# source files for all source archives
SRC_ALL = \
.gitignore \
.hgignore \
.lgtm.yml \
.travis.yml \
appveyor.yml \
ci/appveyor.bat \
src/Make_all.mak \
src/appveyor.bat \
src/README.txt \
src/README.md \
src/alloc.h \
src/arabic.c \
src/arabic.h \
src/arglist.c \
src/ascii.h \
src/autocmd.c \
src/beval.c \
src/beval.h \
src/blob.c \
src/blowfish.c \
src/buffer.c \
src/change.c \
src/channel.c \
src/charset.c \
src/cmdexpand.c \
src/cmdhist.c \
src/crypt.c \
src/crypt_zip.c \
src/debugger.c \
src/dict.c \
src/diff.c \
src/digraph.c \
src/edit.c \
src/eval.c \
src/evalfunc.c \
src/evalvars.c \
src/ex_cmdidxs.h \
src/ex_cmds.c \
src/ex_cmds.h \
@ -35,10 +43,10 @@ SRC_ALL = \
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/filepath.c \
src/findfile.c \
src/fold.c \
src/getchar.c \
src/globals.h \
@ -47,6 +55,9 @@ SRC_ALL = \
src/gui_beval.c \
src/hardcopy.c \
src/hashtab.c \
src/highlight.c \
src/indent.c \
src/insexpand.c \
src/json.c \
src/json_test.c \
src/kword_test.c \
@ -54,6 +65,7 @@ SRC_ALL = \
src/keymap.h \
src/macros.h \
src/main.c \
src/map.c \
src/mark.c \
src/mbyte.c \
src/memfile.c \
@ -74,30 +86,39 @@ SRC_ALL = \
src/option.c \
src/option.h \
src/popupmnu.c \
src/popupwin.c \
src/profiler.c \
src/quickfix.c \
src/regexp.c \
src/regexp_nfa.c \
src/regexp.h \
src/scriptfile.c \
src/screen.c \
src/search.c \
src/session.c \
src/sha256.c \
src/structs.h \
src/sign.c \
src/sound.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/testing.c \
src/textprop.c \
src/ui.c \
src/undo.c \
src/usercmd.c \
src/userfunc.c \
src/version.c \
src/version.h \
src/vim.h \
src/viminfo.c \
src/winclip.c \
src/window.c \
src/tee/tee.c \
@ -110,9 +131,12 @@ SRC_ALL = \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/summarize.vim \
src/testdir/check.vim \
src/testdir/shared.vim \
src/testdir/screendump.vim \
src/testdir/view_util.vim \
src/testdir/term_util.vim \
src/testdir/setup.vim \
src/testdir/gui_init.vim \
src/testdir/setup_gui.vim \
@ -141,38 +165,53 @@ SRC_ALL = \
src/testdir/samples/test000 \
src/testdir/if_ver*.vim \
src/testdir/color_ramp.vim \
src/testdir/silent.wav \
src/testdir/popupbounce.vim \
src/proto.h \
src/protodef.h \
src/proto/arabic.pro \
src/proto/arglist.pro \
src/proto/autocmd.pro \
src/proto/beval.pro \
src/proto/blob.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/change.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/cmdexpand.pro \
src/proto/cmdhist.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
src/proto/debugger.pro \
src/proto/dict.pro \
src/proto/diff.pro \
src/proto/digraph.pro \
src/proto/edit.pro \
src/proto/eval.pro \
src/proto/evalfunc.pro \
src/proto/evalvars.pro \
src/proto/ex_cmds.pro \
src/proto/ex_cmds2.pro \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/farsi.pro \
src/proto/fileio.pro \
src/proto/filepath.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/highlight.pro \
src/proto/indent.pro \
src/proto/insexpand.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
src/proto/map.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
src/proto/memfile.pro \
@ -187,11 +226,17 @@ SRC_ALL = \
src/proto/ops.pro \
src/proto/option.pro \
src/proto/popupmnu.pro \
src/proto/popupwin.pro \
src/proto/profiler.pro \
src/proto/quickfix.pro \
src/proto/regexp.pro \
src/proto/scriptfile.pro \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/session.pro \
src/proto/sha256.pro \
src/proto/sign.pro \
src/proto/sound.pro \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/syntax.pro \
@ -199,11 +244,14 @@ SRC_ALL = \
src/proto/term.pro \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/testing.pro \
src/proto/textprop.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/usercmd.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/viminfo.pro \
src/proto/winclip.pro \
src/proto/window.pro \
src/libvterm/.bzrignore \
@ -332,8 +380,6 @@ 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 \
@ -356,7 +402,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 \
@ -366,10 +411,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 \
@ -415,11 +456,8 @@ SRC_DOS = \
src/GvimExt/uninst.bat \
README_srcdos.txt \
src/INSTALLpc.txt \
src/Make_bc5.mak \
src/Make_cyg.mak \
src/Make_cyg_ming.mak \
src/Make_ivc.mak \
src/Make_dvc.mak \
src/Make_ming.mak \
src/Make_mvc.mak \
tools/rename.bat \
@ -470,7 +508,6 @@ SRC_DOS = \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_mvc.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
@ -508,16 +545,15 @@ SRC_DOS_BIN = \
src/vim.tlb \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/arm64/lib-vc14/libXpm.lib \
src/xpm/include/*.h \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/xpm/x86/lib-vc14/libXpm.lib \
nsis/icons/*.bmp \
nsis/icons/*.ico \
nsis/icons/*.svg \
nsis/icons.zip \
# source files for Amiga, DOS, etc. (also in the extra archive)
SRC_AMI_DOS = \
@ -528,10 +564,7 @@ SRC_AMI = \
README_amisrc.txt.info \
src.info \
src/INSTALLami.txt \
src/Make_dice.mak \
src/Make_manx.mak \
src/Make_morph.mak \
src/Make_sas.mak \
src/os_amiga.c \
src/os_amiga.h \
src/proto/os_amiga.pro \
@ -665,6 +698,7 @@ 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 \
@ -835,8 +869,6 @@ EXTRA = \
$(SRC_EXTRA) \
README_extra.txt \
src/VisVim/VisVim.dll \
farsi/README.txt \
farsi/fonts/*/far-* \
runtime/vimlogo.xpm \
src/tee/Makefile \
src/tee/Make_mvc.mak \
@ -939,6 +971,8 @@ LANG_SRC = \
src/po/Make_cyg.mak \
src/po/Make_ming.mak \
src/po/Make_mvc.mak \
src/po/vim.desktop.in \
src/po/gvim.desktop.in \
src/po/sjiscorr.c \
src/po/*.po \

View File

@ -43,13 +43,18 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
@if test "$@" = "test"; then \
$(MAKE) indenttest; \
fi
@# When the target is "clean" also clean for the indent tests.
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
cd runtime/indent && \
$(MAKE) clean; \
fi
# Executable used for running the indent tests.
VIM_FOR_INDENTTEST = ../../src/vim
indenttest:
cd runtime/indent && \
$(MAKE) clean VIM="$(VIM_FOR_INDENTTEST)" && \
$(MAKE) clean && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
@ -205,6 +210,7 @@ MINOR = 1
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
# version). Also put winpty32.dll and winpty-agent.exe there.
# - go to ../nsis and do:
# > unzip icons.zip
# > makensis gvim.nsi (takes a few minutes).
# ignore warning for libwinpthread-1.dll
# - Copy gvim##.exe to the dist directory.
@ -468,11 +474,12 @@ 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; \

View File

@ -1,12 +1,12 @@
![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://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/vim/vim/badge.svg?branch=master)](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? ##

View File

@ -19,7 +19,7 @@ before_build:
- '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,26 @@ 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
:: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
echo "Building MSVC 64bit console Version"
sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes 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

2
configure vendored
View File

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

View File

@ -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

@ -67,6 +67,11 @@ To build the installable .exe:
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

View File

@ -47,6 +47,11 @@ Unicode true
!include gvim_version.nsh # for version number
# Definition of Patch for Vim
!ifndef PATCHLEVEL
!define PATCHLEVEL 0
!endif
# ----------- No configurable settings below this line -----------
!include "Library.nsh" # For DLL install
@ -173,6 +178,16 @@ Page custom SetCustom ValidateCustom
!include "lang\tradchinese.nsi"
!endif
##########################################################
# Version resources
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
VIProductVersion "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
# Global variables
Var vim_dialog
@ -322,6 +337,9 @@ Section "$(str_section_exe)" id_section_exe
SetOutPath $0
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
File ${VIMSRC}\vim${BIT}.dll
!endif
File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
File ${VIMSRC}\vimrun.exe
@ -354,40 +372,10 @@ Section "$(str_section_exe)" id_section_exe
File ${VIMRT}\indent\*.*
SetOutPath $0\macros
File ${VIMRT}\macros\*.*
SetOutPath $0\macros\hanoi
File ${VIMRT}\macros\hanoi\*.*
SetOutPath $0\macros\life
File ${VIMRT}\macros\life\*.*
SetOutPath $0\macros\maze
File ${VIMRT}\macros\maze\*.*
SetOutPath $0\macros\urm
File ${VIMRT}\macros\urm\*.*
File /r ${VIMRT}\macros\*.*
SetOutPath $0\pack\dist\opt\dvorak\dvorak
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
SetOutPath $0\pack\dist\opt\dvorak\plugin
File ${VIMRT}\pack\dist\opt\dvorak\plugin\*.*
SetOutPath $0\pack\dist\opt\editexisting\plugin
File ${VIMRT}\pack\dist\opt\editexisting\plugin\*.*
SetOutPath $0\pack\dist\opt\justify\plugin
File ${VIMRT}\pack\dist\opt\justify\plugin\*.*
SetOutPath $0\pack\dist\opt\matchit\doc
File ${VIMRT}\pack\dist\opt\matchit\doc\*.*
SetOutPath $0\pack\dist\opt\matchit\plugin
File ${VIMRT}\pack\dist\opt\matchit\plugin\*.*
SetOutPath $0\pack\dist\opt\shellmenu\plugin
File ${VIMRT}\pack\dist\opt\shellmenu\plugin\*.*
SetOutPath $0\pack\dist\opt\swapmouse\plugin
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
SetOutPath $0\pack\dist\opt\termdebug\plugin
File ${VIMRT}\pack\dist\opt\termdebug\plugin\*.*
SetOutPath $0\pack
File /r ${VIMRT}\pack\*.*
SetOutPath $0\plugin
File ${VIMRT}\plugin\*.*
@ -1126,7 +1114,9 @@ Section "un.$(str_unsection_rootdir)" id_unsection_rootdir
Call un.GetParent
Pop $0
Delete $0\_vimrc
${IfNot} ${Silent}
Delete $0\_vimrc
${Endif}
RMDir $0
SectionEnd

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: 100 KiB

View File

@ -1,265 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="300"
height="114"
id="svg2"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="header.svg"
inkscape:export-filename="header.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<filter
id="filter2840"
inkscape:label="Drop shadow"
width="1.5"
height="1.5"
x="-.25"
y="-.25">
<feGaussianBlur
id="feGaussianBlur2842"
in="SourceAlpha"
stdDeviation="3.000000"
result="blur" />
<feColorMatrix
id="feColorMatrix2844"
result="bluralpha"
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
<feOffset
id="feOffset2846"
in="bluralpha"
dx="-5.000000"
dy="5.000000"
result="offsetBlur" />
<feMerge
id="feMerge2848">
<feMergeNode
id="feMergeNode2850"
in="offsetBlur" />
<feMergeNode
id="feMergeNode2852"
in="SourceGraphic" />
</feMerge>
</filter>
<filter
id="filter2910"
inkscape:label="Drop shadow"
width="1.5"
height="1.5"
x="-.25"
y="-.25">
<feGaussianBlur
id="feGaussianBlur2912"
in="SourceAlpha"
stdDeviation="2.500000"
result="blur" />
<feColorMatrix
id="feColorMatrix2914"
result="bluralpha"
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
<feOffset
id="feOffset2916"
in="bluralpha"
dx="-3.000000"
dy="3.000000"
result="offsetBlur" />
<feMerge
id="feMerge2918">
<feMergeNode
id="feMergeNode2920"
in="offsetBlur" />
<feMergeNode
id="feMergeNode2922"
in="SourceGraphic" />
</feMerge>
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="2.1369427"
inkscape:cx="130.27686"
inkscape:cy="77.09629"
inkscape:document-units="px"
inkscape:current-layer="header"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="942"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:snap-global="true"
inkscape:showpageshadow="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="header"
transform="translate(0,-938.36218)">
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
id="text3026"
x="4.0525044"
y="-8.7699928">The editor</text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:100%;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;filter:url(#filter2910)"
x="178.45901"
y="988.47156"
id="text3198"
sodipodi:linespacing="100%"><tspan
sodipodi:role="line"
id="tspan3200"
x="178.45901"
y="988.47156"
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold">The</tspan><tspan
sodipodi:role="line"
x="178.45901"
y="1024.4716"
id="tspan3202"
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold">editor</tspan></text>
<g
id="g2916"
style="filter:url(#filter2840)">
<path
inkscape:connector-curvature="0"
id="path2999"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="M 107.53604,994.85892 57.991535,946.32092 9.4535173,995.84025 57.991535,1044.4034 107.53604,994.85892" />
<path
inkscape:connector-curvature="0"
id="path3003"
style="fill:#006b05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 102.57907,994.85892 2.96915,0 -47.556685,47.55668 0,-2.9691 44.587535,-44.58758" />
<path
inkscape:connector-curvature="0"
id="path3007"
style="fill:#007d17;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 11.441335,995.84025 2.969148,0 43.581052,43.60625 0,2.9691 -46.5502,-46.57535" />
<path
inkscape:connector-curvature="0"
id="path3011"
style="fill:#66ff99;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 57.991535,951.25272 0,-2.94398 -46.5502,47.53151 2.969148,0 43.581052,-44.58753" />
<path
inkscape:connector-curvature="0"
id="path3015"
style="fill:#45ff02;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 57.991535,948.30873 0,2.94399 44.587535,43.6062 2.96915,0 -47.556685,-46.55019" />
<path
inkscape:connector-curvature="0"
id="path3019"
style="fill:#009933;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 57.991535,1039.4465 44.587535,-44.58758 -44.587535,-43.6062 -43.581052,44.58753 43.581052,43.60625" />
<path
inkscape:connector-curvature="0"
id="path3023"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 67.25125,961.16664 2.969146,2.99431 0,0 -20.482085,20.78405 0,-20.78405 1.987817,0 2.969148,-2.99431 0,-7.90094 -2.969148,-2.99431 -33.012896,0 -2.969149,2.99431 0,7.90094 2.969149,2.99431 2.314928,0 0,67.35935 3.623367,2.9692 10.241043,0 70.98276,-73.32286 0,-7.90094 -2.96915,-2.99431 -32.358674,0 -3.296256,2.99431 0,7.90094" />
<path
inkscape:connector-curvature="0"
id="path3027"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 19.694561,962.17314 -1.987821,-1.98782 0,-5.9383 1.987821,-1.98782 31.05024,-0.0252 1.962656,2.01298 -1.962656,0.95617 -1.00649,-0.95617 -30.04375,4.9318 0,2.99432" />
<path
inkscape:connector-curvature="0"
id="path3031"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 25.632856,1032.5017 -2.314928,-1.9878 0,-68.36592 2.314928,-1.96266 0,72.31638" />
<path
inkscape:connector-curvature="0"
id="path3035"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 75.177364,962.17314 1.987819,-1.98782 0,3.97563 -33.038059,33.66712 3.64853,-7.9261 27.40171,-27.72883" />
<path
inkscape:connector-curvature="0"
id="path3039"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 26.312236,959.20399 -0.67938,0.98133 -2.314928,1.98782 -3.623367,0 0,-3.97563 6.617675,1.00648" />
<path
inkscape:connector-curvature="0"
id="path3043"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 47.775654,962.17314 0,27.72883 -3.64853,7.90094 0,-37.64275 5.611187,0 1.00649,-0.98133 -1.00649,-4.93181 2.969146,0 0,5.9383 -1.962656,1.98782 -2.969147,0" />
<path
inkscape:connector-curvature="0"
id="path3047"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 71.201725,962.17314 -1.962656,-1.98782 0,-5.9383 2.289766,-1.98782 30.068915,0 2.31493,1.98782 -3.32142,2.96915 -29.389535,1.96265 0,2.99432" />
<path
inkscape:connector-curvature="0"
id="path3051"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 103.91268,960.18532 -69.699491,72.31638 -8.580333,0 0,-2.9692 6.290568,0 69.674326,-71.33499 -1.00649,-3.95049 3.32142,0 0,5.9383" />
<path
inkscape:connector-curvature="0"
id="path3055"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 77.819404,959.20399 -0.679382,0.98133 -1.962658,1.98782 -3.975639,0 0,-3.97563 6.617679,1.00648" />
<path
inkscape:connector-curvature="0"
id="path3059"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 44.127124,997.80291 0,-37.64275 5.611187,0 1.00649,-0.98134 0,-3.97563 -1.00649,-0.98133 -29.062421,0 -0.981329,0.98133 0,3.97563 0.981329,0.98134 4.956966,0 0,69.37234 1.283276,0.9814 5.661511,0 69.347217,-72.31639 0,-2.84335 -1.00649,-1.1323 -28.710153,0 -1.006492,0.98133 0,4.0008 1.006492,0.98133 4.956966,0 0,3.97563 -33.038059,33.64196" />
<path
inkscape:connector-curvature="0"
id="path3063"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 62.143307,997.85323 2.31493,-1.98781 5.938295,0 1.660709,1.98781 -1.987817,5.93827 -2.289767,1.9879 -5.938295,0 -1.685872,-1.9879 1.987817,-5.93827" />
<path
inkscape:connector-curvature="0"
id="path3067"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 64.131127,1030.539 5.963458,-17.8149 -1.987818,0 1.987818,-5.9634 8.882281,0 1.987818,1.9878 1.333602,0 1.962657,-1.9878 6.617676,0 1.98782,1.9878 1.308439,0 1.987818,-1.9878 7.246734,0 2.64204,3.9756 -4.32791,14.0909 1.96265,0 -1.91233,5.7118 -11.901751,0 4.655019,-13.8644 -2.969147,0 -2.742688,8.1023 1.962658,0 -1.862008,5.7621 -11.901753,0 4.629856,-13.8644 -2.969146,0 -2.767852,8.1526 1.987821,0 -1.862008,5.7118 -11.901754,0" />
<path
inkscape:connector-curvature="0"
id="path3071"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 102.50359,1008.7485 1.53489,2.1891 -4.881475,15.6509 1.962655,0 -0.65422,1.9627 -7.92611,0 4.629858,-13.8644 -6.944788,0 -3.950475,11.9017 1.962657,0 -0.654219,1.9627 -7.926114,0 4.629855,-13.8644 -6.944785,0 -3.950476,11.9017 1.987818,0 -0.67938,1.9627 -7.926116,0 5.963458,-17.8149 -1.987818,0 0.654217,-1.9878 7.271898,0 1.987818,1.9878 1.962657,0 1.987819,-1.9878 5.938295,0 1.987821,1.9878 1.987818,0 1.987821,-1.9878 5.988621,0" />
<path
inkscape:connector-curvature="0"
id="path3075"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 69.088095,1006.7607 -6.064107,18.0413 2.063305,0 -1.962657,5.737 -11.876589,0 5.938295,-17.8149 -1.98782,0 13.889573,-5.9634 z m -13.889573,5.9634 1.98782,-5.9634 11.901753,0" />
<path
inkscape:connector-curvature="0"
id="path3079"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 61.816199,1028.5512 0.654219,-1.9627 -1.987819,0 5.963458,-17.84 -8.253225,0 -0.67938,1.9878 2.314928,0 -5.938297,17.8149 7.926116,0" />
<path
inkscape:connector-curvature="0"
id="path3083"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
d="m 68.408713,1002.8102 1.333602,-3.97563 -0.65422,-0.98134 -3.975639,0 -1.308438,0.98134 -1.333601,3.97563 0.679382,0.9813 3.975639,0 1.283275,-0.9813" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 KiB

View File

@ -1,268 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="328"
height="628"
id="svg2"
version="1.1"
inkscape:version="0.47 r22583"
sodipodi:docname="welcome.svg"
inkscape:export-filename="welcome.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<filter
id="filter3356"
inkscape:label="Drop shadow"
width="1.5"
height="1.5"
x="-.25"
y="-.25">
<feGaussianBlur
id="feGaussianBlur3358"
in="SourceAlpha"
stdDeviation="5.000000"
result="blur" />
<feColorMatrix
id="feColorMatrix3360"
result="bluralpha"
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
<feOffset
id="feOffset3362"
in="bluralpha"
dx="-10.000000"
dy="10.000000"
result="offsetBlur" />
<feMerge
id="feMerge3364">
<feMergeNode
id="feMergeNode3366"
in="offsetBlur" />
<feMergeNode
id="feMergeNode3368"
in="SourceGraphic" />
</feMerge>
</filter>
<filter
id="filter3496"
inkscape:label="Drop shadow"
width="1.5"
height="1.5"
x="-.25"
y="-.25">
<feGaussianBlur
id="feGaussianBlur3498"
in="SourceAlpha"
stdDeviation="3.000000"
result="blur" />
<feColorMatrix
id="feColorMatrix3500"
result="bluralpha"
type="matrix"
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
<feOffset
id="feOffset3502"
in="bluralpha"
dx="-5.000000"
dy="5.000000"
result="offsetBlur" />
<feMerge
id="feMerge3504">
<feMergeNode
id="feMergeNode3506"
in="offsetBlur" />
<feMergeNode
id="feMergeNode3508"
in="SourceGraphic" />
</feMerge>
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:zoom="1.0716561"
inkscape:cx="122.81449"
inkscape:cy="381.22777"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="942"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:snap-global="true"
inkscape:showpageshadow="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-424.36218)">
<rect
style="fill:#eeffcc;fill-opacity:1;stroke:#007f00;stroke-width:2.0138948;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
id="rect3510"
width="327.98608"
height="635.98608"
x="-0.99305254"
y="420.36914" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:0;stroke:none"
id="path3795"
sodipodi:cx="92.889717"
sodipodi:cy="94.761551"
sodipodi:rx="83.062592"
sodipodi:ry="84.466469"
d="m 175.95231,94.761551 c 0,46.649539 -37.18839,84.466469 -83.062593,84.466469 -45.874202,0 -83.0625915,-37.81693 -83.0625915,-84.466469 0,-46.649543 37.1883895,-84.466469 83.0625915,-84.466469 45.874203,0 83.062593,37.816926 83.062593,84.466469 z"
transform="matrix(0,-2.3099964,-2.3548838,0,387.15244,952.93709)" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;filter:url(#filter3496)"
id="text3026"><textPath
xlink:href="#path3795"
startOffset="50%"
id="textPath3036"
style="font-size:58;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold;">The editor</textPath></text>
<g
id="g2968"
style="filter:url(#filter3356)">
<path
inkscape:connector-curvature="0"
id="path2999"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="M 299.80052,736.9686 162.60646,602.56167 28.199478,739.68603 162.60646,874.16269 299.80052,736.9686" />
<path
inkscape:connector-curvature="0"
id="path3003"
style="fill:#006b05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 286.07415,736.9686 8.22189,0 -131.68958,131.68962 0,-8.2219 123.46769,-123.46772" />
<path
inkscape:connector-curvature="0"
id="path3007"
style="fill:#007d17;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 33.703958,739.68603 8.221891,0 120.680611,120.75029 0,8.2219 L 33.703958,739.68603" />
<path
inkscape:connector-curvature="0"
id="path3011"
style="fill:#66ff99;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 162.60646,616.21837 0,-8.15223 -128.902502,131.61989 8.221891,0 120.680611,-123.46766" />
<path
inkscape:connector-curvature="0"
id="path3015"
style="fill:#45ff02;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 162.60646,608.06614 0,8.15223 123.46769,120.75023 8.22189,0 -131.68958,-128.90246" />
<path
inkscape:connector-curvature="0"
id="path3019"
style="fill:#009933;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="M 162.60646,860.43632 286.07415,736.9686 162.60646,616.21837 41.925849,739.68603 162.60646,860.43632" />
<path
inkscape:connector-curvature="0"
id="path3023"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 188.24761,643.67106 8.22188,8.29158 0,0 -56.71709,57.55326 0,-57.55326 5.50448,0 8.22189,-8.29158 0,-21.87855 -8.22189,-8.29157 -91.416257,0 -8.221894,8.29157 0,21.87855 8.221894,8.29158 6.410285,0 0,186.52539 10.033492,8.22191 28.358547,0 196.558893,-203.03888 0,-21.87855 -8.22189,-8.29157 -89.60466,0 -9.12768,8.29157 0,21.87855" />
<path
inkscape:connector-curvature="0"
id="path3027"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 56.558028,646.45817 -5.504489,-5.50448 0,-16.4438 5.504489,-5.50448 85.981452,-0.0697 5.4348,5.57416 -5.4348,2.64775 -2.78708,-2.64775 -83.194372,13.6567 0,8.29158" />
<path
inkscape:connector-curvature="0"
id="path3031"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 73.001805,841.20547 -6.410285,-5.50448 0,-189.3125 6.410285,-5.4348 0,200.25178" />
<path
inkscape:connector-curvature="0"
id="path3035"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 210.19587,646.45817 5.50448,-5.50448 0,11.00895 -91.48593,93.22786 10.10317,-21.94822 75.87828,-76.78411" />
<path
inkscape:connector-curvature="0"
id="path3039"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 74.883082,638.23626 -1.881277,2.71743 -6.410285,5.50448 -10.033492,0 0,-11.00895 18.325054,2.78704" />
<path
inkscape:connector-curvature="0"
id="path3043"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 134.31759,646.45817 0,76.78411 -10.10317,21.87855 0,-104.23681 15.53798,0 2.78708,-2.71743 -2.78708,-13.6567 8.22188,0 0,16.4438 -5.4348,5.50448 -8.22189,0" />
<path
inkscape:connector-curvature="0"
id="path3047"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 199.1869,646.45817 -5.43481,-5.50448 0,-16.4438 6.34061,-5.50448 83.26404,0 6.41029,5.50448 -9.19736,8.2219 -81.38277,5.4348 0,8.29158" />
<path
inkscape:connector-curvature="0"
id="path3051"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 289.76703,640.95369 -193.005361,200.25177 -23.759864,0 0,-8.2219 17.419257,0 192.935678,-197.53434 -2.78707,-10.93933 9.19736,0 0,16.4438" />
<path
inkscape:connector-curvature="0"
id="path3055"
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 217.51196,638.23626 -1.88128,2.71743 -5.43481,5.50448 -11.00897,0 0,-11.00895 18.32506,2.78704" />
<path
inkscape:connector-curvature="0"
id="path3059"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 124.21442,745.12082 0,-104.23681 15.53798,0 2.78708,-2.71742 0,-11.00895 -2.78708,-2.71743 -80.476968,0 -2.717404,2.71743 0,11.00895 2.717404,2.71742 13.726373,0 0,192.09955 3.553528,2.71743 15.677333,0 192.029884,-200.25177 0,-7.87353 -2.78708,-3.13548 -79.50149,0 -2.78708,2.71743 0,11.07862 2.78708,2.71743 13.72637,0 0,11.00895 -91.48593,93.15818" />
<path
inkscape:connector-curvature="0"
id="path3063"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 174.10317,745.26018 6.41029,-5.50448 16.44377,0 4.59868,5.50448 -5.50447,16.4438 -6.34062,5.50448 -16.44377,0 -4.66836,-5.50448 5.50448,-16.4438" />
<path
inkscape:connector-curvature="0"
id="path3067"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 179.60765,835.77066 16.51346,-49.33135 -5.50448,0 5.50448,-16.51342 24.59599,0 5.50448,5.50447 3.69289,0 5.43481,-5.50447 18.32505,0 5.50449,5.50447 3.62321,0 5.50448,-5.50447 20.06698,0 7.31609,11.00895 -11.98445,39.01911 5.43481,0 -5.29546,15.81671 -32.95723,0 12.89025,-38.39208 -8.22189,0 -7.59479,22.43602 5.43481,0 -5.1561,15.95606 -32.95724,0 12.82057,-38.39208 -8.22188,0 -7.66448,22.57537 5.50449,0 -5.1561,15.81671 -32.95724,0" />
<path
inkscape:connector-curvature="0"
id="path3071"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 285.86512,775.43036 4.25029,6.06188 -13.51734,43.3391 5.43481,0 -1.8116,5.43485 -21.94826,0 12.82057,-38.39208 -19.23086,0 -10.93929,32.95723 5.43481,0 -1.81161,5.43485 -21.94826,0 12.82057,-38.39208 -19.23086,0 -10.93929,32.95723 5.50448,0 -1.88127,5.43485 -21.94827,0 16.51346,-49.33135 -5.50449,0 1.8116,-5.50448 20.13667,0 5.50448,5.50448 5.43481,0 5.50448,-5.50448 16.44378,0 5.50449,5.50448 5.50448,0 5.50449,-5.50448 16.58312,0" />
<path
inkscape:connector-curvature="0"
id="path3075"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 193.33403,769.92588 -16.79216,49.95839 5.71351,0 -5.43481,15.88639 -32.88755,0 16.44378,-49.33135 -5.50449,0 38.46172,-16.51343 z m -38.46172,16.51343 5.50449,-16.51343 32.95723,0" />
<path
inkscape:connector-curvature="0"
id="path3079"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 173.19737,830.26619 1.8116,-5.43485 -5.50448,0 16.51345,-49.40098 -22.85406,0 -1.88128,5.50448 6.41028,0 -16.44378,49.33135 21.94827,0" />
<path
inkscape:connector-curvature="0"
id="path3083"
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
d="m 191.45275,758.98656 3.69288,-11.00896 -1.8116,-2.71743 -11.00897,0 -3.62321,2.71743 -3.69288,11.00896 1.88128,2.71742 11.00897,0 3.55353,-2.71742" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -10,7 +10,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
@ -74,7 +74,7 @@ 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-mappen."
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."
@ -92,9 +92,9 @@ LangString str_unsection_exe ${LANG_DANISH} "Fjern Vim-eksekverbare-/
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_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne, hvis de er tomme."
LangString str_unsection_plugin_home ${LANG_DANISH} "Privat"
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"
@ -164,9 +164,9 @@ LangString str_msg_compat_defaults ${LANG_DANISH} "Vim med nogle forbedringe
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 (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
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 til Windows"
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"

View File

@ -11,7 +11,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_DUTCH} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_DUTCH} \

View File

@ -10,7 +10,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_ENGLISH} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_ENGLISH} \

View File

@ -10,7 +10,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_GERMAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_GERMAN} \

View File

@ -4,14 +4,14 @@
#
# Locale ID : 1040
# Locale Name : it
# fileencoding : latin1
# fileencoding : UTF-8
# Author : Antonio Colombo
!insertmacro MUI_LANGUAGE "Italian"
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_ITALIAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_ITALIAN} \
@ -48,7 +48,7 @@ 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 (gvim.exe per Windows)"
"Vim GUI e file di supporto"
LangString str_desc_exe ${LANG_ITALIAN} \
"Vim GUI programmi e file di supporto. Questa componente è indispensabile."
@ -61,7 +61,7 @@ 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, da utilizzare da linea di comando (MS-DOS)."
di Windows, per utilizzo da linea di comando (MS-DOS)."
LangString str_group_icons ${LANG_ITALIAN} \
"Crea icone per Vim"
@ -71,13 +71,12 @@ LangString str_desc_icons ${LANG_ITALIAN} \
LangString str_section_desktop ${LANG_ITALIAN} \
"Sul Desktop"
LangString str_desc_desktop ${LANG_ITALIAN} \
"Crea icone per programma gvim sul desktop."
"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. \
Disponibile solo da Windows 95 in avanti."
"Aggiungi Vim alle cartelle del menù START."
#LangString str_section_quick_launch ${LANG_ITALIAN} \
# "Nella barra di Avvio Veloce"
@ -102,26 +101,26 @@ LangString str_desc_edit_with ${LANG_ITALIAN} \
# per applicazioni a 64-bit."
LangString str_section_vim_rc ${LANG_ITALIAN} \
"Crea Configurazione di default"
"Crea configurazione di default"
LangString str_desc_vim_rc ${LANG_ITALIAN} \
"Crea file configurazione di default (_vimrc) se non ne \
esiste già uno."
"Crea un file configurazione di default (_vimrc) se non \
ne esiste già uno."
LangString str_group_plugin ${LANG_ITALIAN} \
"Crea Directory per Plugin"
"Crea directory per plugin"
LangString str_desc_plugin ${LANG_ITALIAN} \
"Crea Directory per Plugin. Servono per aggiungere funzionalità \
a Vim aggiungendo file a una di queste directory."
"Crea directory per plugin. Consentono di aggiungere funzionalità \
a Vim mettendo file in una di queste directory."
LangString str_section_plugin_home ${LANG_ITALIAN} \
"Privato"
"Private"
LangString str_desc_plugin_home ${LANG_ITALIAN} \
"Create plugin directories in HOME directory."
"Crea directory per plugin nella directory HOME."
LangString str_section_plugin_vim ${LANG_ITALIAN} \
"Condiviso"
"Condivise"
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
"Crea Directory Plugin nella directory di installazione di Vim \
"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} \
@ -140,35 +139,29 @@ LangString str_desc_unregister ${LANG_ITALIAN} \
"Togli Vim dal Registry di configurazione sistema."
LangString str_unsection_exe ${LANG_ITALIAN} \
"Cancella programmi/file_ausiliari Vim"
"Cancella programmi/file di supporto Vim"
LangString str_desc_rm_exe ${LANG_ITALIAN} \
"Cancella tutti i programmi/file_ausiliari di Vim."
LangString str_unsection_rc ${LANG_ITALIAN} \
"Cancella file di configurazione di Vim"
LangString str_desc_rm_rc ${LANG_ITALIAN} \
"Cancella file di configurazione di Vim $vim_install_root\_vimrc. \
Da saltare se avete personalizzato il file di configurazione."
"Cancella tutti i programmi/file di supporto di Vim."
LangString str_ungroup_plugin ${LANG_ITALIAN} \
"Remove plugin directories"
"Cancella le directory per plugin"
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
"Remove the plugin directories if they are empty."
"Cancella le directory per plugin se sono vuote."
LangString str_unsection_plugin_home ${LANG_ITALIAN} \
"Privato"
"Private"
LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
"Remove the plugin directories from HOME directory."
"Cancella le directory per plugin dalla directory HOME."
LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
"Condiviso"
"Condivise"
LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
"Remove the plugin directories from Vim install directory."
"Cancella le directory per plugin dalla directory di installazione di Vim."
LangString str_unsection_rootdir ${LANG_ITALIAN} \
"Remove the Vim root directory"
"Cancella la directory di installazione di Vim"
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
"Remove the Vim root directory. It contains your Vim configuration files!"
"Cancella la directory di installazione di Vim. Contiene i vostri file di configurazione!"
##############################################################################
@ -177,8 +170,8 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
#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ò gestirne solo \
# ${VIM_MAX_OLD_VER}.$\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} \
@ -186,7 +179,7 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
# Dovrebbe terminare con $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
# "Incongruenza di installazione!$\r$\n$\r$\n\
# "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$\"."
@ -196,14 +189,14 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
#LangString str_msg_register_ole ${LANG_ITALIAN} \
# "Tentativo di registrazione di Vim con OLE. \
# Non ci sono messaggi che indicano se ha funzionato o no."
# Non c messaggio che indica se è riuscito o no."
#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
# "Tentativo di togliere da Registry Vim con OLE. \
# Non ci sono messaggi che indicano se ha funzionato o no."
# "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 delle seguenti versioni:"
# "Disinstallazione della seguente versione:"
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
# "Disinstallazione non riuscita per la seguente versione:"
@ -215,7 +208,7 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione nel Registry."
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
# "Non riesco a utilizzare programma disinstallazione."
# "Non riesco a trovare programma disinstallazione."
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
# "Non riesco a copiare programma disinstallazione a una \
@ -238,13 +231,13 @@ LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
# "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
LangString str_msg_uninstalling ${LANG_ITALIAN} \
"Uninstalling the old version..."
"Sto disinstallando la vecchia versione..."
LangString str_msg_registering ${LANG_ITALIAN} \
"Registering..."
"Sto aggiungendo Vim al Registry..."
LangString str_msg_unregistering ${LANG_ITALIAN} \
"Unregistering..."
"Sto togliendo Vim dal Registry..."
##############################################################################
@ -252,39 +245,39 @@ LangString str_msg_unregistering ${LANG_ITALIAN} \
##############################################################################
LangString str_vimrc_page_title ${LANG_ITALIAN} \
"Choose _vimrc settings"
"Scelta impostazioni _vimrc"
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
"Choose the settings for enhancement, keyboard and mouse."
"Scelta impostazioni per funzionalità ulteriori, tastiera e mouse."
LangString str_msg_compat_title ${LANG_ITALIAN} \
" Vi / Vim behavior "
" comportamento come Vi / Vim "
LangString str_msg_compat_desc ${LANG_ITALIAN} \
"&Compatibility and enhancements"
"&Compatibilità e funzionalità ulteriori"
LangString str_msg_compat_vi ${LANG_ITALIAN} \
"Vi compatible"
"Compatibile con Vi"
LangString str_msg_compat_vim ${LANG_ITALIAN} \
"Vim original"
"Vim originale"
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
"Vim with some enhancements (load defaults.vim)"
"Vim con alcune funzionalità ulteriori (esecuzione defaults.vim)"
LangString str_msg_compat_all ${LANG_ITALIAN} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
"Vim con tutte le funzionalità ulteriori (esecuzione vimrc_example.vim) (Default)"
LangString str_msg_keymap_title ${LANG_ITALIAN} \
" Mappings "
" Mappature "
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
"&Rimappatura di alcuni tasti per Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
LangString str_msg_keymap_default ${LANG_ITALIAN} \
"Do not remap keys (Default)"
"Non effettuare rimappature di tasti (Default)"
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
"Remap a few keys"
"Rimappare solo alcuni tasti"
LangString str_msg_mouse_title ${LANG_ITALIAN} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
"&Behavior of right and left buttons"
"&Comportamento dei pulsanti destro e sinistro"
LangString str_msg_mouse_default ${LANG_ITALIAN} \
"Right: popup menu, Left: visual mode (Default)"
"Destro: popup menu, Sinistro: modalità visuale (Default)"
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
"Right: popup menu, Left: select mode (Windows)"
"Destro: popup menu, Sinistro: seleziona modalità (Windows)"
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
"Right: extends selection, Left: visual mode (Unix)"
"Destro: estende selezione, Sinistro: modalità visuale (Unix)"

View File

@ -10,7 +10,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_JAPANESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_JAPANESE} \

View File

@ -11,7 +11,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SIMPCHINESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
@ -45,37 +45,37 @@ LangString str_type_full ${LANG_SIMPCHINESE} \
LangString str_section_old_ver ${LANG_SIMPCHINESE} \
"卸载旧版本"
LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
"卸载系统上旧版本的 Vim"
"卸载系统上已存在的 Vim 版本"
LangString str_section_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面"
LangString str_desc_exe ${LANG_SIMPCHINESE} \
"安装 Vim 图形界面及脚本。此为必选安装"
"安装 Vim 图形界面及运行时文件。此为必选。"
LangString str_section_console ${LANG_SIMPCHINESE} \
"安装 Vim 命令行程序"
"安装 Vim 控制台版本"
LangString str_desc_console ${LANG_SIMPCHINESE} \
"安装 Vim 命令行程序 (vim.exe)。该程序在命令行窗口中运行"
"安装 Vim 的控制台版本vim.exe"
LangString str_section_batch ${LANG_SIMPCHINESE} \
"安装批处理文件"
LangString str_desc_batch ${LANG_SIMPCHINESE} \
"为 Vim 的各种变体创建批处理程序,以便在命令行下运行 Vim。"
"为 Vim 的各种变体创建批处理文件,以便在命令行下运行 Vim。"
LangString str_group_icons ${LANG_SIMPCHINESE} \
"创建 Vim 图标"
"创建图标"
LangString str_desc_icons ${LANG_SIMPCHINESE} \
"为 Vim 创建若干图标,以方便使用 Vim。"
LangString str_section_desktop ${LANG_SIMPCHINESE} \
"桌面"
"桌面图标"
LangString str_desc_desktop ${LANG_SIMPCHINESE} \
"在桌面上为 Vim 创建若干图标,以方便启动 Vim"
"创建 Vim 的桌面快捷方式图标"
LangString str_section_start_menu ${LANG_SIMPCHINESE} \
"在启动菜单程序菜单下"
"「开始」菜单程序"
LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
"启动菜单的程序菜单下添加 Vim 组。适用于 Windows 95 及以上版本"
"开始菜单中添加 Vim 程序组(适用于 Windows 95 及以上版本"
#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
# "在快速启动启动栏中"
@ -83,9 +83,9 @@ LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
# "在快速启动栏中添加 Vim 图标。"
LangString str_section_edit_with ${LANG_SIMPCHINESE} \
"安装快捷菜单"
"添加到快捷菜单"
LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
"将 Vim 添加到“打开方式”快捷菜单中。"
"“用 Vim 编辑”添加到快捷菜单中。"
#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
# "32 位版本"
@ -98,10 +98,10 @@ LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
"创建缺省配置文件"
"创建默认配置文件"
LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
"在安装目录下生成缺省的 Vim 配置文件(_vimrc)。\
如果该文件已经存在,则略过此项。"
"在安装目录下生成默认的 Vim 配置文件(_vimrc)。\
如果该文件已经存在,则跳过该项。"
LangString str_group_plugin ${LANG_SIMPCHINESE} \
"创建插件目录"
@ -121,9 +121,9 @@ LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
该目录下的扩展插件。"
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
"安装 VisVim 插件"
"VisVim 插件"
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
"安装用于与微软 Microsoft Visual Studio 进行集成的 VisVim 插件。"
"安装 Visual Studio 集成的 VisVim 插件。"
LangString str_section_nls ${LANG_SIMPCHINESE} \
"安装多语言支持"
@ -153,12 +153,12 @@ LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
LangString str_desc_rm_plugin_vim ${LANG_SIMPCHINESE} \
"Remove the plugin directories from Vim install directory."
"从 Vim 安装目录下移除插件目录。"
LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
"Remove the Vim root directory"
"移除 Vim 主目录"
LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
"Remove the Vim root directory. It contains your Vim configuration files!"
"移除 Vim 的主目录,该目录包含您的配置文件!"
##############################################################################
@ -225,13 +225,13 @@ LangString str_msg_rm_exe_fail ${LANG_SIMPCHINESE} \
# 该目录下仍有其他文件。"
LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
"Uninstalling the old version..."
"正在卸载旧版本..."
LangString str_msg_registering ${LANG_SIMPCHINESE} \
"Registering..."
"正在注册..."
LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
"Unregistering..."
"正在取消注册..."
##############################################################################
@ -239,12 +239,12 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
##############################################################################
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
"Choose _vimrc settings"
"设置 _vimrc"
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
"Choose the settings for enhancement, keyboard and mouse."
"选择键盘、鼠标和增强选项。"
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
" Vi / Vim behavior "
"Vi / Vim 行为"
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
"&Compatibility and enhancements"
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
@ -257,7 +257,7 @@ 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} \
@ -266,7 +266,7 @@ 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} \

View File

@ -11,7 +11,7 @@
# Overwrite the default translation.
# These string should be always English. Otherwise dosinst.c fails.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_TRADCHINESE} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_TRADCHINESE} \

View File

@ -1,8 +1,12 @@
" Author: Antony Lee <anntzer.lee@gmail.com>
" Description: Helper functions for reStructuredText syntax folding
" Last Modified: 2018-01-07
" 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]
@ -20,12 +24,18 @@ function s:CacheRstFold()
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
@ -37,6 +47,10 @@ function RstFold#GetRstFold()
endfunction
function RstFold#GetRstFoldText()
if !g:rst_fold_enabled
return
endif
if !has_key(b:, 'RstFoldCache')
call s:CacheRstFold()
endif

View File

@ -1,7 +1,7 @@
" Vim functions for file type detection
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Dec 05
" Last Change: 2019 Mar 08
" These functions are moved here from runtime/filetype.vim to make startup
" faster.
@ -197,7 +197,7 @@ func dist#ft#FTe()
exe 'setf ' . g:filetype_euphoria
else
let n = 1
while n < 100 && n < line("$")
while n < 100 && n <= line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
setf specman
return
@ -211,7 +211,7 @@ endfunc
" Distinguish between HTML, XHTML and Django
func dist#ft#FThtml()
let n = 1
while n < 10 && n < line("$")
while n < 10 && n <= line("$")
if getline(n) =~ '\<DTD\s\+XHTML\s'
setf xhtml
return
@ -222,13 +222,13 @@ func dist#ft#FThtml()
endif
let n = n + 1
endwhile
setf html
setf FALLBACK html
endfunc
" Distinguish between standard IDL and MS-IDL
func dist#ft#FTidl()
let n = 1
while n < 50 && n < line("$")
while n < 50 && n <= line("$")
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
setf msidl
return
@ -484,6 +484,10 @@ 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
@ -531,6 +535,10 @@ endfunc
" 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
@ -551,6 +559,10 @@ func dist#ft#SetFileTypeShell(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"
@ -687,7 +699,7 @@ endfunc
func dist#ft#FTxml()
let n = 1
while n < 100 && n < line("$")
while n < 100 && n <= line("$")
let line = getline(n)
" DocBook 4 or DocBook 5.
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
@ -713,7 +725,7 @@ endfunc
func dist#ft#FTy()
let n = 1
while n < 100 && n < line("$")
while n < 100 && n <= line("$")
let line = getline(n)
if line =~ '^\s*%'
setf yacc

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -1,35 +1,25 @@
" Vim support file to help with paste mappings and menus
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Aug 30
" 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'] = "\<c-\>\<c-o>\"+gP"
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

@ -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:

View File

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

View File

@ -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

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

View File

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

View File

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

View File

@ -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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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

@ -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

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2017 Jun 13
" Last change: 2019 Feb 18
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@ -90,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,
@ -116,7 +116,7 @@ if has("autocmd")
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

@ -83,6 +83,7 @@ DOCS = \
pi_tar.txt \
pi_vimball.txt \
pi_zip.txt \
popup.txt \
print.txt \
quickfix.txt \
quickref.txt \
@ -102,6 +103,7 @@ DOCS = \
tagsrch.txt \
term.txt \
terminal.txt \
testing.txt \
textprop.txt \
tips.txt \
todo.txt \
@ -220,6 +222,7 @@ HTMLS = \
pi_tar.html \
pi_vimball.html \
pi_zip.html \
popup.html \
print.html \
quickfix.html \
quickref.html \
@ -239,6 +242,7 @@ HTMLS = \
tagsrch.html \
term.html \
terminal.html \
testing.html \
textprop.html \
tips.html \
todo.html \

View File

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

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.1. Last change: 2018 May 03
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jun 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -20,7 +20,6 @@ For a basic explanation, see section |40.3| in the user manual.
10. Using autocommands |autocmd-use|
11. Disabling autocommands |autocmd-disable|
{Vi does not have any of these commands}
==============================================================================
1. Introduction *autocmd-intro*
@ -52,7 +51,7 @@ effects. Be careful not to destroy your text.
2. Defining autocommands *autocmd-define*
*:au* *:autocmd*
:au[tocmd] [group] {event} {pat} [nested] {cmd}
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat} |autocmd-patterns|.
@ -60,7 +59,13 @@ effects. Be careful not to destroy your text.
:autocmd and won't start a comment.
Vim always adds the {cmd} after existing autocommands,
so that the autocommands execute in the order in which
they were given. See |autocmd-nested| for [nested].
they were given.
See |autocmd-nested| for [++nested]. "nested"
(without the ++) can also be used, for backwards
compatibility.
*autocmd-once*
If [++once] is supplied the command is executed once,
then removed ("one shot").
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
@ -128,10 +133,11 @@ prompt. When one command outputs two messages this can happen anyway.
==============================================================================
3. Removing autocommands *autocmd-remove*
:au[tocmd]! [group] {event} {pat} [nested] {cmd}
:au[tocmd]! [group] {event} {pat} [++once] [++nested] {cmd}
Remove all autocommands associated with {event} and
{pat}, and add the command {cmd}. See
|autocmd-nested| for [nested].
{pat}, and add the command {cmd}.
See |autocmd-once| for [++once].
See |autocmd-nested| for [++nested].
:au[tocmd]! [group] {event} {pat}
Remove all autocommands associated with {event} and
@ -311,6 +317,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
@ -359,6 +366,7 @@ Name triggered by ~
|SessionLoadPost| after loading a session file
|MenuPopup| just before showing the popup menu
|CompleteChanged| after Insert mode completion menu changed
|CompleteDone| after Insert mode completion is done
|User| to be used in combination with ":doautocmd"
@ -399,8 +407,8 @@ BufFilePost After changing the name of the current buffer
BufFilePre Before changing the name of the current buffer
with the ":file" or ":saveas" command.
*BufHidden*
BufHidden Just after a buffer has become hidden. That
is, when there are no longer windows that show
BufHidden Just before a buffer becomes hidden. That is,
when there are no longer windows that show
the buffer, but the buffer is not unloaded or
deleted. Not used for ":qa" or ":q" when
exiting Vim.
@ -571,6 +579,25 @@ ColorScheme After loading a color scheme. |:colorscheme|
ColorSchemePre Before loading a color scheme. |:colorscheme|
Useful to setup removing things added by a
color scheme, before another one is loaded.
CompleteChanged *CompleteChanged*
After each time the Insert mode completion
menu changed. Not fired on popup menu hide,
use |CompleteDone| for that. Never triggered
recursively.
Sets these |v:event| keys:
completed_item See |complete-items|.
height nr of items visible
width screen cells
row top screen row
col leftmost screen column
size total nr of items
scrollbar TRUE if visible
It is not allowed to change the text |textlock|.
The size and position of the popup are also
available by calling |pum_getpos()|.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
@ -620,6 +647,8 @@ CursorMoved After the cursor was moved in Normal or Visual
Not triggered when there is typeahead or when
an operator is pending.
For an example see |match-parens|.
Note: This can not be skipped with
`:noautocmd`.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
@ -664,13 +693,14 @@ DiffUpdated After diffs have been updated. Depending on
change or when doing |:diffupdate|.
*DirChanged*
DirChanged The working directory has changed in response
to the |:cd| or |:lcd| commands, or as a
result of the 'autochdir' option.
to the |:cd| or |:tcd| or |:lcd| commands, or
as a result of the 'autochdir' option.
The pattern can be:
"window" to trigger on `:lcd`
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
"window" to trigger on `:lcd`
"tabpage" to trigger on `:tcd`
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
<afile> is set to the new directory name.
*ExitPre*
ExitPre When using `:quit`, `:wq` in a way it makes
@ -759,13 +789,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
@ -846,15 +877,32 @@ MenuPopup Just before showing the popup menu (under the
*OptionSet*
OptionSet After setting an option. The pattern is
matched against the long option name.
The |v:option_old| variable indicates the
old option value, |v:option_new| variable
indicates the newly set value, the
|v:option_type| variable indicates whether
it's global or local scoped and |<amatch>|
indicates what option has been set.
|<amatch>| indicates what option has been set.
Is not triggered on startup and for the 'key'
option for obvious reasons.
|v:option_type| indicates whether it's global
or local scoped.
|v:option_command| indicates what type of
set/let command was used (follow the tag to
see the table).
|v:option_new| indicates the newly set value.
|v:option_oldlocal| has the old local value.
|v:option_oldglobal| has the old global value.
|v:option_old| indicates the old option value.
|v:option_oldlocal| is only set when |:set|
or |:setlocal| or a |modeline| was used to set
the option. Similarly |v:option_oldglobal| is
only set when |:set| or |:setglobal| was used.
Note that when setting a |global-local| string
option with |:set|, then |v:option_old| is the
old global value. However, for all other kinds
of options (local string options, global-local
number options, ...) it is the old local
value.
OptionSet is not triggered on startup and for
the 'key' option for obvious reasons.
Usage example: Check for the existence of the
directory in the 'backupdir' and 'undodir'
@ -868,7 +916,6 @@ OptionSet After setting an option. The pattern is
When using |:set| in the autocommand the event
is not triggered again.
*QuickFixCmdPre*
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
@ -924,6 +971,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.
@ -1010,10 +1063,14 @@ 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.
Note: This can not be skipped with
`:noautocmd`.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
@ -1329,7 +1386,7 @@ have changed autocommands, or when Vim has executed the wrong autocommands
Note that the 'eventignore' option applies here too. Events listed in this
option will not cause any commands to be executed.
*:do* *:doau* *:doautocmd* *E217*
*:do* *:doau* *:doaut* *:doautocmd* *E217*
:do[autocmd] [<nomodeline>] [group] {event} [fname]
Apply the autocommands matching [fname] (default:
current file name) for {event} to the current buffer.
@ -1455,11 +1512,11 @@ If you want the buffer to be unmodified after changing it, reset the
instead of ":q!".
*autocmd-nested* *E218*
By default, autocommands do not nest. If you use ":e" or ":w" in an
autocommand, Vim does not execute the BufRead and BufWrite autocommands for
By default, autocommands do not nest. For example, if you use ":e" or ":w" in
an autocommand, Vim does not execute the BufRead and BufWrite autocommands for
those commands. If you do want this, use the "nested" flag for those commands
in which you want nesting. For example: >
:autocmd FileChangedShell *.c nested e!
:autocmd FileChangedShell *.c ++nested e!
The nesting is limited to 10 levels to get out of recursive loops.
It's possible to use the ":au" command in an autocommand. This can be a
@ -1602,5 +1659,8 @@ following command. Example: >
This will write the file without triggering the autocommands defined by the
gzip plugin.
Note that some autocommands are not triggered right away, but only later.
This specifically applies to |CursorMoved| and |TextChanged|.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

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

View File

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

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
*cmdline.txt* For Vim version 8.1. Last change: 2019 Aug 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -27,7 +27,6 @@ Basic command line editing is explained in chapter 20 of the user manual
Normally characters are inserted in front of the cursor position. You can
move around in the command-line with the left and right cursor keys. With the
<Insert> key, you can toggle between inserting and overstriking characters.
{Vi: can only alter the last character in the line}
Note that if your keyboard does not have working cursor keys or any of the
other special keys, you can use ":cnoremap" to define another key for them.
@ -66,7 +65,6 @@ Notes:
- All searches are put in the search history, including the ones that come
from commands like "*" and "#". But for a mapping, only the last search is
remembered (to avoid that long mappings trash the history).
{Vi: no history}
{not available when compiled without the |+cmdline_hist| feature}
There is an automatic completion of names on the command-line; see
@ -124,12 +122,12 @@ CTRL-U Remove all characters between the cursor position and
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>* *c_Insert*
<Insert> Toggle between insert and overstrike. {not in Vi}
<Insert> Toggle between insert and overstrike.
{char1} <BS> {char2} or *c_digraph*
CTRL-K {char1} {char2} *c_CTRL-K*
enter digraph (see |digraphs|). When {char1} is a special
key, the code for that key is inserted in <> form. {not in Vi}
key, the code for that key is inserted in <> form.
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
Insert the contents of a numbered or named register. Between
@ -165,7 +163,7 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
too.
When the result is a Float it's automatically
converted to a String.
See |registers| about registers. {not in Vi}
See |registers| about registers.
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
inserting the resulting string. Use CTRL-R CTRL-R to set the
@ -188,7 +186,6 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
currently displayed match is used. With CTRL-W the part of
the word that was already typed is not inserted again.
{not in Vi}
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
included}
@ -313,11 +310,9 @@ CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
off, since you are expected to type a command. After
switching it on with CTRL-^, the new state is not used again
for the next command or Search pattern.
{not in Vi}
*c_CTRL-]*
CTRL-] Trigger abbreviation, without inserting a character. {not in
Vi}
CTRL-] Trigger abbreviation, without inserting a character.
For Emacs-style editing on the command-line see |emacs-keys|.
@ -332,7 +327,6 @@ terminals)
*:his* *:history*
:his[tory] Print the history of last entered commands.
{not in Vi}
{not available when compiled without the |+cmdline_hist|
feature}
@ -344,7 +338,6 @@ terminals)
i[nput] or @ input line history
d[ebug] or > debug command history
a[ll] all of the above
{not in Vi}
If the numbers {first} and/or {last} are given, the respective
range of entries from a history is listed. These numbers can
@ -387,10 +380,8 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
The number of help item matches is limited (currently to 300) to avoid a long
delay when there are very many matches.
These are the commands that can be used:
@ -709,7 +700,7 @@ commands ":write" and ":global" have the whole file (1,$) as default.
If more line specifiers are given than required for the command, the first
one(s) will be ignored.
Line numbers may be specified with: *:range* *E14* *{address}*
Line numbers may be specified with: *:range* *{address}*
{number} an absolute line number
. the current line *:.*
$ the last line in the file *:$*
@ -1071,8 +1062,7 @@ Also see |`=|.
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
{not available when compiled without the |+cmdline_hist| or |+vertsplit|
feature}
{not available when compiled without the |+cmdline_hist| feature}
OPEN *c_CTRL-F* *q:* *q/* *q?*
@ -1147,7 +1137,6 @@ VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the |+vertsplit| feature
Some options are set when the command-line window is opened:
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax

View File

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

View File

@ -1,4 +1,4 @@
*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
*debugger.txt* For Vim version 8.1. Last change: 2019 Jul 06
VIM REFERENCE MANUAL by Gordon Prieur
@ -6,18 +6,19 @@
Debugger Support Features *debugger-support*
These features are for integration with a debugger or an Integrated
Programming Environment (IPE) or Integrated Development Environment (IDE).
For the debugger running in a Vim terminal window see |terminal-debugger|.
1. Debugger Features |debugger-features|
2. Vim Compile Options |debugger-compilation|
3. Integrated Debuggers |debugger-integration|
{Vi does not have any of these features}
==============================================================================
1. Debugger Features *debugger-features*
The following features are available for an integration with a debugger or
an Integrated Programming Environment (IPE) or Integrated Development
Environment (IDE):
The following features are available:
Alternate Command Input |alt-input|
Debug Signs |debug-signs|
@ -88,7 +89,11 @@ This feature allows a debugger, or other external tool, to display dynamic
information based on where the mouse is pointing. The purpose of this feature
was to allow Sun's Visual WorkShop debugger to display expression evaluations.
However, the feature was implemented in as general a manner as possible and
could be used for displaying other information as well.
could be used for displaying other information as well. The functionality is
limited though, for advanced popups see |popup-window|.
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
The Balloon Evaluation has some settable parameters too. For Motif the font
list and colors can be set via X resources (XmNballoonEvalFontList,
@ -106,9 +111,6 @@ The Balloon evaluation functions are also used to show a tooltip for the
toolbar. The 'ballooneval' option does not need to be set for this. But the
other settings apply.
Another way to use the balloon is with the 'balloonexpr' option. This is
completely user definable.
==============================================================================
2. Vim Compile Options *debugger-compilation*

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.1. Last change: 2018 May 02
*develop.txt* For Vim version 8.1. Last change: 2019 Aug 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -278,7 +278,6 @@ wait don't use as argument to a function, conflicts with types.h
index shadows global declaration
time shadows global declaration
new C++ reserved keyword
try Borland C++ doesn't like it to be used as a variable.
clear Mac curses.h
echo Mac curses.h
@ -355,6 +354,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.
@ -367,10 +384,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;
@ -512,7 +529,7 @@ the best method is. Alternatives:
memory use, but takes a long time. On a fast PC it takes a couple of
seconds for English, which can be acceptable for interactive use. But for
some languages it takes more than ten seconds (e.g., German, Catalan),
which is unacceptable slow. For batch processing (automatic corrections)
which is unacceptably slow. For batch processing (automatic corrections)
it's too slow for all languages.
2. Use a trie for the soundfolded words, so that searching can be done just
like how it works without soundfolding. This requires remembering a list

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.1. Last change: 2017 Oct 03
*diff.txt* For Vim version 8.1. Last change: 2019 Jul 27
VIM REFERENCE MANUAL by Bram Moolenaar
@ -16,8 +16,6 @@ The basics are explained in section |08.7| of the user manual.
4. Copying diffs |copy-diffs|
5. Diff options |diff-options|
{not in Vi}
==============================================================================
1. Starting diff mode *start-vimdiff*
@ -179,15 +177,15 @@ loaded. Since Vim doesn't allow having two buffers for the same file, you
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
(this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
between the current buffer and the file it was loaded from.
(this is in |defaults.vim|). Use ":DiffOrig" to see the differences between
the current buffer and the file it was loaded from.
A buffer that is unloaded cannot be used for the diff. But it does work for
hidden buffers. You can use ":hide" to close a window without unloading the
buffer. If you don't want a buffer to remain used for the diff do ":set
nodiff" before hiding it.
*:dif* *:diffupdate*
*:dif* *:diff* *:diffupdate*
:dif[fupdate][!] Update the diff highlighting and folds.
Vim attempts to keep the differences updated when you make changes to the
@ -337,7 +335,7 @@ After setting this variable, reload the syntax script: >
FINDING THE DIFFERENCES *diff-diffexpr*
The 'diffexpr' option can be set to use something else than the standard
"diff" program to compare two files and find the differences.
"diff" program to compare two files and find the differences. *E959*
When 'diffexpr' is empty, Vim uses this command to find the differences
between file1 and file2: >

View File

@ -1,4 +1,4 @@
*digraph.txt* For Vim version 8.1. Last change: 2018 Dec 14
*digraph.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,7 +18,6 @@ An alternative is using the 'keymap' option.
2. Using digraphs |digraphs-use|
3. Default digraphs |digraphs-default|
{Vi does not have any of these commands}
==============================================================================
1. Defining digraphs *digraphs-define*
@ -59,18 +58,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*
@ -164,8 +154,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

View File

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

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.1. Last change: 2018 Dec 16
*editing.txt* For Vim version 8.1. Last change: 2019 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -44,14 +44,14 @@ An alternate file name is remembered for each window.
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
name. Note that commands invoked indirectly (e.g.,
with a function) may still set the alternate file
name. {not in Vi}
name.
All file names are remembered in the buffer list. When you enter a file name,
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
the file name is added to the list. You can use the buffer list to remember
which files you edited and to quickly switch from one file to another (e.g.,
to copy text) with the |CTRL-^| command. First type the number of the file
and then hit CTRL-^. {Vi: only one alternate file name is remembered}
and then hit CTRL-^.
CTRL-G or *CTRL-G* *:f* *:fi* *:file*
@ -60,14 +60,13 @@ CTRL-G or *CTRL-G* *:f* *:fi* *:file*
option is set), and the file status (readonly,
modified, read errors, new file). See the 'shortmess'
option about how to make this message shorter.
{Vi does not include column number}
:f[ile]! like |:file|, but don't truncate the name even when
'shortmess' indicates this.
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
buffer number is also given. {not in Vi}
buffer number is also given.
*g_CTRL-G* *word-count* *byte-count*
g CTRL-G Prints the current position of the cursor in five
@ -80,7 +79,6 @@ g CTRL-G Prints the current position of the cursor in five
column are shown, separated with a dash.
Also see the 'ruler' option and the |wordcount()|
function.
{not in Vi}
*v_g_CTRL-G*
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
@ -88,7 +86,6 @@ g CTRL-G Prints the current position of the cursor in five
displayed.
In Blockwise mode, Column count is also shown. (For
{Visual} see |Visual-mode|.)
{not in VI}
*:file_f*
:f[ile][!] {name} Sets the current file name to {name}. The optional !
@ -98,14 +95,12 @@ g CTRL-G Prints the current position of the cursor in five
to hold the old name.
*:0file*
:0f[ile][!] Remove the name of the current buffer. The optional !
avoids truncating the message, as with |:file|. {not
in Vi}
avoids truncating the message, as with |:file|.
:buffers
:files
:ls List all the currently known file names. See
'windows.txt' |:files| |:buffers| |:ls|. {not in
Vi}
'windows.txt' |:files| |:buffers| |:ls|.
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
@ -202,7 +197,6 @@ If you want to keep the changed buffer without saving it, switch on the
buffer and 'autowriteall' isn't set or the file can't
be written.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit!* *discard*
:e[dit]! [++opt] [+cmd]
@ -210,7 +204,6 @@ If you want to keep the changed buffer without saving it, switch on the
the current buffer. This is useful if you want to
start all over again.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit_f*
:e[dit] [++opt] [+cmd] {file}
@ -219,14 +212,12 @@ If you want to keep the changed buffer without saving it, switch on the
buffer, unless 'hidden' is set or 'autowriteall' is
set and the file can be written.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit!_f*
:e[dit]! [++opt] [+cmd] {file}
Edit {file} always. Discard any changes to the
current buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:e[dit] [++opt] [+cmd] #[count]
Edit the [count]th buffer (as shown by |:files|).
@ -234,7 +225,6 @@ If you want to keep the changed buffer without saving it, switch on the
#" doesn't work if the alternate buffer doesn't have a
file name, while CTRL-^ still works then.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:ene* *:enew*
:ene[w] Edit a new, unnamed buffer. This fails when changes
@ -244,19 +234,17 @@ If you want to keep the changed buffer without saving it, switch on the
If 'fileformats' is not empty, the first format given
will be used for the new buffer. If 'fileformats' is
empty, the 'fileformat' of the current buffer is used.
{not in Vi}
*:ene!* *:enew!*
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
the current buffer.
Set 'fileformat' like |:enew|.
{not in Vi}
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
{not in Vi} {not available when the |+file_in_path|
feature was disabled at compile time}
{not available when the |+file_in_path| feature was
disabled at compile time}
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
@ -278,7 +266,7 @@ If you want to keep the changed buffer without saving it, switch on the
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex-mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
'readonly' option for this buffer. {not in Vi}
'readonly' option for this buffer.
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file. Mostly the alternate file is
@ -297,7 +285,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
":e #[count]"). This is a quick way to switch between
files.
See |CTRL-^| above for further details.
{not in Vi}
[count]]f *]f* *[f*
[count][f Same as "gf". Deprecated.
@ -331,7 +318,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
For Unix the '~' character is expanded, like in
"~user/file". Environment variables are expanded too
|expand-env|.
{not in Vi}
{not available when the |+file_in_path| feature was
disabled at compile time}
@ -341,7 +327,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
Leading blanks are skipped, otherwise all blanks and
special characters are included in the file name.
(For {Visual} see |Visual-mode|.)
{not in VI}
*gF*
[count]gF Same as "gf", except if a number follows the file
@ -608,7 +593,7 @@ You can use the argument list with the following commands, and with the
expression functions |argc()| and |argv()|. These all work on the argument
list of the current window.
*:ar* *:args*
*:ar* *:arg* *:args*
:ar[gs] Print the argument list, with the current file in
square brackets.
@ -617,14 +602,12 @@ list of the current window.
the first one. This fails when changes have been made
and Vim does not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:ar[gs]! [++opt] [+cmd] {arglist} *:args_f!*
Define {arglist} as the new argument list and edit
the first one. Discard any changes to the current
buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
Add {name}s to the argument list and edit it.
@ -637,7 +620,6 @@ list of the current window.
still be added to the argument list, but won't be
edited. No check for duplicates is done.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
:[count]arga[dd]
@ -659,7 +641,6 @@ list of the current window.
There is no check for duplicates, it is possible to
add a file to the argument list twice.
The currently edited file is not changed.
{not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
@ -673,7 +654,6 @@ list of the current window.
when it's deleted from the argument list.
Example: >
:argdel *.obj
< {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
@ -688,7 +668,6 @@ list of the current window.
< Removes all the files from the arglist.
When the last number in the range is too high, up to
the last argument is deleted.
{not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
@ -697,25 +676,21 @@ list of the current window.
when changes have been made and Vim does not want to
|abandon| the current buffer.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]argu[ment]! [count] [++opt] [+cmd]
Edit file [count] in the argument list, discard any
changes to the current buffer. When [count] is
omitted the current entry is used.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
been made and Vim does not want to |abandon| the
current buffer. Also see |++opt| and |+cmd|. {Vi: no
count or ++opt}.
current buffer. Also see |++opt| and |+cmd|.
:[count]n[ext]! [++opt] [+cmd]
Edit [count] next file, discard any changes to the
buffer. Also see |++opt| and |+cmd|. {Vi: no count
or ++opt}.
buffer. Also see |++opt| and |+cmd|.
:n[ext] [++opt] [+cmd] {arglist} *:next_f*
Same as |:args_f|.
@ -727,65 +702,63 @@ list of the current window.
Edit [count] previous file in argument list. This
fails when changes have been made and Vim does not
want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {Vi: no count or ++opt}.
Also see |++opt| and |+cmd|.
:[count]N[ext]! [count] [++opt] [+cmd]
Edit [count] previous file in argument list. Discard
any changes to the buffer. Also see |++opt| and
|+cmd|. {Vi: no count or ++opt}.
|+cmd|.
:[count]prev[ious] [count] [++opt] [+cmd] *:prev* *:previous*
Same as :Next. Also see |++opt| and |+cmd|. {Vi:
only in some versions}
Same as :Next. Also see |++opt| and |+cmd|.
*:rew* *:rewind*
:rew[ind] [++opt] [+cmd]
Start editing the first file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {Vi: no ++opt}
Also see |++opt| and |+cmd|.
:rew[ind]! [++opt] [+cmd]
Start editing the first file in the argument list.
Discard any changes to the buffer. Also see |++opt|
and |+cmd|. {Vi: no ++opt}
and |+cmd|.
*:fir* *:first*
:fir[st][!] [++opt] [+cmd]
Other name for ":rewind". {not in Vi}
Other name for ":rewind".
*:la* *:last*
:la[st] [++opt] [+cmd]
Start editing the last file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {not in Vi}
Also see |++opt| and |+cmd|.
:la[st]! [++opt] [+cmd]
Start editing the last file in the argument list.
Discard any changes to the buffer. Also see |++opt|
and |+cmd|. {not in Vi}
and |+cmd|.
*:wn* *:wnext*
:[count]wn[ext] [++opt]
Write current file and start editing the [count]
next file. Also see |++opt| and |+cmd|. {not in Vi}
next file. Also see |++opt| and |+cmd|.
:[count]wn[ext] [++opt] {file}
Write current file to {file} and start editing the
[count] next file, unless {file} already exists and
the 'writeany' option is off. Also see |++opt| and
|+cmd|. {not in Vi}
|+cmd|.
:[count]wn[ext]! [++opt] {file}
Write current file to {file} and start editing the
[count] next file. Also see |++opt| and |+cmd|. {not
in Vi}
[count] next file. Also see |++opt| and |+cmd|.
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
Same as :wnext, but go to previous file instead of
next. {not in Vi}
next.
The [count] in the commands above defaults to one. For some commands it is
possible to use two counts. The last one (rightmost one) is used.
@ -826,8 +799,6 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
Doesn't start editing another file.
@ -878,7 +849,6 @@ USING THE ARGUMENT LIST
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
{not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@ -970,12 +940,11 @@ slower (but safer).
When 'filetype' is empty filetype detection is done
with the new name, before the file is written.
When the write was successful 'readonly' is reset.
{not in Vi}
*:up* *:update*
:[range]up[date][!] [++opt] [>>] [file]
Like ":write", but only write when the buffer has been
modified. {not in Vi}
modified.
WRITING WITH MULTIPLE BUFFERS *buffer-write*
@ -983,11 +952,11 @@ WRITING WITH MULTIPLE BUFFERS *buffer-write*
*:wa* *:wall*
:wa[ll] Write all changed buffers. Buffers without a file
name cause an error message. Buffers which are
readonly are not written. {not in Vi}
readonly are not written.
:wa[ll]! Write all changed buffers, even the ones that are
readonly. Buffers without a file name are not
written and cause an error message. {not in Vi}
written and cause an error message.
Vim will warn you if you try to overwrite a file that has been changed
@ -1118,7 +1087,7 @@ The names can be in upper- or lowercase.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
edited. See |:confirm| and 'confirm'. {not in Vi}
edited. See |:confirm| and 'confirm'.
:q[uit]! Quit without writing, also when the current buffer has
changes. The buffer is unloaded, also when it has
@ -1131,7 +1100,7 @@ The names can be in upper- or lowercase.
:cq[uit] Quit always, without writing, and return an error
code. See |:cq|. Used for Manx's QuickFix mode (see
|quickfix|). {not in Vi}
|quickfix|).
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
@ -1169,7 +1138,7 @@ ZZ Write current file, if modified, and quit (same as
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
{not in Vi}
MULTIPLE WINDOWS AND BUFFERS *window-exit*
@ -1177,36 +1146,35 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
:qa[ll] Exit Vim, unless there are some buffers which have been
changed. (Use ":bmod" to go to the next modified buffer).
When 'autowriteall' is set all changed buffers will be
written, like |:wqall|. {not in Vi}
written, like |:wqall|.
:conf[irm] qa[ll]
Exit Vim. Bring up a prompt when some buffers have been
changed. See |:confirm|. {not in Vi}
changed. See |:confirm|.
:qa[ll]! Exit Vim. Any changes to buffers are lost. {not in Vi}
:qa[ll]! Exit Vim. Any changes to buffers are lost.
Also see |:cquit|, it does the same but exits with a non-zero
value.
*:quita* *:quitall*
:quita[ll][!] Same as ":qall". {not in Vi}
:quita[ll][!] Same as ":qall".
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
without a file name, which are readonly or which cannot be
written for another reason, Vim will not quit. {not in Vi}
written for another reason, Vim will not quit.
:conf[irm] wqa[ll] [++opt]
:conf[irm] xa[ll]
Write all changed buffers and exit Vim. Bring up a prompt
when some buffers are readonly or cannot be written for
another reason. See |:confirm|. {not in Vi}
another reason. See |:confirm|.
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
{not in Vi}
==============================================================================
6. Dialogs *edit-dialogs*
@ -1304,9 +1272,10 @@ use has("browsefilter"): >
==============================================================================
7. The current directory *current-directory*
You may use the |:cd| and |:lcd| commands to change to another directory, so
you will not have to type that directory name in front of the file names. It
also makes a difference for executing external commands, e.g. ":!ls".
You can use the |:cd|, |:tcd| and |:lcd| commands to change to another
directory, so you will not have to type that directory name in front of the
file names. It also makes a difference for executing external commands, e.g.
":!ls".
Changing directory fails when the current buffer is modified, the '.' flag is
present in 'cpoptions' and "!" is not used in the command.
@ -1316,10 +1285,12 @@ present in 'cpoptions' and "!" is not used in the command.
name. On Unix systems: Change the current directory
to the home directory. Use |:pwd| to print the
current directory on all systems.
On Unix systems: clear any window-local directory.
:cd[!] {path} Change the current directory to {path}.
If {path} is relative, it is searched for in the
directories listed in |'cdpath'|.
Clear any window-local directory.
Does not change the meaning of an already opened file,
because its full path name is remembered. Files from
the |arglist| may change though!
@ -1329,36 +1300,54 @@ present in 'cpoptions' and "!" is not used in the command.
<
*:cd-* *E186*
:cd[!] - Change to the previous current directory (before the
previous ":cd {path}" command). {not in Vi}
previous ":cd {path}" command).
*:chd* *:chdir*
:chd[ir][!] [path] Same as |:cd|.
*:tcd*
:tcd[!] {path} Like |:cd|, but only set the directory for the current
tab. The current window will also use this directory.
The current directory is not changed for windows in
other tabs and for windows in the current tab that
have their own window-local directory.
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
directory for other windows is not changed, switching
to another window will stop using {path}.
{not in Vi}
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|. {not in Vi}
:lch[dir][!] Same as |:lcd|.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name. {Vi: no pwd}
:pw[d] Print the current directory name.
Also see |getcwd()|.
So long as no |:lcd| command has been used, all windows share the same current
directory. Using a command to jump to another window doesn't change anything
for the current directory.
So long as no |:lcd| or |:tcd| command has been used, all windows share the
same current directory. Using a command to jump to another window doesn't
change anything for the current directory.
When a |:lcd| command has been used for a window, the specified directory
becomes the current directory for that window. Windows where the |:lcd|
command has not been used stick to the global current directory. When jumping
to another window the current directory will become the last specified local
current directory. If none was specified, the global current directory is
used.
When a |:cd| command is used, the current window will lose his local current
directory and will use the global current directory from now on.
command has not been used stick to the global or tab-local current directory.
When jumping to another window the current directory will become the last
specified local current directory. If none was specified, the global or
tab-local current directory is used.
When a |:tcd| command has been used for a tab page, the specified directory
becomes the current directory for the current tab page and the current window.
The current directory of other tab pages is not affected. When jumping to
another tab page, the current directory will become the last specified local
directory for that tab page. If the current tab has no local current directory
the global current directory is used.
When a |:cd| command is used, the current window and tab page will lose the
local current directory and will use the global current directory from now on.
After using |:cd| the full path name will be used for reading and writing
files. On some networked file systems this may cause problems. The result of
@ -1395,8 +1384,7 @@ There are a few things to remember when editing binary files:
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
and when the file is written the <NL> will be replaced with <CR> <NL>.
- <Nul> characters are shown on the screen as ^@. You can enter them with
"CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
file}
"CTRL-V CTRL-@" or "CTRL-V 000"
- To insert a <NL> character in the file split a line. When writing the
buffer to a file a <NL> will be written for the <EOL>.
- Vim normally appends an <EOL> at the end of the file if there is none.

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
*farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
*farsi.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@ -6,264 +6,14 @@
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:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
*filetype.txt* For Vim version 8.1. Last change: 2019 Jul 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -12,7 +12,6 @@ Filetypes *filetype* *file-type*
Also see |autocmd.txt|.
{Vi does not have any of these commands}
==============================================================================
1. Filetypes *filetypes* *file-types*
@ -643,6 +642,16 @@ To disable this behavior, set the following variable in your vimrc: >
let g:python_recommended_style = 0
QF QUICKFIX *qf.vim* *ft-qf-plugin*
The "qf" filetype is used for the quickfix window, see |quickfix-window|.
The quickfix filetype plugin includes configuration for displaying the command
that produced the quickfix list in the |status-line|. To disable this setting,
configure as follows: >
:let g:qf_disable_statusline = 1
R MARKDOWN *ft-rmd-plugin*
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
@ -663,6 +672,15 @@ 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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
*gui_w32.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -19,7 +19,6 @@ Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_win32.txt| For Win32 specific items.
{Vi does not have a Windows GUI}
==============================================================================
1. Starting the GUI *gui-w32-start*
@ -31,6 +30,17 @@ The GUI will always run in the Windows subsystem. Mostly shells automatically
return with a command prompt after starting gvim. If not, you should use the
"start" command: >
start gvim [options] file ..
< *E988*
The console version with the |-g| option may also start the GUI by executing
gvim.exe: >
vim -g [options] file ..
To make this work, gvim.exe must exist in the same directory as the vim.exe,
and this feature must be enabled at compile time.
One may also use `:gui` from the console version. However, this is an
experimental feature and this feature must be enabled at compile time.
It uses a session file to recreate the current state of the console Vim in the
GUI Vim.
Note: All fonts (bold, italic) must be of the same size!!! If you don't do
this, text will disappear or mess up the display. Vim does not check the font
@ -403,7 +413,7 @@ be opened as normal. See |drag-n-drop|.
*:simalt* *:sim*
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
{not in Vi} {only for Win32 versions}
{only for Win32 versions}
Note: ":si" means ":s" with the "i" flag.
Normally, Vim takes control of all Alt-<Key> combinations, to increase the

View File

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

View File

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

View File

@ -1,4 +1,4 @@
*help.txt* For Vim version 8.1. Last change: 2018 Dec 14
*help.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM - main help file
k
@ -10,7 +10,7 @@ Close this window: Use ":q<Enter>".
Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
Double-click the left mouse button on a tag, e.g. |bars|.
Jump back: Type CTRL-T or CTRL-O. Repeat to go further back.
Jump back: Type CTRL-O. Repeat to go further back.
Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the |:help| command.
@ -31,13 +31,17 @@ Get specific help: It is possible to go directly to whatever you want help
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
Getting started: Do the Vim tutor, a 20 minute interactive training for the
basic commands, see |vimtutor|.
Read the user manual from start to end: |usr_01.txt|
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
------------------------------------------------------------------------------
*doc-file-list* *Q_ct*
BASIC:
|quickref| Overview of the most common commands you will use
|tutor| 30 minutes training course for beginners
|tutor| 20 minutes training course for beginners
|copying| About copyrights
|iccf| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
@ -135,10 +139,12 @@ Advanced editing ~
|fold.txt| hide (fold) ranges of lines
Special issues ~
|testing.txt| testing Vim and Vim scripts
|print.txt| printing
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice
|terminal.txt| Terminal window support
|popup.txt| popop window support
Programming language support ~
|indent.txt| automatic indenting for C and other languages
@ -176,7 +182,6 @@ Interfaces ~
|if_ole.txt| OLE automation interface for Win32
|if_ruby.txt| Ruby interface
|debugger.txt| Interface with a debugger
|workshop.txt| Sun Visual Workshop interface
|netbeans.txt| NetBeans External Editor interface
|sign.txt| debugging signs

View File

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

View File

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

View File

@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 8.1. Last change: 2015 Oct 16
*if_lua.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Luis Carvalho
@ -10,23 +10,21 @@ The Lua Interface to Vim *lua* *Lua*
2. The vim module |lua-vim|
3. List userdata |lua-list|
4. Dict userdata |lua-dict|
5. Funcref userdata |lua-funcref|
6. Buffer userdata |lua-buffer|
7. Window userdata |lua-window|
8. The luaeval function |lua-luaeval|
9. Dynamic loading |lua-dynamic|
5. Blob userdata |lua-blob|
6. Funcref userdata |lua-funcref|
7. Buffer userdata |lua-buffer|
8. Window userdata |lua-window|
9. luaeval() Vim function |lua-luaeval|
10. Dynamic loading |lua-dynamic|
{Vi does not have any of these commands}
The Lua interface is available only when Vim was compiled with the
|+lua| feature.
{only available when Vim was compiled with the |+lua| feature}
==============================================================================
1. Commands *lua-commands*
*:lua*
:[range]lua {chunk}
Execute Lua chunk {chunk}. {not in Vi}
Execute Lua chunk {chunk}.
Examples:
>
@ -34,17 +32,19 @@ Examples:
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
<
:[range]lua << {endmarker}
:[range]lua << [endmarker]
{script}
{endmarker}
Execute Lua script {script}. {not in Vi}
Execute Lua script {script}.
Note: This command doesn't work when the Lua
feature wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like
for the |:append| and |:insert| commands.
The {endmarker} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
This form of the |:lua| command is mainly useful for including Lua code
in Vim scripts.
@ -74,7 +74,6 @@ If you use LuaJIT you can also use this: >
If the value returned by the function is a string it
becomes the text of the line in the current turn. The
default for [range] is the whole file: "1,$".
{not in Vi}
Examples:
>
@ -88,7 +87,7 @@ Examples:
*:luafile*
:[range]luafile {file}
Execute Lua script in {file}. {not in Vi}
Execute Lua script in {file}.
The whole argument is used as a single file name.
Examples:
@ -140,6 +139,14 @@ Vim evaluation and command execution, and others.
:echo luaeval('vim.dict(t)')
:" {'1': 3.141593, '2': v:false,
:" 'say': 'hi'}
<
vim.blob([arg]) Returns an empty blob or, if "arg" is a Lua
string, returns a blob b such that b is
equivalent to "arg" as a byte string.
Examples: >
:lua s = "12ab\x00\x80\xfe\xff"
:echo luaeval('vim.blob(s)')
:" 0z31326162.0080FEFF
<
vim.funcref({name}) Returns a Funcref to function {name} (see
|Funcref|). It is equivalent to Vim's
@ -260,7 +267,34 @@ Examples:
<
==============================================================================
5. Funcref userdata *lua-funcref*
5. Blob userdata *lua-blob*
Blob userdata represent vim blobs. A blob "b" has the following properties:
Properties
----------
o "#b" is the length of blob "b", equivalent to "len(b)" in Vim.
o "b[k]" returns the k-th item in "b"; "b" is zero-indexed, as in Vim.
To modify the k-th item, simply do "b[k] = number"; in particular,
"b[#b] = number" can append a byte to tail.
Methods
-------
o "b:add(bytes)" appends "bytes" to the end of "b".
Examples:
>
:let b = 0z001122
:lua b = vim.eval('b') -- same 'b'
:lua print(b, b[0], #b)
:lua b[1] = 32
:lua b[#b] = 0x33 -- append a byte to tail
:lua b:add("\x80\x81\xfe\xff")
:echo b
<
==============================================================================
6. Funcref userdata *lua-funcref*
Funcref userdata represent funcref variables in Vim. Funcrefs that were
defined with a "dict" attribute need to be obtained as a dictionary key
@ -293,7 +327,7 @@ Examples:
<
==============================================================================
6. Buffer userdata *lua-buffer*
7. Buffer userdata *lua-buffer*
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
properties and methods:
@ -345,7 +379,7 @@ Examples:
<
==============================================================================
7. Window userdata *lua-window*
8. Window userdata *lua-window*
Window objects represent vim windows. A window userdata "w" has the following
properties and methods:
@ -377,7 +411,7 @@ Examples:
<
==============================================================================
8. The luaeval function *lua-luaeval* *lua-eval*
9. luaeval() Vim function *lua-luaeval* *lua-eval*
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
"luaeval". "luaeval" takes an expression string and an optional argument and
@ -390,10 +424,10 @@ returns the result of the expression. It is semantically equivalent in Lua to:
end
<
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
list, dict, and funcref userdata are converted to their Vim respective types,
while Lua booleans are converted to numbers. An error is thrown if conversion
of any of the remaining Lua types, including userdata other than lists, dicts,
and funcrefs, is attempted.
list, dict, blob, and funcref userdata are converted to their Vim respective
types, while Lua booleans are converted to numbers. An error is thrown if
conversion of any of the remaining Lua types, including userdata other than
lists, dicts, blobs, and funcrefs, is attempted.
Examples: >
@ -408,7 +442,7 @@ Examples: >
==============================================================================
9. Dynamic loading *lua-dynamic*
10. Dynamic loading *lua-dynamic*
On MS-Windows and Unix the Lua library can be loaded dynamically. The
|:version| output then includes |+lua/dyn|.

View File

@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 8.1. Last change: 2017 Oct 08
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Sergey Khorev
@ -15,10 +15,7 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
7. Dynamic loading |mzscheme-dynamic|
8. MzScheme setup |mzscheme-setup|
{Vi does not have any of these commands}
The MzScheme interface is available only if Vim was compiled with the
|+mzscheme| feature.
{only available when Vim was compiled with the |+mzscheme| feature}
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
@ -40,9 +37,9 @@ To speed up the process, you might also want to use --disable-gracket and
*:mzscheme* *:mz*
:[range]mz[scheme] {stmt}
Execute MzScheme statement {stmt}. {not in Vi}
Execute MzScheme statement {stmt}.
:[range]mz[scheme] << {endmarker}
:[range]mz[scheme] << [endmarker]
{script}
{endmarker}
Execute inlined MzScheme script {script}.
@ -50,8 +47,15 @@ To speed up the process, you might also want to use --disable-gracket and
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} below the {script} must NOT be
preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot
'.' must be used after {script}, like for the
|:append| and |:insert| commands.
*:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi}
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
All of these commands do essentially the same thing - they execute a piece of
MzScheme code, with the "current range" set to the given line

View File

@ -1,4 +1,4 @@
*if_ole.txt* For Vim version 8.1. Last change: 2008 Aug 16
*if_ole.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Paul Moore
@ -12,10 +12,8 @@ The OLE Interface to Vim *ole-interface*
4. Registration |ole-registration|
5. MS Visual Studio integration |MSVisualStudio|
{Vi does not have any of these commands}
OLE is only available when compiled with the |+ole| feature. See
src/if_ole.INSTALL.
{only available when compiled with the |+ole| feature. See
src/if_ole.INSTALL}
An alternative is using the client-server communication |clientserver|.
==============================================================================

View File

@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Sven Verdoolaege
@ -11,9 +11,7 @@ Perl and Vim *perl* *Perl*
3. Using the Perl interface |perl-using|
4. Dynamic loading |perl-dynamic|
{Vi does not have any of these commands}
The Perl interface only works when Vim was compiled with the |+perl| feature.
{only available when Vim was compiled with the |+perl| feature}
==============================================================================
1. Editing Perl files *perl-editing*
@ -57,15 +55,18 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
:pe[rl] << {endpattern}
:pe[rl] << [endpattern]
{script}
{endpattern}
Execute Perl script {script}.
{endpattern} must NOT be preceded by any white space.
If {endpattern} is omitted, it defaults to a dot '.'
The {endpattern} after {script} must NOT be preceded
by any white space.
If [endpattern] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands. Using
'.' helps when inside a function, because "$i;" looks
like the start of an |:insert| command to Vim.
This form of the |:perl| command is mainly useful for
including perl code in vim scripts.
Note: This command doesn't work when the Perl feature
@ -191,6 +192,9 @@ VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
A |List| is turned into a string by joining the items
and inserting line breaks.
*perl-Blob*
VIM::Blob({expr}) Return |Blob| literal string 0zXXXX from scalar value.
*perl-SetHeight*
Window->SetHeight({height})
Sets the Window height to {height}, within screen

View File

@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 8.1. Last change: 2018 Jan 30
*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Paul Moore
@ -19,8 +19,6 @@ The Python Interface to Vim *python* *Python*
11. Python X |python_x|
12. Building with Python support |python-building|
{Vi does not have any of these commands}
The Python 2.x interface is available only when Vim was compiled with the
|+python| feature.
The Python 3 interface is available only when Vim was compiled with the
@ -36,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
the `:python` command is working: >
:python print "Hello"
:[range]py[thon] << {endmarker}
:[range]py[thon] << [endmarker]
{script}
{endmarker}
Execute Python script {script}.
@ -44,9 +42,11 @@ Both can be available at the same time, but read |python-2-and-3|.
feature wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like
for the |:append| and |:insert| commands.
The {endmarker} below the {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
This form of the |:python| command is mainly useful for including python code
in Vim scripts.
@ -76,7 +76,6 @@ and "EOF" do not have any indent.
None. If a string is returned, it becomes the text of
the line in the current turn. The default for [range]
is the whole file: "1,$".
{not in Vi}
Examples:
>
@ -98,7 +97,7 @@ python. For example: >
*:pyfile* *:pyf*
:[range]pyf[ile] {file}
Execute the Python script in {file}. The whole
argument is used as a single file name. {not in Vi}
argument is used as a single file name.
Both of these commands do essentially the same thing - they execute a piece of
Python code, with the "current range" |python-range| set to the given line

View File

@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Shugo Maeda
@ -11,12 +11,12 @@ The Ruby Interface to Vim *ruby* *Ruby*
3. Vim::Buffer objects |ruby-buffer|
4. Vim::Window objects |ruby-window|
5. Global variables |ruby-globals|
6. Dynamic loading |ruby-dynamic|
6. rubyeval() Vim function |ruby-rubyeval|
7. Dynamic loading |ruby-dynamic|
{Vi does not have any of these commands}
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
The Ruby interface only works when Vim was compiled with the |+ruby| feature.
{only available when Vim was compiled with the |+ruby| feature}
The home page for ruby is http://www.ruby-lang.org/. You can find links for
downloading Ruby there.
@ -28,15 +28,19 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << {endpattern}
:rub[y] << [endpattern]
{script}
{endpattern}
Execute Ruby script {script}.
{endpattern} must NOT be preceded by any white space.
If {endpattern} is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands. This
form of the |:ruby| command is mainly useful for
The {endpattern} after {script} must NOT be preceded
by any white space.
If [endpattern] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands.
This form of the |:ruby| command is mainly useful for
including ruby code in vim scripts.
Note: This command doesn't work when the Ruby feature
wasn't compiled in. To avoid errors, see
|script-here|.
@ -110,6 +114,10 @@ Module Functions:
Vim::message({msg})
Displays the message {msg}.
*ruby-blob*
Vim::blob({arg})
Return |Blob| literal string from {arg}.
*ruby-set_option*
Vim::set_option({arg})
Sets a vim option. {arg} can be any argument that the ":set" command
@ -194,7 +202,16 @@ $curwin The current window object.
$curbuf The current buffer object.
==============================================================================
6. Dynamic loading *ruby-dynamic*
6. rubyeval() Vim function *ruby-rubyeval*
To facilitate bi-directional interface, you can use |rubyeval()| function to
evaluate Ruby expressions and pass their values to Vim script.
The Ruby value "true", "false" and "nil" are converted to v:true, v:false and
v:null, respectively.
==============================================================================
7. Dynamic loading *ruby-dynamic*
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|:version| output then includes |+ruby/dyn|.

View File

@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 8.1. Last change: 2016 Jan 01
*if_tcl.txt* For Vim version 8.1. Last change: 2019 Jul 21
VIM REFERENCE MANUAL by Ingo Wilken
@ -16,9 +16,8 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
8. Examples |tcl-examples|
9. Dynamic loading |tcl-dynamic|
{Vi does not have any of these commands} *E280*
The Tcl interface only works when Vim was compiled with the |+tcl| feature.
*E280*
{only available when Vim was compiled with the |+tcl| feature}
WARNING: There are probably still some bugs. Please send bug reports,
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
@ -31,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
is working: >
:tcl puts "Hello"
:[range]tc[l] << {endmarker}
:[range]tc[l] << [endmarker]
{script}
{endmarker}
Execute Tcl script {script}.
@ -39,9 +38,11 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like for
the |:append| and |:insert| commands.
The {endmarker} after {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
This form of the |:tcl| command is mainly useful for including tcl code in Vim
scripts.
@ -66,12 +67,11 @@ To see what version of Tcl you have: >
possible to add or delete lines using this command.
If {cmd} returns an error, the command is interrupted.
The default for [range] is the whole file: "1,$".
See |tcl-var-line| and |tcl-var-lnum|. {not in Vi}
See |tcl-var-line| and |tcl-var-lnum|.
*:tclfile* *:tclf*
:tclf[ile] {file} Execute the Tcl script in {file}. This is the same as
":tcl source {file}", but allows file name completion.
{not in Vi}
Note that Tcl objects (like variables) persist from one command to the next,

View File

@ -1,4 +1,4 @@
*indent.txt* For Vim version 8.1. Last change: 2018 Apr 04
*indent.txt* For Vim version 8.1. Last change: 2019 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@ -60,12 +60,13 @@ typing certain characters or commands in certain contexts. Note that this not
only triggers C-indenting. When 'indentexpr' is not empty 'indentkeys' is
used instead. The format of 'cinkeys' and 'indentkeys' is equal.
The default is "0{,0},0),:,0#,!^F,o,O,e" which specifies that indenting occurs
as follows:
The default is "0{,0},0),0],:,0#,!^F,o,O,e" which specifies that indenting
occurs as follows:
"0{" if you type '{' as the first character in a line
"0}" if you type '}' as the first character in a line
"0)" if you type ')' as the first character in a line
"0]" if you type ']' as the first character in a line
":" if you type ':' after a label or case statement
"0#" if you type '#' as the first character in a line
"!^F" if you type CTRL-F (which is not inserted)
@ -900,7 +901,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
optimizations won't be available.
-------------
*PHP_vintage_case_default_indent*
*PHP_vintage_case_default_indent*
To indent 'case:' and 'default:' statements in switch() blocks: >
:let g:PHP_vintage_case_default_indent = 1
@ -927,6 +928,41 @@ You will obtain the following result: >
->age()
->info();
-------------
*PHP_IndentFunctionCallParameters*
Extra indentation levels to add to parameters in multi-line function calls. >
let g:PHP_IndentFunctionCallParameters = 1
Function call arguments will indent 1 extra level. For two-space indentation: >
function call_the_thing(
$with_this,
$and_that
) {
$this->do_the_thing(
$with_this,
$and_that
);
}
-------------
*PHP_IndentFunctionDeclarationParameters*
Extra indentation levels to add to arguments in multi-line function definitions. >
let g:PHP_IndentFunctionDeclarationParameters = 1
Function arguments in declarations will indent 1 extra level. For two-space indentation: >
function call_the_thing(
$with_this,
$and_that
) {
$this->do_the_thing(
$with_this,
$and_that
);
}
PYTHON *ft-python-indent*
@ -947,6 +983,11 @@ can sometimes be slow, thus it timeouts after 150 msec. If you notice the
indenting isn't correct, you can set a larger timeout in msec: >
let g:pyindent_searchpair_timeout = 500
If looking back for unclosed parenthesis is still too slow, especially during
a copy-paste operation, or if you don't need indenting inside multi-line
parentheses, you can completely disable this feature: >
let g:pyindent_disable_parentheses_indenting = 1
R *ft-r-indent*

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 8.1. Last change: 2018 Apr 19
*index.txt* For Vim version 8.1. Last change: 2019 Aug 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -17,9 +17,11 @@ to look for deleting something, use: "/delete".
2.3. Square bracket commands |[|
2.4. Commands starting with 'g' |g|
2.5. Commands starting with 'z' |z|
2.6. Operator-pending mode |operator-pending-index|
3. Visual mode |visual-index|
4. Command-line editing |ex-edit-index|
5. EX commands |ex-cmd-index|
5. Terminal-Job mode |terminal-job-index|
6. EX commands |ex-cmd-index|
For an overview of options see help.txt |option-list|.
For an overview of built-in functions see |functions|.
@ -164,7 +166,20 @@ commands in CTRL-X submode *i_CTRL-X_index*
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|i_CTRL-X_s| CTRL-X s spelling suggestions
{not available when compiled without the |+insert_expand| feature}
commands in completion mode (see |popupmenu-keys|)
|complete_CTRL-E| CTRL-E stop completion and go back to original text
|complete_CTRL-Y| CTRL-Y accept selected match and stop completion
CTRL-L insert one character from the current match
<CR> insert currently selected match
<BS> delete one character and redo search
CTRL-H same as <BS>
<Up> select the previous match
<Down> select the next match
<PageUp> select a match several entries back
<PageDown> select a match several entries forward
other stop completion and insert the typed character
==============================================================================
2. Normal mode *normal-index*
@ -528,10 +543,8 @@ tag command action in Normal mode ~
|CTRL-W_CTRL-]| CTRL-W CTRL-] same as "CTRL-W ]"
|CTRL-W_CTRL-^| CTRL-W CTRL-^ same as "CTRL-W ^"
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
|CTRL-W_quote| CTRL-W " terminal window: paste register
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
|CTRL-W_.| CTRL-W . terminal window: type CTRL-W
|CTRL-W_:| CTRL-W : same as |:|, edit a command line
|CTRL-W_<| CTRL-W < decrease current window width N columns
|CTRL-W_=| CTRL-W = make all windows the same height & width
@ -540,7 +553,6 @@ tag command action in Normal mode ~
|CTRL-W_J| CTRL-W J move current window to the very bottom
|CTRL-W_K| CTRL-W K move current window to the very top
|CTRL-W_L| CTRL-W L move current window to the far right
|CTRL-W_N| CTRL-W N terminal window: go to Terminal Normal mode
|CTRL-W_P| CTRL-W P go to preview window
|CTRL-W_R| CTRL-W R rotate windows upwards N times
|CTRL-W_S| CTRL-W S same as "CTRL-W s"
@ -570,6 +582,8 @@ tag command action in Normal mode ~
|CTRL-W_gF| CTRL-W g F edit file name under the cursor in a new
tab page and jump to the line number
following the file name.
|CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|CTRL-W_i| CTRL-W i split window and jump to declaration of
identifier under the cursor
@ -847,6 +861,10 @@ tag char note action in Normal mode ~
position the cursor at the start (left
side) of the screen
|zt| zt redraw, cursor line at top of window
|zuw| zuw undo |zw|
|zug| zug undo |zg|
|zuW| zuW undo |zW|
|zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zx| zx re-apply 'foldlevel' and do "zv"
@ -854,6 +872,17 @@ tag char note action in Normal mode ~
|z<Left>| z<Left> same as "zh"
|z<Right>| z<Right> same as "zl"
==============================================================================
2.6 Operator-pending mode *operator-pending-index*
These can be used after an operator, but before a {motion} has been entered.
tag char action in Operator-pending mode ~
-----------------------------------------------------------------------
|o_v| v force operator to work characterwise
|o_V| V force operator to work linewise
|o_CTRL-V| CTRL-V force operator to work blockwise
==============================================================================
3. Visual mode *visual-index*
@ -976,7 +1005,7 @@ Normal characters are inserted at the current cursor position.
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
tag command action in Command-line editing mode ~
tag command action in Command-line editing mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
@ -1016,10 +1045,11 @@ tag command action in Command-line editing mode ~
command-line from history.
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
control flow
|c_CTRL-R| CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
|c_CTRL-R| CTRL-R {regname}
insert the contents of a register or object
under the cursor as if typed
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {regname}
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
@ -1066,16 +1096,37 @@ tag command action in Command-line editing mode ~
|c_<Insert>| <Insert> toggle insert/overstrike mode
|c_<LeftMouse>| <LeftMouse> cursor at mouse click
==============================================================================
5. Terminal-Job mode *terminal-job-index*
Most Normal mode commands except for window commands (|CTRL-W|) do not work in
a terminal window. Switch to Terminal-Normal mode to use them.
This assumes 'termwinkey' is not set.
tag char action in Terminal-Job mode ~
-----------------------------------------------------------------------
|t_CTRL-\_CTRL-N| CTRL-\ CTRL-N switch to Terminal-Normal mode
|t_CTRL-W_N| CTRL-W N switch to Terminal-Normal mode
|t_CTRL-W_:| CTRL-W : enter an Ex command
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
paste register in the terminal
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
|t_CTRL-W_gt| CTRL-W gt go to next tabpage, same as `gt`
|t_CTRL-W_gT| CTRL-W gT go to previous tabpage, same as `gT`
You found it, Arthur! *holy-grail* *:smile*
==============================================================================
5. EX commands *ex-cmd-index* *:index*
6. EX commands *ex-cmd-index* *:index*
This is a brief but complete listing of all the ":" commands, without
mentioning any arguments. The optional part of the command name is inside [].
The commands are sorted on the non-optional part of their name.
tag command action ~
tag command action ~
------------------------------------------------------------------------------
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
@ -1140,11 +1191,15 @@ tag command action ~
|:cNfile| :cNf[ile] go to last error in previous file
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|:cabove| :cabo[ve] go to error above current line
|:caddbuffer| :cad[dbuffer] add errors from buffer
|:caddexpr| :cadde[xpr] add errors from expr
|:caddfile| :caddf[ile] add error message to current quickfix list
|:cafter| :caf[ter] go to error after current cursor
|:call| :cal[l] call a function
|:catch| :cat[ch] part of a :try command
|:cbefore| :cbef[ore] go to error before current cursor
|:cbelow| :cbel[ow] go to error below current line
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|:cc| :cc go to specific error
@ -1185,6 +1240,7 @@ tag command action ~
|:compiler| :comp[iler] do settings for a specific compiler
|:continue| :con[tinue] go back to :while
|:confirm| :conf[irm] prompt user when confirmation required
|:const| :cons[t] create a variable as a constant
|:copen| :cope[n] open quickfix window
|:cprevious| :cp[revious] go to previous error
|:cpfile| :cpf[ile] go to last error in previous file
@ -1302,12 +1358,16 @@ tag command action ~
|:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines
|:labove| :lab[ove] go to location above current line
|:laddexpr| :lad[dexpr] add locations from expr
|:laddbuffer| :laddb[uffer] add locations from buffer
|:laddfile| :laddf[ile] add locations to current location list
|:lafter| :laf[ter] go to location after current cursor
|:last| :la[st] go to the last file in the argument list
|:language| :lan[guage] set the language (locale)
|:later| :lat[er] go to newer change, redo
|:lbefore| :lbef[ore] go to location before current cursor
|:lbelow| :lbel[ow] go to location below current line
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|:lbuffer| :lb[uffer] parse locations and jump to first location
|:lcd| :lc[d] change directory locally
@ -1457,8 +1517,9 @@ tag command action ~
|:recover| :rec[over] recover a file from a swap file
|:redo| :red[o] redo one undone change
|:redir| :redi[r] redirect messages to a file or register
|:redraw| :redr[aw] force a redraw of the display
|:redrawstatus| :redraws[tatus] force a redraw of the status line(s)
|:redraw| :redr[aw] force a redraw of the display
|:redrawstatus| :redraws[tatus] force a redraw of the status line(s)
|:redrawtabline| :redrawt[abline] force a redraw of the tabline
|:registers| :reg[isters] display the contents of registers
|:resize| :res[ize] change current window height
|:retab| :ret[ab] change tab size
@ -1498,7 +1559,8 @@ tag command action ~
|:sbrewind| :sbr[ewind] split window and go to first file in the
buffer list
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scriptversion| :scriptv[ersion] version of Vim script used
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
@ -1529,6 +1591,7 @@ tag command action ~
|:spelldump| :spelld[ump] split window and fill with all correct words
|:spellgood| :spe[llgood] add good word for spelling
|:spellinfo| :spelli[nfo] show info about loaded spell files
|:spellrare| :spellra[re] add rare word for spelling
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|:spellundo| :spellu[ndo] remove good or bad word
|:spellwrong| :spellw[rong] add spelling mistake
@ -1573,6 +1636,8 @@ tag command action ~
|:tab| :tab create new tab when opening new window
|:tag| :ta[g] jump to tag
|:tags| :tags show the contents of the tag stack
|:tcd| :tcd change directory for tab page
|:tchdir| :tch[dir] change directory for tab page
|:tcl| :tc[l] execute Tcl command
|:tcldo| :tcld[o] execute Tcl command for each line
|:tclfile| :tclf[ile] execute Tcl script file
@ -1643,7 +1708,6 @@ tag command action ~
argument list
|:wq| :wq write to a file and quit window or Vim
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|:wsverb| :ws[verb] pass the verb to workshop over IPC
|:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo file
|:xit| :x[it] write if buffer changed and quit window or Vim
@ -1651,6 +1715,7 @@ tag command action ~
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|:xmap| :xm[ap] like ":map" but for Visual mode
|:xmenu| :xme[nu] add menu for Visual mode
|:xrestore| :xr[estore] restores the X server connection
|:xnoremap| :xn[oremap] like ":noremap" but for Visual mode
|:xnoremenu| :xnoreme[nu] like ":noremenu" but for Visual mode
|:xunmap| :xu[nmap] like ":unmap" but for Visual mode

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