Compare commits

...

165 Commits

Author SHA1 Message Date
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
2c7f8c574f Update runtime files 2020-04-20 19:52:53 +02:00
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
d1caa941d8 Update runtime files 2020-04-10 22:10:56 +02:00
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
Bram Moolenaar
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
350 changed files with 17680 additions and 10067 deletions

View File

@@ -3,7 +3,7 @@ language: c
_anchors:
envs:
- &tiny-nogui
BUILD=yes TEST=test 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 FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &small
@@ -12,10 +12,10 @@ _anchors:
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &linux-huge
BUILD=yes TEST="scripttests test_libvterm" 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'"
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &osx-huge # macOS build
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &unittests
BUILD=no TEST=unittests CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- &asan # ASAN build
@@ -62,9 +62,7 @@ _anchors:
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
fi
before_script:
# On travis bionic-amd64 gethostbyname() resolves "localhost" to 127.0.1.1
# so that makes various channel tests fail.
- sudo sed -i '/^127\.0\.1\.1\s/s/\blocalhost\b//g' /etc/hosts
- 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) '$*'"; }
@@ -100,7 +98,7 @@ _anchors:
# 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 -I{} -n1 -t asan_symbolize -l{}
- find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
branches:
except:
@@ -124,6 +122,10 @@ 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
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
make ${SHADOWOPT} -j${NPROC}
fi
- echo -en "travis_fold:end:build\\r\\033[0K"
@@ -215,11 +217,6 @@ jobs:
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
@@ -234,6 +231,11 @@ jobs:
- *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

@@ -30,6 +30,7 @@ SRC_ALL = \
src/channel.c \
src/charset.c \
src/cindent.c \
src/clientserver.c \
src/clipboard.c \
src/cmdexpand.c \
src/cmdhist.c \
@@ -161,6 +162,7 @@ SRC_ALL = \
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 \
@@ -181,8 +183,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 \
@@ -203,6 +203,7 @@ 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 \
@@ -605,6 +606,7 @@ SRC_AMI = \
# source files for Haiku (also in the extra archive)
SRC_HAIKU = \
README_haiku.txt \
src/os_haiku.h \
src/os_haiku.rdef \
src/gui_haiku.cc \

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

@@ -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 Haiku" section.

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

@@ -0,0 +1 @@
/^RUBY_CFLAGS\b/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/

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

@@ -0,0 +1 @@
/^CFLAGS\b/s/$/ -Wno-error=maybe-uninitialized/

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

@@ -0,0 +1,2 @@
/^CFLAGS\b/s/$/ -Wall -Wextra -Wshadow -Werror/
/^PERL_CFLAGS\b/s/$/ -Wno-error=unused-function/

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,4 +1,4 @@
*change.txt* For Vim version 8.2. Last change: 2020 Feb 09
*change.txt* For Vim version 8.2. Last change: 2020 Apr 11
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
@@ -1458,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)

