Compare commits

...

821 Commits

Author SHA1 Message Date
373c65104e patch 8.2.1036: popupwin test fails sometimes
Problem:    Popupwin test fails sometimes.
Solution:   Use WaitForAssert() instead of a sleep.
2020-06-22 19:24:23 +02:00
7633fe595e patch 8.2.1035: setreg() does not always clear the register
Problem:    setreg() does not always clear the register.
Solution:   Clear the register if the dict argument is empty. (Andy Massimino,
            closes #3370)
2020-06-22 19:10:56 +02:00
38041da1c2 patch 8.2.1034: compiler warning for uninitialized variables
Problem:    Compiler warning for uninitialized variables.
Solution:   Add initializations. (John Marriott)
2020-06-21 22:17:18 +02:00
73fef33014 Update runtime files 2020-06-21 22:12:03 +02:00
8d9437968b patch 8.2.1033: not easy to read the test time in the test output
Problem:    Not easy to read the test time in the test output.
Solution:   Align the times.  Make slow tests bold.
2020-06-21 20:39:37 +02:00
7fe875583b patch 8.2.1032: error message for declaring a variable cannot be translated
Problem:    Error message for declaring a variable cannot be translated.
Solution:   Enclose in _().  Make environment variable a separate message.
2020-06-21 20:38:28 +02:00
f5433fbfe4 patch 8.2.1031: build failure with Perl5.32
Problem:    Build failure with Perl5.32.
Solution:   Define a few more functions. (Felix Yan, closes #6310)
2020-06-21 20:06:54 +02:00
da58134eed patch 8.2.1030: reducing size of a terminal window may cause a crash
Problem:    Reducing size of a terminal window may cause a crash.
Solution:   Make sure the row and column don't become negative. (closes #6273)
2020-06-21 17:57:32 +02:00
23c5527373 patch 8.2.1029: Vim9: cannot chain function calls with -> at line start
Problem:    Vim9: cannot chain function calls with -> at line start.
Solution:   Peek ahead for a following line starting with "->". (closes #6306)
2020-06-21 16:58:13 +02:00
e55b1c098d patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Problem:    Vim9: no error for declaring buffer, window, etc. variable.
Solution:   Give an error.  Unify the error messages.
2020-06-21 15:52:59 +02:00
820ffa567c patch 8.2.1027: GUI: multi-byte characters do not work in a terminal
Problem:    GUI: multi-byte characters do not work in a terminal.
Solution:   Do not assume a key is one byte. (closes #6304)
2020-06-21 15:09:14 +02:00
a3b7fdc1bb patch 8.2.1026: Vim9: cannot break the line after "->"
Problem:    Vim9: cannot break the line after "->".
Solution:   Check for a continuation line after "->", "[" and ".".  Ignore
            trailing white space.
2020-06-21 14:12:17 +02:00
8c524f76eb patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Problem:    Tabpage menu and tabline not sufficiently tested.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6307)
2020-06-21 13:23:45 +02:00
6797966dfc patch 8.2.1024: Vim9: no error for using "let g:var = val"
Problem:    Vim9: no error for using "let g:var = val".
Solution:   Add an error.
2020-06-20 22:50:47 +02:00
0cb5bcf583 patch 8.2.1023: Vim9: redefining a function uses a new index every time
Problem:    Vim9: redefining a function uses a new index every time.
Solution:   When redefining a function clear the contents and re-use the
            index.
2020-06-20 18:19:09 +02:00
845e0ee594 patch 8.2.1022: various parts of code not covered by tests
Problem:    Various parts of code not covered by tests.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6300)
2020-06-20 16:05:32 +02:00
a190548e91 patch 8.2.1021: Ruby interface not tested enough
Problem:    Ruby interface not tested enough.
Solution:   Add a couple more tests. (Dominique Pellé, closes #6301)
2020-06-20 16:00:25 +02:00
b326edf5b3 patch 8.2.1020: popupwin test fails in the GUI
Problem:    Popupwin test fails in the GUI.
Solution:   Send GUI byte sequence for <C-S-a>.
2020-06-20 15:03:38 +02:00
ef6746f637 patch 8.2.1019: mapping <M-S-a> does not work in the GUI
Problem:    Mapping <M-S-a> does not work in the GUI.
Solution:   Move the logic to remove the shift modifier to
            may_remove_shift_modifier() and also use it in the GUI.
2020-06-20 14:43:23 +02:00
280b0dc815 patch 8.2.1018: typo in enum value
Problem:    Typo in enum value. (James McCoy)
Solution:   Fix the typo.
2020-06-20 13:29:03 +02:00
1089374130 patch 8.2.1017: Appveyor output doesn't show MinGW console features
Problem:    Appveyor output doesn't show MinGW console features.
Solution:   List the features of the console build.
2020-06-19 22:37:47 +02:00
7e380030c1 patch 8.2.1016: Vim9: test fails when channel feature is missing
Problem:    Vim9: test fails when channel feature is missing.
Solution:   Process an :if command when skipping
2020-06-19 22:35:44 +02:00
20298ce679 patch 8.2.1015: popup filter gets key with modifier prepended
Problem:    Popup filter gets key with modifier prepended when using
            modifyOtherKeys.
Solution:   Remove the shift modifier when it is included in the key, also
            when the Alt or Meta modifier is used.
2020-06-19 21:46:52 +02:00
1e0b7b11db patch 8.2.1014: using "name" for a string result is confusing
Problem:    Using "name" for a string result is confusing.
Solution:   Rename to "end".
2020-06-19 19:30:53 +02:00
ec9b017b87 patch 8.2.1013: channel tests can be a bit flaky
Problem:    Channel tests can be a bit flaky.
Solution:   Set the g:test_is_flaky flag in SetUp().
2020-06-19 19:10:59 +02:00
3b74b6b4bb patch 8.2.1012: Vim9: cannot declare single character script variables
Problem:    Vim9: cannot declare single character script variables.
Solution:   Don't see "b:", "s:", etc. as namespace.  Fix item size of
            sn_var_vals.
2020-06-19 19:01:43 +02:00
c785b9a7f4 patch 8.2.1011: Vim9: some code not tested
Problem:    Vim9: some code not tested.
Solution:   Add a few more test cases.  Reorder checks for clearer error.
            Remove unreachable code.
2020-06-19 18:34:15 +02:00
128d307963 patch 8.2.1010: build failure in libvterm with debug enabled
Problem:    Build failure in libvterm with debug enabled. (John Little)
Solution:   Use "->" instead of ".".
2020-06-19 17:20:41 +02:00
c5b1c20b6b patch 8.2.1009: Vim9: some failures not checked for
Problem:    Vim9: some failures not checked for.
Solution:   Add test cases.  Remove unused code.
2020-06-18 22:43:27 +02:00
0779fab297 patch 8.2.1008: Vim9: no test for disassambling newly added instructions
Problem:    Vim9: no test for disassambling newly added instructions.
Solution:   Add a function and check disassembly.
2020-06-18 22:18:18 +02:00
c8cb883015 patch 8.2.1007: completion doesn't work after ":r ++arg !"
Problem:    Completion doesn't work after ":r ++arg !".
Solution:   Skip over "++arg". (Christian Brabandt, closes #6275,
            closes #6258)
2020-06-18 21:14:30 +02:00
efd8855594 patch 8.2.1006: Vim9: require unnecessary return statement
Problem:    Vim9: require unnecessary return statement.
Solution:   Improve the use of the had_return flag. (closes #6270)
2020-06-18 20:50:10 +02:00
9b68c82b7c patch 8.2.1005: Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing
Problem:    Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing.
Solution:   Use an enum value.
2020-06-18 19:31:08 +02:00
511feec6f0 patch 8.2.1004: line numbers below filler lines not always updated
Problem:    Line numbers below filler lines not always updated.
Solution:   Don't break out of the win_line() loop too early. (Christian
            Brabandt, closes #6294, closes #6138)
2020-06-18 19:15:27 +02:00
865af6b990 patch 8.2.1003: Vim9: return type of sort() is too generic
Problem:    Vim9: return type of sort() is too generic.
Solution:   Get type from the first argument. (closes #6292)
2020-06-18 18:45:49 +02:00
ceb2e77510 patch 8.2.1002: test may fail when run directly
Problem:    Test may fail when run directly.
Solution:   Check if g:run_nr exists. (Christian Brabandt, closes #6285)
2020-06-18 18:33:59 +02:00
72abcf42d4 patch 8.2.1001: Vim9: crash with nested "if" and assignment
Problem:    Vim9: crash with nested "if" and assignment.
Solution:   Skip more of the assignment.  Do not set ctx_skip when code is
            reachable.
2020-06-18 18:26:24 +02:00
158ea175a9 patch 8.2.1000: get error when leaving Ex mode with :visual
Problem:    Get error when leaving Ex mode with :visual and a CmdLineEnter
            autocommand was used.
Solution:   Reset ex_pressedreturn. (closes #6293)
2020-06-18 17:28:39 +02:00
2f03e5a0a9 patch 8.2.0999: moving to next sentence gets stuck on quote
Problem:    Moving to next sentence gets stuck on quote.
Solution:   When moving to the next sentence doesn't result in moving, advance
            a character and try again. (closes #6291)
2020-06-18 15:33:25 +02:00
3d9207ad2f patch 8.2.0998: not all tag code is tested
Problem:    Not all tag code is tested.
Solution:   Add a few more test cases. (Yegappan Lakshmanan, closes #6284)
2020-06-17 22:58:35 +02:00
856c1110c1 patch 8.2.0997: cannot execute a register containing line continuation
Problem:    Cannot execute a register containing line continuation.
Solution:   Concatenate lines where needed. (Yegappan Lakshmanan,
            closes #6272)
2020-06-17 21:47:23 +02:00
40a019f157 patch 8.2.0996: using "aucmdwin" in win_gettype() is not ideal
Problem:    Using "aucmdwin" in win_gettype() is not ideal.
Solution:   Rename to "autocmd".
2020-06-17 21:41:35 +02:00
e17f8817a1 patch 8.2.0995: insufficient testing for the readdir() sort option
Problem:    Insufficient testing for the readdir() sort option.
Solution:   Add a few more tests. (Christian Brabandt, closes #6278)
2020-06-17 20:30:44 +02:00
9bb3eb3e02 patch 8.2.0994: Vim9: missing function causes compilation error
Problem:    Vim9: missing function causes compilation error.
Solution:   Call test function indirectly.
2020-06-17 20:03:36 +02:00
f7d267ef20 patch 8.2.0993: Vim9 script test fails with normal features
Problem:    Vim9 script test fails with normal features.
Solution:   Use :func instead of :def for now.
2020-06-17 12:04:54 +02:00
101f4810e2 patch 8.2.0992: Vim9: crash when using :import in the Vim command
Problem:    Vim9: crash when using :import in the Vim command.
Solution:   Give an error when using :import outside of a script.
            (closes #6271)
2020-06-16 23:18:51 +02:00
0fe937fd86 patch 8.2.0991: cannot get window type for autocmd and preview window
Problem:    Cannot get window type for autocmd and preview window.
Solution:   Add types to win_gettype(). (Yegappan Lakshmanan, closes #6277)
2020-06-16 22:42:04 +02:00
a1bc6f1293 patch 8.2.0990: Using duplicate error number
Problem:    Using duplicate error number.
Solution:   Use an unused error number.  Add a test for it.
2020-06-16 22:27:39 +02:00
a6e8bf2d89 patch 8.2.0989: crash after resizing a terminal window
Problem:    Crash after resizing a terminal window. (August Masquelier)
Solution:   Add check for valid row in libvterm. (closes #6273)
2020-06-16 20:58:07 +02:00
84cf6bd81b patch 8.2.0988: getting directory contents is always case sorted
Problem:    Getting directory contents is always case sorted.
Solution:   Add sort options and v:collate. (Christian Brabandt, closes #6229)
2020-06-16 20:03:43 +02:00
9af78769ee patch 8.2.0987: Vim9: cannot assign to [var; var]
Problem:    Vim9: cannot assign to [var; var].
Solution:   Assign rest of items to a list.
2020-06-16 11:34:42 +02:00
c70222d12a patch 8.2.0986: MS-Windows: functions test fails
Problem:    MS-Windows: functions test fails.
Solution:   Only simplify ///path on Unix.
2020-06-15 23:18:12 +02:00
fdcbe3c3fe patch 8.2.0985: simplify() does not remove slashes from "///path"
Problem:    Simplify() does not remove slashes from "///path".
Solution:   Reduce > 2 slashes to one. (closes #6263)
2020-06-15 21:41:56 +02:00
ab176ce982 patch 8.2.0984: not using previous window when closing a shell popup window
Problem:    Not using previous window when closing a shell popup window.
Solution:   Use "prevwin" if it was set. (closes #6267)
2020-06-15 21:19:08 +02:00
ad72350360 patch 8.2.0983: SConstruct file type not recognized
Problem:    SConstruct file type not recognized.
Solution:   Use python for SConstruct files. (Roland Hieber)
2020-06-15 20:24:58 +02:00
b340baed9f patch 8.2.0982: insufficient testing for reading/writing files
Problem:    Insufficient testing for reading/writing files.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6257)
            Add "ui_delay" to test_override() and use it for the CTRL-O test.
2020-06-15 19:51:56 +02:00
47a519a933 patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Problem:    Vim9: cannot compile "[var, var] = list".
Solution:   Implement list assignment.
2020-06-14 23:05:10 +02:00
a65d8b5bb9 patch 8.2.0980: raku file extension not recognized
Problem:    Raku file extension not recognized. (Steven Penny)
Solution:   Recognize .raku and .rakumod. (closes #6255)
2020-06-14 20:04:32 +02:00
65e0d77a66 Update runtime files 2020-06-14 17:29:55 +02:00
8e20f75e58 patch 8.2.0979: a couple of screendump tests fail
Problem:    A couple of screendump tests fail.
Solution:   Do not redraw when clearing t_8u.
2020-06-14 16:43:47 +02:00
0c8059e0b6 patch 8.2.0978: leaking memory in termcodes test
Problem:    Leaking memory in termcodes test.
Solution:   Set t_8u with set_option_value().
2020-06-14 15:35:58 +02:00
8dff4cbf6d patch 8.2.0977: t_8u is made empty for the wrong terminals
Problem:    t_8u is made empty for the wrong terminals. (Dominique Pelle)
Solution:   Invert the check for TPR_YES. (closes #6254)
2020-06-14 14:34:16 +02:00
df7df59d85 patch 8.2.0976: some 'cpoptions' not tested
Problem:    Some 'cpoptions' not tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6253)
2020-06-14 13:50:55 +02:00
984dddbef4 patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Problem:    Vim9: script variable does not accept optional s: prefix.
Solution:   Adjust the accepted syntax.
2020-06-14 12:50:24 +02:00
f3decc5830 patch 8.2.0974: Vim9: memory leak when script var has wrong type
Problem:    Vim9: memory leak when script var has wrong type.
Solution:   Free the variable name.
2020-06-13 19:56:38 +02:00
34db91f7a4 patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Problem:    Vim9: type is not checked when assigning to a script variable.
Solution:   Check the type.
2020-06-13 19:00:10 +02:00
c82a5b5da5 patch 8.2.0972: Vim9 script variable declarations need a type
Problem:    Vim9 script variable declarations need a type.
Solution:   Make "let var: type" declare a script-local variable.
2020-06-13 18:09:19 +02:00
142499de33 patch 8.2.0971: build with tiny features fails
Problem:    Build with tiny features fails.
Solution:   Add #ifdef.
2020-06-13 16:39:31 +02:00
0c0eddd3dd patch 8.2.0970: terminal properties are not available in Vim script
Problem:    Terminal properties are not available in Vim script.
Solution:   Add the terminalprops() function.
2020-06-13 15:47:25 +02:00
4a021dfbee patch 8.2.0969: assert_equal() output for dicts is hard to figure out
Problem:    Assert_equal() output for dicts is hard to figure out.
Solution:   Only show the different items.
2020-06-13 15:13:38 +02:00
c9630d2658 patch 8.2.0968: no proper testing of the 'cpoptions' flags
Problem:    No proper testing of the 'cpoptions' flags.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6251)
2020-06-13 13:20:48 +02:00
71ccd03ee8 patch 8.2.0967: unnecessary type casts for vim_strnsave()
Problem:    Unnecessary type casts for vim_strnsave().
Solution:   Remove the type casts.
2020-06-12 22:59:11 +02:00
722e505d1a patch 8.2.0966: 'shortmess' flag "n" not used in two places
Problem:    'shortmess' flag "n" not used in two places.
Solution:   Make use of the "n" flag consistent. (Nick Jensen, closes #6245,
            closes #6244)
2020-06-12 22:31:00 +02:00
5055c56cfb patch 8.2.0965: has_funcundefined() is not used
Problem:    Has_funcundefined() is not used.
Solution:   Delete the function. (Dominique Pellé, closes #6242)
2020-06-12 22:15:31 +02:00
37d1673ce0 patch 8.2.0964: TextYankPost does not provide info about Visual selection
Problem:    TextYankPost does not provide info about Visual selection.
Solution:   Add the 'visual' key in v:event. (closes #6249)
2020-06-12 22:09:01 +02:00
6c6be9e88d patch 8.2.0963: number increment/decrement does not work with 'virtualedit'
Problem:    Number increment/decrement does not work with 'virtualedit'.
Solution:   Handle coladd changing. (Christian Brabandt, closes #6240,
            closes #923)
2020-06-12 20:19:44 +02:00
f6e020b122 patch 8.2.0962: terminal test sometimes hangs on Travis
Problem:    Terminal test sometimes hangs on Travis.
Solution:   Do show output for this test temporarily.
2020-06-12 20:11:55 +02:00
ec68028604 patch 8.2.0961: MS-Windows: no completion for locales
Problem:    MS-Windows: no completion for locales.
Solution:   Use the directories in $VIMRUNTIME/lang to complete locales.
            (Christian Brabandt, closes 36248)
2020-06-12 19:35:32 +02:00
9721fb4ea3 patch 8.2.0960: cannot use :import in legacy Vim script
Problem:    Cannot use :import in legacy Vim script.
Solution:   Support :import in any Vim script.
2020-06-11 23:10:46 +02:00
00e260bb6c patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Problem:    Using 'quickfixtextfunc' is a bit slow.
Solution:   Process a list of entries. (Yegappan Lakshmanan, closes #6234)
2020-06-11 19:35:52 +02:00
1de5f7c81d patch 8.2.0958: not sufficient testing for buffer writing
Problem:    Not sufficient testing for buffer writing.
Solution:   Add a few tests. (Yegappan Lakshmanan, closes #6238)
2020-06-11 19:22:43 +02:00
2d4070d3b0 patch 8.2.0957: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize one variable.
2020-06-11 12:30:13 +02:00
e0ebeda4d8 patch 8.2.0956: spell test fails
Problem:    Spell test fails.
Solution:   Add missing change the spell checking.
2020-06-10 22:17:58 +02:00
215f49c4d7 patch 8.2.0955: build fails
Problem:    Build fails.
Solution:   Add missing struct change.
2020-06-10 22:12:04 +02:00
f1f0ff9557 patch 8.2.0954: not all desktop files are recognized
Problem:    Not all desktop files are recognized.
Solution:   Add the *.directory pattern. (Eisuke Kawashima, closes #3317)
2020-06-10 22:07:52 +02:00
362b44bd4a patch 8.2.0953: spell checking doesn't work for CamelCased words
Problem:    Spell checking doesn't work for CamelCased words.
Solution:   Add the "camel" value in the new option 'spelloptions'.
            (closes #1235)
2020-06-10 21:47:00 +02:00
be5ee8686a patch 8.2.0952: no simple way to interrupt Vim
Problem:    No simple way to interrupt Vim.
Solution:   Add the SigUSR1 autocommand, triggered by SIGUSR1. (Jacob Hayes,
            closes #1718)
2020-06-10 20:56:58 +02:00
6ba24d8763 patch 8.2.0951: search stat test has leftover from debugging
Problem:    Search stat test has leftover from debugging.
Solution:   Remove line that writes a file. (Christian Brabandt, closes #6224)
2020-06-10 20:21:09 +02:00
13b8205b44 patch 8.2.0950: tagjump test fails
Problem:    Tagjump test fails.
Solution:   Adjust expected text of the prompt.
2020-06-10 17:13:48 +02:00
ea1233fccf patch 8.2.0949: strptime() does not use DST
Problem:    Strptime() does not use DST.
Solution:   Set the tm_isdst field to -1. (Tomáš Janoušek, closes #6230)
2020-06-10 16:54:13 +02:00
d281b7c227 patch 8.2.0948: spell test fails
Problem:    Spell test fails.
Solution:   Adjust expected text of the prompt.
2020-06-10 16:39:32 +02:00
ab54032f29 patch 8.2.0947: readdirex() doesn't handle broken link properly
Problem:    Readdirex() doesn't handle broken link properly.
Solution:   Small fixes to readdirex(). (Christian Brabandt, closes #6226,
            closes #6213)
2020-06-10 15:55:36 +02:00
eebd555733 patch 8.2.0946: cannot use "q" to cancel a number prompt
Problem:    Cannot use "q" to cancel a number prompt.
Solution:   Recognize "q" instead of ignoring it.
2020-06-10 15:45:57 +02:00
152e79e94b patch 8.2.0945: cannot use "z=" when 'spell' is off
Problem:    Cannot use "z=" when 'spell' is off.
Solution:   Make "z=" work even when 'spell' is off. (Christian Brabandt,
            Gary Johnson, closes #6227)
2020-06-10 15:32:08 +02:00
253ea9fa42 patch 8.2.0944: xxd test leaves file behind
Problem:    Xxd test leaves file behind.
Solution:   Delete the file "XXDfile". (Christian Brabandt, closes #6228)
2020-06-10 14:21:20 +02:00
32ee627750 patch 8.2.0943: displaying ^M or ^J depends on current buffer
Problem:    Displaying ^M or ^J depends on current buffer.
Solution:   Pass the displayed buffer to transchar(). (closes #6225)
2020-06-10 14:16:49 +02:00
0e390f40e9 patch 8.2.0942: expanding to local dir after homedir keeps "~/"
Problem:    Expanding to local dir after homedir keeps "~/".
Solution:   Adjust modify_fname(). (Christian Brabandt, closes #6205,
            closes #5979)
2020-06-10 13:12:28 +02:00
517f00f788 patch 8.2.0941: detecting terminal properties is unstructured
Problem:    Detecting terminal properties is unstructured.
Solution:   Add a table with terminal properties.  Set properties when a
            terminal is detected.
2020-06-10 12:15:51 +02:00
0ca8b5ba7b patch 8.2.0940: build failure with tiny features
Problem:    Build failure with tiny features.
Solution:   Add #ifdef.  Add UNUSED.  A bit more cleaning up.
2020-06-09 21:35:36 +02:00
218cb0fb62 patch 8.2.0939: checking for term escape sequences is long and confusing
Problem:    checking for term escape sequences is long and confusing
Solution:   Refactor code into separate functions.
2020-06-09 21:26:36 +02:00
59de417b90 patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case
Problem:    NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs)
Solution:   Use utf_fold() when possible. (ref. neovim #12456)
2020-06-09 19:34:54 +02:00
dcf59c37d0 patch 8.2.0937: asan failure in the flatten() test
Problem:    Asan failure in the flatten() test.
Solution:   Free the flattened list.
2020-06-09 17:30:04 +02:00
a45551a535 patch 8.2.0936: some terminals misinterpret the code for getting cursor style
Problem:    Some terminals misinterpret the code for getting cursor style.
Solution:   Send a sequence to the terminal and check the result. (IWAMOTO
            Kouichi, closes #2126)  Merged with current code.
2020-06-09 15:57:37 +02:00
077a1e670a patch 8.2.0935: flattening a list with existing code is slow
Problem:    Flattening a list with existing code is slow.
Solution:   Add flatten(). (Mopp, closes #3676)
2020-06-08 20:50:43 +02:00
ec98e93a82 patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Problem:    Running lhelpgrep twice in a help window doesn't jump to the help
            topic.
Solution:   Check whether any window with the location list is present.
            (Yegappan Lakshmanan, closes #6215)
2020-06-08 19:35:59 +02:00
7ba5a7eff3 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Problem:    'quickfixtextfunc' does not get window ID of location list.
Solution:   Add "winid" to the dict argument. (Yegappan Lakshmanan,
            closes #6222)
2020-06-08 19:20:27 +02:00
f154f3ab2c patch 8.2.0932: missspelling spelllang
Problem:    Missspelling spelllang.
Solution:   Add an "l". (Dominique Pelle)
2020-06-08 18:54:49 +02:00
6938e27abd patch 8.2.0931: some remarks about BeOS remain
Problem:    Some remarks about BeOS remain.
Solution:   Remove BeOS remarks from the help and other files. (Emir Sari,
            closes #6221)
2020-06-07 22:23:19 +02:00
b5e18f29fa patch 8.2.0930: script filetype detection trips over env -S argument
Problem:    Script filetype detection trips over env -S argument.
Solution:   Remove "-S" and "--ignore-environment". (closes #5013)
            Add tests.
2020-06-07 21:58:54 +02:00
cc613031b9 patch 8.2.0929: v:register is not cleared after an operator was executed
Problem:    v:register is not cleared after an operator was executed.
Solution:   Clear v:register after finishing an operator (Andy Massimino,
            closes #5305)
2020-06-07 21:31:18 +02:00
acc2240640 Update runtime files 2020-06-07 21:07:18 +02:00
df44a27b53 patch 8.2.0928: many type casts are used for vim_strnsave()
Problem:    Many type casts are used for vim_strnsave().
Solution:   Make the length argument size_t instead of int. (Ken Takata,
            closes #5633)  Remove some type casts.
2020-06-07 20:49:05 +02:00
da84ac2a6f patch 8.2.0927: some sshconfig and ssdhconfig files are not recognized
Problem:    Some sshconfig and ssdhconfig files are not recognized.
Solution:   Add filetype patterns.
2020-06-07 20:07:43 +02:00
951a2fb1b8 patch 8.2.0926: cmdline test fails on Appveyor
Problem:    Cmdline test fails on Appveyor.
Solution:   Add CR to the commands. (Naruhiko Nishino, closes #6220)
2020-06-07 19:38:10 +02:00
1f1fd44ef7 patch 8.2.0925: getcompletion() does not return command line arguments
Problem:    Getcompletion() does not return command line arguments.
Solution:   Add the "cmdline" option. (Shougo, closes #1140)
2020-06-07 18:45:14 +02:00
bb861e293e patch 8.2.0924: cannot save and restore a register properly
Problem:    Cannot save and restore a register properly.
Solution:   Add getreginfo() and make setreg() accept a dictionary. (Andy
            Massimino, closes #3370)
2020-06-07 18:16:36 +02:00
c82dd86084 patch 8.2.0923: cmdline test is slow
Problem:    Cmdline test is slow.
Solution:   Use WaitForAssert().
2020-06-07 17:30:33 +02:00
48af321a33 patch 8.2.0922: search test fails
Problem:    Search test fails.
Solution:   Remove failure tests for calls that no longer fail.
2020-06-07 17:20:02 +02:00
4fdb8bd054 patch 8.2.0921: CTRL-W T in cmdline window causes trouble
Problem:    CTRL-W T in cmdline window causes trouble.
Solution:   Disallow CTRL-W T in the cmdline window.  Add more tests.
            (Naruhiko Nishino, closes #6219)
2020-06-07 17:03:21 +02:00
5b157fe2ed patch 8.2.0920: writing viminfo fails with a circular reference
Problem:    Writing viminfo fails with a circular reference.
Solution:   Use copyID to detect the cycle. (closes #6217)
2020-06-07 16:08:08 +02:00
673fc3e23f patch 8.2.0919: merging modifier for modifyOtherKeys is done twice
Problem:    Merging modifier for modifyOtherKeys is done twice.
Solution:   Remove the merging done in vgetc().
2020-06-07 15:46:11 +02:00
a9c0104947 patch 8.2.0918: duplicate code for evaluating expression argument
Problem:    Duplicate code for evaluating expression argument.
Solution:   Merge the code and make the use more flexible.
2020-06-07 14:50:50 +02:00
e928366de5 patch 8.2.0917: quickfix entries do not suport a "note" type
Problem:    Quickfix entries do not suport a "note" type.
Solution:   Add support for "note". (partly by Yegappan Lakshmanan,
            closes #5527, closes #6216)
2020-06-07 14:10:47 +02:00
975a880a13 patch 8.2.0916: mapping with partly modifyOtherKeys code does not work
Problem:    Mapping with partly modifyOtherKeys code does not work.
Solution:   If there is no mapping with a separate modifier include the
            modifier in the key and then try mapping again. (closes #6200)
2020-06-06 22:36:24 +02:00
adc17a5f9d patch 8.2.0915: search() cannot skip over matches like searchpair() can
Problem:    Search() cannot skip over matches like searchpair() can.
Solution:   Add an optional "skip" argument. (Christian Brabandt, closes #861)
2020-06-06 18:37:51 +02:00
d8df304c59 patch 8.2.0914: MS-Windows: cannot specify a "modified by" text
Problem:    MS-Windows: cannot specify a "modified by" text.
Solution:   Add MODIFIED_BY in the MSVC build file.  (Chen Lei, closes #1275)
2020-06-06 16:18:46 +02:00
439c036ed0 patch 8.2.0913: code for resetting v:register is duplicated
Problem:    Code for resetting v:register is duplicated.
Solution:   Add reset_reg_var().
2020-06-06 15:58:03 +02:00
11f1ffd182 patch 8.2.0912: a few test cases for CJK formatting are disabled
Problem:    A few test cases for CJK formatting are disabled.
Solution:   Fix the tests and enable them. (closes #6212)
2020-06-06 15:23:26 +02:00
9b7cce28d5 patch 8.2.0911: crash when opening a buffer for the cmdline window fails
Problem:    Crash when opening a buffer for the cmdline window fails. (Chris
            Barber)
Solution:   Check do_ecmd() succeeds.  Reset got_int if "q" was used at the
            more prompt. (closes #6211)
2020-06-06 15:14:08 +02:00
87fda407f8 Also fix the patch number. 2020-06-06 13:25:31 +02:00
fe712ced6e Fix duplicated code that only appears in git. 2020-06-06 13:17:59 +02:00
8f1dde5021 patch 8.2.0910: Vim is not reproducibly buildable
Problem:    Vim is not reproducibly buildable.
Solution:   Use the $SOURCE_DATE_EPOCH environment variable in configure.
            (James McCoy, closes #513)  Give a warning about using it.
2020-06-05 23:16:29 +02:00
002bc79991 patch 8.2.0909: cannot go back to the previous local directory
Problem:    Cannot go back to the previous local directory.
Solution:   Add "tcd -" and "lcd -". (Yegappan Lakshmanan, closes #4362)
2020-06-05 22:33:42 +02:00
3fffa97159 patch 8.2.0908: crash when changing the function table while listing it
Problem:    Crash when changing the function table while listing it.
Solution:   Bail out when the function table changes. (closes #6209)
2020-06-05 21:06:10 +02:00
07188fc5ef patch 8.2.0907: when using :global clipboard isn't set correctly
Problem:    When using :global clipboard isn't set correctly.
Solution:   Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian
            Brabandt, closes #6203, closes #6198)
2020-06-05 20:03:16 +02:00
ea563cc22b patch 8.2.0906: when setting 'termguicolors' SpellBad is no longer red
Problem:    When setting 'termguicolors' SpellBad is no longer red.
Solution:   Only use the RGB guisp color for cterm when using the "underline"
            or "undercurl" attributes to avoid the background color to be
            cleared. Also make t_8u empty when the termresponse indicates a
            real xterm. (closes #6207)
2020-06-05 19:36:57 +02:00
e0c3c3d6cb patch 8.2.0905: test coverage could be better
Problem:    Test coverage could be better.
Solution:   Add a couple of tests. (Dominique Pelle, closes #6202)
2020-06-04 22:46:04 +02:00
46cd43bda1 patch 8.2.0904: assuming modifyOtherKeys for rhs of mapping
Problem:    Assuming modifyOtherKeys for rhs of mapping.
Solution:   Ignore seenModifyOtherKeys for mapped characters. (closes #6200)
2020-06-04 22:22:11 +02:00
852ea366d6 patch 8.2.0903: comparing WINVER does not work correctly
Problem:    comparing WINVER does not work correctly.
Solution:   Use arithmethic expansion. (Ozaki Kiichi, closes #6197)
2020-06-04 21:32:49 +02:00
442a85369f patch 8.2.0902: using searchcount() in 'statusline' causes an error
Problem:    Using searchcount() in 'statusline' causes an error.
Solution:   Avoid saving/restoring the search patten recursively.
            (closes #6194)
2020-06-04 20:56:09 +02:00
e52702f003 patch 8.2.0901: formatting CJK text isn't optimal
Problem:    Formatting CJK text isn't optimal.
Solution:   Properly break CJK lines. (closes #3875)
2020-06-04 18:22:13 +02:00
9155825b24 patch 8.2.0900: function list test fails on MS-Windows
Problem:    Function list test fails on MS-Windows.
Solution:   Make sure the fileformat is "unix"
2020-06-04 17:19:05 +02:00
30cc44a97f patch 8.2.0899: assert_equalfile() does not give a hint about the difference
Problem:    Assert_equalfile() does not give a hint about the difference.
Solution:   Display the last seen text.
2020-06-04 16:52:40 +02:00
6b0e528368 patch 8.2.0898: missing help for a function goes unnoticed
Problem:    Missing help for a function goes unnoticed.
Solution:   Add a test. (Gary Johnson)
2020-06-04 15:52:25 +02:00
ebacddbc16 patch 8.2.0897: list of functions in patched version is outdated
Problem:    List of functions in patched version is outdated.
Solution:   Update the function lists only.
2020-06-04 15:22:21 +02:00
14681627f3 patch 8.2.0896: crash when calling searchcount() with a string
Problem:    Crash when calling searchcount() with a string.
Solution:   Check the argument is a dict. (closes #6192)
2020-06-03 22:57:39 +02:00
408c23b079 patch 8.2.0895: :mkspell output does not mention the tree type
Problem:    :mkspell output does not mention the tree type.
Solution:   Back out increasing the limits, it has no effect.  Mention the
            tree being compressed.  Only give a message once per second.
2020-06-03 22:15:45 +02:00
59f88fbf24 patch 8.2.0894: :mkspell can take very long if the word count is high
Problem:    :mkspell can take very long if the word count is high.
Solution:   Use long to avoid negative numbers.  Increase the limits by 20% if
            the compression did not have effect.
2020-06-03 20:51:11 +02:00
fb517bac23 patch 8.2.0893: assert_equalfile() does not take a third argument
Problem:    Assert_equalfile() does not take a third argument.
Solution:   Implement the third argument. (Gary Johnson)
2020-06-03 19:55:35 +02:00
c5acc0f7fe patch 8.2.0892: ubsan warns for undefined behavior
Problem:    Ubsan warns for undefined behavior.
Solution:   Use unsigned instead of signed variable. (Dominique Pelle,
            closes #6193)
2020-06-03 18:55:38 +02:00
cc836556d9 patch 8.2.0891: clang warns for invalid conversion
Problem:    Clang warns for invalid conversion.
Solution:   Use zero instead of INVALCOLOR.
2020-06-03 10:04:49 +02:00
1e5f8f6d65 patch 8.2.0890: no color in terminal window when 'termguicolor' is set
Problem:    No color in terminal window when 'termguicolor' is set.
Solution:   Clear the underline color. (closes #6186)
2020-06-02 23:18:24 +02:00
791fb1bcda patch 8.2.0889: using old style comments
Problem:    Using old style comments.
Solution:   Use // comments. (Yegappan Lakshmanan, closes #6190)
2020-06-02 22:24:36 +02:00
441d60efd8 patch 8.2.0888: readdirex() returns size -2 for a directory
Problem:    Readdirex() returns size -2 for a directory.
Solution:   Add missing "else". (Ken Takata, closes #6185)
2020-06-02 22:19:50 +02:00
57f75a5a36 patch 8.2.0887: searchcount().exact_match is 1 right after a match
Problem:    Searchcount().exact_match is 1 right after a match.
Solution:   Use LT_POS() instead of LTOREQ_POS(). (closes #6189)
2020-06-02 22:06:21 +02:00
c17e66c5c0 patch 8.2.0886: cannot use octal numbers in scriptversion 4
Problem:    Cannot use octal numbers in scriptversion 4.
Solution:   Add the "0o" notation. (Ken Takata, closes #5304)
2020-06-02 21:38:22 +02:00
3ac498c8a1 patch 8.2.0885: "make shadow" does not link new lua test dir
Problem:    "make shadow" does not link new lua test dir.
Solution:   Also link testdir/testluaplugin. (Elimar Riesebieter)
2020-06-02 20:25:36 +02:00
ea6561af92 patch 8.2.0884: searchcount() test fails on slower systems
Problem:    Searchcount() test fails on slower systems.
Solution:   Set a longer timeout.
2020-06-01 21:32:45 +02:00
5fbf3bc3f9 patch 8.2.0883: memory leak in test 49
Problem:    Memory leak in test 49.
Solution:   Free "sfile" from the exception.
2020-06-01 21:13:11 +02:00
48b1c21809 patch 8.2.0882: leaking memory when using reduce()
Problem:    Leaking memory when using reduce().
Solution:   Free the intermediate value.
2020-06-01 20:11:02 +02:00
d6a77f95ee patch 8.2.0881: compiler warning for argument type
Problem:    Compiler warning for argument type.
Solution:   Add type cast. (Mike Williams)
2020-06-01 19:14:12 +02:00
109aece79d patch 8.2.0880: leaking memory when using searchcount()
Problem:    Leaking memory when using searchcount().
Solution:   Free the last used search pattern.
2020-06-01 19:08:54 +02:00
f9ca08e95f patch 8.2.0879: compiler warning for unused function argument
Problem:    Compiler warning for unused function argument.
Solution:   Add UNUSED.
2020-06-01 18:56:03 +02:00
85629985b7 patch 8.2.0878: no reduce() function
Problem:    No reduce() function.
Solution:   Add a reduce() function. (closes #5481)
2020-06-01 18:39:20 +02:00
e8f5ec0d30 patch 8.2.0877: cannot get the search statistics
Problem:    Cannot get the search statistics.
Solution:   Add the searchcount() function. (Fujiwara Takuya, closes #4446)
2020-06-01 17:28:35 +02:00
950587242c patch 8.2.0876: :pwd does not give a hint about the scope of the directory
Problem:    :pwd does not give a hint about the scope of the directory
Solution:   Make ":verbose pwd" show the scope. (Takuya Fujiwara, closes #5469)
2020-06-01 16:26:19 +02:00
6c9ba04280 patch 8.2.0875: getting attributes for directory entries is slow
Problem:    Getting attributes for directory entries is slow.
Solution:   Add readdirex(). (Ken Takata, closes #5619)
2020-06-01 16:09:41 +02:00
d14fd5285e patch 8.2.0874: signals test is a bit flaky
Problem:    Signals test is a bit flaky.
Solution:   Flush the XautoOut file.  Delete files that may be left behind
            from a failure. (Dominique Pelle, closes #6179)
2020-06-01 15:05:19 +02:00
2891459b81 patch 8.2.0873: a .jl file can be sawfish (lisp) or Julia
Problem:    A .jl file can be sawfish (lisp) or Julia.
Solution:   Do not recognize *.jl as lisp, since it might be Julia.
            (closes #6178)
2020-06-01 14:43:59 +02:00
f15c8b6eb3 patch 8.2.0872: XIM code is mixed with multi-byte code
Problem:    XIM code is mixed with multi-byte code.
Solution:   Move the XIM code to a separate file. (Yegappan Lakshmanan,
            closes #6177)
2020-06-01 14:34:43 +02:00
f17e7ea67a patch 8.2.0871: cannot use getmarklist() as a method
Problem:    Cannot use getmarklist() as a method.
Solution:   Make getmarklist() work as a method.  Add one to the column
            number to match getpos(). (Yegappan Lakshmanan, closes #6176)
2020-06-01 14:14:44 +02:00
ad772a63ec patch 8.2.0870: MS-Windows: Control keys don't work in the GUI
Problem:    MS-Windows: Control keys don't work in the GUI.
Solution:   Don't set seenModifyOtherKeys for now. (Yasuhiro Matsumoto,
            closes #6175)
2020-06-01 14:07:49 +02:00
858ba06d5f patch 8.2.0869: it is not possible to customize the quickfix window contents
Problem:    It is not possible to customize the quickfix window contents.
Solution:   Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes #5465)
2020-05-31 23:11:59 +02:00
2245ae18e3 patch 8.2.0868: trim() always trims both ends
Problem:    trim() always trims both ends.
Solution:   Add an argument to only trim the beginning or end. (Yegappan
            Lakshmanan, closes #6126)
2020-05-31 22:20:36 +02:00
fccd93f091 patch 8.2.0867: using \{xxx} for encoding a modifier is not nice
Problem:    Using \{xxx} for encoding a modifier is not nice.
Solution:   Use \<*xxx> instead, since it's the same as \<xxx> but producing a
            different code.
2020-05-31 22:06:51 +02:00
494e9069cb patch 8.2.0866: not enough tests for buffer writing
Problem:    Not enough tests for buffer writing.
Solution:   Add more tests. Use CheckRunVimInTerminal in more places.
            (Yegappan Lakshmanan, closes #6167)
2020-05-31 21:28:02 +02:00
e35a52aee7 patch 8.2.0865: syntax foldlevel is taken from the start of the line
Problem:    Syntax foldlevel is taken from the start of the line.
Solution:   Add ":syn foldlevel" to be able to use the minimal foldlevel in
            the line. (Brad King, closes #6087)
2020-05-31 19:48:53 +02:00
d881b516da patch 8.2.0864: pragmas are indented all the way to the left
Problem:    Pragmas are indented all the way to the left.
Solution:   Add an option to indent progmas like normal code. (Max Rumpf,
            closes #5468)
2020-05-31 17:49:30 +02:00
e023e88bed patch 8.2.0863: cannot set a separate color for underline/undercurl
Problem:    Cannot set a separate color for underline/undercurl.
Solution:   Add the t_AU and t_8u termcap codes. (Timur Celik, closes #6011)
2020-05-31 16:42:30 +02:00
b10090928c patch 8.2.0862: ":term ++curwin" makes the current buffer hidden
Problem:    ":term ++curwin" makes the current buffer hidden. (Harm te
            Hennepe)
Solution:   Do not hide the current buffer. (closes #6170)
2020-05-31 16:04:42 +02:00
cfb4b47de0 patch 8.2.0861: cannot easily get all the current marks
Problem:    Cannot easily get all the current marks.
Solution:   Add getmarklist(). (Yegappan Lakshmanan, closes #6032)
2020-05-31 15:41:57 +02:00
aaad995f83 patch 8.2.0860: cannot use CTRL-A and CTRL-X on unsigned numbers
Problem:    Cannot use CTRL-A and CTRL-X on unsigned numbers.
Solution:   Add "unsigned" to 'nrformats'. (Naruhiko Nishino, closes #6144)
2020-05-31 15:08:59 +02:00
f09715bc5c patch 8.2.0859: no Turkish translation of the manual
Problem:    No Turkish translation of the manual.
Solution:   Add Turkish translations. (Emir Sarı, closes #5641)
2020-05-31 14:25:22 +02:00
788fbb4707 patch 8.2.0858: not easy to require Lua modules
Problem:    Not easy to require Lua modules.
Solution:   Improve use of Lua path. (Prabir Shrestha, closes #6098)
2020-05-31 14:08:12 +02:00
5cd1cb9ff9 patch 8.2.0857: GTK cell height can be a pixel too much
Problem:    GTK cell height can be a pixel too much.
Solution:   Subtract 3 instead of 1 when rounding. (closes #6168)
2020-05-31 13:53:04 +02:00
928eec649b patch 8.2.0856: CTRL-S stops output
Problem:    CTRL-S stops output.
Solution:   Invert the IXON flag. (closes #6166)
2020-05-31 13:09:47 +02:00
ebe9d34aa0 patch 8.2.0855: GUI tests fail because the test doesn't use a modifier
Problem:    GUI tests fail because the test doesn't use a modifier.
Solution:   Add "\{xxx}" to be able to encode a modifier.
2020-05-30 21:52:54 +02:00
363d6148df patch 8.2.0854: xxd cannot show offset as a decimal number
Problem:    Xxd cannot show offset as a decimal number.
Solution:   Add the "-d" flag. (Aapo Rantalainen, closes #5616
2020-05-30 20:50:25 +02:00
ca70c07b72 patch 8.2.0853: ml_delete() often called with FALSE argument
Problem:    ml_delete() often called with FALSE argument.
Solution:   Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.
2020-05-30 20:30:46 +02:00
d6cd5ffade patch 8.2.0852: cannot map CTRL-S on some systems
Problem:    Cannot map CTRL-S on some systems.
Solution:   Do not use CTRL-S for flow control.
2020-05-30 20:05:02 +02:00
f4ae6b245a patch 8.2.0851: can't distinguish <M-a> from accented "a" in the GUI
Problem:    Can't distinguish <M-a> from accented "a" in the GUI.
Solution:   Use another way to make mapping <C-bslash> work. (closes #6163)
2020-05-30 19:52:46 +02:00
95da136142 patch 8.2.0850: MS-Windows: exepath() works different from cmd.exe
Problem:    MS-Windows: exepath() works different from cmd.exe.
Solution:   Make exepath() work better on MS-Windows. (closes #6115)
2020-05-30 18:37:55 +02:00
041c7107f2 patch 8.2.0849: BeOS code is not maintained and probably unused
Problem:    BeOS code is not maintained and probably unused.
Solution:   Remove the BeOS code. (Emir Sari, closes #5817)
2020-05-30 18:14:57 +02:00
06b7b58455 patch 8.2.0848: MS-Windows: the Windows terminal code has some flaws
Problem:    MS-Windows: the Windows terminal code has some flaws.
Solution:   Do not redraw the right edge of the screen.  Remove the background
            color trick.  Flush the screen output buffer often.  (Nobuhiro
            Takasaki, #5546)
2020-05-30 17:49:25 +02:00
367d59e6ba patch 8.2.0847: typval related code is spread out
Problem:    Typval related code is spread out.
Solution:   Move code to new typval.c file. (Yegappan Lakshmanan, closes #6093)
2020-05-30 17:06:14 +02:00
d5c2c7763d patch 8.2.0846: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef.
2020-05-30 16:17:33 +02:00
87be9be1db patch 8.2.0845: text properties crossing lines not handled correctly
Problem:    Text properties crossing lines not handled correctly.
Solution:   When joining lines merge text properties if possible.
            (Axel Forsman, closes #5839, closes #5683)
2020-05-30 15:32:02 +02:00
a9d4b84d97 patch 8.2.0844: text properties crossing lines not handled correctly
Problem:    Text properties crossing lines not handled correctly.
Solution:   When saving for undo include an extra line when needed and do not
            adjust properties when undoing. (Axel Forsman, closes #5875)
2020-05-30 14:46:52 +02:00
0016fd2e29 patch 8.2.0843: filetype elm not detected
Problem:    Filetype elm not detected.
Solution:   Recognize *.elm files. (closes #6157)
2020-05-30 13:15:14 +02:00
208534d9ae patch 8.2.0842: MS-Windows: channel tests fail
Problem:    MS-Windows: channel tests fail.
Solution:   Adjust #ifdefs. (closes #6162)
2020-05-30 13:07:39 +02:00
823654bc06 patch 8.2.0841: 'verbose' value 16 causes duplicate output
Problem:    'verbose' value 16 causes duplicate output.
Solution:   Combine levels 15 and 16 into one message. (Christian Brabandt,
            closes #6153)
2020-05-29 23:03:09 +02:00
6cb0726215 patch 8.2.0840: search match count wrong when only match is in fold
Problem:    Search match count wrong when only match is in fold.
Solution:   Update search stats when in a closed fold. (Christian Brabandt,
            closes #6160, closes #6152)
2020-05-29 22:49:43 +02:00
b42c0d5427 patch 8.2.0839: dropping modifier when putting a character back in typeahead
Problem:    Dropping modifier when putting a character back in typeahead.
Solution:   Add modifier to ins_char_typebuf(). (closes #6158)
2020-05-29 22:41:41 +02:00
09307e3bc1 patch 8.2.0838: MS-Windows: compiler warning for uninitialized variables
Problem:    MS-Windows: compiler warning for uninitialized variables.
Solution:   Initialize variables.
2020-05-29 21:42:55 +02:00
b60db8ba14 patch 8.2.0837: compiler warning for value set but not used
Problem:    Compiler warning for value set but not used.
Solution:   Move variable inside #ifdef.
2020-05-29 21:38:42 +02:00
14798ab9a5 patch 8.2.0836: not all :cdo output is visible
Problem:    Not all :cdo output is visible.
Solution:   Reset 'shortmess' temporarily. (Yegappan Lakshmanan, closes #6155)
2020-05-28 21:30:11 +02:00
c998370562 patch 8.2.0835: Motif: mapping <C-bslash> still doesn't work
Problem:    Motif: mapping <C-bslash> still doesn't work.
Solution:   Accept CSI for K_SPECIAL.  Do not apply CTRL to the character
            early.  (closes #6150)
2020-05-28 21:03:53 +02:00
3f65c66df9 patch 8.2.0834: :drop command in terminal popup causes problems
Problem:    :drop command in terminal popup causes problems.
Solution:   Check for using a popup window. (closes #6151)
2020-05-27 23:15:16 +02:00
ca5bc74607 patch 8.2.0833: mapping <C-bslash> doesn't work in the GUI
Problem:    Mapping <C-bslash> doesn't work in the GUI.
Solution:   Reset seenModifyOtherKeys when starting the GUI. (closes #6150)
2020-05-27 22:08:34 +02:00
a55ba06f69 patch 8.2.0832: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add initial value.
2020-05-27 21:29:04 +02:00
f4b68e9056 patch 8.2.0831: compiler warnings for integer sizes
Problem:    Compiler warnings for integer sizes.
Solution:   Add type casts. (Mike Williams)
2020-05-27 21:22:14 +02:00
80a20df86a patch 8.2.0830: Motif: can't map "!"
Problem:    Motif: can't map "!". (Ben Jackson)
Solution:   Remove the shift modifier if it's already included in the key.
            (closes #6147)
2020-05-26 22:14:27 +02:00
388a5d4f20 Update runtime files 2020-05-26 21:20:45 +02:00
fcb0b61d15 patch 8.2.0829: filter() may give misleading error message
Problem:    filter() may give misleading error message.
Solution:   Also mention Blob as an allowed argument.
2020-05-26 20:22:01 +02:00
92c098d18e patch 8.2.0828: Travis: regexp patttern doesn't work everywhere
Problem:    Travis: regexp patttern doesn't work everywhere.
Solution:   Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146)
2020-05-26 20:09:11 +02:00
285b189260 patch 8.2.0827: Vim9: crash in :defcompile
Problem:    Vim9: crash in :defcompile.
Solution:   Fix off-by-one error.
2020-05-26 11:37:26 +02:00
ebc3de634f patch 8.2.0826: Vim9: crash in :defcompile
Problem:    Vim9: crash in :defcompile.
Solution:   Restart the loop after a call to compile_def_function() caused the
            hash table to resize.
2020-05-26 11:08:28 +02:00
a14e697547 patch 8.2.0825: def_function() may return pointer that was freed
Problem:    def_function() may return pointer that was freed.
Solution:   Set "fp" to NULL after freeing it.
2020-05-25 23:29:28 +02:00
1919371b2b patch 8.2.0824: still not enough memory allocated when converting string
Problem:    Still not enough memory allocated when converting string with
            special character.
Solution:   Reserve space for expanding K_SPECIAL. (closes #6130)
2020-05-25 23:01:42 +02:00
25e0f5863e patch 8.2.0823: Vim9: script reload test is disabled
Problem:    Vim9: script reload test is disabled.
Solution:   Compile a function in the context of the script where it was
            defined.  Set execution stack for compiled function.  Add a test
            that an error is reported for the right file/function.
2020-05-25 22:36:50 +02:00
2eec37926d patch 8.2.0822: Vim9: code left over from discovery phase
Problem:    Vim9: code left over from discovery phase.
Solution:   Remove the dead code.
2020-05-25 20:33:55 +02:00
45a1508a22 patch 8.2.0821: Vim9: memory leak in expr test
Problem:    Vim9: memory leak in expr test.
Solution:   Do not decrement the length of the list of functions if the
            current function is not at the end.
2020-05-25 00:28:33 +02:00
6ff71d8b7f patch 8.2.0820: Vim9: function type isn't set until compiled
Problem:    Vim9: function type isn't set until compiled.
Solution:   Set function type early.
2020-05-24 23:45:24 +02:00
f40e51a880 patch 8.2.0819: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Remove the variable.
2020-05-24 23:14:23 +02:00
822ba24743 patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Problem:    Vim9: using a discovery phase doesn't work well.
Solution:   Remove the discovery phase, instead compile a function only when
            it is used.  Add :defcompile to compile def functions earlier.
2020-05-24 23:00:18 +02:00
f7271e8316 patch 8.2.0817: not enough memory allocated when converting string
Problem:    Not enough memory allocated when converting string with special
            character.
Solution:   Reserve space for modifier code. (closes #6130)
2020-05-24 18:45:07 +02:00
87202264f8 patch 8.2.0816: terminal test fails when compiled with Athena
Problem:    Terminal test fails when compiled with Athena.
Solution:   Do give an error when the GUI is not running. (hint by Dominique
            Pelle, closes #5928, closes #6132)
2020-05-24 17:23:45 +02:00
9c65253fe7 patch 8.2.0815: maparg() does not provide enough information for mapset()
Problem:    maparg() does not provide enough information for mapset().
Solution:   Add "lhsraw" and "lhsrawalt" items.  Drop "simplified"
2020-05-24 13:10:18 +02:00
3718427ba3 patch 8.2.0814: clang warning for implicit conversion
Problem:    Clang warning for implicit conversion.
Solution:   Add type cast. (Dominique Pelle, closes #6124)
2020-05-23 19:30:05 +02:00
591cec8366 patch 8.2.0813: libvterm code is slightly different from upstream
Problem:    libvterm code is slightly different from upstream.
Solution:   Use upstream text to avoid future merge problems.  Mainly comment
            style changes.
2020-05-22 22:06:06 +02:00
c94c1467b9 patch 8.2.0812: mapset() does not properly handle <> notation
Problem:    mapset() does not properly handle <> notation.
Solution:   Convert <> codes. (closes #6116)
2020-05-22 20:01:06 +02:00
9cdcd1d0dc patch 8.2.0811: terminal keycode test is flaky
Problem:    Terminal keycode test is flaky.
Solution:   Use WaitForAssert()
2020-05-22 14:44:26 +02:00
2e61e2d083 patch 8.2.0810: error when appending "tagfile" to 'wildoptions'
Problem:    Error when appending "tagfile" to 'wildoptions'.
Solution:   use flags P_ONECOMMA and P_NODUP. (Dmitri Vereshchagin,
            closes #6105)
2020-05-22 14:10:36 +02:00
5a80f8ad5d patch 8.2.0809: build failure with small features
Problem:    Build failure with small features. (Tony Mechelynck)
Solution:   Move "expr" inside #ifdef.
2020-05-22 13:38:18 +02:00
98f1671cc0 patch 8.2.0808: not enough testing for the terminal window
Problem:    Not enough testing for the terminal window.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6069)  Fix memory
            leak.
2020-05-22 13:34:01 +02:00
4c9243f9fb patch 8.2.0807: cannot easily restore a mapping
Problem:    Cannot easily restore a mapping.
Solution:   Add mapset().
2020-05-22 13:10:44 +02:00
74fae513f8 patch 8.2.0806: using "func!" after vim9script gives confusing error
Problem:    using "func!" after vim9script gives confusing error.
Solution:   Give E477. (closes #6107)
2020-05-21 21:50:58 +02:00
fe81389d60 patch 8.2.0805: terminal key codes test fails on some systems
Problem:    Terminal key codes test fails on some systems.
Solution:   Skip keypad 3 and 9. (Yegappan Lakshmanan, closes #6070)
2020-05-21 20:38:31 +02:00
e5886ccb51 patch 8.2.0804: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revision 727, but add the index instead of switching
            between RGB and indexed.
2020-05-21 20:10:04 +02:00
83a52533b2 patch 8.2.0803: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 764 - 767
2020-05-20 19:30:19 +02:00
d863728913 patch 8.2.0802: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 759 - 762.
2020-05-20 18:41:41 +02:00
eaa3e0dae5 patch 8.2.0801: terminal test fails on Mac
Problem:    Terminal test fails on Mac.
Solution:   Concatenate OSC pieces.
2020-05-19 23:11:00 +02:00
a09195f29e patch 8.2.0800: errors from failing test are unclear
Problem:    Errors from failing test are unclear.
Solution:   Include text where parsing failed.
2020-05-19 22:38:59 +02:00
74c6963656 patch 8.2.0799: build fails if snprintf is not available
Problem:    Build fails if snprintf is not available.
Solution:   Use vim_snprintf().
2020-05-19 21:43:47 +02:00
be593bf135 patch 8.2.0798: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 755 - 758.
2020-05-19 21:20:04 +02:00
904e48a22b patch 8.2.0797: MS-Windows: compiler still can't handle C99 construct
Problem:    MS-Windows: compiler still can't handle C99 construct.
Solution:   Change to C90 construct. (Dominique Pelle, closes #6106)
2020-05-19 10:33:02 +02:00
37ebd42f16 patch 8.2.0796: MS-Windows: compiler can't handle C99 construct in libvterm
Problem:    MS-Windows: compiler can't handle C99 construct in libvterm.
Solution:   Change to C90 construct.
2020-05-18 23:27:50 +02:00
88d68de95d patch 8.2.0795: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 748 - 754.
2020-05-18 21:51:01 +02:00
d098b824c1 patch 8.2.0794: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 743 - 747.
2020-05-18 21:12:59 +02:00
1e1d2e89fa patch 8.2.0793: MS-Windows: cannot build GUI with small features
Problem:    MS-Windows: cannot build GUI with small features. (Michael Soyka)
Solution:   Add #ifdef around use of windowsVersion. (Ken Takata)
2020-05-18 20:17:02 +02:00
c33b3216c8 patch 8.2.0792: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef.
2020-05-18 20:12:09 +02:00
b5383b174b patch 8.2.0791: a second popup window with terminal causes trouble
Problem:    A second popup window with terminal causes trouble.
Solution:   Disallow opening a second terminal-popup window. (closes #6101,
            closes #6103) Avoid defaulting to an invalid line number.
2020-05-18 19:46:48 +02:00
843700875e patch 8.2.0790: Vim9: list index not well tested
Problem:    Vim9: list index not well tested.
Solution:   Add a few more tests.
2020-05-18 14:20:36 +02:00
66b3101672 patch 8.2.0789: Vim9: expression testing lost coverage using constants
Problem:    Vim9: expression testing lost coverage using constants.
Solution:   Use a few variables instead of constants.
2020-05-18 13:38:02 +02:00
deb17451ed patch 8.2.0788: memory leak in libvterm
Problem:    Memory leak in libvterm.
Solution:   free tmpbuffer.
2020-05-17 23:34:42 +02:00
a2e408f598 patch 8.2.0787: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 741 - 742.
2020-05-17 23:00:52 +02:00
0b39ec3c7d patch 8.2.0786: channel test is flaky on FreeBSD
Problem:    Channel test is flaky on FreeBSD.
Solution:   Set the sockiet TCP_NODELAY option. Adjust expected line count in
            netbeans test. (Ozaki Kiichi, closes #6097)
2020-05-17 22:33:53 +02:00
6fc3b59ee9 patch 8.2.0785: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 734 - 740.
2020-05-17 22:27:55 +02:00
94d729cbe8 patch 8.2.0784: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 730 - 733.
2020-05-17 21:50:16 +02:00
c4c9f7e43e patch 8.2.0783: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 728 - 729.
2020-05-17 20:52:45 +02:00
df1643a6a7 patch 8.2.0782: cannot build with Lua on MS-Windows
Problem:    Cannot build with Lua on MS-Windows.
Solution:   Add DLL symbol for luaL_Loadstring. (Ken Takata)
2020-05-17 18:53:27 +02:00
9309eb2f28 patch 8.2.0781: compiler warning for not using value in Lua
Problem:    Compiler warning for not using value in Lua.
Solution:   Add "(void)".
2020-05-17 16:53:56 +02:00
2d2970ea59 patch 8.2.0780: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 724 - 726.
2020-05-17 16:29:47 +02:00
f4e16ae041 patch 8.2.0779: tmode_T not used everywhere
Problem:    Tmode_T not used everywhere.
Solution:   Also use tmode_T for settmode().
2020-05-17 16:10:11 +02:00
d4a5f40c0c patch 8.2.0778: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 720 - 723.
2020-05-17 16:04:44 +02:00
ed37d9b324 Update feature_request.md 2020-05-17 15:17:26 +02:00
79ea680e6b patch 8.2.0777: terminal test fails
Problem:    Terminal test fails.
Solution:   Adjust character position for double-wide characters.
2020-05-17 15:09:27 +02:00
e178ba3654 patch 8.2.0776: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revision 719.
2020-05-17 14:59:47 +02:00
eb04f0893a patch 8.2.0775: not easy to call a Vim function from Lua
Problem:    Not easy to call a Vim function from Lua.
Solution:   Add vim.call() and vim.fn(). (Prabir Shrestha, closes #6063)
2020-05-17 14:32:35 +02:00
26e86445bf patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Problem:    t_TI and t_TE are output when using 'visualbell'. (Dominique
            Pelle)
Solution:   Do not change the terminal mode for a short sleep.  Do not output
            t_TI and t_TE when switching to/from TMODE_SLEEP. Make tmode an
            enum.
2020-05-17 14:06:16 +02:00
3b1f18f785 patch 8.2.0773: switching to raw mode every time ":" is used
Problem:    Switching to raw mode every time ":" is used.
Solution:   When executing a shell set cur_tmode to TMODE_UNKNOWN, so that the
            next time TMODE_RAW is used it is set, but not every time.
2020-05-16 23:15:08 +02:00
df671b4629 patch 8.2.0772: Vim9: some variable initializations not tested
Problem:    Vim9: some variable initializations not tested.
Solution:   Add a few more tests
2020-05-16 22:33:33 +02:00
6f5b6dfb16 patch 8.2.0771: Vim9: cannot call a compiled closure from not compiled code
Problem:    Vim9: cannot call a compiled closure from not compiled code.
Solution:   Pass funcexe to call_user_func().
2020-05-16 21:20:12 +02:00
aa5fc4ec51 patch 8.2.0770: cannot map CTRL-B when using the GUI
Problem:    Cannot map CTRL-B when using the GUI.
Solution:   Reset the CTRL modifier when used. (closes #6092)
2020-05-16 18:57:53 +02:00
129d6bf6b3 patch 8.2.0769: VimLeavePre not triggered when Vim is terminated
Problem:    VimLeavePre not triggered when Vim is terminated.
Solution:   Unblock autocommands.
2020-05-16 16:08:35 +02:00
e75ba268b3 patch 8.2.0768: Vim9: memory leak in script test
Problem:    Vim9: memory leak in script test.
Solution:   Clear typval before giving an error message.
2020-05-16 15:43:31 +02:00
645e3fe3fe patch 8.2.0767: modifyOtherKeys active when using a shell command in autocmd
Problem:    ModifyOtherKeys active when using a shell command in autocmd.
Solution:   Output T_CTE when going to cooked mode. (closes 5617)
2020-05-16 15:05:04 +02:00
e882f7a73c patch 8.2.0766: display error when using 'number' and 'breakindent'
Problem:    Display error when using 'number' and 'breakindent'.
Solution:   Adjust extra spaces in the first row. (Ken Takata, closes #6089,
            closes #5986)
2020-05-16 14:07:39 +02:00
fd615a3c90 patch 8.2.0765: In the GUI can't use all the modifiers.
Problem:    In the GUI can't use all the modifiers. (Andri Möll)
Solution:   Do not apply Alt/Meta early, do it later like with the terminal.
            Avoid the Motif test from crashing.
2020-05-16 14:01:51 +02:00
a6e67e4f41 patch 8.2.0764: Vim9: assigning to option not fully tested
Problem:    Vim9: assigning to option not fully tested.
Solution:   Add more test cases. Allow using any type for assignment.
2020-05-15 23:36:40 +02:00
4457e1d98f patch 8.2.0763: GUI test fails without the terminal feature
Problem:    GUI test fails without the terminal feature.
Solution:   Check the terminal feature is supported. (Ken Takata,
            closes #6084)
2020-05-15 22:46:44 +02:00
76cb683097 patch 8.2.0762: buffer is not considered modified after setting crypt key
Problem:    Buffer is not considered modified after setting crypt key.
Solution:   Set the modified flag. (Christian Brabandt, closes #6082)
2020-05-15 22:30:38 +02:00
4aeeb63938 patch 8.2.0761: Vim9: instructions not tested
Problem:    Vim9: instructions not tested
Solution:   Use a variable instead of a constant.
2020-05-15 22:01:57 +02:00
4dac32caf3 patch 8.2.0760: Vim9: dict member errors not tested
Problem:    Vim9: dict member errors not tested.
Solution:   Delete unreachable error.  Add tests.
2020-05-15 21:44:19 +02:00
270d0388d2 patch 8.2.0759: Vim9: missing changes for performance improvements
Problem:    Vim9: missing changes for performance improvements
Solution:   Use GA_GROW().  Don't call breakcheck so often.
2020-05-15 21:42:53 +02:00
cb7904016e patch 8.2.0758: Vim9: no test for STORELIST and STOREDICT
Problem:    Vim9: no test for STORELIST and STOREDICT.
Solution:   Add a test.  Make matches stricter.
2020-05-15 20:53:00 +02:00
4902ab16cb patch 8.2.0757: Vim9: no test for MEMBER instruction
Problem:    Vim9: no test for MEMBER instruction.
Solution:   Add a test.  Make matches stricter.
2020-05-15 19:21:31 +02:00
7e6f3fcc3c patch 8.2.0756: MS-Windows: still a compiler warning
Problem:    MS-Windows: still a compiler warning.
Solution:   Move flag to another place in the Makefile. (Ken Takata,
            closes #6083)
2020-05-15 18:21:51 +02:00
227a69de1e patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Problem:    Vim9: No error when variable initializer is not a constant.
Solution:   Return FAIL when trying to get a variable value.  Do not execute a
            script when an error is deteted in the first or second phase.
2020-05-15 18:17:28 +02:00
a5d0077efb patch 8.2.0754: Vim9: No test for forward declaration
Problem:    Vim9: No test for forward declaration.
Solution:   Add a test.
2020-05-14 23:20:55 +02:00
32e351179e patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Problem:    Vim9: expressions are evaluated in the discovery phase.
Solution:   Bail out if an expression is not a constant.  Require a type for
            declared constants.
2020-05-14 22:41:15 +02:00
e06a28f5e3 patch 8.2.0752: terminal in popup window test is a bit flaky
Problem:    Terminal in popup window test is a bit flaky.
Solution:   Wait for shell job status to be "run".  Mark as flaky test.
2020-05-13 23:24:12 +02:00
2b72821924 Update version.c for missing patch number 2020-05-13 23:21:55 +02:00
7e9f351b2e patch 8.2.0751: Vim9: performance can be improved
Problem:    Vim9: performance can be improved.
Solution:   Don't call break.  Inline check for list materialize.  Make an
            inline version of ga_grow().
2020-05-13 22:44:22 +02:00
37d1b4f941 patch 8.2.0750: netbeans test is a bit flaky
Problem:    Netbeans test is a bit flaky.
Solution:   Allow for standard sign to be defined.  Use WaitForAssert().
2020-05-13 17:16:04 +02:00
55ba4b844f patch 8.2.0749: TERM signal test fails on FreeBSD
Problem:    TERM signal test fails on FreeBSD.
Solution:   Do not check the messages, the may appear anywhere. (Dominique
            Pelle, closes #6075)
2020-05-13 16:53:49 +02:00
ef6b979bfa patch 8.2.0748: cannot get a list of all popups
Problem:    Cannot get a list of all popups.
Solution:   Add popup_list().  Use it in the test runner.
2020-05-13 16:34:15 +02:00
03a9f84817 patch 8.2.0747: cannot forcefully close all popups
Problem:    Cannot forcefully close all popups.
Solution:   Add the "force" argument to popup_clear().  Use it after running a
            test.  Put back the check for a popup when editing a file.
2020-05-13 13:40:16 +02:00
d502aa4c10 patch 8.2.0746: popup_clear() hangs when a popup can't be closed
Problem:    popup_clear() hangs when a popup can't be closed.
Solution:   Bail out when a popup can't be closed.
2020-05-13 01:04:32 +02:00
06f0853cb0 patch 8.2.0745: crash on exit when not all popups are closed
Problem:    Crash on exit when not all popups are closed.
Solution:   Close popups when freeing all memory.  Disable checking for popup
            when editing a file for now.
2020-05-12 23:45:16 +02:00
47e13953ff Update runtime files 2020-05-12 22:49:12 +02:00
9e6ba8cbef patch 8.2.0744: the name vim is not capatilized in a message
Problem:    The name vim is not capatilized in a message.
Solution:   Use "Vim" instead of "vim".
2020-05-12 22:21:26 +02:00
5aed0ccb96 patch 8.2.0743: can move to another buffer from a terminal in popup window
Problem:    Can move to another buffer from a terminal in popup window.
Solution:   Do not allow "gf" or editing a file. (closes #6072)
2020-05-12 22:02:21 +02:00
48a687148c patch 8.2.0742: handling of a TERM signal not tested
Problem:    Handling of a TERM signal not tested.
Solution:   Add a test for SIGTERM. (Dominique Pelle, closes #6055)
2020-05-12 14:42:02 +02:00
c3fd98cf8e patch 8.2.0741: Python tests fail because of changed message
Problem:    Python tests fail because of changed message.
Solution:   Adjust the expected messages (Dominique Pelle, closes #6066)
2020-05-12 13:08:07 +02:00
86181df9f5 patch 8.2.0740: minor message mistakes
Problem:    Minor message mistakes.
Solution:   Change vim to Vim and other fixes.
2020-05-11 23:14:04 +02:00
b415168a98 patch 8.2.0739: incomplete profiling when exiting because of a dealy signal
Problem:    Incomplete profiling when exiting because of a dealy signal.
Solution:   Call __gcov_flush() if available.
2020-05-11 22:13:28 +02:00
91689ea8ae patch 8.2.0738: mouse handling in a terminal window not well tested
Problem:    Mouse handling in a terminal window not well tested.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6052)
2020-05-11 22:04:53 +02:00
5c3128efe6 patch 8.2.0737: when shell doesn't support CTRL-Z Vim still handles it
Problem:    When shell doesn't support CTRL-Z Vim still handles it.
Solution:   Ignore the STOP signal if it was ignored on startup.
            (Kurtis Rader, closes #5990, closes #6058)
2020-05-11 20:54:42 +02:00
aacc6afdb8 patch 8.2.0736: some files not recognized as pamenv
Problem:    Some files not recognized as pamenv.
Solution:   Add pam_inv.conf. (closes #6065)
2020-05-11 19:46:36 +02:00
bc38f25c02 patch 8.2.0735: Vim9: using unitialized memory
Problem:    Vim9: using unitialized memory.
Solution:   Clear the arg_lvar field.
2020-05-10 23:20:06 +02:00
04816717df patch 8.2.0734: Vim9: leaking memory when using :finish
Problem:    Vim9: leaking memory when using :finish.
Solution:   Do not check for next line in third pass.
2020-05-10 23:11:53 +02:00
cb2bdb1c6d patch 8.2.0733: Vim9: assigning to dict or list argument does not work
Problem:    Vim9: assigning to dict or list argument does not work.
Solution:   Recognize an argument as assignment target.
2020-05-10 22:53:56 +02:00
f163bd5e41 patch 8.2.0732: Vim9: storing value in dict messes up stack
Problem:    Vim9: storing value in dict messes up stack.
Solution:   Correct item count of stack.
2020-05-10 21:47:43 +02:00
7e5bd91dc9 patch 8.2.0731: Vim9: parsing declarations continues after :finish
Problem:    Vim9: parsing declarations continues after :finish.
Solution:   Bail out when encountering :finish.
2020-05-10 21:20:29 +02:00
1cc2a94f80 patch 8.2.0730: Vim9: Assignment to dict member does not work
Problem:    Vim9: Assignment to dict member does not work.
Solution:   Parse dict assignment. Implement getting dict member.
2020-05-10 19:10:31 +02:00
89483d4043 patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Problem:    Vim9: When reloading a script variables are not cleared.
Solution:   When sourcing a script again clear all script-local variables.
2020-05-10 15:24:44 +02:00
69212b11d1 patch 8.2.0728: messages about a deadly signal are not left aligned
Problem:    Messages about a deadly signal are not left aligned.
Solution:   Output a CR before the NL. (Dominique Pelle, #6055)
2020-05-10 14:14:03 +02:00
d695ba732d patch 8.2.0727: MS-Windows: new gcc compiler does not support scanf format
Problem:    MS-Windows: new gcc compiler does not support scanf format.
Solution:   Use "%ll" instead of "%I". (Ken Takata)
2020-05-10 13:42:43 +02:00
3b6a6eb7b4 patch 8.2.0726: Vim9: leaking memory when calling not compiled :def function
Problem:    Vim9: leaking memory when calling not compiled :def function.
Solution:   Check if function is compiled earlier.
2020-05-09 23:20:20 +02:00
09689a0284 patch 8.2.0725: Vim9: cannot call a function declared later in Vim9 script
Problem:    Vim9: cannot call a function declared later in Vim9 script.
Solution:   Make two passes through the script file.
2020-05-09 22:50:08 +02:00
396f3138ca patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Problem:    Vim9: appending to buffer/window/tab variable not tested
Solution:   Add a test.
2020-05-09 18:44:56 +02:00
1c74721233 patch 8.2.0723: Vim9: nested constant expression not evaluated compile time
Problem:    Vim9: nested constant expression not evaluated compile time.
Solution:   Use compile_expr1() for parenthesis.
2020-05-09 18:28:34 +02:00
7f14155f42 patch 8.2.0722: Vim9: not handling constant expression for elseif
Problem:    Vim9: not handling constant expression for elseif.
Solution:   Use postponed constants.  Delete the code for evaluating a
            constant expression.
2020-05-09 17:35:53 +02:00
497f76bfbf patch 8.2.0721: Vim9: leaking memory when skipping
Problem:    Vim9: leaking memory when skipping.
Solution:   Disable skipping in generate_ppconst().
2020-05-09 16:44:22 +02:00
b1062eb23e patch 8.2.0720: occasional exit when encountering an X error
Problem:    Occasional exit when encountering an X error. (Manfred Lotz)
Solution:   On an X error do not exit, do preserve files.
2020-05-09 16:11:33 +02:00
a5565e4189 patch 8.2.0719: Vim9: more expressions can be evaluated at compile time
Problem:    Vim9: more expressions can be evaluated at compile time
Solution:   Recognize has('name').
2020-05-09 15:44:01 +02:00
7d3664df90 patch 8.2.0718: gcc warning for returning pointer to local variable
Problem:    Gcc warning for returning pointer to local variable. (John
            Marriott)
Solution:   Return another pointer.
2020-05-09 13:06:24 +02:00
7d131b0715 patch 8.2.0717: Vim9: postponed constant expressions does not scale
Problem:    Vim9: postponed constant expressions does not scale.
Solution:   Add a structure to pass around postponed constants.
2020-05-08 19:10:34 +02:00
5c2fe64443 patch 8.2.0716: Vim9: another memory leak
Problem:    Vim9: another memory leak.
Solution:   Clear typval when failing.
2020-05-07 23:20:21 +02:00
cca34aa4be patch 8.2.0715: Vim9: leaking memory
Problem:    Vim9: leaking memory.
Solution:   Free strings after concatenating them.
2020-05-07 22:23:58 +02:00
f0eefce93b patch 8.2.0714: Vim9: handling constant expression does not scale
Problem:    Vim9: handling constant expression does not scale.
Solution:   Use another solution, passint typval_T.
2020-05-07 22:19:01 +02:00
2cfb4a2a72 Update runtime files 2020-05-07 18:56:00 +02:00
6115481053 patch 8.2.0713: the pam_environment file is not recognized
Problem:    The pam_environment file is not recognized.
Solution:   Add a filetype pattern for pamenv. (closes #6051)
2020-05-07 18:51:27 +02:00
0ff5dedf0f patch 8.2.0712: various code not fully tested
Problem:    Various code not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6049)
2020-05-07 18:43:44 +02:00
b2d0e51366 patch 8.2.0711: temp directory might be cleared
Problem:    With a long running Vim the temp directory might be cleared on
            some systems.
Solution:   Lock the temp directory. (closes #6044)
2020-05-07 18:37:03 +02:00
4a070cc82e patch 8.2.0710: Netbeans test sometimes fails
Problem:    Netbeans test sometimes fails.
Solution:   Mark any test using an external command as flaky.
2020-05-07 18:16:35 +02:00
ea554ca4fa patch 8.2.0709: MS-Windows: compiler warning for int vs size_t
Problem:    MS-Windows: compiler warning for int vs size_t.
Solution:   Add type cast. (Mike Williams)
2020-05-07 17:46:59 +02:00
61a8981699 patch 8.2.0708: Vim9: constant expressions are not simplified
Problem:    Vim9: constant expressions are not simplified.
Solution:   Simplify string concatenation.
2020-05-07 16:58:17 +02:00
f391586f3f patch 8.2.0707: Vim9 function test fails
Problem:    Vim9 function test fails.
Solution:   Adjust expected error code.
2020-05-07 14:37:19 +02:00
8a1c101315 patch 8.2.0706: Vim9: using assert_fails() causes function to finish
Problem:    Vim9: using assert_fails() causes function to finish.
Solution:   Check did_emsg instead of called_emsg.
2020-05-07 14:07:25 +02:00
3657686a0e patch 8.2.0705: indent tests don't run on CI for FreeBSD
Problem:    Indent tests don't run on CI for FreeBSD.
Solution:   Set modeline. (Ozaki Kiichi, closes #6048)
2020-05-06 22:25:05 +02:00
f821ddaa0c patch 8.2.0704: Vim9: memory leak in disassemble test
Problem:    Vim9: memory leak in disassemble test.
Solution:   Decrement refcount when creating funccal.
2020-05-06 22:18:17 +02:00
b68b346e6d patch 8.2.0703: Vim9: closure cannot store value in outer context
Problem:    Vim9: closure cannot store value in outer context.
Solution:   Make storing value in outer context work.  Make :disassemble
            accept a function reference.
2020-05-06 21:06:30 +02:00
54ed0dff29 patch 8.2.0702: running channel tests may leave running process behind
Problem:    Running channel tests may leave running process behind.
Solution:   Make Python client exit when running into EOF. (Kurtis Rader,
            part of #6046)
2020-05-06 19:38:30 +02:00
2a1381c305 patch 8.2.0701: Vim9 test fails without job feature
Problem:    Vim9 test fails without job feature.
Solution:   Add feature check.
2020-05-05 23:32:58 +02:00
40ee466c36 patch 8.2.0700: Vim9: converting error message to exception not tested
Problem:    Vim9: converting error message to exception not tested.
Solution:   Test exception from error.  Do not continue after :echoerr.
2020-05-05 22:08:26 +02:00
015f4267f4 patch 8.2.0699: Vim9: not all errors tested
Problem:    Vim9: not all errors tested.
Solution:   Add test for deleted function.  Bail out on first error.
2020-05-05 21:25:22 +02:00
f9ab52e155 patch 8.2.0698: insert mode completion not fully tested
Problem:    Insert mode completion not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6041)
2020-05-05 19:57:18 +02:00
221fcc741a patch 8.2.0697: Vim9: memory leak when using nested function
Problem:    Vim9: memory leak when using nested function.
Solution:   Unreference function when deleting instructions. Adjust reference
            count for local variables.
2020-05-05 19:46:20 +02:00
0e65d3de0a patch 8.2.0696: Vim9: nested function does not work properly
Problem:    Vim9: nested function does not work properly
Solution:   Create a function reference.  Check argument count.
2020-05-05 17:53:16 +02:00
04b1269783 patch 8.2.0695: Vim9: cannot define a function inside a function
Problem:    Vim9: cannot define a function inside a function.
Solution:   Initial support for :def inside :def.
2020-05-04 23:24:44 +02:00
80a8d3889b patch 8.2.0694: Haiku: channel and terminal do not work
Problem:    Haiku: channel and terminal do not work.
Solution:   Close files when the job has finished. (Ozaki Kiichi,
            closes #6039)
2020-05-03 22:57:32 +02:00
2fd4cd755c patch 8.2.0693: closure using argument not tested
Problem:    Closure using argument not tested.
Solution:   Add a test, make it work.
2020-05-03 22:30:49 +02:00
4515bcdec8 patch 8.2.0692: startup test fails on MS-Windows
Problem:    Startup test fails on MS-Windows.
Solution:   Allow for any path.
2020-05-03 18:21:04 +02:00
7779ee30d9 patch 8.2.0691: startup test fails
Problem:    Startup test fails.
Solution:   Adjust expected output from -V2 argument.
2020-05-03 17:55:32 +02:00
5125874951 patch 8.2.0690: line number of option set by modeline is wrong
Problem:    Line number of option set by modeline is wrong.
Solution:   Do not double the line number. (Ozaki Kiichi, closes #6035)
2020-05-03 17:19:33 +02:00
a38b2b737e patch 8.2.0689: when using getaddrinfo() the error message is unclear
Problem:    When using getaddrinfo() the error message is unclear.
Solution:   Use gai_strerror() to get the message. (Ozaki Kiichi,
            closes #6034)
2020-05-03 17:03:29 +02:00
647a530b33 patch 8.2.0688: output clobbered if setting 'verbose' to see shell commands
Problem:    Output clobbered if setting 'verbose' to see shell commands.
Solution:   Only output "Searching for" when 'verbose' is 11 or higher.
2020-05-03 17:01:24 +02:00
41d4299f26 patch 8.2.0687: some tests do not work on FreeBSD
Problem:    Some tests do not work on FreeBSD.
Solution:   Enable modeline.  Use WaitFor() in more cases. (Ozaki Kiichi,
            closes #6036)
2020-05-03 16:29:50 +02:00
2eaeaf3c31 patch 8.2.0686: formatoptions not sufficiently tested
Problem:    Formatoptions not sufficiently tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6031)
2020-05-03 16:04:43 +02:00
3df02f507f patch 8.2.0685: Build failure
Problem:    Build failure.
Solution:   Include missing changes.
2020-05-03 15:47:33 +02:00
f7779c63d4 patch 8.2.0684: Vim9: memory leak when using lambda
Problem:    Vim9: memory leak when using lambda.
Solution:   Move the funccal context to the partial. Free the function when
            exiting.
2020-05-03 15:38:16 +02:00
5adc55cb74 patch 8.2.0683: Vim9: parsing type does not always work
Problem:    Vim9: parsing type does not always work.
Solution:   Handle func type without return value.  Test more closures.
            Fix type check offset.  Fix garbage collection.
2020-05-02 23:12:58 +02:00
1c0d44f8ef patch 8.2.0682: Vim9: parsing function argument type can get stuck
Problem:    Vim9: parsing function argument type can get stuck.
Solution:   Bail out when not making progress.
2020-05-02 19:04:58 +02:00
0b6849e9e3 patch 8.2.0681: pattern for 'hlsearch' highlighting may leak
Problem:    Pattern for 'hlsearch' highlighting may leak. (Dominique Pelle)
Solution:   Call end_search_hl() to make sure the previous pattern is freed.
            (closes #6028)
2020-05-02 18:33:25 +02:00
01f731e97c patch 8.2.0680: PTYGROUP and PTYMODE are unused
Problem:    PTYGROUP and PTYMODE are unused.
Solution:   Remove from autoconf. (closes #6024)
2020-05-02 18:14:37 +02:00
bf67ea1af0 patch 8.2.0679: Vim9: incomplete support for closures
Problem:    Vim9: incomplete support for closures.
Solution:   At the end of a function copy arguments and local variables if
            they are still used by a referenced closure.
2020-05-02 17:52:42 +02:00
d58a662f44 patch 8.2.0678: rare crash for popup menu
Problem:    Rare crash for popup menu.
Solution:   Check for NULL pointer. (Nobuhiro Takasaki, closes #6027)
2020-05-02 14:52:57 +02:00
c8cd2b34d1 patch 8.2.0677: Vim9: no support for closures
Problem:    Vim9: no support for closures.
Solution:   Find variables in the outer function scope, so long as the scope
            exists.
2020-05-01 19:29:08 +02:00
37addecc42 patch 8.2.0676: pattern in list of distributed files does not match
Problem:    Pattern in list of distributed files does not match.
Solution:   Drop "testdir/test_[a-z]*.ok".  Add CI sed files.
2020-05-01 16:08:11 +02:00
7ceefb35c8 Update runtime files 2020-05-01 16:07:38 +02:00
b84a381c75 patch 8.2.0675: Vim9: no support for closures
Problem:    Vim9: no support for closures.
Solution:   Do not re-use stack entries.
2020-05-01 15:44:29 +02:00
11abd09521 patch 8.2.0674: some source files are too big
Problem:    Some source files are too big.
Solution:   Move text formatting functions to a new file. (Yegappan
            Lakshmanan, closes #6021)
2020-05-01 14:26:37 +02:00
4cfde1d273 patch 8.2.0673: cannot build Haiku in shadow directory
Problem:    Cannot build Haiku in shadow directory.
Solution:   Add symlink. (Ozaki Kiichi, closes #6023)
2020-05-01 14:14:07 +02:00
6ab0953fef patch 8.2.0672: heredoc in scripts does not accept lower case marker
Problem:    Heredoc in scripts does not accept lower case marker.
Solution:   Allow lower case only in non-Vim scripts. (Ken Takata,
            closes #6019)
2020-05-01 14:10:13 +02:00
9e175141f3 patch 8.2.0671: Haiku: compiler warnings
Problem:    Haiku: compiler warnings.
Solution:   Avoid the warnings. Drop display_errors() copy. (Emir Sari,
            closes #6018)
2020-04-30 22:51:01 +02:00
6adb9ea0a6 patch 8.2.0670: cannot change window when evaluating 'completefunc'
Problem:    Cannot change window when evaluating 'completefunc'.
Solution:   Make a difference between not changing text or buffers and also
            not changing window.
2020-04-30 22:31:18 +02:00
4e5534fab7 patch 8.2.0669: MS-Windows: display in VTP is a bit slow
Problem:    MS-Windows: display in VTP is a bit slow.
Solution:   Optimize the code. (Nobuhiro Takasaki, closes #6014)
2020-04-30 20:59:57 +02:00
7f6f56f43c patch 8.2.0668: compiler warning for int/size_t usage
Problem:    Compiler warning for int/size_t usage.
Solution:   Change "int" to "size_t". (Mike Williams)
2020-04-30 20:21:43 +02:00
2c5c1638a9 patch 8.2.0667: cannot install Haiku version from source
Problem:    Cannot install Haiku version from source.
Solution:   Update Makefile and rdef file. (Emir Sari, closes #6013)
2020-04-30 19:54:38 +02:00
88e6cc2539 patch 8.2.0666: Ruby test fails on MS-Windows
Problem:    Ruby test fails on MS-Windows.
Solution:   Remove the "maintainer" line. (Ken Takata, closes #6015)
2020-04-30 19:19:29 +02:00
a161cb5ddd patch 8.2.0665: wrongly assuming Python executable is called "python"
Problem:    Wrongly assuming Python executable is called "python".
Solution:   Use detected python command. (Ken Takata, closes #6016)
            Also use CheckFunction if possible.
2020-04-30 19:09:35 +02:00
8dbafd0790 patch 8.2.0664: included undesired changes in Makefile
Problem:    Included undesired changes in Makefile.
Solution:   Revert the changes.
2020-04-29 23:11:32 +02:00
512fe833c3 patch 8.2.0663: not all systemd temp files are recognized
Problem:    Not all systemd temp files are recognized.
Solution:   Add two more patterns. (Jamie Macdonald, closes #6003)
2020-04-29 23:02:40 +02:00
dfc33a665d patch 8.2.0662: cannot use input() in a channel callback
Problem:    Cannot use input() in a channel callback.
Solution:   Reset vgetc_busy. (closes #6010)
2020-04-29 22:30:13 +02:00
339d60c89b patch 8.2.0661: eval test is still old style
Problem:    Eval test is still old style.
Solution:   Change into new style tests. (Yegappan Lakshmanan, closes #6009)
2020-04-29 22:01:21 +02:00
ed8ce057b7 patch 8.2.0660: the search.c file is a bit big
Problem:    The search.c file is a bit big.
Solution:   Split off the text object code to a separate file. (Yegappan
            Lakshmanan, closes #6007)
2020-04-29 21:04:15 +02:00
939b5db480 patch 8.2.0659: Vim9: no test for equal func type
Problem:    Vim9: no test for equal func type.
Solution:   Add a test.  Improve type check.
2020-04-28 22:49:08 +02:00
affc8fd2cd patch 8.2.0658: HP-UX build fails when setenv() is not defined
Problem:    HP-UX build fails when setenv() is not defined.
Solution:   Change "colors" to "t_colors". (John Marriott)
2020-04-28 21:58:29 +02:00
a0a9f43ab2 patch 8.2.0657: Vim9: no check if called variable is a FuncRef
Problem:    Vim9: no check if called variable is a FuncRef.
Solution:   Add a type check.
2020-04-28 21:29:34 +02:00
7ed8f59ae0 patch 8.2.0656: MS-Windows: redrawing right screen edge may not be needed
Problem:    MS-Windows: redrawing right screen edge may not be needed.
Solution:   Check the build version. (Nobuhiro Takasaki, closes #6002)
2020-04-28 20:44:42 +02:00
224a5f17c6 patch 8.2.0655: search code not sufficiently tested
Problem:    Search code not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5999)
2020-04-28 20:29:07 +02:00
a14bb7e113 patch 8.2.0654: building with Python fails
Problem:    Building with Python fails.
Solution:   Add missing argument.
2020-04-28 00:02:41 +02:00
03afdcf1f4 patch 8.2.0653: using uninitialized pointer
Problem:    using uninitialized pointer.
Solution:   Move assignment up. (John Marriott)
2020-04-27 23:39:30 +02:00
909ed7e902 patch 8.2.0652: compiler warning for char conversion
Problem:    Compiler warning for char conversion.
Solution:   Use unsigned char buffer.
2020-04-27 23:16:41 +02:00
57700ee4ac patch 8.2.0651: old style benchmark test still in list of distributed files
Problem:    Old style benchmark test still in list of distributed files.
Solution:   Remove the files from the list.
2020-04-27 22:51:33 +02:00
4c17ad94ec patch 8.2.0650: Vim9: script function can be deleted
Problem:    Vim9: script function can be deleted.
Solution:   Disallow deleting script function.  Delete functions when sourcing
            a script again.
2020-04-27 22:47:51 +02:00
db93495d27 patch 8.2.0649: undo problem whn an InsertLeave autocommand resets undo
Problem:    Undo problem whn an InsertLeave autocommand resets undo. (Kutsan
            Kaplan)
Solution:   Do not create a new undo block when leaving Insert mode.
2020-04-27 20:18:31 +02:00
0e71704b77 patch 8.2.0648: semicolon search does not work in first line
Problem:    Semicolon search does not work in first line.
Solution:   Allow the cursor to be in line zero. (Christian Brabandt,
            closes #5996)
2020-04-27 19:29:01 +02:00
bc970da807 patch 8.2.0647: MS-Windows: repeat count for events was not used
Problem:    MS-Windows: repeat count for events was not used.
Solution:   Check the repeat count. (Nobuhiro Takasaki, closes #5989)
2020-04-26 19:00:07 +02:00
759d81549c patch 8.2.0646: t_Co uses the value of $COLORS in the GUI
Problem:    t_Co uses the value of $COLORS in the GUI. (Masato Nishihata)
Solution:   Ignore $COLORS for the GUI. (closes #5992)
2020-04-26 16:52:49 +02:00
07b761a012 patch 8.2.0645: MS-Windows terminal: CTRL-C does not get to child job
Problem:    MS-Windows terminal: CTRL-C does not get to child job.
Solution:   Remove CREATE_NEW_PROCESS_GROUP from CreateProcessW(). (Nobuhiro
            Takasaki, closes #5987)
2020-04-26 16:06:01 +02:00
99fa721944 patch 8.2.0644: insufficient testing for invalid function arguments
Problem:    Insufficient testing for invalid function arguments.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5988)
2020-04-26 15:59:55 +02:00
e297802d6d patch 8.2.0643: terminal uses brown instead of dark yellow
Problem:    Terminal uses brown instead of dark yellow. (Romain Lafourcade)
Solution:   Use color index 3 instead of 130. (closes #5993)
2020-04-26 14:47:44 +02:00
7d41aa8874 patch 8.2.0642: Vim9: using invalid index
Problem:    Vim9: using invalid index.
Solution:   Check index for being valid.  Fix memory leak.
2020-04-26 14:29:56 +02:00
6378c4fef3 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Problem:    Vim9:  not expanded in :hardcopy and "syntax include".
Solution:   Add the EX_EXPAND flag.  Expend "syntax include".
2020-04-26 13:50:41 +02:00
cfe435d7fe patch 8.2.0640: Vim9: expanding does not work
Problem:    Vim9: expanding  does not work.
Solution:   Find wildcards in not compiled commands.  Reorganize test files.
2020-04-25 20:02:55 +02:00
49b2fb36ca patch 8.2.0639: MS-Windows: messages test still fails
Problem:    MS-Windows: messages test still fails.
Solution:   Filter out the maintainer message.
2020-04-25 17:13:56 +02:00
47a1a8baf9 patch 8.2.0638: MS-Windows: messages test fails
Problem:    MS-Windows: messages test fails.
Solution:   Clear environment variables.
2020-04-25 16:41:58 +02:00
333015a46e patch 8.2.0637: incsearch highlighting does not work for ":sort!"
Problem:    Incsearch highlighting does not work for ":sort!".
Solution:   Skip over the exclamation point. (closes #5983)
2020-04-25 15:54:16 +02:00
41f6918bf4 patch 8.2.0636: :messages does not show the maintainer when $LANG is unset
Problem:    :messages does not show the maintainer when $LANG is unset.
Solution:   Call get_mess_lang() if available. (closes #5978)
2020-04-25 15:45:37 +02:00
e93c968f52 patch 8.2.0635: when using 256 colors DarkYellow does not show expected color
Problem:    When using 256 colors DarkYellow does not show expected color.
Solution:   Use color 3 instead of 130. (Romain Lafourcade, closes #5985)
2020-04-25 15:35:32 +02:00
92b83ccfda patch 8.2.0634: crash with null partial and blob
Problem:    Crash with null partial and blob.
Solution:   Check for NULL pointer.  Add more tests. (Yegappan Lakshmanan,
            closes #5984)
2020-04-25 15:24:44 +02:00
9d8d0b5c64 patch 8.2.0633: crash when using null partial in filter()
Problem:    Crash when using null partial in filter().
Solution:   Fix crash.  Add more tests. (Yegappan Lakshmanan, closes #5976)
2020-04-24 22:47:31 +02:00
92c461ef1b patch 8.2.0632: crash when using Haiku
Problem:    Crash when using Haiku.
Solution:   Lock the screen. (closes #5975, closes #5973)
2020-04-24 22:19:00 +02:00
b52575f9cf patch 8.2.0631: Haiku file formatted with wrong tabstop
Problem:    Haiku file formatted with wrong tabstop.
Solution:   Use normal tabstop. Fix white space.
2020-04-24 22:16:13 +02:00
7714d7b31f patch 8.2.0630: "make tags" does not cover Haiku GUI file
Problem:    "make tags" does not cover Haiku GUI file.
Solution:   Add *.cc files.
2020-04-24 21:21:06 +02:00
65d032c779 patch 8.2.0629: setting a boolean option to v:false does not work
Problem:    Setting a boolean option to v:false does not work.
Solution:   Do not use the string representation of the value. (Christian
            Brabandt, closes #5974)
2020-04-24 20:57:01 +02:00
e71ebb46a2 patch 8.2.0628: error in menu translations
Problem:    Error in menu translations.
Solution:   Insert a backslash before a space in one more file. (Shun Bai,
            Emir Sari)
2020-04-23 23:54:04 +02:00
b8ce6b0005 patch 8.2.0627: Vim9: error message does not work
Problem:    Vim9: error message does not work. (Yegappan Lakshmanan)
Solution:   Swap lines.
2020-04-23 22:23:14 +02:00
f93c7fea08 patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Problem:    Vim9: wrong syntax of function in Vim9 script.
Solution:   Give error for missing space. Implement :echomsg and :echoerr.
            (closes #5670)
2020-04-23 22:16:53 +02:00
1df8b3fb04 patch 8.2.0625: Vim9: confusing error when calling unknown function
Problem:    Vim9: confusing error when calling unknown function.
Solution:   Give error while compiling.
2020-04-23 18:13:23 +02:00
a72cfb80cd patch 8.2.0624: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.  Fix :throw with double quoted string.
2020-04-23 17:07:30 +02:00
f7b398c6a9 patch 8.2.0623: typo in test comment
Problem:    Typo in test comment. (Christ van Willegen)
Solution:   Avoid mixing up a data structure with a body part.
2020-04-23 15:46:35 +02:00
beae4084fd patch 8.2.0622: Haiku: GUI does not compile
Problem:    Haiku: GUI does not compile.
Solution:   Various fixes. (Emir Sari, closes #5961)
2020-04-23 15:41:49 +02:00
95a467e7ee patch 8.2.0621: after running tests asan files may remain
Problem:    After running tests asan files may remain.
Solution:   Clean up asan files with "make testclean".
2020-04-23 14:41:46 +02:00
0d6fe631f7 patch 8.2.0620: error in menu translations
Problem:    Error in menu translations.
Solution:   Insert a backslash before a space.
2020-04-23 13:58:12 +02:00
ea04a6e8ba patch 8.2.0619: null dict is not handled like an empty dict
Problem:    Null dict is not handled like an empty dict.
Solution:   Fix the code and add tests. (Yegappan Lakshmanan, closes #5968)
2020-04-23 13:38:02 +02:00
db950e4c03 patch 8.2.0618: echoing a null list results in no output
Problem:    Echoing a null list results in no output. (Yegappan Lakshmanan)
Solution:   Return "[]" instead of NULL in echo_string_core().
2020-04-22 19:13:19 +02:00
d2662ad2de patch 8.2.0617: new error check triggers in Swedish menu
Problem:    New error check triggers in Swedish menu.
Solution:   Insert backslash. (Mats Tegner, closes #5966)
2020-04-22 14:30:31 +02:00
e770598f31 patch 8.2.0616: build error when disabling the diff feature
Problem:    Build error when disabling the diff feature.
Solution:   Move parenthesis outside of #ifdef. (Tom Ryder)
2020-04-21 22:23:15 +02:00
ad48e6c159 patch 8.2.0615: regexp benchmark stest is old style
Problem:    Regexp benchmark stest is old style.
Solution:   Make it a new style test.  Fix using a NULL list.  Add more tests.
            (Yegappan Lakshmanan, closes #5963)
2020-04-21 22:19:45 +02:00
ff06f283e3 patch 8.2.0614: get ml_get error when deleting a line in 'completefunc'
Problem:    Get ml_get error when deleting a line in 'completefunc'. (Yegappan
            Lakshmanan)
Solution:   Lock the text while evaluating 'completefunc'.
2020-04-21 22:01:14 +02:00
1966c24881 patch 8.2.0613: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
2020-04-20 22:42:32 +02:00
2c7f8c574f Update runtime files 2020-04-20 19:52:53 +02:00
2c5ed4e330 patch 8.2.0612: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
2020-04-20 19:42:10 +02:00
faac410409 patch 8.2.0611: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
2020-04-20 17:46:14 +02:00
08f4157c5c patch 8.2.0610: some tests are still old style
Problem:    Some tests are still old style.
Solution:   Convert to new style tests. (Yegappan Lakshmanan, closes #5957)
2020-04-20 16:50:00 +02:00
ad4dc83389 patch 8.2.0609: configure does not detect moonjit correctly
Problem:    Configure does not detect moonjit correctly.
Solution:   Double the brackets. (Ozaki Kiichi)
2020-04-20 16:21:53 +02:00
4da6df40f5 patch 8.2.0608: warning from clang when building message test
Problem:    Warning from clang when building message test.
Solution:   Use a void pointer.  (Dominique Pelle, closes #5958)
2020-04-20 16:12:09 +02:00
2bb76accc6 patch 8.2.0607: gcc warns for using uninitialized variable
Problem:    Gcc warns for using uninitialized variable. (John Marriott)
Solution:   Set name_end also for environment variables.
2020-04-19 22:57:44 +02:00
fbf2122cf9 patch 8.2.0606: several syntax HL errors not checked
Problem:    Several syntax HL errors not checked.
Solution:   Add tests. (Yegappan Lakshmanan, closes #5954)
2020-04-19 18:31:25 +02:00
7bdaea6e0d patch 8.2.0605: Vim9: cannot unlet an environment variable
Problem:    Vim9: cannot unlet an environment variable.
Solution:   Implement unlet for $VAR.
2020-04-19 18:27:26 +02:00
eb58a24658 patch 8.2.0604: :startinsert in a terminal window used later
Problem:    :startinsert in a terminal window used later.
Solution:   Ignore :startinsert in a terminal window. (closes #5952)
2020-04-19 18:13:19 +02:00
f49e564082 patch 8.2.0603: configure does not detect moonjit
Problem:    Configure does not detect moonjit.
Solution:   Add check for moonjit. (Shlomi Fish, closes #5947)
2020-04-19 17:46:53 +02:00
7e0868efcf patch 8.2.0602: :unlet $VAR does not work properly
Problem:    :unlet $VAR does not work properly.
Solution:   Make ":lockvar $VAR" fail.  Check the "skip" flag.
2020-04-19 17:24:53 +02:00
d72c1bf0a6 patch 8.2.0601: Vim9: :unlet is not compiled
Problem:    Vim9: :unlet is not compiled.
Solution:   Implement :unlet instruction and check for errors.
2020-04-19 16:28:59 +02:00
d3aac2917d patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Problem:    Vim9: cannot read or write w:, t: and b: variables.
Solution:   Implement load and store for w:, t: and b: variables.
            (closes #5950)
2020-04-19 14:32:17 +02:00
173d841e86 patch 8.2.0599: Netbeans interface insufficiently tested
Problem:    Netbeans interface insufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5921)
2020-04-19 14:02:26 +02:00
61fbb3371e patch 8.2.0598: test_eval_stuff fails in normal terminal
Problem:    Test_eval_stuff fails in normal terminal.
Solution:   Close the new window.
2020-04-18 23:20:37 +02:00
90455cfa87 patch 8.2.0597: test_eval is old style
Problem:    Test_eval is old style.
Solution:   Change some tests to a new style test.
2020-04-18 21:56:38 +02:00
ec9749f33d patch 8.2.0596: crash in test49
Problem:    Crash in test49.
Solution:   Check the right pointer.
2020-04-18 20:51:40 +02:00
a26b9700d7 patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Problem:    Vim9: not all commands using ends_excmd() tested.
Solution:   Find # comment after regular commands. Add more tests.  Report
            error for where it was caused.
2020-04-18 19:53:28 +02:00
b6fb0516ec patch 8.2.0594: MS-Windows: cannot build with WINVER set to 0x0501
Problem:    MS-Windows: cannot build with WINVER set to 0x0501.
Solution:   Only use inet_ntop() when available. (Ozaki Kiichi, closes #5946)
2020-04-18 18:24:18 +02:00
a494f56f88 patch 8.2.0593: finding a user command is not optimal
Problem:    Finding a user command is not optimal.
Solution:   Start further down in the list of commands.
2020-04-18 17:45:38 +02:00
2695de63e3 patch 8.2.0592: MS-Windows with VTP: cursor is not made invisible
Problem:    MS-Windows with VTP: cursor is not made invisible.
Solution:   Output the code to make the cursor visible or invisible. (Nobuhiro
            Takasaki, closes #5941)
2020-04-17 21:13:01 +02:00
aa82259fef patch 8.2.0591: MS-Windows: should always support IPv6
Problem:    MS-Windows: should always support IPv6
Solution:   Add build flag. (Ozaki Kiichi, closes #5944)
2020-04-17 20:48:57 +02:00
aa0489e12d patch 8.2.0590: no 'backspace' value allows ignoring the insertion point
Problem:    No 'backspace' value allows ignoring the insertion point.
Solution:   Add the "nostop" and 3 values. (Christian Brabandt, closes #5940)
2020-04-17 19:41:21 +02:00
0fc1288aef patch 8.2.0589: .bsd file type not recognized
Problem:    .bsd file type not recognized.
Solution:   Recognize .bsd as BSDL. (Daniel Kho, closes #5945)
2020-04-17 19:23:06 +02:00
314ca7cbb4 patch 8.2.0588: Putty does not use "sgr" 'ttymouse' by default
Problem:    Putty does not use "sgr" 'ttymouse' by default.
Solution:   Make "sgr" the default for Putty. (Christian Brabandt,
            closes #5942)
2020-04-17 16:40:31 +02:00
21cfe500f3 patch 8.2.0587: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add UNUSED.
2020-04-16 23:01:50 +02:00
4a8d9f2ed8 patch 8.2.0586: Vim9: # comment not sufficiently tested
Problem:    Vim9: # comment not sufficiently tested
Solution:   Check for preceding white space.
2020-04-16 22:54:32 +02:00
7a09224583 patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Problem:    Vim9: # comment not recognized after :vim9script.
Solution:   Check script type. Make comment after ":echo" work.  And in
            several other places.
2020-04-16 22:10:49 +02:00
c5f33db888 patch 8.2.0584: viminfo file uses obsolete function file_readable()
Problem:    Viminfo file uses obsolete function file_readable().
Solution:   Use filereadable(). (closes #5934)
2020-04-16 21:04:41 +02:00
cb711abf0f patch 8.2.0583: Vim9: # comment not recognized in :def function
Problem:    Vim9: # comment not recognized in :def function.
Solution:   Recognize and skip # comment.
2020-04-16 13:00:29 +02:00
b4a549fb16 patch 8.2.0582: color ramp test does not show text colors
Problem:    Color ramp test does not show text colors.
Solution:   Add a row of 16 text colors and 16 bold text colors.
2020-04-15 21:44:11 +02:00
81ccbf199f patch 8.2.0581: Win32 console: the cursor position is always top-left
Problem:    Win32 console: the cursor position is always top-left.
Solution:   Revert the patch for restoring screen.
2020-04-15 21:05:30 +02:00
edd327cc07 patch 8.2.0580: window size wrong if 'ea' is off and 'splitright' is on
Problem:    Window size wrong if 'ea' is off and 'splitright' is on and
            splitting then closing a window.
Solution:   Put abandoned window space in the right place. (Mark Waggoner)
2020-04-15 20:05:47 +02:00
4d5d0dfe94 patch 8.2.0579: Coverity warns for unused value
Problem:    Coverity warns for unused value.
Solution:   Change order and use "else if".
2020-04-14 20:56:31 +02:00
6c2b7b8055 patch 8.2.0578: heredoc for interfaces does not support "trim"
Problem:    Heredoc for interfaces does not support "trim".
Solution:   Update the script heredoc support to be same as the :let command.
            (Yegappan Lakshmanan, closes #5916)
2020-04-14 20:15:49 +02:00
7a1637f4c0 patch 8.2.0577: not all modifiers supported for :options
Problem:    Not all modifiers supported for :options.
Solution:   Use all cmdmod.split flags. (closes #4401)
2020-04-13 21:16:21 +02:00
067297e16a patch 8.2.0576: some errors are not covered by tests
Problem:    Some errors are not covered by tests.
Solution:   Add a few more tests. (Dominique Pelle, closes #5920)
2020-04-13 19:55:50 +02:00
e3242346cf patch 8.2.0575: :digraph! not tested
Problem:    :digraph! not tested.
Solution:   Add a test. (Dominique Pelle, closes #5925)
2020-04-13 19:46:43 +02:00
352f554b85 patch 8.2.0574: ipv6 feature not shown in :version output
Problem:    Ipv6 feature not shown in :version output.
Solution:   Add ipv6 in :version output. (Ozaki Kiichi, closes #5924)
2020-04-13 19:04:21 +02:00
278e83863b patch 8.2.0573: using :version twice leaks memory
Problem:    using :version twice leaks memory
Solution:   Only initialize variables once. (Dominique Pelle, closes #5917)
2020-04-13 18:25:33 +02:00
df1956075d patch 8.2.0572: using two lines for free and reset
Problem:    Using two lines for free and reset.
Solution:   Use VIM_CLEAR() instead. (Yegappan Lakshmanan)
2020-04-13 18:13:33 +02:00
0015795baa patch 8.2.0571: double free when passing invalid argument to job_start()
Problem:    Double free when passing invalid argument to job_start().
Solution:   Clear the argument when freed. (Masato Nishihata, closes #5926)
2020-04-13 17:44:47 +02:00
6e949784be patch 8.2.0570: Vim9: no error when omitting type from argument
Problem:    Vim9: no error when omitting type from argument.
Solution:   Enforce specifying argument types.
2020-04-13 17:21:00 +02:00
fbda69b309 patch 8.2.0569: build failure with tiny version
Problem:    Build failure with tiny version.
Solution:   Add #ifdef.
2020-04-13 15:06:53 +02:00
55b0fb7001 patch 8.2.0568: the man filetype plugin overwrites the unnamed register
Problem:    The man filetype plugin overwrites the unnamed register.
Solution:   Use the black hole register. (Jason Franklin)
2020-04-13 14:58:37 +02:00
2c330432cf patch 8.2.0567: Vim9: cannot put comments halfway expressions
Problem:    Vim9: cannot put comments halfway expressions.
Solution:   Support # comments in many places.
2020-04-13 14:41:35 +02:00
1a2f4bf6c8 patch 8.2.0566: Vim9: variable can be used uninitialized
Problem:    Vim9: variable can be used uninitialized.
Solution:   Jump to after where variable is used.
2020-04-12 23:09:25 +02:00
675f716efb patch 8.2.0565: Vim9: tests contain superfluous line continuation
Problem:    Vim9: tests contain superfluous line continuation.
Solution:   Remove line continuation no longer needed.  Skip empty lines.
2020-04-12 22:53:54 +02:00
23e032523e patch 8.2.0564: Vim9: calling a def function from non-vim9 may fail
Problem:    Vim9: calling a def function from non-vim9 may fail.
Solution:   Convert varargs to a list.
2020-04-12 22:22:31 +02:00
5e774c7579 patch 8.2.0563: Vim9: cannot split a function line
Problem:    Vim9: cannot split a function line.
Solution:   Continue in next line so long as the function isn't done.
2020-04-12 21:53:00 +02:00
9c7e6dd653 patch 8.2.0562: Vim9: cannot split an expression into multiple lines
Problem:    Vim9: cannot split an expression into multiple lines.
Solution:   Continue in next line after an operator.
2020-04-12 20:55:20 +02:00
e6085c5350 patch 8.2.0561: Vim9: cannot split function call in multiple lines
Problem:    Vim9: cannot split function call in multiple lines.
Solution:   Find more arguments in following lines.
2020-04-12 20:19:16 +02:00
2196bce56f patch 8.2.0560: compiler warning in tiny build
Problem:    Compiler warning in tiny build.
Solution:   Move declaration inside #ifdef. (Dominique Pelle, closes #5915)
2020-04-12 20:01:11 +02:00
a80faa8930 patch 8.2.0559: clearing a struct is verbose
Problem:    Clearing a struct is verbose.
Solution:   Define and use CLEAR_FIELD() and CLEAR_POINTER().
2020-04-12 19:37:17 +02:00
82de464f76 patch 8.2.0558: Vim9: dict code not covered by tests
Problem:    Vim9: dict code not covered by tests.
Solution:   Remove dead code, adjust test case.
2020-04-12 18:02:06 +02:00
bfe13ccc58 patch 8.2.0557: no IPv6 support for channels
Problem:    No IPv6 support for channels.
Solution:   Add IPv6 support. (Ozaki Kiichi, closes #5893)
2020-04-12 17:53:12 +02:00
c5f1ef53c2 patch 8.2.0556: Vim9: memory leak when finding common type
Problem:    Vim9: memory leak when finding common type.
Solution:   Store allocated memory in type growarray.
2020-04-12 17:11:27 +02:00
4fdae9996f patch 8.2.0555: Vim9: line continuation is not always needed
Problem:    Vim9: line continuation is not always needed.
Solution:   Recognize continuation lines automatically in list and dict.
2020-04-12 16:38:57 +02:00
acc770a10f patch 8.2.0554: the GUI doesn't set t_Co
Problem:    The GUI doesn't set t_Co.
Solution:   In the GUI set t_Co to 256 * 256 * 256. (closes #5903)
2020-04-12 15:11:06 +02:00
cd630becc8 patch 8.2.0553: error for unused argument
Problem:    Error for unused argument.
Solution:   Add UNUSED.
2020-04-12 14:50:26 +02:00
99aaf0ce7c patch 8.2.0552: Vim9: some errors not covered by tests
Problem:    Vim9: some errors not covered by tests.
Solution:   Add more tests.  Check Funcref argument types.
2020-04-12 14:39:53 +02:00
1363a30cef patch 8.2.0551: not all code for options is tested
Problem:    Not all code for options is tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5913)
2020-04-12 13:50:26 +02:00
88c1ee84d6 patch 8.2.0550: some changes in the libvterm upstream code
Problem:    Some changes in the libvterm upstream code.
Solution:   Include some changes.
2020-04-12 13:38:57 +02:00
3b922f1138 patch 8.2.0549: user systemd files not recognized
Problem:    User systemd files not recognized.
Solution:   Add filetype patterns. (Kevin Locke, closes #5914)
2020-04-12 12:54:52 +02:00
08938eeba4 patch 8.2.0548: Vim9: not all possible func type errors tested
Problem:    Vim9: not all possible func type errors tested.
Solution:   Add more tests.
2020-04-11 23:17:17 +02:00
e7f234120f patch 8.2.0547: Win32: restoring screen not always done right
Problem:    Win32: restoring screen not always done right.
Solution:   Use a more appropriate method. (Nobuhiro Takasaki, closes #5909)
2020-04-11 22:38:34 +02:00
fe27081724 patch 8.2.0546: Vim9: varargs implementation is inefficient
Problem:    Vim9: varargs implementation is inefficient.
Solution:   Create list without moving the arguments.
2020-04-11 22:31:27 +02:00
d19a8f97ad patch 8.2.0545: unused arguments ignored in non-standard way
Problem:    Unused arguments ignored in non-standard way.
Solution:   Add UNUSED instead of (void).
2020-04-11 21:42:48 +02:00
880e4d9117 patch 8.2.0544: memory leak in search test
Problem:    Memory leak in search test.
Solution:   Free msgbuf. (Dominique Pelle, closes #5912)
2020-04-11 21:31:28 +02:00
1378fbc459 patch 8.2.0543: Vim9: function with varargs does not work properly
Problem:    Vim9: function with varargs does not work properly.
Solution:   Improve function type spec and add tests.  Fix bugs.
2020-04-11 20:50:33 +02:00
8832a34578 patch 8.2.0542: no test for E386
Problem:    No test for E386.
Solution:   Add a test. (Dominique Pelle, closes #5911)
2020-04-11 18:36:38 +02:00
81ea1dfb97 patch 8.2.0541: Travis CI does not give compiler warnings
Problem:    Travis CI does not give compiler warnings.
Solution:   Add flags for warnings.  Fix uncovered problems. (Ozaki Kiichi,
            closes #5898)
2020-04-11 18:01:41 +02:00
004a6781b3 patch 8.2.0540: regexp and other code not tested
Problem:    Regexp and other code not tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5904)
2020-04-11 17:09:31 +02:00
d1caa941d8 Update runtime files 2020-04-10 22:10:56 +02:00
7b293c730b patch 8.2.0539: comparing two NULL list fails
Problem:    Comparing two NULL list fails.
Solution:   Change the order of comparing two lists.
2020-04-09 21:33:22 +02:00
9c8bb7c0e2 patch 8.2.0538: Vim9: VAR_PARTIAL is not used during compilation
Problem:    Vim9: VAR_PARTIAL is not used during compilation.
Solution:   Remove VAR_PARTIAL.
2020-04-09 21:08:09 +02:00
cab2767874 patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Problem:    Vim9: no check for sandbox when setting v:var.
Solution:   Check for sandbox.
2020-04-09 20:10:55 +02:00
5da356e073 patch 8.2.0536: Vim9: some compilation code not tested
Problem:    Vim9: some compilation code not tested.
Solution:   Add more test cases.
2020-04-09 19:34:43 +02:00
4d23c52824 patch 8.2.0535: regexp patterns not fully tested
Problem:    Regexp patterns not fully tested.
Solution:   Add more regexp tests and others. (Yegappan Lakshmanan,
            closes #5901)
2020-04-09 18:42:11 +02:00
25d5700952 patch 8.2.0534: client-server test fails under valgrind
Problem:    Client-server test fails under valgrind.
Solution:   Use WaitForAssert().
2020-04-08 22:56:34 +02:00
6a2c5a7dd5 patch 8.2.0533: tests using term_wait() can still be flaky
Problem:    Tests using term_wait() can still be flaky.
Solution:   Increase the wait time when rerunning a test. (James McCoy,
            closes #5899)  Halve the initial times to make tests run faster
            when there is no rerun.
2020-04-08 21:50:25 +02:00
7035fd9d90 patch 8.2.0532: cannot use simplify() as a method
Problem:    Cannot use simplify() as a method.
Solution:   Add FEARG_1. (closes #5996)
2020-04-08 20:03:52 +02:00
476a613135 patch 8.2.0531: various errors not tested
Problem:    Various errors not tested.
Solution:   Add tests. (Yegappan Lakshmanan, closes #5895)
2020-04-08 19:48:56 +02:00
a65c288134 patch 8.2.0530: test crashes on s390
Problem:    Test crashes on s390. (James McCoy)
Solution:   Explicitly define an 8 big signed type. (closes #5897)
2020-04-08 11:31:48 +02:00
49cf7cc8d2 patch 8.2.0529: Vim9: function argument with default not checked
Problem:    Vim9: function argument with default not checked.
Solution:   Check type of argument with default value.
2020-04-07 22:45:00 +02:00
0b76b42d0a patch 8.2.0528: Vim9: function arguments insufficiently tested
Problem:    Vim9: function arguments insufficiently tested.
Solution:   Check types.  Add more tests.  Fix function with varargs only.
2020-04-07 22:05:08 +02:00
ec5929d0fe patch 8.2.0527: Vim9: function types insufficiently tested
Problem:    Vim9: function types insufficiently tested.
Solution:   Add more tests.  Fix white space check.  Add "test_vim9" target.
2020-04-07 20:53:39 +02:00
86b9a3e8cd patch 8.2.0526: Gcc 9 complains about empty statement
Problem:    Gcc 9 complains about empty statement.
Solution:   Add {}. (Dominique Pelle, closes #5894)
2020-04-07 19:57:29 +02:00
40655d5016 patch 8.2.0525: Win32: typo in assignment and misplaced paren
Problem:    Win32: typo in assignment and misplaced paren.
Solution:   Fix the syntax.
2020-04-06 23:49:50 +02:00
c74fbfedfa patch 8.2.0524: Win32: searching for file matches is slow
Problem:    Win32: searching for file matches is slow.
Solution:   Instead of making another round to find any short filename, check
            for the short name right away. Avoid using an ordinary file like a
            directory.  (Nir Lichtman, closes #5883)
2020-04-06 22:56:28 +02:00
00d253e2b2 patch 8.2.0523: loops are repeated
Problem:    Loops are repeated.
Solution:   Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882)
2020-04-06 22:13:01 +02:00
ee4e0c1e9a patch 8.2.0522: several errors are not tested for
Problem:    Several errors are not tested for.
Solution:   Add tests. (Yegappan Lakshmanan, closes #5892)
2020-04-06 21:35:05 +02:00
15352dc6ec patch 8.2.0521: crash when reading a blob fails
Problem:    Crash when reading a blob fails.
Solution:   Avoid keeping a pointer to a freed blob object. (Dominique Pelle,
            closes #5890)  Adjust error messages.
2020-04-06 21:12:42 +02:00
6c307dcd55 patch 8.2.0520: tests are not listed in sorted order
Problem:    Tests are not listed in sorted order.
Solution:   Move test_ex_mode. (Doug Richardson, closes #5889)
2020-04-05 23:04:57 +02:00
8922860afb patch 8.2.0519: Vim9: return type not properly checked
Problem:    Vim9: return type not properly checked.
Solution:   Check type properly, also at runtime.
2020-04-05 22:14:54 +02:00
5ba8d3578c patch 8.2.0518: a terminal falls back to setting $TERM to "xterm"
Problem:    A terminal falls back to setting $TERM to "xterm".
Solution:   Use "xterm-color" if more than 16 colors are supported and
            "xterm-256color" if at least 256 colors are supported.
            (closes #5887)
2020-04-05 21:42:12 +02:00
4c68375057 patch 8.2.0517: Vim9: cannot separate "func" and "func(): void"
Problem:    Vim9: cannot separate "func" and "func(): void".
Solution:   Use VAR_ANY for "any" and VAR_UNKNOWN for "no type".
2020-04-05 21:38:23 +02:00
f87a0400fd patch 8.2.0516: client-server code is spread out
Problem:    Client-server code is spread out.
Solution:   Move client-server code to a new file. (Yegappan Lakshmanan,
            closes #5885)
2020-04-05 20:21:03 +02:00
b8ed3aa9e7 patch 8.2.0515: some compilers cannot add to "void *"
Problem:    Some compilers cannot add to "void *".
Solution:   Cast to "char *".
2020-04-05 19:09:05 +02:00
bdff012f44 patch 8.2.0514: several global functions are used in only one file
Problem:    Several global functions are used in only one file.
Solution:   Make the functions static. (Yegappan Lakshmanan, closes #5884)
2020-04-05 18:56:05 +02:00
5d905c2b96 patch 8.2.0513: reading past allocate memory when using varargs
Problem:    Reading past allocate memory when using varargs.
Solution:   Fix copying function argument types.
2020-04-05 18:20:45 +02:00
5deeb3f1f9 patch 8.2.0512: Vim9: no optional arguments in func type
Problem:    Vim9: no optional arguments in func type.
Solution:   Check for question mark after type.  Find function reference
            without function().
2020-04-05 17:08:17 +02:00
d7ffc0ba8c patch 8.2.0511: Cscope code not fully tested
Problem:    Cscope code not fully tested.
Solution:   Add more test cases. (Dominique Pelle, closes #5886)
2020-04-05 15:36:16 +02:00
8d4ed11da6 patch 8.2.0510: Coverity complains about using uninitialized variable
Problem:    Coverity complains about using uninitialized variable.
Solution:   Assign a value to "scol".  Move code inside NULL check.
2020-04-04 14:50:32 +02:00
cde0ff39da patch 8.2.0509: various code is not properly tested.
Problem:    various code is not properly tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5871)
2020-04-04 14:00:39 +02:00
d77a8525d5 patch 8.2.0508: Vim9: func and partial types not done yet
Problem:    Vim9: func and partial types not done yet
Solution:   Fill in details about func declaration, drop a separate partial
            declaration.
2020-04-03 21:59:57 +02:00
5259275347 patch 8.2.0507: getbufvar() may get the wrong dictionary
Problem:    Getbufvar() may get the wrong dictionary. (David le Blanc)
Solution:   Check for empty name. (closes #5878)
2020-04-03 18:43:35 +02:00
d1e9dc2723 patch 8.2.0506: Coverity complains about ignoring return value
Problem:    Coverity complains about ignoring return value.
Solution:   Add (void).
2020-04-03 18:13:57 +02:00
01603a9970 patch 8.2.0505: term_getty() not sufficiently tested
Problem:    term_getty() not sufficiently tested.
Solution:   Add more asserts. (Dominique Pelle, closes #5877)
2020-04-03 12:56:17 +02:00
3cca299520 patch 8.2.0504: Vim9: leaking scope memory when compilation fails
Problem:    Vim9: leaking scope memory when compilation fails.
Solution:   Cleanup the scope list.
2020-04-02 22:57:36 +02:00
585fea7b98 patch 8.2.0503: Vim9: some code is not tested
Problem:    Vim9: some code is not tested.
Solution:   Add tests.  Fix uncovered problems.
2020-04-02 22:33:21 +02:00
e8c4abbbd7 patch 8.2.0502: Vim9: some code is not tested
Problem:    Vim9: some code is not tested.
Solution:   Add more tests.  Fix uncovered problems.
2020-04-02 21:13:25 +02:00
2c869deeb7 patch 8.2.0501: Vim9: script test fails when channel feature is missing
Problem:    Vim9: script test fails when channel feature is missing.
Solution:   Add a has() condition.
2020-04-02 19:12:08 +02:00
aeea72151c patch 8.2.0500: using the same loop in many places
Problem:    Using the same loop in many places.
Solution:   Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
2020-04-02 18:50:46 +02:00
f10806b250 patch 8.2.0499: calling a lambda is slower than evaluating a string
Problem:    Calling a lambda is slower than evaluating a string.
Solution:   Make calling a lambda faster. (Ken Takata, closes #5727)
2020-04-02 18:34:35 +02:00
4227c789ff patch 8.2.0498: Coverity complains about uninitialized field
Problem:    Coverity complains about uninitialized field.
Solution:   Initialize the whole typval_T.
2020-04-02 16:00:04 +02:00
e5bae13da3 patch 8.2.0497: too verbose output from the asan build in Travis
Problem:    Too verbose output from the asan build in Travis.
Solution:   Filter out suppression messages. (Ozaki Kiichi, closes #5874)
2020-04-02 15:17:32 +02:00
a4d4cf490e patch 8.2.0496: Vim9: disassemble test fails
Problem:    Vim9: disassemble test fails.
Solution:   Separate test cases with recognized constant expressions.
2020-04-02 13:50:27 +02:00
80c34ca312 patch 8.2.0495: Vim9: some code not tested
Problem:    Vim9: some code not tested.
Solution:   Add more tests.  Support more const expressions.
2020-04-01 23:05:18 +02:00
ea94fbe83b patch 8.2.0494: Vim9: asan error
Problem:    Vim9: asan error.
Solution:   Only get the type when there is one.
2020-04-01 22:36:49 +02:00
e69f6d044c patch 8.2.0493: Vim9: some error messages not tested
Problem:    Vim9: some error messages not tested.
Solution:   Add more tests.  Fix uncovered bugs.
2020-04-01 22:11:01 +02:00
a8c1770469 patch 8.2.0492: Vim9: some error messages not tested
Problem:    Vim9: some error messages not tested.
Solution:   Add more tests.  Remove dead code.  Fix uncovered bugs.
2020-04-01 21:17:24 +02:00
2da0f0c445 patch 8.2.0491: cannot recognize a <script> mapping using maparg()
Problem:    Cannot recognize a <script> mapping using maparg().
Solution:   Add the "script" key. (closes #5873)
2020-04-01 19:22:12 +02:00
0afdcf8601 patch 8.2.0490: Win32: VTP doesn't respect 'restorescreen'
Problem:    Win32: VTP doesn't respect 'restorescreen'.
Solution:   Use escape codes to switch to alternate screen. (Nobuhiro
            Takasaki, closes #5872)
2020-04-01 18:29:10 +02:00
25b70c780a patch 8.2.0489: Vim9: memory leaks
Problem:    Vim9: memory leaks.
Solution:   Free memory in the right place.  Add hints for using asan.
2020-04-01 16:34:17 +02:00
05afceeddc patch 8.2.0488: Vim9: compiling can break when using a lambda inside :def
Problem:    Vim9: Compiling can break when using a lambda inside :def.
Solution:   Do not keep a pointer to the dfunc_T for longer time.
2020-03-31 23:32:31 +02:00
bd5da371aa patch 8.2.0487: Vim9: compiling not sufficiently tested
Problem:    Vim9: compiling not sufficiently tested.
Solution:   Add more tests.  Fix bug with PCALL.
2020-03-31 23:13:10 +02:00
9be61bbb17 patch 8.2.0486: Vim9: some code and error messages not tested
Problem:    Vim9: some code and error messages not tested.
Solution:   Add more tests.
2020-03-30 22:51:24 +02:00
01b3862956 patch 8.2.0485: Vim9 script test fails
Problem:    Vim9 script test fails.
Solution:   Stricter condition for adding new local variable.
2020-03-30 21:28:39 +02:00
92dba36fc8 patch 8.2.0484: Vim9: some error messages not tested
Problem:    Vim9: some error messages not tested.
Solution:   Add more tests.
2020-03-30 21:22:56 +02:00
d25ec2cfa0 patch 8.2.0483: Vim9: "let x = x + 1" does not give an error
Problem:    Vim9: "let x = x + 1" does not give an error.
Solution:   Hide the variable when compiling the expression.
2020-03-30 21:05:45 +02:00
ca68ae1311 patch 8.2.0482: channel and sandbox code not sufficiently tested
Problem:    Channel and sandbox code not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5855)
2020-03-30 19:32:53 +02:00
7d333a900d patch 8.2.0481: Travis is still using trusty
Problem:    Travis is still using trusty.
Solution:   Adjust config to use bionic. (Ozaki Kiichi, closes #5868)
2020-03-30 19:13:29 +02:00
0b37a2f379 patch 8.2.0480: Vim9: some code is not tested
Problem:    Vim9: some code is not tested.
Solution:   Add more tests.
2020-03-29 21:38:15 +02:00
2027973b5b patch 8.2.0479: unloading shared libraries on exit has no purpose
Problem:    Unloading shared libraries on exit has no purpose.
Solution:   Do not unload shared libraries on exit.
2020-03-29 20:51:07 +02:00
5908fdf72f patch 8.2.0478: new buffers are not added to the Buffers menu
Problem:    New buffers are not added to the Buffers menu.
Solution:   Turn number into string. (Yee Cheng Chin, closes #5864)
2020-03-29 20:08:45 +02:00
c58164c5cf patch 8.2.0477: Vim9: error messages not tested
Problem:    Vim9: error messages not tested.
Solution:   Add more tests.
2020-03-29 18:40:30 +02:00
52ea92b19d patch 8.2.0476: terminal nasty callback test fails sometimes
Problem:    Terminal nasty callback test fails sometimes.
Solution:   use term_wait() instead of a sleep. (Yee Cheng Chin,closes #5865)
2020-03-29 17:50:48 +02:00
bf54dbeb5c patch 8.2.0475: channel out_cb test still fails sometimes on Mac
Problem:    Channel out_cb test still fails sometimes on Mac.
Solution:   Use an ever longer timeout.
2020-03-29 16:18:58 +02:00
0fff44152d patch 8.2.0474: cannot use :write when using a plugin with BufWriteCmd
Problem:    Cannot use :write when using a plugin with BufWriteCmd.
Solution:   Reset BF_NOTEDITED after BufWriteCmd. (closes #5807)
2020-03-29 16:06:29 +02:00
8601545338 patch 8.2.0473: variables declared in an outer scope
Problem:    Variables declared in an outer scope.
Solution:   Decleare variables only in the scope where they are used.
2020-03-29 15:12:15 +02:00
360bdbda81 patch 8.2.0472: terminal highlight name is set twice, leaking memory
Problem:    Terminal highlight name is set twice, leaking memory.
Solution:   Delete one.
2020-03-28 22:37:14 +01:00
a30590d3e7 patch 8.2.0471: missing change to compile_list()
Problem:    Missing change to compile_list().
Solution:   Add error message.
2020-03-28 22:06:23 +01:00
7b1b36b1cb patch 8.2.0470: Test_confirm_cmd_cancel() can fail on a slow system
Problem:    Test_confirm_cmd_cancel() can fail on a slow system.
Solution:   Use WaitForAssert(). (Ozaki Kiichi, closes #5861)
2020-03-28 21:48:55 +01:00
ee619e5bc0 patch 8.2.0469: Vim9: no error for missing ] after list
Problem:    Vim9: no error for missing ] after list.
Solution:   Add error message. Add more tests.
2020-03-28 21:38:06 +01:00
7c003aa314 patch 8.2.0468: GUI: pixel dust with some fonts and characters
Problem:    GUI: pixel dust with some fonts and characters.
Solution:   Always redraw the character before the cursor. (Nir Lichtman,
            closes #5549, closes #5856)
2020-03-28 20:44:41 +01:00
33fa29cf74 patch 8.2.0467: Vim9: some errors are not tested
Problem:    Vim9: some errors are not tested
Solution:   Add more tests.  Fix that Vim9 script flag is not reset.
2020-03-28 19:41:33 +01:00
09c569038c patch 8.2.0466: not parsing messages recursively breaks the govim plugin
Problem:    Not parsing messages recursively breaks the govim plugin.
Solution:   When called recursively do handle messages but do not close
            channels.
2020-03-28 18:06:31 +01:00
599c89c82f patch 8.2.0465: Vim9: dead code and wrong return type
Problem:    Vim9: dead code and wrong return type.
Solution:   Remove dead code.  Fix return type.  Add more tests.
2020-03-28 14:53:20 +01:00
495282b6e7 Correct list of patch numbers 2020-03-27 20:59:54 +01:00
14285cb801 patch 8.2.0464: typos and other small problems
Problem:    Typos and other small problems.
Solution:   Fix the typos.  Add missing files to the distribution.
2020-03-27 20:58:37 +01:00
2d9d409ad4 patch 8.2.0464: typos and other small problems
Problem:    Typos and other small problems.
Solution:   Fix the typos.  Add missing file to distribution.
2020-03-27 20:52:45 +01:00
191acfdeca Update runtime files 2020-03-27 20:42:43 +01:00
37bb030cd9 patch 8.2.0462: previewwindow test fails on some systems
Problem:    Previewwindow test fails on some systems. (James McCoy)
Solution:   Wait a bit after sending the "o". (closes #5849)
2020-03-27 20:24:14 +01:00
9207d1f523 patch 8.2.0461: confirm test fails on amd64 system
Problem:    Confirm test fails on amd64 system. (Alimar Riesebieter)
Solution:   Add an extra WaitForAssert(). (Dominique Pelle)
2020-03-27 19:41:02 +01:00
bd5e622bfa patch 8.2.0460: build failure because of wrong feature name
Problem:    Build failure because of wrong feature name.
Solution:   Correct feature name.
2020-03-26 23:13:34 +01:00
15c476023f patch 8.2.0459: cannot check if a function name is correct
Problem:    Cannot check if a function name is correct.
Solution:   Add "?funcname" to exists().
2020-03-26 22:16:48 +01:00
bea9023d42 patch 8.2.0458: missing feature check in test function
Problem:    Missing feature check in test function.
Solution:   Add check commands.
2020-03-26 22:09:52 +01:00
26bde6e2eb patch 8.2.0457: Test_quotestar() often fails when run under valgrind
Problem:    Test_quotestar() often fails when run under valgrind.
Solution:   Wait longer for the GUI to start.
2020-03-26 21:11:58 +01:00
72749f062f patch 8.2.0456: Test_confirm_cmd is flaky
Problem:    Test_confirm_cmd is flaky.
Solution:   Add a term_wait() call. (closes #5854)
2020-03-26 20:51:43 +01:00
83d4790a04 patch 8.2.0455: cannot set the highlight group for a specific terminal
Problem:    Cannot set the highlight group for a specific terminal.
Solution:   Add the "highlight" option to term_start(). (closes #5818)
2020-03-26 20:34:00 +01:00
3ed9efc2b1 patch 8.2.0454: some tests fail when the system is slow
Problem:    Some tests fail when the system is slow.
Solution:   Make the run number global, use in the test to increase the
            waiting time. (closes #5841)
2020-03-26 16:50:57 +01:00
7851b1ca99 patch 8.2.0453: trailing space in job_start() command causes empty argument
Problem:    Trailing space in job_start() command causes empty argument.
Solution:   Ignore trailing space. (closes #5851)
2020-03-26 16:27:38 +01:00
a9c3a30891 patch 8.2.0452: channel_parse_messages() fails when called recursively
Problem:    channel_parse_messages() fails when called recursively.
Solution:   Return for a recursive call. (closes #5835)
2020-03-26 16:03:45 +01:00
82e743c5b3 patch 8.2.0451: Win32: double-width character displayed incorrectly
Problem:    Win32: double-width character displayed incorrectly.
Solution:   First move the cursor to the first column. (Nobuhiro Takasaki,
            closes #5848)
2020-03-26 15:39:53 +01:00
7d941ee032 patch 8.2.0450: not enough testing for restricted mode and function calls
Problem:    Not enough testing for restricted mode and function calls.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5847)
2020-03-26 14:11:58 +01:00
cf3f8bf4dd patch 8.2.0449: Vim9: crash if return type is invalid
Problem:    Vim9: crash if return type is invalid. (Yegappan Lakshmanan)
Solution:   Always return some type, not NULL.
2020-03-26 13:15:42 +01:00
0e05de4622 patch 8.2.0448: various functions not properly tested
Problem:    Various functions not properly tested.
Solution:   Add more tests, especially for failures. (Yegappan Lakshmanan,
            closes #5843)
2020-03-25 22:23:46 +01:00
bfcfd5784a patch 8.2.0447: terminal scroll tests fails on some systems
Problem:    Terminal scroll tests fails on some systems.
Solution:   Remove the fixed 100msec wait for Win32.  Add a loop to wait until
            scrolling has finished. (James McCoy, closes #5842)
2020-03-25 21:27:22 +01:00
a07e31af54 patch 8.2.0446: listener with undo of deleting all lines not tested
Problem:    Listener with undo of deleting all lines not tested.
Solution:   Add a test.
2020-03-25 21:13:46 +01:00
f66ca9f1df patch 8.2.0445: png and xpm files not in MS-Windows zip file
Problem:    Png and xpm files not in MS-Windows zip file.
Solution:   Move files to shared between Unix and Windows target.
2020-03-25 20:17:00 +01:00
d36ef573b2 patch 8.2.0444: swap file test fails on some systems
Problem:    Swap file test fails on some systems.
Solution:   Preserve the swap file. Send NL terminated keys.
2020-03-24 21:44:51 +01:00
45fffdf10b patch 8.2.0443: clipboard code is spread out
Problem:    Clipboard code is spread out.
Solution:   Move clipboard code to its own file. (Yegappan Lakshmanan,
            closes #5827)
2020-03-24 21:42:01 +01:00
71658f74ae patch 8.2.0442: channel contents might be used after being freed
Problem:    Channel contents might be used after being freed.
Solution:   Reset the job channel before freeing the channel.
2020-03-24 20:35:19 +01:00
f3710ee22d patch 8.2.0441: terminal noblock test is still failing on BSD
Problem:    Terminal noblock test is still failing on BSD.
Solution:   Reduce the amount of text.
2020-03-24 12:12:30 +01:00
d06dbf3f42 patch 8.2.0440: terminal noblock test is still very flaky on BSD
Problem:    Terminal noblock test is still very flaky on BSD.
Solution:   Increase the waiting time.
2020-03-24 10:33:00 +01:00
1082772f4c patch 8.2.0439: :disassemble has minor flaws
Problem:    :disassemble has minor flaws.
Solution:   Format the code.  Use (int) instead of (char) for %c.
            (also by James McCoy, closes #5831)
2020-03-23 22:53:22 +01:00
d7b7770f11 patch 8.2.0438: terminal noblock test is very flaky on BSD
Problem:    Terminal noblock test is very flaky on BSD.
Solution:   Change WaitFor() to WaitForAssert() to be able to see why it
            failed.  Add a short wait in between sending keys.
2020-03-23 22:46:44 +01:00
0df541963d patch 8.2.0437: MS-Windows installer contains old stuff
Problem:    MS-Windows installer contains old stuff.
Solution:   Rely on Windows NT. (Ken Takata, closes #5832)
2020-03-23 22:17:11 +01:00
db99f9f29a patch 8.2.0436: no warnings for incorrect printf arguments
Problem:    No warnings for incorrect printf arguments.
Solution:   Fix attribute in declaration.  Fix uncovered mistakes. (Dominique
            Pelle, closes #5834)
2020-03-23 22:12:22 +01:00
dbbb0ef729 patch 8.2.0435: channel contents might be freed twice
Problem:    Channel contents might be freed twice.
Solution:   Call either channel_free_channel() or channel_free(), not both.
            (Nobuhiro Takasaki, closes #5835)
2020-03-23 22:01:17 +01:00
a8bd349638 patch 8.2.0434: MS-Windows with VTP: Normal color not working
Problem:    MS-Windows with VTP: Normal color not working.
Solution:   After changing the Normal color update the VTP console color.
            (Nobuhiro Takasaki, closes #5836)
2020-03-23 21:45:29 +01:00
bad8804cdd patch 8.2.0433: INT signal not properly tested
Problem:    INT signal not properly tested.
Solution:   Add a test.  Also clean up some unnecessary lines. (Dominique
            Pelle, closes #5828)
2020-03-23 20:54:32 +01:00
ab505b1a48 patch 8.2.0432: a few tests fail in a huge terminal
Problem:    A few tests fail in a huge terminal.
Solution:   Make the tests pass. (Dominique Pelle, closes #5829)
2020-03-23 19:28:44 +01:00
56ba21a156 patch 8.2.0431: some compilers don't support using \e for Esc
Problem:    Some compilers don't support using \e for Esc. (Yegappan
            Lakshmanan)
Solution:   use \033 instead.
2020-03-23 19:17:29 +01:00
5080b0a047 patch 8.2.0430: window creation failure not properly tested
Problem:    Window creation failure not properly tested.
Solution:   Improve the test. (Yegappan Lakshmanan, closes #5826)
2020-03-22 21:23:47 +01:00
c5a8fdc42d patch 8.2.0429: no warning when test checks for option that never exists
Problem:    No warning when test checks for option that never exists.
Solution:   In tests check that the option can exist.
2020-03-22 20:13:39 +01:00
d5bc32df20 patch 8.2.0428: buffer name may leak
Problem:    Buffer name may leak.
Solution:   Free the buffer name before overwriting it.
2020-03-22 19:25:50 +01:00
7929651e05 patch 8.2.0427: it is not possible to check for a typo in a feature name
Problem:    It is not possible to check for a typo in a feature name.
Solution:   Add an extra argument to has().
2020-03-22 16:17:14 +01:00
9b9be007e7 patch 8.2.0426: some errors were not tested for
Problem:    Some errors were not tested for.
Solution:   Add tests. (Dominique Pelle, closes #5824)
2020-03-22 14:41:22 +01:00
515545e11f patch 8.2.0425: code for modeless selection not sufficiently tested
Problem:    Code for modeless selection not sufficiently tested.
Solution:   Add tests.  Move mouse code functionality to a common script file.
            (Yegappan Lakshmanan, closes #5821)
2020-03-22 14:08:59 +01:00
97acfc781b patch 8.2.0424: checking for wrong return value
Problem:    Checking for wrong return value. (Tom)
Solution:   Invert the check and fix the test.
2020-03-22 13:44:28 +01:00
ce436de5a9 patch 8.2.0423: in some environments a few tests are expected to fail
Problem:    In some environments a few tests are expected to fail.
Solution:   Add $TEST_MAY_FAIL to list tests that should not cause make to
            fail.
2020-03-21 15:17:20 +01:00
0f1563ffee patch 8.2.0422: crash when passing popup window to win_splitmove()
Problem:    Crash when passing popup window to win_splitmove(). (john Devin)
Solution:   Disallow moving a popup window. (closes #5816)
2020-03-20 21:15:51 +01:00
9645e2d9fc patch 8.2.0421: interrupting with CTRL-C does not always work
Problem:    Interrupting with CTRL-C does not always work.
Solution:   Recognize CTRL-C while modifyOtherKeys is set.
2020-03-20 20:48:49 +01:00
f1ec378b01 patch 8.2.0420: Vim9: cannot interrupt a loop with CTRL-C
Problem:    Vim9: cannot interrupt a loop with CTRL-C.
Solution:   Check for CTRL-C once in a while.  Doesn't fully work yet.
2020-03-20 19:37:47 +01:00
20431c9dbb patch 8.2.0419: various memory leaks in Vim9 script code
Problem:    Various memory leaks in Vim9 script code.
Solution:   Fix the leaks. (Ozaki Kiichi, closes #5814)
2020-03-20 18:39:46 +01:00
8b63313510 patch 8.2.0418: code in eval.c not sufficiently covered by tests
Problem:    Code in eval.c not sufficiently covered by tests.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5815)
2020-03-20 18:20:51 +01:00
98be7fecac patch 8.2.0417: Travis CI config can be improved
Problem:    Travis CI config can be improved.
Solution:   Remove COVERAGE variable. Add load-snd-dummy script. add "-i NONE"
            to avoid messages about viminfo. (Ozaki Kiichi, closes #5813)
2020-03-20 18:12:59 +01:00
ff78155aa1 Update runtime files 2020-03-19 20:37:11 +01:00
95e59a355b patch 8.2.0416: test leaves file behind
Problem:    Test leaves file behind.
Solution:   Delete the file.
2020-03-19 20:33:33 +01:00
40d235e730 patch 8.2.0415: bsdl filetype is not detected
Problem:    Bsdl filetype is not detected.
Solution:   Add an entry in the filetype list. (Daniel Kho, closes #5810)
2020-03-19 20:32:01 +01:00
373a876d0c patch 8.2.0414: channel connect_waittime() test is flaky
Problem:    Channel connect_waittime() test is flaky.
Solution:   Set the test_is_flaky flag.  Use test_is_flaky for more tests.
2020-03-19 19:44:32 +01:00
5e94a29ebb patch 8.2.0413: buffer menu does not handle special buffers properly
Problem:    Buffer menu does not handle special buffers properly.
Solution:   Keep a dictionary with buffer names to reliably keep track of
            entries.
            Also trigger BufFilePre and BufFilePost for command-line and
            terminal buffers when the name changes.
2020-03-19 18:46:57 +01:00
37f471df6e patch 8.2.0412: MS-Windows: cannot use vimtutor from the start menu
Problem:    MS-Windows: cannot use vimtutor from the start menu.
Solution:   Better check for writable directory. Use the right path for the
            executable. (Wu Yongwei, closes #5774, closes #5756)
2020-03-19 17:13:40 +01:00
24e9b6fe4b patch 8.2.0411: Mac: breakcheck is using a value from the stone ages
Problem:    Mac: breakcheck is using a value from the stone ages.
Solution:   Delete BREAKCHECK_SKIP from the Mac header file. (Ben Jackson)
2020-03-19 16:28:44 +01:00
3696839ef1 patch 8.2.0410: channel test fails too often on slow Mac
Problem:    Channel test fails too often on slow Mac.
Solution:   Increase waiting time to 10 seconds.
2020-03-19 16:22:44 +01:00
b68df220c5 patch 8.2.0409: search test leaves file behind
Problem:    Search test leaves file behind.
Solution:   Delete the file.  Also use Check commands.
2020-03-19 15:05:28 +01:00
22da5596d0 patch 8.2.0408: delete() commented out for testing
Problem:    Delete() commented out for testing.
Solution:   Undo commenting-out.
2020-03-19 14:52:20 +01:00
2d10cd4780 patch 8.2.0407: no early check if :find and :sfind have an argument
Problem:    No early check if :find and :sfind have an argument.
Solution:   Add EX_NEEDARG.
2020-03-19 14:37:30 +01:00
e32848780c patch 8.2.0406: FileReadCmd event not well tested
Problem:    FileReadCmd event not well tested.
Solution:   Add a test.
2020-03-19 13:55:03 +01:00
3fa5e13262 patch 8.2.0405: MSVC: build fails with some combination of features
Problem:    MSVC: build fails with some combination of features.
Solution:   Enable CHANNEL if TERMINAL is enabled. (Mike Williams)
2020-03-19 13:36:56 +01:00
18a2b87ca2 patch 8.2.0404: writefile() error does not give a hint
Problem:    Writefile() error does not give a hint.
Solution:   Add remark about first argument.
2020-03-19 13:08:45 +01:00
a3a9c8ef69 patch 8.2.0403: when 'buftype' is "nofile" there is no overwrite check
Problem:    When 'buftype' is "nofile" there is no overwrite check.
Solution:   Also check for existing file when 'buftype' is set.
            (closes #5807)
2020-03-19 12:38:34 +01:00
30d53e2c11 patch 8.2.0402: setting local instead of global flag
Problem:    Setting local instead of global flag.
Solution:   Prepend "g:" to "test_is_flaky".
2020-03-18 21:10:44 +01:00
8dfcce3a78 patch 8.2.0401: not enough test coverage for evalvars.c
Problem:    Not enough test coverage for evalvars.c.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5804)
2020-03-18 19:32:26 +01:00
3cdcb090a6 patch 8.2.0400: not all tests using a terminal are in the list of flaky tests
Problem:    Not all tests using a terminal are in the list of flaky tests.
Solution:   Introduce the test_is_flaky flag.
2020-03-18 19:18:10 +01:00
292b90d4fa patch 8.2.0399: various memory leaks
Problem:    Various memory leaks.
Solution:   Avoid the leaks. (Ozaki Kiichi, closes #5803)
2020-03-18 15:23:16 +01:00
a21df1db3c patch 8.2.0398: profile test fails when two functions take same time
Problem:    Profile test fails when two functions take same time.
Solution:   Add a short sleep in once function. (closes #5797)
2020-03-17 20:57:09 +01:00
5715b3147b patch 8.2.0397: delayed screen update when using undo from Insert mode
Problem:    Delayed screen update when using undo from Insert mode.
Solution:   Update w_topline and cursor shape before sleeping. (closes #5790)
2020-03-16 22:08:45 +01:00
24ebd83e03 patch 8.2.0396: cmdexpand.c insufficiently tested
Problem:    Cmdexpand.c insufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5789)
2020-03-16 21:25:24 +01:00
a2cbdea968 patch 8.2.0395: build fails with FEAT_EVAL but without FEAT_MENU
Problem:    Build fails with FEAT_EVAL but without FEAT_MENU.
Solution:   Add #ifdef. (John Marriott)
2020-03-16 21:08:31 +01:00
7f009dfa06 patch 8.2.0394: Coverity complains about using NULL pointer
Problem:    Coverity complains about using NULL pointer.
Solution:   Use empty string when option value is NULL.
2020-03-16 20:27:38 +01:00
c030063329 patch 8.2.0393: Coverity warns for not using return value
Problem:    Coverity warns for not using return value.
Solution:   Add (void).
2020-03-16 20:07:16 +01:00
56cb337872 patch 8.2.0392: Coverity warns for using array index out of range
Problem:    Coverity warns for using array index out of range.
Solution:   Add extra "if" to avoid warning.
2020-03-16 20:04:41 +01:00
b2e1f8a28f patch 8.2.0391: CI test coverage dropped
Problem:    CI test coverage dropped.
Solution:   Set $DISPLAY also for non-GUI builds. (James McCoy, closes #5788)
2020-03-16 12:09:30 +01:00
ddbfe238a5 patch 8.2.0390: terminal postponed scrollback test is flaky
Problem:    Terminal postponed scrollback test is flaky.
Solution:   Add delay in between sending keys.  Rename dump files.
2020-03-15 20:33:40 +01:00
e4fc746d13 patch 8.2.0389: delayed redraw when shifting text from Insert mode
Problem:    Delayed redraw when shifting text from Insert mode.
Solution:   Use msg_attr_keep() instead of msg(). (closes #5782)
2020-03-15 19:17:50 +01:00
833805a486 patch 8.2.0388: printmbcharset option not tested
Problem:    Printmbcharset option not tested.
Solution:   Add a test.  Enable PostScript for AppVeyor build. (Dominique
            Pelle, closes #5783)
2020-03-15 18:27:43 +01:00
bb65a5690c patch 8.2.0387: error for possible NULL argument to qsort()
Problem:    Error for possible NULL argument to qsort().
Solution:   Don't call qsort() when there is nothing to sort. (Dominique
            Pelle, closes #5780)
2020-03-15 18:15:03 +01:00
0bdbc10e8a patch 8.2.0386: part from unfinished patch got included
Problem:    Part from unfinished patch got included.
Solution:   Undo that part.
2020-03-15 16:51:40 +01:00
0eabd4dc8f patch 8.2.0385: menu functionality insufficiently tested
Problem:    Menu functionality insufficiently tested.
Solution:   Add tests.  Add menu_info(). (Yegappan Lakshmanan, closes #5760)
2020-03-15 16:13:53 +01:00
5e4d1eba95 patch 8.2.0384: Travis CI has warnings
Problem:    Travis CI has warnings.
Solution:   Avoid warnings, clean up the config. (Ozaki Kiichi, closes #5779)
2020-03-15 15:10:11 +01:00
4f32f9c90e patch 8.2.0383: wrong feature check causes test not to be run
Problem:    Wrong feature check causes test not to be run.
Solution:   Use CheckFunction instead of CheckFeature. (Ozaki Kiichi,
            closes #5781)
2020-03-15 14:53:35 +01:00
353c351bd2 patch 8.2.0382: some tests fail when run under valgrind
Problem:    Some tests fail when run under valgrind.
Solution:   Increase timeouts.
2020-03-15 14:19:26 +01:00
2573af3519 patch 8.2.0381: using freed memory with :lvimgrep and autocommand
Problem:    Using freed memory with :lvimgrep and autocommand. (extracted from
            POC by Dominique Pelle)
Solution:   Avoid deleting a dummy buffer used in a window. (closes #5777)
2020-03-14 17:21:34 +01:00
1939826509 patch 8.2.0380: tiny popup when creating a terminal popup without minwidth
Problem:    Tiny popup when creating a terminal popup without minwidth.
Solution:   Use a default mininum size of 5 lines of 20 characters.
2020-03-14 15:28:08 +01:00
b17893aa94 Update runtime files 2020-03-14 08:19:51 +01:00
965fd8d4dc patch 8.2.0379: gcc warns for ambiguous else
Problem:    Gcc warns for ambiguous else.
Solution:   Add braces. (Dominique Pelle, closes #5778)
2020-03-14 07:46:40 +01:00
346f18e5fe patch 8.2.0378: prop_find() does not find all props
Problem:    prop_find() does not find all props.
Solution:   Check being in the start line. (Axel Forsman, closes #5776)
2020-03-13 21:36:40 +01:00
d47e6f0b4c patch 8.2.0377: no CI test for a big-endian system
Problem:    No CI test for a big-endian system.
Solution:   Test with s390x. (James McCoy, closes #5772)
2020-03-13 15:44:49 +01:00
fa5d8a191d patch 8.2.0376: nasty callback test fails on some systems
Problem:    Nasty callback test fails on some systems.
Solution:   Increase the sleep time.
2020-03-13 14:55:23 +01:00
8210693795 patch 8.2.0375: Coverity warning for not using return value
Problem:    Coverity warning for not using return value.
Solution:   Move error message to separate function.
2020-03-13 14:34:38 +01:00
8a677a37d0 patch 8.2.0374: using wrong printf directive for jump location
Problem:    Using wrong printf directive for jump location.
Solution:   Change "%lld" to "%d". (James McCoy, closes #5773)
2020-03-12 19:15:45 +01:00
3a05ce63fe patch 8.2.0373: type of term_sendkeys() is unknown
Problem:    Type of term_sendkeys() is unknown.
Solution:   Just return zero. (closes #5762)
2020-03-11 19:30:01 +01:00
66b98854d8 patch 8.2.0372: prop_find() may not find text property at start of the line
Problem:    Prop_find() may not find text property at start of the line.
Solution:   Adjust the loop to find properties. (Axel Forsman, closes #5761,
            closes #5663)
2020-03-11 19:15:52 +01:00
cee52204ca patch 8.2.0371: crash with combination of terminal popup and autocmd
Problem:    Crash with combination of terminal popup and autocmd.
Solution:   Disallow closing a popup that is the current window.  Add a check
            that the current buffer is valid. (closes #5754)
2020-03-11 14:19:58 +01:00
e49b4bb895 patch 8.2.0370: the typebuf_was_filled flag is sometimes not reset
Problem:    The typebuf_was_filled flag is sometimes not reset, which may
            cause a hang.
Solution:   Make sure typebuf_was_filled is reset when the typeahead buffer is
            empty.
2020-03-11 13:01:40 +01:00
1671f44881 patch 8.2.0369: various Normal mode commands not fully tested
Problem:    Various Normal mode commands not fully tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5751)
2020-03-10 07:48:13 +01:00
5269bd2a72 patch 8.2.0368: Vim9: import that redefines local variable does not fail
Problem:    Vim9: import that redefines local variable does not fail.
Solution:   Check for already defined symbols.
2020-03-09 19:25:27 +01:00
3a2505cc18 patch 8.2.0367: can use :pedit in a popup window
Problem:    Can use :pedit in a popup window.
Solution:   Disallow it.
2020-03-09 16:40:41 +01:00
2e09634a78 patch 8.2.0366: hardcopy command not tested enough
Problem:    Hardcopy command not tested enough.
Solution:   Add tests for printing. (Dominique Pelle, closes #5748)
2020-03-09 12:13:27 +01:00
283e5f4e69 patch 8.2.0365: tag kind can't be a multi-byte character
Problem:    Tag kind can't be a multi-byte character. (Marcin Szamotulski)
Solution:   Recognize multi-byte character. (closes #5724)
2020-03-09 08:17:52 +01:00
693e80e938 patch 8.2.0364: printf test failing on Haiku
Problem:    Printf test failing on Haiku.
Solution:   Make a difference between int and short. (Dominique Pelle,
            closes #5749)
2020-03-08 18:41:09 +01:00
f5f1e10d0d patch 8.2.0363: some Normal mode commands not tested
Problem:    Some Normal mode commands not tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5746)
2020-03-08 05:13:15 +01:00
d0d440f702 patch 8.2.0362: MS-Windows: channel test fails if grep is not available
Problem:    MS-Windows: channel test fails if grep is not available.
Solution:   Use another command. (Ken Takata, closes #5739)
2020-03-07 17:24:59 +01:00
14e57909e6 patch 8.2.0361: internal error when using "0" for a callback
Problem:    Internal error when using "0" for a callback.
Solution:   Give a normal error. (closes #5743)
2020-03-07 16:59:25 +01:00
8eab731328 patch 8.2.0360: yaml files are only recognized by the file extension
Problem:    Yaml files are only recognized by the file extension.
Solution:   Check for a line starting with "%YAML". (Jason Franklin)
2020-03-06 22:25:56 +01:00
ba2920fe97 patch 8.2.0359: popup_atcursor() may hang
Problem:    popup_atcursor() may hang. (Yasuhiro Matsumoto)
Solution:   Take the decoration into account. (closes #5728)
2020-03-06 21:43:17 +01:00
bd7206e02c patch 8.2.0358: insufficient testing for indent.c
Problem:    Insufficient testing for indent.c.
Solution:   Add indent tests. (Yegappan Lakshmanan, closes #5736)
2020-03-06 20:36:04 +01:00
49b79bd488 patch 8.2.0357: cannot delete a text property matching both id and type
Problem:    Cannot delete a text property matching both id and type. (Axel
            Forsman)
Solution:   Add the "both" argument.
2020-03-05 21:52:55 +01:00
8f027fe470 patch 8.2.0356: MS-Windows: feedkeys() with VIMDLL cannot handle CSI
Problem:    MS-Windows: feedkeys() with VIMDLL cannot handle CSI correctly.
Solution:   Modify mch_inchar() to encode CSI bytes. (Ozaki Kiichi, Ken
            Takata, closes #5726)
2020-03-04 23:21:35 +01:00
a471eeae75 patch 8.2.0355: Vim9: str_val is confusing, it's a number
Problem:    Vim9: str_val is confusing, it's a number
Solution:   Rename to stnr_val.
2020-03-04 22:20:26 +01:00
a65bb53514 patch 8.2.0354: Python 3.9 does not define _Py_DEC_REFTOTAL
Problem:    Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal)
Solution:   Remove it, it was only for debugging.
2020-03-04 22:06:07 +01:00
d0df1aacd8 patch 8.2.0353: Vim9: while loop not tested
Problem:    Vim9: while loop not tested.
Solution:   Add test with "while", "break" and "continue"
2020-03-04 21:50:46 +01:00
36ddf93831 patch 8.2.0352: FreeBSD: test for sourcing utf-8 is skipped
Problem:    FreeBSD: test for sourcing utf-8 is skipped.
Solution:   Run the matchadd_conceal test separately to avoid that setting
            'term' to "ansi" causes problems for other tests. (Ozaki Kiichi,
            closes #5721)
2020-03-03 23:06:48 +01:00
3e919d2924 patch 8.2.0351: terminal in popup test is still a bit flaky
Problem:    Terminal in popup test is still a bit flaky.
Solution:   Clear and redraw before opening the popup.
2020-03-03 22:56:39 +01:00
080457c02d patch 8.2.0350: Vim9: expression tests don't use recognized constants
Problem:    Vim9: expression tests don't use recognized constants.
Solution:   Recognize "true" and "false" as constants.  Make skipping work for
            assignment and expression evaluation.
2020-03-03 21:53:32 +01:00
6d69bf602b patch 8.2.0349: Vim9: constant expression not well tested
Problem:    Vim9: constant expression not well tested.
Solution:   Add tests for "if" with constant expression.
2020-03-03 19:02:12 +01:00
5381c7a162 patch 8.2.0348: Vim9: not all code tested
Problem:    Vim9: not all code tested.
Solution:   Add a few more tests. fix using "b:" in literal dictionary.
2020-03-02 22:53:32 +01:00
91ffc8a5f5 patch 8.2.0347: various code not covered by tests
Problem:    Various code not covered by tests.
Solution:   Add more test coverage. (Yegappan Lakshmanan, closes #5720)
2020-03-02 20:54:22 +01:00
61a6d4e48b patch 8.2.0346: Vim9: finding common list type not tested
Problem:    Vim9: finding common list type not tested.
Solution:   Add more tests.  Fix listing function.  Fix overwriting type.
2020-03-01 23:32:25 +01:00
815eb83b09 patch 8.2.0345: compiler warning when building without the float feature
Problem:    Compiler warning when building without the float feature.
Solution:   Add #ifdef. (John Marriott)
2020-03-01 20:34:26 +01:00
ab55c6826f patch 8.2.0344: ":def" not skipped properly
Problem:    ":def" not skipped properly.
Solution:   Add CMD_def to list of commands the require evaluation even when
            not being executed.
2020-03-01 19:41:43 +01:00
eab6dff19f Update runtime files 2020-03-01 19:06:45 +01:00
f51cb4e08e patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Problem:    Vim9: using wrong instruction, limited test coverage.
Solution:   Use ISN_PUSHJOB.  Add a few more tests.
2020-03-01 17:55:14 +01:00
0546d7df13 patch 8.2.0342: some code in ex_getln.c not covered by tests
Problem:    Some code in ex_getln.c not covered by tests.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5717)
2020-03-01 16:53:09 +01:00
41fe061753 patch 8.2.0341: using ":for" in Vim9 script gives an error
Problem:    Using ":for" in Vim9 script gives an error.
Solution:   Pass the LET_NO_COMMAND flag. (closes #5715)
2020-03-01 16:22:40 +01:00
087d2e1518 patch 8.2.0340: Vim9: function and partial types not tested
Problem:    Vim9: function and partial types not tested.
Solution:   Support more for partial, add tests.
2020-03-01 15:36:42 +01:00
fbdd08ed9b patch 8.2.0339: Vim9: function return type may depend on arguments
Problem:    Vim9: function return type may depend on arguments.
Solution:   Instead of a fixed return type use a function to figure out the
            return type.
2020-03-01 14:04:46 +01:00
f4f190d821 patch 8.2.0338: build failure without the channel feature
Problem:    Build failure without the channel feature.
Solution:   Add #ifdef
2020-03-01 13:01:16 +01:00
b54b8e0c86 patch 8.2.0337: build fails on a few systems
Problem:    Build fails on a few systems.
Solution:   Use vim_snprintf() instead of snprintf().
2020-03-01 01:05:53 +01:00
42a480bf72 patch 8.2.0336: Vim9: insufficient test coverage for compiling
Problem:    Vim9: insufficient test coverage for compiling.
Solution:   Add more tests.
2020-02-29 23:23:47 +01:00
cc390ff5b2 patch 8.2.0335: no completion for :disassemble
Problem:    No completion for :disassemble.
Solution:   Make completion work.  Also complete script-local functions if the
            name starts with "s:".
2020-02-29 22:06:30 +01:00
dd58923c6b patch 8.2.0334: abort called when using test_void()
Problem:    Abort called when using test_void(). (Dominique Pelle)
Solution:   Only give an error, don't abort.
2020-02-29 17:38:12 +01:00
57c339569e patch 8.2.0333: terminal in popup test is flaky
Problem:    Terminal in popup test is flaky.
Solution:   Make sure redraw is done before opening the popup.
2020-02-29 16:09:16 +01:00
d30ae2fc4a patch 8.2.0332: some code in ex_getln.c not covered by tests
Problem:    Some code in ex_getln.c not covered by tests.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #5710)
2020-02-29 14:23:58 +01:00
7c215c5893 patch 8.2.0331: internal error when using test_void() and test_unknown()
Problem:    Internal error when using test_void() and test_unknown().
            (Dominique Pelle)
Solution:   Give a normal error.
2020-02-29 13:43:27 +01:00
57c732ed78 patch 8.2.0330: build error with popup window but without terminal
Problem:    Build error with popup window but without terminal.
Solution:   Add #ifdef.
2020-02-28 22:51:54 +01:00
ec084d3356 patch 8.2.0329: popup filter converts 0x80 bytes
Problem:    Popup filter converts 0x80 bytes.
Solution:   Keep 0x80 bytes as-is. (Ozaki Kiichi, closes #5706)
2020-02-28 22:44:47 +01:00
e52e0c89d1 patch 8.2.0328: no redraw when leaving term-normal mode in popup terminal
Problem:    No redraw when leaving terminal-normal mode in a terminal popup
            window.
Solution:   Redraw the popup window. (closes #5708)
2020-02-28 22:20:10 +01:00
80ae880f5f patch 8.2.0327: crash when opening and closing two popup terminal windows
Problem:    Crash when opening and closing two popup terminal windows.
Solution:   Check that prevwin is valid. (closes #5707)
2020-02-28 19:11:18 +01:00
d5aec0ced1 patch 8.2.0326: compiler warning for using uninitialized variable
Problem:    Compiler warning for using uninitialized variable. (Yegappan
            Lakshmanan)
Solution:   Do not jump to failed but return.
2020-02-27 21:48:51 +01:00
578fe947e3 patch 8.2.0325: ex_getln.c code not covered by tests
Problem:    Ex_getln.c code not covered by tests.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #5702)
2020-02-27 21:32:51 +01:00
12f2003871 patch 8.2.0324: text property not updated correctly when inserting/deleting
Problem:    Text property not updated correctly when inserting/deleting.
Solution:   Use the right column when deleting. Make zero-width text
            properties respect start_incl and end_incl. (Axel Forsman,
            closes #5696, closes #5679)
2020-02-26 22:06:00 +01:00
7eeefd4a39 patch 8.2.0323: Vim9: calling a function that is defined later is slow
Problem:    Vim9: calling a function that is defined later is slow.
Solution:   Once the function is found update the instruction so it can be
            called directly.
2020-02-26 21:24:23 +01:00
b35efa5ed0 patch 8.2.0322: Vim9: error checks not tested
Problem:    Vim9: error checks not tested.
Solution:   Add more test cases.  Avoid error for function loaded later.
2020-02-26 20:15:18 +01:00
ad39c094d2 patch 8.2.0321: Vim9: ":execute" does not work yet
Problem:    Vim9: ":execute" does not work yet.
Solution:   Add ISN_EXECUTE. (closes #5699) Also make :echo work with more
            than one argument.
2020-02-26 18:23:43 +01:00
b3f740695a patch 8.2.0320: no Haiku support
Problem:    No Haiku support.
Solution:   Add support for Haiku. (Emir Sari, closes #5605)
2020-02-26 16:16:53 +01:00
d672dde584 patch 8.2.0319: file missing in distribution, comments outdated
Problem:    File missing in distribution, comments outdated.
Solution:   Correct path of README file.  Update comments.
2020-02-26 13:43:51 +01:00
bc93cebb69 Update runtime files. 2020-02-26 13:36:21 +01:00
0c2ca58ef0 patch 8.2.0318: Vim9: types not sufficiently tested
Problem:    Vim9: types not sufficiently tested.
Solution:   Add tests with more types.
2020-02-25 22:58:29 +01:00
703ea9eaef patch 8.2.0317: MSVC: _CRT_SECURE_NO_DEPRECATE not defined on DEBUG build
Problem:    MSVC: _CRT_SECURE_NO_DEPRECATE not defined on DEBUG build.
Solution:   Move where CFLAGS is updated. (Ken Takata, closes #5692)
2020-02-25 22:04:55 +01:00
8d588ccee5 patch 8.2.0316: ex_getln.c code has insufficient test coverage
Problem:    ex_getln.c code has insufficient test coverage.
Solution:   Add more tests. Fix a problem. (Yegappan Lakshmanan, closes #5693)
2020-02-25 21:47:45 +01:00
c593bec412 patch 8.2.0315: build failure on HP-UX system
Problem:    Build failure on HP-UX system.
Solution:   Use LONG_LONG_MIN instead of LLONG_MIN.  Add type casts for switch
            statement. (John Marriott)
2020-02-25 21:26:49 +01:00
e010c720b2 patch 8.2.0314: short name not set for terminal buffer
Problem:    Short name not set for terminal buffer.
Solution:   Set the short name. (closes #5687)
2020-02-24 21:37:54 +01:00
fa29c8abd6 patch 8.2.0313: Vim9: insufficient script tests
Problem:    Vim9: insufficient script tests.
Solution:   Add tests.  Make import of alphanumeric name work.
2020-02-23 22:35:05 +01:00
f2d5c240a5 patch 8.2.0312: Vim9: insufficient script tests
Problem:    Vim9: insufficient script tests.
Solution:   Add more tests.  Make "import * as Name" work.
2020-02-23 21:25:54 +01:00
750802b55c patch 8.2.0311: Vim9: insufficient script tests
Problem:    Vim9: insufficient script tests.
Solution:   Add tests.  Free imports when re-using a script.
2020-02-23 18:08:33 +01:00
8fb1b47a5e patch 8.2.0310: autocmd test fails on a slow system
Problem:    Autocmd test fails on a slow system.
Solution:   Adjust the expectations. (James McCoy, closes #5685)
2020-02-23 16:16:26 +01:00
b81f56fb57 patch 8.2.0309: window-local values have confusing name
Problem:    Window-local values have confusing name.
Solution:   Rename w_p_bri* to w_briopt_*.
2020-02-23 15:29:46 +01:00
1aa76b8fd0 patch 8.2.0308: 'showbreak' does not work for a very long line
Problem:    'showbreak' does not work for a very long line. (John Little)
Solution:   Check whether 'briopt' contains "sbr". (Ken Takata, closes #5523,
            closes #5684)
2020-02-23 15:17:27 +01:00
026270c01d patch 8.2.0307: Python 3 vim.eval not well tested
Problem:    Python 3 vim.eval not well tested.
Solution:   Add a test. (Dominique Pelle, closes #5680)
2020-02-23 15:10:16 +01:00
83f37b9142 patch 8.2.0306: Vim9: :substitute(pat(repl does not work in Vim9 script
Problem:    Vim9: :substitute(pat(repl does not work in Vim9 script.
Solution:   Remember starting with a colon. (closes #5676)
2020-02-23 14:35:01 +01:00
8040a7147f patch 8.2.0305: relativenumber test fails on some systems
Problem:    Relativenumber test fails on some systems. (James McCoy)
Solution:   Clear the command line.
2020-02-23 13:38:08 +01:00
95ffd43f88 patch 8.2.0304: terminal test if failing on some systems
Problem:    Terminal test if failing on some systems.
Solution:   Wait for the job to finish. (James McCoy)
2020-02-23 13:29:31 +01:00
d28e0b3652 patch 8.2.0303: TermChanged test fails in the GUI
Problem:    TermChanged test fails in the GUI.
Solution:   Skip the test when running the GUI.
2020-02-22 23:08:52 +01:00
0c81d1b112 patch 8.2.0302: setting 'term' may cause error in TermChanged autocommand
Problem:    Setting 'term' may cause error in TermChanged autocommand.
Solution:   Use aucmd_prepbuf() to switch to the buffer where the autocommand
            is to be executed. (closes #5682)
2020-02-22 22:45:55 +01:00
b654103ad1 patch 8.2.0301: insufficient testing for exception handling
Problem:    Insufficient testing for exception handling and the "attention"
            prompt.
Solution:   Add test cases. (Yegappan Lakshmanan, closes #5681)
2020-02-22 21:21:27 +01:00
b4d2cb1083 patch 8.2.0300: Vim9: expression test fails without channel support
Problem:    Vim9: expression test fails without channel support.
Solution:   Add has('channel') check.
2020-02-22 20:33:08 +01:00
8ed04587d3 patch 8.2.0299: Vim9: ISN_STORE with argument not tested
Problem:    Vim9: ISN_STORE with argument not tested.  Some cases in tv2bool()
            not tested.
Solution:   Add tests.  Add test_unknown() and test_void().
2020-02-22 19:07:28 +01:00
0c6ceaf903 patch 8.2.0298: Vim9 script: cannot start command with a string constant
Problem:    Vim9 script: cannot start command with a string constant.
Solution:   Recognize expression starting with '('.
2020-02-22 18:36:32 +01:00
8b430b4c1d patch 8.2.0297: compiler warnings for the Ruby interface
Problem:    Compiler warnings for the Ruby interface.
Solution:   Undefine a few macros, fix initialization. (Ozaki Kiichi,
            closes #5677)
2020-02-22 15:01:00 +01:00
f9706e9df0 patch 8.2.0296: mixing up "long long" and __int64 may cause problems
Problem:    Mixing up "long long" and __int64 may cause problems. (John
            Marriott)
Solution:   Pass varnumber_T to vim_snprintf().  Add v:numbersize.
2020-02-22 14:27:04 +01:00
c036e87bd7 patch 8.2.0295: highlighting for :s wrong when using different separator
Problem:    Highlighting for :s wrong when using different separator.
Solution:   Use separat argument for search direction and separator. (Rob
            Pilling, closes #5665)
2020-02-21 21:30:52 +01:00
5b1c8fe3d5 patch 8.2.0294: cannot use Ex command that is also a function name
Problem:    Cannot use Ex command that is also a function name.
Solution:   Recognize an Ex command by a colon prefix.
2020-02-21 18:42:43 +01:00
818fc9ad14 patch 8.2.0293: various Ex commands not sufficiently tested
Problem:    Various Ex commands not sufficiently tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #5673)
2020-02-21 17:54:45 +01:00
09f28f49c9 patch 8.2.0292: Vim9: CHECKNR and CHECKTYPE instructions not tested
Problem:    Vim9: CHECKNR and CHECKTYPE instructions not tested.
Solution:   Add tests.
2020-02-20 23:08:34 +01:00
436472f5e0 patch 8.2.0291: Vim9: assigning [] to list<string> doesn't work
Problem:    Vim9: assigning [] to list<string> doesn't work.
Solution:   Use void for empty list and dict. (Ken Takata, closes #5669)
2020-02-20 22:54:43 +01:00
85683ec620 patch 8.2.0290: running individual test differs from all tests
Problem:    Running individual test differs from all tests.
Solution:   Pass on environment variables. (Yee Cheng Chin, closes #5672)
2020-02-20 22:35:02 +01:00
e0807ea4a7 patch 8.2.0289: Vim9: :echo did not clear the rest of the line
Problem:    Vim9: :echo did not clear the rest of the line.
Solution:   Call msg_clr_eos(). (Ken Takata, closes #5668)
2020-02-20 22:18:06 +01:00
0062c2d4f9 patch 8.2.0288: Vim9: some float and blob operators not tested
Problem:    Vim9: some float and blob operators not tested.
Solution:   Add float and blob tests.  Fix addition.
2020-02-20 22:14:31 +01:00
f575adff06 patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Problem:    Vim9: return in try block not tested; catch with pattern not
            tested.
Solution:   Add tests.  Make it work.
2020-02-20 20:41:06 +01:00
11ec807639 patch 8.2.0286: cannot use popup_close() for a terminal popup
Problem:    Cannot use popup_close() for a terminal popup.
Solution:   Allow using popup_close(). (closes #5666)
2020-02-20 20:12:29 +01:00
0bbf722aaa patch 8.2.0285: unused error message; cannot create s:var
Problem:    Unused error message. Cannot create s:var.
Solution:   Remove the error message. Make assignment to s:var work.
2020-02-19 22:31:48 +01:00
c0d656c89d patch 8.2.0284: Vim9: assignment test fails
Problem:    Vim9: assignment test fails.
Solution:   Avoid duplicating "s:".
2020-02-19 21:12:40 +01:00
fd1823e0b7 patch 8.2.0283: Vim9: failing to load script var not tested
Problem:    Vim9: failing to load script var not tested.
Solution:   Add more tests.   Fix using s: in old script.
2020-02-19 20:23:11 +01:00
401d9ffb5a patch 8.2.0282: Vim9: setting number option not tested
Problem:    Vim9: setting number option not tested.
Solution:   Add more tests.   Fix assigning to global variable.
2020-02-19 18:14:44 +01:00
a2f6e42ded patch 8.2.0281: two placed signs in the same line are not combined
Problem:    Two placed signs in the same line are not combined.  E.g. in the
            terminal debugger a breakpoint and the PC cannot be both be
            displayed.
Solution:   Combine the sign column and line highlight attributes.
2020-02-19 17:13:04 +01:00
257cc5ee95 patch 8.2.0280: Vim9: throw in :def function not caught higher up
Problem:    Vim9: throw in :def function not caught higher up.
Solution:   Set "need_rethrow".
2020-02-19 17:06:11 +01:00
63ce4849ef patch 8.2.0279: Vim9: no test for deleted :def function
Problem:    Vim9: no test for deleted :def function.
Solution:   Add a test.  Clear uf_cleared flag when redefining a function.
2020-02-19 15:46:48 +01:00
9ae3bbdb96 patch 8.2.0278: channel test is flaky on Mac
Problem:    Channel test is flaky on Mac.
Solution:   Reset variable before sending message.
2020-02-19 14:31:33 +01:00
ee2e52aa06 patch 8.2.0277: Vim9: not all instructions covered by tests
Problem:    Vim9: not all instructions covered by tests.
Solution:   Add more test cases.
2020-02-19 14:17:18 +01:00
38a5f517a7 patch 8.2.0276: Vim9: not allowing space before ")" in function call
Problem:    Vim9: not allowing space before ")" in function call is too
            restrictive. (Ben Jackson)
Solution:   Skip space before the ")".  Adjust other space checks.
2020-02-19 12:40:39 +01:00
406cd90f19 patch 8.2.0275: some Ex code not covered by tests
Problem:    Some Ex code not covered by tests.
Solution:   Add test cases. (Yegappan Lakshmanan, closes #5659)
2020-02-18 21:54:41 +01:00
9e2bcb5d23 patch 8.2.0274: hang with combination of feedkeys(), Ex mode and :global
Problem:    Hang with combination of feedkeys(), Ex mode and :global.
            (Yegappan Lakshmanan)
Solution:   Add the pending_exmode_active flag.
2020-02-18 21:33:00 +01:00
1fa8d2c33d patch 8.2.0273: MS-Windows uninstall may delete wrong batch file
Problem:    MS-Windows uninstall may delete wrong batch file.
Solution:   Add specific marker in the generated batch file. (Ken Takata,
            closes #5654)
2020-02-17 22:53:14 +01:00
414b796627 patch 8.2.0272: ":helptags ALL" gives error for some directories
Problem:    ":helptags ALL" gives error for directories without write
            permission. (Matěj Cepl)
Solution:   Ignore errors for ":helptags ALL". (Ken Takata, closes #5026,
            closes #5652)
2020-02-17 22:39:35 +01:00
82f654e092 patch 8.2.0271: the "num64" feature is available everywhere
Problem:    The "num64" feature is available everywhere and building without
            it causes problems.
Solution:   Graduage the "num64" feature. (James McCoy, closes #5650)
2020-02-17 22:12:50 +01:00
bc2b71d44a patch 8.2.0270: some code not covered by tests
Problem:    Some code not covered by tests.
Solution:   Add test cases. (Yegappan Lakshmanan, closes #5649)
2020-02-17 21:33:30 +01:00
b13af50f73 patch 8.2.0269: Vim9: operator after list index does not work
Problem:    Vim9: operator after list index does not work. (Yasuhiro
            Matsumoto)
Solution:   After indexing a list change the type to the list member type.
            (closes #5651)
2020-02-17 21:12:08 +01:00
40d9da2a43 patch 8.2.0268: trycatch test fails
Problem:    Trycatch test fails.
Solution:   When calling function fails only check for following command, do
            not give another error.
2020-02-17 10:01:24 +01:00
e51bb17dd0 patch 8.2.0267: no check for a following cmd when calling a function fails
Problem:    No check for a following command when calling a function fails.
Solution:   Also check for a following command when inside a try block.
            (closes #5642)
2020-02-16 19:42:23 +01:00
a28be85ccd patch 8.2.0266: terminal in popup test sometimes fails on Mac
Problem:    Terminal in popup test sometimes fails on Mac.
Solution:   Add a short delay.
2020-02-16 17:04:09 +01:00
a76b31542e patch 8.2.0265: "eval" after "if 0" doesn't check for following command
Problem:    "eval" after "if 0" doesn't check for following command.
Solution:   Add "eval" to list of commands that check for a following command.
            (closes #5640)
2020-02-16 16:20:21 +01:00
a36c830a32 patch 8.2.0264: fileformat test still fails on MS-Windows
Problem:    Fileformat test still fails on MS-Windows.
Solution:   Set fileformat of buffer in the right place.
2020-02-16 15:08:28 +01:00
df2ecddf9d patch 8.2.0263: a few new Vim9 messages are not localized
Problem:    A few new Vim9 messages are not localized.
Solution:   Add the gettext wrapper. (Dominique Pelle, closes #5647)
2020-02-16 15:03:48 +01:00
50434bd74c patch 8.2.0262: fileformat test fails on MS-Windows
Problem:    Fileformat test fails on MS-Windows.
Solution:   Set fileformat of buffer.
2020-02-16 14:55:22 +01:00
f0cee1971f patch 8.2.0261: some code not covered by tests
Problem:    Some code not covered by tests.
Solution:   Add test cases. (Yegappan Lakshmanan, closes #5645)
2020-02-16 13:33:56 +01:00
f4140488c7 patch 8.2.0260: several lines of code are duplicated
Problem:    Several lines of code are duplicated.
Solution:   Move duplicated code to a function. (Yegappan Lakshmanan,
            closes #5330)
2020-02-15 23:06:45 +01:00
ebdf3c964a Update runtime files. 2020-02-15 21:41:42 +01:00
c2adc00fa7 patch 8.2.0259: terminal in popup test sometimes fails
Problem:    Terminal in popup test sometimes fails.
Solution:   Clear the command line.
2020-02-14 17:05:18 +01:00
4132eb505c patch 8.2.0258: modifyOtherKeys cannot be temporarily disabled
Problem:    ModifyOtherKeys cannot be temporarily disabled.
Solution:   Add echoraw() with an example for modifyOtherKeys.
2020-02-14 16:53:00 +01:00
00f3b4e007 patch 8.2.0257: cannot recognize a terminal in a popup window
Problem:    Cannot recognize a terminal in a popup window.
Solution:   Add the win_gettype() function.
2020-02-14 14:32:22 +01:00
0a8fed6231 patch 8.2.0256: time and timer related code is spread out
Problem:    Time and timer related code is spread out.
Solution:   Move time and timer related code to a new file. (Yegappan
            Lakshmanan, closes #5604)
2020-02-14 13:22:17 +01:00
f2cecb6c10 patch 8.2.0255: VMS: missing files in build
Problem:    VMS: missing files in build.
Solution:   Add the files. (Zoltan Arpadffy)
2020-02-13 21:59:25 +01:00
ae8d2de3a9 patch 8.2.0254: compiler warning for checking size_t to be negative
Problem:    Compiler warning for checking size_t to be negative.
Solution:   Only check for zero. (Zoltan Arpadffy)
2020-02-13 21:42:24 +01:00
21456cdccb patch 8.2.0253: crash when using :disassamble without argument
Problem:    Crash when using :disassamble without argument. (Dhiraj Mishra)
Solution:   Check for missing argument. (Dominique Pelle, closes #5635,
            closes #5637)
2020-02-13 21:29:32 +01:00
3dd64608f6 patch 8.2.0252: Windows compiler warns for using size_t
Problem:    Windows compiler warns for using size_t.
Solution:   Change to int. (Mike Williams)
2020-02-13 20:31:28 +01:00
7306d6b1c9 patch 8.2.0251: a couple of function return types can be more specific
Problem:    A couple of function return types can be more specific.
Solution:   Use a better return type. (Ken Takata, closes #5629)
2020-02-12 22:25:56 +01:00
4f5776c17c patch 8.2.0250: test_clear_search_pat() is unused
Problem:    test_clear_search_pat() is unused.
Solution:   Remove the function. (Yegappan Lakshmanan, closes #5624)
2020-02-12 22:15:19 +01:00
3fb377fa78 patch 8.2.0249: MS-Windows: various warnings
Problem:    MS-Windows: various warnings.
Solution:   Set the charset to utf-8. Add _WIN32_WINNT and _USING_V110_SDK71_.
            (Ken Takata, closes #5625)
2020-02-12 21:52:32 +01:00
2f18975088 patch 8.2.0248: MS-Windows: dealing with deprecation is too complicated
Problem:    MS-Windows: dealing with deprecation is too complicated.
Solution:   Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build
            file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken
            Takata, closes #5626)
2020-02-12 21:15:43 +01:00
3b0ef8cfdb patch 8.2.0247: misleading comment in NSIS installer script
Problem:    Misleading comment in NSIS installer script.
Solution:   Negate the meaning of the comment. (Ken Takata, closes #5627)
2020-02-12 21:03:32 +01:00
49c99fcca0 patch 8.2.0246: MSVC: deprecation warnings with Ruby
Problem:    MSVC: deprecation warnings with Ruby.
Solution:   Move _CRT_SECURE_NO_DEPRECATE to build file. (Ken Takata,
            closes #5622)
2020-02-11 23:01:39 +01:00
5489eab345 patch 8.2.0245: MSVC: error message if the auto directory already exists
Problem:    MSVC: error message if the auto directory already exists.
Solution:   Add "if not exists". (Ken Takata, closes #5620)
2020-02-11 22:49:18 +01:00
5f1d3ae8a8 patch 8.2.0244: compiler warning in Lua interface
Problem:    Compiler warning in Lua interface.
Solution:   Add type cast. (Ken Takata, closes #5621)
2020-02-11 22:37:35 +01:00
9f6277bdde patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Problem:    Insufficient code coverage for ex_docmd.c functions.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5618)
2020-02-11 22:04:02 +01:00
799439a5d8 patch 8.2.0242: preview popup window test fails with long directory name
Problem:    Preview popup window test fails with long directory name. (Jakub
            Kądziołka)
Solution:   Use "silent cd". (closes #5615)
2020-02-11 21:44:17 +01:00
99234f29aa patch 8.2.0241: crash when setting 'buftype' to "quickfix"
Problem:    Crash when setting 'buftype' to "quickfix".
Solution:   Check that error list is not NULL. (closes #5613)
2020-02-10 22:56:54 +01:00
408030e8d0 patch 8.2.0240: using memory after it was freed
Problem:    Using memory after it was freed. (Dominique Pelle)
Solution:   Do not mix converion buffer with other buffer.
2020-02-10 22:44:32 +01:00
355757aed6 patch 8.2.0239: MS-Windows: 'env' job option does not override existing vars
Problem:    MS-Windows: 'env' job option does not override existing
            environment variables.  (Tim Pope)
Solution:   Set the environment variables later. (Yasuhiro Matsumoto,
            closes #5485, closes #5608)
2020-02-10 22:06:32 +01:00
b3e195cca7 patch 8.2.0238: MS-Windows: job_stop() results in exit value zero
Problem:    MS-Windows: job_stop() results in exit value zero.
Solution:   Call TerminateJobObject() with -1 instead of 0. (Yasuhiro
            Matsumoto, closes #5150, closes #5614)
2020-02-10 21:32:19 +01:00
7ba3b91e03 patch 8.2.0237: crash when setting 'wincolor' on finished terminal window
Problem:    Crash when setting 'wincolor' on finished terminal window.
            (Bakudankun)
Solution:   Check that the vterm is not NULL. (Yasuhiro Matsumoto, closes
            #5607, closes #5610)
2020-02-10 20:34:04 +01:00
57ea2924e5 patch 8.2.0236: MS-Windows unintall doesn't delete vimtutur.bat
Problem:    MS-Windows unintall doesn't delete vimtutur.bat.
Solution:   Change directory before deletion. (Ken Takata, closes #5603)
2020-02-09 14:27:20 +01:00
755 changed files with 69404 additions and 29228 deletions

View File

@ -13,5 +13,4 @@ freebsd_12_task:
- make -j${NPROC}
- src/vim --version
test_script:
# Runtime Indent tests do not work, run only the normal test suite
- cd src && make test
- make test

View File

@ -8,7 +8,7 @@ labels: enhancement
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Is your feature request related something that is currently hard to do? Please describe.**
**Is your feature request about something that is currently impossible or hard to do? Please describe the problem.**
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)

1
.gitignore vendored
View File

@ -5,6 +5,7 @@ src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/tags

View File

@ -1,23 +1,23 @@
language: c
anchors:
_anchors:
envs:
- &tiny-nogui
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
BUILD=yes TEST=test FEATURES=tiny CONFOPT="--disable-gui" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &tiny
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
BUILD=yes TEST=test FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &small
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
BUILD=yes TEST=test FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &normal
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &linux-huge
BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &osx-huge # macOS build
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &unittests
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- &asan # ASAN build
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
@ -26,12 +26,9 @@ anchors:
linux: &linux
os: linux
dist: trusty
dist: bionic
addons:
apt:
sources:
# Need msgfmt 0.19.8 to be able to generate .desktop files
- sourceline: 'ppa:ricotz/toolchain'
packages:
- autoconf
- clang
@ -41,46 +38,41 @@ anchors:
- libperl-dev
- python-dev
- python3-dev
- liblua5.2-dev
- lua5.2
- liblua5.3-dev
- lua5.3
- ruby-dev
- tcl-dev
- cscope
- libgtk2.0-dev
- desktop-file-utils
- libtool-bin
services:
- xvfb
before_install:
- rvm reset
# Remove /opt/python/3.x.x/bin from $PATH for using system python3.
# ("pyenv global system" doesn't seem to work.)
- |
if [[ "$(which python3)" =~ ^/opt/python/ ]]; then
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
fi
- |
if [[ "${COVERAGE}" = "yes" ]]; then
pip install --user cpp-coveralls
fi
# needed for https support for coveralls
# building cffi only works with gcc, not with clang
- |
if [[ "${COVERAGE}" = "yes" ]]; then
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
fi
# Use llvm-cov instead of gcov when compiler is clang.
- |
if [[ "${CC}" = "clang" ]]; then
ln -sf "$(which llvm-cov)" /home/travis/bin/gcov
ln -sf "$(command -v llvm-cov)" /home/travis/bin/gcov
fi
# Setup lua5.3 manually since its package doesn't provide alternative.
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
- |
if [[ "${CONFOPT}" =~ luainterp ]]; then
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
fi
before_script:
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start && sleep 3
- sudo modprobe snd-dummy
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
- sudo bash ci/load-snd-dummy.sh || true
- sudo usermod -a -G audio $USER
- do_test() { sg audio "sg $(id -gn) '$*'"; }
osx: &osx
os: osx
before_script:
- do_test() { "$@"; }
homebrew: &osx-homebrew
addons:
homebrew:
packages:
@ -89,25 +81,24 @@ anchors:
cache:
directories:
- /usr/local/Homebrew/Library/Homebrew/vendor/
- /usr/local/Homebrew/Library/Taps/
- /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
before_install:
- rvm reset
# Lua is not installed on Travis OSX
# Lua is not installed on macOS
- export LUA_PREFIX=/usr/local
before_script:
- do_test() { "$@"; }
coverage: &coverage
# needed for https support for coveralls building cffi only works with gcc,
# not with clang
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
asan_symbolize: &asan_symbolize
- |
while read log; do
asan_symbolize < "${log}"
done < <(find . -type f -name 'asan.*' -size +0)
sudo: false
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
# https://github.com/pyenv/pyenv/issues/580
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
- find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
branches:
except:
@ -131,6 +122,15 @@ script:
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
- |
if [[ "${BUILD}" = "yes" ]]; then
# Append various warning flags to CFLAGS.
# BSD sed needs backup extension specified.
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
# On macOS, the entity of gcc is clang.
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
else
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
fi
make ${SHADOWOPT} -j${NPROC}
fi
- echo -en "travis_fold:end:build\\r\\033[0K"
@ -139,19 +139,18 @@ script:
- |
if [[ "${BUILD}" = "yes" ]]; then
"${SRCDIR}"/vim --version
"${SRCDIR}"/vim -u NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
fi
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
# exclude some builds on mac os x and linux
# on mac os x "tiny" is always without GUI
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
matrix:
# Instead of using all environments with both compilers on both systems,
# exclude some builds on mac os x and linux.
# On mac os x "tiny" is always without GUI, use 2 compilers in 2 environments.
# Linux: 2 compilers on some of the environments + gcc on os390
jobs:
include:
- <<: *osx
name: tiny-nogui/clang
@ -162,10 +161,12 @@ matrix:
compiler: gcc
env: *tiny-nogui
- <<: *osx
<<: *osx-homebrew
name: huge/clang
compiler: clang
env: *osx-huge
- <<: *osx
<<: *osx-homebrew
name: huge/gcc
compiler: gcc
env: *osx-huge
@ -201,21 +202,25 @@ matrix:
env:
- *normal
- *shadowopt
- <<: *linux
arch: s390x
name: huge/gcc-s390x
compiler: gcc
env: *linux-huge
services: []
- <<: *linux
name: huge+coverage/clang
compiler: clang
env: *linux-huge
env:
- *linux-huge
# Clang cannot compile test_libvterm with "--coverage" flag.
- TEST=scripttests
after_success: *coverage
- <<: *linux
name: huge+coverage/gcc
compiler: gcc
env: *linux-huge
after_success: *coverage
- <<: *linux
name: unittests+coverage/gcc
compiler: gcc
env: *unittests
after_success: *coverage
- <<: *linux # ASAN
name: huge+asan/gcc
compiler: gcc
@ -230,6 +235,11 @@ matrix:
- *linux-huge
- TEST="-C src testgui"
after_success: *coverage
- <<: *linux
name: unittests+coverage/gcc
compiler: gcc
env: *unittests
after_success: *coverage
- <<: *linux
name: vimtags/gcc
compiler: gcc

View File

@ -12,9 +12,10 @@ SRC_ALL = \
appveyor.yml \
ci/appveyor.bat \
ci/if_ver*.vim \
ci/load-snd-dummy.sh \
ci/config.mk*.sed \
src/Make_all.mak \
src/README.md \
src/README_VIM9.md \
src/alloc.h \
src/arabic.c \
src/arglist.c \
@ -30,6 +31,8 @@ SRC_ALL = \
src/channel.c \
src/charset.c \
src/cindent.c \
src/clientserver.c \
src/clipboard.c \
src/cmdexpand.c \
src/cmdhist.c \
src/crypt.c \
@ -126,7 +129,11 @@ SRC_ALL = \
src/term.h \
src/termlib.c \
src/testing.c \
src/textformat.c \
src/textobject.c \
src/textprop.c \
src/time.c \
src/typval.c \
src/ui.c \
src/undo.c \
src/usercmd.c \
@ -150,20 +157,22 @@ SRC_ALL = \
src/testdir/*.py \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/summarize.vim \
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
src/testdir/check.vim \
src/testdir/shared.vim \
src/testdir/screendump.vim \
src/testdir/view_util.vim \
src/testdir/term_util.vim \
src/testdir/setup.vim \
src/testdir/gui_init.vim \
src/testdir/setup_gui.vim \
src/testdir/gui_preinit.vim \
src/testdir/mouse.vim \
src/testdir/runtest.vim \
src/testdir/screendump.vim \
src/testdir/setup.vim \
src/testdir/setup_gui.vim \
src/testdir/shared.vim \
src/testdir/vim9.vim \
src/testdir/summarize.vim \
src/testdir/term_util.vim \
src/testdir/view_util.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
src/testdir/test49.vim \
src/testdir/test83-tags? \
src/testdir/test77a.com \
@ -178,8 +187,6 @@ SRC_ALL = \
src/testdir/python_after/*.py \
src/testdir/python_before/*.py \
src/testdir/pyxfile/*.py \
src/testdir/bench*.in \
src/testdir/bench*.vim \
src/testdir/dumps/*.dump \
src/testdir/samples/*.txt \
src/testdir/samples/test000 \
@ -200,6 +207,8 @@ SRC_ALL = \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/cindent.pro \
src/proto/clientserver.pro \
src/proto/clipboard.pro \
src/proto/cmdexpand.pro \
src/proto/cmdhist.pro \
src/proto/crypt.pro \
@ -274,7 +283,11 @@ SRC_ALL = \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/testing.pro \
src/proto/textformat.pro \
src/proto/textobject.pro \
src/proto/textprop.pro \
src/proto/time.pro \
src/proto/typval.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/usercmd.pro \
@ -291,10 +304,12 @@ SRC_ALL = \
src/libvterm/LICENSE \
src/libvterm/Makefile \
src/libvterm/README \
src/libvterm/CONTRIBUTING \
src/libvterm/tbl2inc_c.pl \
src/libvterm/vterm.pc.in \
src/libvterm/doc/URLs \
src/libvterm/doc/seqs.txt \
src/libvterm/find-wide-chars.pl \
src/libvterm/include/vterm.h \
src/libvterm/include/vterm_keycodes.h \
src/libvterm/src/encoding.c \
@ -302,6 +317,7 @@ SRC_ALL = \
src/libvterm/src/encoding/DECdrawing.tbl \
src/libvterm/src/encoding/uk.inc \
src/libvterm/src/encoding/uk.tbl \
src/libvterm/src/fullwidth.inc \
src/libvterm/src/keyboard.c \
src/libvterm/src/mouse.c \
src/libvterm/src/parser.c \
@ -332,16 +348,18 @@ SRC_ALL = \
src/libvterm/t/27state_reset.test \
src/libvterm/t/28state_dbl_wh.test \
src/libvterm/t/29state_fallback.test \
src/libvterm/t/30pen.test \
src/libvterm/t/40screen_ascii.test \
src/libvterm/t/41screen_unicode.test \
src/libvterm/t/42screen_damage.test \
src/libvterm/t/43screen_resize.test \
src/libvterm/t/44screen_pen.test \
src/libvterm/t/45screen_protect.test \
src/libvterm/t/46screen_extent.test \
src/libvterm/t/47screen_dbl_wh.test \
src/libvterm/t/48screen_termprops.test \
src/libvterm/t/30state_pen.test \
src/libvterm/t/31state_rep.test \
src/libvterm/t/32state_flow.test \
src/libvterm/t/60screen_ascii.test \
src/libvterm/t/61screen_unicode.test \
src/libvterm/t/62screen_damage.test \
src/libvterm/t/63screen_resize.test \
src/libvterm/t/64screen_pen.test \
src/libvterm/t/65screen_protect.test \
src/libvterm/t/66screen_extent.test \
src/libvterm/t/67screen_dbl_wh.test \
src/libvterm/t/68screen_termprops.test \
src/libvterm/t/90vttest_01-movement-1.test \
src/libvterm/t/90vttest_01-movement-2.test \
src/libvterm/t/90vttest_01-movement-3.test \
@ -401,6 +419,7 @@ SRC_UNIX = \
src/gui_gtk_x11.c \
src/gui_gtk_res.xml \
src/gui_motif.c \
src/gui_xim.c \
src/gui_xmdlg.c \
src/gui_xmebw.c \
src/gui_xmebw.h \
@ -424,6 +443,7 @@ SRC_UNIX = \
src/proto/gui_gtk_x11.pro \
src/proto/gui_gtk_gresources.pro \
src/proto/gui_motif.pro \
src/proto/gui_xim.pro \
src/proto/gui_xmdlg.pro \
src/proto/gui_x11.pro \
src/proto/if_xcmdsrv.pro \
@ -529,7 +549,6 @@ SRC_DOS = \
src/uninstall.c \
src/vim.def \
src/vim.rc \
src/vimio.h \
src/gvim.exe.mnf \
src/vimrun.c \
src/xpm_w32.c \
@ -599,6 +618,15 @@ SRC_AMI = \
src/testdir/amiga.vim \
src/xxd/Make_amiga.mak \
# source files for Haiku (also in the extra archive)
SRC_HAIKU = \
README_haiku.txt \
src/os_haiku.h \
src/os_haiku.rdef.in \
src/gui_haiku.cc \
src/gui_haiku.h \
src/proto/gui_haiku.pro \
# source files for the Mac (also in the extra archive)
SRC_MAC = \
src/INSTALLmac.txt \
@ -634,13 +662,13 @@ SRC_QNX = \
src/proto/gui_photon.pro \
src/proto/os_qnx.pro \
# source files for the extra archive (all sources that are not for Unix)
SRC_EXTRA = \
$(SRC_AMI) \
$(SRC_AMI_DOS) \
$(SRC_DOS) \
$(SRC_DOS_BIN) \
$(SRC_HAIKU) \
$(SRC_MAC) \
$(SRC_QNX) \
$(SRC_VMS) \
@ -648,10 +676,6 @@ SRC_EXTRA = \
src/Make_mint.mak \
src/infplist.xml \
src/link.390 \
src/os_beos.c \
src/os_beos.h \
src/os_beos.rsrc \
src/proto/os_beos.pro \
src/os_mint.h \
src/os_vms_fix.com \
src/toolbar.phi \
@ -660,6 +684,7 @@ SRC_EXTRA = \
RT_ALL = \
README.txt \
README.md \
README_VIM9.md \
LICENSE \
CONTRIBUTING.md \
runtime/bugreport.vim \
@ -775,20 +800,20 @@ RT_UNIX = \
README_unix.txt \
runtime/hi16-action-make.png \
runtime/hi22-action-make.png \
runtime/vim16x16.png \
runtime/vim16x16.xpm \
runtime/vim32x32.png \
runtime/vim32x32.xpm \
runtime/vim48x48.png \
runtime/vim48x48.xpm \
runtime/gvim.desktop \
runtime/vim.desktop \
# Unix and DOS runtime without CR-LF translation
RT_UNIX_DOS_BIN = \
runtime/vim16x16.gif \
runtime/vim16x16.png \
runtime/vim16x16.xpm \
runtime/vim32x32.gif \
runtime/vim32x32.png \
runtime/vim32x32.xpm \
runtime/vim48x48.gif \
runtime/vim48x48.png \
runtime/vim48x48.xpm \
# runtime not for unix or extra
RT_NO_UNIX = \
@ -947,6 +972,8 @@ LANG_GEN = \
runtime/doc/*-pl.UTF-8.1 \
runtime/doc/*-ru.1 \
runtime/doc/*-ru.UTF-8.1 \
runtime/doc/*-tr.1 \
runtime/doc/*-tr.UTF-8.1 \
runtime/lang/README.txt \
runtime/lang/menu_*.vim \
runtime/keymap/README.txt \

View File

@ -26,8 +26,8 @@ All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
flavours of UNIX. Porting to other systems should not be very difficult.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
all flavours of UNIX. Porting to other systems should not be very difficult.
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
@ -72,6 +72,7 @@ archive):
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
There are other `README_*.txt` files, depending on the distribution you used.

View File

@ -13,9 +13,6 @@ src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
src/os_amiga.* Files for the Amiga port.
src/gui_beos.*
src/os_beos.* Files for the BeOS port.
src/os_msdos.*
src/os_dos.* Files for the MS-DOS port.

View File

@ -0,0 +1,13 @@
README_haiku.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on Haiku operating system.
See "README.txt" for general information about Vim.
Preferred (and easy) way to get Vim on Haiku is to use default Haiku
software repository HaikuPorts. To get Vim:
- Open HaikuDepot application and search for "vim" package, then install,
- Open a Terminal and type "pkgman install vim", then follow instructions.
If you prefer to install Vim from source, follow the instructions on
"runtime/doc/os_haiku.txt", "Compiling Vim" section.

View File

@ -25,9 +25,9 @@ test_script:
- cd src/testdir
# Testing with MSVC gvim
- path C:\Python35-x64;%PATH%
- nmake -f Make_dos.mak VIMPROG=..\gvim
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\gvim
- nmake -f Make_dos.mak clean
# Testing with MingW console version
- nmake -f Make_dos.mak VIMPROG=..\vim
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim
# vim: sw=2 sts=2 et ts=8 sr

View File

@ -8,6 +8,7 @@ cd src
echo "Building MinGW 32bit console version"
set PATH=c:\msys64\mingw32\bin;%PATH%
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
.\vim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
:: Save vim.exe before Make clean, moved back below.
copy vim.exe testdir
mingw32-make.exe -f Make_ming.mak clean
@ -20,13 +21,14 @@ if "%FEATURE%" == "HUGE" (
) ELSE (
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
)
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming_gui.txt
:: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
echo "Building MSVC 64bit console Version"
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
:: The executable is not used
nmake -f Make_mvc2.mak clean
:: build MSVC huge version with python and channel support
@ -43,6 +45,8 @@ if "%FEATURE%" == "HUGE" (
move /Y testdir\vim.exe .
echo "version output MinGW"
type ver_ming.txt
echo "version output MinGW GUI"
type ver_ming_gui.txt
echo "version output MVC"
type ver_msvc.txt
cd ..

2
ci/config.mk.clang.sed Normal file
View File

@ -0,0 +1,2 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/

1
ci/config.mk.gcc.sed Normal file
View File

@ -0,0 +1 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=maybe-uninitialized/

2
ci/config.mk.sed Normal file
View File

@ -0,0 +1,2 @@
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unused-function/

8
ci/load-snd-dummy.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/bash
set -e
if ! modprobe snd-dummy; then
# snd-dummy is contained in linux-modules-extra (if exists)
apt install -y "linux-modules-extra-$(uname -r)"
modprobe snd-dummy
fi

View File

@ -39,7 +39,7 @@ Unicode true
# Uncomment the next line if you want to include VisVim extension:
#!define HAVE_VIS_VIM
# Comment the following line to create a multilanguage installer:
# Comment the following line to create an English-only installer:
!define HAVE_MULTI_LANG
# Uncomment the next line if you want to create a 64-bit installer.

View File

@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2018 Aug 20
" Last Change: 2020 Apr 08
let s:cpo_save = &cpo
set cpo&vim
@ -635,3 +635,5 @@ endfunc
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: noet sw=2 sts=2

View File

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

View File

@ -1,6 +1,6 @@
" Vim plugin for formatting XML
" Last Change: 2019 Oct 24
" Version: 0.2
" Last Change: 2020 Jan 06
" Version: 0.3
" Author: Christian Brabandt <cb@256bit.org>
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
" License: VIM License
@ -15,7 +15,7 @@ let s:keepcpo = &cpo
set cpo&vim
" Main function: Format the input {{{1
func! xmlformat#Format()
func! xmlformat#Format() abort
" only allow reformatting through the gq command
" (e.g. Vim is in normal mode)
if mode() != 'n'
@ -40,14 +40,16 @@ func! xmlformat#Format()
continue
elseif line !~# '<[/]\?[^>]*>'
let nextmatch = match(list, '<[/]\?[^>]*>', current)
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
call remove(list, current+1, nextmatch-1)
if nextmatch > -1
let line .= ' '. join(list[(current + 1):(nextmatch-1)], " ")
call remove(list, current+1, nextmatch-1)
endif
endif
" split on `>`, but don't split on very first opening <
" this means, items can be like ['<tag>', 'tag content</tag>']
for item in split(line, '.\@<=[>]\zs')
if s:EndTag(item)
let s:indent = s:DecreaseIndent()
call s:DecreaseIndent()
call add(result, s:Indent(item))
elseif s:EmptyTag(lastitem)
call add(result, s:Indent(item))
@ -59,13 +61,23 @@ func! xmlformat#Format()
" Simply split on '<', if there is one,
" but reformat according to &textwidth
let t=split(item, '.<\@=\zs')
" if the content fits well within a single line, add it there
" so that the output looks like this:
"
" <foobar>1</foobar>
if s:TagContent(lastitem) is# s:TagContent(t[1]) && strlen(result[-1]) + strlen(item) <= s:Textwidth()
let result[-1] .= item
let lastitem = t[1]
continue
endif
" t should only contain 2 items, but just be safe here
if s:IsTag(lastitem)
let s:indent+=1
endif
let result+=s:FormatContent([t[0]])
if s:EndTag(t[1])
let s:indent = s:DecreaseIndent()
call s:DecreaseIndent()
endif
"for y in t[1:]
let result+=s:FormatContent(t[1:])
@ -97,15 +109,15 @@ func! xmlformat#Format()
return 0
endfunc
" Check if given tag is XML Declaration header {{{1
func! s:IsXMLDecl(tag)
func! s:IsXMLDecl(tag) abort
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
endfunc
" Return tag indented by current level {{{1
func! s:Indent(item)
func! s:Indent(item) abort
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
endfu
" Return item trimmed from leading whitespace {{{1
func! s:Trim(item)
func! s:Trim(item) abort
if exists('*trim')
return trim(a:item)
else
@ -113,44 +125,53 @@ func! s:Trim(item)
endif
endfunc
" Check if tag is a new opening tag <tag> {{{1
func! s:StartTag(tag)
func! s:StartTag(tag) abort
let is_comment = s:IsComment(a:tag)
return a:tag =~? '^\s*<[^/?]' && !is_comment
endfunc
" Check if tag is a Comment start {{{1
func! s:IsComment(tag)
func! s:IsComment(tag) abort
return a:tag =~? '<!--'
endfunc
" Remove one level of indentation {{{1
func! s:DecreaseIndent()
return (s:indent > 0 ? s:indent - 1 : 0)
func! s:DecreaseIndent() abort
let s:indent = (s:indent > 0 ? s:indent - 1 : 0)
endfunc
" Check if tag is a closing tag </tag> {{{1
func! s:EndTag(tag)
func! s:EndTag(tag) abort
return a:tag =~? '^\s*</'
endfunc
" Check that the tag is actually a tag and not {{{1
" something like "foobar</foobar>"
func! s:IsTag(tag)
func! s:IsTag(tag) abort
return s:Trim(a:tag)[0] == '<'
endfunc
" Check if tag is empty <tag/> {{{1
func! s:EmptyTag(tag)
func! s:EmptyTag(tag) abort
return a:tag =~ '/>\s*$'
endfunc
func! s:TagContent(tag) abort "{{{1
" Return content of a tag
return substitute(a:tag, '^\s*<[/]\?\([^>]*\)>\s*$', '\1', '')
endfunc
func! s:Textwidth() abort "{{{1
" return textwidth (or 80 if not set)
return &textwidth == 0 ? 80 : &textwidth
endfunc
" Format input line according to textwidth {{{1
func! s:FormatContent(list)
func! s:FormatContent(list) abort
let result=[]
let limit = 80
if &textwidth > 0
let limit = &textwidth
endif
let limit = s:Textwidth()
let column=0
let idx = -1
let add_indent = 0
let cnt = 0
for item in a:list
for word in split(item, '\s\+\S\+\zs')
if match(word, '^\s\+$') > -1
" skip empty words
continue
endif
let column += strdisplaywidth(word, column)
if match(word, "^\\s*\n\\+\\s*$") > -1
call add(result, '')

View File

@ -0,0 +1,16 @@
" Vim compiler file
" Compiler: ESLint for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17
if exists("current_compiler")
finish
endif
let current_compiler = "eslint"
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=eslint\ --format\ compact
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#

View File

@ -0,0 +1,16 @@
" Vim compiler file
" Compiler: Standard for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17
if exists("current_compiler")
finish
endif
let current_compiler = "standard"
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=standard
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#

View File

@ -64,6 +64,7 @@ DOCS = \
os_amiga.txt \
os_beos.txt \
os_dos.txt \
os_haiku.txt \
os_mac.txt \
os_mint.txt \
os_msdos.txt \
@ -140,6 +141,7 @@ DOCS = \
usr_43.txt \
usr_44.txt \
usr_45.txt \
usr_46.txt \
usr_90.txt \
usr_toc.txt \
various.txt \
@ -204,6 +206,7 @@ HTMLS = \
os_amiga.html \
os_beos.html \
os_dos.html \
os_haiku.html \
os_mac.html \
os_mint.html \
os_msdos.html \
@ -280,6 +283,7 @@ HTMLS = \
usr_43.html \
usr_44.html \
usr_45.html \
usr_46.html \
usr_90.html \
usr_toc.html \
various.html \
@ -315,7 +319,11 @@ CONVERTED = \
evim-ru.UTF-8.1 \
vimdiff-ru.UTF-8.1 \
vimtutor-ru.UTF-8.1 \
xxd-ru.UTF-8.1
xxd-ru.UTF-8.1 \
vim-tr.UTF-8.1 \
evim-tr.UTF-8.1 \
vimdiff-tr.UTF-8.1 \
vimtutor-tr.UTF-8.1
.SUFFIXES:
.SUFFIXES: .c .o .txt .html
@ -422,6 +430,9 @@ os_beos.txt:
os_dos.txt:
touch os_dos.txt
os_haiku.txt:
touch os_haiku.txt
os_mac.txt:
touch os_mac.txt
@ -504,3 +515,15 @@ vimtutor-ru.UTF-8.1: vimtutor-ru.1
xxd-ru.UTF-8.1: xxd-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
vim-tr.UTF-8.1: vim-tr.1
iconv -f latin5 -t utf-8 $< >$@
evim-tr.UTF-8.1: evim-tr.1
iconv -f latin5 -t utf-8 $< >$@
vimdiff-tr.UTF-8.1: vimdiff-tr.1
iconv -f latin5 -t utf-8 $< >$@
vimtutor-tr.UTF-8.1: vimtutor-tr.1
iconv -f latin5 -t utf-8 $< >$@

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jan 26
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -380,6 +380,7 @@ Name triggered by ~
info
|User| to be used in combination with ":doautocmd"
|SigUSR1| after the SIGUSR1 signal has been detected
The alphabetical list of autocommand events: *autocmd-events-abc*
@ -1153,11 +1154,14 @@ TextYankPost After text has been yanked or deleted in the
register.
regtype Type of the register, see
|getregtype()|.
visual True if the operation is
performed on a |Visual| area.
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
@ -1166,6 +1170,15 @@ User Never executed automatically. To be used for
used while there are no matching autocommands,
you will get an error. If you don't want
that, define a dummy autocommand yourself.
*SigUSR1*
SigUSR1 After the SIGUSR1 signal has been detected.
Could be used if other ways of notifying Vim
are not feasible. E.g. to check for the
result of a build that takes a long time, or
when a motion sensor is triggered.
{only on Unix}
*UserGettingBored*
UserGettingBored When the user presses the same key 42 times.
Just kidding! :-)

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.2. Last change: 2019 Sep 28
*change.txt* For Vim version 8.2. Last change: 2020 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -209,7 +209,7 @@ gR Enter Virtual Replace mode: Each character you type
start insert (for {Visual} see |Visual-mode|).
*v_r*
{Visual}["x]r{char} Replace all selected characters by {char}.
{Visual}r{char} Replace all selected characters by {char}.
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and
@ -636,6 +636,8 @@ For other systems the tmpnam() library function is used.
|cmdline-ranges|.
See |:s_flags| for [flags].
The delimiter doesn't need to be /, see
|pattern-delimiter|.
:[range]s[ubstitute] [flags] [count]
:[range]&[&][flags] [count] *:&*
@ -775,7 +777,7 @@ This deletes "TESTING" from all lines, but only one per line.
For compatibility with Vi these two exceptions are allowed:
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
"\&{string}&" does the same as "//{string}/".
*E146*
*pattern-delimiter* *E146*
Instead of the '/' which surrounds the pattern and replacement string, you
can use any other single-byte character, but not an alphanumeric character,
'\', '"' or '|'. This is useful if you want to include a '/' in the search
@ -994,9 +996,9 @@ inside of strings can change! Also see 'softtabstop' option. >
5. Copying and moving text *copy-move*
*quote*
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank
or put (use uppercase character to append with
delete and yank) ({.%#:} only work with put).
"{register} Use {register} for next delete, yank or put. Use
an uppercase character to append with delete and yank.
Registers ".", "%", "#" and ":" only work with put.
*:reg* *:registers*
:reg[isters] Display the type and contents of all numbered and
@ -1456,7 +1458,7 @@ 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
" fall back to Vim's internal reformatting
return 1
endif
let lines = getline(v:lnum, v:lnum + v:count - 1)
@ -1686,6 +1688,10 @@ B When joining lines, don't insert a space between two multi-byte
characters. Overruled by the 'M' flag.
1 Don't break a line after a one-letter word. It's broken before it
instead (if possible).
] Respect textwidth rigorously. With this flag set, no line can be
longer than textwidth, unless line-break-prohibition rules make this
impossible. Mainly for CJK scripts and works only if 'encoding' is
"utf-8".
j Where it makes sense, remove a comment leader when joining lines. For
example, joining:
int i; // the index ~

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.2. Last change: 2019 Dec 07
*channel.txt* For Vim version 8.2. Last change: 2020 Jun 01
VIM REFERENCE MANUAL by Bram Moolenaar
@ -120,6 +120,9 @@ Use |ch_status()| to see if the channel could be opened.
{address} has the form "hostname:port". E.g., "localhost:8765".
When using an IPv6 address, enclose it within square brackets. E.g.,
"[2001:db8::1]:8765".
{options} is a dictionary with optional entries: *channel-open-options*
"mode" can be: *channel-mode*
@ -621,6 +624,9 @@ ch_open({address} [, {options}]) *ch_open()*
{address} has the form "hostname:port", e.g.,
"localhost:8765".
When using an IPv6 address, enclose it within square brackets.
E.g., "[2001:db8::1]:8765".
If {options} is given it must be a |Dictionary|.
See |channel-open-options|.
@ -1229,8 +1235,8 @@ If you want to type input for the job in a Vim window you have a few options:
- Use a terminal window. This works well if what you type goes directly to
the job and the job output is directly displayed in the window.
See |terminal-window|.
- Use a prompt window. This works well when entering a line for the job in Vim
while displaying (possibly filtered) output from the job.
- Use a window with a prompt buffer. This works well when entering a line for
the job in Vim while displaying (possibly filtered) output from the job.
A prompt buffer is created by setting 'buftype' to "prompt". You would
normally only do that in a newly created buffer.
@ -1264,5 +1270,46 @@ Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
the cursor to the last line. "A" will move to the end of the line, "I" to the
start of the line.
Here is an example for Unix. It starts a shell in the background and prompts
for the next shell command. Output from the shell is displayed above the
prompt. >
" Create a channel log so we can see what happens.
call ch_logfile('logfile', 'w')
" Function handling a line of text has been typed.
func TextEntered(text)
" Send the text to a shell with Enter appended.
call ch_sendraw(g:shell_job, a:text .. "\n")
endfunc
" Function handling output from the shell: Added above the prompt.
func GotOutput(channel, msg)
call append(line("$") - 1, "- " . a:msg)
endfunc
" Function handling the shell exist: close the window.
func JobExit(job, status)
quit!
endfunc
" Start a shell in the background.
let shell_job = job_start(["/bin/sh"], #{
\ out_cb: function('GotOutput'),
\ err_cb: function('GotOutput'),
\ exit_cb: function('JobExit'),
\ })
let shell_ch = job_getchannel(shell_job)
new
set buftype=prompt
let buf = bufnr('')
call prompt_setcallback(buf, function("TextEntered"))
eval prompt_setprompt(buf, "shell command: ")
" start accepting shell commands
startinsert
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.2. Last change: 2019 Dec 17
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -476,6 +476,10 @@ emulate it. For example, this mimics autolist=ambiguous:
This will find the longest match with the first 'wildchar', then list all
matching files with the next.
*complete-script-local-functions*
When completing user function names, prepend "s:" to find script-local
functions.
*suffixes*
For file name completion you can use the 'suffixes' option to set a priority
between files with almost the same name. If there are multiple matches,
@ -586,6 +590,7 @@ followed by another Vim command:
:command
:cscope
:debug
:eval
:folddoopen
:folddoclosed
:function
@ -610,6 +615,7 @@ followed by another Vim command:
:tcl
:tcldo
:tclfile
:terminal
:vglobal
:windo
:write !

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.2. Last change: 2019 Nov 22
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -151,7 +151,8 @@ VIM IS... NOT *design-not*
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include
everything but the kitchen sink, but some people say that you can clean one
with it. ;-)"
To use Vim with gdb see: http://www.agide.org and http://clewn.sf.net.
To use Vim with gdb see |terminal-debugger|. Other (older) tools can be
found at http://www.agide.org and http://clewn.sf.net.
- Vim is not a fancy GUI editor that tries to look nice at the cost of
being less consistent over all platforms. But functional GUI features are
welcomed.

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.2. Last change: 2019 Dec 22
*editing.txt* For Vim version 8.2. Last change: 2020 Jun 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -475,6 +475,9 @@ This edits the same file again with 'fileformat' set to "unix". >
:w ++enc=latin1 newfile
This writes the current buffer to "newfile" in latin1 format.
The message given when writing a file will show "[converted]" when
'fileencoding' or the value specified with ++enc differs from 'encoding'.
There may be several ++opt arguments, separated by white space. They must all
appear before any |+cmd| argument.
@ -1079,9 +1082,9 @@ The names can be in upper- or lowercase.
*:q* *:quit*
:q[uit] Quit the current window. Quit Vim if this is the last
window. This fails when changes have been made and
Vim refuses to |abandon| the current buffer, and when
the last file in the argument list has not been
|edit-window|. This fails when changes have been made
and Vim refuses to |abandon| the current buffer, and
when the last file in the argument list has not been
edited.
If there are other tab pages and quitting the last
window in the current tab page the current tab page is
@ -1107,18 +1110,22 @@ The names can be in upper- or lowercase.
|quickfix|).
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
the file is read-only or the buffer does not have a
name. Quitting fails when the last file in the
argument list has not been edited.
:wq [++opt] Write the current file and close the window. If this
was the last |edit-window| Vim quits.
Writing fails when the file is read-only or the buffer
does not have a name. Quitting fails when the last
file in the argument list has not been edited.
:wq! [++opt] Write the current file and quit. Writing fails when
the current buffer does not have a name.
:wq! [++opt] Write the current file and close the window. If this
was the last |edit-window| Vim quits. Writing fails
when the current buffer does not have a name.
:wq [++opt] {file} Write to {file} and quit. Quitting fails when the
:wq [++opt] {file} Write to {file} and close the window. If this was the
last |edit-window| Vim quits. Quitting fails when the
last file in the argument list has not been edited.
:wq! [++opt] {file} Write to {file} and quit.
:wq! [++opt] {file} Write to {file} and close the current window. Quit
Vim if this was the last |edit-window|.
:[range]wq[!] [++opt] [file]
Same as above, but only write the lines in [range].
@ -1135,10 +1142,10 @@ The names can be in upper- or lowercase.
Same as :xit.
*ZZ*
ZZ Write current file, if modified, and quit (same as
":x"). (Note: If there are several windows for the
current file, the file is written if it was modified
and the window is closed).
ZZ Write current file, if modified, and close the current
window (same as ":x").
If there are several windows for the current file,
only the current window is closed.
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
@ -1319,6 +1326,10 @@ present in 'cpoptions' and "!" is not used in the command.
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|.
*:tcd-*
:tcd[!] - Change to the previous current directory, before the
last ":tcd {path}" command.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
@ -1328,9 +1339,28 @@ present in 'cpoptions' and "!" is not used in the command.
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|.
*:lcd-*
:lcd[!] - Change to the previous current directory, before the
last ":lcd {path}" command.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name.
Also see |getcwd()|.
*:pwd-verbose*
When 'verbose' is non-zero, |:pwd| will also display
what scope the current directory was set. Example: >
" Set by :cd
:verbose pwd
[global] /path/to/current
" Set by :lcd
:verbose pwd
[window] /path/to/current
" Set by :tcd
:verbose pwd
[tabpage] /path/to/current
So long as no |:lcd| or |:tcd| command has been used, all windows share the
same current directory. Using a command to jump to another window doesn't

File diff suppressed because it is too large Load Diff

48
runtime/doc/evim-tr.1 Normal file
View File

@ -0,0 +1,48 @@
.TH EVIM 1 "16 <20>ubat 2002"
.SH AD
evim \- kolay Vim, bir dosyay<61> Vim ile herhangi bir kip olmadan d<>zenleyin
.SH <EFBFBD>ZET
.br
.B evim
[se<73>enekler] [dosya ..]
.br
.B eview
.SH TANIM
.B eVim,
.B Vim'i
ba<EFBFBD>lat<EFBFBD>r ve onu herhangi bir kipsiz d<>zenleyici gibi davranmas<61>n<EFBFBD> sa<73>lar.
Bu bildi<64>iniz Vim'dir, ancak bir t<>kla ve yaz d<>zenleyicisi gibi <20>al<61><6C><EFBFBD>r.
Bir <20>rnek vermek gerekirse MS-Windows <20>zerindeki Not Defteri gibi d<><64><EFBFBD>n<EFBFBD>n.
.B eVim
men<EFBFBD>lere ve ara<72> <20>ubuklar<61>na eri<72>im sa<73>layabilmeniz i<>in grafik arabirimde <20>al<61><6C><EFBFBD>r.
.PP
Yaln<EFBFBD>zca Vim ile normal bi<62>imde <20>al<61><6C>amayan ki<6B>ilerin kullan<61>m<EFBFBD> i<>indir.
Dosya d<>zenleme i<>i <20>ok daha verimsiz olacakt<6B>r.
.PP
.B eview'<27>n
ayn<EFBFBD>s<EFBFBD>d<EFBFBD>r, ancak saltokunur kipte ba<62>lar. evim \-R ile de ba<62>lat<61>labilir.
.PP
Vim hakk<6B>nda ayr<79>nt<6E>l<EFBFBD> bilgi i<>in: vim(1)
.PP
Do<EFBFBD>rudan metin giri<72>ini sa<73>layabilmek i<>in 'insertmode' se<73>ene<6E>i a<><61>l<EFBFBD>r.
.br
E<EFBFBD>lemlemeler Kopyala ve Yap<61><70>t<EFBFBD>r MS-Windows ile ayn<79> olacak bi<62>imde ayarlan<61>r.
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yap<61><70>t<EFBFBD>r<EFBFBD>r.
CTRL-V'nin orijinal i<>levi i<>in CTRL-Q kullan<61>n.
.SH SE<EFBFBD>ENEKLER
Bilgi i<>in: vim(1).
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/evim.vim
eVim'i ilklendirmek i<>in kullan<61>lan betik.
.SH NAM-I D<EFBFBD><EFBFBD>ER
Nam-<2D> di<64>er "Lastik <20>izmeliler i<>in Vim" (Gumbies, Monty Python).
eVim'i kullan<61>rken bir mendili al<61>p iki ucundan birer d<><64><EFBFBD>m yapman<61>z
ve kafan<61>za takman<61>z beklenir.
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
Ek bilgi i<>in Yard<72>m/Te<54>ekk<6B>rler men<65>s<EFBFBD>ne bak<61>n.

View File

@ -0,0 +1,48 @@
.TH EVIM 1 "16 Şubat 2002"
.SH AD
evim \- kolay Vim, bir dosyayı Vim ile herhangi bir kip olmadan düzenleyin
.SH ÖZET
.br
.B evim
[seçenekler] [dosya ..]
.br
.B eview
.SH TANIM
.B eVim,
.B Vim'i
başlatır ve onu herhangi bir kipsiz düzenleyici gibi davranmasını sağlar.
Bu bildiğiniz Vim'dir, ancak bir tıkla ve yaz düzenleyicisi gibi çalışır.
Bir örnek vermek gerekirse MS-Windows üzerindeki Not Defteri gibi düşünün.
.B eVim
menülere ve araç çubuklarına erişim sağlayabilmeniz için grafik arabirimde çalışır.
.PP
Yalnızca Vim ile normal biçimde çalışamayan kişilerin kullanımı içindir.
Dosya düzenleme işi çok daha verimsiz olacaktır.
.PP
.B eview'ün
aynısıdır, ancak saltokunur kipte başlar. evim \-R ile de başlatılabilir.
.PP
Vim hakkında ayrıntılı bilgi için: vim(1)
.PP
Doğrudan metin girişini sağlayabilmek için 'insertmode' seçeneği açılır.
.br
Eşlemlemeler Kopyala ve Yapıştır MS-Windows ile aynı olacak biçimde ayarlanır.
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yapıştırır.
CTRL-V'nin orijinal işlevi için CTRL-Q kullanın.
.SH SEÇENEKLER
Bilgi için: vim(1).
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/evim.vim
eVim'i ilklendirmek için kullanılan betik.
.SH NAM-I DİĞER
Nam-ı diğer "Lastik Çizmeliler için Vim" (Gumbies, Monty Python).
eVim'i kullanırken bir mendili alıp iki ucundan birer düğüm yapmanız
ve kafanıza takmanız beklenir.
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
yardımlarıyla yazılmıştır.
Ek bilgi için Yardım/Teşekkürler menüsüne bakın.

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.2. Last change: 2019 Nov 16
*gui.txt* For Vim version 8.2. Last change: 2020 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -99,6 +99,7 @@ Recommended place for your personal GUI initializations:
or $VIM/_gvimrc
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
or $VIM/.gvimrc
Haiku $HOME/config/settings/vim/gvimrc
The personal initialization files are searched in the order specified above
and only the first one that is found is read.
@ -577,9 +578,11 @@ tooltips for menus. See |terminal-typing|.
Special characters in a menu name:
*menu-shortcut*
& The next character is the shortcut key. Make sure each
shortcut key is only used once in a (sub)menu. If you want to
insert a literal "&" in the menu name use "&&".
*menu-text*
<Tab> Separates the menu name from right-aligned text. This can be
used to show the equivalent typed command. The text "<Tab>"
can be used here for convenience. If you are using a real
@ -852,6 +855,8 @@ Special characters in the list, just before the rhs:
* The menu was defined with "nore" to disallow remapping.
& The menu was defined with "<script>" to allow remapping script-local
mappings only.
s The menu was defined with "<silent>" to avoid showing what it is
mapped to when triggered.
- The menu was disabled.
Note that hitting <Tab> while entering a menu name after a menu command may
@ -953,7 +958,7 @@ item for the keyword under the cursor. The register "z" is used. >
mappings, or put these lines in your gvimrc; "<C-R>" is CTRL-R, "<CR>" is
the <CR> key. |<>|)
*tooltips* *menu-tips*
5.8 Tooltips & Menu tips
See section |42.4| in the user manual.

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.2. Last change: 2019 May 05
*gui_w32.txt* For Vim version 8.2. Last change: 2020 Mar 25
VIM REFERENCE MANUAL by Bram Moolenaar
@ -199,7 +199,7 @@ With..." menu. This means you can use Vim to edit many files. Not every file
One reason to add this is to be able to edit HTML files directly from Internet
Explorer. To enable this use the "Tools" menu, "Internet Options..." entry.
In the dialog select the "Programs" tab and select Vim in the "HTML editor"
choice. If it's not there than installing didn't work properly.
choice. If it's not there then installing didn't work properly.
Doing this manually can be done with this script:
@ -456,8 +456,12 @@ See the Make_mvc.mak file for instructions, search for XPM.
To try out if XPM support works do this: >
:help
:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm'
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
:let runtime = escape($VIMRUNTIME, ' \')
:exe 'sign define vimxpm icon=' .. runtime .. '\\vim16x16.xpm'
:exe 'sign place 1 line=1 name=vimxpm file=' .. expand('%:p')
<
You may need to get the vim16x16.xpm file from github:
https://github.com/vim/vim/blob/master/runtime/vim16x16.xpm
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.2. Last change: 2019 May 05
*gui_x11.txt* For Vim version 8.2. Last change: 2020 Jun 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -356,6 +356,9 @@ need to set those up in some sort of gtkrc file. You'll have to refer
to the GTK documentation, however little there is, on how to do this.
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
for more information.
*gtk3-slow*
If you are using GTK3 and Vim appears to be slow, try setting the environment
variable $GDK_RENDERING to "image".
Tooltip Colors ~

View File

@ -1,4 +1,4 @@
*help.txt* For Vim version 8.2. Last change: 2019 Jul 21
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05
VIM - main help file
k
@ -31,7 +31,7 @@ Get specific help: It is possible to go directly to whatever you want help
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
Getting started: Do the Vim tutor, a 20 minute interactive training for the
Getting started: Do the Vim tutor, a 30-minute interactive course for the
basic commands, see |vimtutor|.
Read the user manual from start to end: |usr_01.txt|
@ -41,7 +41,7 @@ through the help of many others. See |credits|.
*doc-file-list* *Q_ct*
BASIC:
|quickref| Overview of the most common commands you will use
|tutor| 20 minutes training course for beginners
|tutor| 30-minute interactive course for beginners
|copying| About copyrights
|iccf| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
@ -144,7 +144,7 @@ Special issues ~
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice
|terminal.txt| Terminal window support
|popup.txt| popop window support
|popup.txt| popup window support
Programming language support ~
|indent.txt| automatic indenting for C and other languages
@ -198,6 +198,7 @@ Remarks about specific systems ~
|os_amiga.txt| Amiga
|os_beos.txt| BeOS and BeBox
|os_dos.txt| MS-DOS and MS-Windows common items
|os_haiku.txt| Haiku
|os_mac.txt| Macintosh
|os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)

View File

@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 8.2. Last change: 2019 Oct 18
*helphelp.txt* For Vim version 8.2. Last change: 2020 Mar 01
VIM REFERENCE MANUAL by Bram Moolenaar
@ -368,4 +368,15 @@ highlighting. So do these:
You can find the details in $VIMRUNTIME/syntax/help.vim
*inclusion*
Some people make a big deal about using "his" when referring to the user,
thinking it means we assume the user is male. That is of course not the case,
it's just a habit of writing help text, which quite often is many years old.
Also, a lot of the text is written by contributors for who English is not
their first language. We do not make any assumptions about the gender of the
user, no matter how the text is phrased. And we do not want to waste time on
this discussion. The goal is that the reader understands how Vim works, the
exact wording is secondary.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 8.2. Last change: 2019 Jul 21
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
VIM REFERENCE MANUAL by Luis Carvalho
@ -32,7 +32,7 @@ Examples:
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
<
:[range]lua << [endmarker]
:[range]lua << [trim] [{endmarker}]
{script}
{endmarker}
Execute Lua script {script}.
@ -40,10 +40,9 @@ Examples:
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
{script}, like for the |:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
This form of the |:lua| command is mainly useful for including Lua code
in Vim scripts.
@ -200,6 +199,15 @@ Vim evaluation and command execution, and others.
returns it. Note that the buffer is not set as
current.
vim.call({name} [,{args}])
Proxy to call Vim function named {name} with
arguments {args}. Example: >
:lua print(vim.call('has', 'timers'))
<
vim.fn Proxy to call Vim functions. Proxy methods are
created on demand. Example: >
:lua print(vim.fn.has('timers'))
<
==============================================================================
3. List userdata *lua-list*

View File

@ -39,7 +39,7 @@ To speed up the process, you might also want to use --disable-gracket and
:[range]mz[scheme] {stmt}
Execute MzScheme statement {stmt}.
:[range]mz[scheme] << [endmarker]
:[range]mz[scheme] << [trim] [{endmarker}]
{script}
{endmarker}
Execute inlined MzScheme script {script}.
@ -47,12 +47,11 @@ To speed up the process, you might also want to use --disable-gracket and
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} below the {script} must NOT be
preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot
'.' must be used after {script}, like for the
|:append| and |:insert| commands.
|:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
*:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.

View File

@ -55,7 +55,7 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
:pe[rl] << [endmarker]
:pe[rl] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Perl script {script}.

View File

@ -34,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
the `:python` command is working: >
:python print "Hello"
:[range]py[thon] << [endmarker]
:[range]py[thon] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Python script {script}.
@ -42,10 +42,9 @@ Both can be available at the same time, but read |python-2-and-3|.
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} below the {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
{script}, like for the |:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
This form of the |:python| command is mainly useful for including python code
in Vim scripts.
@ -768,12 +767,12 @@ match the Python 2.x or Python 3 version Vim was compiled with.
*:py3* *:python3*
:[range]py3 {stmt}
:[range]py3 << [endmarker]
:[range]py3 << [trim] [{endmarker}]
{script}
{endmarker}
:[range]python3 {stmt}
:[range]python3 << [endmarker]
:[range]python3 << [trim] [{endmarker}]
{script}
{endmarker}
The `:py3` and `:python3` commands work similar to `:python`. A

View File

@ -28,15 +28,15 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << [endmarker]
:rub[y] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Ruby script {script}.
The {endmarker} after {script} must NOT be preceded by
any white space.
If [endmarker] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands.
like for the |:append| and |:insert| commands. Refer
to |:let-heredoc| for more information.
This form of the |:ruby| command is mainly useful for
including ruby code in vim scripts.

View File

@ -30,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
is working: >
:tcl puts "Hello"
:[range]tc[l] << [endmarker]
:[range]tc[l] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Tcl script {script}.
@ -38,10 +38,9 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} after {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
{script}, like for the |:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
This form of the |:tcl| command is mainly useful for including tcl code in Vim
scripts.

View File

@ -570,9 +570,15 @@ The examples below assume a 'shiftwidth' of 4.
with "#" does not work.
PN When N is non-zero recognize C pragmas, and indent them like any
other code; does not concern other preprocessor directives.
When N is zero (default): don't recognize C pragmas, treating
them like every other preprocessor directive.
The defaults, spelled out in full, are:
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,E0,ps,ts,is,+s,
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0,P0
Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 8.2. Last change: 2020 Jan 14
*index.txt* For Vim version 8.2. Last change: 2020 May 31
VIM REFERENCE MANUAL by Bram Moolenaar
@ -85,7 +85,7 @@ tag char action in Insert mode ~
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
insert the contents of a register literally
and fix indent.
CTRL-S (used for terminal control flow)
CTRL-S not used or used for terminal control flow
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
line
|i_CTRL-U| CTRL-U delete all entered characters in the current
@ -220,9 +220,9 @@ tag char note action in Normal mode ~
|CTRL-N| CTRL-N 1 same as "j"
|CTRL-O| CTRL-O 1 go to N older entry in jump list
|CTRL-P| CTRL-P 1 same as "k"
CTRL-Q (used for terminal control flow)
CTRL-Q not used, or used for terminal control flow
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
CTRL-S (used for terminal control flow)
CTRL-S not used, or used for terminal control flow
|CTRL-T| CTRL-T jump to N older Tag in tag list
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a
screen)
@ -246,8 +246,7 @@ tag char note action in Normal mode ~
2 filter Nmove text through the {filter}
command
|!!| !!{filter} 2 filter N lines through the {filter} command
|quote| "{a-zA-Z0-9.%#:-"} use register {a-zA-Z0-9.%#:-"} for next
delete, yank or put (uppercase to append)
|quote| "{register} use {register} for next delete, yank or put
({.%#:} only work with put)
|#| # 1 search backward for the Nth occurrence of
the ident under the cursor
@ -365,8 +364,8 @@ tag char note action in Normal mode ~
register x]
|Y| ["x]Y yank N lines [into register x]; synonym for
"yy"
|ZZ| ZZ store current file if modified, and exit
|ZQ| ZQ exit current file always
|ZZ| ZZ write if buffer changed and close window
|ZQ| ZQ close window without writing
|[| [{char} square bracket command (see |[| below)
\ not used
|]| ]{char} square bracket command (see |]| below)
@ -829,7 +828,7 @@ tag char note action in Normal mode ~
|zD| zD delete folds recursively
|zE| zE eliminate all folds
|zF| zF create a fold for N lines
|zG| zG mark word as good spelled word
|zG| zG temporarily mark word as correctly spelled
|zH| zH when 'wrap' off scroll half a screenwidth
to the right
|zL| zL when 'wrap' off scroll half a screenwidth
@ -838,7 +837,7 @@ tag char note action in Normal mode ~
|zN| zN set 'foldenable'
|zO| zO open folds recursively
|zR| zR set 'foldlevel' to the deepest fold
|zW| zW mark word as wrong (bad) spelled word
|zW| zW temporarily mark word as incorrectly spelled
|zX| zX re-apply 'foldlevel'
|z^| z^ cursor on line N (default line above
window), otherwise like "z-"
@ -850,7 +849,7 @@ tag char note action in Normal mode ~
position the cursor at the end (right side)
of the screen
|zf| zf{motion} create a fold for Nmove text
|zg| zg mark word as good spelled word
|zg| zg permanently mark word as correctly spelled
|zh| zh when 'wrap' off scroll screen N characters
to the right
|zi| zi toggle 'foldenable'
@ -871,7 +870,7 @@ tag char note action in Normal mode ~
|zuW| zuW undo |zW|
|zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zw| zw permanently mark word as incorrectly spelled
|zx| zx re-apply 'foldlevel' and do "zv"
|zz| zz redraw, cursor line at center of window
|z<Left>| z<Left> same as "zh"
@ -1057,7 +1056,7 @@ tag command action in Command-line editing mode ~
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
CTRL-S not used, or used for terminal control flow
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|c_CTRL-U| CTRL-U remove all characters
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three
@ -1115,7 +1114,7 @@ tag char action in Terminal-Job mode ~
|t_CTRL-W_:| CTRL-W : enter an Ex command
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|t_CTRL-W_quote| CTRL-W " {register}
paste register in the terminal
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
@ -1260,11 +1259,13 @@ tag command action ~
|:cunmenu| :cunme[nu] remove menu for Command-line mode
|:cwindow| :cw[indow] open or close quickfix window
|:delete| :d[elete] delete lines
|:delmarks| :delm[arks] delete marks
|:debug| :deb[ug] run a command in debugging mode
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|:def| :def define a Vim9 user function
|:defcompile| :defc[ompile] compile Vim9 user functions in current script
|:delcommand| :delc[ommand] delete user-defined command
|:delfunction| :delf[unction] delete a user function
|:delmarks| :delm[arks] delete marks
|:diffupdate| :dif[fupdate] update 'diff' buffers
|:diffget| :diffg[et] remove differences in current buffer
|:diffoff| :diffo[ff] switch off diff mode
@ -1274,9 +1275,9 @@ tag command action ~
|:diffthis| :diffthis make current window a diff window
|:digraphs| :dig[raphs] show or enter digraphs
|:display| :di[splay] display registers
|:disassemble| :disa[ssemble] disassemble Vim9 user function
|:djump| :dj[ump] jump to #define
|:dl| :dl short for |:delete| with the 'l' flag
|:del| :del[ete]l short for |:delete| with the 'l' flag
|:dlist| :dli[st] list #defines
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
@ -1295,15 +1296,17 @@ tag command action ~
|:else| :el[se] part of an :if command
|:elseif| :elsei[f] part of an :if command
|:emenu| :em[enu] execute a menu by name
|:enddef| :enddef end of a user function started with :def
|:endif| :en[dif] end previous :if
|:endfor| :endfo[r] end previous :for
|:endfunction| :endf[unction] end of a user function
|:endfunction| :endf[unction] end of a user function started with :function
|:endtry| :endt[ry] end previous :try
|:endwhile| :endw[hile] end previous :while
|:enew| :ene[w] edit a new, unnamed buffer
|:ex| :ex same as ":edit"
|:execute| :exe[cute] execute result of expressions
|:exit| :exi[t] same as ":xit"
|:export| :exp[ort] Vim9: export an item from a script
|:exusage| :exu[sage] overview of Ex commands
|:file| :f[ile] show or set the current file name
|:files| :files list all files in the buffer list
@ -1345,6 +1348,7 @@ tag command action ~
|:imap| :im[ap] like ":map" but for Insert mode
|:imapclear| :imapc[lear] like ":mapclear" but for Insert mode
|:imenu| :ime[nu] add menu for Insert mode
|:import| :imp[ort] Vim9: import an item from another script
|:inoremap| :ino[remap] like ":noremap" but for Insert mode
|:inoreabbrev| :inorea[bbrev] like ":noreabbrev" but for Insert mode
|:inoremenu| :inoreme[nu] like ":noremenu" but for Insert mode
@ -1686,6 +1690,7 @@ tag command action ~
|:version| :ve[rsion] print version number and other info
|:verbose| :verb[ose] execute command with 'verbose' set
|:vertical| :vert[ical] make following command split vertically
|:vim9script| :vim9[script] indicates Vim9 script file
|:vimgrep| :vim[grep] search for pattern in files
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode
@ -1717,7 +1722,7 @@ tag command action ~
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo file
|:xit| :x[it] write if buffer changed and quit window or Vim
|:xit| :x[it] write if buffer changed and close window
|:xall| :xa[ll] same as ":wqall"
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|:xmap| :xm[ap] like ":map" but for Visual mode

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.2. Last change: 2020 Jan 26
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@ -154,6 +154,8 @@ CTRL-R CTRL-R {register} *i_CTRL-R_CTRL-R*
you also want to avoid these, use CTRL-R CTRL-O, see below.
The '.' register (last inserted text) is still inserted as
typed.
After this command, the '.' register contains the text from
the register as if it was inserted by typing it.
CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
Insert the contents of a register literally and don't
@ -163,6 +165,9 @@ CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
Does not replace characters!
The '.' register (last inserted text) is still inserted as
typed.
After this command, the '.' register contains the command
typed and not the text. I.e., the literals "^R^O" and not the
text from the register.
CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
Insert the contents of a register literally and fix the
@ -170,6 +175,9 @@ CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
Does not replace characters!
The '.' register (last inserted text) is still inserted as
typed.
After this command, the '.' register contains the command
typed and not the text. I.e., the literals "^R^P" and not the
text from the register.
*i_CTRL-T*
CTRL-T Insert one shiftwidth of indent at the start of the current
@ -379,8 +387,8 @@ CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
movement, if the cursor stays within
same the line
movement, if the cursor stays within the
same line
-----------------------------------------------------------------------
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
@ -658,8 +666,10 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
Also, when doing completion with 'complete' mappings apply as usual.
Note: While completion is active Insert mode can't be used recursively.
Mappings that somehow invoke ":normal i.." will generate an E523 error.
*E578* *E565*
Note: While completion is active Insert mode can't be used recursively and
buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
will generate an E565 error.
The following mappings are suggested to make typing the completion commands
a bit easier (although they will hide other commands): >

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.2. Last change: 2019 Nov 11
*intro.txt* For Vim version 8.2. Last change: 2020 May 30
VIM REFERENCE MANUAL by Bram Moolenaar
@ -121,14 +121,16 @@ http://www.vim.org/maillist.php
Bug reports: *bugs* *bug-reports* *bugreport.vim*
There are two ways to report bugs, both work:
1. Send bug reports to: Vim Developers <vim-dev@vim.org>
There are three ways to report bugs:
1. Open an issue on GitHub: https://github.com/vim/vim/issues
The text will be forwarded to the vim-dev maillist.
2. For issues with runtime files, look in the header for an email address or
any other way to report it to the maintainer.
3. Send bug reports to: Vim Developers <vim-dev@vim.org>
This is a maillist, you need to become a member first and many people will
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 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
from the time that is spent on improving Vim! Always give a reproducible

View File

@ -58,7 +58,7 @@ substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,
#
#ad hoc code
#
/^"\|\& / {gsub(/\|/,"\\&#124;"); }
/^"\|& / {gsub(/\|/,"\\&#124;"); }
/ = b / {gsub(/ b /," \\&#98; "); }
#
# one letter tag

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 8.2. Last change: 2019 Dec 19
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1492,7 +1492,7 @@ The valid escape sequences are
<bang> (See the '-bang' attribute) Expands to a ! if the
command was executed with a ! modifier, otherwise
expands to nothing.
*<mods>*
*<mods>* *:command-modifiers*
<mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,

View File

@ -1,4 +1,4 @@
*mlang.txt* For Vim version 8.2. Last change: 2019 May 05
*mlang.txt* For Vim version 8.2. Last change: 2020 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -37,6 +37,7 @@ use of "-" and "_".
:lan[guage] mes[sages]
:lan[guage] cty[pe]
:lan[guage] tim[e]
:lan[guage] col[late]
Print the current language (aka locale).
With the "messages" argument the language used for
messages is printed. Technical: LC_MESSAGES.
@ -44,15 +45,19 @@ use of "-" and "_".
character encoding is printed. Technical: LC_CTYPE.
With the "time" argument the language used for
strftime() is printed. Technical: LC_TIME.
With the "collate" argument the language used for
collation order is printed. Technical: LC_COLLATE.
Without argument all parts of the locale are printed
(this is system dependent).
The current language can also be obtained with the
|v:lang|, |v:ctype| and |v:lc_time| variables.
|v:lang|, |v:ctype|, |v:collate| and |v:lc_time|
variables.
:lan[guage] {name}
:lan[guage] mes[sages] {name}
:lan[guage] cty[pe] {name}
:lan[guage] tim[e] {name}
:lan[guage] col[late] {name}
Set the current language (aka locale) to {name}.
The locale {name} must be a valid locale on your
system. Some systems accept aliases like "en" or
@ -72,7 +77,10 @@ use of "-" and "_".
With the "time" argument the language used for time
and date messages is set. This affects strftime().
This sets $LC_TIME.
Without an argument both are set, and additionally
With the "collate" argument the language used for the
collation order is set. This affects sorting of
characters. This sets $LC_COLLATE.
Without an argument all are set, and additionally
$LANG is set.
When compiled with the |+float| feature the LC_NUMERIC
value will always be set to "C", so that floating

View File

@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 8.2. Last change: 2019 May 05
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Gordon Prieur et al.
@ -40,21 +40,26 @@ or environment providing a socket interface can control Vim using this
protocol. There are existing implementations in C, C++, Python and Java. The
name NetBeans is kept today for historical reasons.
Current projects using the NetBeans protocol of Vim are:
- VimIntegration, description of various projects doing Vim Integration:
Active project using the NetBeans protocol of Vim:
- Eclim, http://eclim.org/
VimIntegration, description of various projects doing Vim Integration:
http://www.freehackers.org/VimIntegration
- Agide, an IDE for the AAP project, written in Python:
http://www.a-a-p.org
Projects using the NetBeans protocol of Vim are or were:
- Agide, an IDE for the AAP project, written in Python (now replaced by
|:Termdebug|): http://www.a-a-p.org
- Clewn, a gdb integration into Vim, written in C:
http://clewn.sourceforge.net/
- Pyclewn, a gdb integration into Vim, written in Python:
http://pyclewn.sourceforge.net/
- VimWrapper, library to easy Vim integration into IDE:
http://www.freehackers.org/VimWrapper
Outdated projects (links don't work):
- VimPlugin, integration of Vim inside Eclipse:
http://vimplugin.sourceforge.net/wiki/pmwiki.php
- PIDA, IDE written in Python integrating Vim:
http://pida.co.uk/
- VimWrapper, library to easy Vim integration into IDE:
http://www.freehackers.org/VimWrapper
Check the specific project pages to see how to use Vim with these projects.
@ -461,11 +466,13 @@ guard off len
initDone Mark the buffer as ready for use. Implicitly makes the buffer
the current buffer. Fires the BufReadPost autocommand event.
insertDone
insertDone starteol readonly
Sent by Vim Controller to tell Vim an initial file insert is
done. This triggers a read message being printed. Prior to
version 2.3, no read messages were displayed after opening a
file. New in version 2.3.
done. This triggers a read message being printed. If
"starteol" is "F" then the last line doesn't have a EOL. If
"readonly" is "T" then the file is marked as readonly. Prior
to version 2.3, no read messages were displayed after opening
a file. New in version 2.3.
moveAnnoToFront serNum
Not implemented.

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 8.2. Last change: 2020 Jan 24
*options.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -915,6 +915,8 @@ A jump table for the options with a short description can be found at |Q_op|.
eol allow backspacing over line breaks (join lines)
start allow backspacing over the start of insert; CTRL-W and CTRL-U
stop once at the start of insert.
nostop like start, except CTRL-W and CTRL-U do not stop at the start of
insert.
When the value is empty, Vi compatible backspacing is used.
@ -923,6 +925,7 @@ A jump table for the options with a short description can be found at |Q_op|.
0 same as ":set backspace=" (Vi compatible)
1 same as ":set backspace=indent,eol"
2 same as ":set backspace=indent,eol,start"
3 same as ":set backspace=indent,eol,nostop"
See |:fixdel| if your <BS> or <Del> key does not do what you want.
NOTE: This option is set to "" when 'compatible' is set.
@ -1380,6 +1383,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option is used together with 'bufhidden' and 'swapfile' to
specify special kinds of buffers. See |special-buffers|.
Also see |win_gettype()|, which returns the type of the window.
Be careful with changing this option, it can have many side effects!
@ -3768,7 +3772,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'guitablabel' can be used to change the text in the labels.
When 'e' is missing a non-GUI tab pages line may be used.
The GUI tabs are only supported on some systems, currently
GTK, Motif, Mac OS/X and MS-Windows.
GTK, Motif, Mac OS/X, Haiku, and MS-Windows.
*'go-f'*
'f' Foreground: Don't use fork() to detach the GUI from the shell
where it was started. Use this for programs that wait for the
@ -4645,8 +4649,8 @@ A jump table for the options with a short description can be found at |Q_op|.
be able to execute Normal mode commands.
This is the opposite of the 'keymap' option, where characters are
mapped in Insert mode.
Also consider resetting 'langremap' to avoid 'langmap' applies to
characters resulting from a mapping.
Also consider setting 'langremap' to off, to prevent 'langmap' from
applying to characters resulting from a mapping.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@ -4711,7 +4715,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'langnoremap' is set to the inverted value, and the other way around.
*'langremap'* *'lrm'* *'nolangremap'* *'nolrm'*
'langremap' 'lrm' boolean (default on, reset in |defaults.vim|)
'langremap' 'lrm' boolean (default on, set to off in |defaults.vim|)
global
{only available when compiled with the |+langmap|
feature}
@ -5228,7 +5232,7 @@ A jump table for the options with a short description can be found at |Q_op|.
< If your terminal can't overrule the mouse events going to the
application, use: >
:set mouse=nvi
< The you can press ":", select text for the system, and press Esc to go
< Then you can press ":", select text for the system, and press Esc to go
back to Vim using the mouse events.
In |defaults.vim| "nvi" is used if the 'term' option is not matching
"xterm".
@ -5423,6 +5427,15 @@ A jump table for the options with a short description can be found at |Q_op|.
bin If included, numbers starting with "0b" or "0B" will be
considered to be binary. Example: Using CTRL-X on
"0b1000" subtracts one, resulting in "0b0111".
unsigned If included, numbers are recognized as unsigned. Thus a
leading dash or negative sign won't be considered as part of
the number. Examples:
Using CTRL-X on "2020" in "9-2020" results in "9-2019"
(without "unsigned" it would become "9-2021").
Using CTRL-A on "2020" in "9-2020" results in "9-2021"
(without "unsigned" it would become "9-2019").
Using CTRL-X on "0" or CTRL-A on "18446744073709551615"
(2^64 - 1) has no effect, overflow is prevented.
Numbers which simply begin with a digit in the range 1-9 are always
considered decimal. This also happens for numbers that are not
recognized as octal or hex.
@ -5885,6 +5898,21 @@ A jump table for the options with a short description can be found at |Q_op|.
'pyxversion' has no effect. The pyx* functions and commands are
always the same as the compiled version.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'quickfixtextfunc'* *'qftf'*
'quickfixtextfunc' 'qftf' string (default "")
global
{only available when compiled with the |+quickfix|
feature}
This option specifies a function to be used to get the text to display
in the quickfix and location list windows. This can be used to
customize the information displayed in the quickfix or location window
for each entry in the corresponding quickfix or location list. See
|quickfix-window-function| for an explanation of how to write the
function and an example.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@ -6206,6 +6234,11 @@ A jump table for the options with a short description can be found at |Q_op|.
Macintosh: "$VIM:vimfiles,
$VIMRUNTIME,
$VIM:vimfiles:after"
Haiku: "$BE_USER_SETTINGS/vim,
$VIM/vimfiles,
$VIMRUNTIME,
$VIM/vimfiles/after,
$BE_USER_SETTINGS/vim/after")
VMS: "sys$login:vimfiles,
$VIM/vimfiles,
$VIMRUNTIME,
@ -7072,6 +7105,16 @@ A jump table for the options with a short description can be found at |Q_op|.
up to the first character that is not an ASCII letter or number and
not a dash. Also see |set-spc-auto|.
*'spelloptions'* *'spo'*
'spelloptions' 'spo' string (default "")
local to buffer
{not available when compiled without the |+syntax|
feature}
A comma separated list of options for spell checking:
camel When a word is CamelCased, assume "Cased" is a
separate word: every upper-case character in a word
that comes after a lower case character indicates the
start of a new word.
*'spellsuggest'* *'sps'*
'spellsuggest' 'sps' string (default "best")
@ -7663,7 +7706,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'term' string (default is $TERM, if that fails:
in the GUI: "builtin_gui"
on Amiga: "amiga"
on BeOS: "beos-ansi"
on Haiku: "xterm"
on Mac: "mac-ansi"
on MiNT: "vt52"
on Unix: "ansi"
@ -7950,7 +7993,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- VIM the server name |v:servername| or "VIM"
Only works if the terminal supports setting window titles
(currently Amiga console, Win32 console, all GUI versions and
terminals with a non- empty 't_ts' option - these are Unix xterm and
terminals with a non-empty 't_ts' option - these are Unix xterm and
iris-ansi by default, where 't_ts' is taken from the builtin termcap).
*X11*
When Vim was compiled with HAVE_X11 defined, the original title will
@ -8313,13 +8356,17 @@ A jump table for the options with a short description can be found at |Q_op|.
Currently, these messages are given:
>= 1 When the viminfo file is read or written.
>= 2 When a file is ":source"'ed.
>= 4 Shell commands.
>= 5 Every searched tags file and include file.
>= 8 Files for which a group of autocommands is executed.
>= 9 Every executed autocommand.
>= 11 Finding items in a path
>= 12 Every executed function.
>= 13 When an exception is thrown, caught, finished, or discarded.
>= 14 Anything pending in a ":finally" clause.
>= 15 Every executed Ex command (truncated at 200 characters).
>= 15 Every executed Ex command from a script (truncated at 200
characters).
>= 16 Every executed Ex command
This option can also be set with the "-V" argument. See |-V|.
This option is also set by the |:verbose| command.
@ -8509,8 +8556,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'virtualedit'* *'ve'*
'virtualedit' 've' string (default "")
global
{not available when compiled without the
|+virtualedit| feature}
A comma separated list of these words:
block Allow virtual editing in Visual block mode.
insert Allow virtual editing in Insert mode.

View File

@ -1,320 +1,13 @@
*os_beos.txt* For Vim version 8.2. Last change: 2016 Mar 28
*os_beos.txt* For Vim version 8.2. Last change: 2020 Jun 07
VIM REFERENCE MANUAL by Bram Moolenaar
*BeOS* *BeBox*
This is a port of Vim 5.1 to the BeOS Preview Release 2 (also known as PR2)
or later.
*beos* *BeOS* *BeBox*
This file used to contain particularities for the BeOS port of Vim.
This file contains the particularities for the BeBox/BeOS version of Vim. For
matters not discussed in this file, Vim behaves very much like the Unix
|os_unix.txt| version.
The BeOS support was removed in patch 8.2.0849.
1. General |beos-general|
2. Compiling Vim |beos-compiling|
3. Timeout in the Terminal |beos-timeout|
4. Unicode vs. Latin1 |beos-unicode|
5. The BeOS GUI |beos-gui|
6. The $VIM directory |beos-vimdir|
7. Drag & Drop |beos-dragndrop|
8. Single Launch vs. Multiple
Launch |beos-launch|
9. Fonts |beos-fonts|
10. The meta key modifier |beos-meta|
11. Mouse key mappings |beos-mouse|
12. Color names |beos-colors|
13. Compiling with Perl |beos-perl|
1. General *beos-general*
The default syntax highlighting mostly works with different foreground colors
to highlight items. This works best if you set your Terminal window to a
darkish background and light letters. Some middle-grey background (for
instance (r,g,b)=(168,168,168)) with black letters also works nicely. If you
use the default light background and dark letters, it may look better to
simply reverse the notion of foreground and background color settings. To do
this, add this to your .vimrc file (where <Esc> may need to be replaced with
the escape character): >
:if &term == "beos-ansi"
: set t_AB=<Esc>[3%dm
: set t_AF=<Esc>[4%dm
:endif
2. Compiling Vim *beos-compiling*
From the Advanced Access Preview Release (AAPR) on, Vim can be configured with
the standard configure script. To get the compiler and its flags right, use
the following command-line in the shell (you can cut and paste it in one go):
CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \
./configure --prefix=/boot/home/config
$BE_C_COMPILER is usually "mwcc", $BE_DEFAULT_C_FLAGS is usually "-I- -I."
When configure has run, and you wish to enable GUI support, you must edit the
config.mk file so that the lines with GUI_xxx refer to $(BEOSGUI_xxx) instead
of $(NONE_xxx).
Alternatively you can make this change in the Makefile; it will have a
more permanent effect. Search for "NONE_".
After compilation you need to add the resources to the binary. Add the
following few lines near the end (before the line with "exit $exit_value") of
the link.sh script to do this automatically.
rmattr BEOS:TYPE vim
copyres os_beos.rsrc vim
mimeset vim
Also, create a dummy file "strip":
#!/bin/sh
mimeset $1
exit 0
You will need it when using "make install" to install Vim.
Now type "make" to compile Vim, then "make install" to install it.
If you want to install Vim by hand, you must copy Vim to $HOME/config/bin, and
create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must
copy Vim's configuration files to $HOME/config/share/vim:
vim-5.0s/{*.vim,doc,syntax}. For completeness, you should also copy the nroff
manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd!
Obviously, you need the unlimited linker to actually link Vim. See
http://www.metrowerks.com for purchasing the CodeWarrior compiler for BeOS.
There are currently no other linkers that can do the job.
This won't be able to include the Perl or Python interfaces even if
you have the appropriate files installed. |beos-perl|
3. Timeout in the Terminal *beos-timeout*
Because some POSIX/UNIX features are still missing[1], there is no direct OS
support for read-with-timeout in the Terminal. This would mean that you cannot
use :mappings of more than one character, unless you also :set notimeout.
|'timeout'|
To circumvent this problem, I added a workaround to provide the necessary
input with timeout by using an extra thread which reads ahead one character.
As a side effect, it also makes Vim recognize when the Terminal window
resizes.
Function keys are not supported in the Terminal since they produce very
indistinctive character sequences.
These problems do not exist in the GUI.
[1]: there is no select() on file descriptors; also the termios VMIN and VTIME
settings do not seem to work properly. This has been the case since DR7 at
least and still has not been fixed as of PR2.
*beos-unicode*
4. Unicode vs. Latin1 *beos-utf8*
BeOS uses Unicode and UTF-8 for text strings (16-bit characters encoded to
8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes.
This does not produce the desired results for non-ASCII characters. Try the
command :digraphs to see. If they look messed up, use :set isprint=@ to
(slightly) improve the display of ISO-Latin1 characters 128-255. This works
better in the GUI, depending on which font you use (below).
You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou
-f iso1 filename) or to (xtou -t iso1 filename) ISO-Latin1 characters.
5. The BeOS GUI *beos-gui*
The BeOS GUI is no longer included. It was not maintained for a while and
most likely didn't work. If you want to work on this: get the Vim 6.x version
and merge it back in.
6. The $VIM directory *beos-vimdir*
$VIM is the symbolic name for the place where Vims support files are stored.
The default value for $VIM is set at compile time and can be determined with >
:version
The normal value is /boot/home/config/share/vim. If you don't like it you can
set the VIM environment variable to override this, or set 'helpfile' in your
.vimrc: >
:if version >= 500
: set helpfile=~/vim/vim54/doc/help.txt
: syntax on
:endif
7. Drag & Drop *beos-dragndrop*
You can drop files and directories on either the Vim icon (starts a new Vim
session, unless you use the File Types application to set Vim to be "Single
Launch") or on the Vim window (starts editing the files). Dropping a folder
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
folders with either SHIFT key pressed, Vim changes directory to the folder
that contains the first item dropped. When starting Vim, there is no need to
press shift: Vim behaves as if you do.
Files dropped set the current argument list. |argument-list|
8. Single Launch vs. Multiple Launch *beos-launch*
As distributed Vim's Application Flags (as seen in the FileTypes preference)
are set to Multiple Launch. If you prefer, you can set them to Single Launch
instead. Attempts to start a second copy of Vim will cause the first Vim to
open the files instead. This works from the Tracker but also from the command
line. In the latter case, non-file (option) arguments are not supported.
NB: Only the GUI version has a BApplication (and hence Application Flags).
This section does not apply to the GUI-less version, should you compile one.
9. Fonts *beos-fonts*
Set fonts with >
:set guifont=Courier10_BT/Roman/10
where the first part is the font family, the second part the style, and the
third part the size. You can use underscores instead of spaces in family and
style.
Best results are obtained with monospaced fonts (such as Courier). Vim
attempts to use all fonts in B_FIXED_SPACING mode but apparently this does not
work for proportional fonts (despite what the BeBook says).
Vim also tries to use the B_ISO8859_1 encoding, also known as ISO Latin 1.
This also does not work for all fonts. It does work for Courier, but not for
ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the >
:digraphs
command, which lists a bunch of characters with their ISO Latin 1 encoding.
If, for instance, there are "box" characters among them, or the last character
isn't a dotted-y, then for this font the encoding does not work.
If the font you specify is unavailable, you get the system fixed font.
Standard fixed-width system fonts are:
ProFontISOLatin1/Regular
Courier10_BT/Roman
Courier10_BT/Italic
Courier10_BT/Bold
Courier10_BT/Bold_Italic
Standard proportional system fonts are:
Swis721_BT/Roman
Swis721_BT/Italic
Swis721_BT/Bold
Swis721_BT/Bold_Italic
Dutch801_Rm_BT/Roman
Dutch801_Rm_BT/Italic
Dutch801_Rm_BT/Bold
Dutch801_Rm_BT/Bold_Italic
Baskerville/Roman
Baskerville/Italic
Baskerville/Bold
Baskerville/Bold_Italic
SymbolProp_BT/Regular
Try some of them, just for fun.
10. The meta key modifier *beos-meta*
The META key modifier is obtained by the left or right OPTION keys. This is
because the ALT (aka COMMAND) keys are not passed to applications.
11. Mouse key mappings *beos-mouse*
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
you use the default Mouse preference settings these names indeed correspond to
reality. Vim uses this mapping:
Button 1 -> LeftMouse,
Button 2 -> RightMouse,
Button 3 -> MiddleMouse.
If your mouse has fewer than 3 buttons you can provide your own mapping from
mouse clicks with modifier(s) to other mouse buttons. See the swapmouse
package for an example: |gui-mouse-mapping|
$VIMRUNTIME/pack/dist/opt/swapmouse/plugin/swapmouse.vim
12. Color names *beos-colors*
Vim has a number of color names built-in. Additional names are read from the
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
database from X. Names used from this file are cached for efficiency.
13. Compiling with Perl *beos-perl*
Compiling with Perl support enabled is slightly tricky. The Metrowerks
compiler has some strange ideas where to search for include files. Since
several include files with Perl have the same names as some Vim header
files, the wrong ones get included. To fix this, run the following Perl
script while in the vim-5.0/src directory: >
preproc.pl > perl.h
#!/bin/env perl
# Simple #include expander, just good enough for the Perl header files.
use strict;
use IO::File;
use Config;
sub doinclude
{
my $filename = $_[0];
my $fh = new IO::File($filename, "r");
if (defined $fh) {
print "/* Start of $filename */\n";
while (<$fh>) {
if (/^#include "(.*)"/) {
doinclude($1);
print "/* Back in $filename */\n";
} else {
print $_;
}
}
print "/* End of $filename */\n";
undef $fh;
} else {
print "/* Cannot open $filename */\n";
print "#include \"$filename\"\n";
}
}
chdir $Config{installarchlib}."/CORE";
doinclude "perl.h";
It expands the "perl.h" header file, using only other Perl header files.
Now you can configure & make Vim with the --enable-perlinterp option.
Be warned though that this adds about 616 kilobytes to the size of Vim!
Without Perl, Vim with default features and GUI is about 575K, with Perl
it is about 1191K.
-Olaf Seibert
[Note: these addresses no longer work:]
<rhialto@polder.ubc.kun.nl>
http://polder.ubc.kun.nl/~rhialto/be
vim:tw=78:ts=8:noet:ft=help:norl:

234
runtime/doc/os_haiku.txt Normal file
View File

@ -0,0 +1,234 @@
*os_haiku.txt* For Vim version 8.2. Last change: 2020 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
*Haiku*
This file contains the particularities for the Haiku version of Vim. For
matters not discussed in this file, Vim behaves very much like the Unix
|os_unix.txt| version.
Haiku is an open-source operating system inspired by BeOS, that specifically
targets personal computing.
1. General |haiku-general|
2. Compiling Vim |haiku-compiling|
3. The Haiku GUI |haiku-gui|
4. The $VIM directory |haiku-vimdir|
5. The $USER_SETTINGS_DIR
directory |haiku-user-settings-dir|
6. Drag & Drop |haiku-dragndrop|
7. Single Launch vs. Multiple
Launch |haiku-launch|
8. Fonts |haiku-fonts|
9. The meta key modifier |haiku-meta|
10. Mouse key mappings |haiku-mouse|
11. Color names |haiku-colors|
12. GUI Toolbar Images |haiku-toolbar-images|
13. Credits |haiku-support-credits|
14. Bugs & to-do |haiku-bugs|
1. General *haiku-general*
The default syntax highlighting mostly works with different foreground colors
to highlight items. This works best if you set your Terminal window to a
darkish background and light letters. Some middle-grey background (for
instance (r,g,b)=(168,168,168)) with black letters also works nicely.
2. Compiling Vim *haiku-compiling*
Vim can be compiled using the standard configure/make approach. Running
./configure without any arguments or passing --enable-gui=haiku, will compile
vim with the Haiku GUI support. Run ./configure --help , to find out other
features you can enable/disable.
Haiku uses "ncurses6" as its terminal library, therefore you need to have
"ncurses6_devel" package installed from HaikuDepot in order to configure
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
Now you should use "make" to compile Vim, then "make install" to install it.
For seamless integration into Haiku, the GUI-less vim binary should be
additionally installed over the GUI version. Typical build commands are:
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
make clean
make install
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
--disable-gui
make clean
make install
3. The Haiku GUI *haiku-gui*
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
version with GUI tries to determine if it was started from the Tracker instead
of the Terminal, and if so, uses the GUI anyway. However, the current detection
scheme is fooled if you use the command "vim - </dev/null".
Stuff that does not work yet:
- Mouse up events are not generated when outside the window. You can notice
this when selecting text and moving the cursor outside the window, then
letting go of the mouse button. Another way is when you drag the scrollbar
and do the same thing. Because Vim still thinks you are still playing with
the scrollbar it won't change it itself. There is a workaround which kicks
in when the window is activated or deactivated (so it works best with focus-
follows-mouse turned on).
- The cursor does not flash.
4. The $VIM directory *haiku-vimdir*
$VIM is the symbolic name for the place where Vim's support files are stored.
The default value for $VIM is set at compile time and can be determined with:
:version
The normal value is /boot/system/data/vim for Haikuports version,
/boot/system/non-packaged/data/vim for manual builds. If you don't like it
you can set the VIM environment variable to override this, or set 'helpfile'
in your .vimrc: >
:if version >= 500
: set helpfile=~/vim/runtime/doc/help.txt
: syntax on
:endif
5. The $USER_SETTINGS_DIR directory *haiku-user-settings-dir*
$USER_SETTINGS_DIR is the symbolic name for the place where Haiku
configuration and settings files are stored.
The normal value is /boot/home/config/settings.
6. Drag & Drop *haiku-dragndrop*
You can drop files and directories on either the Vim icon (starts a new Vim
session, unless you use the File Types application to set Vim to be "Single
Launch") or on the Vim window (starts editing the files). Dropping a folder
sets Vim's current working directory |:cd| |:pwd|. If you drop files or
folders with either SHIFT key pressed, Vim changes directory to the folder
that contains the first item dropped. When starting Vim, there is no need to
press shift: Vim behaves as if you do.
Files dropped set the current argument list. |argument-list|
7. Single Launch vs. Multiple Launch *haiku-launch*
As distributed Vim's Application Flags (as seen in the FileTypes preference)
are set to Multiple Launch. If you prefer, you can set them to Single Launch
instead. Attempts to start a second copy of Vim will cause the first Vim to
open the files instead. This works from the Tracker but also from the command
line. In the latter case, non-file (option) arguments are not supported.
Another drawback of the Single Launch is silent ignore of "Open With ..."
requests by vim instance that running as non-GUI application even GUI support
was compiled in. Vim instance running with GUI has no such problems.
NB: Only the GUI version has a BApplication (and hence Application Flags).
This section does not apply to the GUI-less version, should you compile one.
8. Fonts *haiku-fonts*
Set fonts with >
:set guifont=DejaVu_Sans_Mono/Book/12
where the first part is the font family, the second part the style, and the
third part the size. You can use underscores instead of spaces in family and
style.
Best results are obtained with monospaced fonts. Vim attempts to use all
fonts in B_FIXED_SPACING mode but apparently this does not work for
proportional fonts (despite what the BeBook says).
To verify which encodings are supported by the current font give the >
:digraphs
command, which lists a bunch of characters with their ISO Latin 1 encoding.
If, for instance, there are "box" characters among them, or the last character
isn't a dotted-y, then for this font the encoding does not work.
If the font you specify is unavailable, you get the system fixed font.
GUI Font Selection Dialog is available at giving the:
:set guifont=*
command.
9. The meta key modifier *haiku-meta*
The META key modifier is obtained by the left or right OPTION keys. This is
because the ALT (aka COMMAND) keys are not passed to applications.
10. Mouse key mappings *haiku-mouse*
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
you use the default Mouse preference settings these names indeed correspond to
reality. Vim uses this mapping:
Button 1 -> LeftMouse,
Button 2 -> RightMouse,
Button 3 -> MiddleMouse.
If your mouse has fewer than 3 buttons you can provide your own mapping from
mouse clicks with modifier(s) to other mouse buttons. See the file
$VIM/macros/swapmous.vim for an example. |gui-mouse-mapping|
11. Color names *haiku-colors*
Vim has a number of color names built-in. Additional names are read from the
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
database from X. Names used from this file are cached for efficiency.
12. GUI Toolbar Images *haiku-toolbar-images*
Alternative set of toolbar images should be the PNG image of any height you
like. Image width is calculated to contain at least 32 buttons in one-row
cells.
The image should be stored under the name $VIRUNTIME/bitmaps/builtin-tools.png
More info about the buttons assignment are at |builtin-tools|.
13. Credits *haiku-support-credits*
Haiku port is based on work done for BeOS version by many people
- BeBox GUI support Copyright 1998 by Olaf Seibert;
- Ported to R4 by Richard Offer <richard@whitequeen.com> Jul 99;
- Those who contributed, not listed above but not forgotten;
- Haiku support by Siarzhuk Zharski <imker@gmx.li> Apr-Mai 2009.
All the changes and patches released under vim-license.
Thank you, all!
14. Bugs & to-do *haiku-bugs*
The port is under development now and far away from the perfect state. For bug
reports, patches and wishes, please use the Vim mailing list or Vim Github
repository.
Mailing list: https://www.vim.org/maillist.php
Vim Github repository: https://github.com/vim/vim
vim:tw=78:ts=8:ft=help:norl:

View File

@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 8.2. Last change: 2019 Jan 29
*os_vms.txt* For Vim version 8.2. Last change: 2020 Jun 07
VIM REFERENCE MANUAL
@ -432,7 +432,6 @@ Terminal entry not found in termcap
builtin_gui
builtin_riscos
builtin_amiga
builtin_beos-ansi
builtin_ansi
builtin_vt320
builtin_vt52

View File

@ -230,7 +230,7 @@ A. VisionFS can't handle certain dot (.) three letter extension file names.
SCO declares this behavior required for backwards compatibility with 16bit
DOS/Windows environments. The two commands below demonstrate the behavior:
>
echo Hello > file.bat~
echo Hello > file.bat~
dir > file.bat
<
The result is that the "dir" command updates the "file.bat~" file, instead

View File

@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.2. Last change: 2020 Feb 03
*popup.txt* For Vim version 8.2. Last change: 2020 May 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -148,14 +148,23 @@ different: *E863*
- The popup window always has focus, it is not possible to switch to another
window.
- When the job ends, the popup window closes.
- The popup window can be closed with `popup_close()`, the terminal buffer
then becomes hidden.
- It is not possible to open a second popup window with a terminal. *E861*
- The default Pmenu color is only used for the border and padding. To change
the color of the terminal itself set 'wincolor'.
the color of the terminal itself set the Terminal highlight group before
creating the terminal. Setting 'wincolor' later can work but requires the
program in the terminal to redraw everything.
- The default minimal size is 5 lines of 20 characters; Use the "minwidth" and
"minheight" parameters to set a different value.
- The terminal size will grow if the program running in the terminal writes
text. Set "maxheight" and "maxwidth" to restrict the size.
To run a terminal in a popup window, first create the terminal hidden. Then
pass the buffer number to popup_create(). Example: >
hi link Terminal Search
let buf = term_start(['picker', 'Something'], #{hidden: 1, term_finish: 'close'})
let winid = popup_create(buf, #{minwidth: 50, minheight: 20})
set wincolor=Search
==============================================================================
2. Functions *popup-functions*
@ -189,6 +198,7 @@ Other:
|popup_getoptions()| get current options for a popup
|popup_getpos()| get actual position and size of a popup
|popup_locate()| find popup window at a screen position
|popup_list()| get list of all popups
DETAILS *popup-function-details*
@ -227,8 +237,15 @@ popup_beval({what}, {options}) *popup_beval()*
GetText()->popup_beval({})
<
*popup_clear()*
popup_clear() Emergency solution to a misbehaving plugin: close all popup
popup_clear([{force}])
Emergency solution to a misbehaving plugin: close all popup
windows for the current tab and global popups.
Close callbacks are not invoked.
When {force} is not present this will fail if the current
window is a popup.
When {force} is present and |TRUE| the popup is also closed
when it is the current window. If a terminal is running in a
popup it is killed.
popup_close({id} [, {result}]) *popup_close()*
@ -402,10 +419,15 @@ popup_hide({id}) *popup_hide()*
hidden.
If window {id} does not exist nothing happens. If window {id}
exists but is not a popup window an error is given. *E993*
If popup window {id} contains a terminal an error is given.
Can also be used as a |method|: >
GetPopup()->popup_hide()
popup_list() *popup_list()*
Return a List with the |window-ID| of all existing popups.
popup_locate({row}, {col}) *popup_locate()*
Return the |window-ID| of the popup at screen position {row}
and {col}. If there are multiple popups the one with the
@ -526,6 +548,8 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
wrap
zindex
The options from |popup_move()| can also be used.
Generally, setting an option to zero or an empty string resets
it to the default value, but there are exceptions.
For "hidden" use |popup_hide()| and |popup_show()|.
"tabpage" cannot be changed.
@ -563,21 +587,22 @@ properties. It is in one of four forms:
If you want to create a new buffer yourself use |bufadd()| and pass the buffer
number to popup_create().
It is not possible to use the buffer of a terminal window. *E278*
It is not possible to use the buffer of a terminal window. *E278* You CAN
create a hidden terminal buffer and use that one in a popup window.
The second argument of |popup_create()| is a dictionary with options:
line Screen line where to position the popup. Can use a
number or "cursor", "cursor+1" or "cursor-1" to use
the line of the cursor and add or subtract a number of
lines. If omitted the popup is vertically centered.
The first line is 1.
lines. If omitted or zero the popup is vertically
centered. The first line is 1.
When using "textprop" the number is relative to the
text property and can be negative.
col Screen column where to position the popup. Can use a
number or "cursor" to use the column of the cursor,
"cursor+9" or "cursor-9" to add or subtract a number
of columns. If omitted the popup is horizontally
centered. The first column is 1.
of columns. If omitted or zero the popup is
horizontally centered. The first column is 1.
When using "textprop" the number is relative to the
text property and can be negative.
pos "topleft", "topright", "botleft" or "botright":

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.2. Last change: 2020 Jan 06
*quickfix.txt* For Vim version 8.2. Last change: 2020 May 31
VIM REFERENCE MANUAL by Bram Moolenaar
@ -15,6 +15,7 @@ This subject is introduced in section |30.1| of the user manual.
7. The error format |error-file-format|
8. The directory stack |quickfix-directory-stack|
9. Specific error file formats |errorformats|
10. Customizing the quickfix window |quickfix-window-function|
The quickfix commands are not available when the |+quickfix| feature was
disabled at compile time.
@ -1374,7 +1375,11 @@ Basic items
%v virtual column number (finds a number representing
screen column of the error (1 <tab> == 8 screen
columns))
%t error type (finds a single character)
%t error type (finds a single character):
e - error message
w - warning message
i - info message
n - note message
%n error number (finds a number)
%m error message (finds a string)
%r matches the "rest" of a single-line file message %O/P/Q
@ -1445,6 +1450,7 @@ prefixes are:
%E start of a multi-line error message
%W start of a multi-line warning message
%I start of a multi-line informational message
%N start of a multi-line note message
%A start of a multi-line message (unspecified type)
%> for next line start with current pattern again |efm-%>|
%C continuation of a multi-line message
@ -1921,6 +1927,67 @@ error messages into a format that quickfix mode will understand. See the
start of the file about how to use it. (This script is deprecated, see
|compiler-perl|.)
=============================================================================
10. Customizing the quickfix window *quickfix-window-function*
The default format for the lines displayed in the quickfix window and location
list window is:
<filename>|<lnum> col <col>|<text>
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
"text" fields returned by the |getqflist()| function.
For some quickfix/location lists, the displayed text need to be customized.
For example, if only the filename is present for a quickfix entry, then the
two "|" field separator characters after the filename are not needed. Another
use case is to customize the path displayed for a filename. By default, the
complete path (which may be too long) is displayed for files which are not
under the current directory tree. The file path may need to be simplified to a
common parent directory.
The displayed text can be customized by setting the 'quickfixtextfunc' option
to a Vim function. This function will be called with a dict argument and
should return a List of strings to be displayed in the quickfix or location
list window. The dict argument will have the following fields:
quickfix set to 1 when called for a quickfix list and 0 when called for
a location list.
winid for a location list, set to the id of the window with the
location list. For a quickfix list, set to 0. Can be used in
getloclist() to get the location list entry.
id quickfix or location list identifier
start_idx index of the first entry for which text should be returned
end_idx index of the last entry for which text should be returned
The function should return a single line of text to display in the quickfix
window for each entry from start_idx to end_idx. The function can obtain
information about the entries using the |getqflist()| function and specifying
the quickfix list identifier "id". For a location list, getloclist() function
can be used with the 'winid' argument.
If a quickfix or location list specific customization is needed, then the
'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or
|setloclist()| function. This overrides the global 'quickfixtextfunc' option.
The example below displays the list of old files (|v:oldfiles|) in a quickfix
window. As there is no line, column number and error text information
associated with each entry, the 'quickfixtextfunc' function returns only the
filename.
Example: >
" create a quickfix list from v:oldfiles
call setqflist([], ' ', {'lines' : v:oldfiles, 'efm' : '%f',
\ 'quickfixtextfunc' : 'QfOldFiles'})
func QfOldFiles(info)
" get information about a range of quickfix entries
let items = getqflist({'id' : a:info.id, 'items' : 1}).items
let l = []
for idx in range(a:info.start_idx - 1, a:info.end_idx - 1)
" use the simplified file name
call add(l, fnamemodify(bufname(items[idx].bufnr), ':p:.'))
endfor
return l
endfunc
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.2. Last change: 2020 Jan 17
*quickref.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -851,6 +851,7 @@ Short explanation of each option: *option-list*
'pythonthreedll' name of the Python 3 dynamic library
'pythonthreehome' name of the Python 3 home directory
'pyxversion' 'pyx' Python version used for pyx* commands
'quickfixtextfunc' 'qftf' function for the text in the quickfix window
'quoteescape' 'qe' escape characters used in a string
'readonly' 'ro' disallow writing the buffer
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
@ -909,6 +910,7 @@ Short explanation of each option: *option-list*
'spellcapcheck' 'spc' pattern to locate end of a sentence
'spellfile' 'spf' files where |zg| and |zw| store words
'spelllang' 'spl' language(s) to do spell checking for
'spelloptions' 'spo' options for spell checking
'spellsuggest' 'sps' method(s) used to suggest spelling corrections
'splitbelow' 'sb' new window from split is below the current one
'splitright' 'spr' new window is put right of the current one

View File

@ -1,4 +1,4 @@
*recover.txt* For Vim version 8.2. Last change: 2019 May 07
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@ -125,12 +125,12 @@ If you want to make sure that your changes are in the swap file use this
command:
*:pre* *:preserve* *E313* *E314*
:pre[serve] Write all text for all buffers into swap file. The
original file is no longer needed for recovery.
This sets a flag in the current buffer. When the '&'
flag is present in 'cpoptions' the swap file will not
be deleted for this buffer when Vim exits and the
buffer is still loaded |cpo-&|.
:pre[serve] Write all text for the current buffer into its swap
file. The original file is no longer needed for
recovery. This sets a flag in the current buffer.
When the '&' flag is present in 'cpoptions' the swap
file will not be deleted for this buffer when Vim
exits and the buffer is still loaded |cpo-&|.
A Vim swap file can be recognized by the first six characters: "b0VIM ".
After that comes the version number, e.g., "3.0".

View File

@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.2. Last change: 2019 Dec 07
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -126,6 +126,11 @@ q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
recorded macro and the yank will overwrite the
recorded macro.
Note: The recording happens while you type, replaying
the register happens as if the keys come from a
mapping. This matters, for example, for undo, which
only syncs when commands were typed.
q Stops recording. (Implementation note: The 'q' that
stops recording is not stored in the register, unless
it was the result of a mapping)
@ -137,7 +142,7 @@ q Stops recording. (Implementation note: The 'q' that
used.
The register is executed like a mapping, that means
that the difference between 'wildchar' and 'wildcharm'
applies.
applies, and undo might not be synced in the same way.
For "@=" you are prompted to enter an expression. The
result of the expression is then executed.
See also |@:|.
@ -158,6 +163,11 @@ q Stops recording. (Implementation note: The 'q' that
result of evaluating the expression is executed as an
Ex command.
Mappings are not recognized in these commands.
When the |line-continuation| character (\) is present
at the beginning of a line in a linewise register,
then it is combined with the previous line. This is
useful for yanking and executing parts of a Vim
script.
Future: Will execute the register for each line in the
address range.
@ -166,7 +176,7 @@ q Stops recording. (Implementation note: The 'q' that
[addr] (default is current line).
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
:[addr]@@ Repeat the previous :@{register}. First set cursor at
line [addr] (default is current line).
==============================================================================

View File

@ -1,4 +1,4 @@
*spell.txt* For Vim version 8.2. Last change: 2019 Aug 16
*spell.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -215,6 +215,9 @@ When there is a line break right after a sentence the highlighting of the next
line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for
how it can be set automatically when 'spelllang' is set.
The 'spelloptions' option has a few more flags that influence the way spell
checking works.
Vim counts the number of times a good word is encountered. This is used to
sort the suggestions: words that have been seen before get a small bonus,
words that have been seen often get a bigger bonus. The COMMON item in the

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 8.2. Last change: 2020 Jan 20
*starting.txt* For Vim version 8.2. Last change: 2020 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -58,10 +58,12 @@ filename One or more file names. The first one will be the current
that is read from stdin. The commands that would normally be
read from stdin will now be read from stderr. Example: >
find . -name "*.c" -print | vim -
< The buffer will not be marked as modified, so that it's easy
to exit. Be careful to mark it as modified if you don't want
to accidentally lose it. Example: >
ls | view -
< The buffer will be marked as modified, so that you are
reminded to save the text when trying to exit. If you don't
like that, put this these lines in your vimrc: >
" Don't set 'modified' when reading from stdin
au StdinReadPost * set nomodified
<
Starting in Ex mode: >
ex -
@ -788,6 +790,7 @@ accordingly. Vim proceeds in this order:
or $VIM/_vimrc
Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc
or $VIM/.vimrc
Haiku $HOME/config/settings/vim/vimrc
The files are searched in the order specified above and only the first
one that is found is read.
@ -833,6 +836,8 @@ accordingly. Vim proceeds in this order:
"$HOME/_vimrc" (for Win32) (*)
"$HOME/vimfiles/vimrc" (for Win32) (*)
"$VIM/_vimrc" (for Win32) (*)
"$HOME/config/settings/vim/vimrc" (for Haiku) (*)
Note: For Unix and Amiga, when ".vimrc" does not exist,
"_vimrc" is also tried, in case an MS-DOS compatible file
system is used. For MS-Windows ".vimrc" is checked after
@ -948,6 +953,8 @@ sessions. Put it in a place so that it will be found by 3b:
~/.vimrc (Unix)
s:.vimrc (Amiga)
$VIM\_vimrc (Win32)
~/config/settings/vim/vimrc (Haiku)
Note that creating a vimrc file will cause the 'compatible' option to be off
by default. See |compatible-default|.

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.2. Last change: 2019 Dec 19
*syntax.txt* For Vim version 8.2. Last change: 2020 Jun 01
VIM REFERENCE MANUAL by Bram Moolenaar
@ -217,7 +217,7 @@ The name for a highlight or syntax group must consist of ASCII letters, digits
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
an error when using other characters.
To be able to allow each user to pick his favorite set of colors, there must
To be able to allow each user to pick their favorite set of colors, there must
be preferred names for highlight groups that are common for many languages.
These are the suggested group names (if syntax highlighting works properly
you can see the actual color, except for "Ignore"):
@ -1214,11 +1214,13 @@ DESKTOP *desktop.vim* *ft-desktop-syntax*
Primary goal of this syntax file is to highlight .desktop and .directory files
according to freedesktop.org standard:
http://standards.freedesktop.org/desktop-entry-spec/latest/
But actually almost none implements this standard fully. Thus it will
highlight all Unix ini files. But you can force strict highlighting according
to standard by placing this in your vimrc file: >
:let enforce_freedesktop_standard = 1
https://specifications.freedesktop.org/desktop-entry-spec/latest/
To highlight nonstandard extensions that does not begin with X-, set >
let g:desktop_enable_nonstd = 1
Note that this may cause wrong highlight.
To highlight KDE-reserved features, set >
let g:desktop_enable_kde = 1
g:desktop_enable_kde follows g:desktop_enable_nonstd if not supplied
DIFF *diff.vim*
@ -3636,6 +3638,26 @@ DEFINING CASE *:syn-case* *E390*
:sy[ntax] case
Show either "syntax case match" or "syntax case ignore" (translated).
DEFINING FOLDLEVEL *:syn-foldlevel*
:sy[ntax] foldlevel [start | minimum]
This defines how the foldlevel of a line is computed when using
foldmethod=syntax (see |fold-syntax| and |:syn-fold|):
start: Use level of item containing start of line.
minimum: Use lowest local-minimum level of items on line.
The default is 'start'. Use 'minimum' to search a line horizontally
for the lowest level contained on the line that is followed by a
higher level. This produces more natural folds when syntax items
may close and open horizontally within a line.
:sy[ntax] foldlevel
Show either "syntax foldlevel start" or "syntax foldlevel minimum".
{not meaningful when Vim was compiled without |+folding| feature}
SPELL CHECKING *:syn-spell*
:sy[ntax] spell [toplevel | notoplevel | default]
@ -4099,6 +4121,8 @@ This will make each {} block form one fold.
The fold will start on the line where the item starts, and end where the item
ends. If the start and end are within the same line, there is no fold.
The 'foldnestmax' option limits the nesting of syntax folds.
See |:syn-foldlevel| to control how the foldlevel of a line is computed
from its syntax items.
{not available when Vim was compiled without |+folding| feature}
@ -4512,8 +4536,8 @@ two different ways:
(e.g., "syntax/pod.vim") the file is searched for in 'runtimepath'.
All matching files are loaded. Using a relative path is
recommended, because it allows a user to replace the included file
with his own version, without replacing the file that does the ":syn
include".
with their own version, without replacing the file that does the
":syn include".
*E847*
The maximum number of includes is 999.
@ -4857,7 +4881,12 @@ term={attr-list} *attr-list* *highlight-term* *E418*
have the same effect.
"undercurl" is a curly underline. When "undercurl" is not possible
then "underline" is used. In general "undercurl" and "strikethrough"
is only available in the GUI. The color is set with |highlight-guisp|.
are only available in the GUI and some terminals. The color is set
with |highlight-guisp| or |highlight-ctermul|. You can try these
termcap entries to make undercurl work in a terminal: >
let &t_Cs = "\e[4:3m"
let &t_Ce = "\e[4:0m"
start={term-list} *highlight-start* *E422*
stop={term-list} *term-list* *highlight-stop*
@ -4901,6 +4930,10 @@ cterm={attr-list} *highlight-cterm*
ctermfg={color-nr} *highlight-ctermfg* *E421*
ctermbg={color-nr} *highlight-ctermbg*
ctermul={color-nr} *highlight-ctermul*
These give the foreground (ctermfg), background (ctermbg) and
underline (ctermul) color to use in the terminal.
The {color-nr} argument is a color number. Its range is zero to
(not including) the number given by the termcap entry "Co".
The actual color with this number depends on the type of terminal
@ -4978,11 +5011,11 @@ ctermbg={color-nr} *highlight-ctermbg*
needs to reset the color when exiting. This is done with the "op"
termcap entry |t_op|. If this doesn't work correctly, try setting the
't_op' option in your .vimrc.
*E419* *E420*
When Vim knows the normal foreground and background colors, "fg" and
"bg" can be used as color names. This only works after setting the
colors for the Normal group and for the MS-Windows console. Example,
for reverse video: >
*E419* *E420* *E453*
When Vim knows the normal foreground, background and underline colors,
"fg", "bg" and "ul" can be used as color names. This only works after
setting the colors for the Normal group and for the MS-Windows
console. Example, for reverse video: >
:highlight Visual ctermfg=bg ctermbg=fg
< Note that the colors are used that are valid at the moment this
command are given. If the Normal group colors are changed later, the

View File

@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 8.2. Last change: 2019 May 05
*tabpage.txt* For Vim version 8.2. Last change: 2020 Feb 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -138,7 +138,7 @@ something else.
:+tabclose " close the next tab page
:1tabclose " close the first tab page
:$tabclose " close the last tab page
:tabclose -2 " close the two previous tab page
:tabclose -2 " close the 2nd previous tab page
:tabclose + " close the next tab page
:tabclose 3 " close the third tab page
:tabclose $ " close the last tab page

View File

@ -810,6 +810,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'pyx' options.txt /*'pyx'*
'pyxversion' options.txt /*'pyxversion'*
'qe' options.txt /*'qe'*
'qftf' options.txt /*'qftf'*
'quickfixtextfunc' options.txt /*'quickfixtextfunc'*
'quote motion.txt /*'quote*
'quoteescape' options.txt /*'quoteescape'*
'rdt' options.txt /*'rdt'*
@ -913,11 +915,13 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'spellcapcheck' options.txt /*'spellcapcheck'*
'spellfile' options.txt /*'spellfile'*
'spelllang' options.txt /*'spelllang'*
'spelloptions' options.txt /*'spelloptions'*
'spellsuggest' options.txt /*'spellsuggest'*
'spf' options.txt /*'spf'*
'spl' options.txt /*'spl'*
'splitbelow' options.txt /*'splitbelow'*
'splitright' options.txt /*'splitright'*
'spo' options.txt /*'spo'*
'spr' options.txt /*'spr'*
'sps' options.txt /*'sps'*
'sr' options.txt /*'sr'*
@ -956,10 +960,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
't_&8' term.txt /*'t_&8'*
't_8b' term.txt /*'t_8b'*
't_8f' term.txt /*'t_8f'*
't_8u' term.txt /*'t_8u'*
't_@7' term.txt /*'t_@7'*
't_AB' term.txt /*'t_AB'*
't_AF' term.txt /*'t_AF'*
't_AL' term.txt /*'t_AL'*
't_AU' term.txt /*'t_AU'*
't_BD' term.txt /*'t_BD'*
't_BE' term.txt /*'t_BE'*
't_CS' term.txt /*'t_CS'*
@ -1267,6 +1273,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
+X11 various.txt /*+X11*
+acl various.txt /*+acl*
+arabic various.txt /*+arabic*
+autochdir various.txt /*+autochdir*
+autocmd various.txt /*+autocmd*
+autoservername various.txt /*+autoservername*
+balloon_eval various.txt /*+balloon_eval*
@ -1314,6 +1321,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
+iconv various.txt /*+iconv*
+iconv/dyn various.txt /*+iconv\/dyn*
+insert_expand various.txt /*+insert_expand*
+ipv6 various.txt /*+ipv6*
+job various.txt /*+job*
+jumplist various.txt /*+jumplist*
+keymap various.txt /*+keymap*
@ -1920,6 +1928,10 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
45.3 usr_45.txt /*45.3*
45.4 usr_45.txt /*45.4*
45.5 usr_45.txt /*45.5*
46.1 usr_46.txt /*46.1*
46.2 usr_46.txt /*46.2*
46.3 usr_46.txt /*46.3*
46.? usr_46.txt /*46.?*
8g8 various.txt /*8g8*
90.1 usr_90.txt /*90.1*
90.2 usr_90.txt /*90.2*
@ -2270,6 +2282,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:command-completion-custom map.txt /*:command-completion-custom*
:command-completion-customlist map.txt /*:command-completion-customlist*
:command-count map.txt /*:command-count*
:command-modifiers map.txt /*:command-modifiers*
:command-nargs map.txt /*:command-nargs*
:command-range map.txt /*:command-range*
:command-register map.txt /*:command-register*
@ -2314,6 +2327,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:debugg repeat.txt /*:debugg*
:debuggreedy repeat.txt /*:debuggreedy*
:def vim9.txt /*:def*
:defc vim9.txt /*:defc*
:defcompile vim9.txt /*:defcompile*
:del change.txt /*:del*
:delc map.txt /*:delc*
:delcommand map.txt /*:delcommand*
@ -2341,6 +2356,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:diffupdate diff.txt /*:diffupdate*
:dig digraph.txt /*:dig*
:digraphs digraph.txt /*:digraphs*
:disa vim9.txt /*:disa*
:disassemble vim9.txt /*:disassemble*
:display change.txt /*:display*
:dj tagsrch.txt /*:dj*
:djump tagsrch.txt /*:djump*
@ -2580,6 +2597,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:lbuffer quickfix.txt /*:lbuffer*
:lc editing.txt /*:lc*
:lcd editing.txt /*:lcd*
:lcd- editing.txt /*:lcd-*
:lch editing.txt /*:lch*
:lchdir editing.txt /*:lchdir*
:lcl quickfix.txt /*:lcl*
@ -2887,6 +2905,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:put change.txt /*:put*
:pw editing.txt /*:pw*
:pwd editing.txt /*:pwd*
:pwd-verbose editing.txt /*:pwd-verbose*
:py if_pyth.txt /*:py*
:py3 if_pyth.txt /*:py3*
:py3do if_pyth.txt /*:py3do*
@ -3190,6 +3209,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:syn-file-remarks syntax.txt /*:syn-file-remarks*
:syn-files syntax.txt /*:syn-files*
:syn-fold syntax.txt /*:syn-fold*
:syn-foldlevel syntax.txt /*:syn-foldlevel*
:syn-include syntax.txt /*:syn-include*
:syn-iskeyword syntax.txt /*:syn-iskeyword*
:syn-keepend syntax.txt /*:syn-keepend*
@ -3270,6 +3290,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:tags tagsrch.txt /*:tags*
:tc if_tcl.txt /*:tc*
:tcd editing.txt /*:tcd*
:tcd- editing.txt /*:tcd-*
:tch editing.txt /*:tch*
:tchdir editing.txt /*:tchdir*
:tcl if_tcl.txt /*:tcl*
@ -3871,10 +3892,12 @@ E101 diff.txt /*E101*
E102 diff.txt /*E102*
E103 diff.txt /*E103*
E104 digraph.txt /*E104*
E1042 vim9.txt /*E1042*
E105 mbyte.txt /*E105*
E107 eval.txt /*E107*
E108 eval.txt /*E108*
E109 eval.txt /*E109*
E1094 vim9.txt /*E1094*
E11 cmdline.txt /*E11*
E110 eval.txt /*E110*
E111 eval.txt /*E111*
@ -4241,12 +4264,15 @@ E447 editing.txt /*E447*
E448 various.txt /*E448*
E449 eval.txt /*E449*
E45 message.txt /*E45*
E452 eval.txt /*E452*
E453 syntax.txt /*E453*
E455 print.txt /*E455*
E456 print.txt /*E456*
E457 print.txt /*E457*
E458 message.txt /*E458*
E459 message.txt /*E459*
E46 message.txt /*E46*
E460 eval.txt /*E460*
E461 eval.txt /*E461*
E462 editing.txt /*E462*
E463 netbeans.txt /*E463*
@ -4358,6 +4384,7 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564*
E565 insert.txt /*E565*
E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568*
@ -4369,6 +4396,7 @@ E574 starting.txt /*E574*
E575 starting.txt /*E575*
E576 starting.txt /*E576*
E577 starting.txt /*E577*
E578 insert.txt /*E578*
E579 eval.txt /*E579*
E580 eval.txt /*E580*
E581 eval.txt /*E581*
@ -4670,6 +4698,7 @@ E855 autocmd.txt /*E855*
E858 eval.txt /*E858*
E859 eval.txt /*E859*
E86 windows.txt /*E86*
E861 popup.txt /*E861*
E862 eval.txt /*E862*
E863 popup.txt /*E863*
E864 pattern.txt /*E864*
@ -4711,6 +4740,7 @@ E897 eval.txt /*E897*
E898 channel.txt /*E898*
E899 eval.txt /*E899*
E90 message.txt /*E90*
E900 eval.txt /*E900*
E901 channel.txt /*E901*
E902 channel.txt /*E902*
E903 channel.txt /*E903*
@ -4817,6 +4847,7 @@ E994 eval.txt /*E994*
E995 eval.txt /*E995*
E996 eval.txt /*E996*
E997 popup.txt /*E997*
E998 eval.txt /*E998*
E999 repeat.txt /*E999*
EX intro.txt /*EX*
EXINIT starting.txt /*EXINIT*
@ -4869,6 +4900,7 @@ GetLatestVimScripts-copyright pi_getscript.txt /*GetLatestVimScripts-copyright*
GetLatestVimScripts_dat pi_getscript.txt /*GetLatestVimScripts_dat*
Gnome gui_x11.txt /*Gnome*
H motion.txt /*H*
Haiku os_haiku.txt /*Haiku*
I insert.txt /*I*
ICCF uganda.txt /*ICCF*
IM-server mbyte.txt /*IM-server*
@ -5036,6 +5068,7 @@ SessionLoad-variable starting.txt /*SessionLoad-variable*
SessionLoadPost autocmd.txt /*SessionLoadPost*
ShellCmdPost autocmd.txt /*ShellCmdPost*
ShellFilterPost autocmd.txt /*ShellFilterPost*
SigUSR1 autocmd.txt /*SigUSR1*
SourceCmd autocmd.txt /*SourceCmd*
SourcePost autocmd.txt /*SourcePost*
SourcePre autocmd.txt /*SourcePre*
@ -5427,20 +5460,7 @@ bars help.txt /*bars*
base_font_name_list mbyte.txt /*base_font_name_list*
basic.vim syntax.txt /*basic.vim*
beep options.txt /*beep*
beos-colors os_beos.txt /*beos-colors*
beos-compiling os_beos.txt /*beos-compiling*
beos-dragndrop os_beos.txt /*beos-dragndrop*
beos-fonts os_beos.txt /*beos-fonts*
beos-general os_beos.txt /*beos-general*
beos-gui os_beos.txt /*beos-gui*
beos-launch os_beos.txt /*beos-launch*
beos-meta os_beos.txt /*beos-meta*
beos-mouse os_beos.txt /*beos-mouse*
beos-perl os_beos.txt /*beos-perl*
beos-timeout os_beos.txt /*beos-timeout*
beos-unicode os_beos.txt /*beos-unicode*
beos-utf8 os_beos.txt /*beos-utf8*
beos-vimdir os_beos.txt /*beos-vimdir*
beos os_beos.txt /*beos*
better-python-interface version7.txt /*better-python-interface*
beval_bufnr-variable eval.txt /*beval_bufnr-variable*
beval_col-variable eval.txt /*beval_col-variable*
@ -5779,6 +5799,7 @@ coding-style develop.txt /*coding-style*
col() eval.txt /*col()*
coldfusion.vim syntax.txt /*coldfusion.vim*
collapse tips.txt /*collapse*
collate-variable eval.txt /*collate-variable*
color-xterm syntax.txt /*color-xterm*
coloring syntax.txt /*coloring*
colortest.vim syntax.txt /*colortest.vim*
@ -5820,6 +5841,7 @@ complete-item-kind insert.txt /*complete-item-kind*
complete-items insert.txt /*complete-items*
complete-popup insert.txt /*complete-popup*
complete-popuphidden insert.txt /*complete-popuphidden*
complete-script-local-functions cmdline.txt /*complete-script-local-functions*
complete_CTRL-E insert.txt /*complete_CTRL-E*
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()*
@ -6108,6 +6130,7 @@ dtd2vim insert.txt /*dtd2vim*
dying-variable eval.txt /*dying-variable*
e motion.txt /*e*
easy starting.txt /*easy*
echoraw() eval.txt /*echoraw()*
echospace-variable eval.txt /*echospace-variable*
edit-a-file editing.txt /*edit-a-file*
edit-binary editing.txt /*edit-binary*
@ -6116,6 +6139,7 @@ edit-files editing.txt /*edit-files*
edit-intro editing.txt /*edit-intro*
edit-no-break usr_25.txt /*edit-no-break*
edit-paragraph-join usr_25.txt /*edit-paragraph-join*
edit-window windows.txt /*edit-window*
editing.txt editing.txt /*editing.txt*
efm-%> quickfix.txt /*efm-%>*
efm-entries quickfix.txt /*efm-entries*
@ -6316,6 +6340,7 @@ filetype.txt filetype.txt /*filetype.txt*
filetypedetect-changed version6.txt /*filetypedetect-changed*
filetypes filetype.txt /*filetypes*
filewritable() eval.txt /*filewritable()*
filler-lines windows.txt /*filler-lines*
filter change.txt /*filter*
filter() eval.txt /*filter()*
find-manpage usr_12.txt /*find-manpage*
@ -6338,6 +6363,7 @@ fixed-7.1 version7.txt /*fixed-7.1*
fixed-7.2 version7.txt /*fixed-7.2*
fixed-7.3 version7.txt /*fixed-7.3*
fixed-7.4 version7.txt /*fixed-7.4*
flatten() eval.txt /*flatten()*
flexwiki.vim syntax.txt /*flexwiki.vim*
float-e eval.txt /*float-e*
float-functions usr_41.txt /*float-functions*
@ -6894,6 +6920,7 @@ getjumplist() eval.txt /*getjumplist()*
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
getline() eval.txt /*getline()*
getloclist() eval.txt /*getloclist()*
getmarklist() eval.txt /*getmarklist()*
getmatches() eval.txt /*getmatches()*
getmousepos() eval.txt /*getmousepos()*
getpid() eval.txt /*getpid()*
@ -6901,6 +6928,7 @@ getpos() eval.txt /*getpos()*
getqflist() eval.txt /*getqflist()*
getqflist-examples quickfix.txt /*getqflist-examples*
getreg() eval.txt /*getreg()*
getreginfo() eval.txt /*getreginfo()*
getregtype() eval.txt /*getregtype()*
getscript pi_getscript.txt /*getscript*
getscript-autoinstall pi_getscript.txt /*getscript-autoinstall*
@ -6971,6 +6999,7 @@ gstar pattern.txt /*gstar*
gt tabpage.txt /*gt*
gtk-css gui_x11.txt /*gtk-css*
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
gtk3-slow gui_x11.txt /*gtk3-slow*
gu change.txt /*gu*
gugu change.txt /*gugu*
gui gui.txt /*gui*
@ -7050,6 +7079,20 @@ g~ change.txt /*g~*
g~g~ change.txt /*g~g~*
g~~ change.txt /*g~~*
h motion.txt /*h*
haiku-bugs os_haiku.txt /*haiku-bugs*
haiku-colors os_haiku.txt /*haiku-colors*
haiku-compiling os_haiku.txt /*haiku-compiling*
haiku-dragndrop os_haiku.txt /*haiku-dragndrop*
haiku-fonts os_haiku.txt /*haiku-fonts*
haiku-general os_haiku.txt /*haiku-general*
haiku-gui os_haiku.txt /*haiku-gui*
haiku-launch os_haiku.txt /*haiku-launch*
haiku-meta os_haiku.txt /*haiku-meta*
haiku-mouse os_haiku.txt /*haiku-mouse*
haiku-support-credits os_haiku.txt /*haiku-support-credits*
haiku-toolbar-images os_haiku.txt /*haiku-toolbar-images*
haiku-user-settings-dir os_haiku.txt /*haiku-user-settings-dir*
haiku-vimdir os_haiku.txt /*haiku-vimdir*
hangul hangulin.txt /*hangul*
hangulin.txt hangulin.txt /*hangulin.txt*
has() eval.txt /*has()*
@ -7085,6 +7128,7 @@ highlight-changed version4.txt /*highlight-changed*
highlight-cterm syntax.txt /*highlight-cterm*
highlight-ctermbg syntax.txt /*highlight-ctermbg*
highlight-ctermfg syntax.txt /*highlight-ctermfg*
highlight-ctermul syntax.txt /*highlight-ctermul*
highlight-default syntax.txt /*highlight-default*
highlight-font syntax.txt /*highlight-font*
highlight-groups syntax.txt /*highlight-groups*
@ -7353,6 +7397,7 @@ in_name channel.txt /*in_name*
in_top channel.txt /*in_top*
inactive-buffer windows.txt /*inactive-buffer*
include-search tagsrch.txt /*include-search*
inclusion helphelp.txt /*inclusion*
inclusive motion.txt /*inclusive*
incomp-small-6 version6.txt /*incomp-small-6*
incompatible-5 version5.txt /*incompatible-5*
@ -7673,6 +7718,7 @@ mapmode-v map.txt /*mapmode-v*
mapmode-x map.txt /*mapmode-x*
mapping map.txt /*mapping*
mapping-functions usr_41.txt /*mapping-functions*
mapset() eval.txt /*mapset()*
mark motion.txt /*mark*
mark-functions usr_41.txt /*mark-functions*
mark-motions motion.txt /*mark-motions*
@ -7714,7 +7760,11 @@ menu-changes-5.4 version5.txt /*menu-changes-5.4*
menu-examples gui.txt /*menu-examples*
menu-priority gui.txt /*menu-priority*
menu-separator gui.txt /*menu-separator*
menu-shortcut gui.txt /*menu-shortcut*
menu-text gui.txt /*menu-text*
menu-tips gui.txt /*menu-tips*
menu.vim gui.txt /*menu.vim*
menu_info() eval.txt /*menu_info()*
menus gui.txt /*menus*
merge diff.txt /*merge*
message-history message.txt /*message-history*
@ -8157,6 +8207,7 @@ nroff.vim syntax.txt /*nroff.vim*
null-variable eval.txt /*null-variable*
number_relativenumber options.txt /*number_relativenumber*
numbered-function eval.txt /*numbered-function*
numbersize-variable eval.txt /*numbersize-variable*
o insert.txt /*o*
o_CTRL-V motion.txt /*o_CTRL-V*
o_V motion.txt /*o_V*
@ -8207,6 +8258,7 @@ os_390.txt os_390.txt /*os_390.txt*
os_amiga.txt os_amiga.txt /*os_amiga.txt*
os_beos.txt os_beos.txt /*os_beos.txt*
os_dos.txt os_dos.txt /*os_dos.txt*
os_haiku.txt os_haiku.txt /*os_haiku.txt*
os_mac.txt os_mac.txt /*os_mac.txt*
os_mint.txt os_mint.txt /*os_mint.txt*
os_msdos.txt os_msdos.txt /*os_msdos.txt*
@ -8244,6 +8296,7 @@ patches-8.2 version8.txt /*patches-8.2*
pathshorten() eval.txt /*pathshorten()*
pattern pattern.txt /*pattern*
pattern-atoms pattern.txt /*pattern-atoms*
pattern-delimiter change.txt /*pattern-delimiter*
pattern-multi-byte pattern.txt /*pattern-multi-byte*
pattern-multi-items pattern.txt /*pattern-multi-items*
pattern-overview pattern.txt /*pattern-overview*
@ -8349,6 +8402,7 @@ popup_findpreview() popup.txt /*popup_findpreview()*
popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()*
popup_hide() popup.txt /*popup_hide()*
popup_list() popup.txt /*popup_list()*
popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()*
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
@ -8509,6 +8563,7 @@ quickfix-title quickfix.txt /*quickfix-title*
quickfix-valid quickfix.txt /*quickfix-valid*
quickfix-window quickfix.txt /*quickfix-window*
quickfix-window-ID quickfix.txt /*quickfix-window-ID*
quickfix-window-function quickfix.txt /*quickfix-window-function*
quickfix.txt quickfix.txt /*quickfix.txt*
quickref quickref.txt /*quickref*
quickref.txt quickref.txt /*quickref.txt*
@ -8550,6 +8605,7 @@ quote~ change.txt /*quote~*
r change.txt /*r*
r.vim syntax.txt /*r.vim*
rand() eval.txt /*rand()*
random eval.txt /*random*
range() eval.txt /*range()*
raw-terminal-mode term.txt /*raw-terminal-mode*
rcp pi_netrw.txt /*rcp*
@ -8558,6 +8614,7 @@ read-messages insert.txt /*read-messages*
read-only-share editing.txt /*read-only-share*
read-stdin version5.txt /*read-stdin*
readdir() eval.txt /*readdir()*
readdirex() eval.txt /*readdirex()*
readfile() eval.txt /*readfile()*
readline.vim syntax.txt /*readline.vim*
recording repeat.txt /*recording*
@ -8566,6 +8623,7 @@ recovery recover.txt /*recovery*
recursive_mapping map.txt /*recursive_mapping*
redo undo.txt /*redo*
redo-register undo.txt /*redo-register*
reduce() eval.txt /*reduce()*
ref intro.txt /*ref*
reference intro.txt /*reference*
reference_toc help.txt /*reference_toc*
@ -8730,6 +8788,7 @@ search-offset pattern.txt /*search-offset*
search-pattern pattern.txt /*search-pattern*
search-range pattern.txt /*search-range*
search-replace change.txt /*search-replace*
searchcount() eval.txt /*searchcount()*
searchdecl() eval.txt /*searchdecl()*
searchforward-variable eval.txt /*searchforward-variable*
searchpair() eval.txt /*searchpair()*
@ -8820,11 +8879,13 @@ slow-terminal term.txt /*slow-terminal*
socket-interface channel.txt /*socket-interface*
sort() eval.txt /*sort()*
sorting change.txt /*sorting*
sound-functions usr_41.txt /*sound-functions*
sound_clear() eval.txt /*sound_clear()*
sound_playevent() eval.txt /*sound_playevent()*
sound_playfile() eval.txt /*sound_playfile()*
sound_stop() eval.txt /*sound_stop()*
soundfold() eval.txt /*soundfold()*
source-vim9-script usr_46.txt /*source-vim9-script*
space intro.txt /*space*
spec-customizing pi_spec.txt /*spec-customizing*
spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it*
@ -9088,10 +9149,12 @@ t_%i term.txt /*t_%i*
t_&8 term.txt /*t_&8*
t_8b term.txt /*t_8b*
t_8f term.txt /*t_8f*
t_8u term.txt /*t_8u*
t_@7 term.txt /*t_@7*
t_AB term.txt /*t_AB*
t_AF term.txt /*t_AF*
t_AL term.txt /*t_AL*
t_AU term.txt /*t_AU*
t_BD term.txt /*t_BD*
t_BE term.txt /*t_BE*
t_CS term.txt /*t_CS*
@ -9320,6 +9383,7 @@ tags-file-format tagsrch.txt /*tags-file-format*
tags-option tagsrch.txt /*tags-option*
tagsrch.txt tagsrch.txt /*tagsrch.txt*
tagstack tagsrch.txt /*tagstack*
tagstack-examples tagsrch.txt /*tagstack-examples*
tan() eval.txt /*tan()*
tanh() eval.txt /*tanh()*
tar pi_tar.txt /*tar*
@ -9424,6 +9488,7 @@ termdebug-prompt terminal.txt /*termdebug-prompt*
termdebug-starting terminal.txt /*termdebug-starting*
termdebug-stepping terminal.txt /*termdebug-stepping*
termdebug-variables terminal.txt /*termdebug-variables*
termdebug_map_K terminal.txt /*termdebug_map_K*
termdebug_popup terminal.txt /*termdebug_popup*
termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
@ -9461,6 +9526,7 @@ terminal-unix terminal.txt /*terminal-unix*
terminal-use terminal.txt /*terminal-use*
terminal-window terminal.txt /*terminal-window*
terminal.txt terminal.txt /*terminal.txt*
terminalprops() eval.txt /*terminalprops()*
terminfo term.txt /*terminfo*
termresponse-variable eval.txt /*termresponse-variable*
test-functions usr_41.txt /*test-functions*
@ -9475,6 +9541,7 @@ test_ignore_error() testing.txt /*test_ignore_error()*
test_null_blob() testing.txt /*test_null_blob()*
test_null_channel() testing.txt /*test_null_channel()*
test_null_dict() testing.txt /*test_null_dict()*
test_null_function() testing.txt /*test_null_function()*
test_null_job() testing.txt /*test_null_job()*
test_null_list() testing.txt /*test_null_list()*
test_null_partial() testing.txt /*test_null_partial()*
@ -9485,6 +9552,9 @@ test_refcount() testing.txt /*test_refcount()*
test_scrollbar() testing.txt /*test_scrollbar()*
test_setmouse() testing.txt /*test_setmouse()*
test_settime() testing.txt /*test_settime()*
test_srand_seed() testing.txt /*test_srand_seed()*
test_unknown() testing.txt /*test_unknown()*
test_void() testing.txt /*test_void()*
testing testing.txt /*testing*
testing-support testing.txt /*testing-support*
testing-variable eval.txt /*testing-variable*
@ -9513,6 +9583,7 @@ text-prop-changes textprop.txt /*text-prop-changes*
text-prop-functions textprop.txt /*text-prop-functions*
text-prop-intro textprop.txt /*text-prop-intro*
text-properties textprop.txt /*text-properties*
text-property-functions usr_41.txt /*text-property-functions*
textlock eval.txt /*textlock*
textprop textprop.txt /*textprop*
textprop.txt textprop.txt /*textprop.txt*
@ -9542,6 +9613,7 @@ toggle options.txt /*toggle*
toggle-revins version4.txt /*toggle-revins*
tolower() eval.txt /*tolower()*
toolbar-icon gui.txt /*toolbar-icon*
tooltips gui.txt /*tooltips*
toupper() eval.txt /*toupper()*
tr() eval.txt /*tr()*
trim() eval.txt /*trim()*
@ -9631,6 +9703,7 @@ usr_42.txt usr_42.txt /*usr_42.txt*
usr_43.txt usr_43.txt /*usr_43.txt*
usr_44.txt usr_44.txt /*usr_44.txt*
usr_45.txt usr_45.txt /*usr_45.txt*
usr_46.txt usr_46.txt /*usr_46.txt*
usr_90.txt usr_90.txt /*usr_90.txt*
usr_toc.txt usr_toc.txt /*usr_toc.txt*
utf-8 mbyte.txt /*utf-8*
@ -9652,6 +9725,7 @@ v:charconvert_from eval.txt /*v:charconvert_from*
v:charconvert_to eval.txt /*v:charconvert_to*
v:cmdarg eval.txt /*v:cmdarg*
v:cmdbang eval.txt /*v:cmdbang*
v:collate eval.txt /*v:collate*
v:completed_item eval.txt /*v:completed_item*
v:count eval.txt /*v:count*
v:count1 eval.txt /*v:count1*
@ -9685,6 +9759,7 @@ v:mouse_win eval.txt /*v:mouse_win*
v:mouse_winid eval.txt /*v:mouse_winid*
v:none eval.txt /*v:none*
v:null eval.txt /*v:null*
v:numbersize eval.txt /*v:numbersize*
v:oldfiles eval.txt /*v:oldfiles*
v:operator eval.txt /*v:operator*
v:option_command eval.txt /*v:option_command*
@ -9849,6 +9924,7 @@ val-variable eval.txt /*val-variable*
valgrind debug.txt /*valgrind*
values() eval.txt /*values()*
var-functions usr_41.txt /*var-functions*
variable-scope eval.txt /*variable-scope*
variables eval.txt /*variables*
various various.txt /*various*
various-cmds various.txt /*various-cmds*
@ -9921,11 +9997,16 @@ vim-variable eval.txt /*vim-variable*
vim.vim syntax.txt /*vim.vim*
vim7 version7.txt /*vim7*
vim8 version8.txt /*vim8*
vim9 vim9.txt /*vim9*
vim9-declaration vim9.txt /*vim9-declaration*
vim9-declarations usr_46.txt /*vim9-declarations*
vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export*
vim9-import vim9.txt /*vim9-import*
vim9-rationale vim9.txt /*vim9-rationale*
vim9-scopes vim9.txt /*vim9-scopes*
vim9-script vim9.txt /*vim9-script*
vim9-script-intro usr_46.txt /*vim9-script-intro*
vim9-types vim9.txt /*vim9-types*
vim9.txt vim9.txt /*vim9.txt*
vim9script vim9.txt /*vim9script*
@ -10050,6 +10131,7 @@ win32s os_win32.txt /*win32s*
win_execute() eval.txt /*win_execute()*
win_findbuf() eval.txt /*win_findbuf()*
win_getid() eval.txt /*win_getid()*
win_gettype() eval.txt /*win_gettype()*
win_gotoid() eval.txt /*win_gotoid()*
win_id2tabwin() eval.txt /*win_id2tabwin()*
win_id2win() eval.txt /*win_id2win()*

View File

@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Jan 30
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@ -185,6 +185,29 @@ commands explained above the tag stack will look like this:
The |gettagstack()| function returns the tag stack of a specified window. The
|settagstack()| function modifies the tag stack of a window.
*tagstack-examples*
Write to the tag stack just like `:tag` but with a user-defined
jumper#jump_to_tag function: >
" Store where we're jumping from before we jump.
let tag = expand('<cword>')
let pos = [bufnr()] + getcurpos()[1:]
let item = {'bufnr': pos[0], 'from': pos, 'tagname': tag}
if jumper#jump_to_tag(tag)
" Jump was successful, write previous location to tag stack.
let winid = win_getid()
let stack = gettagstack(winid)
let stack['items'] = [item]
call settagstack(winid, stack, 't')
endif
<
Set current index of the tag stack to 4: >
call settagstack(1005, {'curidx' : 4})
<
Push a new item onto the tag stack: >
let pos = [bufnr('myfile.txt'), 10, 1, 0]
let newtag = [{'tagname' : 'mytag', 'from' : pos}]
call settagstack(2, {'items' : newtag}, 'a')
<
*E73*
When you try to use the tag stack while it doesn't contain anything you will
get an error message.
@ -504,10 +527,13 @@ a tag for each "#defined" macro, typedefs, enums, etc.
Some programs that generate tags files:
ctags As found on most Unix systems. Only supports C. Only
does the basic work.
universal ctags A maintained version of ctags based on exuberant
ctags. See https://ctags.io.
*Exuberant_ctags*
exuberant ctags This is a very good one. It works for C, C++, Java,
Fortran, Eiffel and others. It can generate tags for
many items. See http://ctags.sourceforge.net.
No new version since 2009.
etags Connected to Emacs. Supports many languages.
JTags For Java, in Java. It can be found at
http://www.fleiner.com/jtags/.

View File

@ -1,4 +1,4 @@
*term.txt* For Vim version 8.2. Last change: 2019 Dec 07
*term.txt* For Vim version 8.2. Last change: 2020 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -322,6 +322,7 @@ OUTPUT CODES *terminal-output-codes*
t_ZR italics end *t_ZR* *'t_ZR'*
Added by Vim (there are no standard codes for these):
t_AU set underline color (ANSI) *t_AU* *'t_AU'*
t_Ce undercurl end *t_Ce* *'t_Ce'*
t_Cs undercurl mode *t_Cs* *'t_Cs'*
t_Te strikethrough end *t_Te* *'t_Te'*
@ -350,6 +351,7 @@ Added by Vim (there are no standard codes for these):
|xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|xterm-true-color|
t_8u set underline color (R, G, B) *t_8u* *'t_8u'*
t_BE enable bracketed paste mode *t_BE* *'t_BE'*
|xterm-bracketed-paste|
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
@ -545,6 +547,7 @@ Note about colors: The 't_Co' option tells Vim the number of colors available.
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
to reset to the default colors. Also see 'termguicolors'.
When the GUI is running 't_Co' is set to 16777216.
*termcap-cursor-shape* *termcap-cursor-color*
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.2. Last change: 2020 Jan 30
*terminal.txt* For Vim version 8.2. Last change: 2020 Jun 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -113,14 +113,15 @@ sent to the job running in the terminal. For example, to make F1 switch
to Terminal-Normal mode: >
tnoremap <F1> <C-W>N
You can use Esc, but you need to make sure it won't cause other keys to
break (cursor keys start with an Esc, so they may break): >
break (cursor keys start with an Esc, so they may break), this probably only
works in the GUI: >
tnoremap <Esc> <C-W>N
set notimeout ttimeout timeoutlen=100
You can also create menus similar to terminal mode mappings, but you have to
use |:tlmenu| instead of |:tmenu|.
< *options-in-terminal*
*options-in-terminal*
After opening the terminal window and setting 'buftype' to "terminal" the
TerminalOpen autocommand event is triggered. This makes it possible to set
options specifically for the window and buffer. Example: >
@ -148,7 +149,12 @@ terminal window will start with a white or black background.
To use a different color the Terminal highlight group can be used, for
example: >
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
<
The highlight needs to be defined before the terminal is created. Doing it
later, or setting 'wincolor', will only have effect when the program running
in the terminal displays text or clears the terminal.
Instead of Terminal another group can be specified with the "term_highlight"
option for `term_start()`.
*g:terminal_ansi_colors*
In GUI mode or with 'termguicolors', the 16 ANSI colors used by default in new
terminal windows may be configured using the variable
@ -156,6 +162,7 @@ terminal windows may be configured using the variable
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When
not using GUI colors, the terminal window always uses the 16 ANSI colors of
the underlying terminal.
When using `term_start()` the colors can be set with the "ansi_colors" option.
The |term_setansicolors()| function can be used to change the colors, and
|term_getansicolors()| to get the currently used colors.
@ -178,6 +185,10 @@ Command syntax ~
keep the terminal open in Terminal-Normal mode. This
can be changed with the ++close argument.
No Vim command can follow, any | is included in
[command]. Use `:execute` if you must have a Vim
command following in the same line.
A new buffer will be created, using [command] or
'shell' as the name, prefixed with a "!". If a buffer
by this name already exists a number is added in
@ -857,6 +868,8 @@ term_start({cmd} [, {options}]) *term_start()*
have "%d" where the buffer number goes,
e.g. "10split|buffer %d"; when not
specified "botright sbuf %d" is used
"term_highlight" highlight group to use instead of
"Terminal"
"eof_chars" Text to send after all buffer lines were
written to the terminal. When not set
CTRL-D is used on MS-Windows. For Python
@ -953,7 +966,7 @@ Currently supported commands:
directory, thus it's best to use the full path.
[options] is only used when opening a new window. If present,
it must be a Dict. Similarly to |++opt|, These entries are
it must be a Dict. Similarly to |++opt|, these entries are
recognized:
"ff" file format: "dos", "mac" or "unix"
"fileformat" idem
@ -1294,7 +1307,7 @@ breakpoint, or use the "Clear breakpoint" right-click menu entry.
Inspecting variables ~
*termdebug-variables* *:Evaluate*
`:Evaluate` evaluate the expression under the cursor
`K` same
`K` same (see |termdebug_map_K| to disable)
`:Evaluate` {expr} evaluate {expr}
`:'<,'>Evaluate` evaluate the Visually selected text
@ -1325,6 +1338,10 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
*termdebug_use_prompt*
Prompt mode can be used even when the |+terminal| feature is present with: >
let g:termdebug_use_prompt = 1
<
*termdebug_map_K*
The K key is normally mapped to :Evaluate. If you do not want this use: >
let g:termdebug_map_K = 0
Communication ~

View File

@ -1,4 +1,4 @@
*testing.txt* For Vim version 8.2. Last change: 2019 Sep 08
*testing.txt* For Vim version 8.2. Last change: 2020 Jun 15
VIM REFERENCE MANUAL by Bram Moolenaar
@ -52,11 +52,6 @@ test_autochdir() *test_autochdir()*
startup has finished.
test_clear_search_pat() *test_clear_search_pat()*
Clears the last used search pattern (|/|) and the substitute
pattern (|:s|). This is useful for testing conditions where
these patterns are not set previously.
test_feedinput({string}) *test_feedinput()*
Characters in {string} are queued for processing as if they
were typed by the user. This uses a low level input buffer.
@ -111,6 +106,10 @@ test_null_dict() *test_null_dict()*
Return a |Dict| that is null. Only useful for testing.
test_null_function() *test_null_function()*
Return a |Funcref| that is null. Only useful for testing.
test_null_job() *test_null_job()*
Return a |Job| that is null. Only useful for testing.
{only available when compiled with the +job feature}
@ -128,6 +127,13 @@ test_null_string() *test_null_string()*
Return a |String| that is null. Only useful for testing.
test_unknown() *test_unknown()*
Return a value with unknown type. Only useful for testing.
test_void() *test_void()*
Return a value with void type. Only useful for testing.
test_option_not_set({name}) *test_option_not_set()*
Reset the flag that indicates option {name} was set. Thus it
looks like it still has the default value. Use like this: >
@ -159,6 +165,10 @@ test_override({name}, {val}) *test_override()*
terminals
no_wait_return set the "no_wait_return" flag. Not restored
with "ALL".
ui_delay time in msec to use in ui_delay(); overrules a
wait time of up to 3 seconds for messages
term_props reset all terminal properties when the version
string is detected
ALL clear all overrides ({val} is not used)
"starting" is to be used when a test should behave like
@ -257,9 +267,8 @@ assert_equal({expected}, {actual} [, {msg}])
Can also be used as a |method|: >
mylist->assert_equal([1, 2, 3])
< *assert_equalfile()*
assert_equalfile({fname-one}, {fname-two})
assert_equalfile({fname-one}, {fname-two} [, {msg}])
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|.
@ -270,7 +279,6 @@ assert_equalfile({fname-one}, {fname-two})
Can also be used as a |method|: >
GetLog()->assert_equalfile('expected.log')
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
message is added to |v:errors|. Also see |assert-return|.

View File

@ -1,4 +1,4 @@
*textprop.txt* For Vim version 8.2. Last change: 2020 Jan 10
*textprop.txt* For Vim version 8.2. Last change: 2020 Mar 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -101,7 +101,7 @@ Manipulating text property types:
prop_type_add({name}, {props}) define a new property type
prop_type_change({name}, {props}) change an existing property type
prop_type_delete({name} [, {props}]) delete a property type
prop_type_get([{name} [, {props}]) get property type values
prop_type_get([{name} [, {props}]]) get property type values
prop_type_list([{props}]) get list of property types
@ -111,7 +111,7 @@ prop_add({lnum}, {col}, {props}) add a text property
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
remove all text properties
prop_find({props} [, {direction}]) search for a text property
prop_list({lnum} [, {props}) text properties in {lnum}
prop_list({lnum} [, {props}]) text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property
@ -133,8 +133,8 @@ prop_add({lnum}, {col}, {props})
to {lnum}, this is a zero-width text property
bufnr buffer to add the property to; when omitted
the current buffer is used
id user defined ID for the property; when omitted
zero is used
id user defined ID for the property; must be a
number; when omitted zero is used
type name of the text property type
All fields except "type" are optional.
@ -143,8 +143,9 @@ prop_add({lnum}, {col}, {props})
within one line, or use "end_lnum" and "end_col" for a
property that spans more than one line.
When neither "length" nor "end_col" are given the property
will be zero-width. That means it will not be highlighted but
will move with the text, as a kind of mark.
will be zero-width. That means it will move with the text, as
a kind of mark. One character will be highlighted, if the
type specifies highlighting.
The property can end exactly at the last character of the
text, or just after it. In the last case, if text is appended
to the line, the text property size will increase, also when
@ -230,6 +231,7 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
{props} is a dictionary with these fields:
id remove text properties with this ID
type remove text properties with this type name
both "id" and "type" must both match
bufnr use this buffer instead of the current one
all when TRUE remove all matching text properties,
not just the first one
@ -289,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
Can also be used as a |method|: >
GetPropName()->prop_type_delete()
prop_type_get([{name} [, {props}]) *prop_type_get()*
prop_type_get([{name} [, {props}]]) *prop_type_get()*
Returns the properties of property type {name}. This is a
dictionary with the same fields as was given to
prop_type_add().
@ -335,10 +337,11 @@ properties below the changed text, so that they still highlight the same text,
thus you don't need to update these.
Text property columns are not updated: ~
Text property columns are not updated or copied: ~
- When setting the line with |setline()| or through an interface, such as Lua,
Tcl or Python. Vim does not know what text got inserted or deleted.
- With a command like `:move`, which takes a line of text out of context.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2020 Feb 04
*todo.txt* For Vim version 8.2. Last change: 2020 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,60 +38,134 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
Include ipv6 syntax changes? (DJ Lucas, #5360)
Include src/po/vim.pot ?
Add win_type(), which "popup" and "cmdline" as values?
See if resizing a terminal can be fixed.
Vim9 script:
- test s:var += 'some'
test exported += 'some'
- implement default values for optional arguments
Generate instructions at start of function, skip over if argument provided?
Making everything work:
- Error for "g:var: string = 'value'"
- Make func()->append('$') work - value is last argument, not first. #6305
- possible memory leak in test_vim9_func through compile_nested_function.
- memory leaks in test_vim9_expr
- memory leaks in test_vim9_script
- more return types depending on the first argument, like sort().
- Check that when sourcing a Vim9 script, only the global items can be used.
- Make "true" and "false" work in vim9script
- Test that a function defined inside a :def function is local to that
function, g: functions can be defined and script-local functions cannot be
defined.
- make 0 == 'string' fail on the script level, like inside :def.
- Check that when using a user function name without prefix, it does not find
a global function. Prefixing g: is required.
- Compile: for [key, value] in items(map)
- Assignment to dict doesn't work:
let ret: dict<string> = #{}
ret[i] = string(i)
- Appending to dict item doesn't work:
let d[i] ..= value
- Compile replacement of :s command: s/pat/\=expr/
- Compile redir to local variable: var_redir_start().
- Compile builtin functions that access local variables:
islocked()
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
- Expand `=expr` in :mkspell
- When evaluating constants for script variables, some functions could work:
has('asdf'), len('string')
- Support type for ":let"/":const" at script level for Vim9 script.
(Ben Jackson, #5671)
Can we share the code from ex_let_const() between direct execution and
compiling?
- Implement "as Name" in "import Item as Name from ..."
- Disallow unlet for local/script/imported vars
- :func inside vim9script must still use a:arg
- Check that import in legacy script works and puts item in s:
- Make "++nr" work.
- Make closures work:
- Create closure in a loop. Need to make a list of them.
- expandcmd() with `=expr` in filename uses legacy expression.
- eval_expr() in ex_cexpr()
- eval_expr() call in dbg_parsearg() and debuggy_find()
- has() is compiled as a constant, but some checks are dynamic.
Check for dynamic values, such as "gui_running".
New syntax and functionality:
Improve error checking:
- "echo Func()" is an error if Func() does not return anything.
Test:
- Using a Vim9 autoload script (functions must be global).
Also:
- For range: make table of first ASCII character with flag to quickly check if
it can be a Vim9 command. E.g. "+" can, but "." can't.
- better implementation for partial and tests for that.
- Make "g:imported = Export.exported" work in Vim9 script.
- Make Foo.Bar() work to call the dict function. (#5676)
- Error in any command in "vim9script" aborts sourcing.
- Find a way to test expressions in legacy and Vim9 script without duplication
- Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script
- Test each level of expressions properly, with type checking
- Test the
- Test try/catch and throw better, also nested.
Test return inside try/finally jumps to finally and then returns.
- call autoload function.
- Type checking arguments when calling :def function
- Implement more expressions, e.g. [a:b]
- can use func as reference:
def SomeFunc() ...
map(list, SomeFunc)
- define function and create funcref in one step:
let ref = def(arg: type): rettype
Also extends lambda
- Test: Function declared inside a :def function is local, disappears at the
end of the function. Unless g: is used, just like with variables.
- Can we omit \ for line continuation inside (), {}, ?
Requires parsing while reading a function. Like fgetline in do_one_cmd()?
- implement :type
- import type declaration?
- implement class
- implement interface
- predefined class: Promise<T>
- import statement for type declaration?
- implement enum
- Make accessing varargs faster: arg[expr]
EVAL expr
LOADVARARG (varags idx)
Further improvements:
- compile options that are an expression, e.g. "expr:" in 'spellsuggest',
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
- Make inline function work, to be used as a funcref:
let ref = def(arg: type): rettype
body
enddef
- compile get_lambda_tv() in popup_add_timeout()
- inline call to map() and filter()
- compile "skip" argument of searchpair()
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
Popup windows:
- With some sequence get get hidden finished terminal buffer. (#5768)
Cannot close popup terminal (#5744)
Buffer can't be wiped, gets status "aF". (#5764)
Is buf->nwindows incorrect?
- popup_clear() and popup_close() should close the terminal popup, and
make the buffer hidden. #5745
- Cursor not updated before a redraw, making it jump. (#5943)
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
- Fire some autocommand event after a new popup window was created and
positioned? PopupNew? Could be used to set some options or move it out of
the way. (#5737)
However, it may also cause trouble, changing the popup of another plugin.
- Use popup (or popup menu) for command line completion
- When using a popup for the info of a completion menu, and there is not
enough space, let the popup overlap with the menu. (#4544)
- Implement flip option.
- Make redrawing more efficient and avoid flicker:
- put popup menu also in popup_mask?
- Match does not have right BG color if line length equals popup width.
(#5658)
- Any other commands to disable in a popup window?
Use ERROR_IF_POPUP_WINDOW for these.
- Figure out the size and position better if wrapping inserts indent
Text properties:
- :goto does not go to the right place when test properties are present.
(#5930)
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
- Get E685 with a sequence of commands. (#5674)
- Combining text property with 'cursorline' does not always work (Billie
Cleek, #5533)
- Text properties spanning more than one line
- Text properties spanning more than one line. #5683
- See remarks at top of src/textprop.c
'incsearch' with :s:
@ -126,8 +200,17 @@ Terminal debugger:
with another Vim instance.
Terminal emulator window:
- No support for underline color, t_8u.
- When started with ":terminal ++close" and the shell exits but there is a
background process, the window remains open, because the channel still
exists (and output still shows). Perhaps close the window when an explicit
++close was used? (#5931)
- Using "CTRL-W :confirm quite" and selecting "yes" should work like ":quit!".
(Harm te Hennepe, #6129)
- When the job in the terminal doesn't use mouse events, let the scroll wheel
scroll the scrollback, like a terminal does at the shell prompt. #2490
A bit like using CTRL-W N first.
Jump back like with "a" when any key is typed.
And use modeless selection. #2962
- Use CTRL-W CTRL-K to enter a digraph? #5371
- When Vim runs in the terminal and changes the title, the statusline needs to
@ -157,40 +240,111 @@ Terminal emulator window:
conversions.
Error numbers available:
E451, E452, E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E860, E861, E900
E489, E610, E611, E653, E856
Patch to move duplicated code to a function. (Yegappan Lakshmanan, #5330)
Remove SPACE_IN_FILENAME ? It is only used for completion.
Patch to use more FOR_ALL_ macros and use them. (Yegappan Lakshmanan, #5339)
Patch to use collaction based sorting. (Christian Brabandt, #6229)
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
Can we detect true color support? https://gist.github.com/XVilka/8346728
Try setting a color then request the current color, like using t_u7.
Check out PR #543 (Roland Puntaier).
Patch for multi-byte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior:
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
a copy-buffer, only when langmap is appropriate for the current mode. Then
check for mapping and let gotchars() work on the copy-buffer.
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing.
Also see #737: langmap not applied to replaying recording.
Buffer autocommands are a bit inconsistent. Add a separate set of
autocommands for the buffer lifecycle:
BufIsCreated (after buffer ID exists)
BufIsLoaded (after buffer ID has content)
BufIsUnloaded (after buffer ID no longer has)
BufIsWiped (after buffer ID was wiped)
BufIsRenamed (after buffer ID gets another name)
The buffer list and windows are locked, no changes possible
How about removing Atari MiNT support?
src/Make_mint.mak, src/os_mint.h, matches with __MINT__
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
Patch to fix drawing error with DirectX. (James Grant, #5688)
Causes flicker on resizing. Workaround from Ken Takata.
How about only setting the attribute when part of the Vim window is offscreen?
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
"make test_gui" crashed in submenu_change(). Fix and remove workaround in
add_pixmap_args().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif?
Patch to properly break CJK lines: Anton Kochkov, #3875
Flag in 'formatoptions' is not used in the tests.
Patch to add :argdedupe. (Nir Lichtman, #6235)
Patch to add 'vtp' option. (#5344)
Needs better docs. Is there a better name?
:map output does not clear the reset of the command line.
(#5623, also see #5962)
Problem with auto-formatting - inserting space and putting cursor before added
character. (#6154)
undo result wrong: Masato Nishihata, #4798
When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
Patch to add function to return the text used in the quickfix window.
(Yegappan, #5465)
Regexp to search for duplicate lines does not work correctly:
/\(^.*\n\)\1 (Chris Morgan, #6239)
Patch for Template string: #4491. New pull: #4634
Implementation is too inefficient, avoid using lambda.
With bash ":make" does not set v:shell_error. Possible solution: set
'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994
Using mode() when "/pat" is used in Visual mode returns "v" instead of "c",
which is not useful. Return "c/v" instead. And "c/o" when using "d/pat".
#6127
When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but
":find testfile.c" does not ignore case.
Might be related to #6088.
When changing the crypt key the buffer should be considered modified.
Like when changing 'fileformat'. Save the old key in save_file_ff().
(Ninu-Ciprian Marginean)
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
(Paul Jolly, #5656)
Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
Later more requests for what to track.
Should we add new events that don't allow any buffer manipulation?
Really only for dealing with appearing and disappearing buffers, load and
unload.
BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655)
Another spurious BufDelete. (Dani Dickstein, #5701)
Wrong error when using local arglist. (Harm te Hennepe, #6133)
Request to support <Cmd> in mappings, similar to how Neovim does this.
(Daniel Hahler, #4784)
Test loose_clipboard() by selecting text before suspending.
Undo puts cursor in wrong line after "cG<Esc>" undo.
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
Dec 19)
Patch to add an option to enable/disable VTP. (Nobuhiro Takasaki, #5344)
Should have three values: empty, "off", "on". Name it 'winterm'?
Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
May 20)
Also put :argadd commands at the start for all buffers, so that their order
@ -198,11 +352,8 @@ remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
Also #4994: window-local options not always restored, related to using :badd.
Also #5326: netrw buffers are not restored.
Patch to support cindent option to handle pragmas differently.
(Max Rumpf, #5468)
Patch to make ":verbose pwd" show the scope of the directory. (Takuya
Fujiwara, #5469)
When 'backupdir' has a path ending in double slash (meaning: use full path of
the file) combined with 'patchmode' the file name is wrong. (#5791)
Completion mixes results from the current buffer with tags and other files.
Happens when typing CTRL-N while still searching for results. E.g., type "b_"
@ -213,20 +364,28 @@ Should do current file first and not split it up when more results are found.
Undo history wrong when ":next file" re-uses a buffer. (#5426)
ex_next() should pass flag to do_argfile(), then to do_ecmd().
Help for ":argadd fname" says that if "fname" is already in the argument list
that entry is used. But instead it's always added. (#6210)
Add flag AL_FIND_ADD, if there is one argument find it in the list.
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)
":helptags ALL" should skip directories where "tags" cannot be written.
(Matěj Cepl, #5026)
behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker,
#5771)
":bnext" in a help buffer is supposed to go to the next help buffer, but it
goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)
Patch to include reduce() function. (#5481)
Patch for Template string: #4634
Copies the text twice, not very efficient. Requires a separate implementation
for Vim9 script, compiling the string parts and expressions.
Patch to provide search stats in a variable, so that it can be used in the
statusline. (Fujiwara Takuya, #4446)
Statusline highlighting error, off by one. (#5599)
":find" with 'path' set to "data*" does not find files, while completion does
find them. (Max Kukartsev, #6218)
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
@ -240,15 +399,16 @@ Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
It can replace the BeOS code, which is likely not used anymore.
Now on github: #1856. Updated Oct 2017
Got permission to include this under the Vim license.
"--cleanFOO" does not result in an error. (#5537)
Output from assert_equalfile() doesn't give a hint about what's different.
Assuming the files are text, print the line with the difference.
Add "t" action to settagstack(): truncate and add new entries. (#5405)
When 'relativenumber' is set the line just below a diff change doesn't get
updated. (#6138)
Result of synID() sometimes wrong in help files. (#5252)
Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496)
@ -263,7 +423,7 @@ When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
Patch to add new motion ]( and ]{. (Yasuhiro Matsumoto, #5320)
Or make "v" prefix work?
Better: use the "z" prefix. or ]t) and [t(.
Modeless selection doesn't work in gvim. (#4783)
Caused by patch 8.1.1534.
@ -271,21 +431,17 @@ Caused by patch 8.1.1534.
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
fit. (Kevin Lawler, #4457)
Patch to add per-tabpage and per-window previous directory: "lcd -" and "tcd
-". (Yegappan Lakshmanan, #4362)
Current position in the changelist should be local to the buffer. (#2173)
Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h
- WINVER conflict, should use 0x0600 by default?
- INT_MAX not defined: need to include <limits.h> in vim.h
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce?
Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
Patch to support "0o" for octal numbers. (Ken Takata, #5304)
Display messed up with matchparen, wrapping and scrolling. (#5638)
When getting a focus event halfway a mapping this aborts the mapping. E.g.
when "qq" is mapped and after the first "q" the mouse is moved outside of the
@ -315,21 +471,12 @@ Can be used to update highlighting. #3127 #5181
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>.
Better use ":bufgrep" ?
Errors found with random data:
heap-buffer-overflow in alist_add (#2472)
Patch to support CamelCase for spell checking: See a lower-to-upper case
change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
(Ben Tucker, 2016 Dec 2)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
Improve fallback for menu translations, to avoid having to create lots of
files that source the actual file. E.g. menu_da_de -> menu_da
Include part of #3242?
@ -345,18 +492,6 @@ Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg,
#5443)
Patch for multi-byte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior:
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
a copy-buffer, only when langmap is appropriate for the current mode. Then
check for mapping and let gotchars() work on the copy-buffer.
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing. Remarks on PR #543 (Roland Puntaier).
Also see #737: langmap not applied to replaying recording.
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
t:diffexpr_option t:diffopt_option? (#4782)
@ -386,10 +521,10 @@ Give a few examples. (#4288)
Opening a file with --remote-tab-silent that matches 'wildignore' does not
work, results in (E479: No match". (#4610)
Patch for this (Tristan Konolige, #1011, only adds the option, no implem.):
7 Add an option to add one pixel column to the character width? Lucida
Console italic is wider than the normal font ("d" overlaps with next char).
Opposite of 'linespace': 'columnspace'.
Patch for this (Tristan Konolige, #1011, only added the option, no implem.)
Bug: script written with "-W scriptout" contains Key codes, while the script
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
@ -401,9 +536,6 @@ with the first character (like what happens with a last line that doesn't
fit). Display "<<<" at the start of the first visible line (like "@@@" is
displayed in the last line). (Arseny Nasokin, #5154)
Patch for ambiguous width characters in libvterm on MS-Windows 10.
(Nobuhiro Takasaki, #4411)
Window size changes after closing a tab. (#4741)
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
@ -445,10 +577,6 @@ Should we include some part of pull request #4505, not increment changedtick
in some cases? E.g. for ":write" when the changed flag was already off, the
buffer didn't change at all.
Patch to add getreginfo() and setreg() with an option to set the unnamed
register "", So that registers can be saved and fully restored.
(Andy Massimino, 2018 Aug 24, #3370)
Line numbers in profile are off when function was defined with ":execute".
(Daniel Hahler, #4511)
@ -469,9 +597,6 @@ C syntax: {} inside () causes following {} to be highlighted as error.
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
added?
Patch to add a flatten() function. #3676. Check that the doc explains the
maxdepth argument (applies to the input "recursiveness").
Add test for urxvt mouse codes. Also test that mouse coordinates can be
negative. (see #4326)
@ -542,11 +667,6 @@ punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
Patch to add more info to OptionSet. Should mention what triggered the change
":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
#4118. Proposed implementation: 2019 Mar 27.
Updated 2019 May 25.
Using single wide base character with double wide composing character gives
drawing errors. Fill up the base character? (Dominique, #4328)
@ -573,19 +693,8 @@ Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
Add buffer argument to undotree(). (#4001)
Using uninitialized value in test_gn
Using uninitialized value in test_crypt.
memory leak in test_paste
Memory leak in test_terminal:
==23530== by 0x2640D7: alloc (misc2.c:874)
==23530== by 0x2646D6: vim_strsave (misc2.c:1315)
==23530== by 0x25841D: FullName_save (misc1.c:5443)
==23530== by 0x17CB4F: fix_fname (buffer.c:4794)
==23530== by 0x17CB9A: fname_expand (buffer.c:4838)
==23530== by 0x1759AB: buflist_new (buffer.c:1889)
==23530== by 0x35C923: term_start (terminal.c:421)
==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
Using uninitialized value in test_crypt (can't explain why).
Memory leak in test_terminal_fail
TODO: be able to run all parts of test_alot with valgrind separately
Memory leak in test_alot with pyeval() (allocating partial)
Memory leak in test_alot with expand()
@ -608,26 +717,13 @@ Neovim uses "eob:X" in 'fillchars'.
Sourceforge Vim pages still have content, redirect from empty page.
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
Use something like ":tag {kind}/{tagname}".
Not ready to include.
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
Nov 17) Asked about this, Dec 22. Christian will have a look.
Patch for larger icons in installer. (#978) Still not good.
Patch to fix that using "5gj" starting inside a closed fold does not work on
screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
Patch to implement 'diffref' option. (#3535)
Easier to use a 'diffmaster' option, is the extra complexity needed?
Not ready to include.
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
Patch #2405 does something like this, but in the wrong way.
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
When the status line uses term_gettitle(), it does not get updated when the
@ -655,7 +751,7 @@ Further xdiff changes:
Difference between two regexp engines: #3373
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
What is the practical use for this?
What is the practical use for this? Need an example.
When the last line wraps, selecting with the mouse below that line only
includes the first screen line. (2018 Aug 23, #3368)
@ -679,8 +775,6 @@ when adding a sign for every quickfix entry. (#4557)
Win32 key codes are messy. Mike Williams tried to fix that, but now old
mappings no longer work. Create a new terminal for the better solution?
Patch to "fix" 'visualbell'. Add option to set delay? (#1789)
Script generated by :mksession does not work well if there are windows with
modified buffers
change "silent only" into "silent only!"
@ -770,9 +864,6 @@ deleting autocmds, not when adding them.
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
Delete all the specific stuff for the Borland compiler? (#3374)
Patch in #3377 (Thomas Dziedzic)
With 'foldmethod' "indent" and appending an empty line, what follows isn't
included in the existing fold. Deleting the empty line and undo fixes it.
(Oleg Koshovetc, 2018 Jul 15, #3214)
@ -937,6 +1028,7 @@ The ":move" command does not honor closed folds. (Ryan Lue, #2351)
Patch to fix increment/decrement not working properly when 'virtualedit' is
set. (Hirohito Higashi, 2016 Aug 1, #923)
Was this fixed?
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
@ -1006,8 +1098,6 @@ Or is this not an actual problem?
Better TeX indent file. (Christian Brabandt, 2017 May 3)
Patch to use a separate code for BS on Windows. (Linwei, #1823)
Use gvimext.dll from the nightly build? (Issue #249)
'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
@ -1109,22 +1199,13 @@ Make a function to check for function-like type?
Screen updated delayed when using CTRL-O u in Insert mode.
(Barlik, #1191) Perhaps because status message?
Implement optional arguments for functions.
Implement named arguments for functions:
func Foo(start, count = 1 all = 1)
call Foo(12)
call Foo(12, all = 0)
call Foo(12, 15, 0)
Add a command to take a range of lines, filter them and put the output
somewhere else. :{range}copy {dest} !cmd
Patch to fix that empty first tab is not in session.
(Hirohito Higashi, 2016 Nov 25, #1282)
Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
Update Aug 2017: #1954
The TermResponse event is not triggered when a plugin has set 'eventignore' to
"all". Netrw does this. (Gary Johnson, 2017 Jan 24)
Postpone the event until 'eventignore' is reset.
@ -1200,6 +1281,8 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
available. Should be more efficient than looping over ch_read() with
ch_status() to check for more.
- If buffer contents is changed in a callback, set w_redr_status so that it
gets redrawn in redraw_after_callback(). #6120
- Add a separate timeout for opening a socket. Currently it's fixed at 50
msec, which is too small for a remote connection. (tverniquet, #2130)
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@ -1286,11 +1369,6 @@ Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
3. Doesn't work properly according to Yukihiro Nakadaira.
Also see #1635.
Patch for systemlist(), add empty item. (thinca, Sep 30, #1135)
Add an argument to choose binary or non-binary (like readfile()), when omitted
use the current behavior.
Include the test.
When 'keywordprg' starts with ":" the argument is still escaped as a shell
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
@ -1300,9 +1378,6 @@ Probably list of keystrokes, with some annotations for mode changes.
Could store in logfile to be able to analyse it with an external command.
E.g. to see when's the last time a plugin command was used.
execute() cannot be used with command completion. (Daniel Hahler, 2016 Oct 1,
#1141)
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
:map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)
@ -1315,17 +1390,11 @@ synced. (Ryan Carney, 2016 Sep 14)
Syntax highlighting for messages with RFC3339 timestamp (#946)
Did maintainer reply?
Patch to avoid problem with special characters in file name.
(Shougo, 2016 Sept 19, #1099) Not finished?
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
Also with latest version.
Cannot delete a file with square brackets with delete(). (#696)
Patch to add ":syn foldlevel" to use fold level further down the line.
(Brad King, 2016 Oct 19, update 2017 Jan 30)
Completion for input() does not expand environment variables. (chdiza, 2016
Jul 25, #948)
@ -1339,9 +1408,6 @@ the system encoding (usually utf-8).
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
Otherwise task flickers in taskbar.
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
Also for ":@.".
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
Have a way to get the call stack, in a function and from an exception.
@ -1356,8 +1422,6 @@ Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
Patch to improve map documentation. Issue #799.
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
We can use '. to go to the last change in the current buffer, but how about
the last change in any buffer? Can we use ', (, is next to .)?
@ -1414,11 +1478,6 @@ Mechelynck) Perhaps use exists("::tearoff") to check?
Use vim.vim syntax highlighting for help file examples, but without ":" in
'iskeyword' for syntax.
Patch to make "%:h:h" return "." instead of the full path.
(Coot, 2016 Jan 24, #592)
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
When command names are very long :command output is difficult to read. Use a
maximum for the column width? (#871)
Patcy by varmanishant, 2016 Jun 18, #876
@ -2013,11 +2072,6 @@ Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
BT regexp engine: After trying a \@> match and failing, submatches are not
cleared. See test64.
Patch to make "z=" work when 'spell' is off. Does this have nasty side
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
Would also need to do this for spellbadword() and spellsuggest().
https://github.com/chrisbra/vim-mq-patches/blob/master/enable_spellchecking
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the
right type.
@ -2036,9 +2090,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
maparg() does not show the <script> flag. When temporarily changing a
mapping, how to restore the script ID?
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
@ -2758,11 +2809,6 @@ argument list or opening each file in a separate tab.
Windows installer: licence text should not use indent, causes bad word wrap.
(Benjamin Fritz, 2010 Aug 16)
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim8.1*
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
@ -4491,8 +4537,6 @@ Vim script language:
8 Pass the command line arguments to Vim scripts in some way. As v:args
List? Or extra parameter to argv()?
8 Add command arguments with three dashes, passed on to Vim scripts.
9 Add optional arguments to user functions:
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
6 User functions: Functions local to buffer "b:func()"?
8 For Strings add ":let var[{expr}] = {expr}". When past the end of "var"
just ignore.
@ -4826,9 +4870,6 @@ Win32 GUI:
GUI:
8 Make inputdialog() work for Photon, Amiga.
- <C--> cannot be mapped. Should be possible to recognize this as a
normal "-" with the Ctrl modifier.
7 Implement ":popup" for other systems than Windows.
8 Implement ":tearoff" for other systems than Win32 GUI.
6 Implement ":untearoff": hide a torn-off menu.

View File

@ -1,4 +1,4 @@
*usr_03.txt* For Vim version 8.2. Last change: 2019 Nov 21
*usr_03.txt* For Vim version 8.2. Last change: 2020 Feb 29
VIM USER MANUAL - by Bram Moolenaar
@ -346,7 +346,8 @@ to find the first #include after the cursor: >
And then type "n" several times. You will move to each #include in the text.
You can also use a count if you know which match you want. Thus "3n" finds
the third match. Using a count with "/" doesn't work.
the third match. You can also use a count with "/": "4/the" goes to the
fourth match of "the".
The "?" command works like "/" but searches backwards: >

View File

@ -1,4 +1,4 @@
*usr_07.txt* For Vim version 8.2. Last change: 2017 Sep 18
*usr_07.txt* For Vim version 8.2. Last change: 2020 Mar 23
VIM USER MANUAL - by Bram Moolenaar
@ -227,8 +227,8 @@ the file.
FILE MARKS
In chapter 4 was explained how you can place a mark in a file with "mx" and
jump to that position with "`x". That works within one file. If you edit
In section |03.10| was explained how you can place a mark in a file with "mx"
and jump to that position with "`x". That works within one file. If you edit
another file and place marks there, these are specific for that file. Thus
each file has its own set of marks, they are local to the file.
So far we were using marks with a lowercase letter. There are also marks

View File

@ -402,7 +402,7 @@ Another way to start in diff mode can be done from inside Vim. Edit the
"main.c" file, then make a split and show the differences: >
:edit main.c
:vertical diffsplit main.c~
:vertical diffsplit main.c~
The ":vertical" command is used to make the window split vertically. If you
omit this, you will get a horizontal split.

View File

@ -687,7 +687,7 @@ with any motion command, with text objects and in Visual mode.
lowercase. This can be shortened to "guu". "gUgU" is shortened to "gUU" and
"g~g~" to "g~~". Example: >
g~~
g~~
< Some GIRLS have Fun ----> sOME girls HAVE fUN ~
==============================================================================

View File

@ -211,7 +211,7 @@ will automatically delete it:
- The flag that the file was modified is not set.
- The process is not running.
You can programatically deal with this situation with the |FileChangedShell|
You can programmatically deal with this situation with the |FileChangedShell|
autocommand event.

View File

@ -1,4 +1,4 @@
*usr_22.txt* For Vim version 8.2. Last change: 2019 Dec 07
*usr_22.txt* For Vim version 8.2. Last change: 2020 Mar 28
VIM USER MANUAL - by Bram Moolenaar
@ -84,7 +84,7 @@ browser. This is what you get: >
a................Hiding Files or Directories................|netrw-a|
mb...............Bookmarking a Directory....................|netrw-mb|
gb...............Changing to a Bookmarked Directory.........|netrw-gb|
c................Make Browsing Directory The Current Dir....|netrw-c|
cd...............Make Browsing Directory The Current Dir....|netrw-c|
d................Make A New Directory.......................|netrw-d|
D................Deleting Files or Directories..............|netrw-D|
<c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
@ -121,7 +121,7 @@ The following normal-mode commands may be used to control the browser display:
As a sampling of extra normal-mode commands:
c Change Vim's notion of the current directory to be
cd Change Vim's notion of the current directory to be
the same as the browser directory. (see
|g:netrw_keepdir| to control this, too)
R Rename the file or directory under the cursor; a

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.2. Last change: 2019 Dec 17
*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 13
VIM USER MANUAL - by Bram Moolenaar
@ -41,6 +41,12 @@ prefer. And you can use any colon command in it (commands that start with a
specific file type. A complicated macro can be defined by a separate Vim
script file. You can think of other uses yourself.
If you are familiar with Python, you can find a comparison between
Python and Vim script here, with pointers to other documents:
https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
And if you are familiar with Javascript:
https://w0rp.com/blog/post/vim-script-for-the-javascripter/
Let's start with a simple example: >
:let i = 1
@ -93,6 +99,8 @@ and the value of the variable i. Since i is one, this will print:
Then there is the ":let i += 1" command. This does the same thing as
":let i = i + 1". This adds one to the variable i and assigns the new value
to the same variable.
Note: this is how it works in legacy Vim script, which is what we discuss in
this file. In Vim9 script it's a bit different, see |usr_46.txt|.
The example was given to explain the commands, but would you really want to
make such a loop, it can be written much more compact: >
@ -631,6 +639,7 @@ List manipulation: *list-functions*
deepcopy() make a full copy of a List
filter() remove selected items from a List
map() change each List item
reduce() reduce a List to a value
sort() sort a List
reverse() reverse the order of a List
uniq() remove copies of repeated adjacent items
@ -644,6 +653,7 @@ List manipulation: *list-functions*
min() minimum value in a List
count() count number of times a value appears in a List
repeat() repeat a List multiple times
flatten() flatten a List
Dictionary manipulation: *dict-functions*
get() get an entry without an error for a wrong key
@ -687,6 +697,7 @@ Floating point computation: *float-functions*
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
isinf() check for infinity
isnan() check for not a number
Other computation: *bitwise-function*
@ -695,6 +706,8 @@ Other computation: *bitwise-function*
or() bitwise OR
xor() bitwise XOR
sha256() SHA-256 hash
rand() get a pseudo-random number
srand() initialize seed used by rand()
Variables: *var-functions*
type() type of a variable
@ -724,6 +737,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
getcurpos() get position of the cursor
getpos() get position of cursor, mark, etc.
setpos() set position of cursor, mark, etc.
getmarklist() list of global/local marks
byte2line() get line number at a specific byte count
line2byte() byte count at a specific line
diff_filler() get the number of filler lines above a line
@ -743,6 +757,7 @@ Working with text in the current buffer: *text-functions*
prevnonblank() find previous non-blank line
search() find a match for a pattern
searchpos() find a match for a pattern
searchcount() get number of matches before/after the cursor
searchpair() find the other end of a start/skip/end
searchpairpos() find the other end of a start/skip/end
searchdecl() search for the declaration of a name
@ -790,6 +805,7 @@ System functions and manipulation of files:
hostname() name of the system
readfile() read a file into a List of lines
readdir() get a List of file names in a directory
readdirex() get a List of file information in a directory
writefile() write a List of lines or Blob into a file
Date and Time: *date-functions* *time-functions*
@ -826,9 +842,11 @@ Buffers, windows and the argument list:
listener_remove() remove a listener callback
win_findbuf() find windows containing a buffer
win_getid() get window ID of a window
win_gettype() get type of window
win_gotoid() go to window with ID
win_id2tabwin() get tab and window nr from window ID
win_id2win() get window nr from window ID
win_splitmove() move window to a split of another window
getbufinfo() get a list with buffer information
gettabinfo() get a list with tab page information
getwininfo() get a list with window information
@ -905,6 +923,7 @@ Interactive: *interactive-functions*
getchar() get a character from the user
getcharmod() get modifiers for the last typed character
getmousepos() get last known mouse position
echoraw() output characters as-is
feedkeys() put characters in the typeahead queue
input() get a line from the user
inputlist() let the user pick an entry from a list
@ -942,10 +961,12 @@ Window size and position: *window-size-functions*
winsaveview() get view of current window
winrestview() restore saved view of current window
Mappings: *mapping-functions*
Mappings and Menus: *mapping-functions*
hasmapto() check if a mapping exists
mapcheck() check if a matching mapping exists
maparg() get rhs of a mapping
mapset() restore a mapping
menu_info() get information about a menu item
wildmenumode() check if the wildmode is active
Testing: *test-functions*
@ -963,14 +984,15 @@ Testing: *test-functions*
assert_report() report a test failure
test_alloc_fail() make memory allocation fail
test_autochdir() enable 'autochdir' during startup
test_clear_search_pat() clears the last used search pattern
test_override() test with Vim internal overrides
test_garbagecollect_now() free memory right now
test_garbagecollect_soon() set a flag to free memory soon
test_getvalue() get value of an internal variable
test_ignore_error() ignore a specific error message
test_null_blob() return a null Blob
test_null_channel() return a null Channel
test_null_dict() return a null Dict
test_null_function() return a null Funcref
test_null_job() return a null Job
test_null_list() return a null List
test_null_partial() return a null Partial function
@ -980,6 +1002,10 @@ Testing: *test-functions*
test_feedinput() add key sequence to input buffer
test_option_not_set() reset flag indicating option was set
test_scrollbar() simulate scrollbar movement in the GUI
test_refcount() return an expression's reference count
test_srand_seed() set the seed value for srand()
test_unknown() return a value with unknown type
test_void() return a value with void type
Inter-process communication: *channel-functions*
ch_canread() check if there is something to read
@ -991,8 +1017,8 @@ Inter-process communication: *channel-functions*
ch_readraw() read a raw message from a channel
ch_sendexpr() send a JSON message over a channel
ch_sendraw() send a raw message over a channel
ch_evalexpr() evaluates an expression over channel
ch_evalraw() evaluates a raw string over channel
ch_evalexpr() evaluate an expression over channel
ch_evalraw() evaluate a raw string over channel
ch_status() get status of a channel
ch_getbufnr() get the buffer number of a channel
ch_getjob() get the job associated with a channel
@ -1005,7 +1031,7 @@ Inter-process communication: *channel-functions*
js_encode() encode an expression to a JSON string
js_decode() decode a JSON string to Vim types
Jobs: *job-functions*
Jobs: *job-functions*
job_start() start a job
job_stop() stop a job
job_status() get the status of a job
@ -1048,6 +1074,7 @@ Terminal window: *terminal-functions*
term_setkill() set signal to stop job in a terminal
term_setrestore() set command to restore a terminal
term_setsize() set the size of a terminal
term_setapi() set terminal JSON API function name prefix
Popup window: *popup-window-functions*
popup_create() create popup centered in the screen
@ -1066,9 +1093,13 @@ Popup window: *popup-window-functions*
popup_close() close one popup
popup_clear() close all popups
popup_filter_menu() select from a list of items
popup_filter_yesno() blocks until 'y' or 'n' is pressed
popup_filter_yesno() block until 'y' or 'n' is pressed
popup_getoptions() get current options for a popup
popup_getpos() get actual position and size of a popup
popup_findinfo() get window ID for popup info window
popup_findpreview() get window ID for popup preview window
popup_list() get list of all popup window IDs
popup_locate() get popup window ID from its screen position
Timers: *timer-functions*
timer_start() create a timer
@ -1088,8 +1119,27 @@ Prompt Buffer: *promptbuffer-functions*
prompt_setinterrupt() set interrupt callback for a buffer
prompt_setprompt() set the prompt text for a buffer
Text Properties: *text-property-functions*
prop_add() attach a property at a position
prop_clear() remove all properties from a line or lines
prop_find() search for a property
prop_list() return a list of all properties in a line
prop_remove() remove a property from a line
prop_type_add() add/define a property type
prop_type_change() change properties of a type
prop_type_delete() remove a text property type
prop_type_get() return the properties of a type
prop_type_list() return a list of all property types
Sound: *sound-functions*
sound_clear() stop playing all sounds
sound_playevent() play an event's sound
sound_playfile() play a sound file
sound_stop() stop playing a sound
Various: *various-functions*
mode() get current editing mode
state() get current busy state
visualmode() last visual mode used
exists() check if a variable, function, etc. exists
has() check if a feature is supported in Vim
@ -1098,6 +1148,10 @@ Various: *various-functions*
did_filetype() check if a FileType autocommand was used
eventhandler() check if invoked by an event handler
getpid() get process ID of Vim
getimstatus() check if IME status is active
interrupt() interrupt script execution
windowsversion() get MS-Windows version
terminalprops() properties of the terminal
libcall() call a function in an external library
libcallnr() idem, returning a number
@ -1106,6 +1160,7 @@ Various: *various-functions*
undotree() return the state of the undo tree
getreg() get contents of a register
getreginfo() get information about a register
getregtype() get type of a register
setreg() set contents and type of a register
reg_executing() return the name of the register being executed
@ -1115,12 +1170,14 @@ Various: *various-functions*
wordcount() get byte/word/char count of buffer
luaeval() evaluate Lua expression
luaeval() evaluate |Lua| expression
mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
pyxeval() evaluate |python_x| expression
rubyeval() evaluate |Ruby| expression
debugbreak() interrupt a program being debugged
==============================================================================

View File

@ -1,8 +1,8 @@
*usr_45.txt* For Vim version 8.2. Last change: 2008 Nov 15
*usr_45.txt* For Vim version 8.2. Last change: 2020 Jun 11
VIM USER MANUAL - by Bram Moolenaar
Select your language
Select your language (locale)
The messages in Vim can be given in several languages. This chapter explains
@ -15,7 +15,7 @@ in various languages is explained.
|45.4| Editing files with a different encoding
|45.5| Entering language text
Next chapter: |usr_90.txt| Installing Vim
Next chapter: |usr_46.txt| Write plugins using Vim9 script
Previous chapter: |usr_44.txt| Your own syntax highlighted
Table of contents: |usr_toc.txt|
@ -408,6 +408,6 @@ Don't type the spaces. See |i_CTRL-V_digit| for the details.
==============================================================================
Next chapter: |usr_90.txt| Installing Vim
Next chapter: |usr_46.txt| Write plugins using Vim9 script
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

192
runtime/doc/usr_46.txt Normal file
View File

@ -0,0 +1,192 @@
*usr_46.txt* For Vim version 8.2. Last change: 2020 Jun 14
VIM USER MANUAL - by Bram Moolenaar
Write plugins using Vim9 script
The Vim9 script language is used for writing plugins, especially larger ones
that use multiple files. This chapter explains how to split up a plugin into
modules, import and export items and keep the rest local.
|46.1| Introduction
|46.2| Variable declarations
|46.3| Functions and types
|46.?| Using a Vim9 script from legacy script
Next chapter: |usr_90.txt| Installing Vim
Previous chapter: |usr_45.txt| Select your language (locale)
Table of contents: |usr_toc.txt|
==============================================================================
*46.1* Introduction *vim9-script-intro*
Vim9 script was designed to make it easier to write large Vim scripts. It
looks more like other script languages, especially Typescript. Also,
functions are compiled into instructions that can be executed quickly. This
makes Vim9 script a lot faster, up to a 100 times.
The basic idea is that a script file has items that are private, only used
inside the script file, and items that are exported, used outside of the
script file. The exported items can then be used by scripts that import them.
That makes very clear what is defined where.
Let's start with an example, a script that exports one function and has one
private function: >
vim9script " This indicates a Vim9 script file,
export def GetMessage(): string
let result = ''
...
result = GetPart(count)
...
return result
enddef
def GetPart(nr: number): string
if nr == 4
return 'yes'
else
return 'no'
endif
enddef
The `vim9script` command must be the very first command in the file. Without
it Vim will assume legacy script syntax.
The `export def GetMessage(): string` line starts with `export`, meaning that
this function can be imported and called by other scripts. The line
`def GetPart(...` does not start with `export`, this is a script-local
function, it can only be used inside this script file.
In the `export def GetMessage(): string` line you will notice the colon and
the return type. Vim9 functions, defined with `def`, require specifying the
type of arguments and the return type. That way Vim can compile the code
efficiently. The GetPart function defines an argument "nr" of type "number".
Notice that the assignment `result = GetPart(count)` does not use the `let`
command. That is explained in the next section.
==============================================================================
*46.2* Variable declarations *vim9-declarations*
In Vim9 script variables are declared once with a `:let` or `:const` command.
Assigning a value is done without `:let` and it is not possible to `:unlet`
the variable.
In most cases you will want to declare the variable and initialize it at the
same time: >
let myText = 'some text'
...
myText = 'other text'
The type of the variable will be inferred from the expression. In this case
it is a string. If you initialize with a number, then the type is number: >
let myNumber = 1234
...
myNumber = 0
If you try to assign a string to this variable, you will get an error: >
let myNumber = 'this fails!'
In the rare case you want a variable that can take values of any type, you
have to specify the type: >
let myVar: any = 1234
myVar = 'text also works'
You can also declare a variable without assigning a value. In that case Vim
will initialize it to zero or empty: >
let word: string
if condition
word = 'yes'
else
word = 'no'
endif
Although it's shorter to do: >
let word = condition ? 'yes' : 'no'
==============================================================================
*46.3* Functions and types
Legacy Vim script does have type checking, but this happens at runtime, when
the code is executed. And it's permissive, often a computation gives an
unexpected value instead of reporting an error. Thus you can define a
function and think it's fine, but see a problem only later when it is called: >
let s:collected = ''
func ExtendAndReturn(add)
let s:collected += a:add
return s:collected
endfunc
Can you spot the error? Try this: >
echo ExtendAndReturn('text')
And you'll see zero. Why? Because in legacy Vim script "+=" will convert the
arguments to numbers, and any string without a number results in zero!
With `:def` the type checking happens when compiling the function. For that
you need to specify the argument types and the return type. Also notice that
the argument is used without the "a:" prefix: >
let s:collected = ''
def ExtendAndReturn(add: string): string
s:collected += add
return s:collected
enddef
defcompile
Here we use `:defcompile` to do the compilation right away, without it the
compilation would happen when the function is called. Vim will tell you what
you did wrong: >
E1013: type mismatch, expected number but got string
Vim9 script is strict, it uses the "+" operator only for numbers and floats.
For string concatenation ".." must be used. This avoids mistakes and avoids
the automatic conversion that gave a surprising result above. So you change
the first line of the function to: >
s:collected ..= add
And now it works.
If the function does not return anything, just leave out the return type: >
def ReportResult(result: string)
echo 'The result is: ' .. result
enddef
This is also checked, if you try to return a value you'll get an error.
In case you don't care about types or have a function that does work with
multiple types, you can use the "any" type: >
def Store(key: string, value: any)
resultDict[key] = value
enddef
==============================================================================
*46.?* Using a Vim9 script from legacy script *source-vim9-script*
In some cases you have a legacy Vim script where you want to use items from a
Vim9 script. For example in your .vimrc you want to initialize a plugin. The
best way to do this is to use `:import`. For example: >
import Init as NiceInit from 'myNicePlugin.vim'
call NiceInit('today')
This finds the exported function "Init" in the Vim9 script file and makes it
available as script-local item "NiceInit". `:import` always uses the script
namespace, even when "s:" is not given. If "myNicePlugin.vim" was already
sourced it is not sourced again.
Besides avoiding putting any items in the global namespace (where name clashes
can cause unexpected errors), this also means the script is sourced only once,
no matter how many times items from it are imported.
In some cases, e.g. for testing, you may just want to source the Vim9 script.
That is OK, but then only global items will be available. The Vim9 script
will have to make sure to use a unique name for these global items. Example: >
source ~/.vim/extra/myNicePlugin.vim
call g:NicePluginTest()
==============================================================================
Next chapter: |usr_90.txt| Installing Vim
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*usr_90.txt* For Vim version 8.2. Last change: 2008 Sep 10
*usr_90.txt* For Vim version 8.2. Last change: 2020 Jun 11
VIM USER MANUAL - by Bram Moolenaar
@ -15,7 +15,7 @@ upgrading to a new version is done.
|90.4| Common installation issues
|90.5| Uninstalling Vim
Previous chapter: |usr_45.txt| Select your language
Previous chapter: |usr_46.txt| Write plugins using Vim9 script
Table of contents: |usr_toc.txt|
==============================================================================

View File

@ -1,4 +1,4 @@
*usr_toc.txt* For Vim version 8.2. Last change: 2019 May 24
*usr_toc.txt* For Vim version 8.2. Last change: 2020 Jun 15
VIM USER MANUAL - by Bram Moolenaar
@ -42,7 +42,8 @@ Tuning Vim
|usr_42.txt| Add new menus
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language
|usr_45.txt| Select your language (locale)
|usr_46.txt| Write plugins using Vim9 script
Making Vim Run
|usr_90.txt| Installing Vim
@ -339,6 +340,12 @@ Make Vim work as you like it.
|45.4| Editing files with a different encoding
|45.5| Entering language text
|usr_46.txt| Write plugins using Vim9 script
|46.1| Introduction
|46.2| Variable declarations
|46.3| Functions and types
|46.?| Using a Vim9 script from legacy script
==============================================================================
Making Vim Run ~

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 8.2. Last change: 2019 Dec 07
*various.txt* For Vim version 8.2. Last change: 2020 May 30
VIM REFERENCE MANUAL by Bram Moolenaar
@ -251,14 +251,20 @@ g8 Print the hex values of the bytes used in the
it to append a Vim command. See |:bar|.
If {cmd} contains "%" it is expanded to the current
file name. Special characters are not escaped, use
quotes to avoid their special meaning: >
file name, "#" is expanded to the alternate file name.
Special characters in the file name are not escaped,
use quotes to avoid their special meaning: >
:!ls "%"
< If the file name contains a "$" single quotes might
work better (but a single quote causes trouble): >
< If the file name contains a "$" then single quotes
might work better, but this only works if the file
name does not contain a single quote: >
:!ls '%'
< This should always work, but it's more typing: >
:exe "!ls " . shellescape(expand("%"))
< To get a literal "%" or "#" prepend it with a
backslash. For example, to list all files starting
with "%": >
:!ls \%*
<
A newline character ends {cmd}, what follows is
interpreted as a following ":" command. However, if
@ -317,6 +323,7 @@ g8 Print the hex values of the bytes used in the
*+acl* |ACL| support included
*+ARP* Amiga only: ARP support included
B *+arabic* |Arabic| language support
B *+autochdir* support 'autochdir' option
T *+autocmd* |:autocmd|, automatic commands
H *+autoservername* Automatically enable |clientserver|
m *+balloon_eval* |balloon-eval| support in the GUI. Included when
@ -374,6 +381,7 @@ m *+hangul_input* Hangul input support |hangul|
*+iconv* Compiled with the |iconv()| function
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
T *+insert_expand* |insert_expand| Insert mode completion
m *+ipv6* Support for IPv6 networking |channel|
m *+job* starting and stopping jobs |job|
S *+jumplist* |jumplist|
B *+keymap* |'keymap'|
@ -407,7 +415,9 @@ N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
m *+netbeans_intg* |netbeans|
*+num64* 64-bit Number support |Number|
*+num64* 64-bit Number support |Number|
Always enabled since 8.2.0271, use v:numbersize to
check the actual size of a Number.
m *+ole* Win32 GUI only: |ole-interface|
N *+packages* Loading |packages|
N *+path_extra* Up/downwards search in 'path' and 'tags'
@ -460,7 +470,7 @@ B *+vartabs* Variable-width tabstops. |'vartabstop'|
N *+viminfo* |'viminfo'|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
since 8.0.1118.
N *+virtualedit* |'virtualedit'|
N *+virtualedit* |'virtualedit'| Always enabled since 8.1.826.
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
T *+visualextra* extra Visual mode commands |blockwise-operators|
T *+vreplace* |gR| and |gr|
@ -539,7 +549,7 @@ N *+X11* Unix only: can restore window title |X11|
locked or the variable type is changed, then further
command output messages will cause errors.
To get the output of one command the |execute()|
function can be used.
function can be used instead of redirection.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used.

View File

@ -1,4 +1,4 @@
*version8.txt* For Vim version 8.2. Last change: 2020 Feb 04
*version8.txt* For Vim version 8.2. Last change: 2020 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -30777,7 +30777,7 @@ Solution: Use a double quoted string. Add a test.
Files: src/ex_docmd.c, src/testdir/test_mksession.vim
Patch 8.1.0804
Problem: Crash when setting v:errmsg to empty list. (Jaon Franklin)
Problem: Crash when setting v:errmsg to empty list. (Jason Franklin)
Solution: Separate getting value and assigning result.
Files: src/eval.c, src/testdir/test_eval_stuff.vim
@ -33684,8 +33684,8 @@ Solution: Also change the textprop implementation.
Files: src/textprop.c
Patch 8.1.1279
Problem: Cannot set 'spellang' to "sr@latin". (Bojan Stipic)
Solution: Allow using '@' in 'spellang'. (closes #4342)
Problem: Cannot set 'spelllang' to "sr@latin". (Bojan Stipic)
Solution: Allow using '@' in 'spelllang'. (closes #4342)
Files: src/option.c, src/testdir/gen_opt_test.vim
Patch 8.1.1280

View File

@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.2. Last change: 2019 Dec 17
*vi_diff.txt* For Vim version 8.2. Last change: 2020 Jun 07
VIM REFERENCE MANUAL by Bram Moolenaar
@ -135,7 +135,6 @@ Support for different systems.
- Amiga (500, 1000, 1200, 2000, 3000, 4000, ...).
- MS-Windows
- VMS
- BeOS
- Macintosh
- IBM OS/390
Note that on some systems features need to be disabled to reduce
@ -162,7 +161,7 @@ Graphical User Interface (GUI). |gui|
define your own menus. Better support for CTRL/SHIFT/ALT keys in
combination with special keys and mouse. Supported for various
platforms, such as X11 (with Motif and Athena interfaces), GTK, Win32
(Windows 95 and later), BeOS, Amiga and Macintosh.
(Windows XP and later), Amiga and Macintosh.
Multiple windows and buffers. |windows.txt|
Vim can split the screen into several windows, each editing a

544
runtime/doc/vim-tr.1 Normal file
View File

@ -0,0 +1,544 @@
.TH VIM 1 "11 Nisan 2006"
.SH AD
vim \- Vi IMproved, bir programc<6D>n<EFBFBD>n metin d<>zenleyicisi
.SH <EFBFBD>ZET
.br
.B vim
[se<73>enekler] [dosya ..]
.br
.B vim
[se<73>enekler] \-
.br
.B vim
[se<73>enekler] \-t etiket
.br
.B vim
[se<73>enekler] \-q [hatadosyas<61>]
.PP
.br
.B ex
.br
.B view
.br
.B gvim
.B gview
.B evim
.B eview
.br
.B rvim
.B rview
.B rgvim
.B rgview
.SH TANIM
.B Vim,
Vi ile yukar<61>ya do<64>ru uyumlu olan bir metin d<>zenleyicisidir.
Her t<>r d<>z metni d<>zenlemede kullan<61>labilir.
<EFBFBD>zellikle programlar<61> d<>zenlemede yararl<72>d<EFBFBD>r.
.PP
Vi <20>zerine yap<61>lm<6C><6D> bir<69>ok geli<6C>tirme ve iyile<6C>tirmeyi i<>erir:
<EFBFBD>ok d<>zeyli geri alma, <20>oklu pencereler ve arabellekler, s<>zdizim vurgulama,
komut sat<61>r<EFBFBD> d<>zenleme, dosya ad<61> tamamlama, <20>evrimi<6D>i yard<72>m, g<>rsel se<73>im vb.
.B Vim
ve Vi aras<61>ndaki de<64>i<EFBFBD>ikliklerin bir <20>zeti i<>in ":help vi_diff.txt"
dosyas<EFBFBD>na bir g<>z at<61>n.
.PP
.B Vim'i
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>rken gerekli olan yard<72>m<EFBFBD>n <20>o<EFBFBD>u <20>evrimi<6D>i yard<72>m sisteminden elde
edilebilir. Bunun i<>in ":help" komutunu kullanabilirsiniz.
A<EFBFBD>a<EFBFBD><EFBFBD>da <20>EVR<56>M<EFBFBD><4D><EFBFBD> YARDIM b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
.PP
Genelde
.B Vim
tek bir dosyay<61> d<>zenlemek i<>in <20>u komutla <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r:
.PP
vim dosya
.PP
Biraz daha a<>acak olursak:
.PP
vim [se<73>enekler] [dosyalistesi]
.PP
E<EFBFBD>er dosya listesi sa<73>lanmam<61><6D>sa, d<>zenleyici bo<62> bir arabellek a<>ar.
Bunun d<><64><EFBFBD>nda a<>a<EFBFBD><61>daki d<>rt se<73>enekten bir tanesi de bir veya birden <20>ok
dosyay<EFBFBD> d<>zenlemek i<>in kullan<61>labilir.
.TP 12
dosya ..
Dosya adlar<61>n<EFBFBD>n bir listesi.
Bunlardan ilki ekrana getirilip arabelle<6C>e y<>klenir.
<EFBFBD>mle<EFBFBD> arabelle<6C>in ilk sat<61>r<EFBFBD>nda konumland<6E>r<EFBFBD>l<EFBFBD>r.
Di<EFBFBD>er dosyalara ":next" komutu ile ge<67>ebilirsiniz.
Ad<EFBFBD> tire ile ba<62>layan bir dosyay<61> d<>zenlemek i<>in dosya listesinin ba<62><61>na
"\-\-" koyun.
.TP
\-
D<EFBFBD>zenlenecek dosya stdin'den okunur. Komutlar bir tty olmas<61> gereken
stderr'den okunur.
.TP
\-t {etiket}
D<EFBFBD>zenlenecek dosya ve bu dosyan<61>n ba<62>lang<6E><67> imle<6C> konumu bir "etiket"e
dayan<EFBFBD>r, bir t<>r b<>rakt<6B><74><EFBFBD>n<EFBFBD>z konumu belirten bir ayra<72> gibi.
Etiket dosyas<61>nda {etiket} aran<61>r, ili<6C>kin dosya <20>u anki dosya olur ve
ili<EFBFBD>kin komut <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
Bu genelde C programlar<61> i<>in kullan<61>l<EFBFBD>r, {etiket} bu durumda bir i<>lev
olabilir.
Bunun sonucunda bu i<>levi i<>eren dosya o anki dosya olur ve imle<6C> bu
i<EFBFBD>levin ba<62>lang<6E>c<EFBFBD>na konumland<6E>r<EFBFBD>l<EFBFBD>r.
Ek bilgi i<>in: ":help tag\-commands".
.TP
\-q [hatadosyas<61>]
H<EFBFBD>zl<EFBFBD> d<>zelt kipinde ba<62>lat
[hatadosyas<61>] okunur ve ilk hata g<>r<EFBFBD>nt<6E>lenir.
E<EFBFBD>er [hatadosyas<61>] sa<73>lanmazsa, dosya ad<61> 'errorfile' se<73>ene<6E>inden al<61>n<EFBFBD>r
(<28>ntan<61>ml<6D> olarak Amiga i<>in "AztecC.Err", di<64>er sistemlerde "errors.err").
Sonraki hatalara ":cn" komutu ile ge<67>ilebilir.
Ek bilgi i<>in: ":help quickfix".
.PP
.B Vim
girilen komutun ad<61>na g<>re de<64>i<EFBFBD>ik bi<62>imde davran<61>r (<28>al<61><6C>t<EFBFBD>r<EFBFBD>labilir h<>l<EFBFBD>
ayn<EFBFBD> dosya olarak kalabilir).
.TP 10
vim
"Normal" kip, standart <20>al<61><6C>ma bi<62>imi.
.TP
ex
Ex kipinde ba<62>lat.
"\-e" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
Normal kipe ":vi" komutu ile ge<67>ilebilir.
.TP
view
Saltokunur kipte ba<62>lat. Bu kipte dosya yaz<61>m<EFBFBD>na izin verilmez.
"\-R" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.TP
gvim gview
Grafik arabirim s<>r<EFBFBD>m<EFBFBD>.
Yeni bir pencere a<>ar.
"\-g" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.TP
evim eview
Kolay kipte ba<62>lat<61>lan grafik arabirim s<>r<EFBFBD>m<EFBFBD>.
Yeni bir pencere a<>ar.
"\-y" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.TP
rvim rview rgvim rgview
Yukar<EFBFBD>daki ile ayn<79>, ancak s<>n<EFBFBD>rlamalar i<>erir. Kabuk komutlar<61>
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>lamaz veya
.B Vim
ask<EFBFBD>ya al<61>namaz.
"\-Z" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.SH SE<EFBFBD>ENEKLER
Se<EFBFBD>enekler bir s<>ra g<>zetmeksizin dosya adlar<61>ndan <20>nce veya sonra
kullan<EFBFBD>labilir.
Herhangi bir de<64>i<EFBFBD>ken i<>ermeyen se<73>enekler bir tirenin ard<72>nda s<>ralanabilir.
.TP 12
+[num]
<EFBFBD>lk dosya i<>in imle<6C> "num" sat<61>r<EFBFBD>nda konumland<6E>r<EFBFBD>lacakt<6B>r.
E<EFBFBD>er "num" eksikse imle<6C> en son sat<61>rda ba<62>lar.
.TP
+/{dizge}
<EFBFBD>lk dosya i<>in imle<6C> {dizgi}'nin ilk e<>le<6C>mesinin oldu<64>u sat<61>rda
konumland<EFBFBD>r<EFBFBD>lacakt<EFBFBD>r.
Kullan<EFBFBD>labilir arama dizgileri i<>in ":help search\-pattern" yaz<61>n.
.TP
+{komut}
.TP
\-c {komut}
<EFBFBD>lk dosya okunduktan sonra {komut} <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
{komut} bir Ex komutu olarak i<>letilir.
E<EFBFBD>er {komut} bo<62>luk i<>eriyorsa <20>ift t<>rnak i<>erisine al<61>nmal<61>d<EFBFBD>r (bu
kullan<EFBFBD>lan kabu<62>a ba<62>l<EFBFBD>d<EFBFBD>r).
<EFBFBD>rnek: Vim "+set si" main.c
.br
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
.TP
\-S {dosya}
<EFBFBD>lk dosya okunduktan sonra {dosya} kaynak al<61>n<EFBFBD>r.
\-c "source {dosya}" bu komutun e<>de<64>eridir.
{dosya}, '\-' ile ba<62>layamaz.
E<EFBFBD>er {dosya} sa<73>lanmazsa "Session.vim" kullan<61>l<EFBFBD>r (yaln<6C>zca \-S son
de<EFBFBD>i<EFBFBD>ken olarak kullan<61>ld<6C><64><EFBFBD>nda i<>e yarar).
.TP
\-\-cmd {komut}
"\-c" komutu gibi, ancak komut herhangi bir vimrc dosyas<61>n<EFBFBD> i<>letmeden
<EFBFBD>nce <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
"\-c" komutundan ba<62><61>ms<6D>z olarak bu komutlardan 10 taneye kadar
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>rabilirsiniz.
.TP
\-A
E<EFBFBD>er
.B Vim
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve Arap<61>a klavye dizilimini kullanabilmesi i<>in
ARAP<EFBFBD>A deste<74>i ile derlenmi<6D>e bu se<73>enek
.B Vim'i
Arap<EFBFBD>a kipinde ba<62>lat<61>r ('arabic' se<73>ene<6E>i a<><61>l<EFBFBD>r). Aksi durumda
.B Vim
hata verip <20><>kar.
.TP
\-b
<EFBFBD>kili kip.
Bir <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri veya ikili dosyay<61> d<>zenlemeye olanacak sa<73>layacak
birka<EFBFBD> se<73>enek ayarlan<61>r.
.TP
\-C
Uyumlu kip. 'compatible' se<73>ene<6E>ini ayarlar.
Bu kipte
.B Vim
bir .vimrc dosyas<61> var olsa bile genelde Vi gibi davran<61>r.
.TP
\-d
Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>rma kipinde ba<62>lat.
Bir, iki, <20><> veya d<>rt adet dosya ad<61> de<64>i<EFBFBD>keni olmal<61>d<EFBFBD>r.
.B Vim
b<EFBFBD>t<EFBFBD>n dosyalar<61> yan yana a<>ar ve aralar<61>ndaki de<64>i<EFBFBD>iklikleri g<>sterir.
vimdiff(1) gibi <20>al<61><6C><EFBFBD>r.
.TP
\-d {ayg<79>t}
{ayg<79>t}'<27> bir u<>birim olarak kullanmak i<>in a<>ar.
Yaln<EFBFBD>zca Amiga'da <20>al<61><6C><EFBFBD>r.
<EFBFBD>rnek:
"\-d con:20/30/600/150".
.TP
\-D
Hata ay<61>klama kipi. Bir beti<74>in ilk komutunu <20>al<61><6C>t<EFBFBD>r<EFBFBD>rken hata ay<61>klama
kipine ge<67>er.
.TP
\-e
.B Vim'i
Ex kipinde ba<62>lat<61>r, "ex" <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri ile ayn<79> i<>levi g<>r<EFBFBD>r.
.TP
\-E
.B Vim'i
geli<EFBFBD>tirilmi<EFBFBD> Ex kipinde ba<62>lat<61>r, "exim" <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri ile ayn<79>
i<EFBFBD>levi g<>r<EFBFBD>r.
.TP
\-f
<EFBFBD>nplan. Grafik arabirim s<>r<EFBFBD>m<EFBFBD> i<>in
.B Vim
ba<EFBFBD>lad<EFBFBD><EFBFBD><EFBFBD> kabuktan ayr<79>lmayacak ve kendisini <20>atallamayacakt<6B>r.
Amiga'da,
.B Vim
yeni bir pencere a<>mak i<>in yeniden ba<62>lat<61>lmaz.
Bu se<73>enek
.B Vim
d<EFBFBD>zenleme oturumunun bitmesini bekleyecek bir program taraf<61>ndan
ba<EFBFBD>lat<EFBFBD>ld<EFBFBD><EFBFBD><EFBFBD>nda kullan<61>lmal<61>d<EFBFBD>r (<28>rn. mail).
Amiga'da ":sh" ve ":!" komutlar<61> <20>al<61><6C>mayacakt<6B>r.
.TP
\-\-nofork
<EFBFBD>nplan. Grafik arabirim s<>r<EFBFBD>m<EFBFBD> i<>in
.B Vim
ba<EFBFBD>lad<EFBFBD><EFBFBD><EFBFBD> kabuktan ayr<79>lmayacak ve kendisini <20>atallamayacakt<6B>r.
.TP
\-F
E<EFBFBD>er
.B Vim
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve Fars<72>a klavye dizilimini kullanabilmesi i<>in
FKMAP deste<74>i ile derlenmi<6D>se, bu se<73>enek
.B Vim'i
Fars<EFBFBD>a kipinde ba<62>lat<61>r ('fkmap' ve 'rightleft' se<73>enekleri a<><61>l<EFBFBD>r).
Aksi durumda
.B Vim
hata verip <20><>kar.
.TP
\-g
E<EFBFBD>er
.B Vim
grafik arabirim deste<74>i ile derlenmi<6D>se bu se<73>enek grafik arabirimi <20>al<61><6C>t<EFBFBD>r<EFBFBD>r.
E<EFBFBD>er grafik arabirim deste<74>i eklenmemi<6D>se
.B Vim
hata verir ve <20><>kar.
.TP
\-h
Komut sat<61>r<EFBFBD> de<64>i<EFBFBD>kenleri ve se<73>enekleri <20>zerine biraz yard<72>m sa<73>lar.
Bu komuttan sonra
.B Vim
<EFBFBD><EFBFBD>kar.
.TP
\-H
E<EFBFBD>er
.B Vim
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve <20>branca klavye dizilimini kullanabilmesi i<>in
RIGHTLEFT deste<74>i ile derlenmi<6D>se, bu se<73>enek
.B Vim'i
<EFBFBD>branca kipinde ba<62>lat<61>r ('hkmap' ve 'rightleft' se<73>enekleri a<><61>l<EFBFBD>r).
Aksi durumda
.B Vim
hata verir ve <20><>kar.
.TP
\-i {viminfo}
<EFBFBD>ntan<EFBFBD>ml<EFBFBD> "~/.viminfo" dosyas<61> yerine kullan<61>lacak olan viminfo dosyas<61>n<EFBFBD>
belirtmek i<>in kullan<61>l<EFBFBD>r.
Bu komut ayn<79> zamanda viminfo kullan<61>m<EFBFBD>n<EFBFBD> atlamak i<>in de kullan<61>labilir.
Bunun i<>in dosya ad<61> yerine "NONE" vermeniz yeterlidir.
.TP
\-L
\-r ile ayn<79>.
.TP
\-l
Lisp kipi.
Bu de<64>i<EFBFBD>ken 'lisp' ve 'showmatch' se<73>eneklerini a<>ar.
.TP
\-m
Dosya yazma se<73>ene<6E>i kapal<61>d<EFBFBD>r.
\'write' se<73>ene<6E>ini s<>f<EFBFBD>rlar.
Arabelle<EFBFBD>i h<>l<EFBFBD> de<64>i<EFBFBD>tirebilirsiniz, ancak dosyay<61> yazmak olanakl<6B> de<64>ildir.
.TP
\-M
De<EFBFBD>i<EFBFBD>ikliklere izin verilmez. 'modifiable' ve 'write' se<73>enekleri kapat<61>l<EFBFBD>r,
b<EFBFBD>ylece de<64>i<EFBFBD>iklik yap<61>lamaz ve dosyalar yaz<61>lamaz.
Bu se<73>enekleri yeniden a<><61>p de<64>i<EFBFBD>iklik yapmay<61> etkinle<6C>tirebilirsiniz.
.TP
\-N
Uyumsuz kip. 'no-compatible' se<73>ene<6E>ini s<>f<EFBFBD>rlar.
Bu se<73>enekle birlikte
.B Vim
biraz daha d<>zg<7A>nce <20>al<61><6C><EFBFBD>r, ancak bir .vimrc dosyas<61> olmamas<61>na ra<72>men
Vi ile daha az uyumludur.
.TP
\-n
Bir takas dosyas<61> kullan<61>lmaz.
<EFBFBD><EFBFBD>kme sonras<61> kurtarma olanakl<6B> olmayacakt<6B>r.
E<EFBFBD>er <20>ok yava<76> bir ortamda dosya <20>al<61><6C><EFBFBD>yorsan<61>z (<28>rn. disket) yararl<72> olabilir.
":set uc=0" ile de yap<61>labilir.
Geri almak i<>in ":set uc=200" yap<61>n.
.TP
\-nb
NetBeans i<>in bir d<>zenleyici sunucusu olur. Ayr<79>nt<6E>lar i<>in belgelere bak<61>n.
.TP
\-o[N]
N say<61>da pencereyi <20>st <20>ste a<>ar.
N verilmezse, her dosya i<>in bir pencere a<>ar.
.TP
\-O[N]
N say<61>da pencereyi yan yana a<>ar.
N verilmezse, her dosya i<>in bir pencere a<>ar.
.TP
\-p[N]
N say<61>da sekme a<>ar.
N verilmezse, her dosya i<>in bir sekme a<>ar.
.TP
\-R
Saltokunur kip.
\'readonly' se<73>ene<6E>i a<><61>l<EFBFBD>r.
Arabelle<EFBFBD>i h<>l<EFBFBD> de<64>i<EFBFBD>tirebilirsiniz, ancak yanl<6E><6C>l<EFBFBD>kla dosyan<61>n <20>zerine
yazmaktan sizi korur.
Dosyan<EFBFBD>n <20>zerine yazmak istemiyorsan<61>z, Ex komutuna bir <20>nlem imi ekleyin,
<EFBFBD>rn. ":w!".
\-R se<73>ene<6E>i ayn<79> zamanda \-n se<73>ene<6E>ini de uygular (yukar<61>da bak<61>n).
\'readonly' se<73>ene<6E>i ":set noro" ile s<>f<EFBFBD>rlanabilir.
Ek bilgi i<>in: ":help 'readonly'".
.TP
\-r
Takas dosyalar<61>n<EFBFBD> i<>erdikleri kurtarma bilgilerini g<>sterecek bi<62>imde listeler.
.TP
\-r {dosya}
Kurtarma kipi.
<EFBFBD><EFBFBD>km<EFBFBD><EFBFBD> bir d<>zenleme oturumunu takas dosyas<61>n<EFBFBD> kullanarak kurtar<61>r.
Takas dosyas<61> dosya ile ayn<79> ada iye olup sonuna ".swp" eklenmi<6D>tir.
Ek bilgi i<>in: ":help recovery".
.TP
\-s
Sessiz kip. Yaln<6C>zca "Ex" olarak ba<62>lat<61>ld<6C><64><EFBFBD>nda veya "\-e" se<73>ene<6E>i
"\-s" se<73>ene<6E>inden <20>nce verildi<64>inde <20>al<61><6C><EFBFBD>r.
.TP
\-s {betikgir}
{betikgir} betik dosyas<61> okunur.
Dosyadaki karakterler onlar<61> siz girmi<6D>siniz gibi kabul edilir.
Ayn<EFBFBD>s<EFBFBD> ":source! {betikgir}" komutu ile de ger<65>ekle<6C>tirilebilir.
E<EFBFBD>er dosyan<61>n sonuna d<>zenleyici <20><>kmadan <20>nce gelinirse, sonraki karakterler
klavyeden okunur.
.TP
\-T {u<>birim}
.B Vim'e
kulland<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>z u<>birimin ad<61>n<EFBFBD> s<>yler.
Yaln<EFBFBD>zca kendili<6C>inden okunamazsa gereklidir.
.B Vim'in
tan<EFBFBD>d<EFBFBD><EFBFBD><EFBFBD> bir u<>birim olmal<61>d<EFBFBD>r veya termcap veya terminfo dosyas<61>nda
tan<EFBFBD>ml<EFBFBD> olmal<61>d<EFBFBD>r.
.TP
\-u {vimrc}
<EFBFBD>lklendirme i<>in {vimrc} dosyas<61>ndaki komutlar<61> kullan.
Di<EFBFBD>er t<>m ilklendirmeler atlan<61>r.
Bunu <20>zel t<>rde dosyalar<61> d<>zenlemek i<>in kullan<61>n.
Dosya ad<61> olarak "NONE" verilirse t<>m <20>zelle<6C>tirmeler atlan<61>r.
Ek bilgi i<>in vim i<>inde ":help initialization" b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
.TP
\-U {gvimrc}
Grafik arabirim ilklendirmesi i<>in {gvimrc} dosyas<61>ndaki komutlara bak<61>n.
Di<EFBFBD>er t<>m grafik arabirim ilklendirmeleri atlan<61>r.
Dosya ad<61> olarak "NONE" verilirse t<>m <20>zelle<6C>tirmeler atlan<61>r.
Ek bilgi i<>in vim i<>inde ":help gui\-init" b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
.TP
\-V[N]
S<EFBFBD>zl<EFBFBD> anlat<61>m. Hangi dosyalar<61>n kaynak al<61>nd<6E><64><EFBFBD>n<EFBFBD> ve viminfo dosyas<61>ndan
nelerin okundu<64>unu yazd<7A>r<EFBFBD>r. 'verbose' i<>in iste<74>e ba<62>l<EFBFBD> N se<73>ene<6E>i
kullan<EFBFBD>labilir. <20>ntan<61>ml<6D> say<61> 10'dur.
.TP
\-v
.B Vim'i
"vi" yazarak ba<62>lat<61>rm<72><6D> gibi Vi kipinde ba<62>lat<61>r. Bu yaln<6C>zca
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>labilir "ex" oldu<64>unda bir i<>e yarar.
.TP
\-w {betik<69><6B>k}
Girdi<EFBFBD>iniz t<>m karakterler siz
.B Vim'den
<EFBFBD><EFBFBD>kana de<64>in {betik<69><6B>k} dosyas<61>nda saklan<61>r.
Bu "vim \-s" veya ":source" komutu ile kullan<61>lacak bir betik yaratmaya yarar.
E<EFBFBD>er {betik<69><6B>k} dosyas<61> varsa karakterler dosyaya eklenir.
.TP
\-W {betik<69><6B>k}
\-w gibi, ancak var olan bir dosyan<61>n <20>zerine yazar.
.TP
\-x
Dosya yazarken <20>ifreleme kullan<61>r. Bir <20>ifre girmeniz istenecektir.
.TP
\-X
X sunucusuna ba<62>lanmaz. Vim'in u<>birimde ba<62>lama s<>resini azalt<6C>r ancak pencere ba<62>l<EFBFBD><6C><EFBFBD>
ve pano kullan<61>lamaz.
.TP
\-y
.B Vim'i
"evim" veya "eview" yazarak ba<62>lat<61>rm<72><6D> gibi kolay kipte ba<62>lat<61>r.
.B Vim'i
di<EFBFBD>er t<>kla ve yaz d<>zenleyicileri gibi <20>al<61><6C>t<EFBFBD>r<EFBFBD>r.
.TP
\-Z
K<EFBFBD>s<EFBFBD>tl<EFBFBD> kip. Program "r" yazarak ba<62>lat<61>lm<6C><6D> gibi davran<61>r.
.TP
\-\-
Se<EFBFBD>eneklerin bitti<74>ini belirtir.
Bundan sonraki de<64>i<EFBFBD>kenler art<72>k bir dosya ad<61> olarak i<>letilir.
Ayn<EFBFBD> zamanda '\-' ile ba<62>layan bir dosyay<61> tan<61>tmak i<>in de kullan<61>labilir.
.TP
\-\-echo\-wid
Yaln<EFBFBD>zca GTK grafik arabirimi: Pencere numaras<61>n<EFBFBD> stdout'a yank<6E>la.
.TP
\-\-help
Yard<EFBFBD>m iletisini yazd<7A>r<EFBFBD>r ve <20><>kar, "\-h" gibi.
.TP
\-\-literal
Dosya ad<61> de<64>i<EFBFBD>kenlerini ger<65>ek anlamda i<>let, joker karakterlerini
geni<EFBFBD>letme. Bunun kabu<62>un karakterleri kendili<6C>inden geni<6E>letti<74>i Unix'te
bir etkisi bulunmamaktad<61>r.
.TP
\-\-noplugin
Eklentileri y<>kleme. "\-u NONE" da ayn<79> i<>levi g<>r<EFBFBD>r.
.TP
\-\-remote
Bir Vim sunucusuna ba<62>lan ve geri kalan de<64>i<EFBFBD>kenlerde belirtilen dosyalar<61>
d<EFBFBD>zenle. E<>er bir sunucu bulunamazsa bir uyar<61> verilir ve dosyalar <20>u anki
Vim'de d<>zenlenir.
.TP
\-\-remote\-expr {ifade}
Bir Vim sunucusuna ba<62>lan ve {ifade}'yi de<64>erlendirip sonucu stdout'a yazd<7A>r.
.TP
\-\-remote\-send {anahtarlar}
Bir Vim sunucusuna ba<62>lan ve ona {anahtarlar} g<>nder.
.TP
\-\-remote\-silent
\-\-remote gibi, ancak bir sunucu bulunamazsa uyar<61> vermez.
.TP
\-\-remote\-wait
\-\-remote gibi, ancak Vim dosyalar d<>zenlenene kadar <20><>kmaz.
.TP
\-\-remote\-wait\-silent
\-\-remote\-wait gibi, ancak bir sunucu bulunamazsa uyar<61> vermez.
.TP
\-\-serverlist
Bulunabilecek b<>t<EFBFBD>n Vim sunucular<61>n<EFBFBD> listeler.
.TP
\-\-servername {ad}
{ad}'<27> bir sunucu ad<61> olarak kullan<61>r. Bir \-\-remote de<64>i<EFBFBD>keni ve
ba<EFBFBD>lanaca<EFBFBD><EFBFBD> sunucunun ad<61> ile kullan<61>lmad<61><64><EFBFBD> s<>rece <20>u anki Vim i<>in
kullan<EFBFBD>l<EFBFBD>r.
.TP
\-\-socketid {id}
Yaln<EFBFBD>zca GTK grafik arabirimi: GtkPlug mekanizmas<61>n<EFBFBD> kullanarak gvim'i ba<62>ka
bir pencerede <20>al<61><6C>t<EFBFBD>r.
.TP
\-\-version
S<EFBFBD>r<EFBFBD>m bilgisini yazd<7A>r<EFBFBD>r ve <20><>kar.
.SH <EFBFBD>EVR<EFBFBD>M<EFBFBD><EFBFBD><EFBFBD> YARDIM
.B Vim
i<EFBFBD>inde ":help" yazarak ba<62>lay<61>n.
Belirli bir konu <20>zerine yard<72>m almak i<>in ":help subject" yaz<61>n.
<EFBFBD>rne<EFBFBD>in: "ZZ" komutu <20>zerine bilgi almak i<>in ":help ZZ" yaz<61>n.
<Tab> ve CTRL-D kullanarak konular<61> tamamlay<61>n (":help cmdline\-completion").
Bir konumdan di<64>erini atlamak i<>in etiketler mevcuttur (bir t<>r k<>pr<70> gibi),
ek bilgi i<>in ":help").
T<EFBFBD>m belgelendirmeyi bu bi<62>imde okuyabilirsiniz, <20>rne<6E>in: ":help syntax.txt".
":help syntax.txt".
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/doc/*.txt
.B Vim
belgelendirme dosyalar<61>.
T<EFBFBD>m listeyi g<>rmek i<>in ":help doc\-file\-list" yaz<61>n.
.TP
/usr/local/lib/vim/doc/tags
Belgelendirme i<>inde veri bulmak i<>in kullan<61>lan etiketler dosyas<61>.
.TP
/usr/local/lib/vim/syntax/syntax.vim
Sistem geneli s<>zdizim ilklendirmeleri.
.TP
/usr/local/lib/vim/syntax/*.vim
Programlama dilleri i<>in s<>zdizim dosyalar<61>.
.TP
/usr/local/lib/vim/vimrc
Sistem geneli
.B Vim
ilklendirmeleri.
.TP
~/.vimrc
Sizin ki<6B>isel
.B Vim
ilklendirmeleriniz.
.TP
/usr/local/lib/vim/gvimrc
Sistem geneli gvim ilklendirmeleri.
.TP
~/.gvimrc
Sizin ki<6B>isel gvim ilklendirmeleriniz.
.TP
/usr/local/lib/vim/optwin.vim
":options" komutu i<>in kullan<61>lan betik, g<>rsel se<73>enek ayarlar<61>.
.TP
/usr/local/lib/vim/menu.vim
gvim i<>in sistem geneli men<65> ilklendirmeleri.
.TP
/usr/local/lib/vim/bugreport.vim
Hata raporu olu<6C>turmak i<>in kullan<61>lan betik. Ek bilgi i<>in: ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
Dosya t<>r<EFBFBD>n<EFBFBD> ad<61>ndan tan<61>yan betik. Ek bilgi i<>in: ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
Dosya t<>r<EFBFBD>n<EFBFBD> i<>eri<72>inden tan<61>yan betik. Ek bilgi i<>in: ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
PostScript yazd<7A>rmas<61> i<>in kullan<61>lan dosyalar.
.PP
En g<>ncel bilgiler i<>in V<>M ana sayfas<61>n<EFBFBD> ziyaret edin:
.br
<URL:http://www.vim.org/>
.SH AYRICA BAKINIZ
vimtutor(1)
.SH YAZAR
.B Vim'in
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
Ek bilgi i<>in
.B Vim
i<EFBFBD>inde ":help credits" yaz<61>n.
.br
.B Vim
Stevie tabanl<6E>d<EFBFBD>r, yazarlar<61>: Tim Thompson,
Tony Andrews ve G.R. (Fred) Walter.
Orijinal koddan geriye pek bir <20>ey kalmad<61><64><EFBFBD>n<EFBFBD> s<>ylemek yanl<6E><6C> olmaz.
.SH HATALAR
Bilinen hatalar<61>n bir listesi i<>in ":help todo" yaz<61>n.
.PP
Unutmay<EFBFBD>n ki, ba<62>kalar<61> taraf<61>ndan hata olarak de<64>erlendirilebilecek konular<61>n
bir <20>o<EFBFBD>u Vi'nin davran<61><6E>lar<61>na sad<61>k kal<61>nmas<61> nedeniyle vard<72>r. Yine de
baz<EFBFBD> <20>eylerin "Vi bunu de<64>i<EFBFBD>ik bi<62>imde yap<61>yor" diye hata olabilece<63>ini
d<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>yorsan<EFBFBD>z, "vi_diff.txt" dosyas<61>n<EFBFBD> dikkatle okuyun (veya Vim i<>inde
:help vi_diff.txt yaz<61>n.
Ek olarak 'compatible' ve 'cpoptions' se<73>eneklerine de bakabilirsiniz.

544
runtime/doc/vim-tr.UTF-8.1 Normal file
View File

@ -0,0 +1,544 @@
.TH VIM 1 "11 Nisan 2006"
.SH AD
vim \- Vi IMproved, bir programcının metin düzenleyicisi
.SH ÖZET
.br
.B vim
[seçenekler] [dosya ..]
.br
.B vim
[seçenekler] \-
.br
.B vim
[seçenekler] \-t etiket
.br
.B vim
[seçenekler] \-q [hatadosyası]
.PP
.br
.B ex
.br
.B view
.br
.B gvim
.B gview
.B evim
.B eview
.br
.B rvim
.B rview
.B rgvim
.B rgview
.SH TANIM
.B Vim,
Vi ile yukarıya doğru uyumlu olan bir metin düzenleyicisidir.
Her tür düz metni düzenlemede kullanılabilir.
Özellikle programları düzenlemede yararlıdır.
.PP
Vi üzerine yapılmış birçok geliştirme ve iyileştirmeyi içerir:
Çok düzeyli geri alma, çoklu pencereler ve arabellekler, sözdizim vurgulama,
komut satırı düzenleme, dosya adı tamamlama, çevrimiçi yardım, görsel seçim vb.
.B Vim
ve Vi arasındaki değişikliklerin bir özeti için ":help vi_diff.txt"
dosyasına bir göz atın.
.PP
.B Vim'i
çalıştırırken gerekli olan yardımın çoğu çevrimiçi yardım sisteminden elde
edilebilir. Bunun için ":help" komutunu kullanabilirsiniz.
Aşağıda ÇEVRİMİÇİ YARDIM bölümüne bakın.
.PP
Genelde
.B Vim
tek bir dosyayı düzenlemek için şu komutla çalıştırılır:
.PP
vim dosya
.PP
Biraz daha açacak olursak:
.PP
vim [seçenekler] [dosyalistesi]
.PP
Eğer dosya listesi sağlanmamışsa, düzenleyici boş bir arabellek açar.
Bunun dışında aşağıdaki dört seçenekten bir tanesi de bir veya birden çok
dosyayı düzenlemek için kullanılabilir.
.TP 12
dosya ..
Dosya adlarının bir listesi.
Bunlardan ilki ekrana getirilip arabelleğe yüklenir.
İmleç arabelleğin ilk satırında konumlandırılır.
Diğer dosyalara ":next" komutu ile geçebilirsiniz.
Adı tire ile başlayan bir dosyayı düzenlemek için dosya listesinin başına
"\-\-" koyun.
.TP
\-
Düzenlenecek dosya stdin'den okunur. Komutlar bir tty olması gereken
stderr'den okunur.
.TP
\-t {etiket}
Düzenlenecek dosya ve bu dosyanın başlangıç imleç konumu bir "etiket"e
dayanır, bir tür bıraktığınız konumu belirten bir ayraç gibi.
Etiket dosyasında {etiket} aranır, ilişkin dosya şu anki dosya olur ve
ilişkin komut çalıştırılır.
Bu genelde C programları için kullanılır, {etiket} bu durumda bir işlev
olabilir.
Bunun sonucunda bu işlevi içeren dosya o anki dosya olur ve imleç bu
işlevin başlangıcına konumlandırılır.
Ek bilgi için: ":help tag\-commands".
.TP
\-q [hatadosyası]
Hızlı düzelt kipinde başlat
[hatadosyası] okunur ve ilk hata görüntülenir.
Eğer [hatadosyası] sağlanmazsa, dosya adı 'errorfile' seçeneğinden alınır
(öntanımlı olarak Amiga için "AztecC.Err", diğer sistemlerde "errors.err").
Sonraki hatalara ":cn" komutu ile geçilebilir.
Ek bilgi için: ":help quickfix".
.PP
.B Vim
girilen komutun adına göre değişik biçimde davranır (çalıştırılabilir hâlâ
aynı dosya olarak kalabilir).
.TP 10
vim
"Normal" kip, standart çalışma biçimi.
.TP
ex
Ex kipinde başlat.
"\-e" değişkeni ile de başlatılabilir.
Normal kipe ":vi" komutu ile geçilebilir.
.TP
view
Saltokunur kipte başlat. Bu kipte dosya yazımına izin verilmez.
"\-R" değişkeni ile de başlatılabilir.
.TP
gvim gview
Grafik arabirim sürümü.
Yeni bir pencere açar.
"\-g" değişkeni ile de başlatılabilir.
.TP
evim eview
Kolay kipte başlatılan grafik arabirim sürümü.
Yeni bir pencere açar.
"\-y" değişkeni ile de başlatılabilir.
.TP
rvim rview rgvim rgview
Yukarıdaki ile aynı, ancak sınırlamalar içerir. Kabuk komutları
çalıştırılamaz veya
.B Vim
askıya alınamaz.
"\-Z" değişkeni ile de başlatılabilir.
.SH SEÇENEKLER
Seçenekler bir sıra gözetmeksizin dosya adlarından önce veya sonra
kullanılabilir.
Herhangi bir değişken içermeyen seçenekler bir tirenin ardında sıralanabilir.
.TP 12
+[num]
İlk dosya için imleç "num" satırında konumlandırılacaktır.
Eğer "num" eksikse imleç en son satırda başlar.
.TP
+/{dizge}
İlk dosya için imleç {dizgi}'nin ilk eşleşmesinin olduğu satırda
konumlandırılacaktır.
Kullanılabilir arama dizgileri için ":help search\-pattern" yazın.
.TP
+{komut}
.TP
\-c {komut}
İlk dosya okunduktan sonra {komut} çalıştırılır.
{komut} bir Ex komutu olarak işletilir.
Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu
kullanılan kabuğa bağlıdır).
Örnek: Vim "+set si" main.c
.br
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
.TP
\-S {dosya}
İlk dosya okunduktan sonra {dosya} kaynak alınır.
\-c "source {dosya}" bu komutun eşdeğeridir.
{dosya}, '\-' ile başlayamaz.
Eğer {dosya} sağlanmazsa "Session.vim" kullanılır (yalnızca \-S son
değişken olarak kullanıldığında işe yarar).
.TP
\-\-cmd {komut}
"\-c" komutu gibi, ancak komut herhangi bir vimrc dosyasını işletmeden
önce çalıştırılır.
"\-c" komutundan bağımsız olarak bu komutlardan 10 taneye kadar
çalıştırabilirsiniz.
.TP
\-A
Eğer
.B Vim
sağdan sola yazılan dosyaları ve Arapça klavye dizilimini kullanabilmesi için
ARAPÇA desteği ile derlenmişe bu seçenek
.B Vim'i
Arapça kipinde başlatır ('arabic' seçeneği açılır). Aksi durumda
.B Vim
hata verip çıkar.
.TP
\-b
İkili kip.
Bir çalıştırılabiliri veya ikili dosyayı düzenlemeye olanacak sağlayacak
birkaç seçenek ayarlanır.
.TP
\-C
Uyumlu kip. 'compatible' seçeneğini ayarlar.
Bu kipte
.B Vim
bir .vimrc dosyası var olsa bile genelde Vi gibi davranır.
.TP
\-d
Karşılaştırma kipinde başlat.
Bir, iki, üç veya dört adet dosya adı değişkeni olmalıdır.
.B Vim
bütün dosyaları yan yana açar ve aralarındaki değişiklikleri gösterir.
vimdiff(1) gibi çalışır.
.TP
\-d {aygıt}
{aygıt}'ı bir uçbirim olarak kullanmak için açar.
Yalnızca Amiga'da çalışır.
Örnek:
"\-d con:20/30/600/150".
.TP
\-D
Hata ayıklama kipi. Bir betiğin ilk komutunu çalıştırırken hata ayıklama
kipine geçer.
.TP
\-e
.B Vim'i
Ex kipinde başlatır, "ex" çalıştırılabiliri ile aynı işlevi görür.
.TP
\-E
.B Vim'i
geliştirilmiş Ex kipinde başlatır, "exim" çalıştırılabiliri ile aynı
işlevi görür.
.TP
\-f
Önplan. Grafik arabirim sürümü için
.B Vim
başladığı kabuktan ayrılmayacak ve kendisini çatallamayacaktır.
Amiga'da,
.B Vim
yeni bir pencere açmak için yeniden başlatılmaz.
Bu seçenek
.B Vim
düzenleme oturumunun bitmesini bekleyecek bir program tarafından
başlatıldığında kullanılmalıdır (örn. mail).
Amiga'da ":sh" ve ":!" komutları çalışmayacaktır.
.TP
\-\-nofork
Önplan. Grafik arabirim sürümü için
.B Vim
başladığı kabuktan ayrılmayacak ve kendisini çatallamayacaktır.
.TP
\-F
Eğer
.B Vim
sağdan sola yazılan dosyaları ve Farsça klavye dizilimini kullanabilmesi için
FKMAP desteği ile derlenmişse, bu seçenek
.B Vim'i
Farsça kipinde başlatır ('fkmap' ve 'rightleft' seçenekleri açılır).
Aksi durumda
.B Vim
hata verip çıkar.
.TP
\-g
Eğer
.B Vim
grafik arabirim desteği ile derlenmişse bu seçenek grafik arabirimi çalıştırır.
Eğer grafik arabirim desteği eklenmemişse
.B Vim
hata verir ve çıkar.
.TP
\-h
Komut satırı değişkenleri ve seçenekleri üzerine biraz yardım sağlar.
Bu komuttan sonra
.B Vim
çıkar.
.TP
\-H
Eğer
.B Vim
sağdan sola yazılan dosyaları ve İbranca klavye dizilimini kullanabilmesi için
RIGHTLEFT desteği ile derlenmişse, bu seçenek
.B Vim'i
İbranca kipinde başlatır ('hkmap' ve 'rightleft' seçenekleri açılır).
Aksi durumda
.B Vim
hata verir ve çıkar.
.TP
\-i {viminfo}
Öntanımlı "~/.viminfo" dosyası yerine kullanılacak olan viminfo dosyasını
belirtmek için kullanılır.
Bu komut aynı zamanda viminfo kullanımını atlamak için de kullanılabilir.
Bunun için dosya adı yerine "NONE" vermeniz yeterlidir.
.TP
\-L
\-r ile aynı.
.TP
\-l
Lisp kipi.
Bu değişken 'lisp' ve 'showmatch' seçeneklerini açar.
.TP
\-m
Dosya yazma seçeneği kapalıdır.
\'write' seçeneğini sıfırlar.
Arabelleği hâlâ değiştirebilirsiniz, ancak dosyayı yazmak olanaklı değildir.
.TP
\-M
Değişikliklere izin verilmez. 'modifiable' ve 'write' seçenekleri kapatılır,
böylece değişiklik yapılamaz ve dosyalar yazılamaz.
Bu seçenekleri yeniden açıp değişiklik yapmayı etkinleştirebilirsiniz.
.TP
\-N
Uyumsuz kip. 'no-compatible' seçeneğini sıfırlar.
Bu seçenekle birlikte
.B Vim
biraz daha düzgünce çalışır, ancak bir .vimrc dosyası olmamasına rağmen
Vi ile daha az uyumludur.
.TP
\-n
Bir takas dosyası kullanılmaz.
Çökme sonrası kurtarma olanaklı olmayacaktır.
Eğer çok yavaş bir ortamda dosya çalışıyorsanız (örn. disket) yararlı olabilir.
":set uc=0" ile de yapılabilir.
Geri almak için ":set uc=200" yapın.
.TP
\-nb
NetBeans için bir düzenleyici sunucusu olur. Ayrıntılar için belgelere bakın.
.TP
\-o[N]
N sayıda pencereyi üst üste açar.
N verilmezse, her dosya için bir pencere açar.
.TP
\-O[N]
N sayıda pencereyi yan yana açar.
N verilmezse, her dosya için bir pencere açar.
.TP
\-p[N]
N sayıda sekme açar.
N verilmezse, her dosya için bir sekme açar.
.TP
\-R
Saltokunur kip.
\'readonly' seçeneği açılır.
Arabelleği hâlâ değiştirebilirsiniz, ancak yanlışlıkla dosyanın üzerine
yazmaktan sizi korur.
Dosyanın üzerine yazmak istemiyorsanız, Ex komutuna bir ünlem imi ekleyin,
örn. ":w!".
\-R seçeneği aynı zamanda \-n seçeneğini de uygular (yukarıda bakın).
\'readonly' seçeneği ":set noro" ile sıfırlanabilir.
Ek bilgi için: ":help 'readonly'".
.TP
\-r
Takas dosyalarını içerdikleri kurtarma bilgilerini gösterecek biçimde listeler.
.TP
\-r {dosya}
Kurtarma kipi.
Çökmüş bir düzenleme oturumunu takas dosyasını kullanarak kurtarır.
Takas dosyası dosya ile aynı ada iye olup sonuna ".swp" eklenmiştir.
Ek bilgi için: ":help recovery".
.TP
\-s
Sessiz kip. Yalnızca "Ex" olarak başlatıldığında veya "\-e" seçeneği
"\-s" seçeneğinden önce verildiğinde çalışır.
.TP
\-s {betikgir}
{betikgir} betik dosyası okunur.
Dosyadaki karakterler onları siz girmişsiniz gibi kabul edilir.
Aynısı ":source! {betikgir}" komutu ile de gerçekleştirilebilir.
Eğer dosyanın sonuna düzenleyici çıkmadan önce gelinirse, sonraki karakterler
klavyeden okunur.
.TP
\-T {uçbirim}
.B Vim'e
kullandığınız uçbirimin adını söyler.
Yalnızca kendiliğinden okunamazsa gereklidir.
.B Vim'in
tanıdığı bir uçbirim olmalıdır veya termcap veya terminfo dosyasında
tanımlı olmalıdır.
.TP
\-u {vimrc}
İlklendirme için {vimrc} dosyasındaki komutları kullan.
Diğer tüm ilklendirmeler atlanır.
Bunu özel türde dosyaları düzenlemek için kullanın.
Dosya adı olarak "NONE" verilirse tüm özelleştirmeler atlanır.
Ek bilgi için vim içinde ":help initialization" bölümüne bakın.
.TP
\-U {gvimrc}
Grafik arabirim ilklendirmesi için {gvimrc} dosyasındaki komutlara bakın.
Diğer tüm grafik arabirim ilklendirmeleri atlanır.
Dosya adı olarak "NONE" verilirse tüm özelleştirmeler atlanır.
Ek bilgi için vim içinde ":help gui\-init" bölümüne bakın.
.TP
\-V[N]
Sözlü anlatım. Hangi dosyaların kaynak alındığını ve viminfo dosyasından
nelerin okunduğunu yazdırır. 'verbose' için isteğe bağlı N seçeneği
kullanılabilir. Öntanımlı sayı 10'dur.
.TP
\-v
.B Vim'i
"vi" yazarak başlatırmış gibi Vi kipinde başlatır. Bu yalnızca
çalıştırılabilir "ex" olduğunda bir işe yarar.
.TP
\-w {betikçık}
Girdiğiniz tüm karakterler siz
.B Vim'den
çıkana değin {betikçık} dosyasında saklanır.
Bu "vim \-s" veya ":source" komutu ile kullanılacak bir betik yaratmaya yarar.
Eğer {betikçık} dosyası varsa karakterler dosyaya eklenir.
.TP
\-W {betikçık}
\-w gibi, ancak var olan bir dosyanın üzerine yazar.
.TP
\-x
Dosya yazarken şifreleme kullanır. Bir şifre girmeniz istenecektir.
.TP
\-X
X sunucusuna bağlanmaz. Vim'in uçbirimde başlama süresini azaltır ancak pencere başlığı
ve pano kullanılamaz.
.TP
\-y
.B Vim'i
"evim" veya "eview" yazarak başlatırmış gibi kolay kipte başlatır.
.B Vim'i
diğer tıkla ve yaz düzenleyicileri gibi çalıştırır.
.TP
\-Z
Kısıtlı kip. Program "r" yazarak başlatılmış gibi davranır.
.TP
\-\-
Seçeneklerin bittiğini belirtir.
Bundan sonraki değişkenler artık bir dosya adı olarak işletilir.
Aynı zamanda '\-' ile başlayan bir dosyayı tanıtmak için de kullanılabilir.
.TP
\-\-echo\-wid
Yalnızca GTK grafik arabirimi: Pencere numarasını stdout'a yankıla.
.TP
\-\-help
Yardım iletisini yazdırır ve çıkar, "\-h" gibi.
.TP
\-\-literal
Dosya adı değişkenlerini gerçek anlamda işlet, joker karakterlerini
genişletme. Bunun kabuğun karakterleri kendiliğinden genişlettiği Unix'te
bir etkisi bulunmamaktadır.
.TP
\-\-noplugin
Eklentileri yükleme. "\-u NONE" da aynı işlevi görür.
.TP
\-\-remote
Bir Vim sunucusuna bağlan ve geri kalan değişkenlerde belirtilen dosyaları
düzenle. Eğer bir sunucu bulunamazsa bir uyarı verilir ve dosyalar şu anki
Vim'de düzenlenir.
.TP
\-\-remote\-expr {ifade}
Bir Vim sunucusuna bağlan ve {ifade}'yi değerlendirip sonucu stdout'a yazdır.
.TP
\-\-remote\-send {anahtarlar}
Bir Vim sunucusuna bağlan ve ona {anahtarlar} gönder.
.TP
\-\-remote\-silent
\-\-remote gibi, ancak bir sunucu bulunamazsa uyarı vermez.
.TP
\-\-remote\-wait
\-\-remote gibi, ancak Vim dosyalar düzenlenene kadar çıkmaz.
.TP
\-\-remote\-wait\-silent
\-\-remote\-wait gibi, ancak bir sunucu bulunamazsa uyarı vermez.
.TP
\-\-serverlist
Bulunabilecek bütün Vim sunucularını listeler.
.TP
\-\-servername {ad}
{ad}'ı bir sunucu adı olarak kullanır. Bir \-\-remote değişkeni ve
bağlanacağı sunucunun adı ile kullanılmadığı sürece şu anki Vim için
kullanılır.
.TP
\-\-socketid {id}
Yalnızca GTK grafik arabirimi: GtkPlug mekanizmasını kullanarak gvim'i başka
bir pencerede çalıştır.
.TP
\-\-version
Sürüm bilgisini yazdırır ve çıkar.
.SH ÇEVRİMİÇİ YARDIM
.B Vim
içinde ":help" yazarak başlayın.
Belirli bir konu üzerine yardım almak için ":help subject" yazın.
Örneğin: "ZZ" komutu üzerine bilgi almak için ":help ZZ" yazın.
<Tab> ve CTRL-D kullanarak konuları tamamlayın (":help cmdline\-completion").
Bir konumdan diğerini atlamak için etiketler mevcuttur (bir tür köprü gibi),
ek bilgi için ":help").
Tüm belgelendirmeyi bu biçimde okuyabilirsiniz, örneğin: ":help syntax.txt".
":help syntax.txt".
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/doc/*.txt
.B Vim
belgelendirme dosyaları.
Tüm listeyi görmek için ":help doc\-file\-list" yazın.
.TP
/usr/local/lib/vim/doc/tags
Belgelendirme içinde veri bulmak için kullanılan etiketler dosyası.
.TP
/usr/local/lib/vim/syntax/syntax.vim
Sistem geneli sözdizim ilklendirmeleri.
.TP
/usr/local/lib/vim/syntax/*.vim
Programlama dilleri için sözdizim dosyaları.
.TP
/usr/local/lib/vim/vimrc
Sistem geneli
.B Vim
ilklendirmeleri.
.TP
~/.vimrc
Sizin kişisel
.B Vim
ilklendirmeleriniz.
.TP
/usr/local/lib/vim/gvimrc
Sistem geneli gvim ilklendirmeleri.
.TP
~/.gvimrc
Sizin kişisel gvim ilklendirmeleriniz.
.TP
/usr/local/lib/vim/optwin.vim
":options" komutu için kullanılan betik, görsel seçenek ayarları.
.TP
/usr/local/lib/vim/menu.vim
gvim için sistem geneli menü ilklendirmeleri.
.TP
/usr/local/lib/vim/bugreport.vim
Hata raporu oluşturmak için kullanılan betik. Ek bilgi için: ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
Dosya türünü adından tanıyan betik. Ek bilgi için: ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
Dosya türünü içeriğinden tanıyan betik. Ek bilgi için: ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
PostScript yazdırması için kullanılan dosyalar.
.PP
En güncel bilgiler için VİM ana sayfasını ziyaret edin:
.br
<URL:http://www.vim.org/>
.SH AYRICA BAKINIZ
vimtutor(1)
.SH YAZAR
.B Vim'in
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
yardımlarıyla yazılmıştır.
Ek bilgi için
.B Vim
içinde ":help credits" yazın.
.br
.B Vim
Stevie tabanlıdır, yazarları: Tim Thompson,
Tony Andrews ve G.R. (Fred) Walter.
Orijinal koddan geriye pek bir şey kalmadığını söylemek yanlış olmaz.
.SH HATALAR
Bilinen hataların bir listesi için ":help todo" yazın.
.PP
Unutmayın ki, başkaları tarafından hata olarak değerlendirilebilecek konuların
bir çoğu Vi'nin davranışlarına sadık kalınması nedeniyle vardır. Yine de
bazı şeylerin "Vi bunu değişik biçimde yapıyor" diye hata olabileceğini
düşünüyorsanız, "vi_diff.txt" dosyasını dikkatle okuyun (veya Vim içinde
:help vi_diff.txt yazın.
Ek olarak 'compatible' ve 'cpoptions' seçeneklerine de bakabilirsiniz.

View File

@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2020 Jan 30
*vim9.txt* For Vim version 8.2. Last change: 2020 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -6,7 +6,7 @@
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim9 script commands and expressions.
Vim9 script commands and expressions. *vim9*
Most expression help is in |eval.txt|. This file is about the new syntax and
features in Vim9 script.
@ -28,29 +28,33 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim script has been growing over time, while keeping backwards compatibility.
That means bad choices from the past often can't be changed. Execution is
quite slow, every line is parsed every time it is executed.
Vim script has been growing over time, while preserving backwards
compatibility. That means bad choices from the past often can't be changed
and compatibility with Vi restricts possible solutions. Execution is quite
slow, each line is parsed every time it is executed.
The main goal of Vim9 script is to drastically improve performance. An
increase in execution speed of 10 to 100 times can be expected. A secondary
goal is to avoid Vim-specific constructs and get closer to commonly used
programming languages, such as JavaScript, TypeScript and Java.
The main goal of Vim9 script is to drastically improve performance. This is
accomplished by compiling commands into instructions that can be efficiently
executed. An increase in execution speed of 10 to 100 times can be expected.
A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and Java.
The performance improvements can only be achieved by not being 100% backwards
compatible. For example, in a function the arguments are not available in the
"a:" dictionary, as creating that dictionary adds quite a lot of overhead.
Other differences are more subtle, such as how errors are handled.
compatible. For example, making function arguments available in the
"a:" dictionary adds quite a lot of overhead. In a Vim9 function this
dictionary is not available. Other differences are more subtle, such as how
errors are handled.
The Vim9 script syntax and semantics are used in:
- a function defined with the `:def` command
- a script file where the first command is `vim9script`
When using `:function` in a Vim9 script file the legacy syntax is used.
However, this is discouraged.
However, this can be confusing and is therefore discouraged.
Vim9 script and legacy Vim script can be mixed. There is no need to rewrite
old scripts, they keep working as before.
Vim9 script and legacy Vim script can be mixed. There is no requirement to
rewrite old scripts, they keep working as before.
==============================================================================
@ -58,23 +62,81 @@ old scripts, they keep working as before.
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Comments starting with # ~
In Vim script comments normally start with double quote. That can also be the
start of a string, thus in many places it cannot be used. In Vim9 script a
comment can also start with #. In Vi this is a command to list text with
numbers, but you can also use `:number` for that. >
let count = 0 # number of occurrences
To improve readability there must be a space between the command and the #
that starts a comment. Note that #{ is the start of a dictionary, therefore
it cannot start a comment.
Vim9 functions ~
`:def` has no extra arguments like `:function` does: "range", "abort", "dict"
or "closure". A `:def` function always aborts on an error, does not get a
range passed and cannot be a "dict" function.
A function defined with `:def` is compiled. Execution is many times faster,
often 10x to 100x times.
In the function body:
- Arguments are accessed by name, without "a:".
- There is no "a:" dictionary or "a:000" list. Variable arguments are defined
with a name and have a list type: >
def MyFunc(...itemlist: list<type>)
Many errors are already found when compiling, before the function is executed.
The syntax is strict, to enforce code that is easy to read and understand.
Compilation is done when the function is first called, or when the
`:defcompile` command is encountered in the script where the function was
defined.
`:def` has no options like `:function` does: "range", "abort", "dict" or
"closure". A `:def` function always aborts on an error, does not get a range
passed and cannot be a "dict" function.
The argument types and return type need to be specified. The "any" type can
be used, type checking will then be done at runtime, like with legacy
functions.
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
"a:000" list.
Variable arguments are defined as the last argument, with a name and have a
list type, similar to Typescript. For example, a list of numbers: >
def MyFunc(...itemlist: list<number>)
for item in itemlist
...
Variable declarations with :let and :const ~
Functions and variables are script-local by default ~
*vim9-scopes*
When using `:function` or `:def` to specify a new function at the script level
in a Vim9 script, the function is local to the script, as if "s:" was
prefixed. Using the "s:" prefix is optional.
To define or use a global function or variable the "g:" prefix must be used.
When using `:function` or `:def` to specify a new function inside a function,
the function is local to the function. It is not possible to define a
script-local function inside a function. It is possible to define a global
function, using the "g:" prefix.
When referring to a function and no "s:" or "g:" prefix is used, Vim will
search for the function in this order:
- Local to the current scope and outer scopes up to the function scope.
- Local to the current script file.
- Imported functions, see `:import`.
In all cases the function must be defined before used. That is when it is
first called or when `:defcompile` causes the call to be compiled.
The result is that functions and variables without a namespace can always be
found in the script, either defined there or imported. Global functions and
variables could be defined anywhere (good luck finding where!).
Global functions can be still be defined and deleted at nearly any time. In
Vim9 script script-local functions are defined once when the script is sourced
and cannot be deleted or replaced.
Variable declarations with :let and :const ~
*vim9-declaration*
Local variables need to be declared with `:let`. Local constants need to be
declared with `:const`. We refer to both as "variables".
@ -105,8 +167,8 @@ The declaration must be done earlier: >
endif
echo inner
To intentionally use a variable that won't be available later, a block can be
used: >
To intentionally avoid a variable being available later, a block can be used:
>
{
let temp = 'temp'
...
@ -120,6 +182,13 @@ and without `:let`, because there is no rule about where they are declared.
Variables cannot shadow previously defined variables.
Variables may shadow Ex commands, rename the variable if needed.
Global variables and user defined functions must be prefixed with "g:", also
at the script level. >
vim9script
let script_local = 'text'
let g:global = 'value'
let Funcref = g:ThatFunction
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
used to repeat a `:substitute` command.
@ -131,14 +200,91 @@ Functions can be called without `:call`: >
Using `:call` is still possible, but this is discouraged.
A method call without `eval` is possible, so long as the start is an
identifier or can't be an Ex command. It does not work for string constants: >
identifier or can't be an Ex command. It does NOT work for string constants: >
myList->add(123) " works
g:myList->add(123) " works
[1, 2, 3]->Process() " works
#{a: 1, b: 2}->Process() " works
{'a': 1, 'b': 2}->Process() " works
"foobar"->Process() " does NOT work
eval "foobar"->Process() " works
("foobar")->Process() " works
'foobar'->Process() " does NOT work
('foobar')->Process() " works
In case there is ambiguity between a function name and an Ex command, use ":"
to make clear you want to use the Ex command. For example, there is both the
`:substitute` command and the `substitute()` function. When the line starts
with `substitute(` this will use the function, prepend a colon to use the
command instead: >
:substitute(pattern (replacement (
Note that while variables need to be defined before they can be used,
functions can be called before being defined. This is required to be able
have cyclic dependencies between functions. It is slightly less efficient,
since the function has to be looked up by name. And a typo in the function
name will only be found when the call is executed.
Omitting function() ~
A user defined function can be used as a function reference in an expression
without `function()`. The argument types and return type will then be checked.
The function must already have been defined. >
let Funcref = MyFunction
When using `function()` the resulting type is "func", a function with any
number of arguments and any return type. The function can be defined later.
Automatic line continuation ~
In many cases it is obvious that an expression continues on the next line. In
those cases there is no need to prefix the line with a backslash. For
example, when a list spans multiple lines: >
let mylist = [
'one',
'two',
]
And when a dict spans multiple lines: >
let mydict = #{
one: 1,
two: 2,
}
Function call: >
let result = Func(
arg1,
arg2
)
For binary operators iin expressions not in [], {} or () a line break is
possible AFTER the operators. For example: >
let text = lead ..
middle ..
end
let total = start +
end -
correction
let result = positive ?
PosFunc(arg) :
NegFunc(arg)
A special case is "->" for function call chains, it can appear in the next
line: >
let result = GetBuilder()
->BuilderSetWidth(333)
->BuilderSetHeight(777)
->BuilderBuild()
Note that "enddef" cannot be used at the start of a continuation line, it ends
the current function.
It is also possible to split a function header over multiple lines, in between
arguments: >
def MyFunc(
text: string,
separator = '-'
): string
No curly braces expansion ~
@ -164,6 +310,9 @@ Vim9 script enforces proper use of white space. This is no longer allowed: >
let var =234 " Error!
There must be white space before and after the "=": >
let var = 234 " OK
White space must also be put before the # that starts a comment: >
let var = 234# Error!
let var = 234 # OK
White space is required around most operators.
@ -175,6 +324,9 @@ White space is not allowed:
call Func(arg) " OK
call Func(
\ arg) " OK
call Func(
\ arg " OK
\ )
Conditions and expressions ~
@ -195,8 +347,7 @@ few exceptions.
blob non-empty
list non-empty (different from JavaScript)
dictionary non-empty (different from JavaScript)
funcref when not NULL
partial when not NULL
func when there is a function name
special v:true
job when not NULL
channel when not NULL
@ -231,11 +382,8 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
the function follows in the next lines, until the
matching `:enddef`.
When {return-type} is omitted the return type will be
decided upon by the first encountered `return`
statement in the function. E.g., for: >
return 'message'
< The return type will be "string".
When {return-type} is omitted or is "void" the
function is not expected to return anything.
{arguments} is a sequence of zero or more argument
declarations. There are three forms:
@ -247,16 +395,39 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
The second and third form are optional arguments.
When the caller omits an argument the {value} is used.
The function will be compiled into instructions when
called, or when `:defcompile` is used. Syntax and
type errors will be produced at that time.
NOTE: It is possible to nest `:def` inside another
`:def`, but it is not possible to nest `:def` inside
`:function`, for backwards compatibility.
[!] is used as with `:function`.
[!] is used as with `:function`. Note that in Vim9
script script-local functions cannot be deleted or
redefined later in the same script.
*:enddef*
:enddef End of a function defined with `:def`.
If the script the function is defined in is Vim9 script, then script-local
variables can be accessed without the "s:" prefix. They must be defined
before the function is compiled. If the script the function is defined in is
legacy script, then script-local variables must be accessed with the "s:"
prefix.
*:defc* *:defcompile*
:defc[ompile] Compile functions defined in the current script that
were not compiled yet.
This will report errors found during the compilation.
*:disa* *:disassemble*
:disa[ssemble] {func} Show the instructions generated for {func}.
This is for debugging and testing.
Note that for command line completion of {func} you
can prepend "s:" to find script-local functions.
==============================================================================
4. Types *vim9-types*
@ -269,27 +440,51 @@ The following builtin types are supported:
float
string
blob
list<type>
dict<type>
(a: type, b: type): type
list<{type}>
dict<{type}>
job
channel
func
func: {type}
func({type}, ...)
func({type}, ...): {type}
Not supported yet:
tuple<a: type, b: type, ...>
tuple<a: {type}, b: {type}, ...>
These types can be used in declarations, but no variable will have this type:
type|type
These types can be used in declarations, but no value will have this type:
{type}|{type}
void
any
There is no array type, use list<type> instead. For a list constant an
There is no array type, use list<{type}> instead. For a list constant an
efficient implementation is used that avoids allocating lot of small pieces of
memory.
A function defined with `:def` must declare the return type. If there is no
type then the function doesn't return anything. "void" is used in type
declarations.
A partial and function can be declared in more or less specific ways:
func any kind of function reference, no type
checking for arguments or return value
func: {type} any number and type of arguments with specific
return type
func({type}) function with argument type, does not return
a value
func({type}): {type} function with argument type and return type
func(?{type}) function with type of optional argument, does
not return a value
func(...{type}) function with type of variable number of
arguments, does not return a value
func({type}, ?{type}, ...{type}): {type}
function with:
- type of mandatory argument
- type of optional argument
- type of variable number of arguments
- return type
If the return type is "void" the function does not return a value.
The reference can also be a |Partial|, in which case it stores extra arguments
and/or a dictionary, which are not visible to the caller. Since they are
called in the same way the declaration is the same.
Custom types can be defined with `:type`: >
:type MyList list<string>
@ -344,9 +539,12 @@ Then "myvar" will only exist in this file. While without `vim9script` it would
be available as `g:myvar` from any other script and function.
The variables at the file level are very much like the script-local "s:"
variables in legacy Vim script, but the "s:" is omitted.
variables in legacy Vim script, but the "s:" is omitted. And they cannot be
deleted.
In Vim9 script the global "g:" namespace can still be used as before.
In Vim9 script the global "g:" namespace can still be used as before. And the
"w:", "b:" and "t:" namespaces. These have in common that variables are not
declared and they can be deleted.
A side effect of `:vim9script` is that the 'cpoptions' option is set to the
Vim default value, like with: >
@ -369,10 +567,13 @@ be exported.
Alternatively, an export statement can be used to export several already
defined (otherwise script-local) items: >
export {EXPORTED_CONST, someValue, MyFunc, MyClass}
<
*E1042*
`:export` can only be used in Vim9 script, at the script level.
Import ~
*:import* *:imp*
*:import* *:imp* *E1094*
The exported items can be imported individually in another Vim9 script: >
import EXPORTED_CONST from "thatscript.vim"
import MyClass from "myclass.vim"
@ -443,8 +644,8 @@ actually needed. A recommended mechanism:
Import in legacy Vim script ~
If an `import` statement is used in legacy Vim script, for identifier the
script-local "s:" namespace will be used, even when "s:" is not specified.
If an `import` statement is used in legacy Vim script, the script-local "s:"
namespace will be used for the imported item, even when "s:" is not specified.
==============================================================================
@ -487,12 +688,37 @@ widely used. The type names are what was used in Vim before, with some
additions such as "void" and "bool".
JavaScript/TypeScript syntax and semantics ~
Compiling functions early ~
Functions are compiled when called or when `:defcompile` is used. Why not
compile them early, so that syntax and type errors are reported early?
The functions can't be compiled right away when encountered, because there may
be forward references to functions defined later. Consider defining functions
A, B and C, where A calls B, B calls C, and C calls A again. It's impossible
to reorder the functions to avoid forward references.
An alternative would be to first scan through the file to locate items and
figure out their type, so that forward references are found, and only then
execute the script and compile the functions. This means the script has to be
parsed twice, which is slower, and some conditions at the script level, such
as checking if a feature is supported, are hard to use. An attempt was made
to see if it works, but it turned out to be impossible to make work nicely.
It would be possible to compile all the functions at the end of the script.
The drawback is that if a function never gets called, the overhead of
compiling it counts anyway. Since startup speed is very important, in most
cases it's better to do it later and accept that syntax and type errors are
only reported then. In case these errors should be found early, e.g. when
testing, the `:defcompile` command will help out.
TypeScript syntax and semantics ~
Script writers have complained that the Vim script syntax is unexpectedly
different from what they are used to. To reduce this complaint popular
languages will be used as an example. At the same time, we do not want to
abandon the well-known parts of legacy Vim script.
languages are used as an example. At the same time, we do not want to abandon
the well-known parts of legacy Vim script.
Since Vim already uses `:let` and `:const` and optional type checking is
desirable, the JavaScript/TypeScript syntax fits best for variable
@ -509,7 +735,7 @@ are doing. Some details are unexpected and can be fixed. For example how the
...
return result || 0 " returns 1
Vim9 script works like JavaScript, keep the value: >
Vim9 script works like JavaScript/Typescript, keep the value: >
let result = 44
...
return result || 0 " returns 44
@ -541,6 +767,16 @@ that works like one would expect:
avoided.
- The Vim-specific use of "s:" to make things script-local can be dropped.
When sourcing a Vim9 script from a legacy script, only the items defined
globally can be used, not the exported items. Alternatives considered:
- All the exported items become available as script-local items. This makes
it uncontrollable what items get defined.
- Use the exported items and make them global. Disadvantage is that it's then
not possible to avoid name clashes in the global namespace.
- Completely disallow sourcing a Vim9 script, require using `:import`. That
makes it difficult to use scripts for testing, or sourcing them from the
command line to try them out.
Classes ~

45
runtime/doc/vimdiff-tr.1 Normal file
View File

@ -0,0 +1,45 @@
.TH VIMDIFF 1 "30 Mart 2001"
.SH AD
vimdiff \- bir dosyan<61>n d<>rt adede kadar s<>r<EFBFBD>mlerini Vim ile d<>zenle
ve ayr<79>mlar<61>n<EFBFBD> g<>ster
.SH <EFBFBD>ZET
.br
.B vimdiff
[se<73>enekler] dosya1 dosya2 [dosya3 [dosya4]]
.PP
.B gvimdiff
.SH TANIM
.B Vimdiff,
.B Vim
i<EFBFBD>inde iki (<28><> veya d<>rt) dosyay<61> a<>ar.
Her dosya ayr<79> pencerelerde a<><61>l<EFBFBD>r.
Dosyalar aras<61>ndaki ayr<79>mlar vurgulan<61>r.
B<EFBFBD>ylece de<64>i<EFBFBD>iklikler kolayca denetlenebilir ve ayn<79> dosyan<61>n ba<62>ka bir
s<EFBFBD>r<EFBFBD>m<EFBFBD>ne kolayl<79>kla aktar<61>labilir.
.PP
Vim hakk<6B>nda ek bilgi i<>in: vim(1)
.PP
.B gvimdiff
olarak ba<62>lat<61>l<EFBFBD>rsa varsa grafik arabirim a<><61>l<EFBFBD>r.
.PP
Her pencerede 'diff' se<73>ene<6E>i a<><61>l<EFBFBD>r, b<>ylece de<64>i<EFBFBD>iklikler vurgulan<61>r.
.br
\'wrap' ve 'scrollbind' se<73>enekleri metnin d<>zg<7A>n g<>r<EFBFBD>nmesi i<>in a<><61>l<EFBFBD>r.
.br
\'foldmethod' se<73>ene<6E>i "diff"e, ayarlan<61>r, b<>ylece sat<61>r aral<61>klar<61>
k<EFBFBD>vr<EFBFBD>l<EFBFBD>r. 'foldcolumn' se<73>ene<6E>i k<>v<EFBFBD>rmalar<61> kolay ayr<79>mlama ve a<><61>p kapama
i<EFBFBD>in iki olarak ayarlan<61>r.
.SH SE<EFBFBD>ENEKLER
Sat<EFBFBD>rlar hizalama i<>in "\-O" se<73>ene<6E>i kullan<61>lm<6C><6D><EFBFBD>as<61>na dikey b<>l<EFBFBD>nt<6E>ler
i<EFBFBD>inde g<>r<EFBFBD>nt<6E>lenir.
Yatay b<>l<EFBFBD>nt<6E>ler kullanmak i<>in "\-o" kullan<61>n.
Di<EFBFBD>er t<>m de<64>i<EFBFBD>kenler i<>in: vim(1).
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
Ek bilgi i<>in
.B Vim
i<EFBFBD>inde ":help credits" yaz<61>n.

View File

@ -0,0 +1,45 @@
.TH VIMDIFF 1 "30 Mart 2001"
.SH AD
vimdiff \- bir dosyanın dört adede kadar sürümlerini Vim ile düzenle
ve ayrımlarını göster
.SH ÖZET
.br
.B vimdiff
[seçenekler] dosya1 dosya2 [dosya3 [dosya4]]
.PP
.B gvimdiff
.SH TANIM
.B Vimdiff,
.B Vim
içinde iki (üç veya dört) dosyayı açar.
Her dosya ayrı pencerelerde açılır.
Dosyalar arasındaki ayrımlar vurgulanır.
Böylece değişiklikler kolayca denetlenebilir ve aynı dosyanın başka bir
sürümüne kolaylıkla aktarılabilir.
.PP
Vim hakkında ek bilgi için: vim(1)
.PP
.B gvimdiff
olarak başlatılırsa varsa grafik arabirim açılır.
.PP
Her pencerede 'diff' seçeneği açılır, böylece değişiklikler vurgulanır.
.br
\'wrap' ve 'scrollbind' seçenekleri metnin düzgün görünmesi için açılır.
.br
\'foldmethod' seçeneği "diff"e, ayarlanır, böylece satır aralıkları
kıvrılır. 'foldcolumn' seçeneği kıvırmaları kolay ayrımlama ve açıp kapama
için iki olarak ayarlanır.
.SH SEÇENEKLER
Satırlar hizalama için "\-O" seçeneği kullanılmışçasına dikey bölüntüler
içinde görüntülenir.
Yatay bölüntüler kullanmak için "\-o" kullanın.
Diğer tüm değişkenler için: vim(1).
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
yardımlarıyla yazılmıştır.
Ek bilgi için
.B Vim
içinde ":help credits" yazın.

50
runtime/doc/vimtutor-tr.1 Normal file
View File

@ -0,0 +1,50 @@
.TH VIMTUTOR 1 "2 Nisan 2001"
.SH AD
vimtutor \- Vim e<>itmeni
.SH <EFBFBD>ZET
.br
.B vimtutor [\-g] [dil]
.SH TANIM
.B Vimtutor,
.B Vim
e<EFBFBD>itmenini ba<62>lat<61>r.
<EFBFBD>nce orijinal e<>itmen dosyas<61>n<EFBFBD>n bir kopyas<61>n<EFBFBD> al<61>r, b<>ylece bir de<64>i<EFBFBD>ikli<6C>e
u<EFBFBD>ramadan de<64>i<EFBFBD>tirilebilir.
.PP
.B Vimtutor
ilk
.B Vim
komutlar<EFBFBD>n<EFBFBD> <20><>renmek isteyen ki<6B>iler i<>in yararl<72>d<EFBFBD>r.
.PP
<EFBFBD>ste<EFBFBD>e ba<62>l<EFBFBD> \-g de<64>i<EFBFBD>keni vimtutor'u vim yerine e<>er y<>kl<6B> ise gvim ile
ba<EFBFBD>lat<EFBFBD>r. Y<>kl<6B> de<64>ilse a<>mak i<>in Vim kullan<61>l<EFBFBD>r.
.PP
<EFBFBD>ste<EFBFBD>e ba<62>l<EFBFBD> [dil] de<64>i<EFBFBD>keni iki harfli dil kodunu belirtir, <20>rne<6E>in "tr"
veya "es". E<>er [dil] de<64>i<EFBFBD>keni verilmemi<6D>se mevcut yerelle<6C>tirme
kullan<EFBFBD>l<EFBFBD>r.
E<EFBFBD>er bu dilde bir e<>itmen varsa kullan<61>l<EFBFBD>r.
Yoksa <20>ngilizce s<>r<EFBFBD>m kullan<61>lacakt<6B>r.
.PP
.B Vim
her zaman Vi uyumlu kipte ba<62>lat<61>l<EFBFBD>r.
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/tutor/tutor[.dil]
.B Vimtutor
metin dosyalar<61>.
.TP 15
/usr/local/lib/vim/tutor/tutor.vim
.B Vimtutor
metin dosyas<61>n<EFBFBD> kopyalamak i<>in kullan<61>lan betik.
.SH YAZAR
.B Vimtutor
ilk olarak Vi i<>in Michael C. Pierce ve Robert K. Ware,
Colorado School of Mines taraf<61>ndan, Colorado State University'den Charles
Smith'in verdi<64>i fikirler kullan<61>larak yaz<61>ld<6C>.
E-posta: bware@mines.colorado.edu.
.br
.B Vim
uyarlamas<EFBFBD> Bram Moolenaar taraf<61>ndan yap<61>ld<6C>.
<EFBFBD>evirmenlerin adlar<61> i<>in e<>itmen dosyalar<61>na bak<61>n.
.SH AYRICA BAKINIz
vim(1)

View File

@ -0,0 +1,50 @@
.TH VIMTUTOR 1 "2 Nisan 2001"
.SH AD
vimtutor \- Vim eğitmeni
.SH ÖZET
.br
.B vimtutor [\-g] [dil]
.SH TANIM
.B Vimtutor,
.B Vim
eğitmenini başlatır.
Önce orijinal eğitmen dosyasının bir kopyasını alır, böylece bir değişikliğe
uğramadan değiştirilebilir.
.PP
.B Vimtutor
ilk
.B Vim
komutlarını öğrenmek isteyen kişiler için yararlıdır.
.PP
İsteğe bağlı \-g değişkeni vimtutor'u vim yerine eğer yüklü ise gvim ile
başlatır. Yüklü değilse açmak için Vim kullanılır.
.PP
İsteğe bağlı [dil] değişkeni iki harfli dil kodunu belirtir, örneğin "tr"
veya "es". Eğer [dil] değişkeni verilmemişse mevcut yerelleştirme
kullanılır.
Eğer bu dilde bir eğitmen varsa kullanılır.
Yoksa İngilizce sürüm kullanılacaktır.
.PP
.B Vim
her zaman Vi uyumlu kipte başlatılır.
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/tutor/tutor[.dil]
.B Vimtutor
metin dosyaları.
.TP 15
/usr/local/lib/vim/tutor/tutor.vim
.B Vimtutor
metin dosyasını kopyalamak için kullanılan betik.
.SH YAZAR
.B Vimtutor
ilk olarak Vi için Michael C. Pierce ve Robert K. Ware,
Colorado School of Mines tarafından, Colorado State University'den Charles
Smith'in verdiği fikirler kullanılarak yazıldı.
E-posta: bware@mines.colorado.edu.
.br
.B Vim
uyarlaması Bram Moolenaar tarafından yapıldı.
Çevirmenlerin adları için eğitmen dosyalarına bakın.
.SH AYRICA BAKINIz
vim(1)

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.2. Last change: 2019 Dec 07
*windows.txt* For Vim version 8.2. Last change: 2020 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -137,6 +137,12 @@ invert the status line. Now it should be "sr", reverse the status line, as
status line is inverted anyway; you will only see this problem on terminals
that have termcap codes for italics.
*filler-lines*
The lines after the last buffer line in a window are called filler lines.
These lines start with a tilde (~) character. By default, these are
highlighted as NonText (|hl-NonText|). The EndOfBuffer highlight group
(|hl-EndOfBuffer|) can be used to change the highlighting of filler lines.
==============================================================================
3. Opening and closing a window *opening-window* *E36*
@ -215,7 +221,7 @@ CTRL-W CTRL_N *CTRL-W_CTRL-N*
height). Reduces the current window height to create room
(and others, if the 'equalalways' option is set).
:[N]sv[iew] [++opt] [+cmd] {file} *:sv* *:sview* *splitview*
:[N]sv[iew] [++opt] [+cmd] [file] *:sv* *:sview* *splitview*
Same as ":split", but set 'readonly' option for this buffer.
:[N]sf[ind] [++opt] [+cmd] {file} *:sf* *:sfi* *:sfind* *splitfind*
@ -291,9 +297,9 @@ CTRL-W q *CTRL-W_q*
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
Without {count}: Quit the current window. If {count} is
given quit the {count} window.
When quitting the last window (not counting a help window),
exit Vim.
*edit-window*
When quitting the last edit window (not counting help or
preview windows), exit Vim.
When 'hidden' is set, and there is only one window for the
current buffer, it becomes hidden. When 'hidden' is not set,
@ -312,8 +318,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
:+quit " quit the next window
:+2quit " quit the second next window
<
When closing a help window, Vim will try to restore the
previous window layout |:helpclose|.
When closing a help window, and this is not the only window,
Vim will try to restore the previous window layout, see
|:helpclose|.
:q[uit]!
:{count}q[uit]!
@ -335,9 +342,9 @@ CTRL-W c *CTRL-W_c* *:clo* *:close*
changed and the [!] is used, the buffer becomes hidden (unless
there is another window editing it).
When there is only one window in the current tab page and
there is another tab page, this closes the current tab page.
|tab-page|.
When there is only one |edit-window| in the current tab page
and there is another tab page, this closes the current tab
page. |tab-page|.
This command fails when: *E444*
- There is only one window on the screen.

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Jan 22
" Last Change: 2020 Jun 15
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -233,11 +233,14 @@ au BufNewFile,BufRead *.bl setf blank
" Blkid cache file
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" BSDL
au BufNewFile,BufRead *bsd,*.bsdl setf bsdl
" Bazel (http://bazel.io)
autocmd BufRead,BufNewFile *.bzl,WORKSPACE,BUILD.bazel setf bzl
autocmd BufRead,BufNewFile *.bzl,WORKSPACE,BUILD.bazel setf bzl
if has("fname_case")
" There is another check for BUILD further below.
autocmd BufRead,BufNewFile BUILD setf bzl
autocmd BufRead,BufNewFile BUILD setf bzl
endif
" C or lpc
@ -459,7 +462,7 @@ au BufNewFile,BufRead *.desc setf desc
au BufNewFile,BufRead *.d call dist#ft#DtraceCheck()
" Desktop files
au BufNewFile,BufRead *.desktop,.directory setf desktop
au BufNewFile,BufRead *.desktop,*.directory setf desktop
" Dict config
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
@ -544,6 +547,9 @@ au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
" ERicsson LANGuage; Yaws is erlang too
au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang
" Elm
au BufNewFile,BufRead *.elm setf elm
" Elm Filter Rules file
au BufNewFile,BufRead filter-rules setf elmfilt
@ -619,8 +625,8 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig setf gitconfig
au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig setf gitconfig
au BufNewFile,BufRead */.config/git/config setf gitconfig
au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig
if !empty($XDG_CONFIG_HOME)
@ -764,11 +770,11 @@ au BufNewFile,BufRead *.inf,*.INF setf inform
au BufNewFile,BufRead */etc/initng/*/*.i,*.ii setf initng
" Innovation Data Processing
au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat
au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog
au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c setf upstreamdat
au BufRead,BufNewFile fdrupstream.log,upstream.log\c,upstream.*.log\c,*.upstream.log\c,UPSTREAM-*.log\c setf upstreamlog
au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog
au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog
au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog
au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c setf usserverlog
au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c setf usw2kagtlog
" Ipfilter
au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter
@ -881,11 +887,12 @@ au BufNewFile,BufRead *.ll setf lifelines
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf setf lilo
" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp)
" Lisp (*.el = ELisp, *.cl = Common Lisp)
" *.jl was removed, it's also used for Julia, better skip than guess wrong.
if has("fname_case")
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,*.L,.emacs,.sawfishrc setf lisp
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp
else
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc setf lisp
endif
" SBCL implementation of Common Lisp
@ -1066,7 +1073,7 @@ au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
au BufRead,BufNewfile *.n1ql,*.nql setf n1ql
" Nano
au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc
au BufNewFile,BufRead */etc/nanorc,*.nanorc setf nanorc
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
@ -1130,6 +1137,9 @@ au BufNewFile,BufRead pf.conf setf pf
" Pam conf
au BufNewFile,BufRead */etc/pam.conf setf pamconf
" Pam environment
au BufNewFile,BufRead pam_env.conf,.pam_environment setf pamenv
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
@ -1146,7 +1156,7 @@ au BufNewFile,BufRead *.dpr setf pascal
au BufNewFile,BufRead *.pdf setf pdf
" PCMK - HAE - crm configure edit
au BufNewFile,BufRead *.pcmk setf pcmk
au BufNewFile,BufRead *.pcmk setf pcmk
" Perl
if has("fname_case")
@ -1156,6 +1166,7 @@ else
endif
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
au BufNewFile,BufRead *.raku,*.rakumod setf perl6
" Perl, XPM or XPM2
au BufNewFile,BufRead *.pm
@ -1285,7 +1296,8 @@ au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
" Python, Python Shell Startup and Python Stub Files
" Quixote (Python-based web framework)
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,*.ptl,*.pyi setf python
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python
au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" Radiance
au BufNewFile,BufRead *.rad,*.mat setf radiance
@ -1607,10 +1619,12 @@ au BufNewFile,BufRead *.sqlj setf sqlj
au BufNewFile,BufRead *.sqr,*.sqi setf sqr
" OpenSSH configuration
au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig
au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig
au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
" OpenSSH server configuration
au BufNewFile,BufRead sshd_config setf sshdconfig
au BufNewFile,BufRead sshd_config setf sshdconfig
au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf setf sshdconfig
" Stata
au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata
@ -1632,10 +1646,10 @@ au BufNewFile,BufRead *.cm setf voscm
" Swift
au BufNewFile,BufRead *.swift setf swift
au BufNewFile,BufRead *.swift.gyb setf swiftgyb
au BufNewFile,BufRead *.swift.gyb setf swiftgyb
" Swift Intermediate Language
au BufNewFile,BufRead *.sil setf sil
au BufNewFile,BufRead *.sil setf sil
" Sysctl
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
@ -1643,9 +1657,13 @@ au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
" Systemd unit files
au BufNewFile,BufRead */systemd/*.{automount,mount,path,service,socket,swap,target,timer} setf systemd
" Systemd overrides
au BufNewFile,BufRead /etc/systemd/system/*.d/*.conf setf systemd
au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd
au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd
" Systemd temp files
au BufNewFile,BufRead /etc/systemd/system/*.d/.#* setf systemd
au BufNewFile,BufRead */etc/systemd/system/*.d/.#* setf systemd
au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd
au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd
au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc
@ -1773,7 +1791,7 @@ au BufNewFile,BufRead *.va,*.vams setf verilogams
au BufNewFile,BufRead *.sv,*.svh setf systemverilog
" VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho setf vhdl
" Vim script
au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim
@ -2048,7 +2066,7 @@ au BufNewFile,BufRead *fvwm2rc*
au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom')
" Git
au BufNewFile,BufRead */.gitconfig.d/*,/etc/gitconfig.d/* call s:StarSetf('gitconfig')
au BufNewFile,BufRead */.gitconfig.d/*,/etc/gitconfig.d/* call s:StarSetf('gitconfig')
" Gitolite
au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')

11
runtime/ftplugin/asm.vim Normal file
View File

@ -0,0 +1,11 @@
" Vim filetype plugin file
" Language: asm
" Maintainer: Colin Caine <cmcaine at the common googlemail domain>
" Last Changed: 23 May 2020
if exists("b:did_ftplugin") | finish | endif
setl comments=:;,s1:/*,mb:*,ex:*/,://
setl commentstring=;%s
let b:did_ftplugin = 1

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 14th April 2019
" Last Change: 7th May 2020
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@ -19,12 +19,21 @@ setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal commentstring=::\ %s
setlocal formatoptions-=t formatoptions+=rol
" Lookup DOS keywords using Windows command help.
if executable('help.exe')
if has('terminal')
setlocal keywordprg=:term\ help.exe
else
setlocal keywordprg=help.exe
endif
endif
" Define patterns for the browse file filter
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setlocal comments< formatoptions<"
let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<"
\ . "| unlet! b:browsefiler"
let &cpo = s:cpo_save

18
runtime/ftplugin/elm.vim Normal file
View File

@ -0,0 +1,18 @@
" Elm filetype plugin file
" Language: Elm
" Maintainer: Andreas Scharf <as@99n.de>
" Latest Revision: 2020-05-29
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=s1fl:{-,mb:\ ,ex:-},:--
setlocal commentstring=--\ %s
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,7 +1,8 @@
" Vim settings file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
" Version: 0.50
" Last Change: 2015 Nov. 30
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-plugin from Vim
" Credits:
@ -31,10 +32,10 @@ if !exists("b:fortran_fixed_source")
elseif exists("fortran_fixed_source")
" User guarantees fixed source form
let b:fortran_fixed_source = 1
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$'
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
let b:fortran_fixed_source = 0
elseif expand("%:e") ==? "f\|f77\|for"
elseif expand("%:e") =~? '^\%(f\|f77\|for\)$'
" Fixed-form file extension defaults
let b:fortran_fixed_source = 1
else

View File

@ -1,8 +1,8 @@
" Vim filetype plugin file
" Language: man
" Maintainer: Jason Franklin <vim@justemail.net>
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2019 Sep 26
" (fix by Jason Franklin)
" Last Change: 2020 Jun 01
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@ -34,8 +34,8 @@ if &filetype == "man"
endif
nnoremap <buffer> <Plug>ManBS :%s/.\b//g<CR>:setl nomod<CR>''
nnoremap <buffer> <c-]> :call <SID>PreGetPage(v:count)<CR>
nnoremap <buffer> <c-t> :call <SID>PopPage()<CR>
nnoremap <buffer> <silent> <c-]> :call <SID>PreGetPage(v:count)<CR>
nnoremap <buffer> <silent> <c-t> :call <SID>PopPage()<CR>
nnoremap <buffer> <silent> q :q<CR>
" Add undo commands for the maps
@ -96,7 +96,7 @@ func <SID>PreGetPage(cnt)
let sect = a:cnt
let page = expand("<cword>")
endif
call s:GetPage(sect, page)
call s:GetPage('', sect, page)
endfunc
func <SID>GetCmdArg(sect, page)
@ -138,11 +138,11 @@ func <SID>GetPage(cmdmods, ...)
endif
endif
if s:FindPage(sect, page) == 0
let msg = "\nNo manual entry for ".page
if sect != ""
let msg .= " in section ".sect
let msg = 'man.vim: no manual entry for "' . page . '"'
if !empty(sect)
let msg .= ' in section ' . sect
endif
echo msg
echomsg msg
return
endif
exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")
@ -189,7 +189,7 @@ func <SID>GetPage(cmdmods, ...)
setl buftype=nofile noswapfile
setl fdc=0 ma nofen nonu nornu
silent exec "norm! 1GdG"
%delete _
let unsetwidth = 0
if empty($MANWIDTH)
let $MANWIDTH = winwidth(0)
@ -205,6 +205,7 @@ func <SID>GetPage(cmdmods, ...)
let s:env_has_u = (v:shell_error == 0)
endif
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
let env_cmd .= ' GROFF_NO_SGR=1'
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
silent exec "r !" . man_cmd
@ -213,10 +214,10 @@ func <SID>GetPage(cmdmods, ...)
endif
" Remove blank lines from top and bottom.
while line('$') > 1 && getline(1) =~ '^\s*$'
silent keepj norm! ggdd
1delete _
endwhile
while line('$') > 1 && getline('$') =~ '^\s*$'
silent keepj norm! Gdd
$delete _
endwhile
1
setl ft=man nomod

19
runtime/ftplugin/masm.vim Normal file
View File

@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: Microsoft Macro Assembler (80x86)
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Last Change: 2020-05-09 23:02:05 +0800
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl iskeyword<"
setlocal iskeyword=@,48-57,_,36,60,62,63,@-@
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,9 +1,9 @@
" Vim filetype plugin file
" Language: Perl
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2015-02-09
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1

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