Compare commits

...

545 Commits

Author SHA1 Message Date
10561fe0a3 patch 8.1.0003: the :compiler command is not tested
Problem:    The :compiler command is not tested.
Solution:   Add a test. (Dominique Pelle, closes #2930)
2018-05-19 15:01:10 +02:00
2abad54ced patch 8.1.0002: :stopinsert changes the message position
Problem:    :stopinsert changes the message position.
Solution:   Save and restore msg_col and msg_row in clearmode(). (Jason
            Franklin)
2018-05-19 14:43:45 +02:00
2f01889055 Runtime file and translation updates. 2018-05-18 18:12:06 +02:00
00e4556338 patch 8.1.0001: the netrw plugin does not work
Problem:    The netrw plugin does not work.
Solution:   Make it accept version 8.x.
2018-05-17 23:40:05 +02:00
b1c9198afb Vim 8.1 release
Update version number and information.  Fix a couple of tests.
2018-05-17 17:04:55 +02:00
03998f606a patch 8.0.1850: todo items in source code not visible for users
Problem:    Todo items in source code not visible for users.
Solution:   Move the todo items to the help file.
2018-05-17 13:20:45 +02:00
7c63fbc46e Updated runtime files. 2018-05-17 13:15:23 +02:00
0b39464f69 patch 8.0.1849: compiler warning for unused arguments, missing prototype
Problem:    compiler warning for unused arguments and missing prototype
Solution:   Add UNUSED.  Add static.
2018-05-17 13:11:46 +02:00
4d6cd291ce patch 8.0.1848: 'termwinscroll' does not work properly
Problem:    'termwinscroll' does not work properly. (Dominique Pelle)
Solution:   Subtract removed scrollback from the scrollback count.  Add a test
            for 'termwinscroll'. (closes #2909)
2018-05-15 23:53:26 +02:00
825ccf4039 patch 8.0.1847: some build options don't have an example
Problem:    Some build options don't have an example.
Solution:   Add a couple more examples and compiler flags.
2018-05-15 22:34:58 +02:00
d4a8c98ef6 patch 8.0.1846: Python interface is incompatible with lldb
Problem:    Python interface is incompatible with lldb.
Solution:   For OutputType set the base to be PyFile_Type. (Boxu Zhang)
            Partly disabled to avoid a crash.
2018-05-15 22:31:18 +02:00
259f26ac2d patch 8.0.1845: various comment updates needed, missing white space
Problem:    Various comment updates needed, missing white space.
Solution:   Update comments, add white space.
2018-05-15 22:25:40 +02:00
78ddc06bdd patch 8.0.1844: superfluous quickfix code, missing examples
Problem:    Superfluous quickfix code, missing examples.
Solution:   Remove unneeded code.  Add a few examples.  Add a bit more
            testing. (Yegappan Lakshmanan, closes #2916)
2018-05-15 21:56:34 +02:00
8776889b5b patch 8.0.1843: entry for 'wrap' in options window is wrong
Problem:    Entry for 'wrap' in options window is wrong. (John Little)
Solution:   Make the change apply locally.
2018-05-15 21:42:51 +02:00
0b565e5da5 patch 8.0.1842: popup menu inside terminal window isn't cleared
Problem:    Popup menu inside terminal window isn't cleared.
Solution:   Use NOT_VALID in pum_undisplay(). (suggested by Christian
            Brabandt, closes #2908)
2018-05-14 23:08:32 +02:00
1af6a4b891 patch 8.0.1841: HP-UX does not have setenv()
Problem:    HP-UX does not have setenv().
Solution:   Use vim_setenv(). (John Marriott)
2018-05-14 22:58:34 +02:00
027df2a7d9 patch 8.0.1840: getwinpos() is not tested
Problem:    getwinpos() is not tested.
Solution:   Add a test. (Dominique Pelle, closes #2911)
2018-05-14 21:31:08 +02:00
9cfc7d885c patch 8.0.1839: script to check .po file doesn't check for plural header
Problem:    Script to check .po file doesn't check for plural header.
Solution:   Add a check that the plural header is present when needed.
2018-05-13 22:37:03 +02:00
eb3dc87f01 Updated runtime files 2018-05-13 22:34:24 +02:00
620020eb1d patch 8.0.1838: cursor in wrong pos when switching to Terminal-Normal mode
Problem:    Cursor in wrong position when switching to Terminal-Normal mode.
            (Dominique Pelle)
Solution:   Move to the end of the line if coladvance() fails.  Do not take a
            snapshot a second time.
2018-05-13 19:06:12 +02:00
5e3423d192 patch 8.0.1837: one character cmdline abbreviation not triggered after '<,'>
Problem:    One character cmdline abbreviation not triggered after '<,'>.
Solution:   Skip over the special range. (Christian Brabandt, closes #2320)
2018-05-13 18:36:27 +02:00
25782a7ff4 patch 8.0.1836: buffer-local window options may not be recent
Problem:    Buffer-local window options may not be recent if the buffer is
            still open in another window.
Solution:   Copy the options from the window instead of the outdated window
            options. (Bjorn Linse, closes #2336)
2018-05-13 18:05:33 +02:00
2290b1f8aa patch 8.0.1835: print document name does not support multi-byte
Problem:    Print document name does not support multi-byte.
Solution:   Use StartDocW() if needed. (Yasuhiro Matsumoto, closes #2478)
2018-05-13 17:30:45 +02:00
518bc174ed patch 8.0.1834: GUI: find/replace dialog does not handle some chars
Problem:    GUI: find/replace dialog does not handle some chars properly.
Solution:   Escape '?' when needed.  Always escape backslash. (closes #2418,
            closes #2435)
2018-05-13 17:05:30 +02:00
889fe2c2b9 patch 8.0.1833: X11: ":echo 3.14" gives E806
Problem:    X11: ":echo 3.14" gives E806.
Solution:   set LC_NUMERIC to "C". (Dominique Pelle, closes #2368)
2018-05-13 16:23:40 +02:00
137374fd65 patch 8.0.1832: cannot use :unlet for an environment variable
Problem:    Cannot use :unlet for an environment variable.
Solution:   Make it work.  Use unsetenv() if available. (Ken Takata,
            closes #2855)
2018-05-13 15:59:50 +02:00
8b62e31003 patch 8.0.1831: sometimes the quickfix title is incorrectly prefixed with ':'
Problem:    Sometimes the quickfix title is incorrectly prefixed with ':'.
Solution:   Prepend the colon in another way. (Yegappan Lakshmanan, closes
            #2905)
2018-05-13 15:29:04 +02:00
05c4a471d2 patch 8.0.1830: switching to Terminal-Normal mode does not redraw
Problem:    Switching to Terminal-Normal mode does not redraw. (Dominique
            Pelle)
Solution:   Also redraw when not updating the snapshot. (closes #2904)
2018-05-13 15:15:43 +02:00
12365ce49f patch 8.0.1829: MS-Windows: script for vimdiff can't handle ! chars
Problem:    MS-Windows: script for vimdiff can't handle ! chars.
Solution:   Escape the ! chars. (Hans Ginzel, closes #2896)
2018-05-13 14:45:25 +02:00
e65fffd9b4 patch 8.0.1828: get no clue why :gui does not fork
Problem:    Get no clue why :gui does not fork.
Solution:   Add a channel log message.
2018-05-13 14:40:15 +02:00
b2ed680ba7 patch 8.0.1827: compiler warning for signed/unsigned char pointers
Problem:    Compiler warning for signed/unsigned char pointers. (Cesar Romani)
Solution:   Change the type of jv_argv.
2018-05-13 14:05:18 +02:00
7db25fed5d Update runtime files. 2018-05-13 00:02:36 +02:00
52ecaaa63d patch 8.0.1826: configure uses old compiler flag
Problem:    Configure uses old compiler flag.
Solution:   Remove _DARWIN_C_SOURCE. (Kazunobu Kuriyama)
2018-05-12 21:38:13 +02:00
dd1d7be4e6 patch 8.0.1825: might use NULL pointer when out of memory
Problem:    Might use NULL pointer when out of memory. (Coverity)
Solution:   Handle NULL pointer better.
2018-05-12 21:34:58 +02:00
73dd1bd54e patch 8.0.1824: Coverity warns for variable that may be uninitialized
Problem:    Coverity warns for variable that may be uninitialized.
Solution:   Initialize the variable.
2018-05-12 21:16:25 +02:00
54c6bafa16 patch 8.0.1823: test for terminal stdout redirection is flaky
Problem:    Test for terminal stdout redirection is flaky.
Solution:   Wait for the job to finish.
2018-05-12 21:12:12 +02:00
ee62f9fa74 patch 8.0.1822: make uninstall does not remove colors/tools
Problem:    Make uninstall does not remove colors/tools.
Solution:   Add a line to delete the tools directory. (Kazunobu Kuriyama)
2018-05-12 21:05:45 +02:00
2bc799579d patch 8.0.1821: cursor in terminal window moves when pressing CTRL-W
Problem:    Cursor in terminal window moves when pressing CTRL-W. (Dominique
            Pelle)
Solution:   Do not more the cursor or redraw when not in Terminal-Normal mode.
            (closes #2904)
2018-05-12 20:36:24 +02:00
cd8fb449d6 patch 8.0.1820: terminal window redirecting stdout does not show stderr
Problem:    Terminal window redirecting stdout does not show stderr. (Matéo
            Zanibelli)
Solution:   When stdout is not connected to pty_master_fd then use it for
            stderr. (closes #2903)
2018-05-12 17:42:42 +02:00
8c3169c58e patch 8.0.1819: swap file warning for file with non-existing directory
Problem:    Swap file warning for a file in a non-existing directory, if there
            is another with the same file name. (Juergen Weigert)
Solution:   When expanding the file name fails compare the file names.
2018-05-12 17:04:12 +02:00
3f1a53c434 patch 8.0.1818: lines remove from wrong buffer when using terminal window
Problem:    Lines remove from wrong buffer when using terminal window.
Solution:   Make sure to use tl_buffer.
2018-05-12 16:55:14 +02:00
b0f42ba60d patch 8.0.1817: a timer may change v:count unexpectedly
Problem:    A timer may change v:count unexpectedly.
Solution:   Save and restore v:count and similar variables when a timer
            callback is invoked. (closes #2897)
2018-05-12 15:38:26 +02:00
ff3be4fe1e patch 8.0.1816: no test for setcmdpos()
Problem:    No test for setcmdpos().
Solution:   Add a test. (Dominique Pelle, closes #2901)
2018-05-12 13:18:46 +02:00
0cb8ac71ae patch 8.0.1815: crash with terminal window and with 'lazyredraw' set
Problem:    Still a crash with terminal window and with 'lazyredraw' set.
            (Antoine)
Solution:   Do not wipe out the buffer when updating the screen.
2018-05-11 22:01:51 +02:00
a10ae5e323 patch 8.0.1814: crash with terminal window and with 'lazyredraw' set
Problem:    Crash with terminal window and with 'lazyredraw' set. (Antoine)
Solution:   Check the terminal still exists after update_screen().
2018-05-11 20:48:29 +02:00
38623c8512 patch 8.0.1813: Windows installer doesn't install terminal debugger
Problem:    Windows installer doesn't install terminal debugger.
Solution:   Add the package to the list of files to install.
2018-05-10 21:24:35 +02:00
7a2b0e55e9 patch 8.0.1812: the qf_jump_to_usable_window() function is too long
Problem:    The qf_jump_to_usable_window() function is too long.
Solution:   Split it in parts. (Yegappan Lakshmanan, closes #2891)
2018-05-10 18:55:28 +02:00
72cf47a279 patch 8.0.1811: no test for winrestcmd()
Problem:    No test for winrestcmd().
Solution:   Add a test. (Dominique Pelle, closes #2894)
2018-05-10 18:23:29 +02:00
56bc8e299c patch 8.0.1810: buffer of a terminal only updated in Terminal-Normal mode
Problem:    Buffer of a terminal only updated in Terminal-Normal mode.
Solution:   Copy the terminal window content to the buffer when in
            Terminal-Job mode.
2018-05-10 18:05:56 +02:00
b946482190 patch 8.0.1809: various typos
Problem:    Various typos.
Solution:   Correct the mistakes, change "cursur" to "cursor". (closes #2887)
2018-05-10 15:09:49 +02:00
9289df5ca9 patch 8.0.1808: can't build without TGETENT
Problem:    Can't build without TGETENT.
Solution:   Add #ifdef
2018-05-10 14:40:57 +02:00
69e056915c patch 8.0.1807: function to set terminal name is too long
Problem:    Function to set terminal name is too long.
Solution:   Refactor the function.  Fix typo in test.
2018-05-10 14:11:52 +02:00
39de952577 patch 8.0.1806: InsertCharPre causes problems for autocomplete
Problem:    InsertCharPre causes problems for autocomplete. (Lifepillar)
Solution:   Check for InsertCharPre before calling vpeekc(). (Christian
            Brabandt, closes #2876)
2018-05-08 22:48:00 +02:00
18cebf4417 patch 8.0.1805: qf_parse_line() is too long
Problem:    qf_parse_line() is too long.
Solution:   Split it in parts.  Properly handle vim_realloc() failing.
            (Yegappan Lakshmanan, closes #2881)
2018-05-08 22:31:37 +02:00
655a82a8d3 patch 8.0.1804: using :normal in terminal window causes problems
Problem:    Using :normal in terminal window causes problems. (Dominique
            Pelle)
Solution:   Don't call terminal_loop() for :normal. (closes #2886)
2018-05-08 22:01:07 +02:00
9b50f36e40 patch 8.0.1803: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2018-05-07 20:10:17 +02:00
402c83921e patch 8.0.1802: MS-Windows: terminal test fails
Problem:    MS-Windows: terminal test fails.
Solution:   Close redirected output file earlier.
2018-05-06 22:01:42 +02:00
f25329cb94 patch 8.0.1801: MS-Windows: redirecting terminal output does not work
Problem:    MS-Windows: redirecting terminal output does not work.
Solution:   Intercept the text written to the terminal and write it to the
            file.
2018-05-06 21:49:32 +02:00
778df2a3cb patch 8.0.1800: X11: getting color is slow
Problem:    X11: getting color is slow.
Solution:   Avoid using sprintf() and XParseColor(), put the RGB values in
            XColor directly.
2018-05-06 19:19:36 +02:00
85eee130f4 Update runtime files. 2018-05-06 17:57:30 +02:00
7ce551f317 patch 8.0.1799: no test for :registers command
Problem:    No test for :registers command.
Solution:   Add a test. (Dominique Pelle, closes #2880)
2018-05-06 17:32:19 +02:00
5aa9896b2e patch 8.0.1798: MS-Windows: file considered read-only too often
Problem:    MS-Windows: file considered read-only when another program has
            opened it.
Solution:   Pass file sharing flag to CreateFile(). (Linwei, closes #2860)
2018-05-06 17:09:38 +02:00
6eddadff13 patch 8.0.1797: terminal window is redrawn too often
Problem:    Terminal window is redrawn too often and scrolling is repeated.
Solution:   Don't scroll immediately but only when redrawing.  Avoid redrawing
            the whole terminal window on every change.
2018-05-06 16:40:16 +02:00
231a2db1b3 patch 8.0.1796: GUI: click on tab fails when the focus is in a terminal
Problem:    GUI: click on tab fails when the focus is in a terminal window.
Solution:   Handle K_TABLINE.
2018-05-06 13:53:50 +02:00
b0b98d5230 patch 8.0.1795: lose contact with jobs when :gui forks
Problem:    Lose contact with jobs when :gui forks.
Solution:   Don't fork when there is a running job. Make log message for a
            died job clearer.  Also close the terminal when stderr and stdout
            are the same FD.
2018-05-05 21:01:00 +02:00
b833c1ef7b patch 8.0.1794: duplicate term options after renaming
Problem:    Duplicate term options after renaming.
Solution:   Remove the old names 'termkey', 'termsize' and 'terminalscroll'.
2018-05-05 16:36:06 +02:00
248be5c5de patch 8.0.1793: no test for "vim -g"
Problem:    No test for "vim -g".
Solution:   Add a test for "-g" and "-y".
2018-05-05 15:47:19 +02:00
c3e81694fc patch 8.0.1792: MS-Windows users expect -? to work like --help
Problem:    MS-Windows users expect -? to work like --help.
Solution:   Add -?. (Christian Brabandt, closes #2867)
2018-05-05 15:09:51 +02:00
9894e394b2 patch 8.0.1791: using uint8_t does not work everywhere
Problem:    Using uint8_t does not work everywhere.
Solution:   Use char_u instead.
2018-05-05 14:29:06 +02:00
c136af29c0 patch 8.0.1790: 'winfixwidth' is not always respected by :close
Problem:    'winfixwidth' is not always respected by :close.
Solution:   Prefer a frame without 'winfixwidth' or 'winfixheight'. (Jason
            Franklin)
2018-05-04 20:15:38 +02:00
606cb8b08e patch 8.0.1789: BufWinEnter does not work well for a terminal window
Problem:    BufWinEnter does not work well for a terminal window.
Solution:   Do not trigger BufWinEnter when opening a terminal window.
2018-05-03 20:40:20 +02:00
dddab90d22 patch 8.0.1788: tool to check a color scheme is not installed
Problem:    Tool to check a color scheme is not installed.
Solution:   Update the install rule. (Christian Brabandt)
2018-05-02 22:00:17 +02:00
e2c8d83926 patch 8.0.1787: cannot insert the whole cursor line
Problem:    Cannot insert the whole cursor line.
Solution:   Make CTRL-R CTRL-L work. (Andy Massimino, closes #2857)
2018-05-01 19:24:03 +02:00
b2ac14c0b5 patch 8.0.1786: no test for 'termwinkey'
Problem:    No test for 'termwinkey'.
Solution:   Add a test.  Make feedkeys() handle terminal_loop() returning
            before characters are consumed.
2018-05-01 18:47:59 +02:00
8a938af6dd patch 8.0.1785: missing symbol in Win32 small build
Problem:    Missing symbol in Win32 small build.
Solution:   Define VTERM_ANSI_INDEX_NONE without the terminal feature. Also
            fix unused function with #ifdef.
2018-05-01 17:30:41 +02:00
bc7845da93 patch 8.0.1784: gvim test gets stuck in dialog
Problem:    Gvim test gets stuck in dialog.
Solution:   Rename the file used.
2018-05-01 16:26:48 +02:00
c5cd88554f patch 8.0.1783: cannot use 256 colors in a MS-Windows console
Problem:    Cannot use 256 colors in a MS-Windows console.
Solution:   Add 256 color support. (Nobuhiro Takasaki, closes #2821)
2018-05-01 15:47:38 +02:00
d76ce85266 patch 8.0.1782: no simple way to label quickfix entries
Problem:    No simple way to label quickfix entries.
Solution:   Add the "module" item, to be used instead of the file name for
            display purposes. (Martin Szamotulski, closes #1757)
2018-05-01 15:02:04 +02:00
a796d46f29 patch 8.0.1781: file names in quickfix window are not shortened
Problem:    File names in quickfix window are not always shortened.
Solution:   Shorten the file name when opening the quickfix window. (Yegappan
            Lakshmanan, closes #2851, closes #2846)
2018-05-01 14:30:36 +02:00
15142e27aa Update runtime files and translations 2018-04-30 22:19:58 +02:00
77bfd756a0 patch 8.0.1780: test fails because Vim in a terminal uses wrong 'encoding'
Problem:    Test fails because Vim in a terminal uses wrong 'encoding'.
Solution:   Set encoding in the test where it matters. (James McCoy,
            closes #2847)
2018-04-30 18:03:10 +02:00
35e802e713 patch 8.0.1779: deleting in a block selection causes problems
Problem:    Deleting in a block selection causes problems.
Solution:   Check the length of the line before adding bd.textcol and
            bd.textlen. (Christian Brabandt, closes #2825)
2018-04-30 17:21:03 +02:00
b07bbb0d29 patch 8.0.1778: script to check translations does not always work
Problem:    Script to check translations does not always work.
Solution:   Go to first line before searching for MIME.
2018-04-30 15:45:17 +02:00
60a68362aa patch 8.0.1777: cannot cleanup before loading another colorscheme
Problem:    Cannot cleanup before loading another colorscheme.
Solution:   Add the ColorSchemePre autocommand event.
2018-04-30 15:40:48 +02:00
0e9d1ae321 patch 8.0.1776: in tests, when WaitFor() fails it doesn't say why
Problem:    In tests, when WaitFor() fails it doesn't say why.
Solution:   Turn a few more WaitFor() into WaitForAssert().
2018-04-30 14:28:24 +02:00
850d427f07 patch 8.0.1775: MS-Windows: warning for unused variable
Problem:    MS-Windows: warning for unused variable.
Solution:   Move declaration inside #ifdef. (Mike Williams)
2018-04-30 10:38:40 +02:00
13d3b05ed2 patch 8.0.1774: reading very long lines can be slow
Problem:    Reading very long lines can be slow.
Solution:   Read up to 1 Mbyte at a time to avoid a lot of copying.  Add a
            check for going over the column limit.
2018-04-29 13:34:47 +02:00
c36651b4b9 patch 8.0.1773: dialog messages are not translated
Problem:    Dialog messages are not translated.
Solution:   Add N_() and _() where needed. (Sergey Alyoshin)
2018-04-29 12:22:56 +02:00
29ce409bfc patch 8.0.1772: quickfix: mixup of FALSE and FAIL, returning -1
Problem:    Quickfix: mixup of FALSE and FAIL, returning -1.
Solution:   Use FAIL and INVALID_QFIDX. (Yegappan Lakshmanan)
2018-04-28 21:56:44 +02:00
50182fa84e patch 8.0.1771: in tests, when WaitFor() fails it doesn't say why
Problem:    In tests, when WaitFor() fails it doesn't say why. (James McCoy)
Solution:   Add WaitForAssert(), which produces an assert error when it fails.
2018-04-28 21:34:40 +02:00
65a5464985 patch 8.0.1770: assert functions don't return anything
Problem:    Assert functions don't return anything.
Solution:   Return non-zero when the assertion fails.
2018-04-28 16:56:53 +02:00
9b25af3620 patch 8.0.1769: repeated saving and restoring viewstate for 'incsearch'
Problem:    Repeated saving and restoring viewstate for 'incsearch'.
Solution:   Use a structure.
2018-04-28 13:56:09 +02:00
451fc7b954 patch 8.0.1768: SET_NO_HLSEARCH() used in a wrong way
Problem:    SET_NO_HLSEARCH() used in a wrong way.
Solution:   Make it a function. (suggested by Dominique Pelle,
            closes #2850)
2018-04-27 22:53:07 +02:00
9d34d90210 patch 8.0.1767: with 'incsearch' text may jump up and down
Problem:    With 'incsearch' text may jump up and down. ()
Solution:   Besides w_botline also save and restore w_empty_rows.
            (closes # 2530)
2018-04-27 22:18:12 +02:00
c3c3e69896 patch 8.0.1766: expanding abbreviation doesn't work
Problem:    Expanding abbreviation doesn't work. (Tooth Pik)
Solution:   Return OK instead of FALSE and FAIL instead of TRUE. (Christian
            Brabandt)
2018-04-26 22:30:33 +02:00
db0eedec16 patch 8.0.1765: CTRL-G j in Insert mode is incorrect when 'virtualedit' set
Problem:    CTRL-G j in Insert mode is incorrect when 'virtualedit' is set.
Solution:   Take coladd into account. (Christian Brabandt, closes #2743)
2018-04-25 22:38:17 +02:00
856905bd83 patch 8.0.1764: lgtm considers tutor.es to be EcmaScript
Problem:    Lgtm considers tutor.es to be EcmaScript.
Solution:   Add a config file for lgtm. (Bas van Schaik, closes #2844)
2018-04-25 21:36:47 +02:00
46a53dfc29 patch 8.0.1763: :argedit does not reuse an empty unnamed buffer
Problem:    :argedit does not reuse an empty unnamed buffer.
Solution:   Add the BLN_CURBUF flag and fix all the side effects. (Christian
            Brabandt, closes #2713)
2018-04-24 21:58:51 +02:00
b255b90503 patch 8.0.1762: terminal debug logging is a bit complicated
Problem:    Terminal debug logging is a bit complicated.
Solution:   Make log_tr() use variable arguments (Ozaki Kiichi, closes #2730)
2018-04-24 21:40:10 +02:00
4e9d443a25 patch 8.0.1761: job in terminal window with no output channel is killed
Problem:    Job in terminal window with no output channel is killed.
Solution:   Keep the job running when the input is a tty. (Ozaki Kiichi,
            closes #2734)
2018-04-24 20:54:07 +02:00
4994373c5d patch 8.0.1760: wrong number of arguments to vms_read()
Problem:    Wrong number of arguments to vms_read().
Solution:   Drop the first argument. (Ozaki Kiichi)
2018-04-24 20:27:26 +02:00
09d1d51df5 patch 8.0.1759: memory leak from duplicate options
Problem:    Memory leak from duplicate options. (Yegappan Lakshmanan)
Solution:   Don't set the default value twice.
2018-04-24 20:23:56 +02:00
24a2d7264f patch 8.0.1758: open_line() returns TRUE/FALSE for success/failure
Problem:    open_line() returns TRUE/FALSE for success/failure.
Solution:   Return OK or FAIL.
2018-04-24 19:36:43 +02:00
b691de05f6 patch 8.0.1757: unnecessary changes in libvterm
Problem:    Unnecessary changes in libvterm.
Solution:   Bring back // comments and trailing comma in enums.
2018-04-24 18:39:14 +02:00
73658317ba patch 8.0.1756: GUI: after prompting for a number the mouse shape is wrong
Problem:    GUI: after prompting for a number the mouse shape is sometimes
            wrong.
Solution:   Call setmouse() after setting "State". (Hirohito Higashi,
            closes #2709)
2018-04-24 17:41:57 +02:00
f1f2f837bc patch 8.0.1755: MS-Windows: high unicode char received as two utf-16 words
Problem:    MS-Windows GUI: high unicode char received as two utf-16 words.
Solution:   Keep the first word until the second word is received. (Chris
            Morgan, closes #2800)
2018-04-24 16:04:57 +02:00
2225ebb486 patch 8.0.1754: ex_helpgrep() is too long
Problem:    ex_helpgrep() is too long.
Solution:   Refactor the function. (Yegappan Lakshmanan, closes #2766)
2018-04-24 15:48:11 +02:00
1c17ffa461 patch 8.0.1753: various warnings from a static analyser
Problem:    Various warnings from a static analyser
Solution:   Add type casts, remove unneeded conditions. (Christian Brabandt,
            closes #2770)
2018-04-24 15:19:04 +02:00
a2aa8a2b22 patch 8.0.1752: qf_set_properties() is to long
Problem:    qf_set_properties() is to long.
Solution:   Refactor the function.  Define INVALID_QFIDX. (Yegappan
            Lakshmanan, closes #2812)
2018-04-24 13:55:00 +02:00
4e601e3c82 patch 8.0.1751: #ifdef causes bad highlighting
Problem:    #ifdef causes bad highlighting.
Solution:   Move code around. (Ozaki Kiichi, closes #2731)
2018-04-24 13:29:51 +02:00
3b9474b4ad patch 8.0.1750: crash when clearing loccation list in autocommand
Problem:    Crash when clearing loccation list in autocommand.
Solution:   Check if "qi" equals "ql_info". (Yegappan Lakshmanan)
2018-04-23 21:29:48 +02:00
6537c421bb patch 8.0.1749: VMS: 100% CPU use, redefining mch_open() fails
Problem:    VMS: 100% CPU use, redefining mch_open() and mch_fopen() fails.
Solution:   Do not wait indefinitely in RealWaitForChar(). (Neil Rieck)
            Do not redefine mch_open() and mch_fopen() on VMS. (Zoltan
            Arpadffy)
2018-04-23 20:46:16 +02:00
a4baf5b325 patch 8.0.1748: CmdlineEnter command uses backslash instead of slash
Problem:    CmdlineEnter command uses backslash instead of slash.
Solution:   Don't treat the character as a file name. (closes #2837)
2018-04-22 13:27:44 +02:00
ebe74b7367 patch 8.0.1747: MS-Windows: term_start() does not set job_info() cmd
Problem:    MS-Windows: term_start() does not set job_info() cmd.
Solution:   Share the code from job_start() to set jv_argv.
2018-04-21 23:34:43 +02:00
a69b39511d patch 8.0.1746: MS-Windows: channel tests fail
Problem:    MS-Windows: channel tests fail.
Solution:   Make a copy of the command before splitting it.
2018-04-21 23:00:27 +02:00
2060892028 patch 8.0.1745: build failure on MS-Windows
Problem:    Build failure on MS-Windows.
Solution:   Build job arguments for MS-Windows. Fix allocating job twice.
2018-04-21 22:30:08 +02:00
9980b37a80 patch 8.0.1744: on some systems /dev/stdout isn't writable
Problem:    On some systems /dev/stdout isn't writable.
Solution:   Skip test if writing is not possible. (James McCoy, closes #2830)
2018-04-21 20:12:35 +02:00
6d150f783d patch 8.0.1743: terminal window options are named inconsistently
Problem:    Terminal window options are named inconsistently.
Solution:   prefix terminal window options with "termwin".  Keep the old names
            for now as an alias.
2018-04-21 20:03:20 +02:00
e1fc51558d patch 8.0.1742: cannot get a list of all the jobs
Problem:    Cannot get a list of all the jobs.  Cannot get the command of
            the job.
Solution:   When job_info() is called without an argument return a list of
            jobs.  Otherwise, include the command that the job is running.
            (Yegappan Lakshmanan)
2018-04-21 19:49:08 +02:00
259a90f7ce patch 8.0.1741: MS-Windows with msys2 cannot build Ruby statically
Problem:    MS-Windows with msys2 cannot build Ruby statically.
Solution:   Add RUBY_VERSION to CFLAGS later. (Gray Wolf, closes #2833)
2018-04-21 19:08:55 +02:00
405dadb63e patch 8.0.1740: warning for signed-unsigned incompatibility
Problem:    Warning for signed-unsigned incompatibility.
Solution:   Change type from "char *" to "char_u *". (John Marriott)
2018-04-20 22:48:58 +02:00
7dda86f2ff Update runtime files. 2018-04-20 22:36:41 +02:00
6176697203 patch 8.0.1739: MS-Windows with msys2 cannot build Ruby statically
Problem:    MS-Windows with msys2 cannot build Ruby statically.
Solution:   Define RUBY_VERSION. (Gray Wolf, closes #2826)
2018-04-20 22:31:41 +02:00
5d69da462f patch 8.0.1738: ":args" output is hard to read
Problem:    ":args" output is hard to read.
Solution:   Make columns with the names if the output is more than one line.
2018-04-20 22:01:41 +02:00
02e802b2da patch 8.0.1737: fchown() used when it is not supported
Problem:    fchown() used when it is not supported.
Solution:   Add #ifdef.
2018-04-19 21:15:27 +02:00
226400830b patch 8.0.1736: check for C99 features is incomplete
Problem:    Check for C99 features is incomplete.
Solution:   Use AC_PROG_CC_C99 and when C99 isn't fully supported check the
            features we need. (James McCoy, closes #2820)
2018-04-19 20:39:41 +02:00
285e335869 patch 8.0.1735: flexible array member feature not supported by HP-UX
Problem:    Flexible array member feature not supported by HP-UX. (John
            Marriott)
Solution:   Do not use the flexible array member feature of C99.
2018-04-18 23:01:13 +02:00
f98a39ca57 patch 8.0.1734: package directory not added to 'rtp' if prefix matches
Problem:    Package directory not added to 'rtp' if prefix matches.
Solution:   Check the match is a full match. (Ozaki Kiichi, closes #2817)
            Also handle different ways of spelling a path.
2018-04-18 22:18:23 +02:00
bad0ce7b26 patch 8.0.1733: incomplete testing for completion fix
Problem:    Incomplete testing for completion fix. (Lifepillar)
Solution:   Add a test with CTRL-P.
2018-04-17 23:31:05 +02:00
a997b45c7e patch 8.0.1732: crash when terminal API call deletes the buffer
Problem:    Crash when terminal API call deletes the buffer.
Solution:   Lock the buffer while calling a function. (closes #2813)
2018-04-17 23:24:06 +02:00
e87edf3b85 patch 8.0.1731: characters deleted on completion
Problem:    Characters deleted on completion. (Adrià Farrés)
Solution:   Also check the last item for the ORIGINAL_TEXT flag. (Christian
            Brabandt, closes #1645)
2018-04-17 22:14:32 +02:00
561f8a5a46 patch 8.0.1730: no configure check for the used C99 features
Problem:    No configure check for the used C99 features.
Solution:   Add a compilation check.  Tentatively document C99 features.
2018-04-17 22:02:45 +02:00
ea3ece405a patch 8.0.1729: no comma after last enum item
Problem:    No comma after last enum item.
Solution:   Add a few commas to check if this works for all compilers.  Also
            add a few // comments.
2018-04-17 20:14:39 +02:00
1feab2b9cc patch 8.0.1728: condition always false, useless code
Problem:    Condition always false, useless code.
Solution:   Remove the code. (Nikolai Pavlov, closes #2808)
2018-04-17 20:12:08 +02:00
353eeeaca2 patch 8.0.1727: qf_get_properties() function is too long
Problem:    qf_get_properties() function is too long.
Solution:   Refactor the code. (Yegappan Lakshmanan, closes #2807)
2018-04-16 18:04:57 +02:00
df2c774ded patch 8.0.1726: older MSVC doesn't support declarations halfway a block
Problem:    Older MSVC doesn't support declarations halfway a block.
Solution:   Move the declaration back to the start of the block.
2018-04-16 17:06:09 +02:00
32c67ba733 patch 8.0.1725: terminal debugger doesn't handle command arguments
Problem:    Terminal debugger doesn't handle command arguments.
Solution:   Add the :TermdebugCommand command.  Use a ! to execute right away.
            (Christian Brabandt)
2018-04-16 16:21:49 +02:00
06965b838f patch 8.0.1724: declarations cannot be halfway a block
Problem:    Declarations cannot be halfway a block.
Solution:   Move one declaration to check if this works for all compilers.
2018-04-16 15:40:50 +02:00
f3a411783c patch 8.0.1723: using one item array size declaration is misleading
Problem:    Using one item array size declaration is misleading.
Solution:   Instead of using "[1]" and actually using a larger array, use
            "[]".  This is to verify that this C99 feature works for all
            compilers.
2018-04-16 14:45:45 +02:00
498c2562e1 patch 8.0.1722: cannot specify a minimal size for a terminal window
Problem:    Cannot specify a minimal size for a terminal window.
Solution:   Support the "rows*cols" format for 'winsize'.
2018-04-15 23:45:15 +02:00
a7eef3d87f patch 8.0.1721: no test for using the 'termsize' option
Problem:    No test for using the 'termsize' option.
Solution:   Add a test.
2018-04-15 22:25:54 +02:00
802bfb1463 patch 8.0.1720: when a timer is running a terminal window may not close
Problem:    When a timer is running a terminal window may not close after a
            shell has exited.
Solution:   Call job_status() more often.
2018-04-15 17:28:13 +02:00
e1a32310d5 patch 8.0.1719: cannot specify which Python executable configure should use
Problem:    Cannot specify which Python executable configure should use.
Solution:   Add --with-python-command and --with-python3-command.
2018-04-15 16:03:25 +02:00
6c672194cd patch 8.0.1718: terminal scrollback test fails on MS-Windows
Problem:    Terminal scrollback test fails on MS-Windows.
Solution:   Check for the last line of output anticipating there might be an
            empty line below it.
2018-04-15 13:28:42 +02:00
3cba73423e patch 8.0.1717: C89 check causes too much trouble
Problem:    C89 check causes too much trouble.
Solution:   Remove enforcing C89 for now.
2018-04-15 13:12:46 +02:00
ac3e830065 patch 8.0.1716: test for term_setsize() does not give a good error message
Problem:    Test for term_setsize() does not give a good error message.
Solution:   use assert_inrange().
2018-04-15 13:10:44 +02:00
8c94a54905 patch 8.0.1715: terminal buffer can be 1 more than 'terminalscroll' lines
Problem:    Terminal buffer can be 1 more than 'terminalscroll' lines.
Solution:   Change > to >=.
2018-04-15 12:55:13 +02:00
6e72cd0d72 patch 8.0.1714: term_setsize() does not give an error in a normal buffer
Problem:    Term_setsize() does not give an error in a normal buffer.
Solution:   Add an error message.
2018-04-14 21:31:35 +02:00
b3623a382a patch 8.0.1713: terminal debugger doesn't handle arguments
Problem:    Terminal debugger doesn't handle arguments.
Solution:   Use <f-args> and pass all the arguments to gdb, e.g. the core file
            or process number. (suggested by Christian Brabandt) Disallow
            starting the debugger twice.
2018-04-14 18:59:50 +02:00
8c041b6b95 patch 8.0.1712: terminal scrollback is not limited
Problem:    Terminal scrollback is not limited.
Solution:   Add the 'terminalscroll' option.
2018-04-14 18:14:06 +02:00
a42d363bac patch 8.0.1711: term_setsize() is not implemented yet
Problem:    Term_setsize() is not implemented yet.
Solution:   Implement it.
2018-04-14 17:05:38 +02:00
2a43230ce3 patch 8.0.1710: building with Ruby fails
Problem:    Building with Ruby fails.
Solution:   Don't add -ansi when building with Ruby.
2018-04-14 16:12:30 +02:00
2e324950b8 patch 8.0.1709: some non-C89 code may slip through
Problem:    Some non-C89 code may slip through.
Solution:   Enforce C89 in configure. Fix detected problems. (James McCoy,
            closes #2735)
2018-04-14 14:37:07 +02:00
78a16b0f2a patch 8.0.1708: mkdir with 'p' flag fails on existing directory
Problem:    Mkdir with 'p' flag fails on existing directory, which is
            different from the mkdir shell command.
Solution:   Don't fail if the directory already exists. (James McCoy,
            closes #2775)
2018-04-14 13:51:55 +02:00
98da6ecab9 patch 8.0.1707: when 'wfh' is set ":bel 10new" scrolls window
Problem:    When 'wfh' is set ":bel 10new" scrolls window. (Andrew Pyatkov)
Solution:   Set the fraction before changing the window height. (closes #2798)
2018-04-13 22:15:46 +02:00
b59118d501 patch 8.0.1706: cannot sent CTRL-\ to a terminal window
Problem:    Cannot sent CTRL-\ to a terminal window.
Solution:   Make CTRL-W CTRL-\ send CTRL-\ to a terminal window.
2018-04-13 22:11:56 +02:00
5bab555c2f patch 8.0.1705: when making a vertical split the mode message isn't updated
Problem:    When making a vertical split the mode message isn't always
            updated, "VISUAL" remains. (Alexei Averchenko)
Solution:   Only reset clear_cmdline when filling all columns of the last
            screen line. (Tom M. closes #2611)
2018-04-13 20:41:29 +02:00
b8e22a053b patch 8.0.1704: 'backupskip' default doesn't work for Mac
Problem:    'backupskip' default doesn't work for Mac.
Solution:   Use "/private/tmp". (Rainer Müller, closes #2793)
2018-04-12 21:37:34 +02:00
527dec3f94 patch 8.0.1703: in the tutor 'showcmd' is not set
Problem:    In the tutor 'showcmd' is not set.
Solution:   Set 'showcmd' in the vimtutor script. (Ken Takata, closes #2792)
2018-04-12 20:36:43 +02:00
ee5b94a8ec patch 8.0.1702: leaking memory when autocommands make quickfix list invalid
Problem:    Leaking memory when autocommands make a quickfix list invalid.
Solution:   Call FreeWild(). (Yegappan Lakshmanan)
2018-04-12 20:35:05 +02:00
cccd62d435 patch 8.0.1701: can disable COLOR_EMOJI with MSVC but not MinGW
Problem:    Can disable COLOR_EMOJI with MSVC but not MinGW.
Solution:   Add COLOR_EMOJI flag.  Also add some empty lines for readability.
2018-04-12 20:23:48 +02:00
56f9955044 patch 8.0.1700: coverage statistics still don't work on coveralls
Problem:    Coverate statistics still don't work on coveralls.
Solution:   Exclude the xxd directory again.
2018-04-12 20:06:05 +02:00
9ce4213b03 patch 8.0.1699: leftover stuff for Python 1.4
Problem:    Leftover stuff for Python 1.4.
Solution:   Remove outdated Python 1.4 stuff. (Naoki Inada, closes #2794)
2018-04-11 22:19:36 +02:00
1ed00330bc patch 8.0.1698: coverage statistics don't work on coveralls
Problem:    Coverate statistics don't work on coveralls.
Solution:   Use curly braces for $SRCDIR.
2018-04-11 21:03:08 +02:00
769e9d21ac patch 8.0.1697: various tests are still a bit flaky
Problem:    Various tests are still a bit flaky.
Solution:   Increase the default wait time to five seconds.
2018-04-11 20:53:49 +02:00
d60e0a1d20 patch 8.0.1696: coverage statistics don't work
Problem:    Coverate statistics don't work.
Solution:   Include the xxd directory. (Christian Brabandt)
2018-04-11 10:06:04 +02:00
6995c0a7a9 patch 8.0.1695: xxd test not run on MS-Windows
Problem:    Xxd test not run on MS-Windows.
Solution:   Use xxd.exe if it exists.
2018-04-10 21:46:10 +02:00
b377457e69 patch 8.0.1694: terminal API test is a bit flaky
Problem:    Terminal API test is a bit flaky.
Solution:   Wait longer for Vim to stop.
2018-04-10 21:43:26 +02:00
1acdb3f301 patch 8.0.1693: xxd is excluded from coverage statistics
Problem:    Xxd is excluded from coverage statistics.
Solution:   Don't skip the xxd directory. (Christian Brabandt)
2018-04-10 21:16:32 +02:00
3a21d9c7bb patch 8.0.1692: Python may not work when using statically linked library
Problem:    Python may not work when using statically linked library .
Solution:   Do not define PYTHON_HOME and PYTHON3_HOME in configure if the
            Python library is linked statically.
2018-04-10 20:26:20 +02:00
164268d4cf patch 8.0.1691: xxd test sometimes fails
Problem:    Xxd test sometimes fails.
Solution:   Wipe out the XXDfile buffer.
2018-04-10 20:06:17 +02:00
8dd1761e69 patch 8.0.1690: not easy to run one test with gvim instead of vim
Problem:    Not easy to run one test with gvim instead of vim.
Solution:   Add VIMTESTTARGET in Makefile.
2018-04-10 19:24:04 +02:00
29f9ed20b4 patch 8.0.1689: no tests for xxd
Problem:    No tests for xxd.
Solution:   Add a test. (Christian Brabandt)
2018-04-10 19:20:31 +02:00
6f4700233f patch 8.0.1688: some macros are used without a semicolon
Problem:    Some macros are used without a semicolon, causing auto-indent to be
            wrong.
Solution:   Use the do-while(0) trick. (Ozaki Kiichi, closes #2729)
2018-04-10 18:47:20 +02:00
d6b4f2dd76 patch 8.0.1687: 64 bit compiler warnings
Problem:    64 bit compiler warnings.
Solution:   change type, add type cast. (Mike Williams)
2018-04-10 18:26:27 +02:00
d088240b96 patch 8.0.1686: Python does not work when configuring with specific dir
Problem:    Python does not work when configuring with specific dir. (Rajdeep)
Solution:   Do define PYTHON_HOME and PYTHON3_HOME in configure if the Python
            config dir was specified.
2018-04-10 18:13:05 +02:00
f59c6e8cee patch 8.0.1685: can't set ANSI colors of a terminal window
Problem:    Can't set ANSI colors of a terminal window.
Solution:   Add term_setansicolors(), term_getansicolors() and
            g:term_ansi_colors. (Andy Massimino, closes #2747)
2018-04-10 15:59:11 +02:00
07b46af645 patch 8.0.1684: ml_get errors when using terminal window for shell command
Problem:    ml_get errors when using terminal window for shell command.
            (Blay263)
Solution:   Do not change the size of the current window.
2018-04-10 14:56:18 +02:00
0424958bde patch 8.0.1683: Python upgrade breaks Vim when defining PYTHON_HOME
Problem:    Python upgrade breaks Vim when defining PYTHON_HOME.
Solution:   Do not define PYTHON_HOME and PYTHON3_HOME in configure. (Naoki
            Inada, closes #2787)
2018-04-10 13:29:34 +02:00
8c87a2b1fe patch 8.0.1682: auto indenting breaks inserting a block
Problem:    Auto indenting breaks inserting a block.
Solution:   Do not check for cursor movement if indent was changed. (Christian
            Brabandt, closes #2778)
2018-04-10 13:15:47 +02:00
e80757c154 patch 8.0.1681: the format attribute fails with MinGW
Problem:    The format attribute fails with MinGW. (John Marriott)
Solution:   Don't use the format attribute with MinGW.
2018-04-10 12:42:44 +02:00
756ef113d1 patch 8.0.1680: memory allocated by libvterm is not profiled
Problem:    Memory allocated by libvterm does not show up in profile.
Solution:   Pass allocater functions to vterm_new().
2018-04-10 12:04:27 +02:00
672afb9f66 patch 8.0.1679: compiler warning for printf format
Problem:    Compiler warning for printf format. (Chdiza)
Solution:   Change type to "long long". (closes #2791)
2018-04-08 16:34:22 +02:00
e333e79f9b patch 8.0.1678: errorformat "%r" implies "%>"
Problem:    Errorformat "%r" implies "%>". (Jan Gosmann)
Solution:   Jump to before setting fmt_ptr. (Yegappan Lakshmanan,
            closes #2785)
2018-04-08 13:27:39 +02:00
ea39176baa patch 8.0.1677: no compiler warning for wrong format in vim_snprintf()
Problem:    No compiler warning for wrong format in vim_snprintf().
Solution:   Add printf attribute for gcc.  Fix reported problems.
2018-04-08 13:07:22 +02:00
4ac2e8d8e6 patch 8.0.1676: no compiler warning for wrong printf format
Problem:    No compiler warning for wrong printf format.
Solution:   Add a printf attribute for gcc. Fix reported problems. (Dominique
            Pelle, closes #2789)
2018-04-08 12:38:26 +02:00
8200829141 patch 8.0.1675: unused macro argument in libvterm
Problem:    Unused macro argument in libvterm. (Randall W. Morris)
Solution:   Remove the argument.
2018-04-08 12:17:04 +02:00
77557a7ae6 patch 8.0.1674: libvterm can't handle an OSC string split
Problem:    Libvterm can't handle a long OSC string that is split.
Solution:   When an incomplete OSC string is received copy it to the parser
            buffer. Increase the size of the parser buffer to be able to
            handle longer strings.
2018-04-07 21:42:56 +02:00
4791015e6f patch 8.0.1673: terminal window tests are still a bit flaky
Problem:    Terminal window tests are still a bit flaky.
Solution:   Increase the waiting time even more. (Elimar Riesebieter)
2018-04-07 19:27:16 +02:00
72532d354e patch 8.0.1672: error during completion causes command to be cancelled
Problem:    Error during completion causes command to be cancelled.
Solution:   Reset did_emsg before waiting for another character. (Tom M.)
2018-04-07 19:09:09 +02:00
22efba47de patch 8.0.1671: crash when passing non-dict argument as env to job_start()
Problem:    Crash when passing non-dict argument as env to job_start().
Solution:   Check for valid argument. (Ozaki Kiichi, closes #2765)
2018-04-07 13:22:21 +02:00
b6ed74fef8 patch 8.0.1670: terminal window tests are still a bit flaky
Problem:    Terminal window tests are still a bit flaky.
Solution:   Increase the waiting time for the buffer to be created.
2018-04-07 10:42:14 +02:00
e1bb879f49 patch 8.0.1669: :vimgrep may add entries to the wrong quickfix list
Problem:    :vimgrep may add entries to the wrong quickfix list.
Solution:   Use the list identifier. (Yegappan Lakshmanan)
2018-04-06 22:58:23 +02:00
c4b533e1e9 patch 8.0.1668: terminal debugger: can't re-open source code window
Problem:    Terminal debugger: can't re-open source code window.
Solution:   Add the :Source command.  Also create the window if needed when
            gdb stops at a source line.
2018-04-06 22:26:25 +02:00
3680bab7e7 patch 8.0.1667: terminal window tests are flaky
Problem:    Terminal window tests are flaky.
Solution:   Increase the waiting time for Vim to start.
2018-04-06 20:22:06 +02:00
51ad4eaa22 Update runtime files 2018-04-06 11:14:11 +02:00
d5359b24ce patch 8.0.1666: % argument in ch_log() causes trouble
Problem:    % argument in ch_log() causes trouble.
Solution:   Use string as third argument in internal ch_log(). (Dominique
            Pelle, closes #2784)
2018-04-05 22:44:39 +02:00
9a993e3c09 patch 8.0.1665: when running a terminal from the GUI 'term' is not useful
Problem:    When running a terminal from the GUI 'term' is not useful.
Solution:   Use $TERM in the GUI if it starts with "xterm". (closes #2776)
2018-04-05 22:15:22 +02:00
3aa67fb453 patch 8.0.1664: test failure because of not allocating enough space
Problem:    Test failure because of not allocating enough space.
Solution:   Allocate more bytes.
2018-04-05 21:04:15 +02:00
86676c949f patch 8.0.1663: cannot build without multi-byte feature
Problem:    Cannot build without multi-byte feature.
Solution:   Add #ifdef.
2018-04-05 18:56:48 +02:00
4a69634b1b patch 8.0.1662: showing dump diff doesn't mention both file names
Problem:    Showing dump diff doesn't mention both file names.
Solution:   Add the file name in the separator line.
2018-04-05 18:45:26 +02:00
878c96d5b9 patch 8.0.1661: warnings from 64 bit compiler
Problem:    Warnings from 64 bit compiler.
Solution:   Add type casts. (Mike Williams)
2018-04-04 23:00:06 +02:00
333b80acf3 patch 8.0.1660: the terminal API "drop" command doesn't support options
Problem:    The terminal API "drop" command doesn't support options.
Solution:   Implement the options.
2018-04-04 22:57:29 +02:00
1f8495cf48 patch 8.0.1659: scroll events not recognized for some xterm emulators
Problem:    Scroll events not recognized for some xterm emulators.
Solution:   Recognize mouse codes 0x40 and 0x41 as scroll events.
2018-04-04 21:53:11 +02:00
79cf7c0d45 patch 8.0.1658: capitalize argument not available in long form
Problem:    Capitalize argument not available in long form.
Solution:   Recognize -capitalize.  Update man page.
2018-04-03 14:21:16 +02:00
9af9778209 patch 8.0.1657: crash when reading a channel
Problem:    Crash when reading a channel.
Solution:   Clear the write flag before writing. (idea by Shinya Ohyanagi,
            closes #2769).
2018-04-03 12:51:01 +02:00
8b31a6ff7a patch 8.0.1656: no option to have xxd produce upper case variable names
Problem:    No option to have xxd produce upper case variable names.
Solution:   Add the -C argument. (Matt Panaro closes #2772)
2018-04-03 12:17:25 +02:00
25a6e8a769 Small runtime update 2018-03-30 12:27:32 +02:00
f3ba14ffd3 patch 8.0.1655: outdated gdb message in terminal debugger unclear
Problem:    Outdated gdb message in terminal debugger unclear.
Solution:   Specifically mention the required gdb version.  Avoid getting
            stuck on pagination.
2018-03-29 18:29:51 +02:00
ab943431d8 Update runtime files 2018-03-29 18:27:07 +02:00
7b24ce08fe patch 8.0.1654: warnings for conversion of void to function pointer
Problem:    Warnings for conversion of void to function pointer.
Solution:   Use a temp variable that is a function pointer.
2018-03-29 18:15:26 +02:00
1834d37396 patch 8.0.1653: screen dump is made too soon
Problem:    Screen dump is made too soon.
Solution:   Wait until the ruler is displayed. (Ozaki Kiichi, closes #2755)
2018-03-29 17:40:46 +02:00
f06b0b6c8f patch 8.0.1652: term_dumpwrite() does not output composing characters
Problem:    term_dumpwrite() does not output composing characters.
Solution:   Use the cell index.
2018-03-29 17:22:24 +02:00
0751f51a5b patch 8.0.1651: cannot filter :ls output for terminal buffers
Problem:    Cannot filter :ls output for terminal buffers.
Solution:   Add flags for terminal buffers. (Marcin Szamotulski, closes #2751)
2018-03-29 16:37:16 +02:00
0c72fe4ed8 patch 8.0.1650: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_LISTCMDS, no reason to leave out buffer commands.
2018-03-29 16:04:08 +02:00
cd43effeca patch 8.0.1649: no completion for argument list commands
Problem:    No completion for argument list commands.
Solution:   Add arglist completion. (Yegappan Lakshmanan, closes #2706)
2018-03-29 15:55:38 +02:00
1b2f61e732 patch 8.0.1648: resource fork tool doesn't work on Python 3
Problem:    Resource fork tool doesn't work on Python 3.
Solution:   Use "print()" instead of "print". (Marius Gedminas)
2018-03-27 21:12:01 +02:00
2a77d21f78 patch 8.0.1647: terminal API may call any user function
Problem:    Terminal API may call a function not meant to be called by this
            API.
Solution:   Require the function to start with Tapi_.
2018-03-26 21:38:52 +02:00
4368d5ce8a patch 8.0.1646: MS-Windows: executable contains unreferenced functions
Problem:    MS-Windows: executable contains unreferenced functions and data.
Solution:   Add /opt:ref to the compiler command. (Ken Takata)
2018-03-26 20:55:10 +02:00
086eb87695 patch 8.0.1645: test for terminal response to escape sequence may fail
Problem:    Test for terminal response to escape sequence fails for some
            people. (toothpik)
Solution:   Run "cat" and let it echo the characters.
2018-03-25 21:24:12 +02:00
cf67a509e9 patch 8.0.1644: terminal API tests still fail
Problem:    Terminal API tests still fail.
Solution:   Explicitly set 'title' in the terminal job. (Ozaki Kiichi,
            closes #2750)
2018-03-25 20:31:32 +02:00
2de50f8762 patch 8.0.1643: terminal API tests fail
Problem:    Terminal API tests fail.
Solution:   Explicitly set 'title'.
2018-03-25 19:09:56 +02:00
15a1c3fdc1 patch 8.0.1642: running Vim in terminal fails with two windows
Problem:    Running Vim in terminal fails with two windows.
Solution:   Pass the number of rows to RunVimInTerminal().
2018-03-25 18:56:25 +02:00
8fbaeb195d patch 8.0.1641: job in terminal can't communicate with Vim
Problem:    Job in terminal can't communicate with Vim.
Solution:   Add the terminal API.
2018-03-25 18:20:17 +02:00
65873846e0 patch 8.0.1640: Test_cwd() is flaky
Problem:    Test_cwd() is flaky.
Solution:   Add to list of flaky tests.
2018-03-25 17:12:58 +02:00
b5b49a3b43 patch 8.0.1639: libvterm code lags behind master
Problem:    Libvterm code lags behind master.
Solution:   Sync to head, solve merge problems.
2018-03-25 16:20:37 +02:00
e7499ddc33 patch 8.0.1638: popup test fails depending on environment variable
Problem:    Popup test fails depending on environment variable.
Solution:   Reset $COLORFGBG when running Vim in a terminal. (closes #2693)
2018-03-24 17:56:13 +01:00
897e63c4c0 patch 8.0.1637: no test for term_dumpdiff() options argument
Problem:    No test for term_dumpdiff() options argument.
Solution:   Add a test.
2018-03-24 17:16:33 +01:00
45d2a64f96 patch 8.0.1636: no test for term_dumpload() and term_dumpdiff()
Problem:    No test for term_dumpload() and term_dumpdiff().
Solution:   Add tests.
2018-03-24 14:30:32 +01:00
16d7eced1a patch 8.0.1635: undefining _POSIX_THREADS causes problems with Python 3
Problem:    Undefining _POSIX_THREADS causes problems with Python 3. (Micah
            Bucy, closes #2748)
Solution:   Remove the lines.
2018-03-24 14:06:15 +01:00
75b0a888e4 patch 8.0.1634: the ex_vimgrep() function is too long
Problem:    The ex_vimgrep() function is too long.
Solution:   Split it in smaller functions. (Yegappan Lakshmanan)
2018-03-24 14:01:56 +01:00
8c64a36e40 patch 8.0.1633: a TextChanged autocmd triggers when it is defined
Problem:    A TextChanged autocmd triggers when it is defined after creating a
            buffer.
Solution:   Set b_last_changedtick when opening a buffer. (Hirohito Highlight,
            closes #2742)
2018-03-23 22:39:31 +01:00
47015b80a0 patch 8.0.1632: in a terminal dump NUL and space are different
Problem:    In a terminal dump NUL and space considered are different,
            although they are displayed the same.
Solution:   When encountering NUL handle it like space.
2018-03-23 22:10:34 +01:00
948a796bfe patch 8.0.1631: testing with Vim running in terminal is a bit flaky
Problem:    Testing with Vim running in terminal is a bit flaky.
Solution:   Delete any .swp file so that later tests don't fail.
2018-03-23 20:37:45 +01:00
295ac5ab5e patch 8.0.1630: trimming white space is not that easy
Problem:    Trimming white space is not that easy.
Solution:   Add the trim() function. (Bukn, closes #1280)
2018-03-22 23:04:02 +01:00
62b7f6a139 patch 8.0.1629: Mac: getpagesize() is deprecated
Problem:    Mac: getpagesize() is deprecated.
Solution:   Use sysconf() instead. (Ozaki Kiichi, closes #2741)
2018-03-22 21:44:07 +01:00
0bd052ba12 patch 8.0.1628: channel log doesn't mention exiting
Problem:    Channel log doesn't mention exiting.
Solution:   Add a ch_log() call in getout().
2018-03-22 20:33:56 +01:00
7735dafb58 patch 8.0.1627: compiler warning for visibility attribute not supported
Problem:    Compiler warning for visibility attribute not supported on MinGW
            builds.
Solution:   Don't add the attribute when we don't expect it to work.
            (Christian Brabandt)
2018-03-22 20:26:50 +01:00
b571c63d48 patch 8.0.1626: compiler warning for possible loss of data
Problem:    Compiler warning for possible loss of data.
Solution:   Use size_t instead of int. (Christian Brabandt)
2018-03-21 22:27:59 +01:00
29dfa5af3c patch 8.0.1625: test_quotestar is flaky when run in GTK GUI
Problem:    Test_quotestar is flaky when run in GTK GUI.
Solution:   Do not call lose_selection when invoked from
            selection_clear_event().
2018-03-20 21:24:45 +01:00
5a3a49ed59 patch 8.0.1624: options for term_dumpdiff() and term_dumpload() not implemented
Problem:    Options for term_dumpdiff() and term_dumpload() not implemented
            yet.
Solution:   Implement the relevant options.
2018-03-20 18:35:53 +01:00
3e8d385347 patch 8.0.1623: terminal kill tests are flaky
Problem:    Terminal kill tests are flaky.
Solution:   Instead of running Vim in a terminal, run it as a normal command.
2018-03-20 17:43:01 +01:00
6ed86ad170 patch 8.0.1622: possible NULL pointer dereference
Problem:    Possible NULL pointer dereferencey. (Coverity)
Solution:   Reverse the check for a NULL pointer.
2018-03-20 13:30:42 +01:00
6185903e3d patch 8.0.1621: using invalid default value for highlight attribute
Problem:    Using invalid default value for highlight attribute.
Solution:   Use zero instead of -1.
2018-03-20 13:00:25 +01:00
e26e0d2b83 patch 8.0.1620: reading spell file has no good EOF detection
Problem:    Reading spell file has no good EOF detection.
Solution:   Check for EOF at every character read for a length field.
2018-03-20 12:34:04 +01:00
81c3c89a28 patch 8.0.1619: Win32 GUI: crash when winpty is not installed
Problem:    Win32 GUI: crash when winpty is not installed and trying to use
            :shell in a terminal window.
Solution:   Check for NULL return form term_start(). (Yasuhiro Matsumoto,
            closes #2727)
2018-03-20 11:41:44 +01:00
ecadf4377f patch 8.0.1618: color Grey50 is missing in the compiled-in table
Problem:    Color Grey50, used for ToolbarLine, is missing in the compiled-in
            table.
Solution:   Add the color to the list. (Kazunobu Kuriyama)
2018-03-20 11:17:04 +01:00
42f652f733 patch 8.0.1617: Win32: :shell command in the GUI crashes
Problem:    Win32: :shell command in the GUI crashes.
Solution:   Handle the situation that "cmd" is NULL. (Yasuhiro Matsumoto,
            closes #2721)
2018-03-19 21:44:37 +01:00
f05fa37822 patch 8.0.1616: Win32: shell commands in the GUI open a new console
Problem:    Win32: shell commands in the GUI open a new console.
Solution:   Use a terminal window for interactive use when 'guioptions'
            contains "!".
2018-03-18 19:29:34 +01:00
52acb110ac patch 8.0.1615: term_dumpload() does not use the right colors
Problem:    term_dumpload() does not use the right colors.
Solution:   Initialize colors when not using create_vterm().
2018-03-18 19:20:22 +01:00
98ef233e14 Update runtime files. Convert a couple of help files to utf-8. 2018-03-18 14:44:37 +01:00
9ef2a30e6f patch 8.0.1614: "make tags" doesn't include libvterm
Problem:    "make tags" doesn't include libvterm.
Solution:   Add the libvterm sources to the tags command.
2018-03-17 15:55:26 +01:00
a2150ac016 patch 8.0.1613: warning for unused variable in tiny build
Problem:    Warning for unused variable in tiny build. (Tony Mechelynck)
Solution:   Move declaration to inner block.
2018-03-17 13:15:17 +01:00
1dd98334d6 patch 8.0.1612: need to close terminal after shell stopped
Problem:    Need to close terminal after shell stopped.
Solution:   Make :terminal without argument close the window by default.
2018-03-16 22:54:53 +01:00
af23bad0fd patch 8.0.1611: CTRL-W in system terminal does not go to job
Problem:    CTRL-W in system terminal does not go to job.
Solution:   Do not use CTRL-W as a terminal command in a system terminal.
2018-03-16 22:20:49 +01:00
4ac31eeff0 patch 8.0.1610: cannot build without GUI
Problem:    Cannot build without GUI.
Solution:   Add #ifdef.
2018-03-16 21:34:25 +01:00
135682517b patch 8.0.1609: shell commands in the GUI use a dumb terminal
Problem:    Shell commands in the GUI use a dumb terminal.
Solution:   Add the "!" flag to 'guioptions' to execute system commands in a
            special terminal window.  Only for Unix now.
2018-03-16 20:46:58 +01:00
43cb626214 patch 8.0.1608: Win32: directx not enabled by default
Problem:    Win32: directx not enabled by default.
Solution:   Change Makefile to enable directx by default. (Ken Takata)
2018-03-14 21:39:02 +01:00
62dd452d02 patch 8.0.1607: --clean loads user settings from .gvimrc
Problem:    --clean loads user settings from .gvimrc.
Solution:   Behave like "-U NONE" was used. (Ken Takata)
2018-03-14 21:20:02 +01:00
228de1dfd2 patch 8.0.1606: singular/plural variants not translated
Problem:    Singular/plural variants not translated.
Solution:   Add NGETTEXT argument to xgettext. (Sergey Alyoshin)
2018-03-14 20:11:12 +01:00
012eb66293 patch 8.0.1605: terminal test is a bit flaky
Problem:    Terminal test is a bit flaky.
Solution:   Check for the shell prompt.  Use more lambda functions.
2018-03-13 17:55:27 +01:00
a903472cfa patch 8.0.1604: paste test may fail if $DISPLAY is not set
Problem:    Paste test may fail if $DISPLAY is not set.
Solution:   Add WorkingClipboard() and use it in the paste test.
2018-03-13 15:43:46 +01:00
f118d4847e patch 8.0.1603: cannot build with +terminal but without +menu
Problem:    Cannot build with +terminal but without +menu.
Solution:   Add #ifdef. (Damien)
2018-03-13 13:14:00 +01:00
625f0c1eb7 patch 8.0.1602: crash in parsing JSON
Problem:    Crash in parsing JSON.
Solution:   Fail when using array or dict as dict key. (Damien)
2018-03-13 13:10:41 +01:00
ff1e879577 patch 8.0.1601: highlight test fails on Win32
Problem:    Highlight test fails on Win32.
Solution:   Check for vtp and vcon support.
2018-03-12 22:16:37 +01:00
f708ac592f patch 8.0.1600: crash when setting t_Co to zero when 'termguicolors' is set
Problem:    Crash when setting t_Co to zero when 'termguicolors' is set.
Solution:   Use IS_CTERM instead of checking the number of colors.
            (closes #2710)
2018-03-12 21:48:32 +01:00
3e4b84d0b5 patch 8.0.1599: no error message when gdb does not support debugger
Problem:    No error message when gdb does not support the terminal debugger.
Solution:   Check for the response to open the Machine Interface.
2018-03-11 20:51:52 +01:00
c48369c3fc patch 8.0.1598: cannot select text in a terminal with the mouse
Problem:    Cannot select text in a terminal with the mouse.
Solution:   When a job in a terminal is not consuming mouse events, use them
            for modeless selection.  Also stop Insert mode when clicking in a
            terminal window.
2018-03-11 19:30:45 +01:00
e87303af32 patch 8.0.1597: autocommand events are not sorted
Problem:    Autocommand events are not sorted.
Solution:   Sort the autocommand events.
2018-03-11 17:02:12 +01:00
b852c3e64d patch 8.0.1596: no autocommand specifically for opening a terminal window
Problem:    No autocommand specifically for opening a terminal window.
Solution:   Add TerminalOpen. (?, closes #2484)
2018-03-11 16:55:36 +01:00
12a96de430 patch 8.0.1595: no autocommand triggered before exiting
Problem:    No autocommand triggered before exiting.
Solution:   Add the ExitPre autocommand event.
2018-03-11 14:44:18 +01:00
435acdb88c patch 8.0.1594: :conform qall not tested with active terminal window
Problem:    :conform qall not tested with active terminal window.
Solution:   Add a test.
2018-03-10 20:51:25 +01:00
25cdd9c33b patch 8.0.1593: :qall never exits with an active terminal window
Problem:    :qall never exits with an active terminal window.
Solution:   Add a way to kill a job in a terminal window.
2018-03-10 20:28:12 +01:00
b5b7562475 Update runtime files. 2018-03-09 22:22:21 +01:00
4d8bac8bf5 patch 8.0.1592: terminal windows in a session are not properly restored
Problem:    Terminal windows in a session are not properly restored.
Solution:   Add "terminal" in 'sessionoptions'.  When possible restore the
            command running in a terminal.
2018-03-09 21:33:34 +01:00
20586cb4f4 patch 8.0.1591: MS-Windows: when reparsing the arguments 'wildignore' matters
Problem:    MS-Windows: when reparsing the arguments 'wildignore' matters.
Solution:   Save and reset 'wildignore'. (Yasuhiro Matsumoto, closes #2702)
2018-03-08 22:03:14 +01:00
1a84024037 patch 8.0.1590: padding in list type wastes memory
Problem:    Padding in list type wastes memory.
Solution:   Reorder struct members to optimize padding. (Dominique Pelle,
            closes #2704)
2018-03-08 21:46:43 +01:00
d7db27bafd patch 8.0.1589: error for setting 'modifiable' when resetting it
Problem:    Error for setting 'modifiable' when resetting it.
Solution:   Check if 'modifiable' was actually set.
2018-03-07 23:02:33 +01:00
52f18a112a patch 8.0.1588: popup menu hangs after typing CTRL-C
Problem:    Popup menu hangs after typing CTRL-C.
Solution:   Make CTRL-C exit the loop. (Ozaki Kiichi, closes #2697)
2018-03-07 22:09:11 +01:00
3324d0a864 patch 8.0.1587: inserting from the clipboard doesn't work literally
Problem:    inserting from the clipboard doesn't work literally
Solution:   When pasting from the * or + register always assume literally.
2018-03-06 19:51:13 +01:00
201dc67db5 patch 8.0.1586: imactivatefunc does not work on non-GUI Mac
Problem:    Imactivatefunc does not work on non-GUI Mac.
Solution:   Fix logic in #ifdef.
2018-03-06 18:59:57 +01:00
ebf142a1ed patch 8.0.1585: enabling beval_term feature in Win32 GUI
Problem:    Enabling beval_term feature in Win32 GUI.
Solution:   Only enable beval_term in Win32 console.
2018-03-06 18:20:03 +01:00
f536bf6d45 patch 8.0.1584: using C99 in Mac file gives compiler warning messages
Problem:    Using C99 in Mac file gives compiler warning messages.
Solution:   Add #prama's to avoid the warnings. (Kazunobu Kuriyama)
2018-03-06 17:55:01 +01:00
fc6f16b57c patch 8.0.1583: using C99 comment
Problem:    Using C99 comment.
Solution:   Use old style comment. (Kazunobu Kuriyama)
2018-03-06 17:43:22 +01:00
157d813be4 patch 8.0.1582: in the MS-Windows console mouse movement is not used
Problem:    In the MS-Windows console mouse movement is not used.
Solution:   Pass mouse movement events when useful.
2018-03-06 17:09:20 +01:00
3b3a9a5609 patch 8.0.1581: cannot build Win32 GUI without +eval
Problem:    Cannot build Win32 GUI without +eval.
Solution:   Define HAVE_INPUT_METHOD without +eval. (Ken Takata)
2018-03-06 16:11:47 +01:00
946acdac5b patch 8.0.1580: FEAT_CURSORBIND and FEAT_SCROLLBIND are unused
Problem:    FEAT_CURSORBIND and FEAT_SCROLLBIND are unused.
Solution:   Delete them.
2018-03-06 15:06:19 +01:00
df0d24b627 patch 8.0.1579: virtual replace test fails in GUI
Problem:    Virtual replace test fails in GUI.
Solution:   Don't save key options if they were not set.
2018-03-06 14:22:58 +01:00
69f5a3011d patch 8.0.1578: no test for :popup in terminal
Problem:    No test for :popup in terminal.
Solution:   Add a screen dump test.
2018-03-06 13:23:08 +01:00
e780848150 patch 8.0.1577: virtual replace test fails on MS-Windows
Problem:    Virtual replace test fails on MS-Windows.
Solution:   Make adding a termcap entry work for a builtin terminal.
            Restore terminal keys in a better way.
2018-03-06 13:17:23 +01:00
16896a1019 patch 8.0.1576: Perl VIM::Buffers() does not find every buffer
Problem:    Perl VIM::Buffers() does not find every buffer.
Solution:   Also find unlisted buffer by number or name. (Chris Weyl,
            closes #2692)
2018-03-06 12:25:56 +01:00
63e82db6fc patch 8.0.1575: crash when using virtual replace
Problem:    Crash when using virtual replace.
Solution:   Adjust orig_line_count.  Add more tests. (Christian Brabandt)
2018-03-06 12:10:48 +01:00
987723e084 patch 8.0.1574: show cursor in wrong place when using popup menu
Problem:    Show cursor in wrong place when using popup menu. (Wei Zhang)
Solution:   Force updating the cursor position.  Fix skipping over unused
            entries.
2018-03-06 11:43:04 +01:00
89894aa671 patch 8.0.1573: getwinpos(1) may cause response to be handled as command
Problem:    getwinpos(1) may cause response to be handled as command.
Solution:   Handle any cursor position report once one was request. (partly by
            Hirohito Higashi)
2018-03-05 22:43:10 +01:00
362dc33835 patch 8.0.1572: Mac: getting memory size doesn't work everywhere
Problem:    Mac: getting memory size doesn't work everywhere.
Solution:   Use MACOS_X instead of MACOS_X_DARWIN. (Kazunobu Kuriyama)
2018-03-05 21:59:37 +01:00
40d77b0ec1 patch 8.0.1571: can't build without GUI
Problem:    Can't build without GUI.
Solution:   Adjust #ifdef for gui_find_menu().
2018-03-05 21:32:27 +01:00
29a2c08d79 patch 8.0.1570: can't use :popup for a menu in the terminal
Problem:    Can't use :popup for a menu in the terminal. (Wei Zhang)
Solution:   Make :popup work in the terminal.  Also fix that entries were
            included that don't work in the current state.
2018-03-05 21:06:23 +01:00
28ada699c1 patch 8.0.1569: warning for uninitialized variable from gcc
Problem:    Warning for uninitialized variable from gcc.
Solution:   Initialize the variable.
2018-03-05 12:42:42 +01:00
24fe475894 patch 8.0.1568: can't build on older Mac, header file is missing
Problem:    Can't build on older Mac, header file is missing.
Solution:   Remove the header file. (Ozaki Kiichi, closes #2691)
2018-03-05 10:54:53 +01:00
6e35a11490 patch 8.0.1567: cannot build Win32 GUI without IME
Problem:    Cannot build Win32 GUI without IME. (John Marriott)
Solution:   Adjust when IME_WITHOUT_XIM and HAVE_INPUT_METHOD are defined and
            use it in a few more places.
2018-03-04 21:36:05 +01:00
8a3bb56230 patch 8.0.1566: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_SCROLLBIND and FEAT_CURSORBIND.
2018-03-04 20:14:14 +01:00
107279c17b patch 8.0.1565: can't build Mac version without GUI
Problem:    Can't build Mac version without GUI.
Solution:   Adjust when IME_WITHOUT_XIM is defined.
2018-03-04 18:57:19 +01:00
f2bd8ef2b4 patch 8.0.1564: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the +autocmd feature. Takes away 450 #ifdefs and
            increases code size of tiny Vim by only 40 Kbyte.
2018-03-04 18:08:14 +01:00
3f54fd319f patch 8.0.1563: timeout of getwinposx() can be too short
Problem:    Timeout of getwinposx() can be too short. (lilydjwg)
Solution:   Add getwinpos(). (closes #2689)
2018-03-03 21:29:55 +01:00
71137fed4d patch 8.0.1562: the terminal debugger can't set a breakpoint with the mouse
Problem:    The terminal debugger can't set a breakpoint with the mouse.
Solution:   Add popup menu entries.
2018-03-03 20:47:21 +01:00
069dafc1de patch 8.0.1561: crash with rust syntax highligting
Problem:    Crash with rust syntax highligting. (Edd Barrett)
Solution:   Avoid going past the end of an empty line.
2018-03-03 20:02:19 +01:00
3767b61ad9 patch 8.0.1560: build failure without GUI on MS-Windows
Problem:    Build failure without GUI on MS-Windows.
Solution:   Adjust #ifdef for vcol2col().
2018-03-03 19:51:58 +01:00
658a154cbf patch 8.0.1559: build failure without GUI
Problem:    Build failure without GUI.
Solution:   Adjust #ifdef for get_fpos_of_mouse().
2018-03-03 19:29:43 +01:00
aef8c3da2b patch 8.0.1558: no right-click menu in a terminal
Problem:    No right-click menu in a terminal.
Solution:   Implement the right click menu for the terminal.
2018-03-03 18:59:16 +01:00
c71807db9c patch 8.0.1557: printf() does not work with only one argument
Problem:    printf() does not work with only one argument. (Daniel Hahler)
Solution:   Allow using just the format. (Ken Takata, closes #2687)
2018-03-03 15:06:52 +01:00
590ec878a5 patch 8.0.1556: may not parse the t_RS response correctly
Problem:    May not parse the t_RS response correctly, resulting in wrong
            characters in the input stream.
Solution:   When the t_RS response is partly received wait for more
            characters.
2018-03-02 20:58:42 +01:00
77780b66f4 patch 8.0.1555: build error for some combination of features
Problem:    Build error for some combination of features.
Solution:   Declare variable in more situations.
2018-03-01 23:10:45 +01:00
0726870326 patch 8.0.1554: custom plugins loaded with --clean
Problem:    Custom plugins loaded with --clean.
Solution:   Do not include the home directory in 'runtimepath'.
2018-03-01 21:57:32 +01:00
5f73ef8d20 patch 8.0.1553: cannot see what digraph is used to insert a character
Problem:    Cannot see what digraph is used to insert a character.
Solution:   Show the digraph with the "ga" command. (Christian Brabandt)
2018-02-27 21:09:30 +01:00
8195247054 patch 8.0.1552: may leak file descriptors when executing job
Problem:    May leak file descriptors when executing job.
Solution:   Close more file descriptors. (Ozaki Kiichi, closes #2531)
2018-02-27 19:10:00 +01:00
988615f26f patch 8.0.1551: on Mac 'maxmemtot' is set to a weird value
Problem:    On Mac 'maxmemtot' is set to a weird value.
Solution:   For Mac use total memory and subtract system memory. For other
            systems accept both a 32 bit and 64 bit result. (Ozaki Kiichi,
            closes #2646)
2018-02-27 17:58:20 +01:00
792f0e3659 patch 8.0.1550: various small problems in source files
Problem:    Various small problems in source files.
Solution:   Fix the problems.
2018-02-27 17:27:13 +01:00
5d7ead3bc8 patch 8.0.1549: various small problems in test files
Problem:    Various small problems in test files.
Solution:   Include small changes.
2018-02-27 17:17:42 +01:00
3ad8772ef0 Include Serbian spell input files 2018-02-27 17:11:01 +01:00
75542ec9f6 patch 8.0.1548: screen dump test script not included in distribution
Problem:    Screen dump test script not included in distribution.
Solution:   Add the script to the list of distributed files.
2018-02-27 17:07:43 +01:00
9c474b2773 patch 8.0.1547: undo in the options window makes it empty
Problem:    Undo in the options window makes it empty.
Solution:   Set 'undolevels' while filling the buffer. (Yasuhiro Matthew,
            closes #2645)
2018-02-27 17:04:25 +01:00
c8bcfe7efd patch 8.0.1546: using feedkeys() in a terminal may trigger mappings
Problem:    Using feedkeys() in a terminal window may trigger mappings.
            (Charles Sheridan)
Solution:   Avoid triggering a mapping when peeking for a key.
2018-02-27 16:29:28 +01:00
8226ac6b59 patch 8.0.1545: screen dumps not included in distribution
Problem:    Screen dumps not included in distribution.
Solution:   Add dumps to the list of distributed files.
2018-02-27 14:54:53 +01:00
22f1d0e35e Updated runtime files.
Add Serbian translations and spell checking.
2018-02-27 14:53:30 +01:00
d4fc577e60 patch 8.0.1544: when using 'termguicolors' SpellBad doesn't show
Problem:    When using 'termguicolors' SpellBad doesn't show.
Solution:   When the GUI colors are not set fall back to the cterm colors.
2018-02-27 14:39:03 +01:00
33ef5bb0e4 patch 8.0.1543: with 'termguicolors' Normal color doesn't work correctly
Problem:    With 'termguicolors' Normal color doesn't work correctly.
Solution:   Set cterm_normal_bg_gui_color and cterm_normal_fg_color always.
            (Kazunobu Kuriyama, closes #981, closes #2332)
2018-02-27 13:04:59 +01:00
9271d058c9 patch 8.0.1542: terminal screen dump does not include cursor position
Problem:    Terminal screen dump does not include cursor position.
Solution:   Mark the cursor position in the cump.
2018-02-25 21:39:46 +01:00
36f923014a patch 8.0.1541: synpat_T is taking too much memory
Problem:    synpat_T is taking too much memory.
Solution:   Reorder members to reduce padding. (Dominique Pelle, closes #2671)
2018-02-24 21:36:34 +01:00
2b10bcbfc1 patch 8.0.1540: popup menu positioning fails with longer string
Problem:    Popup menu positioning fails with longer string.
Solution:   Only align with right side of window when width is less than
            'pumwidth' (closes #2661)
2018-02-24 21:25:44 +01:00
6bb2cdfe60 patch 8.0.1539: no test for the popup menu positioning
Problem:    No test for the popup menu positioning.
Solution:   Add a screendump test for the popup menu.
2018-02-24 19:53:53 +01:00
bb008dd323 patch 8.0.1538: popupmenu is too far left when completion is long
Problem:    Popupmenu is too far left when completion is long. (Linwei)
Solution:   Adjust column computations. (Hirohito Higashi, closes #2661)
2018-02-24 18:59:55 +01:00
085346f5a1 patch 8.0.1537: xxd does not skip NUL lines when using ebcdic
Problem:    Xxd does not skip NUL lines when using ebcdic.
Solution:   Check for a NUL before converting a character for ebcdic. (Tim
            Sell, closes #2668)
2018-02-24 18:30:55 +01:00
791010e648 patch 8.0.1536: quotestar test is flaky when using the GUI
Problem:    Quotestar test is flaky when using the GUI.
Solution:   Add check that the star register arrived at the server.  Increase
            timeouts.
2018-02-24 17:42:28 +01:00
6acadda8d6 patch 8.0.1535: C syntax test still fails when using gvim
Problem:    C syntax test still fails when using gvim.
Solution:   Clear Normal cterm highlighting instead of setting it.
2018-02-24 16:51:32 +01:00
b7ea7cb8e4 patch 8.0.1534: C syntax test fails when using gvim
Problem:    C syntax test fails when using gvim
Solution:   Force running in a terminal.  Check that 'background' is correct
            even when $COLORFGBG is set.
2018-02-24 14:38:51 +01:00
674e482d13 patch 8.0.1533: libterm doesn't support requesting fg and bg color
Problem:    Libterm doesn't support requesting fg and bg color.
Solution:   Implement t_RF and t_RB.
2018-02-24 14:03:56 +01:00
cc0f2be880 patch 8.0.1532: compiler warnings without termguicolors feature
Problem:    Compiler warnings without termguicolors feature.
Solution:   Add #ifdef. (John Marriott)  Cleanup the code a bit.
2018-02-23 18:23:30 +01:00
cafafb381a patch 8.0.1531: cannot use 24 bit colors in MS-Windows console
Problem:    Cannot use 24 bit colors in MS-Windows console.
Solution:   Add support for vcon. (Nobuhiro Takasaki, Ken Takasaki,
            fixes #1270, fixes #2060)
2018-02-22 21:07:09 +01:00
19eb6658ec patch 8.0.1530: dump test fails when using a shadow directory
Problem:    Dump test fails when using a shadow directory.
Solution:   Add the directory to the list of symlinks to make (Elimar
            Riesebieter)
2018-02-22 11:42:49 +01:00
3049418f3d patch 8.0.1529: assert_equalfile() does not close file descriptors
Problem:    Assert_equalfile() does not close file descriptors. (Coverity)
Solution:   Close the file descriptors.
2018-02-20 21:46:05 +01:00
81226e0310 patch 8.0.1528: dead code found
Problem:    Dead code found.
Solution:   Remove the useless lines. (CodeAi, closes #2656)
2018-02-20 21:44:45 +01:00
3cc9f7440d patch 8.0.1527: screen dump test fails on MS-Windows
Problem:    Screen dump test fails on MS-Windows.
Solution:   Skip dump test on MS-Windows for now.
2018-02-20 17:09:16 +01:00
da65058a9c patch 8.0.1526: no test using a screen dump yet
Problem:    No test using a screen dump yet.
Solution:   Add a test for C syntax highlighting.  Add helper functions.
2018-02-20 15:51:40 +01:00
7a76092a51 patch 8.0.1525: using :wqa exits even if a job runs in a terminal window
Problem:    Using :wqa exits even if a job runs in a terminal window. (Jason
            Felice)
Solution:   Check if a terminal has a running job. (closes #2654)
2018-02-19 23:10:02 +01:00
9c8816bd30 patch 8.0.1524: compiler warnings for uninitialized variables
Problem:    Compiler warnings for uninitialized variables. (Tony Mechelynck)
Solution:   Initialize variables.
2018-02-19 21:50:42 +01:00
d96ff16511 patch 8.0.1523: cannot write and read terminal screendumps
Problem:    Cannot write and read terminal screendumps.
Solution:   Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
            Also add assert_equalfile().
2018-02-18 22:13:29 +01:00
4287ed33dd patch 8.0.1522: popup menu is positioned in the wrong place
Problem:    Popup menu is positioned in the wrong place. (Davit Samvelyan,
            Boris Staletic)
Solution:   Correct computation of the column and the conditions for that.
            (Hirohito Higashi, closes #2640)
2018-02-17 20:35:29 +01:00
73cddfd559 patch 8.0.1521: Shift-Tab does not work in a terminal window
Problem:    Shift-Tab does not work in a terminal window.
Solution:   Recognize Shift-Tab key press. (Jsees Luehrs, closes #2644)
2018-02-16 20:01:04 +01:00
181ca99e16 patch 8.0.1520: cursor in wrong line when using a WinBar in Terminal window
Problem:    Cursor is in the wrong line when using a WinBar in a Terminal
            window.
Solution:   Adjust the row number. (Christian Brabandt, closes #2362)
2018-02-13 21:19:21 +01:00
341a64c9ca patch 8.0.1519: getchangelist() does not use argument as bufname()
Problem:    Getchangelist() does not use argument as bufname().
Solution:   Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641)
2018-02-13 19:21:17 +01:00
2be5733152 patch 8.0.1518: error messages suppressed after ":silent! try"
Problem:    Error messages suppressed after ":silent! try". (Ben Reilly)
Solution:   Restore emsg_silent before executing :try. (closes #2531)
2018-02-13 18:05:18 +01:00
bc197195b0 patch 8.0.1517: invalid memory acces with pattern using look-behind match
Problem:    Invalid memory acces with pattern using look-behind match.
            (Dominique Pelle)
Solution:   Get a pointer to the right line.
2018-02-13 16:35:06 +01:00
b3292fa2d3 patch 8.0.1516: errors for job options are not very specific
Problem:    Errors for job options are not very specific.
Solution:   Add more specific error messages.
2018-02-13 15:17:58 +01:00
ab5e7c3deb patch 8.0.1515: BufWinEnter event fired when opening hidden terminal
Problem:    BufWinEnter event fired when opening hidden terminal.
Solution:   Do not fire BufWinEnter when the terminal is midden and does not
            open a window. (Kenta Sato, closes #2636)
2018-02-13 14:07:18 +01:00
07ad816525 patch 8.0.1514: getting the list of changes is not easy
Problem:    Getting the list of changes is not easy.
Solution:   Add the getchangelist() function. (Yegappan Lakshmanan,
            closes #2634)
2018-02-13 13:59:59 +01:00
4867974137 patch 8.0.1513: the jumplist is not always properly cleaned up
Problem:    The jumplist is not always properly cleaned up.
Solution:   Call fname2fnum() before cleanup_jumplist(). (Yegappan Lakshmanan)
2018-02-13 13:33:29 +01:00
e4db7aedab patch 8.0.1512: warning for possibly using NULL pointer
Problem:    Warning for possibly using NULL pointer. (Coverity)
Solution:   Skip using the pointer if it's NULL.
2018-02-13 13:12:11 +01:00
3198870137 patch 8.0.1511: some code for the debugger watch expression is clumsy
Problem:    Some code for the debugger watch expression is clumsy.
Solution:   Clean up the code.
2018-02-13 12:57:42 +01:00
b48e96f61c patch 8.0.1510: cannot test if a command causes a beep
Problem:    Cannot test if a command causes a beep.
Solution:   Add assert_beeps().
2018-02-13 12:26:14 +01:00
294959528e patch 8.0.1509: test for failing drag-n-drop command no longer fails
Problem:    Test for failing drag-n-drop command no longer fails.
Solution:   Check for the "dnd" feature.
2018-02-12 22:49:00 +01:00
5a656864a0 patch 8.0.1508: the :drop command is not always available
Problem:    The :drop command is not always available.
Solution:   Include :drop in all builds. (Yasuhiro Matsumoto, closes #2639)
2018-02-12 22:08:06 +01:00
bfbea567d8 patch 8.0.1507: timer test is a bit flaky
Problem:    Timer test is a bit flaky.
Solution:   Add it to the list of flaky tests.
2018-02-12 21:31:35 +01:00
c19e1d1ba5 patch 8.0.1506: new version of HP NonStop (Tandem) doesn't like a header
Problem:    New version of HP NonStop (Tandem) doesn't like the default header
            for setenv().
Solution:   Put a #ifdef around the setenv() entry. (Joachim Schmitz)
2018-02-12 20:58:11 +01:00
c6f9f739d3 patch 8.0.1505: debugger can't break on a condition
Problem:    Debugger can't break on a condition. (Charles Campbell)
Solution:   Add ":breakadd expr". (Christian Brabandt, closes #859)
2018-02-11 19:06:26 +01:00
c33ecb2915 patch 8.0.1504: Win32: the screen may be cleared on startup
Problem:    Win32: the screen may be cleared on startup.
Solution:   Only call shell_resized() when the size actually changed. (Ken
            Takata, closes #2527)
2018-02-11 16:40:45 +01:00
cdd09aa51a patch 8.0.1503: access memory beyond end of string
Problem:    Access memory beyond end of string. (Coverity)
Solution:   Keep allocated memory in separate pointer.  Avoid outputting the
            NUL character.
2018-02-11 15:38:40 +01:00
71a43c0137 patch 8.0.1502: in out-of-memory situation character is not restored
Problem:    In out-of-memory situation character is not restored. (Coverity)
Solution:   Restore the character in all situations.
2018-02-11 15:20:20 +01:00
a0221df149 patch 8.0.1501: out-of-memory situation not correctly handled
Problem:    Out-of-memory situation not correctly handled. (Coverity)
Solution:   Check for NULL value.
2018-02-11 15:07:22 +01:00
0549a1e184 patch 8.0.1500: possible NULL pointer dereference
Problem:    Possible NULL pointer dereference. (Coverity)
Solution:   Check for the pointer not being NULL.
2018-02-11 15:02:48 +01:00
4b7e7bed6c patch 8.0.1499: out-of-memory situation not correctly handled
Problem:    Out-of-memory situation not correctly handled. (Coverity)
Solution:   Check for NULL value.
2018-02-11 14:53:30 +01:00
a7e18d237f patch 8.0.1498: getjumplist() returns duplicate entries
Problem:    Getjumplist() returns duplicate entries. (lacygoill)
Solution:   Call cleanup_jumplist(). (Yegappan Lakshmanan)
2018-02-11 14:29:49 +01:00
4f50588ba3 patch 8.0.1497: getting the jump list requires parsing the output of :jumps
Problem:    Getting the jump list requires parsing the output of :jumps.
Solution:   Add getjumplist(). (Yegappan Lakshmanan, closes #2609)
2018-02-10 21:06:32 +01:00
d23a823669 patch 8.0.1496: clearing a pointer takes two lines
Problem:    Clearing a pointer takes two lines.
Solution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
            closes #2629)
2018-02-10 18:45:26 +01:00
42443c7d7f patch 8.0.1495: having 'pumwidth' default to zero has no merit
Problem:    Having 'pumwidth' default to zero has no merit.
Solution:   Make the default 15, as the actual default value.
2018-02-10 18:28:52 +01:00
5a09343719 patch 8.0.1494: no autocmd triggered in Insert mode with visible popup menu
Problem:    No autocmd triggered in Insert mode with visible popup menu.
Solution:   Add TextChangedP. (Prabir Shrestha, Christian Brabandt,
            closes #2372, closes #1691)
            Fix that the TextChanged autocommands are not always triggered
            when sourcing a script.
2018-02-10 18:15:19 +01:00
9b56a57cda patch 8.0.1493: completion items cannot be annotated
Problem:    Completion items cannot be annotated.
Solution:   Add a "user_data" entry to the completion item. (Ben Jackson,
            coses #2608, closes #2508)
2018-02-10 16:19:32 +01:00
b301f6b950 patch 8.0.1492: memory leak in balloon_split()
Problem:    Memory leak in balloon_split().
Solution:   Free the balloon lines. Free the balloon when exiting.
2018-02-10 15:38:35 +01:00
a8f04aa275 patch 8.0.1491: the minimum width of the popup menu is hard coded
Problem:    The minimum width of the popup menu is hard coded.
Solution:   Add the 'pumwidth' option. (Christian Brabandt, James McCoy,
            closes #2314)
2018-02-10 15:36:55 +01:00
2993ac5fce patch 8.0.1490: number of spell regions is spread out through the code
Problem:    Number of spell regions is spread out through the code.
Solution:   Define MAXREGIONS.
2018-02-10 14:12:43 +01:00
7254067ee9 Update runtime files. 2018-02-09 22:00:53 +01:00
5459129af2 patch 8.0.1489: there is no easy way to get the global directory
Problem:    There is no easy way to get the global directory, esp. if some
            windows have a local directory.
Solution:   Make getcwd(-1) return the global directory. (Andy Massimino,
            closes #2606)
2018-02-09 20:53:59 +01:00
0d20737732 patch 8.0.1488: emacs tags no longer work
Problem:    Emacs tags no longer work. (zdohnal)
Solution:   Do not skip over end of line.
2018-02-09 19:25:29 +01:00
8846ac5aed patch 8.0.1487: test 14 fails
Problem:    Test 14 fails.
Solution:   Fix of-by-one error.
2018-02-09 19:24:01 +01:00
82846a00ac patch 8.0.1486: accessing invalid memory with "it"
Problem:    Accessing invalid memory with "it". (Dominique Pelle)
Solution:   Avoid going over the end of the line. (Christian Brabandt,
            closes #2532)
2018-02-09 18:09:54 +01:00
9e33efd152 patch 8.0.1485: weird autocmd may cause arglist to be changed recursively
Problem:    Weird autocmd may cause arglist to be changed recursively.
Solution:   Prevent recursively changing the argument list. (Christian
            Brabandt, closes #2472)
2018-02-09 17:50:28 +01:00
a15ef4588c patch 8.0.1484: reduntant conditions
Problem:    Reduntant conditions.
Solution:   Remove them. (Dominique Pelle)
2018-02-09 16:46:00 +01:00
9d32276b52 patch 8.0.1483: searchpair() might return an invalid value on timeout
Problem:    Searchpair() might return an invalid value on timeout.
Solution:   When the second search times out, do not accept a match from the
            first search. (Daniel Hahler, closes #2552)
2018-02-09 16:04:25 +01:00
02ae9b4a93 patch 8.0.1482: using feedkeys() does not work to test completion
Problem:    Using feedkeys() does not work to test Insert mode completion.
            (Lifepillar)
Solution:   Do not check for typed keys when executing :normal or feedkeys().
            Fix thesaurus completion not working when 'complete' is empty.
2018-02-09 15:06:02 +01:00
1567558b20 patch 8.0.1481: clearing a pointer takes two lines
Problem:    Clearing a pointer takes two lines.
Solution:   Add vim_clear() to free and clear the pointer.
2018-02-09 12:29:56 +01:00
0562532c2e patch 8.0.1480: patch missing change
Problem:    Patch missing change.
Solution:   Add missing change.
2018-02-09 12:28:00 +01:00
bc0e9adae9 patch 8.0.1479: insert mode completion state is confusing
Problem:    Insert mode completion state is confusing.
Solution:   Move ctrl_x_mode into edit.c.  Add CTRL_X_NORMAL for zero.
2018-02-09 12:13:34 +01:00
dff72ba445 patch 8.0.1478: unnecessary condition
Problem:    Unnecessary condition for "len" being zero.
Solution:   Remove the condition. (Dominique Pelle)
2018-02-08 22:45:17 +01:00
d317b38a4d patch 8.0.1477: redraw flicker when moving the mouse outside of terminal window
Problem:    Redraw flicker when moving the mouse outside of terminal window.
Solution:   Instead of updating the cursor color and shape every time leaving
            and entering a terminal window, only update when different from
            the previously used cursor.
2018-02-08 22:33:31 +01:00
acda04f5c6 patch 8.0.1476: screen isn't always updated right away
Problem:    Screen isn't always updated right away.
Solution:   Adjust #ifdef: Call out_flush() when not running the GUI.
2018-02-08 09:57:28 +01:00
f12519dec8 patch 8.0.1475: invalid memory access in read_redo()
Problem:    Invalid memory access in read_redo(). (gy741)
Solution:   Convert the replacement character back from a negative number to
            CR or NL. (hint by Dominique Pelle, closes #2616)
2018-02-06 22:52:49 +01:00
dd08b6a32b patch 8.0.1474: Visual C 2017 has multiple MSVCVER numbers
Problem:    Visual C 2017 has multiple MSVCVER numbers.
Solution:   Assume the 2017 version if MSVCVER >= 1910. (Leonardo Valeri
            Manera, closes #2619)
2018-02-06 22:02:43 +01:00
511ffdd65d patch 8.0.1473: MS-Windows: D&D fails between 32 and 64 bit apps
Problem:    MS-Windows: D&D fails between 32 and 64 bit apps.
Solution:   Add the /HIGHENTROPYVA:NO linker option. (Ken Takata, closes #2504)
2018-02-04 19:37:40 +01:00
5d4247402b patch 8.0.1472: MS-Windows: nsis installer is a bit slow
Problem:    MS-Windows: nsis installer is a bit slow.
Solution:   Use ReserveFile for vimrc.ini. (closes #2522)
2018-02-04 19:11:30 +01:00
28944fecff patch 8.0.1471: on MS-Windows CursorIM highlighting no longer works
Problem:    On MS-Windows CursorIM highlighting no longer works.
Solution:   Adjust #if statements. (Ken Takata)
2018-02-04 19:01:31 +01:00
2c7b906afb patch 8.0.1470: integer overflow when using regexp pattern
Problem:    Integer overflow when using regexp pattern. (geeknik)
Solution:   Use a long instead of int. (Christian Brabandt, closes #2251)
2018-02-04 18:22:46 +01:00
2374faae11 patch 8.0.1469: when package path is a symlink 'runtimepath' is wrong
Problem:    When package path is a symlink adding it to 'runtimepath' happens
            at the end.
Solution:   Do not resolve symlinks before locating the position in
            'runtimepath'. (Ozaki Kiichi, closes #2604)
2018-02-04 17:47:42 +01:00
191f18bad0 patch 8.0.1468: illegal memory access in del_bytes()
Problem:    Illegal memory access in del_bytes().
Solution:   Check for negative byte count. (Christian Brabandt, closes #2466)
2018-02-04 16:38:47 +01:00
fef4ddd5eb patch 8.0.1467: libvterm doesn't handle illegal byte sequence correctly
Problem:    Libvterm doesn't handle illegal byte sequence correctly.
Solution:   After the invalid code check if there is space to store another
            character.  Allocate one more character. (zhykzhykzhyk, closes
            #2614, closes #2613)
2018-02-04 14:49:57 +01:00
06b77ef69f patch 8.0.1466: older GTK versions don't have gtk_entry_get_text_length()
Problem:    Older GTK versions don't have gtk_entry_get_text_length().
Solution:   Add a function with #ifdefs to take care of GTK version
            differences. (Kazunobu Kuriyama, closes #2605)
2018-02-04 14:32:57 +01:00
4bc0bed536 patch 8.0.1465: python2 and python3 detection not tested
Problem:    Python2 and python3 detection not tested. (Matej Cepl)
Solution:   Add test for detecting python2 and python3.  Also detect a script
            using "js" as javascript.
2018-02-03 22:35:40 +01:00
8a37b03289 patch 8.0.1464: completing directory after :find does not add slash
Problem:    Completing directory after :find does not add slash.
Solution:   Adjust the flags for globpath(). (Genki Sky)
2018-02-03 20:43:08 +01:00
ec48a9c589 patch 8.0.1463: test fails without 'autochdir' option
Problem:    Test fails without 'autochdir' option.
Solution:   Skip test if 'autochdir' is not supported.
2018-02-03 20:11:40 +01:00
f4aba797cb patch 8.0.1462: missing yet another file in patch
Problem:    Missing yet another file in patch.
Solution:   Add changes to missing file.
2018-02-03 19:17:36 +01:00
15833239a4 patch 8.0.1461: missing another file in patch
Problem:    Missing another file in patch.
Solution:   Add changes to missing file.
2018-02-03 18:33:17 +01:00
b5cb65ba2b patch 8.0.1460: missing file in patch
Problem:    Missing file in patch.
Solution:   Add changes to missing file.
2018-02-03 18:01:37 +01:00
b7407d3fc9 patch 8.0.1459: cannot handle change of directory
Problem:    Cannot handle change of directory.
Solution:   Add the DirChanged autocommand event. (Andy Massimino,
            closes #888)  Avoid changing directory for 'autochdir' too often.
2018-02-03 17:36:27 +01:00
ddb349369d patch 8.0.1458: filetype detection test does not check all scripts
Problem:    Filetype detection test does not check all scripts.
Solution:   Add most scripts to the test
2018-02-03 15:55:49 +01:00
8fd2ffc530 patch 8.0.1457: clojure now supports a shebang line
Problem:    Clojure now supports a shebang line.
Solution:   Detect clojure script from the shebang line. (David Burgin,
            closes #2570)
2018-02-03 15:43:15 +01:00
8dce6c54c8 patch 8.0.1456: timer test on travis Mac is still flaky
Problem:    Timer test on travis Mac is still flaky.
Solution:   Increase time range a bit more.
2018-02-03 15:38:42 +01:00
4bfa8af141 patch 8.0.1455: if $SHELL contains a space then 'shell' is incorrect
Problem:    If $SHELL contains a space then the default value of 'shell' is
            incorrect. (Matthew Horan)
Solution:   Escape spaces in $SHELL. (Christian Brabandt, closes #459)
2018-02-03 15:14:46 +01:00
42b23fad1d patch 8.0.1454: when in silent mode too much output is buffered
Problem:    When in silent mode too much output is buffered.
Solution:   Use line buffering instead of fully buffered. (Brian M. Carlson,
            closes #2537)
2018-02-03 14:46:45 +01:00
218101442e patch 8.0.1453: terminal test fails on some slow terminals
Problem:    Terminal test fails on some slow terminals.
Solution:   Increase timeout to 10 seconds.
2018-02-02 18:30:36 +01:00
d4a282f7a5 patch 8.0.1452: terminal test fails on some systems
Problem:    Terminal test fails on some systems. (jonathonf)
Solution:   Use "cat" instead of Python to produce the input.  Add a delay.
            (closes #2607)
2018-02-02 18:22:31 +01:00
94073167e3 patch 8.0.1451: difficult to set the python home directories properly
Problem:    It is difficult to set the python home directory properly for
            Python 2.7 and 3.5 since both use $PYTHONHOME.
Solution:   Add the 'pythonhome' and 'pythonthreehome' options. (Kazuki
            Sakamoto, closes #1266)
2018-01-31 21:49:05 +01:00
1dd45fb4f3 patch 8.0.1450: GUI: endless loop when stopping cursor blinking
Problem:    Endless loop when gui_mch_stop_blink() is called while blink_state
            is BLINK_OFF. (zdohnal)
Solution:   Avoid calling gui_update_cursor() recursively.
2018-01-31 21:10:01 +01:00
a338adcf22 patch 8.0.1449: slow redrawing with DirectX
Problem:    Slow redrawing with DirectX.
Solution:   Avoid calling gui_mch_flush() unnecessarily, especially when
            updating the cursor. (Ken Takata, closes #2560)
2018-01-31 20:51:47 +01:00
37badc898b patch 8.0.1448: segfault with exception inside :rubyfile command
Problem:    Segmentation fault when Ruby throws an exception inside :rubyfile
            command.
Solution:   Use rb_protect() instead of rb_load_protect(). (ujihisa,
            closes #2147, greywolf, closes #2512, #2511)
2018-01-31 20:15:30 +01:00
cada78975e patch 8.0.1447: still too many old style tests
Problem:    Still too many old style tests.
Solution:   Turn a few tests into new style. (Yegappan Lakshmanan,
            closes #2509)
2018-01-31 19:30:24 +01:00
6f361c9912 patch 8.0.1446: acessing freed memory after window command in auto command
Problem:    Acessing freed memory after window command in auto command.
            (gy741)
Solution:   Adjust the pointer in the parent frame. (Christian Brabandt,
            closes #2467)
2018-01-31 19:06:50 +01:00
153b704e20 patch 8.0.1445: cannot act on edits in the command line
Problem:    Cannot act on edits in the command line.
Solution:   Add the CmdlineChanged autocommand event. (xtal8, closes #2603,
            closes #2524)
2018-01-31 15:48:32 +01:00
ec0557f08b patch 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems
Problem:    Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is
            compiled with it.
Solution:   Include -D_FILE_OFFSET_BITS if some CFLAGS has it. (James McCoy,
            closes #2600)
2018-01-31 14:41:37 +01:00
059fd01021 patch 8.0.1443: compiler complains about uninitialized variable
Problem:    Compiler complains about uninitialized variable. (Tony Mechelynck)
Solution:   Assign a value to the variable.
2018-01-31 14:25:53 +01:00
a172b63ab8 patch 8.0.1442: using pointer before it is set
Problem:    Using pointer before it is set.
Solution:   Search in whole buffer instead of next token.
2018-01-30 22:52:06 +01:00
ce46d934af patch 8.0.1441: using ":undo 0" leaves undo in wrong state
Problem:    Using ":undo 0" leaves undo in wrong state.
Solution:   Instead of searching for state 1 and go above, just use the start.
            (Ozaki Kiichi, closes #2595)
2018-01-30 22:46:06 +01:00
b50773c6df patch 8.0.1440: terminal window: some vterm responses are delayed
Problem:    Terminal window: some vterm responses are delayed.
Solution:   After writing input. check if there is output to read. (Ozaki
            Kiichi, closes #2594)
2018-01-30 22:31:19 +01:00
1274d33493 patch 8.0.1439: if cscope fails a search Vim may hang
Problem:    If cscope fails a search Vim may hang.
Solution:   Bail out when a search error is encountered. (Safouane Baroudi,
            closes #2598)
2018-01-30 21:47:52 +01:00
0479e910c4 patch 8.0.1438: filetype detection test not updated for change
Problem:    Filetype detection test not updated for change.
Solution:   Update the test.
2018-01-29 09:17:32 +01:00
d6d304298a patch 8.0.1437: pkg-config doesn't work with cross compiling
Problem:    Pkg-config doesn't work with cross compiling.
Solution:   Use AC_PATH_TOOL() instead of AC_PATH_PROG(). (James McCoy,
            closes #2513)
2018-01-28 22:48:55 +01:00
40962ec9c0 Update runtime files. 2018-01-28 22:47:25 +01:00
84b242c369 patch 8.0.1436: not enough information about what Python version may work
Problem:    Not enough information about what Python version may work.
Solution:   Add "python_compiled", "python3_compiled", "python_dynamic" and
            "python3_dynamic" values for has().
2018-01-28 17:45:49 +01:00
501383236d patch 8.0.1435: memory leak in test_arabic
Problem:    Memory leak in test_arabic.
Solution:   Free the from and to parts. (Christian Brabandt, closes #2569)
2018-01-28 17:05:16 +01:00
d7823d5b7c patch 8.0.1434: GTK: :promtfind does not put focus on text input
Problem:    GTK: :promtfind does not put focus on text input. (Adam Novak)
Solution:   When re-opening the dialog put focus on the text input. (Kazunobu
            Kuriyama, closes #2563)
2018-01-28 15:36:42 +01:00
95dbcbea6d patch 8.0.1433: illegal memory access after undo
Problem:    Illegal memory access after undo. (Dominique Pelle)
Solution:   Avoid the column becomes negative. (Christian Brabandt,
            closes #2533)
2018-01-27 21:01:34 +01:00
2ec364e94d patch 8.0.1432: after ":copen" can't get the window-ID of the quickfix window
Problem:    After ":copen" can't get the window-ID of the quickfix window.
            (FalacerSelene)
Solution:   Make it work without a quickfix list.  Add a test. (Yegappan
            Lakshmanan, closes #2541)
2018-01-27 11:52:13 +01:00
0cbcd949e1 patch 8.0.1431: MS-Windows: vimtutor fails if %TMP% has special chars
Problem:    MS-Windows: vimtutor fails if %TMP% has special chars.
Solution:   Add quotes. (Tamce, closes #2561)
2018-01-26 22:22:55 +01:00
4aad53c369 patch 8.0.1430: crash when term_start() fails
Problem:    Crash when term_start() fails.
Solution:   Initialize winpty_err.
2018-01-26 21:11:03 +01:00
ede35bbbd0 patch 8.0.1429: crash when calling term_start() with empty argument
Problem:    Crash when calling term_start() with empty argument.
Solution:   Check for invalid argument. (Yasuhiro Matsomoto, closes #2503)
            Fix memory leak.
2018-01-26 20:05:18 +01:00
200ea8ffaa patch 8.0.1428: compiler warning on 64 bit MS-Windows system
Problem:    Compiler warning on 64 bit MS-Windows system.
Solution:   Change type from "int" to "size_t". (Mike Williams)
2018-01-02 15:37:46 +01:00
de04654ddc patch 8.0.1427: the :leftabove modifier doesn't work for :copen
Problem:    The :leftabove modifier doesn't work for :copen.
Solution:   Respect the split modifier. (Yegappan Lakshmanan, closes #2496)
2017-12-26 13:53:11 +01:00
9e3dfc6501 patch 8.0.1426: "gf" and <cfile> don't accept ? and & in URL
Problem:    "gf" and <cfile> don't accept ? and & in URL. (Dmitrii Tcyganok)
Solution:   Check for a URL and allow for extra characters. (closes #2493)
2017-12-25 14:29:18 +01:00
2095148277 patch 8.0.1425: execute() does not work in completion of user command
Problem:    execute() does not work in completion of user command. (thinca)
Solution:   Switch off redir_off and restore it. (Ozaki Kiichi, closes #2492)
2017-12-25 13:44:43 +01:00
df980db69b update a few runtime files 2017-12-24 13:22:00 +01:00
a47ebdbd22 patch 8.0.1424: the timer_pause test is flaky on Travis
Problem:    The timer_pause test is flaky on Travis.
Solution:   Accept a longer sleep time on Mac.
2017-12-23 18:41:35 +01:00
fabaf753e2 patch 8.0.1423: error in return not caught by try/catch
Problem:    Error in return not caught by try/catch.
Solution:   Call update_force_abort(). (Yasuhiro Matsomoto, closes #2483)
2017-12-23 17:26:11 +01:00
45a0000d5c patch 8.0.1422: no fallback to underline when undercurl is not set
Problem:    No fallback to underline when undercurl is not set. (Ben Jackson)
Solution:   Check for the value to be empty instead of NULL. (closes #2424)
2017-12-22 21:12:34 +01:00
e6640ad44e patch 8.0.1421: accessing invalid memory with overlong byte sequence
Problem:    Accessing invalid memory with overlong byte sequence.
Solution:   Check for NUL character. (test by Dominique Pelle, closes #2485)
2017-12-22 21:06:56 +01:00
3c09722600 patch 8.0.1420: accessing freed memory in vimgrep
Problem:    Accessing freed memory in vimgrep.
Solution:   Check that the quickfix list is still valid. (Yegappan Lakshmanan,
            closes #2474)
2017-12-21 20:54:49 +01:00
b73fa629d6 patch 8.0.1419: cursor column is not updated after ]s
Problem:    Cursor column is not updated after ]s. (Gary Johnson)
Solution:   Set the curswant flag.
2017-12-21 20:27:47 +01:00
ae6f865125 patch 8.0.1418: no test for expanding backticks
Problem:    No test for expanding backticks.
Solution:   Add a test. (Dominique Pelle, closes #2479)
2017-12-20 22:32:20 +01:00
1bd999f982 patch 8.0.1417: test doesn't search for a sentence
Problem:    Test doesn't search for a sentence. Still fails when searching for
            start of sentence. (Dominique Pelle)
Solution:   Add paren. Check for MAXCOL in dec().
2017-12-19 22:25:40 +01:00
8ada6aa929 patch 8.0.1416: crash when searching for a sentence
Problem:    Crash when searching for a sentence.
Solution:   Return NUL when getting character at MAXCOL. (closes #2468)
2017-12-19 21:23:21 +01:00
4ce46c2a6b patch 8.0.1415: warning for unused function without timers feature
Problem:    Warning for unused function without timers feature.
Solution:   Add #ifdef. (John Marriott)
2017-12-19 19:42:41 +01:00
14a4deb064 patch 8.0.1414: accessing freed memory in :lfile.
Problem:    Accessing freed memory in :lfile.
Solution:   Get the current window after executing autocommands. (Yegappan
            Lakshmanan, closes #2473)
2017-12-19 16:48:55 +01:00
aaf6e43b7a patch 8.0.1413: accessing freed memory in :cbuffer
Problem:    Accessing freed memory in :cbuffer.
Solution:   Get quickfix list after executing autocmds. (closes #2470)
2017-12-19 16:41:14 +01:00
1223744849 patch 8.0.1412: using free memory using setloclist()
Problem:    Using free memory using setloclist(). (Dominique Pelle)
Solution:   Mark location list context as still in use when needed. (Yegappan
            Lakshmanan, closes #2462)
2017-12-19 12:38:52 +01:00
2efb323e87 patch 8.0.1411: reading invalid memory with CTRL-W :
Problem:    Reading invalid memory with CTRL-W :.
Solution:   Correct the command characters. (closes #2469)
2017-12-19 12:27:23 +01:00
338e47fdfd patch 8.0.1410: hang when using count() with an empty string
Problem:    Hang when using count() with an empty string.
Solution:   Return zero for an empty string. (Dominique Pelle, closes #2465)
2017-12-19 11:55:26 +01:00
132f75255e patch 8.0.1409: buffer overflow in :tags command
Problem:    Buffer overflow in :tags command.
Solution:   Use vim_snprintf(). (Dominique Pelle, closes #2471, closes #2475)
            Add a test.
2017-12-19 10:49:34 +01:00
a0ca7d002d patch 8.0.1408: crash in setqflist()
Problem:    Crash in setqflist().
Solution:   Check for string to be NULL. (Dominique Pelle, closes #2464)
2017-12-19 10:22:19 +01:00
4af031dbc8 patch 8.0.1407: GUI: CursorHold may trigger before 'updatetime'
Problem:    GUI: CursorHold may trigger before 'updatetime' when using timers.
Solution:   Check that 'updatetime' has passed.
2017-12-19 10:02:43 +01:00
b254af312d patch 8.0.1406: difficult to track changes to a quickfix list
Problem:    Difficult to track changes to a quickfix list.
Solution:   Add a "changedtick" value. (Yegappan Lakshmanan, closes #2460)
2017-12-18 19:48:58 +01:00
c9e649ae81 patch 8.0.1405: duplicated code for getting a typed character
Problem:    Duplicated code for getting a typed character. CursorHold is
            called too often in the GUI. (lilydjwg)
Solution:   Refactor code to move code up from mch_inchar().  Don't fire
            CursorHold if feedkeys() was used. (closes #2451)
2017-12-18 18:14:47 +01:00
606d45ccd8 patch 8.0.1404: invalid memory access on exit
Problem:    Invalid memory access on exit when autocommands wipe out a buffer.
            (gy741, Dominique Pelle)
Solution:   Check if the buffer is still valid. (closes #2449)
2017-12-18 16:21:44 +01:00
4fb921e388 patch 8.0.1403: using freed buffer in grep command
Problem:    Using freed buffer in grep command. (gy741, Dominique Pelle)
Solution:   Lock the dummy buffer to avoid autocommands wiping it out.
2017-12-18 15:33:00 +01:00
9bca805ec4 patch 8.0.1402: crash with nasty autocommand
Problem:    Crash with nasty autocommand. (gy741, Dominique Pelle)
Solution:   Check that the new current buffer isn't wiped out. (closes #2447)
2017-12-18 12:37:55 +01:00
cb89c98c26 patch 8.0.1401: cannot build with GTK but without XIM
Problem:    Cannot build with GTK but without XIM. (Guido)
Solution:   Adjust #ifdef. (closes #2461)
2017-12-17 21:54:55 +01:00
f0b03c4e98 Update runtime files 2017-12-17 17:17:07 +01:00
8ee2d36e21 patch 8.0.1400: color scheme check script shows up as color scheme
Problem:    Color scheme check script shows up as color scheme.
Solution:   Move it to the "tools" subdirectory. (closes #2457)
2017-12-17 16:11:09 +01:00
ee219b0e9f patch 8.0.1399: warnings and errors when building tiny version
Problem:    Warnings and errors when building tiny version. (Tony Mechelynck)
Solution:   Add #ifdefs.
2017-12-17 14:55:01 +01:00
9e1d399e63 patch 8.0.1398: :packadd does not load packages from the "start" directory
Problem:    :packadd does not load packages from the "start" directory.
            (Alejandro Hernandez)
Solution:   Make :packadd look in the "start" directory if those packages were
            not loaded on startup.
2017-12-17 14:26:46 +01:00
890dd05492 patch 8.0.1397: pattern with \& following nothing gives an error
Problem:    Pattern with \& following nothing gives an error.
Solution:   Emit an empty node when needed.
2017-12-16 19:59:37 +01:00
a1d5c154db patch 8.0.1396: memory leak when CTRL-G in search command line fails
Problem:    Memory leak when CTRL-G in search command line fails.
Solution:   Move restore_last_search_pattern to after "if".
2017-12-16 19:05:22 +01:00
200d0e36bc patch 8.0.1395: it is not easy to see if a colorscheme is well written
Problem:    It is not easy to see if a colorscheme is well written.
Solution:   Add a script that checks for common mistakes. (Christian Brabandt)
2017-12-16 18:53:35 +01:00
7e1652c63c patch 8.0.1394: cannot intercept a yank command
Problem:    Cannot intercept a yank command.
Solution:   Add the TextYankPost autocommand event. (Philippe Vaucher et al.,
            closes #2333)
2017-12-16 18:27:02 +01:00
6621605eb9 patch 8.0.1393: too much highlighting with 'hlsearch' and 'incsearch' set
Problem:    Too much highlighting with 'hlsearch' and 'incsearch' set.
Solution:   Do not highlight matches when the pattern matches everything.
2017-12-16 16:33:44 +01:00
8b42328cef patch 8.0.1392: build fails with --with-features=huge --disable-channel
Problem:    Build fails with --with-features=huge --disable-channel.
Solution:   Don't enable the terminal feature when the channel feature is
            missing. (Dominique Pelle, closes #2453)
2017-12-16 14:37:06 +01:00
b29d328eb4 patch 8.0.1391: encoding empty string to JSON sometimes gives "null"
Problem:    Encoding empty string to JSON sometimes gives "null".
Solution:   Handle NULL string as empty string. (closes #2446)
2017-12-15 21:25:01 +01:00
4697399e8c move netrw back to the previous version 2017-12-14 19:56:46 +01:00
7f88b65f6c patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Problem:    DirectX scrolling can be slow, vertical positioning is off.
Solution:   Make scroll slightly faster when using "scrlines:1". Fix y
            position of displayed text. Fix DirectX with non-utf8 encoding.
            (Ken Takata, closes #2440)
2017-12-14 13:15:19 +01:00
a6d4849c71 patch 8.0.1389: getqflist() items are missing if not set
Problem:    getqflist() items are missing if not set, that makes it more
            difficult to handle the values.
Solution:   When a value is not available return zero or another invalid
            value. (Yegappan Lakshmanan, closes #2430)
2017-12-12 22:45:31 +01:00
fae8ed1fc8 patch 8.0.1388: char not overwritten with ambiguous width char
Problem:    Char not overwritten with ambiguous width char, if the ambiguous
            char is single width but we reserve double-width space.
Solution:   First clear the screen cells. (Ozaki Kiichi, closes #2436)
2017-12-12 22:29:30 +01:00
a703aaee4d patch 8.0.1387: wordcount test is old style
Problem:    Wordcount test is old style.
Solution:   Change into a new style test. (Yegappan Lakshmanan, closes #2434)
2017-12-11 22:55:26 +01:00
8e6a31df81 patch 8.0.1386: cannot select modified buffers with getbufinfo()
Problem:    Cannot select modified buffers with getbufinfo().
Solution:   Add the "bufmodified" flag. (Yegappan Lakshmanan, closes #2431)
2017-12-10 21:06:22 +01:00
59eb016dff patch 8.0.1385: Python 3.5 is getting old
Problem:    Python 3.5 is getting old.
Solution:   Make Python 3.6 the default. (Ken Takata, closes #2429)
2017-12-10 18:17:44 +01:00
74240d3feb patch 8.0.1384: not enough quickfix help; confusing winid
Problem:    Not enough quickfix help; confusing winid.
Solution:   Add more examples in the help. When the quickfix window is not
            present, return zero for getqflist() with 'winid'. Add more tests
            for jumping to quickfix list entries. (Yegappan Lakshmanan, closes
            #2427)
2017-12-10 15:26:15 +01:00
35c5e8155d patch 8.0.1383: local additions in help skips some files
Problem:    Local additions in help skips some files. (joshklod)
Solution:   Check the base file name length equals.
2017-12-09 21:10:13 +01:00
f405c8fe85 patch 8.0.1382: get "no write since last change" message if terminal is open
Problem:    Get "no write since last change" message if a terminal is open.
            (Fritz mehner)
Solution:   Don't consider a buffer changed if it's a terminal window.
2017-12-09 19:51:49 +01:00
620ca2da37 patch 8.0.1381: ch_readraw() waits for NL if channel mode is NL
Problem:    ch_readraw() waits for NL if channel mode is NL.
Solution:   Pass a "raw" flag to channel_read_block(). (Yasuhiro Matsumoto)
2017-12-09 19:13:13 +01:00
05684310a5 patch 8.0.1380: using "vim -r swapfile" the hit-enter prompt is misplaced.
Problem:    When recovering a file with "vim -r swapfile" the hit-enter prompt
            is at the top of the window.
Solution:   Invalidate the cursor position.
2017-12-09 15:11:24 +01:00
e4b78e2a42 patch 8.0.1379: configure check for selinux does not check for header file
Problem:    Configure check for selinux does not check for header file.
Solution:   Add an AC_CHECK_HEADER(). (Benny Siegert)
2017-12-07 22:29:11 +01:00
3388d33457 patch 8.0.1378: autoload script sources itself when defining function
Problem:    Autoload script sources itself when defining function.
Solution:   Pass TFN_NO_AUTOLOAD to trans_function_name(). (Yasuhiro
            Matsumoto, closes #2423)
2017-12-07 22:23:04 +01:00
6e65d594aa patch 8.0.1377: cannot call a dict function in autoloaded dict
Problem:    Cannot call a dict function in autoloaded dict.
Solution:   Call get_lval() passing the read-only flag.
2017-12-07 22:11:27 +01:00
23c1b2b018 patch 8.0.1376: cursor in terminal not always updated
Problem:    Cursor in terminal not always updated.
Solution:   Call gui_mch_flush(). (Ken Takata)
2017-12-05 21:32:33 +01:00
415a6939a4 patch 8.0.1375: window size wrong after maximizing with WinBar
Problem:    Window size wrong after maximizing with WinBar. (Lifepillar)
Solution:   Fix height computations. Redraw window when it is zero height but
            has a WinBar. (closes #2356)
2017-12-05 20:31:07 +01:00
5fe6bdf858 patch 8.0.1374: CTRL-A does not work with an empty line
Problem:    CTRL-A does not work with an empty line. (Alex)
Solution:   Decrement the end only once. (Hirohito Higashi, closes #2387)
2017-12-05 17:22:12 +01:00
3767c6e9ee patch 8.0.1373: no error when settting 'renderoptions' before starting GUI
Problem:    No error when settting 'renderoptions' to an invalid value before
            starting the GUI.
Solution:   Always check the value. (Ken Takata, closes #2413)
2017-12-05 16:57:56 +01:00
ac112f01a6 patch 8.0.1372: profile log may be truncated halfway a character
Problem:    Profile log may be truncated halfway a character.
Solution:   Find the start of the character. (Ozaki Kiichi, closes #2385)
2017-12-05 16:46:28 +01:00
feeb4d0901 patch 8.0.1371: Shift-Insert doesn't always work in MS-Windows console
Problem:    Shift-Insert doesn't always work in MS-Windows console.
Solution:   Handle K_NUL differently if the second character is more than one
            byte. (Yasuhiro Matsumoto, closes #2381)
2017-12-05 15:14:46 +01:00
1eca6f13d6 patch 8.0.1370: channel test for callback is flaky
Problem:    Channel test for callback is flaky.
Solution:   Add the test to thelist of flaky tests.
2017-12-05 14:04:27 +01:00
92467d3351 patch 8.0.1369: MS-Windows: drawing underline slow, mFallbackDC not updated
Problem:    MS-Windows: drawing underline, curl and strike-throw is slow,
            mFallbackDC not properly updated.
Solution:   Several performance improvements. (Ken Takata, Taro Muraoka,
            Yasuhiro Matsumoto, closes #2401)
2017-12-05 13:22:16 +01:00
ce6179c799 patch 8.0.1368: cannot drag status or separator of new terminal window
Problem:    Cannot drag status line or vertical separator of new terminal
            window. (UncleBill)
Solution:   Adjust mouse row and column computation. (Yasuhiro Matsumoto,
            closes #2410)
2017-12-05 13:06:16 +01:00
461fe50fea patch 8.0.1367: terminal test hangs, executing abcde
Problem:    terminal test hangs, executing abcde. (Stucki)
Solution:   Rename abcde to abxde.
2017-12-05 12:30:03 +01:00
1ad022a9b8 patch 8.0.1367 2017-12-03 18:20:32 +01:00
24820691e6 patch 8.0.1365: when one channel test fails others fail as well
Problem:    When one channel test fails others fail as well.
Solution:   Stop the job after a failure.  Also add a couple of tests to the
            list of flaky tests.
2017-12-02 16:38:12 +01:00
22044dc317 patch 8.0.1364: there is no easy way to get the window position
Problem:    There is no easy way to get the window position.
Solution:   Add win_screenpos().
2017-12-02 15:43:37 +01:00
af903e5d49 patch 8.0.1363: recovering does not work when swap file ends in .stz
Problem:    Recovering does not work when swap file ends in .stz.
Solution:   Check for all possible swap file names. (Elfling, closes #2395,
            closes #2396)
2017-12-02 15:11:22 +01:00
a7c54cfcf8 patch 8.0.1362: terminal window colors wrong when using Terminal highlighting
Problem:    Terminal window colors wrong when using Terminal highlighting.
Solution:   Set ansi_index when setting the default color.  Also cache the
            color index for Terminal. (Ozaki Kiichi, closes #2393)
2017-12-01 21:07:20 +01:00
97ce419201 patch 8.0.1361: some users don't want to diff with hidden buffers
Problem:    Some users don't want to diff with hidden buffers.
Solution:   Add the "hiddenoff" item to 'diffopt'. (Alisue, closes #2394)
2017-12-01 20:35:58 +01:00
76bb7196f5 patch 8.0.1360: the Terminal highlighting doesn't work in a terminal
Problem:    The Terminal highlighting doesn't work in a terminal. (Ozaki
            Kiichi)
Solution:   Use the Terminal highlighting when the cterm index is zero.
2017-11-30 22:07:07 +01:00
2f0584910c Update runtime files 2017-11-30 20:27:52 +01:00
46359e198f patch 8.0.1359: libvterm ANSI colors can not always be recognized
Problem:    Libvterm ANSI colors can not always be recognized from the RGB
            values. The default color is wrong when t_RB is empty.
Solution:   Add the ANSI color index to VTermColor.
2017-11-29 22:33:38 +01:00
8b9e20afb0 patch 8.0.1358: undercurl is not used in the terminal
Problem:    Undercurl is not used in the terminal. (Kovid Goyal)
Solution:   Only fall back to underline when undercurl highlighting is not
            defined. (closes #1306)
2017-11-28 21:25:21 +01:00
1a2ab991a6 patch 8.0.1357: startup test fails on OpenBSD
Problem:    Startup test fails on OpenBSD. (Edd Barrett)
Solution:   Check for "BSD" instead of "FreeBSD" being defined. (James McCoy,
            closes #2376, closes #2378)
2017-11-28 21:06:18 +01:00
c5aa55db7e patch 8.0.1356: using simalt in a GUIEnter autocommand inserts characters
Problem:    Using simalt in a GUIEnter autocommand inserts strange characters.
            (Chih-Long Chang)
Solution:   Ignore K_NOP in Insert mode. (closes #2379)
2017-11-28 20:47:40 +01:00
a45ff6caba patch 8.0.1355: cursor keys don't work in MS-Windows console
Problem:    Cursor keys don't work in MS-Windows console.
Solution:   Revert the previous patch.  Also delete dead code.
2017-11-28 20:06:10 +01:00
3660a10c73 patch 8.0.1354: Shift-Insert doesn't always work in MS-Windows console
Problem:    Shift-Insert doesn't always work in MS-Windows console.
Solution:   Handle K_NUL differently. (Yasuhiro Matsumoto, closes #2381)
2017-11-28 18:07:59 +01:00
1ed2276fd5 patch 8.0.1353: QuickFixCmdPost is not used consistently
Problem:    QuickFixCmdPost is not used consistently.
Solution:   Invoke QuickFixCmdPost consistently after QuickFixCmdPre.
            (Yegappan Lakshmanan, closes #2377)
2017-11-28 18:03:44 +01:00
f38c86eb6b patch 8.0.1352: dead URLs in the help go unnoticed
Problem:    Dead URLs in the help go unnoticed.
Solution:   Add a script to check URLs in the help files. (Christian Brabandt)
2017-11-28 14:19:07 +01:00
bdb8139098 patch 8.0.1351: warning for unused variables building with MinGW
Problem:    Warning for unused variables building with MinGW.
Solution:   Change a few #ifdefs (suggested by John Marriott). Remove
            superfluous checks of FEAT_MBYTE.
2017-11-27 23:24:08 +01:00
1355aad2b9 patch 8.0.1350: cannot build with +eval and -multi_byte
Problem:    Cannot build with +eval and -multi_byte.
Solution:   Adjust #ifdefs. (John Marriott)  Always include the multi_byte
            feature when an input method feature is enabled.
2017-11-27 22:49:01 +01:00
17471e84a7 patch 8.0.1349: options test fails when using Motif or GTK GUI
Problem:    Options test fails when using Motif or GTK GUI.
Solution:   Use "fixed" instead of "fixedsys" for Unix. Don't try "xxx" for
            guifonteset.  Don't set 'termencoding' to anything but "utf-8" for
            GTK.  Give an error if 'termencoding' can't be converted.
2017-11-26 23:47:18 +01:00
c8c75796a6 patch 8.0.1348: make testclean deletes script file on MS-Windows
Problem:    Make testclean deletes script file on MS-Windows.
Solution:   Rename file to avoid it starting with an "x".
2017-11-26 17:18:06 +01:00
e0aa23f7e3 patch 8.0.1347: MS-Windows: build broken by misplaced curly
Problem:    MS-Windows: build broken by misplaced curly.
Solution:   Move curly after #endif
2017-11-26 17:08:03 +01:00
a3571ebef5 patch 8.0.1346: crash when passing 50 char string to balloon_split()
Problem:    Crash when passing 50 char string to balloon_split().
Solution:   Fix off-by-one error.
2017-11-26 16:53:16 +01:00
c41838aa01 patch 8.0.1345: race condition between stat() and open() for viminfo
Problem:    Race condition between stat() and open() for the viminfo temp
            file. (Simon Ruderich)
Solution:   use open() with O_EXCL to atomically check if the file exists.
            Don't try using a temp file, renaming it will fail anyway.
2017-11-26 16:50:41 +01:00
2877d334ad patch 8.0.1344: using 'imactivatefunc' in the GUI does not work
Problem:    Using 'imactivatefunc' in the GUI does not work.
Solution:   Do not use 'imactivatefunc' and 'imstatusfunc' in the GUI.
2017-11-26 14:56:16 +01:00
d7ccc4d81d patch 8.0.1343: MS-Windows: does not show colored emojis
Problem:    MS-Windows: does not show colored emojis.
Solution:   Implement colored emojis. Improve drawing speed. Make 'taamode'
            work. (Taro Muraoka, Yasuhiro Matsumoto, Ken Takata, close #2375)
2017-11-26 14:29:32 +01:00
fb1db0e355 patch 8.0.1342: cannot build with Motif and multi-byte
Problem:    Cannot build with Motif and multi-byte. (Mohamed Boughaba)
Solution:   Use the right input method status flag. (closes #2374)
2017-11-25 21:07:46 +01:00
be5d998d0e patch 8.0.1341: 'imactivatefunc' test fails on MS-Windows
Problem:    'imactivatefunc' test fails on MS-Windows.
Solution:   Skip the text.
2017-11-25 17:58:28 +01:00
281c93e714 patch 8.0.1340: MS-Windows: cannot build GUI without IME
Problem:    MS-Windows: cannot build GUI without IME.
Solution:   Define im_get_status() and im_set_active() when IME is not used.
2017-11-25 17:48:33 +01:00
83799a7b74 patch 8.0.1339: no test for what 8.0.1335 fixes
Problem:    No test for what 8.0.1335 fixes.
Solution:   Add a test. (Yasuhiro Matsumoto, closes #2373)
2017-11-25 17:24:09 +01:00
819edbe078 patch 8.0.1338: USE_IM_CONTROL is confusing and incomplete
Problem:    USE_IM_CONTROL is confusing and incomplete.
Solution:   Just use FEAT_MBYTE.  Call 'imactivatefunc' also without GUI.
2017-11-25 17:14:33 +01:00
50d43153a7 patch 8.0.1337: typo in #ifdef
Problem:    Typo in #ifdef.
Solution:   Fix the #if line.
2017-11-25 15:24:56 +01:00
6315a9ae92 patch 8.0.1336: cannot use imactivatefunc() unless compiled with +xim
Problem:    Cannot use imactivatefunc() unless compiled with +xim.
Solution:   Allow using imactivatefunc() when not compiled with +xim.
            (Yasuhiro Matsumoto, closes #2349)
2017-11-25 15:20:02 +01:00
291a9d15ed patch 8.0.1335: writefile() using fsync() may give an error.
Problem:    Writefile() using fsync() may give an error for a device.
            (Yasuhiro Matsumoto)
Solution:   Ignore fsync() failing. (closes #2373)
2017-11-25 14:37:11 +01:00
3167c3e701 patch 8.0.1334: splitting a window with a WinBar damages window layout
Problem:    Splitting a window with a WinBar damages window layout.
            (Lifepillar)
Solution:   Take the winbar into account when computing the new window
            position.  Add WINBAR_HEIGHT().
2017-11-25 14:19:43 +01:00
2c997d7603 patch 8.0.1333: some tests are run twice
Problem:    Some tests are run twice.
Solution:   Invoked most utf8 tests only from test_alot_utf8. (Yegappan
            Lakshmanan, closes #2369)
2017-11-23 22:52:09 +01:00
93a32e2ec4 patch 8.0.1332: highlighting in quickfix window could be better
Problem:    Highlighting in quickfix window could be better. (Axel Bender)
Solution:   Use the qfSeparator highlight item. (Yegappan Lakshmanan)
2017-11-23 22:05:45 +01:00
3679c17917 patch 8.0.1331: possible crash when window can be zero lines high
Problem:    Possible crash when window can be zero lines high. (Joseph
            Dornisch)
Solution:   Only set w_fraction if the window is at least two lines high.
2017-11-22 22:22:11 +01:00
a2a80162de Update runtime files. 2017-11-21 23:09:50 +01:00
581 changed files with 48139 additions and 19407 deletions

4
.lgtm.yml Normal file
View File

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

View File

@ -108,7 +108,7 @@ script:
- if [ -n "$err" ]; then exit 1; fi
after_success:
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
- if [ "$COVERAGE" = "yes" ]; then cd $SRCDIR && bash <(curl -s https://codecov.io/bash) ; fi
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b ${SRCDIR} -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
- if [ "$COVERAGE" = "yes" ]; then cd ${SRCDIR} && bash <(curl -s https://codecov.io/bash) ; fi
# vim:set sts=2 sw=2 tw=0 et:

View File

@ -4,6 +4,7 @@
# source files for all source archives
SRC_ALL = \
.hgignore \
.lgtm.yml \
.travis.yml \
appveyor.yml \
src/appveyor.bat \
@ -110,6 +111,7 @@ SRC_ALL = \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/shared.vim \
src/testdir/screendump.vim \
src/testdir/view_util.vim \
src/testdir/setup.vim \
src/testdir/gui_init.vim \
@ -119,7 +121,6 @@ SRC_ALL = \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
src/testdir/test49.vim \
src/testdir/test60.vim \
src/testdir/test83-tags? \
src/testdir/test77a.com \
src/testdir/test_*.vim \
@ -135,10 +136,11 @@ SRC_ALL = \
src/testdir/pyxfile/*.py \
src/testdir/bench*.in \
src/testdir/bench*.vim \
src/testdir/dumps/*.dump \
src/testdir/samples/*.txt \
src/testdir/samples/test000 \
src/testdir/if_ver*.vim \
src/testdir/xterm_ramp.vim \
src/testdir/color_ramp.vim \
src/proto.h \
src/proto/arabic.pro \
src/proto/beval.pro \
@ -585,6 +587,7 @@ RT_ALL = \
runtime/doc/*.txt \
runtime/doc/Makefile \
runtime/doc/doctags.c \
runtime/doc/test_urls.vim \
runtime/doc/vim.1 \
runtime/doc/evim.1 \
runtime/doc/vimdiff.1 \
@ -666,6 +669,7 @@ RT_SCRIPTS = \
runtime/autoload/xml/*.vim \
runtime/colors/*.vim \
runtime/colors/README.txt \
runtime/colors/tools/*.vim \
runtime/compiler/*.vim \
runtime/compiler/README.txt \
runtime/indent/*.vim \

View File

@ -68,7 +68,7 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 8
MINOR = 0
MINOR = 1
# CHECKLIST for creating a new version:
#
@ -131,7 +131,7 @@ MINOR = 0
# - > make dossrc
# > make dosrt
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
# This creates the directory vim/vim80 and puts all files in there.
# This creates the directory vim/vim81 and puts all files in there.
# Win32 console version build:
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:

View File

@ -1,4 +1,4 @@
`README.md` for version 8.0 of Vim: Vi IMproved.
`README.md` for version 8.1 of Vim: Vi IMproved.
[![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)

View File

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

View File

@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 8.0. Also runs under UNIX, MS-Windows, Mac, etc.
vim80rt.tgz contains the documentation and syntax files.
vim80bin.tgz contains the binaries.
vim80src.tgz contains the sources.
Version 8.1. Also runs under UNIX, MS-Windows, Mac, etc.
vim81rt.tgz contains the documentation and syntax files.
vim81bin.tgz contains the binaries.
vim81src.tgz contains the sources.
Author: Bram Moolenaar et al.

View File

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

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
README_dos.txt for version 8.0 of Vim: Vi IMproved.
README_dos.txt for version 8.1 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
located. Check the $VIM setting to see where it points to:
set VIM
For example, if you have
C:\vim\vim80
C:\vim\vim81
do
cd C:\
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim80",
2. Unpack the zip archives. This will create a new directory "vim\vim81",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d gvim80.zip
unzip vim80w32.zip
pkunzip -d gvim81.zip
unzip vim81w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
archive and follow the instructions in the documentation.
3. Change to the new directory:
cd vim\vim80
cd vim\vim81
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim80
set path=%path%;D:\editors\vim\vim80
set path=%path%;C:\vim\vim81
set path=%path%;D:\editors\vim\vim81
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@ -93,8 +93,8 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 8.0 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim80. See ":help $VIM" for more information.
Vim version 8.1 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim81. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
@ -105,14 +105,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim80\vim.exe The Vim version 8.0 executable.
C:\vim\vim80\doc\*.txt The version 8.0 documentation files.
C:\vim\vim80\bugreport.vim A Vim version 8.0 script.
C:\vim\vim80\... Other version 8.0 distributed files.
C:\vim\vim81\vim.exe The Vim version 8.1 executable.
C:\vim\vim81\doc\*.txt The version 8.1 documentation files.
C:\vim\vim81\bugreport.vim A Vim version 8.1 script.
C:\vim\vim81\... Other version 8.1 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim80". Don't add
"vim80" to $VIM, that won't work.
Then $VIMRUNTIME will automatically be set to "$VIM\vim81". Don't add
"vim81" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
@ -136,8 +136,8 @@ Remarks:
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim80\vim.exe
C:\command.com /c D:\editors\vim\vim80\vim.exe
C:\command.com /c C:\vim\vim81\vim.exe
C:\command.com /c D:\editors\vim\vim81\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".

View File

@ -1,4 +1,4 @@
README_extra.txt for version 8.0 of Vim: Vi IMproved.
README_extra.txt for version 8.1 of Vim: Vi IMproved.
These extra files of Vim are for special purposes. This README explains what
the files are for. For general information about Vim, see the "README.txt"

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
README_zOS.txt for version 8.0 of Vim: Vi IMproved.
README_zOS.txt for version 8.1 of Vim: Vi IMproved.
This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim.

View File

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

View File

@ -1,8 +1,8 @@
README_srcdos.txt for version 8.0 of Vim: Vi IMproved.
README_srcdos.txt for version 8.1 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim80rt.zip).
These files are in the runtime archive (vim81rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or

View File

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

View File

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

View File

@ -1,4 +1,4 @@
README_w32s.txt for version 8.0 of Vim: Vi IMproved.
README_w32s.txt for version 8.1 of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.

View File

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

View File

@ -89,6 +89,11 @@ Page instfiles
UninstPage uninstConfirm
UninstPage instfiles
# Reserve files
# Needed for showing the _vimrc setting page faster.
ReserveFile /plugin InstallOptions.dll
ReserveFile vimrc.ini
##########################################################
# Functions
@ -262,6 +267,9 @@ Section "Vim executables and runtime files"
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\plugin
File ${VIMRT}\plugin\*.*
@ -475,14 +483,12 @@ Function SetCustom
# Display the InstallOptions dialog
# Check if a _vimrc should be created
SectionGetFlags ${sec_vimrc_id} $0
IntOp $0 $0 & 1
StrCmp $0 "1" +2 0
SectionGetFlags ${sec_vimrc_id} $3
IntOp $3 $3 & 1
StrCmp $3 "1" +2 0
Abort
Push $3
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
Pop $3
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
Pop $3
FunctionEnd

View File

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

View File

@ -1,7 +1,7 @@
" Vim functions for file type detection
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Nov 11
" Last Change: 2017 Dec 05
" These functions are moved here from runtime/filetype.vim to make startup
" faster.
@ -618,7 +618,11 @@ func dist#ft#FTperl()
setf perl
return 1
endif
if search('^use\s\s*\k', 'nc', 30)
let save_cursor = getpos('.')
call cursor(1,1)
let has_use = search('^use\s\s*\k', 'c', 30)
call setpos('.', save_cursor)
if has_use
setf perl
return 1
endif

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Nov 09, 2016
" Date: Dec 30, 2014
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 16
" Version: 15
" 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 = "v16"
let g:loaded_netrwSettings = "v15"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -154,13 +154,9 @@ 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

@ -0,0 +1,112 @@
" Vim plugin for formatting XML
" Last Change: Thu, 15 Jan 2015 21:26:55 +0100
" Version: 0.1
" Author: Christian Brabandt <cb@256bit.org>
" Script: http://www.vim.org/scripts/script.php?script_id=
" License: VIM License
" GetLatestVimScripts: ???? 18 :AutoInstall: xmlformat.vim
" Documentation: see :h xmlformat.txt (TODO!)
" ---------------------------------------------------------------------
" Load Once: {{{1
if exists("g:loaded_xmlformat") || &cp
finish
endif
let g:loaded_xmlformat = 1
let s:keepcpo = &cpo
set cpo&vim
" Main function: Format the input {{{1
func! xmlformat#Format()
" only allow reformatting through the gq command
" (e.g. Vim is in normal mode)
if mode() != 'n'
" do not fall back to internal formatting
return 0
endif
let sw = shiftwidth()
let prev = prevnonblank(v:lnum-1)
let s:indent = indent(prev)/sw
let result = []
let lastitem = prev ? getline(prev) : ''
let is_xml_decl = 0
" split on `<`, but don't split on very first opening <
for item in split(getline(v:lnum), '.\@<=[>]\zs')
if s:EndTag(item)
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(item))
elseif s:EmptyTag(lastitem)
call add(result, s:Indent(item))
elseif s:StartTag(lastitem) && s:IsTag(item)
let s:indent += 1
call add(result, s:Indent(item))
else
if !s:IsTag(item)
" Simply split on '<'
let t=split(item, '.<\@=\zs')
let s:indent+=1
call add(result, s:Indent(t[0]))
let s:indent = s:DecreaseIndent()
call add(result, s:Indent(t[1]))
else
call add(result, s:Indent(item))
endif
endif
let lastitem = item
endfor
if !empty(result)
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
call append(v:lnum - 1, result)
" Might need to remove the last line, if it became empty because of the
" append() call
let last = v:lnum + len(result)
if getline(last) is ''
exe last. 'd'
endif
endif
" do not run internal formatter!
return 0
endfunc
" Check if given tag is XML Declaration header {{{1
func! s:IsXMLDecl(tag)
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
endfunc
" Return tag indented by current level {{{1
func! s:Indent(item)
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
endfu
" Return item trimmed from leading whitespace {{{1
func! s:Trim(item)
if exists('*trim')
return trim(a:item)
else
return matchstr(a:item, '\S\+.*')
endif
endfunc
" Check if tag is a new opening tag <tag> {{{1
func! s:StartTag(tag)
return a:tag =~? '^\s*<[^/?]'
endfunc
" Remove one level of indentation {{{1
func! s:DecreaseIndent()
return (s:indent > 0 ? s:indent - 1 : 0)
endfunc
" Check if tag is a closing tag </tag> {{{1
func! s:EndTag(tag)
return a:tag =~? '^\s*</'
endfunc
" Check that the tag is actually a tag and not {{{1
" something like "foobar</foobar>"
func! s:IsTag(tag)
return s:Trim(a:tag)[0] == '<'
endfunc
" Check if tag is empty <tag/> {{{1
func! s:EmptyTag(tag)
return a:tag =~ '/>\s*$'
endfunc
" Restoration And Modelines: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" Modeline {{{1
" vim: fdm=marker fdl=0 ts=2 et sw=0 sts=-1

View File

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

View File

@ -0,0 +1,136 @@
" This script tests a color scheme for some errors. Load the scheme and source
" this script. e.g. :e colors/desert.vim | :so test_colors.vim
" Will output possible errors.
let s:save_cpo= &cpo
set cpo&vim
func! Test_check_colors()
call cursor(1,1)
let err={}
" 1) Check g:colors_name is existing
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
let err['colors_name'] = 'g:colors_name not set'
else
let err['colors_name'] = 'OK'
endif
" 2) Check for some well-defined highlighting groups
" Some items, check several groups, e.g. Diff, Spell
let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded',
\ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText',
\ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine',
\ 'Title', 'Visual', 'WarningMsg', 'WildMenu']
let groups={}
for group in hi_groups
if search('\c@suppress\s\+'.group, 'cnW')
" skip check, if the script contains a line like
" @suppress Visual:
let groups[group] = 'Ignoring '.group
continue
endif
if !search('hi\%[ghlight] \+'.group, 'cnW')
let groups[group] = 'No highlight definition for '.group
continue
endif
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
let groups[group] = 'Missing foreground color for '.group
continue
endif
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
let groups[group] = 'Missing bg terminal color for '.group
continue
endif
call search('hi\%[ghlight] \+'.group, 'cW')
" only check in the current line
if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.'))
" do not check for background colors, they could be intentionally left out
let groups[group] = 'Missing fg definition for '.group
endif
call cursor(1,1)
endfor
let err['highlight'] = groups
" 3) Check, that it does not set background highlighting
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
let line=search(bg_pat, 'cnW')
if search(bg_pat, 'cnW')
exe line
if search('hi \U\w\+\s\+\S', 'cbnW')
let err['background'] = 'Should not set background option after :hi statement'
endif
else
let err['background'] = 'OK'
endif
call cursor(1,1)
" 4) Check, that t_Co is checked
let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
if !search(pat, 'ncW')
let err['t_Co'] = 'Does not check terminal for capable colors'
endif
" 5) Initializes correctly, e.g. should have a section like
" hi clear
" if exists("syntax_on")
" syntax reset
" endif
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
if !search(pat, 'cnW')
let err['init'] = 'No initialization'
endif
" 6) Does not use :syn on
if search('syn\%[tax]\s\+on', 'cnW')
let err['background'] = 'Should not issue :syn on'
endif
" 7) Does not define filetype specfic groups like vimCommand, htmlTag,
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
for group in hi_groups
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
if search(pat, 'cnW')
let line = search(pat, 'cW')
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
endif
call cursor(1,1)
endfor
let g:err = err
" print Result
call Result(err)
endfu
fu! Result(err)
let do_roups = 0
echohl Title|echomsg "---------------"|echohl Normal
for key in sort(keys(a:err))
if key is# 'highlight'
let do_groups = 1
continue
else
if a:err[key] !~ 'OK'
echohl Title
endif
echomsg printf("%15s: %s", key, a:err[key])
echohl Normal
endif
endfor
echohl Title|echomsg "---------------"|echohl Normal
if do_groups
echohl Title | echomsg "Groups" | echohl Normal
for v1 in sort(keys(a:err['highlight']))
echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
endfor
endif
endfu
call Test_check_colors()
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@ -375,6 +375,10 @@ tags.ref tags.html: tags
perlhtml: tags $(DOCS)
./vim2html.pl tags $(DOCS)
# Check URLs in the help with "curl".
test_urls:
vim -S test_urls.vim
clean:
-rm doctags *.html tags.ref

View File

@ -1,4 +1,4 @@
*arabic.txt* For Vim version 8.0. Last change: 2010 Nov 13
*arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.0. Last change: 2017 Nov 05
*autocmd.txt* For Vim version 8.1. Last change: 2018 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -21,7 +21,6 @@ For a basic explanation, see section |40.3| in the user manual.
11. Disabling autocommands |autocmd-disable|
{Vi does not have any of these commands}
{only when the |+autocmd| feature has not been disabled at compile time}
==============================================================================
1. Introduction *autocmd-intro*
@ -33,7 +32,7 @@ files matching *.c. You can also use autocommands to implement advanced
features, such as editing compressed files (see |gzip-example|). The usual
place to put autocommands is in your .vimrc or .exrc file.
*E203* *E204* *E143* *E855* *E937*
*E203* *E204* *E143* *E855* *E937* *E952*
WARNING: Using autocommands is very powerful, and may lead to unexpected side
effects. Be careful not to destroy your text.
- It's a good idea to do some testing on an expendable copy of a file first.
@ -57,6 +56,8 @@ effects. Be careful not to destroy your text.
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat} |autocmd-patterns|.
Note: A quote character is seen as argument to the
:autocmd and won't start a comment.
Vim always adds the {cmd} after existing autocommands,
so that the autocommands execute in the order in which
they were given. See |autocmd-nested| for [nested].
@ -92,7 +93,8 @@ will appear twice. To avoid this, define your autocommands in a group, so
that you can easily clear them: >
augroup vimrc
autocmd! " Remove all vimrc autocommands
" Remove all vimrc autocommands
autocmd!
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
augroup END
@ -146,6 +148,8 @@ prompt. When one command outputs two messages this can happen anyway.
plugins, syntax highlighting, etc.
:au[tocmd]! [group] Remove ALL autocommands.
Note: a quote will be seen as argument to the :autocmd
and won't start a comment.
Warning: You should normally not do this without a
group, it breaks plugins, syntax highlighting, etc.
@ -258,6 +262,7 @@ Name triggered by ~
|BufCreate| just after adding a buffer to the buffer list
|BufDelete| before deleting a buffer from the buffer list
|BufWipeout| before completely deleting a buffer
|TerminalOpen| after a terminal buffer was created
|BufFilePre| before changing the name of the current buffer
|BufFilePost| after changing the name of the current buffer
@ -286,7 +291,8 @@ Name triggered by ~
|GUIFailed| after starting the GUI failed
|TermResponse| after the terminal response to |t_RV| is received
|QuitPre| when using `:quit`, before deciding whether to quit
|QuitPre| when using `:quit`, before deciding whether to exit
|ExitPre| when using a command that may make Vim exit
|VimLeavePre| before exiting Vim, before writing the viminfo file
|VimLeave| before exiting Vim, after writing the viminfo file
@ -295,6 +301,8 @@ Name triggered by ~
|FileChangedShellPost| After handling a file changed since editing started
|FileChangedRO| before making the first change to a read-only file
|DirChanged| after the working directory has changed
|ShellCmdPost| after executing a shell command
|ShellFilterPost| after filtering with a shell command
@ -322,6 +330,10 @@ Name triggered by ~
|CmdwinEnter| after entering the command-line window
|CmdwinLeave| before leaving the command-line window
|CmdlineChanged| after a change was made to the command-line text
|CmdlineEnter| after the cursor moves to the command line
|CmdlineLeave| before the cursor leaves the command line
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
@ -330,7 +342,12 @@ Name triggered by ~
|TextChanged| after a change was made to the text in Normal mode
|TextChangedI| after a change was made to the text in Insert mode
when popup menu is not visible
|TextChangedP| after a change was made to the text in Insert mode
when popup menu visible
|TextYankPost| after text is yanked or deleted
|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
|RemoteReply| a reply from a server Vim was received
@ -452,6 +469,9 @@ BufWinEnter After a buffer is displayed in a window. This
existing buffer. But it does happen for a
":split" with the name of the current buffer,
since it reloads that buffer.
Does not happen for a terminal window, because
it starts in Terminal-Job mode and Normal mode
commands won't work. Use |TerminalOpen| instead.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
@ -499,6 +519,13 @@ CmdUndefined When a user command is used but it isn't
command is defined. An alternative is to
always define the user command and have it
invoke an autoloaded function. See |autoload|.
*CmdlineChanged*
CmdlineChanged After a change was made to the text in the
command line. Be careful not to mess up
the command line, it may cause Vim to lock up.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdlineEnter*
CmdlineEnter After moving the cursor to the command line,
where the user can type a command or search
@ -539,6 +566,10 @@ ColorScheme After loading a color scheme. |:colorscheme|
set, and <amatch> for the new colorscheme
name.
*ColorSchemePre*
ColorSchemePre Before loading a color scheme. |:colorscheme|
Useful to setup removing things added by a
color scheme, before another one is loaded.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
@ -625,6 +656,21 @@ FileChangedRO Before making the first change to a read-only
*E881*
If the number of lines changes saving for undo
may fail and the change will be aborted.
*DirChanged*
DirChanged The working directory has changed in response
to the |:cd| or |:lcd| commands, or as a
result of the 'autochdir' option.
The pattern can be:
"window" to trigger on `:lcd
"global" to trigger on `:cd`
"auto" to trigger on 'autochdir'.
"drop" to trigger on editing a file
<afile> is set to the new directory name.
*ExitPre*
ExitPre When using `:quit`, `:wq` in a way it makes
Vim exit, or using `:qall`, just after
|QuitPre|. Can be used to close any
non-essential window.
*FileChangedShell*
FileChangedShell When Vim notices that the modification time of
a file has changed since editing started.
@ -762,7 +808,7 @@ InsertCharPre When a character is typed in Insert mode,
inserted literally.
It is not allowed to change the text |textlock|.
The event is not triggered when 'paste' is
set.
set. {only with the +eval feature}
*InsertEnter*
InsertEnter Just before starting Insert mode. Also for
Replace mode and Virtual Replace mode. The
@ -840,6 +886,7 @@ QuitPre When using `:quit`, `:wq` or `:qall`, before
or quits Vim. Can be used to close any
non-essential window if the current window is
the last ordinary window.
Also see |ExitPre|.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|. The
@ -908,6 +955,7 @@ SwapExists Detected an existing swap file when starting
It is not allowed to change to another buffer,
change a buffer name or change directory
here.
{only available with the +eval feature}
*Syntax*
Syntax When the 'syntax' option has been set. The
pattern is matched against the syntax name.
@ -934,6 +982,11 @@ TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
colors, fonts and other terminal-dependent
settings. Executed for all loaded buffers.
*TerminalOpen*
TerminalOpen Just after a terminal buffer was created, with
`:terminal` or |term_start()|. This event is
triggered even if the buffer is created
without a window, with the ++hidden option.
*TermResponse*
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
@ -956,10 +1009,39 @@ TextChangedI After a change was made to the text in the
current buffer in Insert mode.
Not triggered when the popup menu is visible.
Otherwise the same as TextChanged.
*TextChangedP*
TextChangedP After a change was made to the text in the
current buffer in Insert mode, only when the
popup menu is visible. Otherwise the same as
TextChanged.
*TextYankPost*
TextYankPost After text has been yanked or deleted in the
current buffer. The following values of
|v:event| can be used to determine the operation
that triggered this autocmd:
operator The operation performed.
regcontents Text that was stored in the
register, as a list of lines,
like with: >
getreg(r, 1, 1)
< regname Name of the |register| or
empty string for the unnamed
register.
regtype Type of the register, see
|getregtype()|.
Not triggered when |quote_| is used nor when
called recursively.
It is not allowed to change the buffer text,
see |textlock|.
{only when compiled with the +eval feature}
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
":doautocmd".
Note that when `:doautocmd User MyEvent` is
used while there are no matching autocommands,
you will get an error. If you don't want
that, define a dummy autocommand yourself.
*UserGettingBored*
UserGettingBored When the user presses the same key 42 times.
Just kidding! :-)
@ -1004,9 +1086,10 @@ WinEnter After entering another window. Not done for
If the window is for another buffer, Vim
executes the BufEnter autocommands after the
WinEnter autocommands.
Note: When using ":split fname" the WinEnter
event is triggered after the split but before
the file "fname" is loaded.
Note: For split and tabpage commands the
WinEnter event is triggered after the split
or tab command but before the file is loaded.
*WinLeave*
WinLeave Before leaving a window. If the window to be
entered next is for a different buffer, Vim

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.0. Last change: 2017 Feb 12
*change.txt* For Vim version 8.1. Last change: 2018 May 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -110,7 +110,7 @@ is an error when 'cpoptions' includes the 'E' flag.
J Join [count] lines, with a minimum of two lines.
Remove the indent and insert up to two spaces (see
below). Fails when on the last line of the buffer.
If [count] is too big it is reduce to the number of
If [count] is too big it is reduced to the number of
lines available.
*v_J*
@ -446,7 +446,7 @@ This depends on the 'nrformats' option:
For decimals a leading negative sign is considered for incrementing/
decrementing, for binary, octal and hex values, it won't be considered. To
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
For numbers with leading zeros (including all octal and hexadecimal numbers),
Vim preserves the number of characters in the number when possible. CTRL-A on
@ -533,6 +533,7 @@ If the 'shiftround' option is on, the indent is rounded to a multiple of
If the 'smartindent' option is on, or 'cindent' is on and 'cinkeys' contains
'#' with a zero value, shift right does not affect lines starting with '#'
(these are supposed to be C preprocessor lines that must stay in column 1).
This can be changed with the 'cino' option, see |cino-#|.
When the 'expandtab' option is off (this is the default) Vim uses <Tab>s as
much as possible to make the indent. You can use ">><<" to replace an indent
@ -1444,6 +1445,55 @@ to the name of an external program for Vim to use for text formatting. The
'textwidth' and other options have no effect on formatting by an external
program.
*format-formatexpr*
The 'formatexpr' option can be set to a Vim Script function that performs
reformatting of the buffer. This should usually happen in an |ftplugin|,
since formatting is highly dependent on the type of file. It makes
sense to use an |autoload| script, so the corresponding script is only loaded
when actually needed and the script should be called <filetype>format.vim.
For example, the XML filetype plugin distributed with Vim in the $VIMRUNTIME
directory, sets the 'formatexpr' option to: >
setlocal formatexpr=xmlformat#Format()
That means, you will find the corresponding script, defining the
xmlformat#Format() function, in the directory:
`$VIMRUNTIME/autoload/xmlformat.vim`
Here is an example script that removes trailing whitespace from the selected
text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
func! format#Format()
" only reformat on explicit gq command
if mode() != 'n'
" fall back to Vims internal reformatting
return 1
endif
let lines = getline(v:lnum, v:lnum + v:count - 1)
call map(lines, {key, val -> substitute(val, '\s\+$', '', 'g')})
call setline('.', lines)
" do not run internal formatter!
return 0
endfunc
You can then enable the formatting by executing: >
setlocal formatexpr=format#Format()
>
Note: this function explicitly returns non-zero when called from insert mode
(which basically means, text is inserted beyond the 'textwidth' limit). This
causes Vim to fall back to reformat the text by using the internal formatter.
However, if the |gq| command is used to reformat the text, the function
will receive the selected lines, trim trailing whitespace from those lines and
put them back in place. If you are going to split single lines into multiple
lines, be careful not to overwrite anything.
If you want to allow reformatting of text from insert or replace mode, one has
to be very careful, because the function might be called recursively. For
debugging it helps to set the 'debug' option.
*right-justify*
There is no command in Vim to right justify text. You can do it with
an external command, like "par" (e.g.: "!}par" to format until the end of the

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.0. Last change: 2017 Aug 11
*channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -55,7 +55,7 @@ JS JavaScript style JSON-like encoding |js_encode()|
Common combination are:
- Using a job connected through pipes in NL mode. E.g., to run a style
checker and receive errors and warnings.
- Using a deamon, connecting over a socket in JSON mode. E.g. to lookup
- Using a daemon, connecting over a socket in JSON mode. E.g. to lookup
cross-references in a database.
==============================================================================

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -175,12 +175,14 @@ CTRL-R CTRL-F *c_CTRL-R_CTRL-F* *c_<C-R>_<C-F>*
CTRL-R CTRL-P *c_CTRL-R_CTRL-P* *c_<C-R>_<C-P>*
CTRL-R CTRL-W *c_CTRL-R_CTRL-W* *c_<C-R>_<C-W>*
CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
Insert the object under the cursor:
CTRL-F the Filename under the cursor
CTRL-P the Filename under the cursor, expanded with
'path' as in |gf|
CTRL-W the Word under the cursor
CTRL-A the WORD under the cursor; see |WORD|
CTRL-L the line under the cursor
When 'incsearch' is set the cursor position at the end of the
currently displayed match is used. With CTRL-W the part of
@ -192,8 +194,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
Insert register or object under the cursor. Works like
|c_CTRL-R| but inserts the text literally. For example, if
register a contains "xy^Hz" (where ^H is a backspace),
@ -410,14 +412,17 @@ CTRL-D List names that match the pattern in front of the cursor.
match is inserted. After the last match, the first is used
again (wrap around).
The behavior can be changed with the 'wildmode' option.
*c_<S-Tab>*
<S-Tab> Like 'wildchar' or <Tab>, but begin with the last match and
then go to the previous match.
<S-Tab> does not work everywhere.
*c_CTRL-N*
CTRL-N After using 'wildchar' which got multiple matches, go to next
match. Otherwise recall more recent command-line from history.
<S-Tab> *c_CTRL-P* *c_<S-Tab>*
*c_CTRL-P*
CTRL-P After using 'wildchar' which got multiple matches, go to
previous match. Otherwise recall older command-line from
history. <S-Tab> only works with the GUI, on the Amiga and
with MS-DOS.
history.
*c_CTRL-A*
CTRL-A All names that match the pattern in front of the cursor are
inserted.
@ -453,6 +458,10 @@ a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
When repeating 'wildchar' or CTRL-N you cycle through the matches, eventually
ending up back to what was typed. If the first match is not what you wanted,
you can use <S-Tab> or CTRL-P to go straight back to what you typed.
The 'wildignorecase' option can be set to ignore case in filenames.
The 'wildmenu' option can be set to show the matches just above the command

View File

@ -1,4 +1,4 @@
*debug.txt* For Vim version 8.0. Last change: 2017 Jul 15
*debug.txt* For Vim version 8.1. Last change: 2017 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*debugger.txt* For Vim version 8.0. Last change: 2005 Mar 29
*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
VIM REFERENCE MANUAL by Gordon Prieur
@ -95,10 +95,12 @@ list and colors can be set via X resources (XmNballoonEvalFontList,
XmNballoonEvalBackground, and XmNballoonEvalForeground).
The 'balloondelay' option sets the delay before an attempt is made to show a
balloon.
The 'ballooneval' option needs to be set to switch it on.
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
switch it on.
Balloon evaluation is only available when compiled with the |+balloon_eval|
feature.
Balloon evaluation is only available in the GUI when compiled with the
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
matters.
The Balloon evaluation functions are also used to show a tooltip for the
toolbar. The 'ballooneval' option does not need to be set for this. But the

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.0. Last change: 2017 Jul 31
*develop.txt* For Vim version 8.1. Last change: 2018 May 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -18,7 +18,8 @@ See the file README.txt in the "src" directory for an overview of the source
code.
Vim is open source software. Everybody is encouraged to contribute to help
improving Vim. For sending patches a context diff "diff -c" is preferred.
improving Vim. For sending patches a unified diff "diff -u" is preferred.
You can create a pull request on github, but it's not required.
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
==============================================================================
@ -182,12 +183,43 @@ The basic steps to make changes to the code:
include the diff. Or create a pull request on github.
C COMPILER *style-compiler*
C COMPILER *style-compiler* *ANSI-C* *C89* *C99*
The minimal C compiler version supported is C89, also known as ANSI C.
Later standards don't add much and C89 is the widest supported.
Later standards, such as C99, are not widely supported, or at least not 100%
supported. Therefore we use only some of the C99 features and disallow some
(at least for now).
One restriction that this implies: no // comments, only /* comments */.
Please don't make changes everywhere to use the C99 features, it causes merge
problems for existing patches. Only use them for new and changed code.
Comments ~
Traditionally Vim uses /* comments */. We intend to keep it that way,
especially for file and function headers. For new code or lines of code that
change, it is allowed to use // comments. Especially when it comes after
code:
int some_var; // single line comment useful here
Enums ~
The last item in an enum may have a trailing comma. C89 didn't allow this.
Types ~
"long long" is allowed and can be expected to be 64 bits. Use %lld in printf
formats. Also "long long unsigned" with %llu.
Not to be used ~
These C99 features are not to be used, because not enough compilers support
them:
- Declaration after Statements (MSVC 2012 does not support it). All
declarations need to be at the start of the block.
- Variable length arrays (even in C11 this is an optional feature).
- _Bool and _Complex types.
- "inline" (it's hardly ever needed, let the optimizer do its work)
- flexible array members: Not supported by HP-UX C compiler (John Marriott)
USE OF COMMON FUNCTIONS *style-functions*

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.0. Last change: 2017 Oct 03
*diff.txt* For Vim version 8.1. Last change: 2017 Oct 03
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*digraph.txt* For Vim version 8.0. Last change: 2016 Nov 04
*digraph.txt* For Vim version 8.1. Last change: 2016 Nov 04
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.0. Last change: 2017 Aug 21
*editing.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
@ -424,6 +424,15 @@ On Unix and a few other systems you can also use backticks for the file name
argument, for example: >
:next `find . -name ver\\*.c -print`
:view `ls -t *.patch \| head -n1`
Vim will run the command in backticks using the 'shell' and use the standard
output as argument for the given Vim command (error messages from the shell
command will be discarded).
To see what shell command Vim is running, set the 'verbose' option to 4. When
the shell command returns a non-zero exit code, an error message will be
displayed and the Vim command will be aborted. To avoid this make the shell
always return zero like so: >
:next `find . -name ver\\*.c -print \|\| true`
The backslashes before the star are required to prevent the shell from
expanding "ver*.c" prior to execution of the find program. The backslash
before the shell pipe symbol "|" prevents Vim from parsing it as command
@ -650,8 +659,7 @@ list of the current window.
There is no check for duplicates, it is possible to
add a file to the argument list twice.
The currently edited file is not changed.
{not in Vi} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
@ -665,8 +673,7 @@ list of the current window.
when it's deleted from the argument list.
Example: >
:argdel *.obj
< {not in Vi} {not available when compiled without the
|+listcmds| feature}
< {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
@ -681,8 +688,7 @@ list of the current window.
< Removes all the files from the arglist.
When the last number in the range is too high, up to
the last argument is deleted.
{not in Vi} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
@ -691,16 +697,14 @@ list of the current window.
when changes have been made and Vim does not want to
|abandon| the current buffer.
Also see |++opt| and |+cmd|.
{not in Vi} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
:[count]argu[ment]! [count] [++opt] [+cmd]
Edit file [count] in the argument list, discard any
changes to the current buffer. When [count] is
omitted the current entry is used.
Also see |++opt| and |+cmd|.
{not in Vi} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
@ -823,7 +827,6 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
{not available when compiled without the |+windows| or |+listcmds| features}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
@ -875,8 +878,7 @@ USING THE ARGUMENT LIST
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
{not in Vi} {not available when compiled without the
|+listcmds| feature}
{not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@ -900,7 +902,7 @@ Note: When the 'write' option is off, you are not able to write any file.
*:w* *:write*
*E502* *E503* *E504* *E505*
*E512* *E514* *E667* *E796*
*E512* *E514* *E667* *E796* *E949*
:w[rite] [++opt] Write the whole buffer to the current file. This is
the normal way to save changes to a file. It fails
when the 'readonly' option is set or when there is
@ -956,6 +958,9 @@ used, for example, when the write fails and you want to try again later with
":w #". This can be switched off by removing the 'A' flag from the
'cpoptions' option.
Note that the 'fsync' option matters here. If it's set it may make writes
slower (but safer).
*:sav* *:saveas*
:sav[eas][!] [++opt] {file}
Save the current buffer under the name {file} and set
@ -1199,7 +1204,8 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, Vim will not quit.
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
{not in Vi}
==============================================================================

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.0. Last change: 2017 Nov 16
*eval.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1246,8 +1246,8 @@ The arguments are optional. Example: >
*closure*
Lambda expressions can access outer scope variables and arguments. This is
often called a closure. Example where "i" and "a:arg" are used in a lambda
while they exist in the function scope. They remain valid even after the
function returns: >
while they already exist in the function scope. They remain valid even after
the function returns: >
:function Foo(arg)
: let i = 3
: return {x -> x + i - a:arg}
@ -1256,7 +1256,10 @@ function returns: >
:echo Bar(6)
< 5
See also |:func-closure|. Lambda and closure support can be checked with: >
Note that the variables must exist in the outer scope before the lamba is
defined for this to work. See also |:func-closure|.
Lambda and closure support can be checked with: >
if has('lambda')
Examples for using a lambda expression with |sort()|, |map()| and |filter()|: >
@ -1545,15 +1548,23 @@ v:errmsg Last given error message. It's allowed to set this variable.
: ... handle error
< "errmsg" also works, for backwards compatibility.
*v:errors* *errors-variable*
*v:errors* *errors-variable* *assert-return*
v:errors Errors found by assert functions, such as |assert_true()|.
This is a list of strings.
The assert functions append an item when an assert fails.
The return value indicates this: a one is returned if an item
was added to v:errors, otherwise zero is returned.
To remove old results make it empty: >
:let v:errors = []
< If v:errors is set to anything but a list it is made an empty
list by the assert function.
*v:event* *event-variable*
v:event Dictionary containing information about the current
|autocommand|. The dictionary is emptied when the |autocommand|
finishes, please refer to |dict-identity| for how to get an
independent copy of it.
*v:exception* *exception-variable*
v:exception The value of the exception most recently caught and not
finished. See also |v:throwpoint| and |throw-variables|.
@ -2011,27 +2022,30 @@ argidx() Number current index in the argument list
arglistid([{winnr} [, {tabnr}]]) Number argument list id
argv({nr}) String {nr} entry of the argument list
argv() List the argument list
assert_beeps({cmd}) Number assert {cmd} causes a beep
assert_equal({exp}, {act} [, {msg}])
none assert {exp} is equal to {act}
Number assert {exp} is equal to {act}
assert_equalfile({fname-one}, {fname-two})
Number assert file contents is equal
assert_exception({error} [, {msg}])
none assert {error} is in v:exception
assert_fails({cmd} [, {error}]) none assert {cmd} fails
Number assert {error} is in v:exception
assert_fails({cmd} [, {error}]) Number assert {cmd} fails
assert_false({actual} [, {msg}])
none assert {actual} is false
Number assert {actual} is false
assert_inrange({lower}, {upper}, {actual} [, {msg}])
none assert {actual} is inside the range
Number assert {actual} is inside the range
assert_match({pat}, {text} [, {msg}])
none assert {pat} matches {text}
Number assert {pat} matches {text}
assert_notequal({exp}, {act} [, {msg}])
none assert {exp} is not equal {act}
Number assert {exp} is not equal {act}
assert_notmatch({pat}, {text} [, {msg}])
none assert {pat} not matches {text}
assert_report({msg}) none report a test failure
assert_true({actual} [, {msg}]) none assert {actual} is true
Number assert {pat} not matches {text}
assert_report({msg}) Number report a test failure
assert_true({actual} [, {msg}]) Number assert {actual} is true
asin({expr}) Float arc sine of {expr}
atan({expr}) Float arc tangent of {expr}
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
balloon_show({msg}) none show {msg} inside the balloon
balloon_show({expr}) none show {expr} inside the balloon
balloon_split({msg}) List split {msg} as used for a balloon
browse({save}, {title}, {initdir}, {default})
String put up a file requester
@ -2145,6 +2159,7 @@ getbufline({expr}, {lnum} [, {end}])
List lines {lnum} to {end} of buffer {expr}
getbufvar({expr}, {varname} [, {def}])
any variable {varname} in buffer {expr}
getchangelist({expr}) List list of change list items
getchar([expr]) Number get one character from the user
getcharmod() Number modifiers for the last typed character
getcharsearch() Dict last character search
@ -2161,6 +2176,8 @@ getfperm({fname}) String file permissions of file {fname}
getfsize({fname}) Number size in bytes of file {fname}
getftime({fname}) Number last modification time of file
getftype({fname}) String description of type of file {fname}
getjumplist([{winnr} [, {tabnr}]])
List list of jump list items
getline({lnum}) String line {lnum} of current buffer
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
getloclist({nr} [, {what}]) List list of location list items
@ -2177,8 +2194,9 @@ gettabvar({nr}, {varname} [, {def}])
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
any {name} in {winnr} in tab page {tabnr}
getwininfo([{winid}]) List list of windows
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI Vim window
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
getwinposx() Number X coord in pixels of the Vim window
getwinposy() Number Y coord in pixels of the Vim window
getwinvar({nr}, {varname} [, {def}])
any variable {varname} in window {nr}
glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])
@ -2218,7 +2236,7 @@ islocked({expr}) Number |TRUE| if {expr} is locked
isnan({expr}) Number |TRUE| if {expr} is NaN
items({dict}) List key-value pairs in {dict}
job_getchannel({job}) Channel get the channel handle for {job}
job_info({job}) Dict get information about {job}
job_info([{job}]) Dict get information about {job}
job_setoptions({job}, {options}) none set options for {job}
job_start({command} [, {options}])
Job start a job
@ -2398,7 +2416,14 @@ tagfiles() List tags files used
tan({expr}) Float tangent of {expr}
tanh({expr}) Float hyperbolic tangent of {expr}
tempname() String name for a temporary file
term_dumpdiff({filename}, {filename} [, {options}])
Number display difference between two dumps
term_dumpload({filename} [, {options}])
Number displaying a screen dump
term_dumpwrite({buf}, {filename} [, {options}])
none dump terminal window contents
term_getaltscreen({buf}) Number get the alternate screen flag
term_getansicolors({buf}) List get ANSI palette in GUI color mode
term_getattr({attr}, {what}) Number get the value of attribute {what}
term_getcursor({buf}) List get the cursor position of a terminal
term_getjob({buf}) Job get the job associated with a terminal
@ -2411,6 +2436,12 @@ term_gettty({buf}, [{input}]) String get the tty name of a terminal
term_list() List get the list of terminal buffers
term_scrape({buf}, {row}) List get row of a terminal screen
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
term_setansicolors({buf}, {colors})
none set ANSI palette in GUI color mode
term_setkill({buf}, {how}) none set signal to stop job in terminal
term_setrestore({buf}, {command}) none set command to restore terminal
term_setsize({buf}, {rows}, {cols})
none set the size of a terminal
term_start({cmd}, {options}) Job open a terminal window and run a job
term_wait({buf} [, {time}]) Number wait for screen to be updated
test_alloc_fail({id}, {countdown}, {repeat})
@ -2437,6 +2468,7 @@ tolower({expr}) String the String {expr} switched to lowercase
toupper({expr}) String the String {expr} switched to uppercase
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
to chars in {tostr}
trim({text}[, {mask}]) String trim characters in {mask} from {text}
trunc({expr}) Float truncate Float {expr}
type({name}) Number type of variable {name}
undofile({name}) String undo file name for {name}
@ -2452,6 +2484,7 @@ win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
win_gotoid({expr}) Number go to window with ID {expr}
win_id2tabwin({expr}) List get tab and window nr from window ID
win_id2win({expr}) Number get window nr from window ID
win_screenpos({nr}) List get screen position of window {nr}
winbufnr({nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
winheight({nr}) Number height of window {nr}
@ -2557,10 +2590,16 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the
< Without the {nr} argument a |List| with the whole |arglist| is
returned.
assert_beeps({cmd}) *assert_beeps()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce a beep or visual bell.
Also see |assert_fails()| and |assert-return|.
*assert_equal()*
assert_equal({expected}, {actual} [, {msg}])
When {expected} and {actual} are not equal an error message is
added to |v:errors|.
added to |v:errors| and 1 is returned. Otherwise zero is
returned |assert-return|.
There is no automatic conversion, the String "4" is different
from the Number 4. And the number 4 is different from the
Float 4.0. The value of 'ignorecase' is not used here, case
@ -2572,9 +2611,18 @@ assert_equal({expected}, {actual} [, {msg}])
< Will result in a string to be added to |v:errors|:
test.vim line 12: Expected 'foo' but got 'bar' ~
*assert_equalfile()*
assert_equalfile({fname-one}, {fname-two})
When the files {fname-one} and {fname-two} do not contain
exactly the same text an error message is added to |v:errors|.
Also see |assert-return|.
When {fname-one} or {fname-two} does not exist the error will
mention that.
Mainly useful with |terminal-diff|.
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
message is added to |v:errors|.
message is added to |v:errors|. Also see |assert-return|.
This can be used to assert that a command throws an exception.
Using the error number, followed by a colon, avoids problems
with translations: >
@ -2587,12 +2635,15 @@ assert_exception({error} [, {msg}]) *assert_exception()*
assert_fails({cmd} [, {error}]) *assert_fails()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce an error.
NOT produce an error. Also see |assert-return|.
When {error} is given it must match in |v:errmsg|.
Note that beeping is not considered an error, and some failing
commands only beep. Use |assert_beeps()| for those.
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
|v:errors|, like with |assert_equal()|.
|v:errors|, like with |assert_equal()|.
Also see |assert-return|.
A value is false when it is zero. When {actual} is not a
number the assert fails.
When {msg} is omitted an error in the form
@ -2601,7 +2652,7 @@ assert_false({actual} [, {msg}]) *assert_false()*
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
This asserts number values. When {actual} is lower than
{lower} or higher than {upper} an error message is added to
|v:errors|.
|v:errors|. Also see |assert-return|.
When {msg} is omitted an error in the form
"Expected range {lower} - {upper}, but got {actual}" is
produced.
@ -2609,7 +2660,7 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
*assert_match()*
assert_match({pattern}, {actual} [, {msg}])
When {pattern} does not match {actual} an error message is
added to |v:errors|.
added to |v:errors|. Also see |assert-return|.
{pattern} is used as with |=~|: The matching is always done
like 'magic' was set and 'cpoptions' is empty, no matter what
@ -2630,18 +2681,22 @@ assert_match({pattern}, {actual} [, {msg}])
assert_notequal({expected}, {actual} [, {msg}])
The opposite of `assert_equal()`: add an error message to
|v:errors| when {expected} and {actual} are equal.
Also see |assert-return|.
*assert_notmatch()*
assert_notmatch({pattern}, {actual} [, {msg}])
The opposite of `assert_match()`: add an error message to
|v:errors| when {pattern} matches {actual}.
Also see |assert-return|.
assert_report({msg}) *assert_report()*
Report a test failure directly, using {msg}.
Always returns one.
assert_true({actual} [, {msg}]) *assert_true()*
When {actual} is not true an error message is added to
|v:errors|, like with |assert_equal()|.
Also see |assert-return|.
A value is TRUE when it is a non-zero number. When {actual}
is not a number the assert fails.
When {msg} is omitted an error in the form "Expected True but
@ -2748,6 +2803,8 @@ bufexists({expr}) *bufexists()*
The result is a Number, which is |TRUE| if a buffer called
{expr} exists.
If the {expr} argument is a number, buffer numbers are used.
Number zero is the alternate buffer for the current window.
If the {expr} argument is a string it must match a buffer name
exactly. The name can be:
- Relative to the current directory.
@ -3053,12 +3110,16 @@ ch_open({address} [, {options}]) *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|.
{only available when compiled with the |+channel| feature}
ch_readraw({handle} [, {options}]) *ch_readraw()*
Like ch_read() but for a JS and JSON channel does not decode
the message. See |channel-more|.
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|.
{only available when compiled with the |+channel| feature}
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
@ -3124,8 +3185,8 @@ char2nr({expr} [, {utf8}]) *char2nr()*
char2nr("ABC") returns 65
< When {utf8} is omitted or zero, the current 'encoding' is used.
Example for "utf-8": >
char2nr("<EFBFBD>") returns 225
char2nr("<EFBFBD>"[0]) returns 195
char2nr("á") returns 225
char2nr("á"[0]) returns 195
< With {utf8} set to 1, always treat as utf-8 characters.
A combining character is a separate character.
|nr2char()| does the opposite.
@ -3323,8 +3384,8 @@ count({comp}, {expr} [, {ic} [, {start}]]) *count()*
When {ic} is given and it's |TRUE| then case is ignored.
When {comp} is a string then the number of not overlapping
occurrences of {expr} is returned.
occurrences of {expr} is returned. Zero is returned when
{expr} is an empty string.
*cscope_connection()*
cscope_connection([{num} , {dbpath} [, {prepend}]])
@ -4166,6 +4227,7 @@ getbufinfo([{dict}])
be specified in {dict}:
buflisted include only listed buffers.
bufloaded include only loaded buffers.
bufmodified include only modified buffers.
Otherwise, {expr} specifies a particular buffer to return
information for. For the use of {expr}, see |bufname()|
@ -4252,6 +4314,22 @@ getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
:let bufmodified = getbufvar(1, "&mod")
:echo "todo myvar = " . getbufvar("todo", "myvar")
<
getchangelist({expr}) *getchangelist()*
Returns the |changelist| for the buffer {expr}. For the use
of {expr}, see |bufname()| above. If buffer {expr} doesn't
exist, an empty list is returned.
The returned list contains two entries: a list with the change
locations and the current position in the list. Each
entry in the change list is a dictionary with the following
entries:
col column number
coladd column offset for 'virtualedit'
lnum line number
If buffer {expr} is the current buffer, then the current
position refers to the position in the list. For other
buffers, it is set to the length of the list.
getchar([expr]) *getchar()*
Get a single character from the user or input stream.
If [expr] is omitted, wait until a character is available.
@ -4403,6 +4481,7 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
specifies what for. The following completion types are
supported:
arglist file names in argument list
augroup autocmd groups
buffer buffer names
behave :behave suboptions
@ -4468,10 +4547,13 @@ getcwd([{winnr} [, {tabnr}]])
Without arguments, for the current window.
With {winnr} return the local current directory of this window
in the current tab page.
in the current tab page. {winnr} can be the window number or
the |window-ID|.
If {winnr} is -1 return the name of the global working
directory. See also |haslocaldir()|.
With {winnr} and {tabnr} return the local current directory of
the window in the specified tab page.
{winnr} can be the window number or the |window-ID|.
Return an empty string if the arguments are invalid.
getfsize({fname}) *getfsize()*
@ -4541,6 +4623,25 @@ getftype({fname}) *getftype()*
"file" are returned. On MS-Windows a symbolic link to a
directory returns "dir" instead of "link".
getjumplist([{winnr} [, {tabnr}]]) *getjumplist()*
Returns the |jumplist| for the specified window.
Without arguments use the current window.
With {winnr} only use this window in the current tab page.
{winnr} can also be a |window-ID|.
With {winnr} and {tabnr} use the window in the specified tab
page.
The returned list contains two entries: a list with the jump
locations and the last used jump position number in the list.
Each entry in the jump location list is a dictionary with
the following entries:
bufnr buffer number
col column number
coladd column offset for 'virtualedit'
filename filename if available
lnum line number
*getline()*
getline({lnum} [, {end}])
Without {end} the result is a String, which is line {lnum}
@ -4634,6 +4735,7 @@ getqflist([{what}]) *getqflist()*
list item is a dictionary with these entries:
bufnr number of buffer that has the file name, use
bufname() to get the name
module module name
lnum line number in the buffer (first line is 1)
col column number (first column is 1)
vcol |TRUE|: "col" is visual column
@ -4658,27 +4760,30 @@ getqflist([{what}]) *getqflist()*
If the optional {what} dictionary argument is supplied, then
returns only the items listed in {what} as a dictionary. The
following string items are supported in {what}:
context get the context stored with |setqflist()|
changedtick get the total number of changes made
to the list |quickfix-changedtick|
context get the |quickfix-context|
efm errorformat to use when parsing "lines". If
not present, then the 'erroformat' option
not present, then the 'errorformat' option
value is used.
id get information for the quickfix list with
|quickfix-ID|; zero means the id for the
current list or the list specifed by "nr"
current list or the list specified by "nr"
idx index of the current entry in the list
items quickfix list entries
lines use 'errorformat' to extract items from a list
of lines and return the resulting entries.
Only a |List| type is accepted. The current
quickfix list is not modified.
lines parse a list of lines using 'efm' and return
the resulting entries. Only a |List| type is
accepted. The current quickfix list is not
modified. See |quickfix-parse|.
nr get information for this quickfix list; zero
means the current quickfix list and "$" means
the last quickfix list
size number of entries in the quickfix list
title get the list title
winid get the |window-ID| (if opened)
title get the list title |quickfix-title|
winid get the quickfix |window-ID|
all all of the above quickfix properties
Non-string items in {what} are ignored.
Non-string items in {what} are ignored. To get the value of a
particular item, set it to zero.
If "nr" is not present then the current quickfix list is used.
If both "nr" and a non-zero "id" are specified, then the list
specified by "id" is used.
@ -4688,25 +4793,30 @@ getqflist([{what}]) *getqflist()*
When "lines" is specified, all the other items except "efm"
are ignored. The returned dictionary contains the entry
"items" with the list of entries.
In case of error processing {what}, an empty dictionary is
returned.
The returned dictionary contains the following entries:
context context information stored with |setqflist()|
id quickfix list ID |quickfix-ID|
idx index of the current entry in the list
items quickfix list entries
nr quickfix list number
size number of entries in the quickfix list
title quickfix list title text
winid quickfix |window-ID| (if opened)
changedtick total number of changes made to the
list |quickfix-changedtick|
context quickfix list context. See |quickfix-context|
If not present, set to "".
id quickfix list ID |quickfix-ID|. If not
present, set to 0.
idx index of the current entry in the list. If not
present, set to 0.
items quickfix list entries. If not present, set to
an empty list.
nr quickfix list number. If not present, set to 0
size number of entries in the quickfix list. If not
present, set to 0.
title quickfix list title text. If not present, set
to "".
winid quickfix |window-ID|. If not present, set to 0
Examples: >
Examples (See also |getqflist-examples|): >
:echo getqflist({'all': 1})
:echo getqflist({'nr': 2, 'title': 1})
:echo getqflist({'lines' : ["F1:10:L10"]})
<
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
The result is a String, which is the contents of register
{regname}. Example: >
@ -4784,17 +4894,37 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
Examples: >
:let list_is_on = gettabwinvar(1, 2, '&list')
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
<
getwinpos([{timeout}]) *getwinpos()*
The result is a list with two numbers, the result of
getwinposx() and getwinposy() combined:
[x-pos, y-pos]
{timeout} can be used to specify how long to wait in msec for
a response from the terminal. When omitted 100 msec is used.
Use a longer time for a remote terminal.
When using a value less than 10 and no response is received
within that time, a previously reported position is returned,
if available. This can be used to poll for the position and
do some work in the mean time: >
while 1
let res = getwinpos(1)
if res[0] >= 0
break
endif
" Do some work here
endwhile
<
*getwinposx()*
getwinposx() The result is a Number, which is the X coordinate in pixels of
the left hand side of the GUI Vim window. Also works for an
xterm.
xterm (uses a timeout of 100 msec).
The result will be -1 if the information is not available.
The value can be used with `:winpos`.
*getwinposy()*
getwinposy() The result is a Number, which is the Y coordinate in pixels of
the top of the GUI Vim window. Also works for an xterm.
the top of the GUI Vim window. Also works for an xterm (uses
a timeout of 100 msec).
The result will be -1 if the information is not available.
The value can be used with `:winpos`.
@ -5269,10 +5399,11 @@ job_getchannel({job}) *job_getchannel()*
<
{only available when compiled with the |+job| feature}
job_info({job}) *job_info()*
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
@ -5280,6 +5411,8 @@ job_info({job}) *job_info()*
"exit_cb" function to be called on exit
"stoponexit" |job-stoponexit|
Without any arguments, returns a List with all Job objects.
job_setoptions({job}, {options}) *job_setoptions()*
Change options for {job}. Supported are:
"stoponexit" |job-stoponexit|
@ -5908,8 +6041,6 @@ matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
< Matches added by |matchaddpos()| are returned by
|getmatches()| with an entry "pos1", "pos2", etc., with the
value a list like the {pos} item.
These matches cannot be set via |setmatches()|, however they
can still be deleted by |clearmatches()|.
matcharg({nr}) *matcharg()*
Selects the {nr} match item, as set with a |:match|,
@ -6019,6 +6150,8 @@ mkdir({name} [, {path} [, {prot}]])
Example: >
:call mkdir($HOME . "/tmp/foo/bar", "p", 0700)
< This function is not available in the |sandbox|.
There is no error if the directory already exists and the "p"
flag is passed (since patch 8.0.1708).
Not available on all systems. To check use: >
:if exists("*mkdir")
<
@ -6473,7 +6606,7 @@ remote_expr({server}, {string} [, {idvar} [, {timeout}]])
between (not at the end), like with join(expr, "\n").
If {idvar} is present and not empty, it is taken as the name
of a variable and a {serverid} for later use with
remote_read() is stored there.
|remote_read()| is stored there.
If {timeout} is given the read times out after this many
seconds. Otherwise a timeout of 600 seconds is used.
See also |clientserver| |RemoteReply|.
@ -7087,6 +7220,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
buffer
filename name of a file; only used when "bufnr" is not
present or it is invalid.
module name of a module; if given it will be used in
quickfix error window instead of the filename.
lnum line number in the file
pattern search pattern used to locate the error
col column number
@ -7135,7 +7270,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
only the items listed in {what} are set. The first {list}
argument is ignored. The following items can be specified in
{what}:
context any Vim type can be stored as a context
context quickfix list context. See |quickfix-context|
efm errorformat to use when parsing text from
"lines". If this is not present, then the
'errorformat' option value is used.
@ -7157,10 +7292,10 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
list is modified, "id" should be used instead of "nr" to
specify the list.
Examples: >
Examples (See also |setqflist-examples|): >
:call setqflist([], 'r', {'title': 'My search'})
:call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
:call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
:call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
<
Returns zero for success, -1 for failure.
@ -7693,8 +7828,9 @@ submatch({nr} [, {list}]) *submatch()* *E935*
When substitute() is used recursively only the submatches in
the current (deepest) call can be obtained.
Example: >
Examples: >
:s/\d\+/\=submatch(0) + 1/
:echo substitute(text, '\d\+', '\=submatch(0) + 1', '')
< This finds the first number in the line and adds one to it.
A line break is included as a newline character.
@ -8036,12 +8172,88 @@ tempname() *tempname()* *temp-file-name*
For MS-Windows forward slashes are used when the 'shellslash'
option is set or when 'shellcmdflag' starts with '-'.
*term_dumpdiff()*
term_dumpdiff({filename}, {filename} [, {options}])
Open a new window displaying the difference between the two
files. The files must have been created with
|term_dumpwrite()|.
Returns the buffer number or zero when the diff fails.
Also see |terminal-diff|.
NOTE: this does not work with double-width characters yet.
The top part of the buffer contains the contents of the first
file, the bottom part of the buffer contains the contents of
the second file. The middle part shows the differences.
The parts are separated by a line of dashes.
If the {options} argument is present, it must be a Dict with
these possible members:
"term_name" name to use for the buffer name, instead
of the first file name.
"term_rows" vertical size to use for the terminal,
instead of using 'termwinsize'
"term_cols" horizontal size to use for the terminal,
instead of using 'termwinsize'
"vertical" split the window vertically
"curwin" use the current window, do not split the
window; fails if the current buffer
cannot be |abandon|ed
"norestore" do not add the terminal window to a
session file
Each character in the middle part indicates a difference. If
there are multiple differences only the first in this list is
used:
X different character
w different width
f different foreground color
b different background color
a different attribute
+ missing position in first file
- missing position in second file
Using the "s" key the top and bottom parts are swapped. This
makes it easy to spot a difference.
*term_dumpload()*
term_dumpload({filename} [, {options}])
Open a new window displaying the contents of {filename}
The file must have been created with |term_dumpwrite()|.
Returns the buffer number or zero when it fails.
Also see |terminal-diff|.
For {options} see |term_dumpdiff()|.
*term_dumpwrite()*
term_dumpwrite({buf}, {filename} [, {options}])
Dump the contents of the terminal screen of {buf} in the file
{filename}. This uses a format that can be used with
|term_dumpload()| and |term_dumpdiff()|.
If {filename} already exists an error is given. *E953*
Also see |terminal-diff|.
{options} is a dictionary with these optional entries:
"rows" maximum number of rows to dump
"columns" maximum number of columns to dump
term_getaltscreen({buf}) *term_getaltscreen()*
Returns 1 if the terminal of {buf} is using the alternate
screen.
{buf} is used as with |term_getsize()|.
{only available when compiled with the |+terminal| feature}
term_getansicolors({buf}) *term_getansicolors()*
Get the ANSI color palette in use by terminal {buf}.
Returns a List of length 16 where each element is a String
representing a color in hexadecimal "#rrggbb" format.
Also see |term_setansicolors()| and |g:terminal_ansi_colors|.
If neither was used returns the default colors.
{buf} is used as with |term_getsize()|. If the buffer does not
exist or is not a terminal window, an empty list is returned.
{only available when compiled with the |+terminal| feature and
with GUI enabled and/or the |+termguicolors| feature}
term_getattr({attr}, {what}) *term_getattr()*
Given {attr}, a value returned by term_scrape() in the "attr"
item, return whether {what} is on. {what} can be one of:
@ -8086,6 +8298,8 @@ term_getline({buf}, {row}) *term_getline()*
The first line has {row} one. When {row} is "." the cursor
line is used. When {row} is invalid an empty string is
returned.
To get attributes of each character use |term_scrape()|.
{only available when compiled with the |+terminal| feature}
term_getscrolled({buf}) *term_getscrolled()*
@ -8171,8 +8385,68 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
means the character CTRL-X.
{only available when compiled with the |+terminal| feature}
term_setsize({buf}, {expr}) *term_setsize()*
Not implemented yet.
term_setansicolors({buf}, {colors}) *term_setansicolors()*
Set the ANSI color palette used by terminal {buf}.
{colors} must be a List of 16 valid color names or hexadecimal
color codes, like those accepted by |highlight-guifg|.
Also see |term_getansicolors()| and |g:terminal_ansi_colors|.
The colors normally are:
0 black
1 dark red
2 dark green
3 brown
4 dark blue
5 dark magenta
6 dark cyan
7 light grey
8 dark grey
9 red
10 green
11 yellow
12 blue
13 magenta
14 cyan
15 white
These colors are used in the GUI and in the terminal when
'termguicolors' is set. When not using GUI colors (GUI mode
or 'termguicolors'), the terminal window always uses the 16
ANSI colors of the underlying terminal.
{only available when compiled with the |+terminal| feature and
with GUI enabled and/or the |+termguicolors| feature}
term_setkill({buf}, {how}) *term_setkill()*
When exiting Vim or trying to close the terminal window in
another way, {how} defines whether the job in the terminal can
be stopped.
When {how} is empty (the default), the job will not be
stopped, trying to exit will result in |E947|.
Otherwise, {how} specifies what signal to send to the job.
See |job_stop()| for the values.
After sending the signal Vim will wait for up to a second to
check that the job actually stopped.
term_setrestore({buf}, {command}) *term_setrestore()*
Set the command to write in a session file to restore the job
in this terminal. The line written in the session file is: >
terminal ++curwin ++cols=%d ++rows=%d {command}
< Make sure to escape the command properly.
Use an empty {command} to run 'shell'.
Use "NONE" to not restore this window.
{only available when compiled with the |+terminal| feature}
term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
Set the size of terminal {buf}. The size of the window
containing the terminal will also be adjusted, if possible.
If {rows} or {cols} is zero or negative, that dimension is not
changed.
{buf} must be the buffer number of a terminal window. Use an
empty string for the current buffer. If the buffer does not
exist or is not a terminal window, an error is given.
{only available when compiled with the |+terminal| feature}
term_start({cmd}, {options}) *term_start()*
@ -8206,14 +8480,18 @@ term_start({cmd}, {options}) *term_start()*
"term_name" name to use for the buffer name, instead
of the command name.
"term_rows" vertical size to use for the terminal,
instead of using 'termsize'
instead of using 'termwinsize'
"term_cols" horizontal size to use for the terminal,
instead of using 'termsize'
instead of using 'termwinsize'
"vertical" split the window vertically
"curwin" use the current window, do not split the
window; fails if the current buffer
cannot be |abandon|ed
"hidden" do not open a window
"norestore" do not add the terminal window to a
session file
"term_kill" what to do when trying to close the
terminal window, see |term_setkill()|
"term_finish" What to do when the job is finished:
"close": close any windows
"open": open window if needed
@ -8229,6 +8507,9 @@ term_start({cmd}, {options}) *term_start()*
CTRL-D is used on MS-Windows. For Python
use CTRL-Z or "exit()". For a shell use
"exit". A CR is always added.
"ansi_colors" A list of 16 color names or hex codes
defining the ANSI palette used in GUI
color modes. See |g:terminal_ansi_colors|.
{only available when compiled with the |+terminal| feature}
@ -8427,6 +8708,22 @@ tr({src}, {fromstr}, {tostr}) *tr()*
echo tr("<blob>", "<>", "{}")
< returns "{blob}"
trim({text}[, {mask}]) *trim()*
Return {text} as a String where any character in {mask} is
removed from the beginning and end of {text}.
If {mask} is not given, {mask} is all characters up to 0x20,
which includes Tab, space, NL and CR, plus the non-breaking
space character 0xa0.
This code deals with multibyte characters properly.
Examples: >
echo trim(" some text ")
< returns "some text" >
echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
< returns "RESERVE_TAIL" >
echo trim("rm<Xrm<>X>rrm", "rm<>")
< returns "Xrm<>X" (characters in the middle are not removed)
trunc({expr}) *trunc()*
Return the largest integral value with magnitude less than or
equal to {expr} as a |Float| (truncate towards zero).
@ -8630,6 +8927,14 @@ win_id2win({expr}) *win_id2win()*
Return the window number of window with ID {expr}.
Return 0 if the window cannot be found in the current tabpage.
win_screenpos({nr}) *win_screenpos()*
Return the screen position of window {nr} as a list with two
numbers: [row, col]. The first window always has position
[1, 1].
{nr} can be the window number or the |window-ID|.
Return [0, 0] if the window cannot be found in the current
tabpage.
*winbufnr()*
winbufnr({nr}) The result is a Number, which is the number of the buffer
associated with window {nr}. {nr} can be the window number or
@ -8781,8 +9086,8 @@ writefile({list}, {fname} [, {flags}])
the file. This flushes the file to disk, if possible. This
takes more time but avoids losing the file if the system
crashes.
When {flags} does not contain "S" or "s" then fsync is called
if the 'fsync' option is set.
When {flags} does not contain "S" or "s" then fsync() is
called if the 'fsync' option is set.
When {flags} contains "S" then fsync() is not called, even
when 'fsync' is set.
@ -8816,22 +9121,16 @@ There are four types of features:
Example: >
:if has("gui_running")
< *has-patch*
3. Included patches. The "patch123" feature means that patch 123 has been
included. Note that this form does not check the version of Vim, you need
to inspect |v:version| for that.
Example (checking version 6.2.148 or later): >
:if v:version > 602 || v:version == 602 && has("patch148")
< Note that it's possible for patch 147 to be omitted even though 148 is
included.
4. Beyond a certain version or at a certain version and including a specific
patch. The "patch-7.4.237" feature means that the Vim version is 7.5 or
later, or it is version 7.4 and patch 237 was included.
Note that this only works for patch 7.4.237 and later, before that you
need to use the example above that checks v:version. Example: >
3. Beyond a certain version or at a certain version and including a specific
patch. The "patch-7.4.248" feature means that the Vim version is 7.5 or
later, or it is version 7.4 and patch 248 was included. Example: >
:if has("patch-7.4.248")
< Note that it's possible for patch 147 to be omitted even though 148 is
included.
< Note that it's possible for patch 248 to be omitted even though 249 is
included. Only happens when cherry-picking patches.
Note that this form only works for patch 7.4.237 and later, before that
you need to check for the patch and the v:version. Example (checking
version 6.2.148 or later): >
:if v:version > 602 || (v:version == 602 && has("patch148"))
Hint: To find out if Vim supports backslashes in a file name (MS-Windows),
use: `if exists('+shellslash')`
@ -8950,8 +9249,12 @@ persistent_undo Compiled with support for persistent undo history.
postscript Compiled with PostScript file printing.
printer Compiled with |:hardcopy| support.
profile Compiled with |:profile| support.
python Compiled with Python 2.x interface. |has-python|
python3 Compiled with Python 3.x interface. |has-python|
python Python 2.x interface available. |has-python|
python_compiled Compiled with Python 2.x interface. |has-python|
python_dynamic Python 2.x interface is dynamically loaded. |has-python|
python3 Python 3.x interface available. |has-python|
python3_compiled Compiled with Python 3.x interface. |has-python|
python3_dynamic Python 3.x interface is dynamically loaded. |has-python|
pythonx Compiled with |python_x| interface. |has-pythonx|
qnx QNX version of Vim.
quickfix Compiled with |quickfix| support.
@ -8993,6 +9296,8 @@ ttyout output is a terminal (tty)
unix Unix version of Vim. *+unix*
unnamedplus Compiled with support for "unnamedplus" in 'clipboard'
user_commands User-defined commands.
vcon Win32: Virtual console support is working, can use
'termguicolors'. Also see |+vtp|.
vertsplit Compiled with vertically split windows |:vsplit|.
vim_starting True while initial source'ing takes place. |startup|
*vim_starting*
@ -9003,6 +9308,8 @@ visualextra Compiled with extra Visual mode commands.
|blockwise-operators|.
vms VMS version of Vim.
vreplace Compiled with |gR| and |gr| commands.
vtp Compiled for vcon support |+vtp| (check vcon to find
out if it works in the current console).
wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option.
win32 Win32 version of Vim (MS-Windows 95 and later, 32 or
@ -9241,8 +9548,7 @@ may be larger.
It is also possible to define a function without any arguments. You must
still supply the () then.
It is allowed to define another function inside a function
body.
It is allowed to define another function inside a function body.
*local-variables*
Inside a function local variables can be used. These will disappear when the
@ -9625,6 +9931,14 @@ This does NOT work: >
variables are automatically deleted when the function
ends.
:unl[et] ${env-name} ... *:unlet-environment* *:unlet-$*
Remove environment variable {env-name}.
Can mix {name} and ${env-name} in one :unlet command.
No error message is given for a non-existing
variable, also without !.
If the system does not support deleting an environment
variable, it is made emtpy.
:lockv[ar][!] [depth] {name} ... *:lockvar* *:lockv*
Lock the internal variable {name}. Locking means that
it can no longer be changed (until it is unlocked).

View File

@ -1,4 +1,4 @@
*farsi.txt* For Vim version 8.0. Last change: 2015 Aug 29
*farsi.txt* For Vim version 8.1. Last change: 2015 Aug 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.0. Last change: 2017 Oct 10
*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -319,6 +319,10 @@ then Vim will load all plugins in these directories and below:
Note that the last one is the value of $VIMRUNTIME which has been expanded.
Note that when using a plugin manager or |packages| many directories will be
added to 'runtimepath'. These plugins earch require their own directory,
don't put them directly in ~/.vim/plugin.
What if it looks like your plugin is not being loaded? You can find out what
happens when Vim starts up by using the |-V| argument: >
@ -602,51 +606,17 @@ MANPAGER *manpager.vim*
The :Man command allows you to turn Vim into a manpager (that syntax highlights
manpages and follows linked manpages on hitting CTRL-]).
Tested on:
- Linux
- Mac OS
- FreeBSD
- OpenBSD
- Cygwin
- Win 10 under Bash
Untested:
- Amiga OS
- BeOS
- OS/2
If man sets the $MAN_PN environment variable, like man-db, the most common
implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim
manpager does not correctly recognize manpages whose title contains a capital
letter. See the discussion on
https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
export MANPAGER="vim -M +MANPAGER -"
For (t)csh, add to the config file
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
setenv MANPAGER "vim -M +MANPAGER -"
For fish, add to the config file
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
On OpenBSD:
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
If you experience still issues on manpages whose titles do not contain capital
letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
https://github.com/vim/vim/issues/1002
set -x MANPAGER "vim -M +MANPAGER -"
PDF *ft-pdf-plugin*
@ -669,7 +639,7 @@ By default the following options are set, in accordance with PEP8: >
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
To disable this behaviour, set the following variable in your vimrc: >
let g:python_recommended_style = 0
@ -706,4 +676,23 @@ You can change the default by defining the variable g:tex_flavor to the format
Currently no other formats are recognized.
VIM *ft-vim-plugin*
The Vim filetype plugin defines mappings to move to the start and end of
functions with [[ and ]]. Move around comments with ]" and [".
The mappings can be disabled with: >
let g:no_vim_maps = 1
ZIMBU *ft-zimbu-plugin*
The Zimbu filetype plugin defines mappings to move to the start and end of
functions with [[ and ]].
The mappings can be disabled with: >
let g:no_zimbu_maps = 1
<
vim:tw=78:ts=8:ft=help:norl:

View File

@ -1,4 +1,4 @@
*fold.txt* For Vim version 8.0. Last change: 2017 Mar 18
*fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar

View File

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

View File

@ -1,4 +1,4 @@
*ft_sql.txt* For Vim version 8.0. Last change: 2013 May 15
*ft_sql.txt* For Vim version 8.1. Last change: 2013 May 15
by David Fishburn

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
*gui.txt* For Vim version 8.1. Last change: 2018 Mar 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -134,7 +134,7 @@ task bar with the 'guiheadroom' option.
:winp[os]
Display current position of the top left corner of the GUI vim
window in pixels. Does not work in all versions.
Also see |getwinposx()| and |getwinposy()|.
Also see |getwinpos()|, |getwinposx()| and |getwinposy()|.
:winp[os] {X} {Y} *E466*
Put the GUI vim window at the given {X} and {Y} coordinates.
@ -992,10 +992,14 @@ it behaves in a strange way.
:popu[p] {name} Popup the menu {name}. The menu named must
have at least one subentry, but need not
appear on the menu-bar (see |hidden-menus|).
{only available for Win32 and GTK GUI}
{only available for Win32 and GTK GUI or in
the terminal when compiled with +insert_expand}
:popu[p]! {name} Like above, but use the position of the mouse
pointer instead of the cursor.
In the terminal this is the last known
position, which is usually at the last click
or release (mouse movement is irrelevalt).
Example: >
:popup File
@ -1006,6 +1010,10 @@ pointer if ! was used). >
:popup ]Toolbar
This creates a popup menu that doesn't exist on the main menu-bar.
Note that in the GUI the :popup command will return immediately, before a
selection has been made. In the terminal the commands waits for the user to
make a selection.
Note that a menu that starts with ']' will not be displayed.
==============================================================================

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.0. Last change: 2017 Oct 27
*gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.0. Last change: 2017 Jul 28
*gui_x11.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -53,6 +53,9 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
":gui -b".
"gvim --nofork" does the same as "gvim -f".
When there are running jobs Vim will not fork, because the processes would no
longer be child processes.
*E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal.

View File

@ -1,4 +1,4 @@
*hangulin.txt* For Vim version 8.0. Last change: 2015 Nov 24
*hangulin.txt* For Vim version 8.1. Last change: 2015 Nov 24
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam

View File

@ -1,4 +1,4 @@
*hebrew.txt* For Vim version 8.0. Last change: 2007 Jun 14
*hebrew.txt* For Vim version 8.1. Last change: 2007 Jun 14
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)

View File

@ -1,4 +1,4 @@
*help.txt* For Vim version 8.0. Last change: 2017 Oct 28
*help.txt* For Vim version 8.1. Last change: 2017 Oct 28
VIM - main help file
k

View File

@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 8.0. Last change: 2017 Mar 19
*helphelp.txt* For Vim version 8.1. Last change: 2017 Mar 19
VIM REFERENCE MANUAL by Bram Moolenaar

View File

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

View File

@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
*if_cscop.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Andy Kahn
@ -468,36 +468,18 @@ license or OS distribution), then you can download it for free from:
http://cscope.sourceforge.net/
This is released by SCO under the BSD license.
If you want a newer version of cscope, you will probably have to buy it.
According to the (old) nvi documentation:
You can buy version 13.3 source with an unrestricted license
for $400 from AT&T Software Solutions by calling +1-800-462-8146.
Also you can download cscope 13.x and mlcscope 14.x (multi-lingual cscope
which supports C, C++, Java, lex, yacc, breakpoint listing, Ingres, and SDL)
from World-Wide Exptools Open Source packages page:
http://www.bell-labs.com/project/wwexptools/packages.html
In Solaris 2.x, if you have the C compiler license, you will also have
cscope. Both are usually located under /opt/SUNWspro/bin
SGI developers can also get it. Search for Cscope on this page:
http://freeware.sgi.com/index-by-alpha.html
https://toolbox.sgi.com/toolbox/utilities/cscope/
The second one is for those who have a password for the SGI toolbox.
There is source to an older version of a cscope clone (called "cs") available
on the net. Due to various reasons, this is not supported with Vim.
The cscope interface/support for Vim was originally written by
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
bit of code) was adapted from the cscope interface in nvi. Please report
any problems, suggestions, patches, et al., you have for the usage of
cscope within Vim to him.
bit of code) was adapted from the cscope interface in nvi.
*cscope-win32*
For a cscope version for Win32 see:
http://code.google.com/p/cscope-win32/
For a cscope version for Win32 see (seems abandoned):
https://code.google.com/archive/p/cscope-win32/
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
him if you have Win32-specific issues.

View File

@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 8.0. Last change: 2015 Oct 16
*if_lua.txt* For Vim version 8.1. Last change: 2015 Oct 16
VIM REFERENCE MANUAL by Luis Carvalho

View File

@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
*if_mzsch.txt* For Vim version 8.1. Last change: 2017 Oct 08
VIM REFERENCE MANUAL by Sergey Khorev

View File

@ -1,4 +1,4 @@
*if_ole.txt* For Vim version 8.0. Last change: 2008 Aug 16
*if_ole.txt* For Vim version 8.1. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore

View File

@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 8.0. Last change: 2015 Oct 16
*if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24
VIM REFERENCE MANUAL by Sven Verdoolaege
@ -112,7 +112,7 @@ possible.
Here is an overview of the functions that are available to Perl: >
:perl VIM::Msg("Text") # displays a message
:perl VIM::Msg("Error", "ErrorMsg") # displays an error message
:perl VIM::Msg("Wrong!", "ErrorMsg") # displays an error message
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
:perl VIM::SetOption("ai") # sets a vim option
:perl $nbuf = VIM::Buffers() # returns the number of buffers

View File

@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Nov 09
*if_pyth.txt* For Vim version 8.1. Last change: 2018 Jan 30
VIM REFERENCE MANUAL by Paul Moore
@ -736,8 +736,8 @@ or 'pythonthreedll' option can be also used to specify the Python DLL.
The name of the DLL should match the Python version Vim was compiled with.
Currently the name for Python 2 is "python27.dll", that is for Python 2.7.
That is the default value for 'pythondll'. For Python 3 it is python35.dll
(Python 3.5). To know for sure edit "gvim.exe" and search for
That is the default value for 'pythondll'. For Python 3 it is python36.dll
(Python 3.6). To know for sure edit "gvim.exe" and search for
"python\d*.dll\c".
@ -809,7 +809,8 @@ Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
You can test what Python version is available with: >
if has('python')
echo 'there is Python 2.x'
elseif has('python3')
endif
if has('python3')
echo 'there is Python 3.x'
endif
@ -818,6 +819,24 @@ dynamically, these has() calls will try to load them. If only one can be
loaded at a time, just checking if Python 2 or 3 are available will prevent
the other one from being available.
To avoid loading the dynamic library, only check if Vim was compiled with
python support: >
if has('python_compiled')
echo 'compiled with Python 2.x support'
if has('python_dynamic')
echo 'Python 2.x dynamically loaded'
endif
endif
if has('python3_compiled')
echo 'compiled with Python 3.x support'
if has('python3_dynamic')
echo 'Python 3.x dynamically loaded'
endif
endif
This also tells you whether Python is dynamically loaded, which will fail if
the runtime library cannot be found.
==============================================================================
11. Python X *python_x* *pythonx*

View File

@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 8.0. Last change: 2016 Sep 01
*if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15
VIM REFERENCE MANUAL by Shugo Maeda
@ -221,6 +221,9 @@ for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
some tricks. See the src/INSTALLpc.txt for detail.
If Vim is built with RubyInstaller 2.4 or later, you may also need to add
"C:\Ruby<version>\bin\ruby_builtin_dlls" to the PATH environment variable.
Unix ~

View File

@ -1,4 +1,4 @@
*if_sniff.txt* For Vim version 8.0. Last change: 2016 Feb 27
*if_sniff.txt* For Vim version 8.1. Last change: 2016 Feb 27
VIM REFERENCE MANUAL

View File

@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 8.0. Last change: 2016 Jan 01
*if_tcl.txt* For Vim version 8.1. Last change: 2016 Jan 01
VIM REFERENCE MANUAL by Ingo Wilken

View File

@ -1,4 +1,4 @@
*indent.txt* For Vim version 8.0. Last change: 2014 Dec 06
*indent.txt* For Vim version 8.1. Last change: 2018 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -414,10 +414,10 @@ The examples below assume a 'shiftwidth' of 4.
*cino-(*
(N When in unclosed parentheses, indent N characters from the line
with the unclosed parentheses. Add a 'shiftwidth' for every
unclosed parentheses. When N is 0 or the unclosed parentheses
is the first non-white character in its line, line up with the
next non-white character after the unclosed parentheses.
(default 'shiftwidth' * 2).
extra unclosed parentheses. When N is 0 or the unclosed
parentheses is the first non-white character in its line, line
up with the next non-white character after the unclosed
parentheses. (default 'shiftwidth' * 2).
cino= cino=(0 >
if (c1 && (c2 || if (c1 && (c2 ||
@ -428,7 +428,8 @@ The examples below assume a 'shiftwidth' of 4.
{ {
<
*cino-u*
uN Same as (N, but for one level deeper. (default 'shiftwidth').
uN Same as (N, but for one nesting level deeper.
(default 'shiftwidth').
cino= cino=u2 >
if (c123456789 if (c123456789

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 8.0. Last change: 2017 Aug 02
*index.txt* For Vim version 8.1. Last change: 2018 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@ -959,7 +959,7 @@ tag command note action in Visual mode ~
|v_i{| i{ same as iB
|v_i}| i} same as iB
|v_o| o move cursor to other corner of area
|v_r| r 2 delete highlighted area and start insert
|v_r| r 2 replace highlighted area with a character
|v_s| s 2 delete highlighted area and start insert
|v_u| u 2 make highlighted area lowercase
|v_v| v make Visual mode characterwise or stop

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
*insert.txt* For Vim version 8.1. Last change: 2018 Feb 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -433,7 +433,7 @@ An example for using CTRL-G U: >
inoremap ( ()<C-G>U<Left>
This makes it possible to use the cursor keys in Insert mode, without breaking
the undo sequence and therefore using |.| (redo) will work as expected.
the undo sequence and therefore using |.| (redo) will work as expected.
Also entering a text like (with the "(" mapping from above): >
Lorem ipsum (dolor
@ -1103,6 +1103,8 @@ items:
item with the same word is already present.
empty when non-zero this match will be added even when it is
an empty string
user_data custom data which is associated with the item and
available in |v:completed_item|
All of these except "icase", "dup" and "empty" must be a string. If an item
does not meet these requirements then an error message is given and further
@ -1196,6 +1198,8 @@ The menu is used when:
The 'pumheight' option can be used to set a maximum height. The default is to
use all space available.
The 'pumwidth' option can be used to set a minimum width. The default is 15
characters.
There are three states:
1. A complete match has been inserted, e.g., after using CTRL-N or CTRL-P.
@ -1296,7 +1300,8 @@ it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
For version 5.5.4 you should add a patch that adds the "typename:" field:
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
A compiled .exe for MS-Windows can be found at:
http://georgevreilly.com/vim/ctags.html
http://ctags.sourceforge.net/
https://github.com/universal-ctags/ctags-win32
If you want to complete system functions you can do something like this. Use
ctags to generate a tags file for all the system header files: >
@ -1472,7 +1477,7 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
Notes:
- Vim will load/evaluate code in order to provide completions. This may
cause some code execution, which may be a concern. This is no longer
cause some code execution, which may be a concern. This is no longer
enabled by default, to enable this feature add >
let g:rubycomplete_buffer_loading = 1
<- In context 1 above, Vim can parse the entire buffer to add a list of
@ -1528,15 +1533,15 @@ that begin with the filetype, "php", in this case. For example these syntax
groups are included by default with the PHP: phpEnvVar, phpIntVar,
phpFunctions.
If you wish non-filetype syntax items to also be included, you can use a
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
to add items. Looking at the output from ":syntax list" while editing a PHP file
I can see some of these entries: >
If you wish non-filetype syntax items to also be included, you can use a
regular expression syntax (added in version 13.0 of
autoload\syntaxcomplete.vim) to add items. Looking at the output from
":syntax list" while editing a PHP file I can see some of these entries: >
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
file, you can use 3 different regexs, one for each language. Or you can
simply restrict the include groups to a particular value, without using
file, you can use 3 different regexs, one for each language. Or you can
simply restrict the include groups to a particular value, without using
a regex string: >
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
@ -1549,9 +1554,9 @@ highlight. These items will be available within the omni completion list.
Some people may find this list unwieldy or are only interested in certain
items. There are two ways to prune this list (if necessary). If you find
certain syntax groups you do not wish displayed you can use two different
methods to identify these groups. The first specifically lists the syntax
groups by name. The second uses a regular expression to identify both
certain syntax groups you do not wish displayed you can use two different
methods to identify these groups. The first specifically lists the syntax
groups by name. The second uses a regular expression to identify both
syntax groups. Simply add one the following to your vimrc: >
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
@ -1574,22 +1579,22 @@ vimrc: >
For plugin developers, the plugin exposes a public function OmniSyntaxList.
This function can be used to request a List of syntax items. When editing a
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
various groups and syntax items. For example: >
syntax list
syntax list
Yields data similar to this: >
sqlOperator xxx some prior all like and any escape exists in is not
or intersect minus between distinct
links to Operator
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier
date money long tinyint unsigned xml text smalldate
double datetime nchar smallint numeric time bit char
varbinary binary smallmoney
image float integer timestamp real decimal
Yields data similar to this:
sqlOperator xxx some prior all like and any escape exists in is not ~
or intersect minus between distinct ~
links to Operator ~
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier ~
date money long tinyint unsigned xml text smalldate ~
double datetime nchar smallint numeric time bit char ~
varbinary binary smallmoney ~
image float integer timestamp real decimal ~
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
a List of syntax items you can call OmniSyntaxList a number of different
a List of syntax items you can call OmniSyntaxList a number of different
ways. To retrieve all syntax items regardless of syntax group: >
echo OmniSyntaxList( [] )
@ -1606,7 +1611,6 @@ From within a plugin, you would typically assign the output to a List: >
let myKeywords = []
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
SQL *ft-sql-omni*

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.0. Last change: 2017 Sep 04
*intro.txt* For Vim version 8.1. Last change: 2018 Jan 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -138,7 +138,7 @@ There are two ways to report bugs, both work:
see the message. If you don't want that, e.g. because it is a security
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
(that's Bram).
2. Open issue on GitHub: https://github.com/vim/vim/issues
2. Open an issue on GitHub: https://github.com/vim/vim/issues
The text will be forwarded to the vim-dev maillist.
Please be brief; all the time that is spent on answering mail is subtracted

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
*map.txt* For Vim version 8.1. Last change: 2018 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -542,9 +542,9 @@ scenario: >
:imap <M-C> foo
:set encoding=utf-8
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
byte. If you type the character <EFBFBD> (0xe1 <M-a>) in UTF-8 encoding this is the
byte. If you type the character á (0xe1 <M-a>) in UTF-8 encoding this is the
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or
otherwise it would be impossible to type the <EFBFBD> character.
otherwise it would be impossible to type the á character.
*<Leader>* *mapleader*
To define a mapping which uses the "mapleader" variable, the special string
@ -917,7 +917,9 @@ an additional rule:
full-id In front of the match is a non-keyword character, or this is where
the line or insertion starts. Exception: When the abbreviation is
only one character, it is not recognized if there is a non-keyword
character in front of it, other than a space or a tab.
character in front of it, other than a space or a tab. However, for
the command line "'<,'>" (or any other marks) is ignored, as if the
command line starts after it.
end-id In front of the match is a keyword character, or a space or a tab,
or this is where the line or insertion starts.
@ -1272,6 +1274,7 @@ By default, the arguments of user defined commands do not undergo completion.
However, by specifying one or the other of the following attributes, argument
completion can be enabled:
-complete=arglist file names in argument list
-complete=augroup autocmd groups
-complete=buffer buffer names
-complete=behave :behave suboptions

View File

@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 8.0. Last change: 2016 Jul 21
*mbyte.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@ -26,8 +26,9 @@ For changing the language of messages and menus see |mlang.txt|.
7. Input on X11 |mbyte-XIM|
8. Input on MS-Windows |mbyte-IME|
9. Input with a keymap |mbyte-keymap|
10. Using UTF-8 |mbyte-utf8|
11. Overview of options |mbyte-options|
10. Input with imactivatefunc() |mbyte-func|
11. Using UTF-8 |mbyte-utf8|
12. Overview of options |mbyte-options|
NOTE: This file contains UTF-8 characters. These may show up as strange
characters or boxes when using another encoding.
@ -1254,7 +1255,35 @@ Combining forms:
ﭏ 0xfb4f Xal alef-lamed
==============================================================================
10. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
10. Input with imactivatefunc() *mbyte-func*
Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
activate/deactivate the input method from Vim in any way, also with an external
command. For example, fcitx provide fcitx-remote command: >
set iminsert=2
set imsearch=2
set imcmdline
set imactivatefunc=ImActivate
function! ImActivate(active)
if a:active
call system('fcitx-remote -o')
else
call system('fcitx-remote -c')
endif
endfunction
set imstatusfunc=ImStatus
function! ImStatus()
return system('fcitx-remote')[0] is# '2'
endfunction
Using this script, you can activate/deactivate XIM via Vim even when it is not
compiled with |+xim|.
==============================================================================
11. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
*Unicode* *unicode*
The Unicode character set was designed to include all characters from other
character sets. Therefore it is possible to write text in any language using
@ -1402,7 +1431,7 @@ not everybody is able to type a composing character.
==============================================================================
11. Overview of options *mbyte-options*
12. Overview of options *mbyte-options*
These options are relevant for editing multi-byte files. Check the help in
options.txt for detailed information.

View File

@ -1,4 +1,4 @@
*message.txt* For Vim version 8.0. Last change: 2017 Oct 14
*message.txt* For Vim version 8.1. Last change: 2018 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -76,7 +76,7 @@ See `:messages` above.
LIST OF MESSAGES
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
*E323* *E341* *E473* *E570* *E685* >
*E323* *E341* *E473* *E570* *E685* *E950* >
Add to read buffer
makemap: Illegal mode
Cannot create BalloonEval with both message and callback
@ -97,6 +97,7 @@ LIST OF MESSAGES
Internal error
Internal error: {function}
fatal error in cs_manage_matches
Invalid count for del_bytes(): {N}
This is an internal error. If you can reproduce it, please send in a bug
report. |bugs|

View File

@ -1,4 +1,4 @@
*mlang.txt* For Vim version 8.0. Last change: 2017 Mar 04
*mlang.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -190,8 +190,8 @@ you can do it without restarting Vim: >
:source $VIMRUNTIME/menu.vim
Each part of a menu path is translated separately. The result is that when
"Help" is translated to "Hilfe" and "Overview" to "<EFBFBD>berblick" then
"Help.Overview" will be translated to "Hilfe.<EFBFBD>berblick".
"Help" is translated to "Hilfe" and "Overview" to "Überblick" then
"Help.Overview" will be translated to "Hilfe.Überblick".
==============================================================================
3. Scripts *multilang-scripts*

View File

@ -1,4 +1,4 @@
*motion.txt* For Vim version 8.0. Last change: 2017 Oct 15
*motion.txt* For Vim version 8.1. Last change: 2017 Oct 15
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 8.0. Last change: 2016 Jul 15
*netbeans.txt* For Vim version 8.1. Last change: 2016 Jul 15
VIM REFERENCE MANUAL by Gordon Prieur et al.

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 8.0. Last change: 2017 Nov 18
*options.txt* For Vim version 8.1. Last change: 2018 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -50,7 +50,7 @@ achieve special effects. These options come in three forms:
:se[t] {option}&vi Reset option to its Vi default value. {not in Vi}
:se[t] {option}&vim Reset option to its Vim default value. {not in Vi}
:se[t] all& Set all options to their default value. The values of
:se[t] all& Set all options to their default value. The values of
these options are not changed:
all terminal options, starting with t_
'columns'
@ -402,8 +402,8 @@ Setting the filetype
used to set the option value in, unless this is a help
window, in which case the window below help window is
used (skipping the option-window).
{not available when compiled without the |+eval| or
|+autocmd| features}
{not available when compiled without the |+eval|
feature}
*$HOME*
Using "~" is like using "$HOME", but it is only recognized at the start of an
@ -1087,7 +1087,9 @@ A jump table for the options with a short description can be found at |Q_op|.
< Use 'backupdir' to put the backup in a different directory.
*'backupskip'* *'bsk'*
'backupskip' 'bsk' string (default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
'backupskip' 'bsk' string (default: "$TMPDIR/*,$TMP/*,$TEMP/*"
Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
global
{not in Vi}
{not available when compiled without the |+wildignore|
@ -1325,7 +1327,7 @@ A jump table for the options with a short description can be found at |Q_op|.
characters. It permits dynamic French paragraph
indentation (negative) or emphasizing the line
continuation (positive).
sbr Display the 'showbreak' value before applying the
sbr Display the 'showbreak' value before applying the
additional indent.
The default value for min is 20 and shift is 0.
@ -1385,8 +1387,7 @@ A jump table for the options with a short description can be found at |Q_op|.
written
nowrite buffer which will not be written
acwrite buffer which will always be written with BufWriteCmd
autocommands. {not available when compiled without the
|+autocmd| feature}
autocommands.
quickfix quickfix buffer, contains list of errors |:cwindow|
or list of locations |:lwindow|
help help buffer (you are not supposed to set this
@ -1808,7 +1809,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'copyindent' + off don't copy indent structure
'cpoptions' & (all flags) Vi-compatible flags
'cscopepathcomp'+ 0 don't show directories in tags list
'cscoperelative'+ off
'cscoperelative'+ off don't use basename of path as prefix
'cscopetag' + off don't use cscope for ":tag"
'cscopetagorder'+ 0 see |cscopetagorder|
'cscopeverbose' + off see |cscopeverbose|
@ -2116,7 +2117,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo-E*
E It is an error when using "y", "d", "c", "g~", "gu" or
"gU" on an Empty region. The operators only work when
at least one character is to be operate on. Example:
at least one character is to be operated on. Example:
This makes "y0" fail in the first column.
*cpo-f*
f When included, a ":read" command with a file name
@ -2466,8 +2467,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'cursorbind' 'crb' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+cursorbind|
feature}
When this option is set, as the cursor in the current
window moves other cursorbound windows (windows that also have
this option set) move their cursors to the corresponding line and
@ -2562,8 +2561,11 @@ A jump table for the options with a short description can be found at |Q_op|.
contain a list of words. This can be one word per line, or several
words per line, separated by non-keyword characters (white space is
preferred). Maximum line length is 510 bytes.
When this option is empty, or an entry "spell" is present, spell
checking is enabled the currently active spelling is used. |spell|
When this option is empty or an entry "spell" is present, and spell
checking is enabled, words in the word lists for the currently active
'spelllang' are used. See |spell|.
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
name. See |option-backslash| about using backslashes.
@ -2634,6 +2636,9 @@ A jump table for the options with a short description can be found at |Q_op|.
vertical Start diff mode with vertical splits (unless
explicitly specified otherwise).
hiddenoff Do not use diff mode for a buffer when it
becomes hidden.
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
starting diff mode. Without this 2 is used.
@ -2915,8 +2920,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'eventignore' 'ei' string (default "")
global
{not in Vi}
{not available when compiled without the |+autocmd|
feature}
A list of autocommand event names, which are to be ignored.
When set to "all" or when "all" is one of the items, all autocommand
events are ignored, autocommands will not be executed.
@ -3165,8 +3168,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'filetype' 'ft' string (default: "")
local to buffer
{not in Vi}
{not available when compiled without the |+autocmd|
feature}
When this option is set, the FileType autocommand event is triggered.
All autocommands that match with the value of this option will be
executed. Thus the value of 'filetype' is used in place of the file
@ -3465,7 +3466,7 @@ A jump table for the options with a short description can be found at |Q_op|.
when internal formatting is used. Make sure the cursor is kept in the
same spot relative to the text then! The |mode()| function will
return "i" or "R" in this situation.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
@ -3849,7 +3850,14 @@ A jump table for the options with a short description can be found at |Q_op|.
To avoid problems with flags that are added in the future, use the
"+=" and "-=" feature of ":set" |add-option-flags|.
Valid letters are as follows:
Valid characters are as follows:
*'go-!'*
'!' External commands are executed in a terminal window. Without
this flag the MS-Windows GUI will open a console window to
execute the command. The Unix GUI will simulate a dumb
terminal to list the command output.
The terminal window will be positioned at the bottom, and grow
upwards as needed.
*guioptions_a* *'go-a'*
'a' Autoselect: If present, then whenever VISUAL mode is started,
or the Visual area extended, Vim tries to become the owner of
@ -4256,10 +4264,10 @@ A jump table for the options with a short description can be found at |Q_op|.
'imactivatefunc' 'imaf' string (default "")
global
{not in Vi}
{only available when compiled with |+xim| and
|+GUI_GTK|}
{only available when compiled with |+mbyte|}
This option specifies a function that will be called to
activate/inactivate Input Method.
activate or deactivate the Input Method.
It is not used in the GUI.
Example: >
function ImActivateFunc(active)
@ -4308,8 +4316,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'imcmdline' 'imc' boolean (default off)
global
{not in Vi}
{only available when compiled with the |+xim|,
|+multi_byte_ime| or |global-ime| features}
{only available when compiled with |+mbyte|}
When set the Input Method is always on when starting to edit a command
line, unless entering a search pattern (see 'imsearch' for that).
Setting this option is useful when your input method allows entering
@ -4320,8 +4327,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
global
{not in Vi}
{only available when compiled with the |+xim|,
|+multi_byte_ime| or |global-ime| features}
{only available when compiled with |+mbyte|}
When set the Input Method is never used. This is useful to disable
the IM when it doesn't work properly.
Currently this option is on by default for SGI/IRIX machines. This
@ -4336,8 +4342,6 @@ A jump table for the options with a short description can be found at |Q_op|.
0 :lmap is off and IM is off
1 :lmap is ON and IM is off
2 :lmap is off and IM is ON
2 is available only when compiled with the |+multi_byte_ime|, |+xim|
or |global-ime|.
To always reset the option to zero when leaving Insert mode with <Esc>
this can be used: >
:inoremap <ESC> <ESC>:set iminsert=0<CR>
@ -4350,6 +4354,10 @@ A jump table for the options with a short description can be found at |Q_op|.
The value 0 may not work correctly with Athena and Motif with some XIM
methods. Use 'imdisable' to disable XIM then.
You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM
via external command if vim is not compiled with the |+xim|,
|+multi_byte_ime| or |global-ime|.
*'imsearch'* *'ims'*
'imsearch' 'ims' number (default -1)
local to buffer
@ -4372,10 +4380,10 @@ A jump table for the options with a short description can be found at |Q_op|.
'imstatusfunc' 'imsf' string (default "")
global
{not in Vi}
{only available when compiled with |+xim| and
|+GUI_GTK|}
{only available when compiled with |+mbyte|}
This option specifies a function that is called to obtain the status
of Input Method. It must return a positive number when IME is active.
It is not used in the GUI.
Example: >
function ImStatusFunc()
@ -4464,8 +4472,8 @@ A jump table for the options with a short description can be found at |Q_op|.
match may not be found. This is to avoid that Vim hangs while you
are typing the pattern.
The highlighting can be set with the 'i' flag in 'highlight'.
When 'hlsearch' is on, all matched strings are highlighted too while typing
a search command. See also: 'hlsearch'.
When 'hlsearch' is on, all matched strings are highlighted too while
typing a search command. See also: 'hlsearch'.
If you don't want turn 'hlsearch' on, but want to highlight all matches
while searching, you can turn on and off 'hlsearch' with autocmd.
Example: >
@ -5111,8 +5119,8 @@ A jump table for the options with a short description can be found at |Q_op|.
global or local to buffer |global-local|
{not in Vi}
Program to use for the ":make" command. See |:make_makeprg|.
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
which are expanded to the current and alternate file name. Use |::S|
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
which are expanded to the current and alternate file name. Use |::S|
to escape file names in case they contain special characters.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
@ -5200,8 +5208,11 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Maximum amount of memory (in Kbyte) to use for one buffer. When this
limit is reached allocating extra memory for a buffer will cause
other memory to be freed. The maximum usable value is about 2000000.
Use this to work without a limit. Also see 'maxmemtot'.
other memory to be freed.
The maximum usable value is about 2000000. Use this to work without a
limit.
The value is ignored when 'swapfile' is off.
Also see 'maxmemtot'.
*'maxmempattern'* *'mmp'*
'maxmempattern' 'mmp' number (default 1000)
@ -5230,6 +5241,8 @@ A jump table for the options with a short description can be found at |Q_op|.
need more than 2 Gbyte for text editing? Keep in mind that text is
stored in the swap file, one can edit files > 2 Gbyte anyway. We do
need the memory to store undo info.
Buffers with 'swapfile' off still count to the total amount of memory
used.
Also see 'maxmem'.
*'menuitems'* *'mis'*
@ -5326,6 +5339,8 @@ A jump table for the options with a short description can be found at |Q_op|.
an explanation.
When 'buftype' is "nowrite" or "nofile" this option may be set, but
will be ignored.
Note that the text may actually be the same, e.g. 'modified' is set
when using "rA" on an "A".
*'more'* *'nomore'*
'more' boolean (Vim default: on, Vi default: off)
@ -5414,6 +5429,8 @@ A jump table for the options with a short description can be found at |Q_op|.
In the "popup" model the right mouse button produces a pop-up menu.
You need to define this first, see |popup-menu|.
In a terminal the popup menu works if Vim is compiled with the
|+insert_expand| option.
Note that you can further refine the meaning of buttons with mappings.
See |gui-mouse-mapping|. But mappings are NOT used for modeless
@ -5746,11 +5763,11 @@ A jump table for the options with a short description can be found at |Q_op|.
copy of the original file will be kept. The name of the copy is the
name of the original file with the string in the 'patchmode' option
appended. This option should start with a dot. Use a string like
".org". 'backupdir' must not be empty for this to work (Detail: The
backup file is renamed to the patchmode file after the new file has
been successfully written, that's why it must be possible to write a
backup file). If there was no file to be backed up, an empty file is
created.
".orig" or ".org". 'backupdir' must not be empty for this to work
(Detail: The backup file is renamed to the patchmode file after the
new file has been successfully written, that's why it must be possible
to write a backup file). If there was no file to be backed up, an
empty file is created.
When the 'backupskip' pattern matches, a patchmode file is not made.
Using 'patchmode' for compressed files appends the extension at the
end (e.g., "file.gz.orig"), thus the resulting name isn't always
@ -5952,6 +5969,15 @@ A jump table for the options with a short description can be found at |Q_op|.
Insert mode completion. When zero as much space as available is used.
|ins-completion-menu|.
*'pumwidth'* *'pw'*
'pumwidth' 'pw' number (default 15)
global
{not available when compiled without the
|+insert_expand| feature}
{not in Vi}
Determines the minimum width to use for the popup menu for Insert mode
completion. |ins-completion-menu|.
*'pythondll'*
'pythondll' string (default depends on the build)
global
@ -5962,6 +5988,20 @@ A jump table for the options with a short description can be found at |Q_op|.
DYNAMIC_PYTHON_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'pythonhome'*
'pythonhome' string (default "")
global
{not in Vi}
{only available when compiled with the |+python/dyn|
feature}
Specifies the name of the Python 2.x home directory. When 'pythonhome'
and the PYTHONHOME environment variable are not set, PYTHON_HOME,
which was specified at compile time, will be used for the Python 2.x
home directory.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'pythonthreedll'*
@ -5974,6 +6014,20 @@ A jump table for the options with a short description can be found at |Q_op|.
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'pythonthreehome'*
'pythonthreehome' string (default "")
global
{not in Vi}
{only available when compiled with the |+python3/dyn|
feature}
Specifies the name of the Python 3 home directory. When
'pythonthreehome' and the PYTHONHOME environment variable are not set,
PYTHON3_HOME, which was specified at compile time, will be used for
the Python 3 home directory.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'pyxversion'* *'pyx'*
@ -6033,7 +6087,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with the |+reltime|
feature}
The time in milliseconds for redrawing the display. This applies to
searching for patterns for 'hlsearch', |:match| highlighting an syntax
searching for patterns for 'hlsearch', |:match| highlighting and syntax
highlighting.
When redrawing takes more than this many milliseconds no further
matches will be highlighted.
@ -6077,7 +6131,7 @@ A jump table for the options with a short description can be found at |Q_op|.
characters are put before the number.
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
the number.
The number in front of the cursor line also depends on the value of
'number', see |number_relativenumber| for all combinations of the two
options.
@ -6119,9 +6173,10 @@ A jump table for the options with a short description can be found at |Q_op|.
geom pixelGeometry int 0 - 2 (see below)
renmode renderingMode int 0 - 6 (see below)
taamode textAntialiasMode int 0 - 3 (see below)
scrlines Scroll Lines int (deprecated)
See this URL for detail:
http://msdn.microsoft.com/en-us/library/dd368190.aspx
See this URL for detail (except for scrlines):
https://msdn.microsoft.com/en-us/library/dd368190.aspx
For geom: structure of a device pixel.
0 - DWRITE_PIXEL_GEOMETRY_FLAT
@ -6129,7 +6184,7 @@ A jump table for the options with a short description can be found at |Q_op|.
2 - DWRITE_PIXEL_GEOMETRY_BGR
See this URL for detail:
http://msdn.microsoft.com/en-us/library/dd368114.aspx
https://msdn.microsoft.com/en-us/library/dd368114.aspx
For renmode: method of rendering glyphs.
0 - DWRITE_RENDERING_MODE_DEFAULT
@ -6141,7 +6196,7 @@ A jump table for the options with a short description can be found at |Q_op|.
6 - DWRITE_RENDERING_MODE_OUTLINE
See this URL for detail:
http://msdn.microsoft.com/en-us/library/dd368118.aspx
https://msdn.microsoft.com/en-us/library/dd368118.aspx
For taamode: antialiasing mode used for drawing text.
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
@ -6150,15 +6205,41 @@ A jump table for the options with a short description can be found at |Q_op|.
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
See this URL for detail:
http://msdn.microsoft.com/en-us/library/dd368170.aspx
https://msdn.microsoft.com/en-us/library/dd368170.aspx
For scrlines:
This was used for optimizing scrolling behavior, however this
is now deprecated. If specified, it is simply ignored.
Example: >
set encoding=utf-8
set gfn=Ricty_Diminished:h12:cSHIFTJIS
set gfn=Ricty_Diminished:h12
set rop=type:directx
<
If select a raster font (Courier, Terminal or FixedSys) to
'guifont', it fallbacks to be drawn by GDI automatically.
If select a raster font (Courier, Terminal or FixedSys which
have ".fon" extension in file name) to 'guifont', it will be
drawn by GDI as a fallback.
NOTE: It is known that some fonts and options combination
causes trouble on drawing glyphs.
- 'renmode:5' and 'renmode:6' will not work with some
special made fonts (True-Type fonts which includes only
bitmap glyphs).
- 'taamode:3' will not work with some vector fonts.
NOTE: With this option, you can display colored emoji
(emoticon) in Windows 8.1 or later. To display colored emoji,
there are some conditions which you should notice.
- If your font includes non-colored emoji already, it will
be used.
- If your font doesn't have emoji, the system chooses an
alternative symbol font. On Windows 10, "Segoe UI Emoji"
will be used.
- When this alternative font didn't have fixed width glyph,
emoji might be rendered beyond the bounding box of drawing
cell.
Other render types are currently not supported.
@ -6369,6 +6450,8 @@ A jump table for the options with a short description can be found at |Q_op|.
to find files which replace a distributed runtime files. You can put
a directory after $VIMRUNTIME to find files which add to distributed
runtime files.
When Vim is started with |--clean| the home directory entries are not
included.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@ -6387,8 +6470,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'scrollbind' 'scb' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+scrollbind|
feature}
See also |scroll-binding|. When this option is set, the current
window scrolls as other scrollbind windows (windows that also have
this option set) scroll. This option is useful for viewing the
@ -6426,8 +6507,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'scrollopt'* *'sbo'*
'scrollopt' 'sbo' string (default "ver,jump")
global
{not available when compiled without the |+scrollbind|
feature}
{not in Vi}
This is a comma-separated list of words that specifies how
'scrollbind' windows should behave. 'sbo' stands for ScrollBind
@ -6517,7 +6596,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'sessionoptions'* *'ssop'*
'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds,
help,options,tabpages,winsize")
help,options,tabpages,winsize,terminal")
global
{not in Vi}
{not available when compiled without the |+mksession|
@ -6549,6 +6628,7 @@ A jump table for the options with a short description can be found at |Q_op|.
tabpages all tab pages; without this only the current tab page
is restored, so that you can make a session for each
tab page separately
terminal include terminal windows where the command can be restored
unix with Unix end-of-line format (single <NL>), even when
on Windows or DOS
winpos position of the whole Vim window
@ -6572,14 +6652,21 @@ A jump table for the options with a short description can be found at |Q_op|.
It is allowed to give an argument to the command, e.g. "csh -f".
See |option-backslash| about including spaces and backslashes.
Environment variables are expanded |:set_env|.
If the name of the shell contains a space, you might need to enclose
it in quotes. Example: >
it in quotes or escape the space. Example with quotes: >
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
< Note the backslash before each quote (to avoid starting a comment) and
each space (to avoid ending the option value). Also note that the
"-f" is not inside the quotes, because it is not part of the command
name. And Vim automagically recognizes the backslashes that are path
name. Vim automagically recognizes the backslashes that are path
separators.
Example with escaped space (Vim will do this when initializing the
option from $SHELL): >
:set shell=/bin/with\\\ space/sh
< The resulting value of 'shell' is "/bin/with\ space/sh", two
backslashes are consumed by `:set`.
Under MS-Windows, when the executable ends in ".com" it must be
included. Thus setting the shell to "command.com" or "4dos.com"
works, but "command" and "4dos" do not work for all commands (e.g.,
@ -7337,7 +7424,6 @@ A jump table for the options with a short description can be found at |Q_op|.
W F Preview window flag, text is ",PRV".
y F Type of file in the buffer, e.g., "[vim]". See 'filetype'.
Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'.
{not available when compiled without |+autocmd| feature}
q S "[Quickfix List]", "[Location List]" or empty.
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
being used: "<keymap>"
@ -7361,7 +7447,9 @@ A jump table for the options with a short description can be found at |Q_op|.
a S Argument list status as in default title. ({current} of {max})
Empty if the argument file count is zero or one.
{ NF Evaluate expression between '%{' and '}' and substitute result.
Note that there is no '%' before the closing '}'.
Note that there is no '%' before the closing '}'. The
expression cannot contain a '}' character, call a function to
work around that.
( - Start of item group. Can be used for setting the width and
alignment of a section. Must be followed by %) somewhere.
) - End of item group. No width fields allowed.
@ -7482,6 +7570,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Also see |swap-file| and |'swapsync'|.
If you want to open a new buffer without creating a swap file for it,
use the |:noswapfile| modifier.
See 'directory' for where the swap file is created.
This option is used together with 'bufhidden' and 'buftype' to
specify special kinds of buffers. See |special-buffers|.
@ -7828,46 +7917,71 @@ A jump table for the options with a short description can be found at |Q_op|.
:set encoding=utf-8
< You need to do this when your system has no locale support for UTF-8.
*'termguicolors'* *'tgc'*
*'termguicolors'* *'tgc'* *E954*
'termguicolors' 'tgc' boolean (default off)
global
{not in Vi}
{not available when compiled without the
|+termguicolors| feature}
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
the terminal (thus using 24-bit color). Requires a ISO-8613-3
compatible terminal.
If setting this option does not work (produces a colorless UI)
reading |xterm-true-color| might help.
the terminal (thus using 24-bit color).
Requires a ISO-8613-3 compatible terminal. If setting this option
does not work (produces a colorless UI) reading |xterm-true-color|
might help.
For Win32 console, Windows 10 version 1703 (Creators Update) or later
is required. Use this check to find out: >
if has('vcon')
< This requires Vim to be built with the |+vtp| feature.
Note that the "cterm" attributes are still used, not the "gui" ones.
NOTE: This option is reset when 'compatible' is set.
*'termkey'* *'tk'*
'termkey' 'tk' string (default "")
*'termwinscroll'* *'twsl'*
'termwinscroll' 'twsl' number (default 10000)
local to buffer
{not in Vi}
{not available when compiled without the
|+terminal| feature}
Number of scrollback lines to keep. When going over this limit the
first 10% of the scrollback lines are deleted. This is just to reduce
the memory usage. See |Terminal-Normal|.
*'termwinkey'* *'twk'*
'termwinkey' 'twk' string (default "")
local to window
{not in Vi}
The key that starts a CTRL-W command in a terminal window. Other keys
are sent to the job running in the window.
The <> notation can be used, e.g.: >
:set termkey=<C-L>
:set termwinkey=<C-L>
< The string must be one key stroke but can be multiple bytes.
When not set CTRL-W is used, so that CTRL-W : gets you to the command
line. If 'termkey' is set to CTRL-L then CTRL-L : gets you to the
line. If 'termwinkey' is set to CTRL-L then CTRL-L : gets you to the
command line.
*'termsize'* *'tms'*
'termsize' 'tms' string (default "")
*'termwinsize'* *'tws'*
'termwinsize' 'tws' string (default "")
local to window
{not in Vi}
Size of the |terminal| window. Format: {rows}x{columns}.
Size of the |terminal| window. Format: {rows}x{columns} or
{rows}*{columns}.
- When empty the terminal gets the size from the window.
- When set (e.g., "24x80") the terminal size is not adjusted to the
window size. If the window is smaller only the top-left part is
displayed.
When rows is zero then use the height of the window.
When columns is zero then use the width of the window.
For example: "30x0" uses 30 rows with the current window width.
Using "0x0" is the same as empty.
- When set with a "x" (e.g., "24x80") the terminal size is not
adjusted to the window size. If the window is smaller only the
top-left part is displayed.
- When set with a "*" (e.g., "10*50") the terminal size follows the
window size, but will not be smaller than the specified rows and/or
columns.
- When rows is zero then use the height of the window.
- When columns is zero then use the width of the window.
- Using "0x0" or "0*0" is the same as empty.
Examples:
"30x0" uses 30 rows and the current window width.
"20*0" uses at least 20 rows and the current window width.
"0*40" uses the current window height and at least 40 columns.
Note that the command running in the terminal window may still change
the size of the terminal. In that case the Vim window will be
adjusted to that size, if possible.
@ -7925,7 +8039,7 @@ A jump table for the options with a short description can be found at |Q_op|.
non-keyword characters (white space is preferred). Maximum line
length is 510 bytes.
To obtain a file to be used here, check out this ftp site:
[Sorry this link doesn't work anymore, do you know the right one?]
[Sorry this link doesn't work anymore, do you know the right one?]
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
@ -8232,7 +8346,7 @@ A jump table for the options with a short description can be found at |Q_op|.
number, more intelligent detection process runs.
The "xterm2" value will be set if the xterm version is reported to be
from 95 to 276. The "sgr" value will be set if the xterm version is
277 or highter and when Vim detects Mac Terminal.app or Iterm2.
277 or higher and when Vim detects Mac Terminal.app or iTerm2.
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
automatically, set t_RV to an empty string: >
:set t_RV=

View File

@ -1,4 +1,4 @@
*os_390.txt* For Vim version 8.0. Last change: 2016 Feb 27
*os_390.txt* For Vim version 8.1. Last change: 2016 Feb 27
VIM REFERENCE MANUAL by Ralf Schandl

View File

@ -1,4 +1,4 @@
*os_amiga.txt* For Vim version 8.0. Last change: 2010 Aug 14
*os_amiga.txt* For Vim version 8.1. Last change: 2010 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_beos.txt* For Vim version 8.0. Last change: 2016 Mar 28
*os_beos.txt* For Vim version 8.1. Last change: 2016 Mar 28
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_dos.txt* For Vim version 8.0. Last change: 2006 Mar 30
*os_dos.txt* For Vim version 8.1. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_mac.txt* For Vim version 8.0. Last change: 2017 Apr 28
*os_mac.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@ -165,7 +165,7 @@ and then run `make` to build Vim. The order of the options doesn't matter.
To make sure at runtime whether or not the darwin feature is compiled in, you
can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
otherwise. For backwards comptibility, you can still use `macunix` instead of
otherwise. For backward compatibility, you can still use `macunix` instead of
`osxdarwin`.
Notable use cases where `--disable-darwin` is turned out to be useful are:

View File

@ -1,4 +1,4 @@
*os_mint.txt* For Vim version 8.0. Last change: 2005 Mar 29
*os_mint.txt* For Vim version 8.1. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff

View File

@ -1,4 +1,4 @@
*os_msdos.txt* For Vim version 8.0. Last change: 2016 Feb 26
*os_msdos.txt* For Vim version 8.1. Last change: 2016 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_os2.txt* For Vim version 8.0. Last change: 2015 Dec 31
*os_os2.txt* For Vim version 8.1. Last change: 2015 Dec 31
VIM REFERENCE MANUAL by Paul Slootman

View File

@ -1,4 +1,4 @@
*os_qnx.txt* For Vim version 8.0. Last change: 2005 Mar 29
*os_qnx.txt* For Vim version 8.1. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Julian Kinraid

View File

@ -1,4 +1,4 @@
*os_risc.txt* For Vim version 8.0. Last change: 2011 May 10
*os_risc.txt* For Vim version 8.1. Last change: 2011 May 10
VIM REFERENCE MANUAL by Thomas Leonard

View File

@ -1,4 +1,4 @@
*os_unix.txt* For Vim version 8.0. Last change: 2005 Mar 29
*os_unix.txt* For Vim version 8.1. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 8.0. Last change: 2014 Aug 29
*os_vms.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL
@ -702,13 +702,13 @@ In a cluster that contains nodes with different architectures like below:
$show cluster
View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
+---------------------------------+
<EFBFBD> SYSTEMS <EFBFBD> MEMBERS <EFBFBD>
+-----------------------+---------<EFBFBD>
<EFBFBD> NODE <EFBFBD> SOFTWARE <EFBFBD> STATUS <EFBFBD>
+--------+--------------+---------<EFBFBD>
<EFBFBD> TOR <EFBFBD> VMS V7.3-2 <EFBFBD> MEMBER <EFBFBD>
<EFBFBD> TITAN2 <EFBFBD> VMS V8.3 <EFBFBD> MEMBER <EFBFBD>
<EFBFBD> ODIN <EFBFBD> VMS V7.3-2 <EFBFBD> MEMBER <EFBFBD>
| SYSTEMS | MEMBERS |
+-----------------------+---------|
| NODE | SOFTWARE | STATUS |
+--------+--------------+---------|
| TOR | VMS V7.3-2 | MEMBER |
| TITAN2 | VMS V8.3 | MEMBER |
| ODIN | VMS V7.3-2 | MEMBER |
+---------------------------------+
It is convenient to have a common VIM directory but execute different

View File

@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 8.0. Last change: 2017 Mar 21
*os_win32.txt* For Vim version 8.1. Last change: 2017 Mar 21
VIM REFERENCE MANUAL by George Reilly

View File

@ -1,4 +1,4 @@
*pattern.txt* For Vim version 8.0. Last change: 2017 Jun 05
*pattern.txt* For Vim version 8.1. Last change: 2018 Mar 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -905,7 +905,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
becomes invalid. Vim doesn't automatically update the matches.
Similar to moving the cursor for "\%#" |/\%#|.
*/\%l* */\%>l* */\%<l*
*/\%l* */\%>l* */\%<l* *E951*
\%23l Matches in a specific line.
\%<23l Matches above a specific line (lower line number).
\%>23l Matches below a specific line (higher line number).
@ -1166,7 +1166,8 @@ x A single character, with no special meaning, matches itself
- Matching with a collection can be slow, because each character in
the text has to be compared with each character in the collection.
Use one of the other atoms above when possible. Example: "\d" is
much faster than "[0-9]" and matches the same characters.
much faster than "[0-9]" and matches the same characters. However,
the new |NFA| regexp engine deals with this better than the old one.
*/\%[]* *E69* *E70* *E369*
\%[] A sequence of optionally matched atoms. This always matches.

View File

@ -1,4 +1,4 @@
*pi_getscript.txt* For Vim version 7.0. Last change: 2017 Aug 01
*pi_getscript.txt* For Vim version 8.1. Last change: 2017 Aug 01
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
<

View File

@ -1,4 +1,4 @@
*pi_gzip.txt* For Vim version 8.0. Last change: 2016 Nov 06
*pi_gzip.txt* For Vim version 8.1. Last change: 2016 Nov 06
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 8.0. Last change: 2017 Nov 03
*pi_netrw.txt* For Vim version 8.1. Last change: 2017 Nov 03
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell

View File

@ -1,4 +1,4 @@
*pi_paren.txt* For Vim version 8.0. Last change: 2013 May 08
*pi_paren.txt* For Vim version 8.1. Last change: 2013 May 08
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*pi_spec.txt* For Vim version 8.0. Last change: 2006 Apr 24
*pi_spec.txt* For Vim version 8.1. Last change: 2006 Apr 24
by Gustavo Niemeyer ~

View File

@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 8.0. Last change: 2013 Apr 17
*pi_tar.txt* For Vim version 8.1. Last change: 2013 Apr 17
+====================+
| Tar File Interface |

View File

@ -1,4 +1,4 @@
*pi_vimball.txt* For Vim version 8.0. Last change: 2016 Apr 11
*pi_vimball.txt* For Vim version 8.1. Last change: 2016 Apr 11
----------------
Vimball Archiver

View File

@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 8.0. Last change: 2016 Sep 13
*pi_zip.txt* For Vim version 8.1. Last change: 2016 Sep 13
+====================+
| Zip File Interface |

View File

@ -1,4 +1,4 @@
*print.txt* For Vim version 8.0. Last change: 2010 Jul 20
*print.txt* For Vim version 8.1. Last change: 2010 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar

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