View File

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

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 @@
*eval.txt* For Vim version 8.2. Last change: 2020 Mar 26
*eval.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1809,10 +1809,12 @@ v:errors Errors found by assert functions, such as |assert_true()|.
v:event Dictionary containing information about the current
|autocommand|. See the specific event for what it puts in
this dictionary.
The dictionary is emptied when the |autocommand|
finishes, please refer to |dict-identity| for how to get an
independent copy of it.
The dictionary is emptied when the |autocommand| finishes,
please refer to |dict-identity| for how to get an independent
copy of it. Use |deepcopy()| if you want to keep the
information after the event triggers. Example: >
au TextYankPost * let g:foo = deepcopy(v:event)
<
*v:exception* *exception-variable*
v:exception The value of the exception most recently caught and not
finished. See also |v:throwpoint| and |throw-variables|.
@@ -2861,6 +2863,7 @@ test_ignore_error({expr}) none ignore a specific error
test_null_blob() Blob null value for testing
test_null_channel() Channel null value for testing
test_null_dict() Dict null value for testing
test_null_function() Funcref null value for testing
test_null_job() Job null value for testing
test_null_list() List null value for testing
test_null_partial() Funcref null value for testing
@@ -2900,13 +2903,13 @@ win_execute({id}, {command} [, {silent}])
String execute {command} in window {id}
win_findbuf({bufnr}) List find windows containing {bufnr}
win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
win_gettype([{nr}]) String type of window {nr}
win_gotoid({expr}) Number go to window with ID {expr}
win_id2tabwin({expr}) List get tab and window nr from window ID
win_id2win({expr}) Number get window nr from window ID
win_screenpos({nr}) List get screen position of window {nr}
win_splitmove({nr}, {target} [, {options}])
Number move window {nr} to split of {target}
win_type([{nr}]) String type of window {nr}
winbufnr({nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
winheight({nr}) Number height of window {nr}
@@ -5136,10 +5139,11 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
<
*getcurpos()*
getcurpos() Get the position of the cursor. This is like getpos('.'), but
includes an extra item in the list:
[bufnum, lnum, col, off, curswant] ~
includes an extra "curswant" item in the list:
[0, lnum, col, off, curswant] ~
The "curswant" number is the preferred column when moving the
cursor vertically. Also see |getpos()|.
The first "bufnum" item is always zero.
This can be used to save and restore the cursor position: >
let save_cursor = getcurpos()
@@ -7764,7 +7768,7 @@ range({expr} [, {max} [, {stride}]]) *range()*
GetExpr()->range()
<
rand([{expr}]) *rand()*
rand([{expr}]) *rand()* *random*
Return a pseudo-random Number generated with an xoshiro128**
algorithm using seed {expr}. The returned number is 32 bits,
also on 64 bits systems, for consistency.
@@ -8637,8 +8641,8 @@ setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
GetLoclist()->setloclist(winnr)
setmatches({list} [, {win}]) *setmatches()*
Restores a list of matches saved by |getmatches() for the
current window|. Returns 0 if successful, otherwise -1. All
Restores a list of matches saved by |getmatches()| for the
current window. Returns 0 if successful, otherwise -1. All
current matches are cleared before the list is restored. See
example for |getmatches()|.
If {win} is specified, use the window with this number or
@@ -8916,18 +8920,10 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
Returns zero for success, -1 for failure.
Examples:
Set current index of the tag stack to 4: >
call settagstack(1005, {'curidx' : 4})
< Empty the tag stack of window 3: >
Examples (for more examples see |tagstack-examples||):
Empty the tag stack of window 3: >
call settagstack(3, {'items' : []})
< 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')
< Save and restore the tag stack: >
let stack = gettagstack(1003)
" do something else
@@ -9023,6 +9019,8 @@ simplify({filename}) *simplify()*
directory. In order to resolve all the involved symbolic
links before simplifying the path name, use |resolve()|.
Can also be used as a |method|: >
GetName()->simplify()
sin({expr}) *sin()*
Return the sine of {expr}, measured in radians, as a |Float|.
@@ -10873,6 +10871,8 @@ hpux HP-UX version of Vim.
iconv Can use iconv() for conversion.
insert_expand Compiled with support for CTRL-X expansion commands in
Insert mode. (always true)
job Compiled with support for |channel| and |job|
ipv6 Compiled with support for IPv6 networking in |channel|.
jumplist Compiled with |jumplist| support.
keymap Compiled with 'keymap' support.
lambda Compiled with |lambda| support.
@@ -11237,8 +11237,8 @@ It is allowed to define another function inside a function body.
You can provide default values for positional named arguments. This makes
them optional for function calls. When a positional argument is not
specified at a call, the default expression is used to initialize it.
This only works for functions declared with `:function`, not for lambda
expressions |expr-lambda|.
This only works for functions declared with `:function` or `:def`, not for
lambda expressions |expr-lambda|.
Example: >
function Something(key, value = 10)
@@ -11276,9 +11276,10 @@ Example that does NOT work: >
:function NoGood(first = a:second, second = 10)
:endfunction
<
When not using "...", the number of arguments in a function call must be equal
to the number of mandatory named arguments. When using "...", the number of
arguments may be larger.
When not using "...", the number of arguments in a function call must be at
least equal to the number of mandatory named arguments. When using "...", the
number of arguments may be larger than the total of mandatory and optional
arguments.
*local-variables*
Inside a function local variables can be used. These will disappear when the
@@ -11635,7 +11636,7 @@ This does NOT work: >
Like above, but append/add/subtract the value for each
|List| item.
:let [{name}, ..., ; {lastname}] = {expr1}
:let [{name}, ..., ; {lastname}] = {expr1} *E452*
Like |:let-unpack| above, but the |List| may have more
items than there are names. A list of the remaining
items is assigned to {lastname}. If there are no

View File

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

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

View File

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

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

@@ -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
@@ -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.
*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 @@
*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 Mar 02
*options.txt* For Vim version 8.2. Last change: 2020 Apr 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.
@@ -7957,7 +7960,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

View File

@@ -138,7 +138,7 @@ 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.
$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

View File

@@ -88,7 +88,7 @@ Stuff that does not work yet:
4. The $VIM directory *haiku-vimdir*
$VIM is the symbolic name for the place where Vims support files are stored.
$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

View File

@@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.2. Last change: 2020 Mar 21
*popup.txt* For Vim version 8.2. Last change: 2020 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -535,6 +535,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.
@@ -579,15 +581,15 @@ 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

@@ -1315,6 +1315,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*
@@ -4244,6 +4245,7 @@ E447 editing.txt /*E447*
E448 various.txt /*E448*
E449 eval.txt /*E449*
E45 message.txt /*E45*
E452 eval.txt /*E452*
E455 print.txt /*E455*
E456 print.txt /*E456*
E457 print.txt /*E457*
@@ -8578,6 +8580,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*
@@ -9348,6 +9351,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*
@@ -9503,6 +9507,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()*

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
@@ -545,6 +545,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

@@ -960,7 +960,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

View File

@@ -1,4 +1,4 @@
*testing.txt* For Vim version 8.2. Last change: 2020 Feb 22
*testing.txt* For Vim version 8.2. Last change: 2020 Apr 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -106,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}

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2020 Mar 27
*todo.txt* For Vim version 8.2. Last change: 2020 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -39,18 +39,37 @@ browser use: https://github.com/vim/vim/issues/1234
-------------------- Known bugs and current work -----------------------
Vim9 script:
more tests for # comments:
check all calls to ends_excmd() and test that space before # is needed.
next: ex_findpat()
func and partial types:
- Calling unknown user function does not give proper error message:
assert_equal('123text', RefDef2Arg()) typo for "RetDef2Arg"
- "func" inside "vim9script" doesn't work? (Ben Jackson, #5670)
- "let x = x + 1" should say that "x" is not defined (declare local after
evaluating expresion).
- :func inside vim9script must still use a:arg
- define function and create funcref in one step:
let ref = def(arg: type): rettype
body
enddef
- Test that a script-local function in Vim9 script cannot be deleted.
- 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.
Also:
- When wildcards are expanded, find `=expr` and evaluate it before invoking
the command. For example: :edit `=filename`
- "echo Func()" is an error if Func() does not return anything.
- Check all Ex commands, give error if they use an expression and should be
compiled.
- 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)
- make "let var: string" work in a vim9script.
- Disallow unlet for local/script/imported vars
- Support type for ":let"/":const" at script level for Vim9 script.
(Ben Jackson, #5671)
- :func inside vim9script must still use a:arg
Can we share the code for :let between direct execution and compiling?
- Disallow unlet for local/script/imported vars
- Make "++nr" work.
- Check that import in legacy script works and puts item in s:
- Error in any command in "vim9script" aborts sourcing.
@@ -60,23 +79,17 @@ Vim9 script:
- 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?
- Make accessing varargs faster: arg[expr]
EVAL expr
LOADVARARG (varags idx)
@@ -88,6 +101,7 @@ Popup windows:
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
@@ -106,6 +120,10 @@ Popup windows:
- Figure out the size and position better if wrapping inserts indent
Text properties:
- Patch to fix that split / join does not update properties properly (Axel
Forsman, #5839) Alternative: #5875.
- :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
@@ -145,6 +163,10 @@ Terminal debugger:
with another Vim instance.
Terminal emulator window:
- 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)
- 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
And use modeless selection. #2962
@@ -176,17 +198,22 @@ Terminal emulator window:
conversions.
Error numbers available:
E451, E452, E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E861, E900
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E856, E857, E861, E900
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
Patch to fix drawing error with DirectX. (James Grant, #5688)
Causes flicker on resizing.
Patch to make lambda functions faster (Ken Takata)
https://github.com/vim/vim/pull/5727
LGTM remark: size derived from user input (getenv). Don't see how.
Patch to use more FOR_ALL_ macros and use them. (Yegappan Lakshmanan, #5339)
Patch to support ipv6 for channel. (Ozaki Kiichi, #5893)
Patch to explain use of "%" in :!. (David Briscoe, #5591)

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 @@
*various.txt* For Vim version 8.2. Last change: 2020 Mar 19
*various.txt* For Vim version 8.2. Last change: 2020 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -375,6 +375,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'|
@@ -542,7 +543,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 @@
*vim9.txt* For Vim version 8.2. Last change: 2020 Mar 01
*vim9.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -58,6 +58,19 @@ 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 #. Normally this is a command to list text with
numbers, but you can also use `:number` for that. >
let count = 0 # number of occurences of Ni!
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"
@@ -73,6 +86,29 @@ In the function body:
...
Functions are script-local by default ~
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. To define a global function 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. To define a global function the "g:"
prefix must be used.
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 function scope.
- Local to the current script file.
- Imported functions, see `:import`.
- Global.
Global functions can 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.
Variable declarations with :let and :const ~
Local variables need to be declared with `:let`. Local constants need to be
@@ -120,6 +156,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 must be prefixed with "g:", also at the script level.
However, global user defined functions are used without "g:". >
vim9script
let script_local = 'text'
let g:global = 'value'
let Funcref = ThatFunction
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
used to repeat a `:substitute` command.
@@ -156,6 +199,61 @@ 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)
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 ~
|curly-braces-names| cannot be used.
@@ -179,6 +277,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.
@@ -213,8 +314,7 @@ few exceptions.
blob non-empty
list non-empty (different from JavaScript)
dictionary non-empty (different from JavaScript)
func 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
@@ -249,8 +349,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 function is not
expected to return anything.
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:
@@ -296,29 +396,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
partial
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>
@@ -373,9 +495,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: >

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Mar 19
" Last Change: 2020 Apr 17
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -234,13 +234,13 @@ au BufNewFile,BufRead *.bl setf blank
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" BSDL
au BufNewFile,BufRead *.bsdl setf bsdl
au BufNewFile,BufRead *bsd,*.bsdl setf bsdl
" Bazel (http://bazel.io)
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
@@ -1646,9 +1646,11 @@ 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 */.config/systemd/user/*.d/.#* setf systemd
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc

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,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Mar 25
" (fix by Jason Franklin)
" Last Change: 2020 Apr 13
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -189,7 +188,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 +204,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 +213,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

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

View File

@@ -1,9 +1,9 @@
" Vim filetype plugin file
" Language: Perl 6
" 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: 2013-07-21
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
"
" Based on ftplugin/perl.vim by Dan Sharp <dwsharp at hotmail dot com>

View File

@@ -3,7 +3,7 @@
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
" Original Maintainer: Nikolai Weibull <now@bitwi.se>
" Website: https://github.com/marshallward/vim-restructuredtext
" Latest Revision: 2018-12-29
" Latest Revision: 2020-03-31
if exists("b:did_ftplugin")
finish
@@ -34,7 +34,7 @@ if exists("g:rst_style") && g:rst_style != 0
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
endif
if has('patch-7.3.867') " Introduced the TextChanged event.
if g:rst_fold_enabled != 0 && has('patch-7.3.867') " Introduced the TextChanged event.
setlocal foldmethod=expr
setlocal foldexpr=RstFold#GetRstFold()
setlocal foldtext=RstFold#GetRstFoldText()

View File

@@ -1,7 +1,41 @@
" Vim filetype plugin file
" Language: systemd.unit(5)
" Language: systemd.unit(5)
" Keyword Lookup Support: Enno Nagel <enno.nagel+vim@gmail.com>
if !exists('b:did_ftplugin')
" Looks a lot like dosini files.
runtime! ftplugin/dosini.vim
endif
if !has('unix')
finish
endif
if !has('gui_running')
command! -buffer -nargs=1 Sman silent exe '!' . KeywordLookup_systemd(<q-args>) | redraw!
elseif has('terminal')
command! -buffer -nargs=1 Sman silent exe 'term ' . KeywordLookup_systemd(<q-args>)
else
finish
endif
if !exists('*KeywordLookup_systemd')
function KeywordLookup_systemd(keyword) abort
let matches = matchlist(getline(search('\v^\s*\[\s*.+\s*\]\s*$', 'nbWz')), '\v^\s*\[\s*(\k+).*\]\s*$')
if len(matches) > 1
let section = matches[1]
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section
else
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd'
endif
endfunction
endif
setlocal iskeyword+=-
setlocal keywordprg=:Sman
if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin)
let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<'
else
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
endif

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 47
" Last Change: 2016 Oct. 29
" 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-indent from Vim
" Credits:
@@ -39,10 +40,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,9 +1,9 @@
" Vim indent file
" Language: Perl 5
" 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: 2017-01-04
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Suggestions and improvements by :
" Aaron J. Sherman (use syntax for hints)

View File

@@ -1,9 +1,9 @@
" Vim indent file
" Language: Perl 6
" 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: 2017 Jun 13
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Andy Lester <andy@petdance.com>
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
"

View File

@@ -1,7 +1,9 @@
" Vim indent file
" Language: reStructuredText Documentation Format
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-08-03
" Vim reST indent file
" Language: reStructuredText Documentation Format
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2020-03-31
if exists("b:did_indent")
finish
@@ -18,6 +20,12 @@ endif
let s:itemization_pattern = '^\s*[-*+]\s'
let s:enumeration_pattern = '^\s*\%(\d\+\|#\)\.\s\+'
let s:note_pattern = '^\.\. '
function! s:get_paragraph_start()
let paragraph_mark_start = getpos("'{")[1]
return getline(paragraph_mark_start) =~ '\S' ? paragraph_mark_start : paragraph_mark_start + 1
endfunction
function GetRSTIndent()
let lnum = prevnonblank(v:lnum - 1)
@@ -28,6 +36,13 @@ function GetRSTIndent()
let ind = indent(lnum)
let line = getline(lnum)
let psnum = s:get_paragraph_start()
if psnum != 0
if getline(psnum) =~ s:note_pattern
let ind = 3
endif
endif
if line =~ s:itemization_pattern
let ind += 2
elseif line =~ s:enumeration_pattern

View File

@@ -79,7 +79,7 @@ menutrans &Global\ Settings Opcions\ &globals
menutrans Never &Mai
menutrans Block\ Selection &Selecci<EFBFBD>\ de\ blocs
menutrans Insert\ mode Mode\ d'&inserci<EFBFBD>
menutrans Block\ and\ Insert &Blocs i inserci<EFBFBD>
menutrans Block\ and\ Insert &Blocs\ i\ inserci<EFBFBD>
menutrans Always S&empre
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Mode\ d'&inserci<EFBFBD><Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Co&mpatible\ amb\ Vi<Tab>:set\ cp!

View File

@@ -1,7 +1,7 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2019-09-10
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -122,7 +122,7 @@ menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop <09><><EFBFBD>Ʊ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Soft Tabstop)(&T)
menutrans Soft\ &Tabstop <09><><EFBFBD>Ʊ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Soft\ Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
@@ -435,8 +435,8 @@ menutrans Set\ '&filetype'\ Too Ҳ
menutrans Sorting\ Method <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
" Netrw.Style.Sorting Method menuitems {{{3
menutrans Name<tab>s <09>ļ<EFBFBD><EFBFBD><EFBFBD><tab>s
menutrans Time<tab>s <09>޸<EFBFBD>ʱ<EFBFBD><EFBFBD><tab>s
menutrans Size<tab>s <09><>С<tab>s
menutrans Time<tab>s <09>޸<EFBFBD>ʱ<EFBFBD><EFBFBD><tab>s
menutrans Size<tab>s <09><>С<tab>s
menutrans Exten<tab>s <09><>չ<EFBFBD><EFBFBD><tab>s
" }}}
" }}}

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvo
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Dal<EFBFBD><EFBFBD>\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &P<EFBFBD>edchoz<EFBFBD>\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvořit\ soubor\ tagů
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Další\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Předchozí\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvo
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Dal<EFBFBD><EFBFBD>\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &P<EFBFBD>edchoz<EFBFBD>\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvorit\ soubor\ tagu
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Dalsi\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Predchozi\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -1,6 +1,6 @@
" Menu Translations: Danish
" Maintainer: scootergrisen
" Last Change: 2018 Aug 17
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -390,7 +390,7 @@ menut Preview<tab>p Forhåndsvis<tab>p
menut Edit\ File\ Hiding\ List<tab><ctrl-h> Rediger\ liste\ til\ filskjulning
menut Edit\ Sorting\ Sequence<tab>S Rediger\ sorteringssekvens<tab>S
menut Quick\ Hide/Unhide\ Dot\ Files<tab>gh Hurtig\ skjul/vis\ punktum-filer<tab>gh
menut Refresh\ Listing<tab><ctrl-l> Genopfrisk\ oplistning<tab>\<c-l> ikke sikker det med \ er korrekt
menut Refresh\ Listing<tab><ctrl-l> Genopfrisk\ oplistning<tab>\<c-l>\ ikke\ sikker\ det\ med\ er\ korrekt
menut Settings/Options<tab>:NetrwSettings Indstillinger/valgmuligheder<tab>
menut Delete\ File/Directory<tab>D Slet\ fil/mappe<tab>D
@@ -406,10 +406,10 @@ menut In\ New\ Vertical\ Window<tab>v I\ nyt\ lodret\ vindue<tab>v
menut Explore Gennemse
menut Directory\ Name Mappenavn<tab>:Explore
menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ test29<tab>:Explore */
menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ test30<tab>:Explore **/
menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// test31<tab>:Explore *//
menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// test32<tab>:Explore **//
menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ test29<tab>:Explore\ */
menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ test30<tab>:Explore\ **/
menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// test31<tab>:Explore\ *//
menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// test32<tab>:Explore\ **//
menut Next\ Match<tab>:Nexplore Næste\ match<tab>:Nexplore<cr>
menut Prev\ Match<tab>:Pexplore Forrige\ match<tab>:Pexplore<cr>

View File

@@ -188,7 +188,7 @@ menutrans Set\ '&filetype'\ too Auch\ '&filetype'\ setzen
menutrans &Off &Aus
menutrans &Manual &Manuell
menutrans A&utomatic A&utomatisch
menutrans on/off\ for\ &This\ file An/Aus (diese\ &Datei)
menutrans on/off\ for\ &This\ file An/Aus\ (diese\ &Datei)
menutrans Co&lor\ test Test\ der\ Farben
menutrans &Highlight\ test Test\ der\ Un&terstreichungen
menutrans &Convert\ to\ HTML Konvertieren\ nach\ &HTML

View File

@@ -1,6 +1,6 @@
" Menu Translations: Finnish
" Maintainer: Flammie Pirinen <flammie@iki.fi>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -70,7 +70,7 @@ menutrans &Context\ lines &Huomioitavat\ kontekstirivit
" Subsubmenu:
" Accels: ELSOA
menutrans &Virtual\ Edit &Virtuaalimuokkaus
menutrans Never &Ei koskaan
menutrans Never &Ei\ koskaan
menutrans Block\ Selection &Lohkovalinta
menutrans Insert\ mode &Sy<EFBFBD>tt<EFBFBD>tila
menutrans Block\ and\ Insert L&ohkosy<EFBFBD>tt<EFBFBD>tila
@@ -95,7 +95,7 @@ menutrans F&ile\ Settings Tiedostoasetu&kset
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Rivi&numerointi<Tab>:set\ nu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! &Listaustila<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Rivitys<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! &Sanoittainen rivitys<Tab>:set\ lbr!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! &Sanoittainen\ rivitys<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Muuta\ &tabit\ v<EFBFBD>leiksi<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! &Automaattinen\ sisennys<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &C-kielen\ sisennys<Tab>:set\ cin!
@@ -111,7 +111,7 @@ let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Peru "
menutrans C&olor\ Scheme &V<EFBFBD>riteema
menutrans &Keymap &N<EFBFBD>pp<EFBFBD>inkartta
menutrans None Ei mik<EFBFBD><EFBFBD>n
menutrans None Ei\ mik<EFBFBD><EFBFBD>n
menutrans Select\ Fo&nt\.\.\. Valitse\ &fontti\.\.\.

View File

@@ -1,7 +1,7 @@
" Menu Translations: Hungarian (Magyar)
" Original Translation: Zolt<6C>n <20>rp<72>dffy
" Maintained By: Kontra Gergely <kgergely@mcl.hu>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" I'm working on defining (unaccented) hotkeys for everything.
" I want to remove y and z hotkeys, because on the hungarian keymap they're at
" a differrent place.
@@ -68,7 +68,7 @@ menutrans &Paste<Tab>"+gP &Beilleszt
menutrans Put\ &Before<Tab>[p Berak<EFBFBD>s\ e&l<EFBFBD><Tab>[p
menutrans Put\ &After<Tab>]p Berak<EFBFBD>s\ &m<EFBFBD>g<EFBFBD><Tab>]p
menutrans &Delete<Tab>x &T<EFBFBD>rl<EFBFBD>s<Tab>x
menutrans &Select\ all<Tab>ggVG A&z\ <20>sszes kijel<EFBFBD>l<EFBFBD>se<Tab>ggvG
menutrans &Select\ all<Tab>ggVG A&z\ <20>sszes\ kijel<EFBFBD>l<EFBFBD>se<Tab>ggvG
menutrans &Find\.\.\. Ke&res<EFBFBD>s\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Keres<EFBFBD>s\ <20>s\ c&sere\.\.\.
menutrans Find\ and\ Rep&lace<Tab>:%s Keres<EFBFBD>s\ <20>s\ c&sere<Tab>:%s

View File

@@ -1,7 +1,7 @@
" Menu Translations: Hungarian (Magyar)
" Original Translation: Zoltán Árpádffy
" Maintained By: Kontra Gergely <kgergely@mcl.hu>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
"
" This file was converted from menu_hu_hu.iso_8859-2.vim. See there for
" remarks.
@@ -52,7 +52,7 @@ menutrans &Paste<Tab>"+gP &Beillesztés<Tab>"+gP
menutrans Put\ &Before<Tab>[p Berakás\ e&<Tab>[p
menutrans Put\ &After<Tab>]p Berakás\ &mögé<Tab>]p
menutrans &Delete<Tab>x &Törlés<Tab>x
menutrans &Select\ all<Tab>ggVG A&z\ összes kijelölése<Tab>ggvG
menutrans &Select\ all<Tab>ggVG A&z\ összes\ kijelölése<Tab>ggvG
menutrans &Find\.\.\. Ke&resés\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Keresés\ és\ c&sere\.\.\.
menutrans Find\ and\ Rep&lace<Tab>:%s Keresés\ és\ c&sere<Tab>:%s

View File

@@ -59,7 +59,7 @@ menutrans Startup\ &Settings R
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Munsturau<EFBFBD>kenning\ <20>\/af<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Hunsa\ h<EFBFBD>-l<EFBFBD>gstafi\ <20>\/af<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! S<EFBFBD>na\ P<EFBFBD>run <20>\/af<Tab>:set\ sm!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! S<EFBFBD>na\ P<EFBFBD>run\ <20>\/af<Tab>:set\ sm!
menutrans &Context\ lines Samhengisl<EFBFBD>nur
@@ -70,7 +70,7 @@ menutrans Insert\ mode Innskotshamur
menutrans Block\ and\ Insert B<EFBFBD>lkval\ og\ Innskotshamur
menutrans Always Alltaf
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Innskotshamur\ <20>\/af<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! Vi\ Samh<EFBFBD>fanleiki <20>\/af<Tab>:set\ cp!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! Vi\ Samh<EFBFBD>fanleiki\ <20>\/af<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Leita\ <20>\ Sl<EFBFBD><EFBFBD>\.\.\.
menutrans Ta&g\ Files\.\.\. Merkja\ Skr<EFBFBD>r\.\.\.
@@ -90,7 +90,7 @@ menutrans Toggle\ &List\ Mode<Tab>:set\ list! Listahamur\
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! L<EFBFBD>nuhlaup\ <20>\/af<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! L<EFBFBD>nuhlaup\ <20>\ or<EFBFBD>i\ <20>\/af<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! Tab-v<EFBFBD>kkun\ <20>\/af<Tab>:set\ et!
menutrans Toggle\ &Auto Indenting<Tab>:set\ ai! Sj<EFBFBD>lfvirkur\ Inndr<EFBFBD>ttur\ <20>\/af<Tab>:set\ ai!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! Sj<EFBFBD>lfvirkur\ Inndr<EFBFBD>ttur\ <20>\/af<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! C-Inndr<EFBFBD>ttur\ <20>\/af<Tab>:set\ cin!
" other options

View File

@@ -2,7 +2,7 @@
" Maintainer: Antonio Colombo <azc100@gmail.com>
" Vlad Sandrini <vlad.gently@gmail.com>
" Luciano Montanaro <mikelima@cirulla.net>
" Last Change: 2018 May 16
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -116,8 +116,8 @@ menut Toggle\ &List\ Mode<Tab>:set\ list! Modo\ &List\ S
menut Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Linee\ &Continuate\ S<EFBFBD>/No<Tab>:set\ wrap!
menut Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! A\ capo\ alla\ &Parola\ S<EFBFBD>/No<Tab>:set\ lbr!
menut Toggle\ Tab\ &expanding<Tab>:set\ et! &Espandi\ Tabulazione\ S<EFBFBD>/No<Tab>:set\ et!
menut Toggle\ &Auto\ Indenting<Tab>:set\ ai! Indentazione\ &Automatica\ S<EFBFBD>/No<Tab>:set ai!
menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin! Indentazione\ stile\ &C\ S<EFBFBD>/No<Tab>:set cin!
menut Toggle\ &Auto\ Indenting<Tab>:set\ ai! Indentazione\ &Automatica\ S<EFBFBD>/No<Tab>:set\ ai!
menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin! Indentazione\ stile\ &C\ S<EFBFBD>/No<Tab>:set\ cin!
" -SEP2-
menut &Shiftwidth &Spazi\ rientranza
"menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR> &Spazi\ rientranza.2<Tab>:set\ sw=2\ sw?<CR>
@@ -360,8 +360,8 @@ menut Copy Copia
menut Paste Incolla
" -sep3-
menut Find Cerca
menut FindNext Cerca Successivo
menut FindPrev Cerca Precedente
menut FindNext Cerca\ Successivo
menut FindPrev Cerca\ Precedente
menut Replace Sostituisci
" -sep4-
menut New Nuova\ finestra

View File

@@ -1,6 +1,6 @@
" Menu Translations: Norwegian / Norsk (Bokm<6B>l)
" Maintainer: <09>yvind A. Holm <sunny@sunbase.org>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" menu_no_no.latin1.vim 289 2004-05-16 18:00:52Z sunny
" Quit when menu translations have already been done.
@@ -46,7 +46,7 @@ menutrans &Edit &Rediger
menutrans Settings\ &Window &Innstillinger
menutrans &Global\ Settings Glo&bale\ innstillinger
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Utheving\ av\ s<EFBFBD>ketekst\ av/p<EFBFBD><Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Forskjell\ mellom\ store/sm<73> bokstaver\ av/p<EFBFBD><Tab>:set\ ic!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Forskjell\ mellom\ store/sm<73>\ bokstaver\ av/p<EFBFBD><Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Indikering\ av\ samsvarende\ parentes\ av/p<EFBFBD><Tab>:set\ sm!
menutrans &Context\ lines &Kontekstlinjer
menutrans &Virtual\ Edit Vi&rtuell\ redigering

View File

@@ -1,6 +1,6 @@
" Menu Translations: Portugu<67>s do Brasil
" Maintainer: Jos<6F> de Paula <jose@infoviaweb.com>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
"
" Quit when menu translations have already been done.
@@ -101,9 +101,9 @@ menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Ativar/Desativar\ &numera
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Ativar/Desativar\ modo\ &list<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Ativar/Desativar\ &quebra\ de\ linhas<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Ativar/Desativar\ quebra\ na\ &palavra<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Ativar/Desativar\ expans<EFBFBD>o de tabs<Tab>:set\ et!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Ativar/Desativar\ expans<EFBFBD>o\ de\ tabs<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Ativar/Desativar\ &auto-indenta<EFBFBD><EFBFBD>o<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Ativar/Desativar\ indenta<EFBFBD><EFBFBD>o estilo &C<Tab>:set\ cin!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Ativar/Desativar\ indenta<EFBFBD><EFBFBD>o\ estilo\ &C<Tab>:set\ cin!
" other options
menutrans &Shiftwidth Largura\ da\ &indenta<EFBFBD><EFBFBD>o
@@ -144,12 +144,12 @@ menutrans &Convert\ to\ HEX<Tab>:%!xxd Converter\ para\ hexadecimal<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Conver&ter\ de\ volta<Tab>:%!xxd\ -r
" Tools.Spelling menu
menutrans &Spell Check On &Ativar Corre<EFBFBD><EFBFBD>o Ortogr<EFBFBD>fica
menutrans &Spell Check Off &Desativar Corre<EFBFBD><EFBFBD>o Ortogr<EFBFBD>fica
menutrans To &Next error<Tab>]s &Pr<EFBFBD>ximo Erro<Tab>]s
menutrans To &Previous Error<Tab>[s Erro A&nterior<Tab>[s
menutrans Suggest &Corrections<Tab>z= &Sugerir Corre<EFBFBD><EFBFBD>es<Tab>z=
menutrans &Repeat correction<Tab>:spellrepall &Repetir Corre<EFBFBD><EFBFBD>o<Tab>:spellrepall
menutrans &Spell\ Check\ On &Ativar\ Corre<EFBFBD><EFBFBD>o\ Ortogr<EFBFBD>fica
menutrans &Spell\ Check\ Off &Desativar\ Corre<EFBFBD><EFBFBD>o\ Ortogr<EFBFBD>fica
menutrans To\ &Next\ error<Tab>]s &Pr<EFBFBD>ximo\ Erro<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s Erro\ A&nterior<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Sugerir\ Corre<EFBFBD><EFBFBD>es<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall &Repetir\ Corre<EFBFBD><EFBFBD>o<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Ingl<EFBFBD>s
menutrans Set\ language\ to\ "en_au" Ingl<EFBFBD>s\ (en_au)
@@ -158,7 +158,7 @@ menutrans Set\ language\ to\ "en_gb" Ingl
menutrans Set\ language\ to\ "en_nz" Ingl<EFBFBD>s\ (en_nz)
menutrans Set\ language\ to\ "en_us" Ingl<EFBFBD>s\ (en_us)
menutrans &Find\ More\ Languages &Buscar mais idiomas
menutrans &Find\ More\ Languages &Buscar\ mais\ idiomas
" Tools.Fold Menu
menutrans &Enable/Disable\ folds<Tab>zi &Ativar/Desativar\ dobras<Tab>zi

View File

@@ -98,9 +98,9 @@ menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Activar/Desactivar\ &numera
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Activar/Desactivar\ modo\ &list<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Activar/Desactivar\ &quebra\ de\ linhas<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Activar/Desactivar\ quebra\ na\ &palavra<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Activar/Desactivar\ expans<EFBFBD>o de tabs<Tab>:set\ et!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Activar/Desactivar\ expans<EFBFBD>o\ de\ tabs<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Activar/Desactivar\ &auto-indenta<EFBFBD><EFBFBD>o<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Activar/Desactivar\ indenta<EFBFBD><EFBFBD>o estilo &C<Tab>:set\ cin!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Activar/Desactivar\ indenta<EFBFBD><EFBFBD>o\ estilo\ &C<Tab>:set\ cin!
" other options
menutrans &Shiftwidth Largura\ da\ &indenta<EFBFBD><EFBFBD>o

View File

@@ -1,6 +1,6 @@
" Menu Translations: Slovak
" Translated By: Martin Lacko <lacko@host.sk>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -53,12 +53,12 @@ menutrans &Delete<Tab>x Vy&maza
menutrans &Find\.\.\. &N<EFBFBD>js<EFBFBD>\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. N&ahradi<EFBFBD>\.\.\.
menutrans Settings\ &Window Mo&<26>nosti
menutrans &Global\ Settings &Glob<EFBFBD>lne mo<EFBFBD>nosti
menutrans &Global\ Settings &Glob<EFBFBD>lne\ mo<EFBFBD>nosti
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Prepn<EFBFBD><EFBFBD>\ paletu\ zv<EFBFBD>raz<EFBFBD>ovania<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepn<EFBFBD><EFBFBD>\ &ignorovanie ve<EFBFBD>kosti<Tab>:set\ ic!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepn<EFBFBD><EFBFBD>\ &ignorovanie\ ve<EFBFBD>kosti<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Prepn<EFBFBD><EFBFBD>\ &uk<EFBFBD>za<EFBFBD>\ zhodu<Tab>:set\ sm!
menutrans &Context\ lines &Kontextov<EFBFBD>\ riadky
menutrans &Virtual\ Edit &Virtu<EFBFBD>lne <20>pravy
menutrans &Virtual\ Edit &Virtu<EFBFBD>lne\ <20>pravy
menutrans Never Nikdy
menutrans Block\ Selection Blokov<EFBFBD>\ v<EFBFBD>ber
menutrans Insert\ mode Re<EFBFBD>im\ vkladania
@@ -67,7 +67,7 @@ menutrans Always V
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Prepn<EFBFBD><EFBFBD>\ re<EFBFBD>i&m\ vkladania<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Prepn<EFBFBD><EFBFBD>\ vi\ kompatibilitu<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Cesta\ &h<EFBFBD>adania\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gov<EFBFBD> s<EFBFBD>bory\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gov<EFBFBD>\ s<EFBFBD>bory\.\.\.
menutrans Toggle\ &Toolbar Prepn<EFBFBD><EFBFBD>\ &panel
menutrans Toggle\ &Bottom\ Scrollbar Prepn<EFBFBD><EFBFBD>\ spodn<EFBFBD>\ posuvn<EFBFBD>k
menutrans Toggle\ &Left\ Scrollbar Prepn<EFBFBD><EFBFBD>\ <20>av<EFBFBD>\ posuvn<EFBFBD>k
@@ -95,7 +95,7 @@ menutrans &Folding &Vn
menutrans &Enable/Disable\ folds<Tab>zi Zapn<70><6E>/Vypn<EFBFBD><EFBFBD>\ vn<EFBFBD>rani&e<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Zobrazi<EFBFBD>\ kurzoro&v<EFBFBD>\ riadok<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Zobrazi<EFBFBD>\ iba\ kurzorov<EFBFBD>\ riadok<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm Zatvori<EFBFBD>\ viac \vnoren<EFBFBD><Tab>zm
menutrans C&lose\ more\ folds<Tab>zm Zatvori<EFBFBD>\ viac\ vnoren<EFBFBD><Tab>zm
menutrans &Close\ all\ folds<Tab>zM Zatvor&i<EFBFBD>\ v<EFBFBD>etky\ vnorenia<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr O&tvori<EFBFBD>\ viac\ vnoren<EFBFBD><Tab>zr
menutrans &Open\ all\ folds<Tab>zR &Otvori<EFBFBD>\ v<EFBFBD>etky\ vnorenia<Tab>zR
@@ -139,7 +139,7 @@ menutrans &Delete Vymaza
menutrans &Alternate Zmeni<EFBFBD>
menutrans &Next <09>&al<EFBFBD>ia
menutrans &Previous &Predch<EFBFBD>dzaj<EFBFBD>ca
menutrans [No File] [<5B>iadny\ s<EFBFBD>bor]
menutrans [No\ File] [<5B>iadny\ s<EFBFBD>bor]
" Window menu
menutrans &Window &Okn<EFBFBD>
@@ -161,7 +161,7 @@ menutrans &Equal\ Size<Tab>^W= Rovnak
menutrans &Max\ Height<Tab>^W_ &Maxim<EFBFBD>lna\ v<EFBFBD><EFBFBD>ka<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ Minim<EFBFBD>lna\ v<EFBFBD>&<26>ka<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| Maxim<EFBFBD>lna\ <20><>rka<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| Minim<EFBFBD>lna <20>irka<Tab>^W1\|
menutrans Min\ Widt&h<Tab>^W1\| Minim<EFBFBD>lna\ <20>irka<Tab>^W1\|
menutrans Rotate\ &Up<Tab>^WR Rotova&<26>\ nahor<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr Rotova<EFBFBD>\ na&dol<Tab>^Wr
menutrans Select\ Fo&nt\.\.\. Vy&bra<EFBFBD>\ p<EFBFBD>smo\.\.\.

View File

@@ -1,7 +1,7 @@
" Menu Translations: Slovenian / Slovensko
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
" Last Change: 2016 Oct 17
" Last Change: 2020 Apr 23
" vim:set foldmethod=marker tabstop=8:
" TODO: add/check all '&'s
@@ -52,7 +52,7 @@ menutrans Find\ and\ Rep&lace\.\.\. Poi
" [-- SETTINGS --]
menutrans Settings\ &Window Nastavitve\ \.\.\.
menutrans Startup\ &Settings Za<EFBFBD>etne nastavitve
menutrans Startup\ &Settings Za<EFBFBD>etne\ nastavitve
menutrans &Global\ Settings &Globalne\ nastavitve
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Vklju<EFBFBD>i/izklju<EFBFBD>i\ poudarjanje\ iskanega\ niza<Tab>:set\ hls!
@@ -92,7 +92,7 @@ menutrans Toggle\ &C-indenting<Tab>:set\ cin! Vklju
" other options
menutrans &Shiftwidth <09>irina\ zamika\ vrstic
menutrans Soft\ &Tabstop <09>irina &tabulatorja
menutrans Soft\ &Tabstop <09>irina\ &tabulatorja
menutrans Te&xt\ Width\.\.\. <09>irina\ besedila\ \.\.\.
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.

View File

@@ -1,6 +1,6 @@
" Menu Translations: Slovak
" Translated By: Martin Lacko <lacko@host.sk>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -53,12 +53,12 @@ menutrans &Delete<Tab>x Vy&maza
menutrans &Find\.\.\. &N<EFBFBD>js<EFBFBD>\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. N&ahradi<EFBFBD>\.\.\.
menutrans Settings\ &Window Mo&<26>nosti
menutrans &Global\ Settings &Glob<EFBFBD>lne mo<EFBFBD>nosti
menutrans &Global\ Settings &Glob<EFBFBD>lne\ mo<EFBFBD>nosti
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Prepn<EFBFBD><EFBFBD>\ paletu\ zv<EFBFBD>raz<EFBFBD>ovania<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepn<EFBFBD><EFBFBD>\ &ignorovanie ve<EFBFBD>kosti<Tab>:set\ ic!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepn<EFBFBD><EFBFBD>\ &ignorovanie\ ve<EFBFBD>kosti<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Prepn<EFBFBD><EFBFBD>\ &uk<EFBFBD>za<EFBFBD>\ zhodu<Tab>:set\ sm!
menutrans &Context\ lines &Kontextov<EFBFBD>\ riadky
menutrans &Virtual\ Edit &Virtu<EFBFBD>lne <20>pravy
menutrans &Virtual\ Edit &Virtu<EFBFBD>lne\ <20>pravy
menutrans Never Nikdy
menutrans Block\ Selection Blokov<EFBFBD>\ v<EFBFBD>ber
menutrans Insert\ mode Re<EFBFBD>im\ vkladania
@@ -67,7 +67,7 @@ menutrans Always V
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Prepn<EFBFBD><EFBFBD>\ re<EFBFBD>i&m\ vkladania<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Prepn<EFBFBD><EFBFBD>\ vi\ kompatibilitu<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Cesta\ &h<EFBFBD>adania\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gov<EFBFBD> s<EFBFBD>bory\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gov<EFBFBD>\ s<EFBFBD>bory\.\.\.
menutrans Toggle\ &Toolbar Prepn<EFBFBD><EFBFBD>\ &panel
menutrans Toggle\ &Bottom\ Scrollbar Prepn<EFBFBD><EFBFBD>\ spodn<EFBFBD>\ posuvn<EFBFBD>k
menutrans Toggle\ &Left\ Scrollbar Prepn<EFBFBD><EFBFBD>\ <20>av<EFBFBD>\ posuvn<EFBFBD>k
@@ -95,7 +95,7 @@ menutrans &Folding &Vn
menutrans &Enable/Disable\ folds<Tab>zi Zapn<70><6E>/Vypn<EFBFBD><EFBFBD>\ vn<EFBFBD>rani&e<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Zobrazi<EFBFBD>\ kurzoro&v<EFBFBD>\ riadok<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Zobrazi<EFBFBD>\ iba\ kurzorov<EFBFBD>\ riadok<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm Zatvori<EFBFBD>\ viac \vnoren<EFBFBD><Tab>zm
menutrans C&lose\ more\ folds<Tab>zm Zatvori<EFBFBD>\ viac\ vnoren<EFBFBD><Tab>zm
menutrans &Close\ all\ folds<Tab>zM Zatvor&i<EFBFBD>\ v<EFBFBD>etky\ vnorenia<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr O&tvori<EFBFBD>\ viac\ vnoren<EFBFBD><Tab>zr
menutrans &Open\ all\ folds<Tab>zR &Otvori<EFBFBD>\ v<EFBFBD>etky\ vnorenia<Tab>zR
@@ -139,7 +139,7 @@ menutrans &Delete Vymaza
menutrans &Alternate Zmeni<EFBFBD>
menutrans &Next <09>&al<EFBFBD>ia
menutrans &Previous &Predch<EFBFBD>dzaj<EFBFBD>ca
menutrans [No File] [<5B>iadny\ s<EFBFBD>bor]
menutrans [No\ File] [<5B>iadny\ s<EFBFBD>bor]
" Window menu
menutrans &Window &Okn<EFBFBD>
@@ -161,7 +161,7 @@ menutrans &Equal\ Size<Tab>^W= Rovnak
menutrans &Max\ Height<Tab>^W_ &Maxim<EFBFBD>lna\ v<EFBFBD><EFBFBD>ka<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ Minim<EFBFBD>lna\ v<EFBFBD>&<26>ka<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| Maxim<EFBFBD>lna\ <20><>rka<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| Minim<EFBFBD>lna <20>irka<Tab>^W1\|
menutrans Min\ Widt&h<Tab>^W1\| Minim<EFBFBD>lna\ <20>irka<Tab>^W1\|
menutrans Rotate\ &Up<Tab>^WR Rotova&<26>\ nahor<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr Rotova<EFBFBD>\ na&dol<Tab>^Wr
menutrans Select\ Fo&nt\.\.\. Vy&bra<EFBFBD>\ p<EFBFBD>smo\.\.\.

View File

@@ -1,6 +1,6 @@
" Menu Translations: Swedish
" Maintainer: Johan Svedberg <johan@svedberg.com>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -51,7 +51,7 @@ menutrans &Redo<Tab>^R &G
menutrans Rep&eat<Tab>\. &Repetera<Tab>\.
menutrans Cu&t<Tab>"+x Klipp\ &ut<Tab>"+x
menutrans &Copy<Tab>"+y &Kopiera<Tab>"+y
menutrans &Paste<Tab>"+gP Klistra &in<Tab>"+gP
menutrans &Paste<Tab>"+gP Klistra\ &in<Tab>"+gP
menutrans Put\ &Before<Tab>[p S<EFBFBD>tt\ in\ &f<EFBFBD>re<Tab>[p
menutrans Put\ &After<Tab>]p S<EFBFBD>tt\ in\ &efter<Tab>]p
menutrans &Select\ All<Tab>ggVG &Markera\ allt<Tab>ggVG

View File

@@ -11,19 +11,19 @@ set cpo&vim
scriptencoding cp1254
" Top
menutrans &File &Dosya
menutrans &Edit D<EFBFBD>&zen
menutrans &File &Dosya
menutrans &Edit D<EFBFBD>&zen
menutrans &Tools &Ara<EFBFBD>lar
menutrans &Syntax &S<EFBFBD>zdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yard<EFBFBD>m
menutrans &Help &Yard<EFBFBD>m
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bak<EFBFBD><EFBFBD><Tab><F1>
menutrans &User\ Manual &Kullan<EFBFBD>m\ K<EFBFBD>lavuzu
menutrans &User\ Manual &Kullan<EFBFBD>m\ K<EFBFBD>lavuzu
menutrans &How-To\ Links &Nas<EFBFBD>l\ Yap<EFBFBD>l<EFBFBD>r?
menutrans &Find\.\.\. &Bul\.\.\.
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Te<EFBFBD>ekk<EFBFBD>rler
menutrans Co&pying &Da<EFBFBD><EFBFBD>t<EFBFBD>m
@@ -37,38 +37,38 @@ menutrans &About &Hakk
menutrans &Open\.\.\.<Tab>:e &A<EFBFBD>\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ B<EFBFBD>l<EFBFBD>mde\ A<EFBFBD>\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ A<EFBFBD>\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Kayde&t<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farkl<EFBFBD> Kaydet\.\.\.<Tab>:sav
menutrans Save\ &As\.\.\.<Tab>:sav &Farkl<EFBFBD>\ Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&r<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>r\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>r\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&ma\ <20>le\ Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>r\.\.\.
"--------------------
menutrans &Print Ya&zd<EFBFBD>r
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve <20><>k<Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve\ <20><>k<Tab>:wqa
menutrans E&xit<Tab>:qa <09><>&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&p<><70>t<EFBFBD>r<Tab>"+gP
menutrans Put\ &Before<Tab>[p <09>&n<EFBFBD>ne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkas<EFBFBD>na Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&p<><70>t<EFBFBD>r<Tab>"+gP
menutrans Put\ &Before<Tab>[p <EFBFBD>&n<EFBFBD>ne\ Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkas<EFBFBD>na\ Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG T<EFBFBD>&m<EFBFBD>n<EFBFBD>\ Se<EFBFBD><Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ De<EFBFBD>i<EFBFBD>tir<Tab>:%s
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ De<EFBFBD>i<EFBFBD>tir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.<Tab>:s
"--------------------
@@ -78,11 +78,11 @@ menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarlar<EFBFBD>
menutrans C&olor\ Scheme &Renk\ D<EFBFBD>zeni
menutrans &Keymap D<EFBFBD><EFBFBD>me\ &E<EFBFBD>lem
menutrans Select\ Fo&nt\.\.\. Ya&z<EFBFBD>tipi Se<EFBFBD>\.\.\.
menutrans Select\ Fo&nt\.\.\. Ya&z<EFBFBD>tipi\ Se<EFBFBD>\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamas<EFBFBD>n<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! B<EFBFBD>Y<EFBFBD>K/k<><6B><EFBFBD>k\ Harf\ &Duyarl<72>\ A<>/Kapat<Tab>:set\ ic!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamas<EFBFBD>n<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! B<EFBFBD>Y<EFBFBD>K/k<><6B><EFBFBD>k\ Harf\ &Duyarl<72>\ A<>/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! E<EFBFBD>&le<EFBFBD>en\ <20>kilileri\ A<EFBFBD>/Kapat<Tab>:set\ sm!
menutrans &Context\ Lines <09>&mle<EFBFBD>le\ Oynayan\ Sat<EFBFBD>rlar
menutrans &Virtual\ Edit &Sanal\ D<EFBFBD>zenleme
@@ -97,11 +97,11 @@ menutrans Toggle\ &Left\ Scrollbar &Sol\ Kayd
menutrans Toggle\ &Right\ Scrollbar S&a<EFBFBD>\ Kayd<EFBFBD>rma\ <20>ubu<EFBFBD>unu\ A<EFBFBD>/Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapal<EFBFBD>
menutrans Never Kapal<EFBFBD>
menutrans Block\ Selection Blok\ Se<EFBFBD>imi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Se<EFBFBD>iminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ A<EFBFBD><EFBFBD>k
menutrans Always Her\ Zaman\ A<EFBFBD><EFBFBD>k
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Sat<EFBFBD>r\ Numaraland<EFBFBD>rmay<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &G<EFBFBD>receli\ Sat<EFBFBD>r\ Numaraland<EFBFBD>rmay<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ nru!
@@ -124,10 +124,10 @@ menutrans Build\ &Tags\ File &Etiket\ Dosyas
"-------------------
menutrans &Folding &K<EFBFBD>v<EFBFBD>rmalar
menutrans &Spelling &Yaz<EFBFBD>m\ Denetimi
menutrans &Diff &Ayr<EFBFBD>mlar\ (diff)
menutrans &Diff K&ar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>rma\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hatalar<EFBFBD>\ Listele<Tab>:cl
menutrans &List\ Errors<Tab>:cl &Hatalar<EFBFBD>\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ <20>&nceki\ Hata<Tab>:cp
@@ -137,8 +137,8 @@ menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Se<EFBFBD>
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlar<EFBFBD>n<EFBFBD>\ Men<EFBFBD>de\ &G<EFBFBD>ster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ D<EFBFBD>&n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ D<EFBFBD>n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd\ -r
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ D<EFBFBD>&n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ D<EFBFBD>n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yaz<EFBFBD>m\ Denetimini\ &A<EFBFBD>
menutrans Spell\ Check\ &Off Yaz<EFBFBD>m\ Denetimini\ &Kapat
@@ -191,7 +191,7 @@ menutrans &Open<Tab>:copen &A
" Syntax menu
menutrans &Show\ File\ Types\ in\ Menu Dosya\ T<EFBFBD>rlerini\ Men<EFBFBD>de\ &G<EFBFBD>ster
menutrans Set\ '&syntax'\ only Yaln<EFBFBD>zca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ <20><>in\ &de\ Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ <20><>in\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ <20>le
menutrans A&utomatic &Otomatik
@@ -204,7 +204,7 @@ menutrans &Convert\ to\ HTML &HTML'ye\ D
menutrans &Refresh\ menu &Men<EFBFBD>y<EFBFBD>\ G<EFBFBD>ncelle
menutrans Delete &Sil
menutrans &Alternate <09>&teki
menutrans &Next So&nraki
menutrans &Next So&nraki
menutrans &Previous <09>n&ceki
menutrans [No\ File] [Dosya\ Yok]
@@ -235,16 +235,16 @@ menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Sa<EFBFBD>a<Tab>^WL
" The popup menu
menutrans &Undo &Geri\ Al
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Copy K&opyala
menutrans &Paste &Yap<EFBFBD><EFBFBD>t<EFBFBD>r
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Bi<EFBFBD>iminde\ Se<EFBFBD>
menutrans Select\ &Word S<EFBFBD>&zc<EFBFBD>k\ Se<EFBFBD>
menutrans Select\ &Word S<EFBFBD>&zc<EFBFBD>k\ Se<EFBFBD>
menutrans Select\ &Sentence &T<EFBFBD>mce\ Se<EFBFBD>
menutrans Select\ Pa&ragraph &Paragraf\ Se<EFBFBD>
menutrans Select\ &Line S&at<EFBFBD>r\ Se<EFBFBD>
menutrans Select\ &Line S&at<EFBFBD>r\ Se<EFBFBD>
menutrans Select\ &Block Bl&ok\ Se<EFBFBD>
menutrans Select\ &All T<EFBFBD>m<EFBFBD>&n<EFBFBD>\ Se<EFBFBD>

View File

@@ -11,19 +11,19 @@ set cpo&vim
scriptencoding iso-8859-9
" Top
menutrans &File &Dosya
menutrans &Edit D<EFBFBD>&zen
menutrans &File &Dosya
menutrans &Edit D<EFBFBD>&zen
menutrans &Tools &Ara<EFBFBD>lar
menutrans &Syntax &S<EFBFBD>zdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yard<EFBFBD>m
menutrans &Help &Yard<EFBFBD>m
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bak<EFBFBD><EFBFBD><Tab><F1>
menutrans &User\ Manual &Kullan<EFBFBD>m\ K<EFBFBD>lavuzu
menutrans &User\ Manual &Kullan<EFBFBD>m\ K<EFBFBD>lavuzu
menutrans &How-To\ Links &Nas<EFBFBD>l\ Yap<EFBFBD>l<EFBFBD>r?
menutrans &Find\.\.\. &Bul\.\.\.
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Te<EFBFBD>ekk<EFBFBD>rler
menutrans Co&pying &Da<EFBFBD><EFBFBD>t<EFBFBD>m
@@ -37,38 +37,38 @@ menutrans &About &Hakk
menutrans &Open\.\.\.<Tab>:e &A<EFBFBD>\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ B<EFBFBD>l<EFBFBD>mde\ A<EFBFBD>\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ A<EFBFBD>\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Kayde&t<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farkl<EFBFBD> Kaydet\.\.\.<Tab>:sav
menutrans Save\ &As\.\.\.<Tab>:sav &Farkl<EFBFBD>\ Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&r<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>r\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>r\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&ma\ <20>le\ Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>r\.\.\.
"--------------------
menutrans &Print Ya&zd<EFBFBD>r
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve <20><>k<Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve\ <20><>k<Tab>:wqa
menutrans E&xit<Tab>:qa <09><>&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&p<><70>t<EFBFBD>r<Tab>"+gP
menutrans Put\ &Before<Tab>[p <09>&n<EFBFBD>ne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkas<EFBFBD>na Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&p<><70>t<EFBFBD>r<Tab>"+gP
menutrans Put\ &Before<Tab>[p <EFBFBD>&n<EFBFBD>ne\ Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkas<EFBFBD>na\ Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG T<EFBFBD>&m<EFBFBD>n<EFBFBD>\ Se<EFBFBD><Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ De<EFBFBD>i<EFBFBD>tir<Tab>:%s
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ De<EFBFBD>i<EFBFBD>tir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &De<EFBFBD>i<EFBFBD>tir\.\.\.<Tab>:s
"--------------------
@@ -78,11 +78,11 @@ menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarlar<EFBFBD>
menutrans C&olor\ Scheme &Renk\ D<EFBFBD>zeni
menutrans &Keymap D<EFBFBD><EFBFBD>me\ &E<EFBFBD>lem
menutrans Select\ Fo&nt\.\.\. Ya&z<EFBFBD>tipi Se<EFBFBD>\.\.\.
menutrans Select\ Fo&nt\.\.\. Ya&z<EFBFBD>tipi\ Se<EFBFBD>\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamas<EFBFBD>n<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! B<EFBFBD>Y<EFBFBD>K/k<><6B><EFBFBD>k\ Harf\ &Duyarl<72>\ A<>/Kapat<Tab>:set\ ic!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamas<EFBFBD>n<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! B<EFBFBD>Y<EFBFBD>K/k<><6B><EFBFBD>k\ Harf\ &Duyarl<72>\ A<>/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! E<EFBFBD>&le<EFBFBD>en\ <20>kilileri\ A<EFBFBD>/Kapat<Tab>:set\ sm!
menutrans &Context\ Lines <09>&mle<EFBFBD>le\ Oynayan\ Sat<EFBFBD>rlar
menutrans &Virtual\ Edit &Sanal\ D<EFBFBD>zenleme
@@ -97,11 +97,11 @@ menutrans Toggle\ &Left\ Scrollbar &Sol\ Kayd
menutrans Toggle\ &Right\ Scrollbar S&a<EFBFBD>\ Kayd<EFBFBD>rma\ <20>ubu<EFBFBD>unu\ A<EFBFBD>/Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapal<EFBFBD>
menutrans Never Kapal<EFBFBD>
menutrans Block\ Selection Blok\ Se<EFBFBD>imi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Se<EFBFBD>iminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ A<EFBFBD><EFBFBD>k
menutrans Always Her\ Zaman\ A<EFBFBD><EFBFBD>k
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Sat<EFBFBD>r\ Numaraland<EFBFBD>rmay<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &G<EFBFBD>receli\ Sat<EFBFBD>r\ Numaraland<EFBFBD>rmay<EFBFBD>\ A<EFBFBD>/Kapat<Tab>:set\ nru!
@@ -124,10 +124,10 @@ menutrans Build\ &Tags\ File &Etiket\ Dosyas
"-------------------
menutrans &Folding &K<EFBFBD>v<EFBFBD>rmalar
menutrans &Spelling &Yaz<EFBFBD>m\ Denetimi
menutrans &Diff &Ayr<EFBFBD>mlar\ (diff)
menutrans &Diff K&ar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>rma\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hatalar<EFBFBD>\ Listele<Tab>:cl
menutrans &List\ Errors<Tab>:cl &Hatalar<EFBFBD>\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ <20>&nceki\ Hata<Tab>:cp
@@ -137,8 +137,8 @@ menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Se<EFBFBD>
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlar<EFBFBD>n<EFBFBD>\ Men<EFBFBD>de\ &G<EFBFBD>ster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ D<EFBFBD>&n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ D<EFBFBD>n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd\ -r
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ D<EFBFBD>&n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ D<EFBFBD>n<EFBFBD><EFBFBD>t<EFBFBD>r<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yaz<EFBFBD>m\ Denetimini\ &A<EFBFBD>
menutrans Spell\ Check\ &Off Yaz<EFBFBD>m\ Denetimini\ &Kapat
@@ -191,7 +191,7 @@ menutrans &Open<Tab>:copen &A
" Syntax menu
menutrans &Show\ File\ Types\ in\ Menu Dosya\ T<EFBFBD>rlerini\ Men<EFBFBD>de\ &G<EFBFBD>ster
menutrans Set\ '&syntax'\ only Yaln<EFBFBD>zca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ <20><>in\ &de\ Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ <20><>in\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ <20>le
menutrans A&utomatic &Otomatik
@@ -204,7 +204,7 @@ menutrans &Convert\ to\ HTML &HTML'ye\ D
menutrans &Refresh\ menu &Men<EFBFBD>y<EFBFBD>\ G<EFBFBD>ncelle
menutrans Delete &Sil
menutrans &Alternate <09>&teki
menutrans &Next So&nraki
menutrans &Next So&nraki
menutrans &Previous <09>n&ceki
menutrans [No\ File] [Dosya\ Yok]
@@ -235,16 +235,16 @@ menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Sa<EFBFBD>a<Tab>^WL
" The popup menu
menutrans &Undo &Geri\ Al
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Copy K&opyala
menutrans &Paste &Yap<EFBFBD><EFBFBD>t<EFBFBD>r
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Bi<EFBFBD>iminde\ Se<EFBFBD>
menutrans Select\ &Word S<EFBFBD>&zc<EFBFBD>k\ Se<EFBFBD>
menutrans Select\ &Word S<EFBFBD>&zc<EFBFBD>k\ Se<EFBFBD>
menutrans Select\ &Sentence &T<EFBFBD>mce\ Se<EFBFBD>
menutrans Select\ Pa&ragraph &Paragraf\ Se<EFBFBD>
menutrans Select\ &Line S&at<EFBFBD>r\ Se<EFBFBD>
menutrans Select\ &Line S&at<EFBFBD>r\ Se<EFBFBD>
menutrans Select\ &Block Bl&ok\ Se<EFBFBD>
menutrans Select\ &All T<EFBFBD>m<EFBFBD>&n<EFBFBD>\ Se<EFBFBD>

View File

@@ -11,19 +11,19 @@ set cpo&vim
scriptencoding utf-8
" Top
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &Tools &Araçlar
menutrans &Syntax &Sözdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yardım
menutrans &Help &Yardım
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bakış<Tab><F1>
menutrans &User\ Manual &Kullanım\ Kılavuzu
menutrans &User\ Manual &Kullanım\ Kılavuzu
menutrans &How-To\ Links &Nasıl\ Yapılır?
menutrans &Find\.\.\. &Bul\.\.\.
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Teşekkürler
menutrans Co&pying &Dağıtım
@@ -37,38 +37,38 @@ menutrans &About &Hakkında
menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Kayde&t<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farklı Kaydet\.\.\.<Tab>:sav
menutrans Save\ &As\.\.\.<Tab>:sav &Farklı\ Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&ılaştır\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karşılaştır\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&ma\ İle\ Karşılaştır\.\.\.
"--------------------
menutrans &Print Ya&zdır
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çık<Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve\ Çık<Tab>:wqa
menutrans E&xit<Tab>:qa Çı&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pıştır<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasına Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pıştır<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne\ Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasına\ Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG &münü\ Seç<Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Değiştir<Tab>:%s
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Değiştir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Değiştir\.\.\.
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Değiştir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Değiştir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Değiştir\.\.\.<Tab>:s
"--------------------
@@ -78,11 +78,11 @@ menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarları
menutrans C&olor\ Scheme &Renk\ Düzeni
menutrans &Keymap Düğme\ &Eşlem
menutrans Select\ Fo&nt\.\.\. Ya&zıtipi Seç\.\.\.
menutrans Select\ Fo&nt\.\.\. Ya&zıtipi\ Seç\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasını\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlı\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasını\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlı\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! &leşen\ İkilileri\ /Kapat<Tab>:set\ sm!
menutrans &Context\ Lines İ&mleçle\ Oynayan\ Satırlar
menutrans &Virtual\ Edit &Sanal\ Düzenleme
@@ -97,11 +97,11 @@ menutrans Toggle\ &Left\ Scrollbar &Sol\ Kaydırma\ Çubuğunu\ Aç/Kapat
menutrans Toggle\ &Right\ Scrollbar S&\ Kaydırma\ Çubuğunu\ /Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapalı
menutrans Never Kapalı
menutrans Block\ Selection Blok\ Seçimi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ ık
menutrans Always Her\ Zaman\ ık
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satır\ Numaralandırmayı\ /Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satır\ Numaralandırmayı\ /Kapat<Tab>:set\ nru!
@@ -124,10 +124,10 @@ menutrans Build\ &Tags\ File &Etiket\ Dosyası\ Oluştur
"-------------------
menutrans &Folding &Kıvırmalar
menutrans &Spelling &Yazım\ Denetimi
menutrans &Diff &Ayrımlar\ (diff)
menutrans &Diff K&arşılaştırma\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hataları\ Listele<Tab>:cl
menutrans &List\ Errors<Tab>:cl &Hataları\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! İ&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
@@ -137,8 +137,8 @@ menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Seç
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarını\ Menüde\ &Göster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüştür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüştür<Tab>:%!xxd\ -r
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüştür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüştür<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yazım\ Denetimini\ &
menutrans Spell\ Check\ &Off Yazım\ Denetimini\ &Kapat
@@ -191,7 +191,7 @@ menutrans &Open<Tab>:copen &Aç<Tab>:copen
" Syntax menu
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
menutrans Set\ '&syntax'\ only Yalnızca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ İçin\ &de\ Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ İçin\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ İle
menutrans A&utomatic &Otomatik
@@ -204,7 +204,7 @@ menutrans &Convert\ to\ HTML &HTML'ye\ Dönüştür
menutrans &Refresh\ menu &Menüyü\ Güncelle
menutrans Delete &Sil
menutrans &Alternate Ö&teki
menutrans &Next So&nraki
menutrans &Next So&nraki
menutrans &Previous Ön&ceki
menutrans [No\ File] [Dosya\ Yok]
@@ -235,16 +235,16 @@ menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Sağa<Tab>^WL
" The popup menu
menutrans &Undo &Geri\ Al
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Copy K&opyala
menutrans &Paste &Yapıştır
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Sentence &Tümce\ Seç
menutrans Select\ Pa&ragraph &Paragraf\ Seç
menutrans Select\ &Line S&atır\ Seç
menutrans Select\ &Line S&atır\ Seç
menutrans Select\ &Block Bl&ok\ Seç
menutrans Select\ &All Tümü&\ Seç
@@ -305,4 +305,4 @@ let g:menutrans_fileformat_dialog = "Dosya biçimi seçin"
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nİ&ptal"
let menutrans_no_file = "[Dosya Yok]"
let &cpo = s:keepcpo
unlet s:keepcpo
unlet s:keepcpo

View File

@@ -58,7 +58,7 @@ menutrans Split\ &Diff\ with\.\.\. &So\ sánh\ với\.\.\.
menutrans Split\ Patched\ &By\.\.\. So\ sánh\ đã\ \ lỗi\ &bởi\.\.\.
"--------------------
menutrans &Print In\ &ra
menutrans Sa&ve-Exit<Tab>:wqa Ghi\ nhớ\ rồi\ th&oát <Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Ghi\ nhớ\ rồi\ th&oát\ <Tab>:wqa
menutrans E&xit<Tab>:qa &Thoát<Tab>:qa
"
"
@@ -87,7 +87,7 @@ menutrans C&olor\ Scheme Phối\ hợp\ màu\ &sắc
menutrans &Keymap \ đồ\ &bàn\ phím
menutrans Select\ Fo&nt\.\.\. Chọn\ &phông\ chữ\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Chiếu\ sáng\ từ\ tìm\ thấy <Tab>:set\ hls!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Chiếu\ sáng\ từ\ tìm\ thấy\ <Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Không\ tính\ đến\ kiểu\ chữ<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Cho\ &biết\ phần\ tử\ \ cặp<Tab>:set\ sm!
menutrans &Context\ lines Số\ &dòng\ quanh\ con\ trỏ
@@ -149,7 +149,7 @@ menutrans Jump\ &back<Tab>^T &Quay\ lại<Tab>^T
menutrans Build\ &Tags\ File &Tạo\ tập\ tin\ thẻ\ ghi
"-------------------
menutrans &Folding Nếp\ &gấp
menutrans &Diff &Khác\ biệt (diff)
menutrans &Diff &Khác\ biệt\ (diff)
"-------------------
menutrans &Make<Tab>:make &Biên\ dịch<Tab>:make
menutrans &List\ Errors<Tab>:cl &Danh\ sách\ lỗi<Tab>:cl

View File

@@ -1,7 +1,7 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2019 Sep 11
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -122,7 +122,7 @@ menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! 开/关\ C\ 语言式缩
" other options
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop 软制表位宽度(Soft Tabstop)(&T)
menutrans Soft\ &Tabstop 软制表位宽度(Soft\ Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.

View File

@@ -108,8 +108,9 @@ map ,o oPut 'X's in the left box, then hit 'C' or 'R'
map ,R 03stop
"
" Write a new line (used by 'I'nitialize board)
" In remembrance of John Conway, 26 December 1937 11 April 2020.
map )0 o- --....................--....................-
map )1 o- VIM --....................--....................-
map )1 o- JOHN CONWAY --....................--....................-
map )2 o- LIVES --....................--....................-
"
"

View File

@@ -1,7 +1,8 @@
" Vim syntax file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 102
" Last Change: 2019 Dec. 14
" 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-syntax from Vim
" Credits:
@@ -53,10 +54,10 @@ if !exists("b:fortran_fixed_source")
elseif exists("fortran_fixed_source")
" User guarantees fixed source form for all fortran files
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

@@ -3,7 +3,7 @@
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
" Version Info:
" Last Change: 2015 Nov 24
" Last Change: 2020 Apr 15
" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
" * manSubHeading
@@ -18,8 +18,11 @@ endif
runtime! syntax/ctrlh.vim
syn case ignore
syn match manHeader '\%1l.*'
exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
syn match manReference "\f\+([1-9][a-z]\=)"
syn match manTitle "^\f\+([0-9]\+[a-z]\=).*"
syn match manSectionHeading "^[a-z][a-z -]*[a-z]$"
syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$"
syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
@@ -36,7 +39,9 @@ endif
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link manTitle Title
hi def link manHeader Title
hi def link manFooter PreProc
hi def link manSectionHeading Statement
hi def link manOptionDesc Constant
hi def link manLongOptionDesc Constant

View File

@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Perl 5
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2017-09-12
" Homepage: https://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Andy Lester <andy@petdance.com>
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
" Lukas Mai <l.mai.web.de>

View File

@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Perl 6
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2013-07-21
" Homepage: https://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Luke Palmer <fibonaci@babylonia.flatirons.org>
" Moritz Lenz <moritz@faui2k3.org>

View File

@@ -1,9 +1,9 @@
" Vim syntax file
" Vim reST syntax file
" Language: reStructuredText documentation format
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Website: https://github.com/marshallward/vim-restructuredtext
" Latest Revision: 2018-12-29
" Latest Revision: 2020-03-31
if exists("b:current_syntax")
finish
@@ -21,7 +21,7 @@ syn cluster rstCruft contains=rstEmphasis,rstStrongEmphasis,
\ rstInlineInternalTargets,rstFootnoteReference,rstHyperlinkReference
syn region rstLiteralBlock matchgroup=rstDelimiter
\ start='::\_s*\n\ze\z(\s\+\)' skip='^$' end='^\z1\@!'
\ start='\(^\z(\s*\).*\)\@<=::\n\s*\n' skip='^\s*$' end='^\(\z1\s\+\)\@!'
\ contains=@NoSpell
syn region rstQuotedLiteralBlock matchgroup=rstDelimiter
@@ -90,16 +90,28 @@ execute 'syn match rstSubstitutionDefinition contained' .
\ ' /|.*|\_s\+/ nextgroup=@rstDirectives'
function! s:DefineOneInlineMarkup(name, start, middle, end, char_left, char_right)
" Only escape the first char of a multichar delimiter (e.g. \* inside **)
if a:start[0] == '\'
let first = a:start[0:1]
else
let first = a:start[0]
endif
execute 'syn match rstEscape'.a:name.' +\\\\\|\\'.first.'+'.' contained'
execute 'syn region rst' . a:name .
\ ' start=+' . a:char_left . '\zs' . a:start .
\ '\ze[^[:space:]' . a:char_right . a:start[strlen(a:start) - 1] . ']+' .
\ a:middle .
\ ' end=+\S' . a:end . '\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+'
\ ' end=+' . a:end . '\ze\%($\|\s\|[''")\]}>/:.,;!?\\-]\)+' .
\ ' contains=rstEscape' . a:name
execute 'hi def link rstEscape'.a:name.' Special'
endfunction
function! s:DefineInlineMarkup(name, start, middle, end)
let middle = a:middle != "" ?
\ (' skip=+\\\\\|\\' . a:middle . '+') :
\ (' skip=+\\\\\|\\' . a:middle . '\|\s' . a:middle . '+') :
\ ""
call s:DefineOneInlineMarkup(a:name, a:start, middle, a:end, "'", "'")
@@ -161,7 +173,7 @@ syn match rstStandaloneHyperlink contains=@NoSpell
\ "\<\%(\%(\%(https\=\|file\|ftp\|gopher\)://\|\%(mailto\|news\):\)[^[:space:]'\"<>]\+\|www[[:alnum:]_-]*\.[[:alnum:]_-]\+\.[^[:space:]'\"<>]\+\)[[:alnum:]/]"
syn region rstCodeBlock contained matchgroup=rstDirective
\ start=+\%(sourcecode\|code\%(-block\)\=\)::\s\+.*\_s*\n\ze\z(\s\+\)+
\ start=+\%(sourcecode\|code\%(-block\)\=\)::\s*\(\S*\)\?\s*\n\%(\s*:.*:\s*.*\s*\n\)*\n\ze\z(\s\+\)+
\ skip=+^$+
\ end=+^\z1\@!+
\ contains=@NoSpell

View File

@@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2016 Nov 04
" Last Change: 2020 Apr 13
" This file sets up for syntax highlighting.
" It is loaded from "syntax.vim" and "manual.vim".
@@ -52,9 +52,11 @@ fun! s:SynSet()
if s != ""
" Load the syntax file(s). When there are several, separated by dots,
" load each in sequence.
" load each in sequence. Skip empty entries.
for name in split(s, '\.')
exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
if !empty(name)
exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
endif
endfor
endif
endfun

View File

@@ -3,7 +3,7 @@
" Maintainer: Daniel Kho <daniel.kho@logik.haus>
" Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
" Last Changed: 2020 Mar 09 by Daniel Kho
" Last Changed: 2020 Apr 04 by Daniel Kho
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -16,10 +16,10 @@ set cpo&vim
" case is not significant
syn case ignore
" VHDL keywords
syn keyword vhdlStatement access after alias all assert
" VHDL 1076-2019 keywords
syn keyword vhdlStatement access after alias all
syn keyword vhdlStatement architecture array attribute
syn keyword vhdlStatement assume assume_guarantee
syn keyword vhdlStatement assert assume
syn keyword vhdlStatement begin block body buffer bus
syn keyword vhdlStatement case component configuration constant
syn keyword vhdlStatement context cover
@@ -34,20 +34,19 @@ syn keyword vhdlStatement map
syn keyword vhdlStatement new next null
syn keyword vhdlStatement of on open others out
syn keyword vhdlStatement package port postponed procedure process pure
syn keyword vhdlStatement parameter property protected
syn keyword vhdlStatement parameter property protected private
syn keyword vhdlStatement range record register reject report return
syn keyword vhdlStatement release restrict restrict_guarantee
syn keyword vhdlStatement select severity signal shared
syn keyword vhdlStatement subtype
syn keyword vhdlStatement release restrict
syn keyword vhdlStatement select severity signal shared subtype
syn keyword vhdlStatement sequence strong
syn keyword vhdlStatement then to transport type
syn keyword vhdlStatement unaffected units until use
syn keyword vhdlStatement variable
" VHDL-2019 interface
syn keyword vhdlStatement view
syn keyword vhdlStatement vmode vprop vunit
syn keyword vhdlStatement variable view
syn keyword vhdlStatement vpkg vmode vprop vunit
syn keyword vhdlStatement wait when while with
syn keyword vhdlStatement note warning error failure
" VHDL predefined severity levels
syn keyword vhdlAttribute note warning error failure
" Linting of conditionals.
syn match vhdlStatement "\<\(if\|else\)\>"
@@ -265,4 +264,5 @@ let b:current_syntax = "vhdl"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 8.0 script
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: March 11, 2020
" Version: 8.0-30
" Last Change: Apr 15, 2020
" Version: 8.0-33
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
" Automatically generated keyword lists: {{{1
@@ -224,7 +224,7 @@ syn keyword vimAugroupKey contained aug[roup]
" Operators: {{{2
" =========
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue,vim9Comment
syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "||\|&&\|[-+.!]" skipwhite nextgroup=vimString,vimSpecFile
@@ -265,7 +265,7 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" User-Specified Commands: {{{2
" =======================
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vim9Comment,vimCtrlChar,vimEscapeBrace,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
syn keyword vimUserCommand contained com[mand]
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList
syn match vimUserAttrbError contained "-\a\+\ze\s"
@@ -295,6 +295,12 @@ syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup
syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
" Vim9 comments - TODO: might be highlighted while they don't work
syn match vimComment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
" Vim9 comment inside expression
syn match vim9Comment +\s\zs#[^{].*$+ contains=@vimCommentGroup,vimCommentString
" Environment Variables: {{{2
" =====================
@@ -372,7 +378,7 @@ syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1
syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
" Set command and associated set-options (vimOptions) with comment {{{2
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vim9Comment,vimSetString,vimSetMod
syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
syn match vimSetSep contained "[,:]" skipwhite nextgroup=vimCommand
@@ -381,7 +387,7 @@ syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
" Let: {{{2
" ===
syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc
VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s\+\%(trim\>\)\=\s*\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$' contains=vimComment
VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s\+\%(trim\>\)\=\s*\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$' contains=vimComment,vim9Comment
" Abbreviations: {{{2
" =============
@@ -427,7 +433,7 @@ syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMen
syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vim9Comment,vimIsCommand
syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
" Angle-Bracket Notation: (tnx to Michael Geddes) {{{2
@@ -477,8 +483,8 @@ syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupLis
syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
syn cluster vimFuncBodyList add=vimSyntax
" Syntax: case {{{2
@@ -515,7 +521,7 @@ syn match vimSynKeyOpt contained "\%#=1\<\(conceal\|contained\|transparent\|skip
syn cluster vimFuncBodyList add=vimSynType
" Syntax: match {{{2
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vim9Comment
syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
syn match vimSynMtchOpt contained "\%#=1\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
@@ -569,7 +575,7 @@ syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotatio
" Highlighting: {{{2
" ============
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment,vim9Comment
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
syn match vimHiCtermError contained "\D\i*"
endif
@@ -624,6 +630,7 @@ syn match vimCtrlChar "[- -]"
" Beginners - Patterns that involve ^ {{{2
" =========
syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
syn match vimContinue "^\s*\\"
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
@@ -738,10 +745,10 @@ if g:vimsyn_embed =~# 'P' && has("pythonx") && filereadable(s:pythonpath)
unlet! b:current_syntax
syn cluster vimFuncBodyList add=vimPythonRegion
exe "syn include @vimPythonScript ".s:pythonpath
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
syn cluster vimFuncBodyList add=vimPythonRegion
else
syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
@@ -857,6 +864,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimCmplxRepeat SpecialChar
hi def link vimCommand Statement
hi def link vimComment Comment
hi def link vim9Comment Comment
hi def link vimCommentString vimString
hi def link vimCommentTitle PreProc
hi def link vimCondHL vimCommand
@@ -906,6 +914,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimLetHereDocStart Special
hi def link vimLetHereDocStop Special
hi def link vimLineComment vimComment
hi def link vim9LineComment vimComment
hi def link vimMapBang vimCommand
hi def link vimMapModKey vimFuncSID
hi def link vimMapMod vimBracket

View File

@@ -7,7 +7,7 @@
enough of the commands that you will be able to easily use Vim as
an all-purpose editor.
The approximate time required to complete the tutor is 25-30 minutes,
The approximate time required to complete the tutor is 30 minutes,
depending upon how much time is spent with experimentation.
ATTENTION:

View File

@@ -7,7 +7,7 @@
enough of the commands that you will be able to easily use Vim as
an all-purpose editor.
The approximate time required to complete the tutor is 25-30 minutes,
The approximate time required to complete the tutor is 30 minutes,
depending upon how much time is spent with experimentation.
ATTENTION:

View File

@@ -5,6 +5,7 @@
# Argument for running ctags.
TAGS_FILES = \
*.c \
*.cc \
*.cpp \
*.h \
auto/*.c \

View File

@@ -624,7 +624,10 @@ NBDEBUG_SRC = nbdebug.c
endif
ifeq ($(CHANNEL),yes)
DEFINES += -DFEAT_JOB_CHANNEL
DEFINES += -DFEAT_JOB_CHANNEL -DFEAT_IPV6
ifeq ($(shell expr "$(WINVER)" \>= 0x600),1)
DEFINES += -DHAVE_INET_NTOP
endif
endif
ifeq ($(TERMINAL),yes)
@@ -710,6 +713,7 @@ OBJ = \
$(OUTDIR)/change.o \
$(OUTDIR)/charset.o \
$(OUTDIR)/cindent.o \
$(OUTDIR)/clientserver.o \
$(OUTDIR)/clipboard.o \
$(OUTDIR)/cmdexpand.o \
$(OUTDIR)/cmdhist.o \
@@ -849,7 +853,7 @@ endif
ifeq ($(CHANNEL),yes)
OBJ += $(OUTDIR)/channel.o
LIB += -lwsock32
LIB += -lwsock32 -lws2_32
endif
ifeq ($(DIRECTX),yes)

View File

@@ -33,6 +33,7 @@ SRC = arabic.c \
change.c \
charset.c \
cindent.c \
clientserver.c \
clipboard.c \
cmdexpand.c \
cmdhist.c \

View File

@@ -317,6 +317,10 @@ MSVCRT_NAME = vcruntime$(MSVCRT_VER)
CPU = ix86
!endif
### Set the default $(WINVER) to make it work with VC++7.0 (VS.NET)
!ifndef WINVER
WINVER = 0x0501
!endif
# Flag to turn on Win64 compatibility warnings for VC7.x and VC8.
WP64CHECK = /Wp64
@@ -467,9 +471,12 @@ SOUND_LIB = winmm.lib
!if "$(CHANNEL)" == "yes"
CHANNEL_PRO = proto/channel.pro
CHANNEL_OBJ = $(OBJDIR)/channel.obj
CHANNEL_DEFS = -DFEAT_JOB_CHANNEL
CHANNEL_DEFS = -DFEAT_JOB_CHANNEL -DFEAT_IPV6
! if $(WINVER) >= 0x600
CHANNEL_DEFS = $(CHANNEL_DEFS) -DHAVE_INET_NTOP
! endif
NETBEANS_LIB = WSock32.lib
NETBEANS_LIB = WSock32.lib Ws2_32.lib
!endif
# Set which version of the CRT to use
@@ -493,11 +500,6 @@ CON_LIB = oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib \
CON_LIB = $(CON_LIB) /DELAYLOAD:comdlg32.dll /DELAYLOAD:ole32.dll DelayImp.lib
!endif
### Set the default $(WINVER) to make it work with VC++7.0 (VS.NET)
!ifndef WINVER
WINVER = 0x0501
!endif
# If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal
# default, use these lines.
#VIMRCLOC = somewhere
@@ -730,6 +732,7 @@ OBJ = \
$(OUTDIR)\change.obj \
$(OUTDIR)\charset.obj \
$(OUTDIR)\cindent.obj \
$(OUTDIR)\clientserver.obj \
$(OUTDIR)\clipboard.obj \
$(OUTDIR)\cmdexpand.obj \
$(OUTDIR)\cmdhist.obj \
@@ -1516,6 +1519,8 @@ $(OUTDIR)/charset.obj: $(OUTDIR) charset.c $(INCL)
$(OUTDIR)/cindent.obj: $(OUTDIR) cindent.c $(INCL)
$(OUTDIR)/clientserver.obj: $(OUTDIR) clientserver.c $(INCL)
$(OUTDIR)/clipboard.obj: $(OUTDIR) clipboard.c $(INCL)
$(OUTDIR)/cmdexpand.obj: $(OUTDIR) cmdexpand.c $(INCL)
@@ -1865,6 +1870,7 @@ proto.h: \
proto/change.pro \
proto/charset.pro \
proto/cindent.pro \
proto/clientserver.pro \
proto/clipboard.pro \
proto/cmdexpand.pro \
proto/cmdhist.pro \

View File

@@ -306,6 +306,7 @@ SRC = \
change.c \
charset.c \
cindent.c \
clientserver.c \
clipboard.c \
cmdexpand.c \
cmdhist.c \
@@ -413,6 +414,7 @@ OBJ = \
change.obj \
charset.obj \
cindent.obj \
clientserver.obj \
clipboard.obj \
cmdexpand.obj \
cmdhist.obj \
@@ -702,6 +704,10 @@ cindent.obj : cindent.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
clientserver.obj : clientserver.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
clipboard.obj : clipboard.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \

View File

@@ -696,7 +696,8 @@ LINT_OPTIONS = -beprxzF
# More at: https://code.google.com/p/address-sanitizer/
# Useful environment variables:
# $ export ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
# $ export LSAN_OPTIONS="suppressions=$cwd/testdir/lsan-suppress.txt"
# $ export LSAN_OPTIONS="suppressions=`pwd`/testdir/lsan-suppress.txt"
# When running tests output can be found in testdir/asan.*
#SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
#SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer
SANITIZER_LIBS = $(SANITIZER_CFLAGS)
@@ -1403,8 +1404,8 @@ HAIKUGUI_TESTTARGET = gui
HAIKUGUI_BUNDLE =
# All GUI files
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c gui_haiku.cc
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro gui_haiku.pro
# }}}
@@ -1602,6 +1603,7 @@ BASIC_SRC = \
change.c \
charset.c \
cindent.c \
clientserver.c \
clipboard.c \
cmdexpand.c \
cmdhist.c \
@@ -1747,6 +1749,7 @@ OBJ_COMMON = \
objects/blob.o \
objects/blowfish.o \
objects/cindent.o \
objects/clientserver.o \
objects/clipboard.o \
objects/cmdexpand.o \
objects/cmdhist.o \
@@ -1908,6 +1911,7 @@ PRO_AUTO = \
channel.pro \
charset.pro \
cindent.pro \
clientserver.pro \
clipboard.pro \
cmdexpand.pro \
cmdhist.pro \
@@ -2298,7 +2302,7 @@ test1 \
# export TEST_FILTER=Test_terminal_wipe_buffer
# A partial match also works:
# export TEST_FILTER=wipe_buffer
$(NEW_TESTS):
$(NEW_TESTS) test_vim9:
cd testdir; $(MAKE) $@ VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
newtests:
@@ -3123,6 +3127,9 @@ objects/charset.o: charset.c
objects/cindent.o: cindent.c
$(CCC) -o $@ cindent.c
objects/clientserver.o: clientserver.c
$(CCC) -o $@ clientserver.c
objects/clipboard.o: clipboard.c
$(CCC) -o $@ clipboard.c
@@ -3743,6 +3750,10 @@ objects/cindent.o: cindent.c vim.h protodef.h auto/config.h feature.h os_unix.h
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/clientserver.o: clientserver.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/clipboard.o: clipboard.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \

View File

@@ -30,6 +30,7 @@ buffer.c | manipulating buffers (loaded files)
bufwrite.c | writing a buffer to file
change.c | handling changes to text
cindent.c | C and Lisp indentation
clientserver.c | client server functionality
clipboard.c | handling the clipboard
cmdexpand.c | command-line completion
cmdhist.c | command-line history

View File

@@ -1046,7 +1046,7 @@ do_arg_all(
// Move the already present window to below the current window
if (curwin->w_arg_idx != i)
{
for (wpnext = firstwin; wpnext != NULL; wpnext = wpnext->w_next)
FOR_ALL_WINDOWS(wpnext)
{
if (wpnext->w_arg_idx == i)
{

113
src/auto/configure vendored
View File

@@ -5480,7 +5480,29 @@ $as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
vi_cv_path_lua_pfx=
# Detect moonjit:
# https://groups.google.com/forum/#!topic/vim_use/O0vek60WuTk
lua_suf=/moonjit-2.3
inc_path="$vi_cv_path_lua_pfx/include"
for dir in "$inc_path"/moonjit-[0-9]* ; do
if test -d "$dir" ; then
lua_suf=`basename '$dir'`
lua_suf="/$lua_suf"
break
fi
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $inc_path$lua_suf" >&5
$as_echo_n "checking if lua.h can be found in $inc_path$lua_suf... " >&6; }
if test -f "$inc_path$lua_suf/lua.h"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
LUA_INC=$lua_suf
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
vi_cv_path_lua_pfx=
fi
fi
fi
fi
@@ -7723,8 +7745,7 @@ $as_echo "yes" >&6; }
fi
if test "$enable_channel" = "yes"; then
if test "x$HAIKU" = "xyes"; then
if test "x$HAIKU" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5
$as_echo_n "checking for socket in -lnetwork... " >&6; }
if ${ac_cv_lib_network_socket+:} false; then :
@@ -7818,7 +7839,74 @@ fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling with IPv6 networking is possible" >&5
$as_echo_n "checking whether compiling with IPv6 networking is possible... " >&6; }
if ${vim_cv_ipv6_networking+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <fcntl.h>
#include <netdb.h>
#include <netinet/in.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
/* Check bitfields */
struct nbbuf {
unsigned int initDone:1;
unsigned short signmaplen;
};
int
main ()
{
/* Check creating a socket. */
struct sockaddr_in server;
struct addrinfo *res;
(void)socket(AF_INET, SOCK_STREAM, 0);
(void)htons(100);
(void)getaddrinfo("microsoft.com", NULL, NULL, &res);
if (errno == ECONNREFUSED)
(void)connect(1, (struct sockaddr *)&server, sizeof(server));
(void)freeaddrinfo(res);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
vim_cv_ipv6_networking="yes"
else
vim_cv_ipv6_networking="no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_ipv6_networking" >&5
$as_echo "$vim_cv_ipv6_networking" >&6; }
if test "x$vim_cv_ipv6_networking" = "xyes"; then
$as_echo "#define FEAT_IPV6 1" >>confdefs.h
for ac_func in inet_ntop
do :
ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop"
if test "x$ac_cv_func_inet_ntop" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_INET_NTOP 1
_ACEOF
fi
done
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
$as_echo_n "(cached) " >&6
@@ -7863,8 +7951,11 @@ _ACEOF
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling with process communication is possible" >&5
$as_echo_n "checking whether compiling with process communication is possible... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling with IPv4 networking is possible" >&5
$as_echo_n "checking whether compiling with IPv4 networking is possible... " >&6; }
if ${vim_cv_ipv4_networking+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -7900,15 +7991,17 @@ main ()
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
vim_cv_ipv4_networking="yes"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }; enable_netbeans="no"; enable_channel="no"
vim_cv_ipv4_networking="no"; enable_netbeans="no"; enable_channel="no"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_ipv4_networking" >&5
$as_echo "$vim_cv_ipv4_networking" >&6; }
fi
fi
if test "$enable_netbeans" = "yes"; then
$as_echo "#define FEAT_NETBEANS_INTG 1" >>confdefs.h

View File

@@ -235,6 +235,10 @@ struct AutoPatCmd_S
static AutoPatCmd *active_apc_list = NULL; // stack of active autocommands
// Macro to loop over all the patterns for an autocmd event
#define FOR_ALL_AUTOCMD_PATTERNS(event, ap) \
for ((ap) = first_autopat[(int)(event)]; (ap) != NULL; (ap) = (ap)->next)
/*
* augroups stores a list of autocmd group names.
*/
@@ -456,7 +460,7 @@ aubuflocal_remove(buf_T *buf)
for (event = (event_T)0; (int)event < (int)NUM_EVENTS;
event = (event_T)((int)event + 1))
// loop over all autocommand patterns
for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next)
FOR_ALL_AUTOCMD_PATTERNS(event, ap)
if (ap->buflocal_nr == buf->b_fnum)
{
au_remove_pat(ap);
@@ -519,7 +523,7 @@ au_del_group(char_u *name)
for (event = (event_T)0; (int)event < (int)NUM_EVENTS;
event = (event_T)((int)event + 1))
{
for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next)
FOR_ALL_AUTOCMD_PATTERNS(event, ap)
if (ap->group == i && ap->pat != NULL)
{
give_warning((char_u *)_("W19: Deleting augroup that is still in use"), TRUE);
@@ -1041,7 +1045,7 @@ do_autocmd_event(
*/
if (*pat == NUL)
{
for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next)
FOR_ALL_AUTOCMD_PATTERNS(event, ap)
{
if (forceit) // delete the AutoPat, if it's in the current group
{
@@ -2400,7 +2404,7 @@ has_autocmd(event_T event, char_u *sfname, buf_T *buf)
forward_slash(fname);
#endif
for (ap = first_autopat[(int)event]; ap != NULL; ap = ap->next)
FOR_ALL_AUTOCMD_PATTERNS(event, ap)
if (ap->pat != NULL && ap->cmds != NULL
&& (ap->buflocal_nr == 0
? match_file_pat(NULL, &ap->reg_prog,

View File

@@ -110,6 +110,8 @@ find_word_under_cursor(
lbuf = vim_strnsave(lbuf, len);
}
}
else
scol = col;
if (winp != NULL)
*winp = wp;

View File

@@ -79,6 +79,10 @@ typedef struct BalloonEvalStruct
#ifdef FEAT_GUI_MSWIN
void *tofree;
#endif
#ifdef FEAT_GUI_HAIKU
int x;
int y;
#endif
} BalloonEval;
#define EVAL_OFFSET_X 15 // displacement of beval topleft corner from pointer

View File

@@ -514,7 +514,7 @@ bf_self_test(void)
UINT32_T ui = 0xffffffffUL;
bf_state_T state;
vim_memset(&state, 0, sizeof(bf_state_T));
CLEAR_FIELD(state);
state.cfb_len = BF_MAX_CFB_LEN;
// We can't simply use sizeof(UINT32_T), it would generate a compiler

View File

@@ -52,6 +52,9 @@ static void clear_wininfo(buf_T *buf);
# define dev_T unsigned
#endif
#define FOR_ALL_BUFS_FROM_LAST(buf) \
for ((buf) = lastbuf; (buf) != NULL; (buf) = (buf)->b_prev)
#if defined(FEAT_QUICKFIX)
static char *msg_loclist = N_("[Location List]");
static char *msg_qflist = N_("[Quickfix List]");
@@ -415,7 +418,7 @@ buf_valid(buf_T *buf)
// Assume that we more often have a recent buffer, start with the last
// one.
for (bp = lastbuf; bp != NULL; bp = bp->b_prev)
FOR_ALL_BUFS_FROM_LAST(bp)
if (bp == buf)
return TRUE;
return FALSE;
@@ -2510,7 +2513,7 @@ buflist_findname_stat(
buf_T *buf;
// Start at the last buffer, expect to find a match sooner.
for (buf = lastbuf; buf != NULL; buf = buf->b_prev)
FOR_ALL_BUFS_FROM_LAST(buf)
if ((buf->b_flags & BF_DUMMY) == 0 && !otherfile_buf(buf, ffname
#ifdef UNIX
, stp
@@ -2593,7 +2596,7 @@ buflist_findpat(
return -1;
}
for (buf = lastbuf; buf != NULL; buf = buf->b_prev)
FOR_ALL_BUFS_FROM_LAST(buf)
if (buf->b_p_bl == find_listed
#ifdef FEAT_DIFF
&& (!diffmode || diff_mode_buf(buf))
@@ -2911,7 +2914,7 @@ buflist_setfpos(
{
wininfo_T *wip;
for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
FOR_ALL_BUF_WININFO(buf, wip)
if (wip->wi_win == win)
break;
if (wip == NULL)
@@ -3004,7 +3007,7 @@ find_wininfo(
{
wininfo_T *wip;
for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
FOR_ALL_BUF_WININFO(buf, wip)
if (wip->wi_win == curwin
#ifdef FEAT_DIFF
&& (!skip_diff_buffer || !wininfo_other_tab_diff(wip))
@@ -3019,7 +3022,7 @@ find_wininfo(
#ifdef FEAT_DIFF
if (skip_diff_buffer)
{
for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next)
FOR_ALL_BUF_WININFO(buf, wip)
if (!wininfo_other_tab_diff(wip))
break;
}
@@ -3132,7 +3135,7 @@ buflist_list(exarg_T *eap)
if (vim_strchr(eap->arg, 't'))
{
ga_init2(&buflist, sizeof(buf_T *), 50);
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
FOR_ALL_BUFFERS(buf)
{
if (ga_grow(&buflist, 1) == OK)
((buf_T **)buflist.ga_data)[buflist.ga_len++] = buf;

View File

@@ -172,8 +172,7 @@ check_recorded_changes(
linenr_T prev_lnum;
linenr_T prev_lnume;
for (li = buf->b_recorded_changes->lv_first; li != NULL;
li = li->li_next)
FOR_ALL_LIST_ITEMS(buf->b_recorded_changes, li)
{
prev_lnum = (linenr_T)dict_get_number(
li->li_tv.vval.v_dict, (char_u *)"lnum");
@@ -362,8 +361,7 @@ invoke_listeners(buf_T *buf)
argv[0].v_type = VAR_NUMBER;
argv[0].vval.v_number = buf->b_fnum; // a:bufnr
for (li = buf->b_recorded_changes->lv_first; li != NULL; li = li->li_next)
FOR_ALL_LIST_ITEMS(buf->b_recorded_changes, li)
{
varnumber_T lnum;

View File

@@ -10,6 +10,13 @@
* Implements communication through a socket or any file handle.
*/
#ifdef WIN32
// Must include winsock2.h before windows.h since it conflicts with winsock.h
// (included in windows.h).
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
#include "vim.h"
#if defined(FEAT_JOB_CHANNEL) || defined(PROTO)
@@ -40,7 +47,7 @@
#else
# include <netdb.h>
# include <netinet/in.h>
# include <arpa/inet.h>
# include <sys/socket.h>
# ifdef HAVE_LIBGEN_H
# include <libgen.h>
@@ -61,6 +68,12 @@ static ch_part_T channel_part_send(channel_T *channel);
static ch_part_T channel_part_read(channel_T *channel);
static void free_job_options(jobopt_T *opt);
#define FOR_ALL_CHANNELS(ch) \
for ((ch) = first_channel; (ch) != NULL; (ch) = (ch)->ch_next)
#define FOR_ALL_JOBS(job) \
for ((job) = first_job; (job) != NULL; (job) = (job)->jv_next)
// Whether a redraw is needed for appending a line to a buffer.
static int channel_need_redraw = FALSE;
@@ -476,7 +489,7 @@ free_unused_channels_contents(int copyID, int mask)
// point.
++safe_to_invoke_callback;
for (ch = first_channel; ch != NULL; ch = ch->ch_next)
FOR_ALL_CHANNELS(ch)
if (!channel_still_useful(ch)
&& (ch->ch_copyID & mask) != (copyID & mask))
{
@@ -520,8 +533,7 @@ channel_fd2channel(sock_T fd, ch_part_T *partp)
ch_part_T part;
if (fd != INVALID_FD)
for (channel = first_channel; channel != NULL;
channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
for (part = PART_SOCK; part < PART_IN; ++part)
if (channel->ch_part[part].ch_fd == fd)
@@ -662,7 +674,7 @@ channel_gui_register_all(void)
{
channel_T *channel;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
channel_gui_register(channel);
}
@@ -706,90 +718,38 @@ channel_gui_unregister(channel_T *channel)
static char *e_cannot_connect = N_("E902: Cannot connect to port");
/*
* Open a socket channel to "hostname":"port".
* "waittime" is the time in msec to wait for the connection.
* When negative wait forever.
* Returns the channel for success.
* Returns NULL for failure.
* For Unix we need to call connect() again after connect() failed.
* On Win32 one time is sufficient.
*/
channel_T *
channel_open(
char *hostname,
int port_in,
int waittime,
void (*nb_close_cb)(void))
static int
channel_connect(
channel_T *channel,
const struct sockaddr *server_addr,
int server_addrlen,
int *waittime)
{
int sd = -1;
struct sockaddr_in server;
struct hostent *host;
int sd = -1;
#ifdef MSWIN
u_short port = port_in;
u_long val = 1;
#else
int port = port_in;
#endif
channel_T *channel;
int ret;
#ifdef MSWIN
channel_init_winsock();
u_long val = 1;
#endif
channel = add_channel();
if (channel == NULL)
{
ch_error(NULL, "Cannot allocate channel.");
return NULL;
}
// Get the server internet address and put into addr structure
// fill in the socket address structure and connect to server
vim_memset((char *)&server, 0, sizeof(server));
server.sin_family = AF_INET;
server.sin_port = htons(port);
if ((host = gethostbyname(hostname)) == NULL)
{
ch_error(channel, "in gethostbyname() in channel_open()");
PERROR(_("E901: gethostbyname() in channel_open()"));
channel_free(channel);
return NULL;
}
{
char *p;
// When using host->h_addr_list[0] directly ubsan warns for it to not
// be aligned. First copy the pointer to avoid that.
memcpy(&p, &host->h_addr_list[0], sizeof(p));
memcpy((char *)&server.sin_addr, p, host->h_length);
}
// On Mac and Solaris a zero timeout almost never works. At least wait
// one millisecond. Let's do it for all systems, because we don't know why
// this is needed.
if (waittime == 0)
waittime = 1;
/*
* For Unix we need to call connect() again after connect() failed.
* On Win32 one time is sufficient.
*/
while (TRUE)
{
long elapsed_msec = 0;
int waitnow;
int ret;
if (sd >= 0)
sock_close(sd);
sd = socket(AF_INET, SOCK_STREAM, 0);
sd = socket(server_addr->sa_family, SOCK_STREAM, 0);
if (sd == -1)
{
ch_error(channel, "in socket() in channel_open().");
PERROR(_("E898: socket() in channel_open()"));
channel_free(channel);
return NULL;
ch_error(channel, "in socket() in channel_connect().");
PERROR(_("E898: socket() in channel_connect()"));
return -1;
}
if (waittime >= 0)
if (*waittime >= 0)
{
// Make connect() non-blocking.
if (
@@ -802,23 +762,22 @@ channel_open(
{
SOCK_ERRNO;
ch_error(channel,
"channel_open: Connect failed with errno %d", errno);
"channel_connect: Connect failed with errno %d", errno);
sock_close(sd);
channel_free(channel);
return NULL;
return -1;
}
}
// Try connecting to the server.
ch_log(channel, "Connecting to %s port %d", hostname, port);
ret = connect(sd, (struct sockaddr *)&server, sizeof(server));
ch_log(channel, "Connecting...");
ret = connect(sd, server_addr, server_addrlen);
if (ret == 0)
// The connection could be established.
break;
SOCK_ERRNO;
if (waittime < 0 || (errno != EWOULDBLOCK
if (*waittime < 0 || (errno != EWOULDBLOCK
&& errno != ECONNREFUSED
#ifdef EINPROGRESS
&& errno != EINPROGRESS
@@ -826,22 +785,24 @@ channel_open(
))
{
ch_error(channel,
"channel_open: Connect failed with errno %d", errno);
"channel_connect: Connect failed with errno %d", errno);
PERROR(_(e_cannot_connect));
sock_close(sd);
channel_free(channel);
return NULL;
return -1;
}
else if (errno == ECONNREFUSED)
{
ch_error(channel, "channel_connect: Connection refused");
sock_close(sd);
return -1;
}
// Limit the waittime to 50 msec. If it doesn't work within this
// time we close the socket and try creating it again.
waitnow = waittime > 50 ? 50 : waittime;
waitnow = *waittime > 50 ? 50 : *waittime;
// If connect() didn't finish then try using select() to wait for the
// connection to be made. For Win32 always use select() to wait.
#ifndef MSWIN
if (errno != ECONNREFUSED)
#endif
{
struct timeval tv;
fd_set rfds;
@@ -863,18 +824,17 @@ channel_open(
gettimeofday(&start_tv, NULL);
#endif
ch_log(channel,
"Waiting for connection (waiting %d msec)...", waitnow);
ret = select((int)sd + 1, &rfds, &wfds, NULL, &tv);
"Waiting for connection (waiting %d msec)...", waitnow);
ret = select((int)sd + 1, &rfds, &wfds, NULL, &tv);
if (ret < 0)
{
SOCK_ERRNO;
ch_error(channel,
"channel_open: Connect failed with errno %d", errno);
"channel_connect: Connect failed with errno %d", errno);
PERROR(_(e_cannot_connect));
sock_close(sd);
channel_free(channel);
return NULL;
return -1;
}
#ifdef MSWIN
@@ -883,9 +843,9 @@ channel_open(
if (FD_ISSET(sd, &wfds))
break;
elapsed_msec = waitnow;
if (waittime > 1 && elapsed_msec < waittime)
if (*waittime > 1 && elapsed_msec < *waittime)
{
waittime -= elapsed_msec;
*waittime -= elapsed_msec;
continue;
}
#else
@@ -909,12 +869,17 @@ channel_open(
))
{
ch_error(channel,
"channel_open: Connect failed with errno %d",
"channel_connect: Connect failed with errno %d",
so_error);
PERROR(_(e_cannot_connect));
sock_close(sd);
channel_free(channel);
return NULL;
return -1;
}
else if (errno == ECONNREFUSED)
{
ch_error(channel, "channel_connect: Connection refused");
sock_close(sd);
return -1;
}
}
@@ -924,30 +889,30 @@ channel_open(
gettimeofday(&end_tv, NULL);
elapsed_msec = (end_tv.tv_sec - start_tv.tv_sec) * 1000
+ (end_tv.tv_usec - start_tv.tv_usec) / 1000;
+ (end_tv.tv_usec - start_tv.tv_usec) / 1000;
#endif
}
#ifndef MSWIN
if (waittime > 1 && elapsed_msec < waittime)
if (*waittime > 1 && elapsed_msec < *waittime)
{
// The port isn't ready but we also didn't get an error.
// This happens when the server didn't open the socket
// yet. Select() may return early, wait until the remaining
// "waitnow" and try again.
waitnow -= elapsed_msec;
waittime -= elapsed_msec;
*waittime -= elapsed_msec;
if (waitnow > 0)
{
mch_delay((long)waitnow, TRUE);
ui_breakcheck();
waittime -= waitnow;
*waittime -= waitnow;
}
if (!got_int)
{
if (waittime <= 0)
if (*waittime <= 0)
// give it one more try
waittime = 1;
*waittime = 1;
continue;
}
// we were interrupted, behave as if timed out
@@ -957,13 +922,10 @@ channel_open(
// We timed out.
ch_error(channel, "Connection timed out");
sock_close(sd);
channel_free(channel);
return NULL;
return -1;
}
ch_log(channel, "Connection made");
if (waittime >= 0)
if (*waittime >= 0)
{
#ifdef MSWIN
val = 0;
@@ -973,10 +935,157 @@ channel_open(
#endif
}
return sd;
}
/*
* Open a socket channel to "hostname":"port".
* "waittime" is the time in msec to wait for the connection.
* When negative wait forever.
* Returns the channel for success.
* Returns NULL for failure.
*/
channel_T *
channel_open(
const char *hostname,
int port,
int waittime,
void (*nb_close_cb)(void))
{
int sd = -1;
channel_T *channel = NULL;
#ifdef FEAT_IPV6
struct addrinfo hints;
struct addrinfo *res = NULL;
struct addrinfo *addr = NULL;
#else
struct sockaddr_in server;
struct hostent *host = NULL;
#endif
#ifdef MSWIN
channel_init_winsock();
#endif
channel = add_channel();
if (channel == NULL)
{
ch_error(NULL, "Cannot allocate channel.");
return NULL;
}
// Get the server internet address and put into addr structure fill in the
// socket address structure and connect to server.
#ifdef FEAT_IPV6
CLEAR_FIELD(hints);
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
# ifdef AI_ADDRCONFIG
hints.ai_flags = AI_ADDRCONFIG;
# endif
// Set port number manually in order to prevent name resolution services
// from being invoked in the environment where AI_NUMERICSERV is not
// defined.
if (getaddrinfo(hostname, NULL, &hints, &res) != 0)
{
ch_error(channel, "in getaddrinfo() in channel_open()");
PERROR(_("E901: getaddrinfo() in channel_open()"));
channel_free(channel);
return NULL;
}
for (addr = res; addr != NULL; addr = addr->ai_next)
{
const char *dst = hostname;
const void *src = NULL;
# ifdef HAVE_INET_NTOP
char buf[NUMBUFLEN];
# endif
if (addr->ai_family == AF_INET6)
{
struct sockaddr_in6 *sai = (struct sockaddr_in6 *)addr->ai_addr;
sai->sin6_port = htons(port);
src = &sai->sin6_addr;
}
else if (addr->ai_family == AF_INET)
{
struct sockaddr_in *sai = (struct sockaddr_in *)addr->ai_addr;
sai->sin_port = htons(port);
src = &sai->sin_addr;
}
# ifdef HAVE_INET_NTOP
if (src != NULL)
{
dst = inet_ntop(addr->ai_family, src, buf, sizeof(buf));
if (dst == NULL)
dst = hostname;
else if (STRCMP(hostname, dst) != 0)
ch_log(channel, "Resolved %s to %s", hostname, dst);
}
# endif
ch_log(channel, "Trying to connect to %s port %d", dst, port);
// On Mac and Solaris a zero timeout almost never works. At least wait
// one millisecond. Let's do it for all systems, because we don't know
// why this is needed.
if (waittime == 0)
waittime = 1;
sd = channel_connect(channel, addr->ai_addr, addr->ai_addrlen,
&waittime);
if (sd >= 0)
break;
}
freeaddrinfo(res);
#else
CLEAR_FIELD(server);
server.sin_family = AF_INET;
server.sin_port = htons(port);
if ((host = gethostbyname(hostname)) == NULL)
{
ch_error(channel, "in gethostbyname() in channel_open()");
PERROR(_("E901: gethostbyname() in channel_open()"));
channel_free(channel);
return NULL;
}
{
char *p;
// When using host->h_addr_list[0] directly ubsan warns for it to not
// be aligned. First copy the pointer to avoid that.
memcpy(&p, &host->h_addr_list[0], sizeof(p));
memcpy((char *)&server.sin_addr, p, host->h_length);
}
ch_log(channel, "Trying to connect to %s port %d", hostname, port);
// On Mac and Solaris a zero timeout almost never works. At least wait one
// millisecond. Let's do it for all systems, because we don't know why
// this is needed.
if (waittime == 0)
waittime = 1;
sd = channel_connect(channel, (struct sockaddr *)&server, sizeof(server),
&waittime);
#endif
if (sd < 0)
{
channel_free(channel);
return NULL;
}
ch_log(channel, "Connection made");
channel->CH_SOCK_FD = (sock_T)sd;
channel->ch_nb_close_cb = nb_close_cb;
channel->ch_hostname = (char *)vim_strsave((char_u *)hostname);
channel->ch_port = port_in;
channel->ch_port = port;
channel->ch_to_be_closed |= (1U << PART_SOCK);
#ifdef FEAT_GUI
@@ -1217,6 +1326,7 @@ channel_open_func(typval_T *argvars)
char_u *p;
char *rest;
int port;
int is_ipv6 = FALSE;
jobopt_T opt;
channel_T *channel = NULL;
@@ -1229,20 +1339,40 @@ channel_open_func(typval_T *argvars)
}
// parse address
p = vim_strchr(address, ':');
if (p == NULL)
if (*address == '[')
{
// ipv6 address
is_ipv6 = TRUE;
p = vim_strchr(address + 1, ']');
if (p == NULL || *++p != ':')
{
semsg(_(e_invarg2), address);
return NULL;
}
}
else
{
p = vim_strchr(address, ':');
if (p == NULL)
{
semsg(_(e_invarg2), address);
return NULL;
}
}
port = strtol((char *)(p + 1), &rest, 10);
if (*address == NUL || port <= 0 || port >= 65536 || *rest != NUL)
{
semsg(_(e_invarg2), address);
return NULL;
}
*p++ = NUL;
port = strtol((char *)p, &rest, 10);
if (*address == NUL || port <= 0 || *rest != NUL)
if (is_ipv6)
{
p[-1] = ':';
semsg(_(e_invarg2), address);
return NULL;
// strip '[' and ']'
++address;
*(p - 1) = NUL;
}
else
*p = NUL;
// parse options
clear_job_options(&opt);
@@ -1569,7 +1699,7 @@ channel_buffer_free(buf_T *buf)
channel_T *channel;
ch_part_T part;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
for (part = PART_SOCK; part < PART_COUNT; ++part)
{
chanpart_T *ch_part = &channel->ch_part[part];
@@ -1610,7 +1740,7 @@ channel_write_any_lines(void)
{
channel_T *channel;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
channel_write_input(channel);
}
@@ -1625,7 +1755,7 @@ channel_write_new_lines(buf_T *buf)
// There could be more than one channel for the buffer, loop over all of
// them.
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
chanpart_T *in_part = &channel->ch_part[PART_IN];
linenr_T lnum;
@@ -2390,7 +2520,7 @@ channel_exe_cmd(channel_T *channel, ch_part_T part, typval_T *argv)
exarg_T ea;
ch_log(channel, "Executing normal command '%s'", (char *)arg);
vim_memset(&ea, 0, sizeof(ea));
CLEAR_FIELD(ea);
ea.arg = arg;
ea.addr_count = 0;
ea.forceit = TRUE; // no mapping
@@ -2401,7 +2531,7 @@ channel_exe_cmd(channel_T *channel, ch_part_T part, typval_T *argv)
exarg_T ea;
ch_log(channel, "redraw");
vim_memset(&ea, 0, sizeof(ea));
CLEAR_FIELD(ea);
ea.forceit = *arg != NUL;
ex_redraw(&ea);
showruler(FALSE);
@@ -2604,7 +2734,7 @@ append_to_buffer(buf_T *buffer, char_u *msg, channel_T *channel, ch_part_T part)
// Find channels reading from this buffer and adjust their
// next-to-read line number.
buffer->b_write_to_channel = TRUE;
for (ch = first_channel; ch != NULL; ch = ch->ch_next)
FOR_ALL_CHANNELS(ch)
{
chanpart_T *in_part = &ch->ch_part[PART_IN];
@@ -3180,7 +3310,7 @@ channel_free_all(void)
channel_T *channel;
ch_log(NULL, "channel_free_all()");
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
channel_clear(channel);
}
#endif
@@ -3202,7 +3332,7 @@ channel_fill_wfds(int maxfd_arg, fd_set *wfds)
int maxfd = maxfd_arg;
channel_T *ch;
for (ch = first_channel; ch != NULL; ch = ch->ch_next)
FOR_ALL_CHANNELS(ch)
{
chanpart_T *in_part = &ch->ch_part[PART_IN];
@@ -3227,7 +3357,7 @@ channel_fill_poll_write(int nfd_in, struct pollfd *fds)
int nfd = nfd_in;
channel_T *ch;
for (ch = first_channel; ch != NULL; ch = ch->ch_next)
FOR_ALL_CHANNELS(ch)
{
chanpart_T *in_part = &ch->ch_part[PART_IN];
@@ -3821,7 +3951,7 @@ channel_handle_events(int only_keep_open)
ch_part_T part;
sock_T fd;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
if (only_keep_open && !channel->ch_keep_open)
continue;
@@ -3854,7 +3984,7 @@ channel_any_keep_open()
{
channel_T *channel;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
if (channel->ch_keep_open)
return TRUE;
return FALSE;
@@ -4234,7 +4364,7 @@ channel_poll_setup(int nfd_in, void *fds_in, int *towait)
struct pollfd *fds = fds_in;
ch_part_T part;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
for (part = PART_SOCK; part < PART_IN; ++part)
{
@@ -4281,7 +4411,7 @@ channel_poll_check(int ret_in, void *fds_in)
int idx;
chanpart_T *in_part;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
for (part = PART_SOCK; part < PART_IN; ++part)
{
@@ -4332,7 +4462,7 @@ channel_select_setup(
fd_set *wfds = wfds_in;
ch_part_T part;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
for (part = PART_SOCK; part < PART_IN; ++part)
{
@@ -4381,7 +4511,7 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
ch_part_T part;
chanpart_T *in_part;
for (channel = first_channel; channel != NULL; channel = channel->ch_next)
FOR_ALL_CHANNELS(channel)
{
for (part = PART_SOCK; part < PART_IN; ++part)
{
@@ -4669,7 +4799,7 @@ handle_io(typval_T *item, ch_part_T part, jobopt_T *opt)
void
clear_job_options(jobopt_T *opt)
{
vim_memset(opt, 0, sizeof(jobopt_T));
CLEAR_POINTER(opt);
}
/*
@@ -5471,7 +5601,7 @@ job_any_running()
{
job_T *job;
for (job = first_job; job != NULL; job = job->jv_next)
FOR_ALL_JOBS(job)
if (job_still_useful(job))
{
ch_log(NULL, "GUI not forking because a job is running");
@@ -5570,7 +5700,7 @@ win32_build_cmd(list_T *l, garray_T *gap)
char_u *s;
range_list_materialize(l);
for (li = l->lv_first; li != NULL; li = li->li_next)
FOR_ALL_LIST_ITEMS(l, li)
{
s = tv_get_string_chk(&li->li_tv);
if (s == NULL)
@@ -5695,7 +5825,7 @@ free_unused_jobs_contents(int copyID, int mask)
int did_free = FALSE;
job_T *job;
for (job = first_job; job != NULL; job = job->jv_next)
FOR_ALL_JOBS(job)
if ((job->jv_copyID & mask) != (copyID & mask)
&& !job_still_useful(job))
{
@@ -5781,7 +5911,7 @@ job_stop_on_exit(void)
{
job_T *job;
for (job = first_job; job != NULL; job = job->jv_next)
FOR_ALL_JOBS(job)
if (job->jv_status == JOB_STARTED && job->jv_stoponexit != NULL)
mch_signal_job(job, job->jv_stoponexit);
}
@@ -5795,7 +5925,7 @@ has_pending_job(void)
{
job_T *job;
for (job = first_job; job != NULL; job = job->jv_next)
FOR_ALL_JOBS(job)
// Only should check if the channel has been closed, if the channel is
// open the job won't exit.
if ((job->jv_status == JOB_STARTED && !job_channel_still_useful(job))
@@ -6589,7 +6719,7 @@ job_info_all(list_T *l)
job_T *job;
typval_T tv;
for (job = first_job; job != NULL; job = job->jv_next)
FOR_ALL_JOBS(job)
{
tv.v_type = VAR_JOB;
tv.vval.v_job = job;

View File

@@ -127,7 +127,7 @@ buf_init_chartab(
/*
* Init word char flags all to FALSE
*/
vim_memset(buf->b_chartab, 0, (size_t)32);
CLEAR_FIELD(buf->b_chartab);
if (enc_dbcs != 0)
for (c = 0; c < 256; ++c)
{

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