From ff1680722d01dc17a66b6e5f7ba22eaf9419742c Mon Sep 17 00:00:00 2001 From: RestorerZ Date: Wed, 14 Aug 2024 14:38:46 +0200 Subject: [PATCH 01/20] runtime(doc): Remove mentioning of the voting feature closes: #15491 Signed-off-by: RestorerZ Signed-off-by: Christian Brabandt --- runtime/doc/sponsor.txt | 11 ++++------- runtime/doc/uganda.txt | 6 +++--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt index 169816896b068..6df14ebe3aa51 100644 --- a/runtime/doc/sponsor.txt +++ b/runtime/doc/sponsor.txt @@ -1,4 +1,4 @@ -*sponsor.txt* For Vim version 9.1. Last change: 2024 Apr 22 +*sponsor.txt* For Vim version 9.1. Last change: 2024 Aug 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -76,16 +76,14 @@ How much money should I send? That is up to you. The more you give, the more children will be helped. An indication for individuals that use Vim at home: 10 Euro per year. For -professional use: 30 Euro per year per person. Send at least 10 euro to be -able to vote for features. +professional use: 30 Euro per year per person. How do I become a Vim sponsor or registered Vim user? Send money, as explained above |send-money| and include your e-mail address. When the money has been received you will receive a unique registration key. -This key can be used on the Vim website to activate voting on your Vim -account. You will then get an extra page where you can vote for features and +This key can be used on the Vim website to get an extra page where you can choose whether others will be able to see that you donated. There is a link to this page on your "My Account" page. @@ -127,8 +125,7 @@ the developer |maillist|, for reporting bugs see |bugs|. How about Charityware? Currently the Vim donations go to |uganda| anyway. Thus it doesn't matter if -you sponsor Vim or ICCF. Except that Vim sponsoring will allow you to vote -for features. +you sponsor Vim or ICCF. I donated $$$, now please add feature XYZ! diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt index 513759f60c783..17590e5cb113d 100644 --- a/runtime/doc/uganda.txt +++ b/runtime/doc/uganda.txt @@ -1,4 +1,4 @@ -*uganda.txt* For Vim version 9.1. Last change: 2024 Apr 22 +*uganda.txt* For Vim version 9.1. Last change: 2024 Aug 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -15,8 +15,8 @@ below or visit the ICCF web site, available at these URLs: https://www.vim.org/iccf/ https://www.iccf.nl/ -You can also sponsor the development of Vim. Vim sponsors can vote for -features. See |sponsor|. The money goes to Uganda anyway. +You can also sponsor the development of Vim, see |sponsor|. The money goes to +Uganda anyway. The Open Publication License applies to the Vim documentation, see |manual-copyright|. From bbeb38db4eff4e7be2cd5fef632c80612f234bb8 Mon Sep 17 00:00:00 2001 From: Ubaldo Tiberi Date: Wed, 14 Aug 2024 14:41:02 +0200 Subject: [PATCH 02/20] runtime(termdebug): Fix wrong test for balloon feature fixes: #15359 closes: #15487 Signed-off-by: Ubaldo Tiberi Signed-off-by: Christian Brabandt --- runtime/pack/dist/opt/termdebug/plugin/termdebug.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim index 04f82bd504c6e..377827e85738b 100644 --- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim +++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -1536,7 +1536,7 @@ def CleanupExpr(passed_expr: string): string enddef def Balloon_show(expr: string) - if has("+balloon_eval") || has("+balloon_eval_term") + if has("balloon_eval") || has("balloon_eval_term") balloon_show(expr) endif enddef From dd36d6cc7c39f3cfb29818f89f4f9dec2c7c22e4 Mon Sep 17 00:00:00 2001 From: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:43:30 +0200 Subject: [PATCH 03/20] runtime(mediawiki): fix typo in doc, test for b:did_ftplugin var closes: #15479 Signed-off-by: Stanislav Asunkin <1353637+stasjok@users.noreply.github.com> Signed-off-by: AvidSeeker Signed-off-by: Christian Brabandt --- runtime/doc/syntax.txt | 2 +- runtime/ftplugin/mediawiki.vim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 8e33d0244e585..68ea21ea90aba 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -2376,7 +2376,7 @@ have the following in your .vimrc: > MEDIAWIKI *ft-mediawiki-syntax* -Be default, syntax highlighting includes basic HTML tags like style and +By default, syntax highlighting includes basic HTML tags like style and headers |html.vim|. For strict Mediawiki syntax highlighting: > let g:html_no_rendering = 1 diff --git a/runtime/ftplugin/mediawiki.vim b/runtime/ftplugin/mediawiki.vim index efd2ae5c9b05c..4618246106506 100644 --- a/runtime/ftplugin/mediawiki.vim +++ b/runtime/ftplugin/mediawiki.vim @@ -8,7 +8,7 @@ if exists("b:did_ftplugin") finish endif -let g:did_ftplugin = 1 +let b:did_ftplugin = 1 " Many MediaWiki wikis prefer line breaks only at the end of paragraphs " (like in a text processor), which results in long, wrapping lines. From ea76096fa98ac26c23703bffdc4d9b3dc8a94d7e Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Wed, 14 Aug 2024 14:50:56 +0200 Subject: [PATCH 04/20] runtime(javascript): fix a few issues with syntax higlighting It addresses the following issues: - Fix highlight of let and var javascript keywords According to runtime/doc/syntax.txt, Identifier is for variable names. let/var are not variable names, they are keywords - Add highlighting for "from" keyword in javascript - Fix highlight of function keyword in javascript According to docs, Function is for function names, so the function keyword should just be Keyword. - Fix highlight of static keyword in javascript According to vim docs: StorageClass static, register, volatile, etc. closes: #15480 Signed-off-by: Tobiasz Laskowski Signed-off-by: Christian Brabandt --- runtime/syntax/javascript.vim | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim index e3b4cdf703ced..c73f5d70977a4 100644 --- a/runtime/syntax/javascript.vim +++ b/runtime/syntax/javascript.vim @@ -10,6 +10,7 @@ " Last Change: 2022 Jun 09 " 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke) " 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder) +" 2024 Aug 14: fix a few stylistic issues (#15480) " tuning parameters: " unlet javaScript_fold @@ -59,14 +60,15 @@ syn keyword javaScriptType Array Boolean Date Function Number Object String Reg syn keyword javaScriptStatement return with await yield syn keyword javaScriptBoolean true false syn keyword javaScriptNull null undefined -syn keyword javaScriptIdentifier arguments this var let +syn keyword javaScriptIdentifier arguments this syn keyword javaScriptLabel case default syn keyword javaScriptException try catch finally throw syn keyword javaScriptMessage alert confirm prompt status syn keyword javaScriptGlobal self window top parent syn keyword javaScriptMember document event location syn keyword javaScriptDeprecated escape unescape -syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile async +syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float from goto implements import int interface let long native package private protected public short super synchronized throws transient var volatile async +syn keyword javaScriptModifier static syn cluster javaScriptEmbededExpr contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT @@ -110,7 +112,7 @@ hi def link javaScriptBranch Conditional hi def link javaScriptOperator Operator hi def link javaScriptType Type hi def link javaScriptStatement Statement -hi def link javaScriptFunction Function +hi def link javaScriptFunction Keyword hi def link javaScriptBraces Function hi def link javaScriptError Error hi def link javaScrParenError javaScriptError @@ -126,6 +128,7 @@ hi def link javaScriptGlobal Keyword hi def link javaScriptMember Keyword hi def link javaScriptDeprecated Exception hi def link javaScriptReserved Keyword +hi def link javaScriptModifier StorageClass hi def link javaScriptDebug Debug hi def link javaScriptConstant Label hi def link javaScriptEmbed Special From 7477861e0d1d4bb168a65585c49c66e57b3ec636 Mon Sep 17 00:00:00 2001 From: Ernie Rael Date: Wed, 14 Aug 2024 14:53:55 +0200 Subject: [PATCH 05/20] patch 9.1.0674: Vim9: compiling abstract method fails because of missing return Problem: Vim9: compiling abstract method fails because of missing return (Aliaksei Budavei) Solution: don't require a return statement for an abstract method when compiling (Ernie Rael) fixes: #15432 closes: #15441 Signed-off-by: Ernie Rael Signed-off-by: Christian Brabandt --- src/testdir/test_vim9_class.vim | 21 +++++++++++++++++++++ src/version.c | 2 ++ src/vim9compile.c | 5 +++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index 8791a5218d860..702ec2609f9be 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -6264,6 +6264,27 @@ def Test_abstract_method() assert_equal('foo', A.Foo()) END v9.CheckSourceSuccess(lines) + + # Invoke method returning a value through the abstract class. See #15432. + lines =<< trim END + vim9script + + abstract class A + abstract def String(): string + endclass + + class B extends A + def String(): string + return 'B' + enddef + endclass + + def F(o: A) + assert_equal('B', o.String()) + enddef + F(B.new()) + END + v9.CheckSourceSuccess(lines) enddef " Test for calling a class method from a subclass diff --git a/src/version.c b/src/version.c index edde65f729593..9bfca005ddb4f 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 674, /**/ 673, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index ea305b7b34bb5..de13f9bb49fd3 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -4120,8 +4120,9 @@ compile_def_function( ufunc->uf_args_visible = ufunc->uf_args.ga_len; // Compiling a function in an interface is done to get the function type. - // No code is actually compiled. - if (ufunc->uf_class != NULL && IS_INTERFACE(ufunc->uf_class)) + // No code is actually compiled. Same goes for an abstract method. + if ((ufunc->uf_class != NULL && IS_INTERFACE(ufunc->uf_class)) + || IS_ABSTRACT_METHOD(ufunc)) { ufunc->uf_def_status = UF_NOT_COMPILED; ret = OK; From fc762dfc9fa95696409067bcb565e846c9ccfc5a Mon Sep 17 00:00:00 2001 From: Yinzuo Jiang Date: Wed, 14 Aug 2024 21:49:00 +0200 Subject: [PATCH 06/20] runtime(sql, mysql): fix E169: Command too recursive with sql_type_default = "mysql" Problem: When setting "let g:sql_type_default = "mysql", editing .sql file reports "E169: Command too recursive" error Solution: - Add 'let b:did_ftplugin = 1' at the top of ftplugin/sql.vim - Add 'if exists("b:did_ftplugin") | finish | endif' in ftplugin/mysql.vim - Add missing header information in ftplugin/mysql.vim - Remove redundant code in ftplugin/sql.vim fixes: #15474 closes: #15475 Signed-off-by: Yinzuo Jiang Signed-off-by: Riley Bruins Signed-off-by: Christian Brabandt --- runtime/ftplugin/mysql.vim | 8 ++++++++ runtime/ftplugin/sql.vim | 26 ++++++++++---------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/runtime/ftplugin/mysql.vim b/runtime/ftplugin/mysql.vim index cbbd0eb12239a..232df8c5a3a9c 100644 --- a/runtime/ftplugin/mysql.vim +++ b/runtime/ftplugin/mysql.vim @@ -1 +1,9 @@ +" Vim filetype plugin +" Language: MySQL +" Maintainer: Riley Bruins +" Last Change: 2024 Aug 12 +if exists("b:did_ftplugin") + finish +endif + runtime ftplugin/sql.vim diff --git a/runtime/ftplugin/sql.vim b/runtime/ftplugin/sql.vim index 61b7e67255154..3b56acd6749fe 100644 --- a/runtime/ftplugin/sql.vim +++ b/runtime/ftplugin/sql.vim @@ -3,8 +3,9 @@ " Version: 12.0 " Maintainer: David Fishburn " Last Change: 2017 Mar 07 -" 2024 Jan 14 by Vim Project (browsefilter) -" 2024 May 18 by Vim Project (set comment options) +" 2024 Jan 14 by Vim Project: browsefilter +" 2024 May 18 by Vim Project: set comment options +" 2024 Aug 14 by Vim Project: remove redundant code " Download: http://vim.sourceforge.net/script.php?script_id=454 " For more details please use: @@ -92,13 +93,19 @@ " Only do this when not done yet for this buffer " This ftplugin can be used with other ftplugins. So ensure loading " happens if all elements of this plugin have not yet loaded. -if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugin == 'sql' +if exists("b:did_ftplugin") finish endif +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + let s:save_cpo = &cpo set cpo&vim +let b:undo_ftplugin = "setl comments< commentstring< formatoptions< define< omnifunc<" . + \ " | unlet! b:browsefilter b:match_words" + " Disable autowrapping for code, but enable for comments " t Auto-wrap text using textwidth " c Auto-wrap comments using textwidth, inserting the current comment @@ -263,19 +270,6 @@ elseif exists("g:sql_type_default") endif endif -" If the above runtime command succeeded, do not load the default settings -" as they should have already been loaded from a previous run. -if exists("b:did_ftplugin") && exists("b:current_ftplugin") && b:current_ftplugin == 'sql' - finish -endif - -let b:undo_ftplugin = "setl comments< commentstring< formatoptions< define< omnifunc<" . - \ " | unlet! b:browsefilter b:match_words" - -" Don't load another plugin for this buffer -let b:did_ftplugin = 1 -let b:current_ftplugin = 'sql' - " Win32 and GTK can filter files in the browse dialog if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") let b:browsefilter = "SQL Files (*.sql)\t*.sql\n" From 11c92be8974f04ab12ff3f9cd89a692bbd6c46d9 Mon Sep 17 00:00:00 2001 From: Ken Takata Date: Wed, 14 Aug 2024 21:56:42 +0200 Subject: [PATCH 07/20] runtime(dosbatch): Add syn-sync to syntax file Closing parentheses were often highlighted as errors. Add a syntax sync command to reduce the error. Also fix that `defined` was not highlighted as an operator inside parentheses. E.g.: ``` if defined foo ( if defined bar ( ... ) ) ``` The first `defined` was highlighted but the second one was not. related: #15453 Signed-off-by: Ken Takata Signed-off-by: Christian Brabandt --- runtime/syntax/dosbatch.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/runtime/syntax/dosbatch.vim b/runtime/syntax/dosbatch.vim index 55601996adb0e..761fac0dc26d7 100644 --- a/runtime/syntax/dosbatch.vim +++ b/runtime/syntax/dosbatch.vim @@ -3,6 +3,7 @@ " Maintainer: Mike Williams " Filenames: *.bat " Last Change: 3rd February 2024 +" 2024 Aug 14 by Vim Project: improve syntax (#15453) " " Options Flags: " dosbatch_cmdextversion - 1 = Windows NT, 2 = Windows 2000 [default] @@ -45,7 +46,7 @@ syn match dosbatchString "\|]\|\^\@<=[)>|]\)*"lc=4 contains=dosbatchV syn match dosbatchEchoOperator "\ Date: Wed, 14 Aug 2024 21:57:35 +0200 Subject: [PATCH 08/20] runtime(dosbatch): Show %%i as an argument in syntax file Inside batch files, for-variables must be written as %%i, not %i. closes: #15453 Signed-off-by: Ken Takata Signed-off-by: Christian Brabandt --- runtime/syntax/dosbatch.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/syntax/dosbatch.vim b/runtime/syntax/dosbatch.vim index 761fac0dc26d7..0c3e99be3b5aa 100644 --- a/runtime/syntax/dosbatch.vim +++ b/runtime/syntax/dosbatch.vim @@ -75,7 +75,7 @@ syn match dosbatchSet "\s\h\w*[+-]\==\{-1}" contains=dosbatchIdentifier,dosbatc " Args to bat files and for loops, etc syn match dosbatchArgument "%\(\d\|\*\)" -syn match dosbatchArgument "%[a-z]\>" +syn match dosbatchArgument "%%[a-z]\>" if dosbatch_cmdextversion == 1 syn match dosbatchArgument "%\~[fdpnxs]\+\(\($PATH:\)\=[a-z]\|\d\)\>" else From ded1677dd20ae795fadc8d6f3c01f012b1338fe1 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Wed, 14 Aug 2024 22:52:03 +0200 Subject: [PATCH 09/20] patch 9.1.0675: Patch v9.1.0674 causes problems Problem: Patch v9.1.0674 causes problems Solution: Revert it for now Revert "patch 9.1.0674: Vim9: compiling abstract method fails because of missing return" This reverts commit 7477861e0d1d4bb168a65585c49c66e57b3ec636. Signed-off-by: Christian Brabandt --- src/testdir/test_vim9_class.vim | 21 --------------------- src/version.c | 2 ++ src/vim9compile.c | 5 ++--- 3 files changed, 4 insertions(+), 24 deletions(-) diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index 702ec2609f9be..8791a5218d860 100644 --- a/src/testdir/test_vim9_class.vim +++ b/src/testdir/test_vim9_class.vim @@ -6264,27 +6264,6 @@ def Test_abstract_method() assert_equal('foo', A.Foo()) END v9.CheckSourceSuccess(lines) - - # Invoke method returning a value through the abstract class. See #15432. - lines =<< trim END - vim9script - - abstract class A - abstract def String(): string - endclass - - class B extends A - def String(): string - return 'B' - enddef - endclass - - def F(o: A) - assert_equal('B', o.String()) - enddef - F(B.new()) - END - v9.CheckSourceSuccess(lines) enddef " Test for calling a class method from a subclass diff --git a/src/version.c b/src/version.c index 9bfca005ddb4f..f96c473018a72 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 675, /**/ 674, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index de13f9bb49fd3..ea305b7b34bb5 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -4120,9 +4120,8 @@ compile_def_function( ufunc->uf_args_visible = ufunc->uf_args.ga_len; // Compiling a function in an interface is done to get the function type. - // No code is actually compiled. Same goes for an abstract method. - if ((ufunc->uf_class != NULL && IS_INTERFACE(ufunc->uf_class)) - || IS_ABSTRACT_METHOD(ufunc)) + // No code is actually compiled. + if (ufunc->uf_class != NULL && IS_INTERFACE(ufunc->uf_class)) { ufunc->uf_def_status = UF_NOT_COMPILED; ret = OK; From 81b62dd65435d6d7917934daf5eff42eca8906f8 Mon Sep 17 00:00:00 2001 From: RestorerZ Date: Thu, 15 Aug 2024 21:39:33 +0200 Subject: [PATCH 10/20] patch 9.1.0676: style issues with man pages Problem: style issues with man pages Solution: update man pages and test_xxd.vim, since it uses the xxd man page (RestorerZ) closes: #15489 Signed-off-by: RestorerZ Signed-off-by: Christian Brabandt --- runtime/doc/evim.1 | 8 +- runtime/doc/evim.man | 9 +- runtime/doc/vim.1 | 161 +++++++++++++------------ runtime/doc/vim.man | 253 ++++++++++++++++++++------------------- runtime/doc/vimdiff.1 | 2 +- runtime/doc/vimdiff.man | 2 +- runtime/doc/vimtutor.1 | 12 +- runtime/doc/vimtutor.man | 9 +- runtime/doc/xxd.1 | 57 +++++---- runtime/doc/xxd.man | 51 ++++---- src/testdir/test_xxd.vim | 16 +-- src/version.c | 2 + 12 files changed, 304 insertions(+), 278 deletions(-) diff --git a/runtime/doc/evim.1 b/runtime/doc/evim.1 index bb859ceadae85..a67bda36c9a09 100644 --- a/runtime/doc/evim.1 +++ b/runtime/doc/evim.1 @@ -1,4 +1,4 @@ -.TH EVIM 1 "2002 February 16" +.TH EVIM 1 "2024 August 12" .SH NAME evim \- easy Vim, edit a file with Vim and setup for modeless editing .SH SYNOPSIS @@ -34,8 +34,12 @@ Use CTRL-Q to obtain the original meaning of CTRL-V. See vim(1). .SH FILES .TP 15 -/usr/local/lib/vim/evim.vim +/usr/local/share/vim/vim??/evim.vim The script loaded to initialize eVim. +.br +.I vim?? +is short version number, like vim91 for +.B Vim 9.1 .SH AKA Also Known As "Vim for gumbies". When using evim you are expected to take a handkerchief, diff --git a/runtime/doc/evim.man b/runtime/doc/evim.man index 8b8db81b9e8b4..f966f8254f2b0 100644 --- a/runtime/doc/evim.man +++ b/runtime/doc/evim.man @@ -1,4 +1,4 @@ -EVIM(1) EVIM(1) +EVIM(1) General Commands Manual EVIM(1) @@ -10,7 +10,7 @@ SYNOPSIS eview DESCRIPTION - eVim starts Vim and sets options to make it behave like a modeless edi- + eVim starts Vim and sets options to make it behave like a modeless edi‐ tor. This is still Vim but used as a point-and-click editor. This feels a lot like using Notepad on MS-Windows. eVim will always run in the GUI, to enable the use of menus and toolbar. @@ -32,8 +32,9 @@ OPTIONS See vim(1). FILES - /usr/local/lib/vim/evim.vim + /usr/local/share/vim/vim??/evim.vim The script loaded to initialize eVim. + vim?? is short version number, like vim91 for Vim 9.1 AKA Also Known As "Vim for gumbies". When using evim you are expected to @@ -49,4 +50,4 @@ AUTHOR - 2002 February 16 EVIM(1) + 2024 August 12 EVIM(1) diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1 index 88dd32f69c222..efef7bb7cc93b 100644 --- a/runtime/doc/vim.1 +++ b/runtime/doc/vim.1 @@ -1,4 +1,4 @@ -.TH VIM 1 "2024 Aug 03" +.TH VIM 1 "2024 Aug 12" .SH NAME vim \- Vi IMproved, a programmer's text editor .SH SYNOPSIS @@ -150,18 +150,6 @@ Example: vim "+set si" main.c .br Note: You can use up to 10 "+" or "\-c" commands. .TP -\-S {file} -{file} will be sourced after the first file has been read. -This is equivalent to \-c "source {file}". -{file} cannot start with '\-'. -If {file} is omitted "Session.vim" is used (only works when \-S is the last -argument). -.TP -\-\-cmd {command} -Like using "\-c", but the command is executed just before -processing any vimrc file. -You can use up to 10 of these commands, independently from "\-c" commands. -.TP \-A If .B Vim @@ -224,11 +212,6 @@ is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the ":sh" and ":!" commands will not work. .TP -\-\-nofork -Foreground. For the GUI version, -.B Vim -will not fork and detach from the shell it was started in. -.TP \-F If .B Vim @@ -239,6 +222,8 @@ in Farsi mode, i.e. 'fkmap' and 'rightleft' are set. Otherwise an error message is given and .B Vim aborts. +.br +Note: Farsi support has been removed in patch 8.1.0932. .TP \-g If @@ -248,18 +233,6 @@ If no GUI support was compiled in, an error message is given and .B Vim aborts. .TP -\-\-gui-dialog-file {name} -When using the GUI, instead of showing a dialog, write the title and message of -the dialog to file {name}. The file is created or appended to. Only useful -for testing, to avoid that the test gets stuck on a dialog that can't be seen. -Without the GUI the argument is ignored. -.TP -\-\-help, \-h, \-? -Give a bit of help about the command line arguments and options. -After this -.B Vim -exits. -.TP \-H If .B Vim @@ -277,13 +250,13 @@ instead of the default "~/.viminfo". This can also be used to skip the use of the .viminfo file, by giving the name "NONE". .TP -\-L -Same as \-r. -.TP \-l Lisp mode. Sets the 'lisp' and 'showmatch' options on. .TP +\-L +Same as \-r. +.TP \-m Modifying files is disabled. Resets the 'write' option. @@ -294,13 +267,6 @@ Modifications not allowed. The 'modifiable' and 'write' options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications. .TP -\-N -No-compatible mode. Resets the 'compatible' option. -This will make -.B Vim -behave a bit better, but less Vi compatible, even though a .vimrc file does -not exist. -.TP \-n No swap file will be used. Recovery after a crash will be impossible. @@ -308,6 +274,13 @@ Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with ":set uc=0". Can be undone with ":set uc=200". .TP +\-N +No-compatible mode. Resets the 'compatible' option. +This will make +.B Vim +behave a bit better, but less Vi compatible, even though a .vimrc file does +not exist. +.TP \-nb Become an editor server for NetBeans. See the docs for details. .TP @@ -330,6 +303,16 @@ the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won't work with all applications and the menu doesn't work. .TP +\-r +List swap files, with information about using them for recovery. +.TP +\-r {file} +Recovery mode. +The swap file is used to recover a crashed editing session. +The swap file is a file with the same filename as the text file with ".swp" +appended. +See ":help recovery". +.TP \-R Read-only mode. The 'readonly' option will be set. @@ -341,16 +324,6 @@ The \-R option also implies the \-n option (see above). The 'readonly' option can be reset with ":set noro". See ":help 'readonly'". .TP -\-r -List swap files, with information about using them for recovery. -.TP -\-r {file} -Recovery mode. -The swap file is used to recover a crashed editing session. -The swap file is a file with the same filename as the text file with ".swp" -appended. -See ":help recovery". -.TP \-s Silent mode. Only when started as "Ex" or when the "\-e" option was given before the "\-s" option. @@ -362,6 +335,13 @@ The same can be done with the command ":source! {scriptin}". If the end of the file is reached before the editor exits, further characters are read from the keyboard. .TP +\-S {file} +{file} will be sourced after the first file has been read. +This is equivalent to \-c "source {file}". +{file} cannot start with '\-'. +If {file} is omitted "Session.vim" is used (only works when \-S is the last +argument). +.TP \-T {terminal} Tells .B Vim @@ -371,16 +351,6 @@ Should be a terminal known to .B Vim (builtin) or defined in the termcap or terminfo file. .TP -\-\-not-a-term -Tells -.B Vim -that the user knows that the input and/or output is not connected to a -terminal. This will avoid the warning and the two second delay that would -happen. -.TP -\-\-ttyfail -When stdin or stdout is not a a terminal (tty) then exit right away. -.TP \-u {vimrc} Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. @@ -394,6 +364,12 @@ All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name "NONE". See ":help gui\-init" within vim for more details. .TP +\-v +Start +.B Vim +in Vi mode, just like the executable was called "vi". This only has effect +when the executable is called "ex". +.TP \-V[N] Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for 'verbose'. @@ -404,20 +380,6 @@ Like \-V and set 'verbosefile' to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit. .TP -\-\-log {filename} -If -.B Vim -has been compiled with eval and channel feature, start logging and write -entries to {filename}. This works like calling -.I ch_logfile({filename}, 'ao') -very early during startup. -.TP -\-v -Start -.B Vim -in Vi mode, just like the executable was called "vi". This only has effect -when the executable is called "ex". -.TP \-w{number} Set the 'window' option to {number}. .TP @@ -462,16 +424,53 @@ This can be used to edit a filename that starts with a '\-'. Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup. .TP +\-\-cmd {command} +Like using "\-c", but the command is executed just before +processing any vimrc file. +You can use up to 10 of these commands, independently from "\-c" commands. +.TP \-\-echo\-wid GTK GUI only: Echo the Window ID on stdout. .TP +\-\-gui\-dialog\-file {name} +When using the GUI, instead of showing a dialog, write the title and message of +the dialog to file {name}. The file is created or appended to. Only useful +for testing, to avoid that the test gets stuck on a dialog that can't be seen. +Without the GUI the argument is ignored. +.TP +\-\-help, \-h, \-? +Give a bit of help about the command line arguments and options. +After this +.B Vim +exits. +.TP \-\-literal Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards. .TP +\-\-log {filename} +If +.B Vim +has been compiled with eval and channel feature, start logging and write +entries to {filename}. This works like calling +.I ch_logfile({filename}, 'ao') +very early during startup. +.TP +\-\-nofork +Foreground. For the GUI version, +.B Vim +will not fork and detach from the shell it was started in. +.TP \-\-noplugin Skip loading plugins. Implied by \-u NONE. .TP +\-\-not\-a\-term +Tells +.B Vim +that the user knows that the input and/or output is not connected to a +terminal. This will avoid the warning and the two second delay that would +happen. +.TP \-\-remote Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited @@ -500,16 +499,19 @@ Use {name} as the server name. Used for the current Vim, unless used with a \-\-remote argument, then it's the name of the server to connect to. .TP \-\-socketid {id} -GTK GUI only: Use the GtkPlug mechanism to run gvim in another window. +GTK GUI only: Use the GtkPlug mechanism to run gVim in another window. .TP \-\-startuptime {file} During startup write timing messages to the file {fname}. .TP +\-\-ttyfail +When stdin or stdout is not a a terminal (tty) then exit right away. +.TP \-\-version Print version information and exit. .TP \-\-windowid {id} -Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it +Win32 GUI only: Make gVim try to use the window {id} as a parent, so that it runs inside that window. .SH ON-LINE HELP Type ":help" in @@ -557,13 +559,16 @@ initializations (first one found is used). System wide gvim initializations. .TP ~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc -Your personal gvim initializations (first one found is used). +Your personal +.B gVim +initializations (first one found is used). .TP /usr/local/share/vim/vim??/optwin.vim Script used for the ":options" command, a nice way to view and set options. .TP /usr/local/share/vim/vim??/menu.vim -System wide menu initializations for gvim. +System wide menu initializations for +.B gVim. .TP /usr/local/share/vim/vim??/bugreport.vim Script to generate a bug report. See ":help bugs". diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man index 340d0eca4c8bb..ce1cc6364a057 100644 --- a/runtime/doc/vim.man +++ b/runtime/doc/vim.man @@ -36,11 +36,11 @@ DESCRIPTION vim [options] [filelist] If the filelist is missing, the editor will start with an empty buffer. - Otherwise exactly one out of the following four may be used to choose + Otherwise exactly one out of the following four may be used to choose one or more files to be edited. - file .. A list of filenames. The first one will be the current - file and read into the buffer. The cursor will be posi‐ + file .. A list of filenames. The first one will be the current + file and read into the buffer. The cursor will be posi‐ tioned on the first line of the buffer. You can get to the other files with the ":next" command. To edit a file that starts with a dash, precede the filelist with "--". @@ -49,18 +49,18 @@ DESCRIPTION from stderr, which should be a tty. -t {tag} The file to edit and the initial cursor position depends on - a "tag", a sort of goto label. {tag} is looked up in the + a "tag", a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function - becomes the current file and the cursor is positioned on + becomes the current file and the cursor is positioned on the start of the function. See ":help tag-commands". -q [errorfile] - Start in quickFix mode. The file [errorfile] is read and - the first error is displayed. If [errorfile] is omitted, - the filename is obtained from the 'errorfile' option (de‐ + Start in quickFix mode. The file [errorfile] is read and + the first error is displayed. If [errorfile] is omitted, + the filename is obtained from the 'errorfile' option (de‐ faults to "AztecC.Err" for the Amiga, "errors.err" on other systems). Further errors can be jumped to with the ":cn" command. See ":help quickfix". @@ -70,10 +70,10 @@ DESCRIPTION vim The "normal" way, everything is default. - ex Start in Ex mode. Go to Normal mode with the ":vi" command. + ex Start in Ex mode. Go to Normal mode with the ":vi" command. Can also be done with the "-e" argument. - view Start in read-only mode. You will be protected from writing + view Start in read-only mode. You will be protected from writing the files. Can also be done with the "-R" argument. gvim gview @@ -111,16 +111,6 @@ OPTIONS vim "+set si" main.c Note: You can use up to 10 "+" or "-c" commands. - -S {file} {file} will be sourced after the first file has been read. - This is equivalent to -c "source {file}". {file} cannot - start with '-'. If {file} is omitted "Session.vim" is used - (only works when -S is the last argument). - - --cmd {command} - Like using "-c", but the command is executed just before - processing any vimrc file. You can use up to 10 of these - commands, independently from "-c" commands. - -A If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. 'arabic' is @@ -134,94 +124,81 @@ OPTIONS ists. -d Start in diff mode. There should between two to eight file - name arguments. Vim will open all the files and show dif‐ + name arguments. Vim will open all the files and show dif‐ ferences between them. Works like vimdiff(1). -d {device}, -dev {device} - Open {device} for use as a terminal. Only on the Amiga. + Open {device} for use as a terminal. Only on the Amiga. Example: "-d con:20/30/600/150". - -D Debugging. Go to debugging mode when executing the first + -D Debugging. Go to debugging mode when executing the first command from a script. - -e Start Vim in Ex mode, just like the executable was called + -e Start Vim in Ex mode, just like the executable was called "ex". -E Start Vim in improved Ex mode, just like the executable was called "exim". -f Foreground. For the GUI version, Vim will not fork and de‐ - tach from the shell it was started in. On the Amiga, Vim - is not restarted to open a new window. This option should - be used when Vim is executed by a program that will wait - for the edit session to finish (e.g. mail). On the Amiga + tach from the shell it was started in. On the Amiga, Vim + is not restarted to open a new window. This option should + be used when Vim is executed by a program that will wait + for the edit session to finish (e.g. mail). On the Amiga the ":sh" and ":!" commands will not work. - --nofork Foreground. For the GUI version, Vim will not fork and de‐ - tach from the shell it was started in. - - -F If Vim has been compiled with FKMAP support for editing - right-to-left oriented files and Farsi keyboard mapping, - this option starts Vim in Farsi mode, i.e. 'fkmap' and - 'rightleft' are set. Otherwise an error message is given + -F If Vim has been compiled with FKMAP support for editing + right-to-left oriented files and Farsi keyboard mapping, + this option starts Vim in Farsi mode, i.e. 'fkmap' and + 'rightleft' are set. Otherwise an error message is given and Vim aborts. + Note: Farsi support has been removed in patch 8.1.0932. - -g If Vim has been compiled with GUI support, this option en‐ + -g If Vim has been compiled with GUI support, this option en‐ ables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts. - --gui-dialog-file {name} - When using the GUI, instead of showing a dialog, write the - title and message of the dialog to file {name}. The file - is created or appended to. Only useful for testing, to - avoid that the test gets stuck on a dialog that can't be - seen. Without the GUI the argument is ignored. - - --help, -h, -? - Give a bit of help about the command line arguments and op‐ - tions. After this Vim exits. - -H If Vim has been compiled with RIGHTLEFT support for editing - right-to-left oriented files and Hebrew keyboard mapping, - this option starts Vim in Hebrew mode, i.e. 'hkmap' and - 'rightleft' are set. Otherwise an error message is given + right-to-left oriented files and Hebrew keyboard mapping, + this option starts Vim in Hebrew mode, i.e. 'hkmap' and + 'rightleft' are set. Otherwise an error message is given and Vim aborts. -i {viminfo} - Specifies the filename to use when reading or writing the - viminfo file, instead of the default "~/.viminfo". This - can also be used to skip the use of the .viminfo file, by + Specifies the filename to use when reading or writing the + viminfo file, instead of the default "~/.viminfo". This + can also be used to skip the use of the .viminfo file, by giving the name "NONE". - -L Same as -r. - -l Lisp mode. Sets the 'lisp' and 'showmatch' options on. - -m Modifying files is disabled. Resets the 'write' option. - You can still modify the buffer, but writing a file is not + -L Same as -r. + + -m Modifying files is disabled. Resets the 'write' option. + You can still modify the buffer, but writing a file is not possible. - -M Modifications not allowed. The 'modifiable' and 'write' - options will be unset, so that changes are not allowed and - files can not be written. Note that these options can be + -M Modifications not allowed. The 'modifiable' and 'write' + options will be unset, so that changes are not allowed and + files can not be written. Note that these options can be set to enable making modifications. + -n No swap file will be used. Recovery after a crash will be + impossible. Handy if you want to edit a file on a very + slow medium (e.g. floppy). Can also be done with ":set + uc=0". Can be undone with ":set uc=200". + -N No-compatible mode. Resets the 'compatible' option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist. - -n No swap file will be used. Recovery after a crash will be - impossible. Handy if you want to edit a file on a very - slow medium (e.g. floppy). Can also be done with ":set - uc=0". Can be undone with ":set uc=200". - -nb Become an editor server for NetBeans. See the docs for de‐ tails. -o[N] Open N windows stacked. When N is omitted, open one window for each file. - -O[N] Open N windows side by side. When N is omitted, open one + -O[N] Open N windows side by side. When N is omitted, open one window for each file. -p[N] Open N tab pages. When N is omitted, open one tab page for @@ -232,26 +209,26 @@ OPTIONS tion. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is spe‐ - cific enough. Note that the implementation is still primi‐ - tive. It won't work with all applications and the menu + cific enough. Note that the implementation is still primi‐ + tive. It won't work with all applications and the menu doesn't work. - -R Read-only mode. The 'readonly' option will be set. You - can still edit the buffer, but will be prevented from acci‐ - dentally overwriting a file. If you do want to overwrite a - file, add an exclamation mark to the Ex command, as in - ":w!". The -R option also implies the -n option (see - above). The 'readonly' option can be reset with ":set - noro". See ":help 'readonly'". - - -r List swap files, with information about using them for re‐ + -r List swap files, with information about using them for re‐ covery. - -r {file} Recovery mode. The swap file is used to recover a crashed - editing session. The swap file is a file with the same + -r {file} Recovery mode. The swap file is used to recover a crashed + editing session. The swap file is a file with the same filename as the text file with ".swp" appended. See ":help recovery". + -R Read-only mode. The 'readonly' option will be set. You + can still edit the buffer, but will be prevented from acci‐ + dentally overwriting a file. If you do want to overwrite a + file, add an exclamation mark to the Ex command, as in + ":w!". The -R option also implies the -n option (see + above). The 'readonly' option can be reset with ":set + noro". See ":help 'readonly'". + -s Silent mode. Only when started as "Ex" or when the "-e" option was given before the "-s" option. @@ -262,34 +239,35 @@ OPTIONS end of the file is reached before the editor exits, further characters are read from the keyboard. + -S {file} {file} will be sourced after the first file has been read. + This is equivalent to -c "source {file}". {file} cannot + start with '-'. If {file} is omitted "Session.vim" is used + (only works when -S is the last argument). + -T {terminal} Tells Vim the name of the terminal you are using. Only re‐ quired when the automatic way doesn't work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file. - --not-a-term - Tells Vim that the user knows that the input and/or output - is not connected to a terminal. This will avoid the warn‐ - ing and the two second delay that would happen. - - --ttyfail When stdin or stdout is not a a terminal (tty) then exit - right away. - - -u {vimrc} Use the commands in the file {vimrc} for initializations. - All the other initializations are skipped. Use this to - edit a special kind of files. It can also be used to skip - all initializations by giving the name "NONE". See ":help + -u {vimrc} Use the commands in the file {vimrc} for initializations. + All the other initializations are skipped. Use this to + edit a special kind of files. It can also be used to skip + all initializations by giving the name "NONE". See ":help initialization" within vim for more details. - -U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa‐ - tions. All the other GUI initializations are skipped. It - can also be used to skip all GUI initializations by giving - the name "NONE". See ":help gui-init" within vim for more + -U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa‐ + tions. All the other GUI initializations are skipped. It + can also be used to skip all GUI initializations by giving + the name "NONE". See ":help gui-init" within vim for more details. - -V[N] Verbose. Give messages about which files are sourced and - for reading and writing a viminfo file. The optional num‐ + -v Start Vim in Vi mode, just like the executable was called + "vi". This only has effect when the executable is called + "ex". + + -V[N] Verbose. Give messages about which files are sourced and + for reading and writing a viminfo file. The optional num‐ ber N is the value for 'verbose'. Default is 10. -V[N]{filename} @@ -297,16 +275,6 @@ OPTIONS that messages are not displayed but written to the file {filename}. {filename} must not start with a digit. - --log {filename} - If Vim has been compiled with eval and channel feature, - start logging and write entries to {filename}. This works - like calling ch_logfile({filename}, 'ao') very early during - startup. - - -v Start Vim in Vi mode, just like the executable was called - "vi". This only has effect when the executable is called - "ex". - -w{number} Set the 'window' option to {number}. -w {scriptout} @@ -319,11 +287,11 @@ OPTIONS -W {scriptout} Like -w, but an existing file is overwritten. - -x If Vim has been compiled with encryption support, use en‐ + -x If Vim has been compiled with encryption support, use en‐ cryption when writing files. Will prompt for a crypt key. - -X Don't connect to the X server. Shortens startup time in a - terminal, but the window title and clipboard will not be + -X Don't connect to the X server. Shortens startup time in a + terminal, but the window title and clipboard will not be used. -y Start Vim in easy mode, just like the executable was called @@ -341,31 +309,61 @@ OPTIONS etc.). Useful to see if a problem reproduces with a clean Vim setup. + --cmd {command} + Like using "-c", but the command is executed just before + processing any vimrc file. You can use up to 10 of these + commands, independently from "-c" commands. + --echo-wid GTK GUI only: Echo the Window ID on stdout. - --literal Take file name arguments literally, do not expand wild‐ - cards. This has no effect on Unix where the shell expands + --gui-dialog-file {name} + When using the GUI, instead of showing a dialog, write the + title and message of the dialog to file {name}. The file + is created or appended to. Only useful for testing, to + avoid that the test gets stuck on a dialog that can't be + seen. Without the GUI the argument is ignored. + + --help, -h, -? + Give a bit of help about the command line arguments and op‐ + tions. After this Vim exits. + + --literal Take file name arguments literally, do not expand wild‐ + cards. This has no effect on Unix where the shell expands wildcards. + --log {filename} + If Vim has been compiled with eval and channel feature, + start logging and write entries to {filename}. This works + like calling ch_logfile({filename}, 'ao') very early during + startup. + + --nofork Foreground. For the GUI version, Vim will not fork and de‐ + tach from the shell it was started in. + --noplugin Skip loading plugins. Implied by -u NONE. + --not-a-term + Tells Vim that the user knows that the input and/or output + is not connected to a terminal. This will avoid the warn‐ + ing and the two second delay that would happen. + --remote Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim. --remote-expr {expr} - Connect to a Vim server, evaluate {expr} in it and print + Connect to a Vim server, evaluate {expr} in it and print the result on stdout. --remote-send {keys} Connect to a Vim server and send {keys} to it. --remote-silent - As --remote, but without the warning when no server is + As --remote, but without the warning when no server is found. --remote-wait - As --remote, but Vim does not exit until the files have + As --remote, but Vim does not exit until the files have been edited. --remote-wait-silent @@ -381,16 +379,19 @@ OPTIONS the server to connect to. --socketid {id} - GTK GUI only: Use the GtkPlug mechanism to run gvim in an‐ + GTK GUI only: Use the GtkPlug mechanism to run gVim in an‐ other window. --startuptime {file} During startup write timing messages to the file {fname}. + --ttyfail When stdin or stdout is not a a terminal (tty) then exit + right away. + --version Print version information and exit. --windowid {id} - Win32 GUI only: Make gvim try to use the window {id} as a + Win32 GUI only: Make gVim try to use the window {id} as a parent, so that it runs inside that window. ON-LINE HELP @@ -403,12 +404,12 @@ ON-LINE HELP FILES /usr/local/share/vim/vim??/doc/*.txt - The Vim documentation files. Use ":help doc-file-list" + The Vim documentation files. Use ":help doc-file-list" to get the complete list. vim?? is short version number, like vim91 for Vim 9.1 /usr/local/share/vim/vim??/doc/tags - The tags file used for finding information in the docu‐ + The tags file used for finding information in the docu‐ mentation files. /usr/local/share/vim/vim??/syntax/syntax.vim @@ -421,32 +422,32 @@ FILES System wide Vim initializations. ~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc - Your personal Vim initializations (first one found is + Your personal Vim initializations (first one found is used). /usr/local/share/vim/gvimrc System wide gvim initializations. ~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc - Your personal gvim initializations (first one found is + Your personal gVim initializations (first one found is used). /usr/local/share/vim/vim??/optwin.vim - Script used for the ":options" command, a nice way to + Script used for the ":options" command, a nice way to view and set options. /usr/local/share/vim/vim??/menu.vim - System wide menu initializations for gvim. + System wide menu initializations for gVim. /usr/local/share/vim/vim??/bugreport.vim Script to generate a bug report. See ":help bugs". /usr/local/share/vim/vim??/filetype.vim - Script to detect the type of a file by its name. See + Script to detect the type of a file by its name. See ":help 'filetype'". /usr/local/share/vim/vim??/scripts.vim - Script to detect the type of a file by its contents. + Script to detect the type of a file by its contents. See ":help 'filetype'". /usr/local/share/vim/vim??/print/*.ps @@ -474,4 +475,4 @@ BUGS vi_diff.txt when in Vim). Also have a look at the 'compatible' and 'cpoptions' options. - 2024 Aug 03 VIM(1) + 2024 Aug 12 VIM(1) diff --git a/runtime/doc/vimdiff.1 b/runtime/doc/vimdiff.1 index ddcb30f1ca316..efbb84a8dd1f1 100644 --- a/runtime/doc/vimdiff.1 +++ b/runtime/doc/vimdiff.1 @@ -1,4 +1,4 @@ -.TH VIMDIFF 1 "2001 March 30" +.TH VIMDIFF 1 "2021 June 13" .SH NAME vimdiff \- edit between two and eight versions of a file with Vim and show differences .SH SYNOPSIS diff --git a/runtime/doc/vimdiff.man b/runtime/doc/vimdiff.man index a053e6a7425da..a1f05bd4d9413 100644 --- a/runtime/doc/vimdiff.man +++ b/runtime/doc/vimdiff.man @@ -44,4 +44,4 @@ AUTHOR - 2001 March 30 VIMDIFF(1) + 2021 June 13 VIMDIFF(1) diff --git a/runtime/doc/vimtutor.1 b/runtime/doc/vimtutor.1 index ec2d85a4a4a7f..a71bc02858484 100644 --- a/runtime/doc/vimtutor.1 +++ b/runtime/doc/vimtutor.1 @@ -1,4 +1,4 @@ -.TH VIMTUTOR 1 "2001 April 2" +.TH VIMTUTOR 1 "2024 August 12" .SH NAME vimtutor \- the Vim tutor .SH SYNOPSIS @@ -19,7 +19,7 @@ is useful for people that want to learn their first commands. .PP The optional argument \-g starts vimtutor with gvim rather than vim, if the -GUI version of vim is available, or falls back to Vim if gvim is not found. +GUI version of Vim is available, or falls back to vim if gvim is not found. .PP The optional [language] argument is the two-letter name of a language, like "it" or "es". @@ -32,12 +32,16 @@ Otherwise the English version will be used. is always started in Vi compatible mode. .SH FILES .TP 15 -/usr/local/lib/vim/tutor/tutor[.language] +/usr/local/share/vim/vim??/tutor/tutor[.language] The .B Vimtutor text file(s). +.br +.I vim?? +is short version number, like vim91 for +.B Vim 9.1 .TP 15 -/usr/local/lib/vim/tutor/tutor.vim +/usr/local/share/vim/vim??/tutor/tutor.vim The Vim script used to copy the .B Vimtutor text file. diff --git a/runtime/doc/vimtutor.man b/runtime/doc/vimtutor.man index 76f647195d6ad..f1e113e2b50ec 100644 --- a/runtime/doc/vimtutor.man +++ b/runtime/doc/vimtutor.man @@ -16,7 +16,7 @@ DESCRIPTION commands. The optional argument -g starts vimtutor with gvim rather than vim, if - the GUI version of vim is available, or falls back to Vim if gvim is + the GUI version of Vim is available, or falls back to vim if gvim is not found. The optional [language] argument is the two-letter name of a language, @@ -28,10 +28,11 @@ DESCRIPTION Vim is always started in Vi compatible mode. FILES - /usr/local/lib/vim/tutor/tutor[.language] + /usr/local/share/vim/vim??/tutor/tutor[.language] The Vimtutor text file(s). + vim?? is short version number, like vim91 for Vim 9.1 - /usr/local/lib/vim/tutor/tutor.vim + /usr/local/share/vim/vim??/tutor/tutor.vim The Vim script used to copy the Vimtutor text file. AUTHOR @@ -47,4 +48,4 @@ SEE ALSO - 2001 April 2 VIMTUTOR(1) + 2024 August 12 VIMTUTOR(1) diff --git a/runtime/doc/xxd.1 b/runtime/doc/xxd.1 index c76f89bb65adc..af0c9620a0852 100644 --- a/runtime/doc/xxd.1 +++ b/runtime/doc/xxd.1 @@ -1,4 +1,4 @@ -.TH XXD 1 "August 1996" "Manual page for xxd" +.TH XXD 1 "May 2024" "Manual page for xxd" .\" .\" 21st May 1996 .\" Man page author: @@ -190,7 +190,8 @@ When editing hex dumps, please note that skips everything on the input line after reading enough columns of hexadecimal data (see option \-c). This also means that changes to the printable ASCII (or EBCDIC) columns are always ignored. Reverting a plain (or PostScript) style -hex dump with xxd \-r \-p does not depend on the correct number of columns. Here, anything that looks like a pair of hex digits is interpreted. +hex dump with xxd \-r \-p does not depend on the correct number of columns. +Here, anything that looks like a pair of hex digits is interpreted. .PP Note the difference between .br @@ -224,7 +225,8 @@ Hex dump from file position 0x100 (=1024\-768) onwards. \fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR .PP However, this is a rare situation and the use of `+' is rarely needed. -The author prefers to monitor the effect of xxd with strace(1) or truss(1), whenever \-s is used. +The author prefers to monitor the effect of xxd with strace(1) or truss(1), +whenever \-s is used. .SH EXAMPLES .PP .br @@ -239,22 +241,25 @@ Print 3 lines (hex 0x30 bytes) from the end of .br \fI% xxd \-s \-0x30 file\fR .PP +Note: The results of the examples below are relevant to the xxd.1 man page as of +May 2024 +.PP .br Print 120 bytes as a continuous hex dump with 20 octets per line. .br \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR .br -2e54482058584420312022417567757374203139 +2e544820585844203120224d6179203230323422 .br -39362220224d616e75616c207061676520666f72 +20224d616e75616c207061676520666f72207878 .br -20787864220a2e5c220a2e5c222032317374204d +64220a2e5c220a2e5c222032317374204d617920 .br -617920313939360a2e5c22204d616e2070616765 +313939360a2e5c22204d616e2070616765206175 .br -20617574686f723a0a2e5c2220202020546f6e79 +74686f723a0a2e5c2220202020546f6e79204e75 .br -204e7567656e74203c746f6e79407363746e7567 +67656e74203c746f6e79407363746e7567656e2e .br .br @@ -262,32 +267,32 @@ Hex dump the first 120 bytes of this man page with 12 octets per line. .br \fI% xxd \-l 120 \-c 12 xxd.1\fR .br -0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A +00000000: 2e54 4820 5858 4420 3120 224d .TH XXD 1 "M .br -000000c: 7567 7573 7420 3139 3936 2220 ugust 1996" +0000000c: 6179 2032 3032 3422 2022 4d61 ay 2024" "Ma .br -0000018: 224d 616e 7561 6c20 7061 6765 "Manual page +00000018: 6e75 616c 2070 6167 6520 666f nual page fo .br -0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\\ +00000024: 7220 7878 6422 0a2e 5c22 0a2e r xxd"..\\".. .br -0000030: 220a 2e5c 2220 3231 7374 204d "..\\" 21st M +00000030: 5c22 2032 3173 7420 4d61 7920 \\" 21st May .br -000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\\" +0000003c: 3139 3936 0a2e 5c22 204d 616e 1996..\\" Man .br -0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut +00000048: 2070 6167 6520 6175 7468 6f72 page author .br -0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\\" +00000054: 3a0a 2e5c 2220 2020 2054 6f6e :..\\" Ton .br -0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent +00000060: 7920 4e75 6765 6e74 203c 746f y Nugent output_file Patch the date in the file xxd.1 - % echo "0000037: 3574 68" | xxd -r - xxd.1 - % xxd -s 0x36 -l 13 -c 13 xxd.1 - 0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996 + % echo "0000034: 3574 68" | xxd -r - xxd.1 + % xxd -s 0x33 -l 13 -c 13 xxd.1 + 0000033: 3235 7468 204d 6179 2031 3939 36 25th May 1996 Create a 65537 byte file with all bytes 0x00, except for the last one which is 'A' (hex 0x41). @@ -221,7 +224,7 @@ EXAMPLES % xxd -a -c 12 file 0000000: 0000 0000 0000 0000 0000 0000 ............ * - 000fffc: 0000 0000 40 ....A + 000fffc: 0000 0000 41 ....A Create a 1 byte file containing a single 'A' character. The number af‐ ter '-r -s' adds to the line numbers found in the file; in effect, the @@ -268,7 +271,7 @@ WARNINGS own risk. Copy files. Trace it. Become a wizard. VERSION - This manual page documents xxd version 1.7 + This manual page documents xxd version 1.7 from 2024-05. AUTHOR (c) 1990-1997 by Juergen Weigert @@ -282,4 +285,4 @@ AUTHOR Small changes by Bram Moolenaar. Edited by Juergen Weigert. -Manual page for xxd August 1996 XXD(1) +Manual page for xxd May 2024 XXD(1) diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim index a91a1fcf921af..99e49985b8e38 100644 --- a/src/testdir/test_xxd.vim +++ b/src/testdir/test_xxd.vim @@ -73,21 +73,21 @@ func Test_xxd() exe '0r! ' . s:xxd_cmd . ' -l 120 -ps -c20 ' . man_copy $d let expected = [ - \ '2e54482058584420312022417567757374203139', - \ '39362220224d616e75616c207061676520666f72', - \ '20787864220a2e5c220a2e5c222032317374204d', - \ '617920313939360a2e5c22204d616e2070616765', - \ '20617574686f723a0a2e5c2220202020546f6e79', - \ '204e7567656e74203c746f6e79407363746e7567'] + \ '2e544820585844203120224d6179203230323422', + \ '20224d616e75616c207061676520666f72207878', + \ '64220a2e5c220a2e5c222032317374204d617920', + \ '313939360a2e5c22204d616e2070616765206175', + \ '74686f723a0a2e5c2220202020546f6e79204e75', + \ '67656e74203c746f6e79407363746e7567656e2e'] call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) " Test 6: Print the date from xxd.1 let s:test += 1 for arg in ['-l 13', '-l13', '-len 13'] %d - exe '0r! ' . s:xxd_cmd . ' -s 0x36 ' . arg . ' -cols 13 ' . man_copy + exe '0r! ' . s:xxd_cmd . ' -s 0x33 ' . arg . ' -cols 13 ' . man_copy $d - call assert_equal('00000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996', getline(1), s:Mess(s:test)) + call assert_equal('00000033: 3231 7374 204d 6179 2031 3939 36 21st May 1996', getline(1), s:Mess(s:test)) endfor " Cleanup after tests 5 and 6 diff --git a/src/version.c b/src/version.c index f96c473018a72..e4fb2caa06bcc 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 676, /**/ 675, /**/ From 5f995c92e7658acd16f73c6f6c5a2b9c2e0bdbcd Mon Sep 17 00:00:00 2001 From: RestorerZ Date: Thu, 15 Aug 2024 21:43:56 +0200 Subject: [PATCH 11/20] runtime(lang): update Makefile and make it portable between GNU and BSD by removing the non-portable GNU variable and using $? instead Note: this only works for rules with single dependencies. closes: #15503 Signed-off-by: RestorerZ Signed-off-by: Christian Brabandt --- runtime/lang/Makefile | 92 +++++++++++++++++++++---------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/runtime/lang/Makefile b/runtime/lang/Makefile index d5f2ed62f0ede..211d49258798e 100644 --- a/runtime/lang/Makefile +++ b/runtime/lang/Makefile @@ -13,34 +13,34 @@ all: $(CONVERTED) # Convert menu_zh_cn.utf-8.vim to create menu_chinese_gb.936.vim. menu_chinese_gb.936.vim: menu_zh_cn.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP936 $< | \ + iconv -f UTF-8 -t CP936 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp936/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_zh_tw.utf-8.vim to create menu_chinese_taiwan.950.vim. menu_chinese_taiwan.950.vim: menu_zh_tw.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP950 $< | \ + iconv -f UTF-8 -t CP950 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp950/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_cs_cz.utf-8.vim to create menu_cs_cz.iso_8859-2.vim. menu_cs_cz.iso_8859-2.vim: menu_cs_cz.utf-8.vim rm -f $@ - iconv -f UTF-8 -t ISO-8859-2 $< | \ + iconv -f UTF-8 -t ISO-8859-2 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding iso-8859-2/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ -e 's/\(" Menu Translations:.*\)(.*)/\1(ISO-8859-2)/' \ > $@ # Convert menu_cs_cz.utf-8.vim to create menu_czech_czech_republic.1250.vim. menu_czech_czech_republic.1250.vim: menu_cs_cz.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP1250 $< | \ + iconv -f UTF-8 -t CP1250 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp1250/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ -e 's/\(" Menu Translations:.*\)(.*)/\1(CP1250)/' \ > $@ @@ -54,107 +54,107 @@ menu_czech_czech_republic.ascii.vim: menu_cs_cz.utf-8.vim -e 's/Ť/T/g' -e 's/ť/t/g' -e 's/Ú/U/g' -e 's/ú/u/g' -e 's/Ů/U/g' \ -e 's/ů/u/g' -e 's/Ý/Y/g' -e 's/ý/y/g' -e 's/Ž/Z/g' -e 's/ž/z/g' \ -e 's/scriptencoding utf-8/scriptencoding latin1/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ -e 's/\(" Menu Translations:.*\)(.*)/\1(ASCII - without diacritics)/' \ - $< > $@ + $? > $@ # Convert menu_ja_jp.utf-8.vim to create menu_ja_jp.euc-jp.vim. menu_ja_jp.euc-jp.vim: menu_ja_jp.utf-8.vim rm -f $@ - iconv -f UTF-8 -t EUC-JP $< | \ + iconv -f UTF-8 -t EUC-JP $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding euc-jp/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ -e 's/\(" Menu Translations:.*\)(.*)/\1(EUC-JP)/' \ > $@ # Convert menu_ja_jp.utf-8.vim to create menu_japanese_japan.932.vim. menu_japanese_japan.932.vim: menu_ja_jp.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP932 $< | \ + iconv -f UTF-8 -t CP932 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp932/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ -e 's/\(" Menu Translations:.*\)(.*)/\1(CP932)/' \ > $@ # Convert menu_ko_kr.utf-8.vim to create menu_ko_kr.euckr.vim. menu_ko_kr.euckr.vim: menu_ko_kr.utf-8.vim rm -f $@ - iconv -f UTF-8 -t EUC-KR $< | \ + iconv -f UTF-8 -t EUC-KR $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding euc-kr/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_pl_pl.utf-8.vim to create menu_pl_pl.iso_8859-2.vim. menu_pl_pl.iso_8859-2.vim: menu_pl_pl.utf-8.vim rm -f $@ - iconv -f UTF-8 -t ISO-8859-2 $< | \ + iconv -f UTF-8 -t ISO-8859-2 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding iso-8859-2/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_pl_pl.utf-8.vim to create menu_polish_poland.1250.vim. menu_polish_poland.1250.vim: menu_pl_pl.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP1250 $< | \ + iconv -f UTF-8 -t CP1250 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp1250/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_ru_ru.utf-8.vim to create menu_ru_ru.koi8-r.vim. menu_ru_ru.koi8-r.vim: menu_ru_ru.utf-8.vim rm -f $@ - iconv -f UTF-8 -t KOI8-R $< | \ + iconv -f UTF-8 -t KOI8-R $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding koi8-r/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_ru_ru.utf-8.vim to create menu_ru_ru.cp1251.vim. menu_ru_ru.cp1251.vim: menu_ru_ru.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP1251 $< | \ + iconv -f UTF-8 -t CP1251 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp1251/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_sl_si.utf-8.vim to create menu_sl_si.cp1250.vim. menu_sl_si.cp1250.vim: menu_sl_si.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP1250 $< | \ + iconv -f UTF-8 -t CP1250 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp1250/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # for naming encodings, see `:h encoding-names` # Convert menu_sl_si.utf-8.vim to create menu_sl_si.latin2.vim. menu_sl_si.latin2.vim: menu_sl_si.utf-8.vim rm -f $@ - iconv -f UTF-8 -t ISO-8859-2 $< | \ + iconv -f UTF-8 -t ISO-8859-2 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding iso-8859-2/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_tr_tr.utf-8.vim to create menu_tr_tr.cp1254.vim. menu_tr_tr.cp1254.vim: menu_tr_tr.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP1254 $< | \ + iconv -f UTF-8 -t CP1254 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp1254/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_tr_tr.utf-8.vim to create menu_tr_tr.iso_8859-9.vim. menu_tr_tr.iso_8859-9.vim: menu_tr_tr.utf-8.vim rm -f $@ - iconv -f UTF-8 -t ISO-8859-9 $< | \ + iconv -f UTF-8 -t ISO-8859-9 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding iso-8859-9/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_sr_rs.utf-8.vim to create menu_sr_rs.iso_8859-5.vim. menu_sr_rs.iso_8859-5.vim: menu_sr_rs.utf-8.vim rm -f $@ - iconv -f UTF-8 -t ISO-8859-5 $< | \ + iconv -f UTF-8 -t ISO-8859-5 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding iso-8859-5/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # for naming encodings, see `:h encoding-names` @@ -174,8 +174,8 @@ menu_sr_rs.iso_8859-2.vim: menu_sr_rs.utf-8.vim -e 's/С/S/g' -e 's/Т/T/g' -e 's/Ћ/Ć/g' -e 's/У/U/g' -e 's/Ф/F/g' \ -e 's/Х/H/g' -e 's/Ц/C/g' -e 's/Ч/Č/g' -e 's/Џ/Dž/g' -e 's/Ш/Š/g' \ -e 's/scriptencoding utf-8/scriptencoding iso-8859-2/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ - $< | iconv -f UTF-8 -t ISO-8859-2 \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ + $? | iconv -f UTF-8 -t ISO-8859-2 \ > $@ # Convert menu_sr_rs.utf-8.vim to create menu_sr_rs.ascii.vim. @@ -194,39 +194,39 @@ menu_sr_rs.ascii.vim: menu_sr_rs.utf-8.vim -e 's/С/S/g' -e 's/Т/T/g' -e 's/Ћ/C/g' -e 's/У/U/g' -e 's/Ф/F/g' \ -e 's/Х/H/g' -e 's/Ц/C/g' -e 's/Ч/C/g' -e 's/Џ/Dz/g' -e 's/Ш/S/g' \ -e 's/scriptencoding utf-8/scriptencoding latin1/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ - $< > $@ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ + $? > $@ # Convert menu_uk_ua.utf-8.vim to create menu_uk_ua.cp1251.vim. menu_uk_ua.cp1251.vim: menu_uk_ua.utf-8.vim rm -f $@ - iconv -f UTF-8 -t CP1251 $< | \ + iconv -f UTF-8 -t CP1251 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding cp1251/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_uk_ua.utf-8.vim to create menu_uk_ua.koi8-u.vim. menu_uk_ua.koi8-u.vim: menu_uk_ua.utf-8.vim rm -f $@ - iconv -f UTF-8 -t KOI8-U $< | \ + iconv -f UTF-8 -t KOI8-U $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding koi8-u/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_hu_hu.utf-8.vim to create menu_hu_hu.iso_8859-2.vim. menu_hu_hu.iso_8859-2.vim: menu_hu_hu.utf-8.vim rm -f $@ - iconv -f UTF-8 -t ISO-8859-2 $< | \ + iconv -f UTF-8 -t ISO-8859-2 $? | \ $(SED) -e 's/scriptencoding utf-8/scriptencoding iso-8859-2/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ # Convert menu_slovak_slovak_republic.1250.vim to create menu_sk_sk.iso_8859-2.vim. menu_sk_sk.iso_8859-2.vim: menu_slovak_slovak_republic.1250.vim rm -f $@ - iconv -f CP1250 -t ISO-8859-2 $< | \ + iconv -f CP1250 -t ISO-8859-2 $? | \ $(SED) -e 's/scriptencoding cp1250/scriptencoding iso-8859-2/' \ - -e 's/" Original translations/" Generated from $<, DO NOT EDIT/' \ + -e 's/" Original translations/" Generated from $?, DO NOT EDIT/' \ > $@ clean: From cca3df9275c6f76e3b31ad9b13ced91a44e1855b Mon Sep 17 00:00:00 2001 From: RestorerZ Date: Thu, 15 Aug 2024 21:47:09 +0200 Subject: [PATCH 12/20] translation: improve the po/cleanup.vim script explicitly delete into the black-hole register closes: #15499 Signed-off-by: RestorerZ Signed-off-by: Christian Brabandt --- src/po/cleanup.vim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/po/cleanup.vim b/src/po/cleanup.vim index 1af188a8c3753..5e1b96799c5a1 100644 --- a/src/po/cleanup.vim +++ b/src/po/cleanup.vim @@ -9,24 +9,24 @@ let s:was_diff = &diff setl nodiff " untranslated message preceded by c-format or comment -silent g/^#, c-format\n#/.d -silent g/^#\..*\n#/.d +silent g/^#, c-format\n#/.d _ +silent g/^#\..*\n#/.d _ " c-format comments have no effect, the check.vim scripts checks it. " But they might still be useful? -" silent g/^#, c-format$/d +" silent g/^#, c-format$/d _ -silent g/^#[:~] /d +silent g/^#[:~] /d _ silent g/^#, fuzzy\(, .*\)\=\nmsgid ""\@!/.+1,/^$/-1s/^/#\~ / silent g/^msgstr"/s//msgstr "/ silent g/^msgid"/s//msgid "/ silent g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ / " Comments only useful for the translator -silent g/^#\. /d +silent g/^#\./d _ " clean up empty lines -silent g/^\n\n\n/.d +silent g/^\n\n\n/.d _ silent! %s/\n\+\%$// if s:was_diff From 1869fe0ce6f0c1cc37e02623b2a372e1c81f6864 Mon Sep 17 00:00:00 2001 From: RestorerZ Date: Thu, 15 Aug 2024 21:51:32 +0200 Subject: [PATCH 13/20] runtime(tutor): update Makefile and make it portable between GNU and BSD by removing the non-portable GNU variable and using $? instead Note: this only works for rules with single dependencies. closes: #15502 related: #15493 Signed-off-by: RestorerZ Signed-off-by: Christian Brabandt --- runtime/tutor/Makefile | 52 +++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/runtime/tutor/Makefile b/runtime/tutor/Makefile index 3c0fe0ab627c5..d31729d007035 100644 --- a/runtime/tutor/Makefile +++ b/runtime/tutor/Makefile @@ -13,83 +13,83 @@ include Make_all.mak all: $(CONVERTED) tutor.utf-8: tutor - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ tutor.bar: tutor.bar.utf-8 - iconv -f UTF-8 -t ISO-8859-1 $< >$@ + iconv -f UTF-8 -t ISO-8859-1 $? >$@ tutor.ca.utf-8: tutor.ca - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ tutor.eo: tutor.eo.utf-8 - iconv -f UTF-8 -t ISO-8859-3 $< >$@ + iconv -f UTF-8 -t ISO-8859-3 $? >$@ tutor.de.utf-8: tutor.de - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ tutor.el: tutor.el.utf-8 - iconv -f UTF-8 -t ISO-8859-7 $< >$@ + iconv -f UTF-8 -t ISO-8859-7 $? >$@ tutor.el.cp737: tutor.el.utf-8 - iconv -f UTF-8 -t CP737 $< >$@ + iconv -f UTF-8 -t CP737 $? >$@ tutor.es: tutor.es.utf-8 - iconv -f UTF-8 -t ISO-8859-1 $< >$@ + iconv -f UTF-8 -t ISO-8859-1 $? >$@ tutor.fr.utf-8: tutor.fr - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ tutor.hu: tutor.hu.utf-8 - iconv -f UTF-8 -t ISO-8859-2 $< >$@ + iconv -f UTF-8 -t ISO-8859-2 $? >$@ tutor.hu.cp1250: tutor.hu.utf-8 - iconv -f UTF-8 -t CP1250 $< >$@ + iconv -f UTF-8 -t CP1250 $? >$@ tutor.it.utf-8: tutor.it - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ tutor.hr: tutor.hr.utf-8 - iconv -f UTF-8 -t ISO-8859-2 $< >$@ + iconv -f UTF-8 -t ISO-8859-2 $? >$@ tutor.hr.cp1250: tutor.hr.utf-8 - iconv -f UTF-8 -t CP1250 $< >$@ + iconv -f UTF-8 -t CP1250 $? >$@ tutor.ja.sjis: tutor.ja.utf-8 - iconv -f UTF-8 -t CP932 $< >$@ + iconv -f UTF-8 -t CP932 $? >$@ tutor.ja.euc: tutor.ja.utf-8 - iconv -f UTF-8 -t EUC-JP $< >$@ + iconv -f UTF-8 -t EUC-JP $? >$@ tutor.ko.euc: tutor.ko.utf-8 - iconv -f UTF-8 -t EUC-KR $< >$@ + iconv -f UTF-8 -t EUC-KR $? >$@ tutor.nl: tutor.nl.utf-8 - iconv -f UTF-8 -t ISO-8859-1 $< >$@ + iconv -f UTF-8 -t ISO-8859-1 $? >$@ tutor.no.utf-8: tutor.no - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ # nb is an alias for no tutor.nb: tutor.no - cp $< $@ + cp $? $@ tutor.nb.utf-8: tutor.no.utf-8 - cp $< $@ + cp $? $@ tutor.ru: tutor.ru.utf-8 - iconv -f UTF-8 -t KOI8-R $< >$@ + iconv -f UTF-8 -t KOI8-R $? >$@ tutor.ru.cp1251: tutor.ru.utf-8 - iconv -f UTF-8 -t CP1251 $< >$@ + iconv -f UTF-8 -t CP1251 $? >$@ tutor.tr.iso9: tutor.tr.utf-8 - iconv -f UTF-8 -t ISO-8859-9 $< >$@ + iconv -f UTF-8 -t ISO-8859-9 $? >$@ tutor.sv.utf-8: tutor.sv - iconv -f ISO-8859-1 -t UTF-8 $< >$@ + iconv -f ISO-8859-1 -t UTF-8 $? >$@ tutor.zh.utf-8: tutor.zh.big5 - iconv -f BIG-5 -t UTF-8 $< >$@ + iconv -f BIG-5 -t UTF-8 $? >$@ clean: for G in $(CONVERTED); do if [ -f $$G ]; then rm -f $$G; fi; done From 7c754110ff8e0d666d422f1644bc356c8fee7392 Mon Sep 17 00:00:00 2001 From: Damien <141588647+xrandomname@users.noreply.github.com> Date: Thu, 15 Aug 2024 21:58:57 +0200 Subject: [PATCH 14/20] runtime(netrw): ErrorMsg() may throw E121 Move variables declaration related: #15501 Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com> Signed-off-by: Christian Brabandt --- runtime/autoload/netrw.vim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index 6fa99241557d2..247ba0a350368 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -20,6 +20,7 @@ " 2024 Jul 23 by Vim Project: escape filename before trying to delete it (#15330) " 2024 Jul 30 by Vim Project: handle mark-copy to same target directory (#12112) " 2024 Aug 02 by Vim Project: honor g:netrw_alt{o,v} for :{S,H,V}explore (#15417) +" 2024 Aug 15 by Vim Project: style changes, prevent E121 (#15501) " }}} " Former Maintainer: Charles E Campbell " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim @@ -63,11 +64,6 @@ if exists("s:needspatches") endif let g:loaded_netrw = "v173" -if !exists("s:NOTE") - let s:NOTE = 0 - let s:WARNING = 1 - let s:ERROR = 2 -endif let s:keepcpo= &cpo setl cpo&vim @@ -221,6 +217,11 @@ if !exists("s:LONGLIST") call s:NetrwInit("s:MAXLIST" ,4) endif +let s:NOTE = 0 +let s:WARNING = 1 +let s:ERROR = 2 +call s:NetrwInit("g:netrw_errorlvl", s:NOTE) + " --------------------------------------------------------------------- " Default option values: {{{2 let g:netrw_localcopycmdopt = "" @@ -348,7 +349,6 @@ call s:NetrwInit("s:didstarstar",0) call s:NetrwInit("g:netrw_dirhistcnt" , 0) call s:NetrwInit("g:netrw_decompress" , '{ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf", ".xz" : "unxz" }') call s:NetrwInit("g:netrw_dirhistmax" , 10) -call s:NetrwInit("g:netrw_errorlvl" , s:NOTE) call s:NetrwInit("g:netrw_fastbrowse" , 1) call s:NetrwInit("g:netrw_ftp_browse_reject", '^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$') if !exists("g:netrw_ftp_list_cmd") From b4d11644254ec6e29aed93a9fdcde2160163aefd Mon Sep 17 00:00:00 2001 From: Damien <141588647+xrandomname@users.noreply.github.com> Date: Thu, 15 Aug 2024 22:00:45 +0200 Subject: [PATCH 15/20] runtime(netrw): Error popup not always used Problem: g:netrw_use_errorwindow=2 does not work without +balloon_eval. Solution: Check for popup_atcursor(). related: #15501 Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com> Signed-off-by: Christian Brabandt --- runtime/autoload/netrw.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index 247ba0a350368..07d26fae42eea 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -101,7 +101,7 @@ fun! netrw#ErrorMsg(level,msg,errnum) endif " call Decho("level=".level,'~'.expand("")) - if g:netrw_use_errorwindow == 2 && (v:version > 802 || (v:version == 802 && has("patch486"))) + if g:netrw_use_errorwindow == 2 && exists("*popup_atcursor") " use popup window if type(a:msg) == 3 let msg = [level]+a:msg @@ -231,7 +231,10 @@ let g:netrw_localmovecmdopt = "" " --------------------------------------------------------------------- " Default values for netrw's global protocol variables {{{2 -if (v:version > 802 || (v:version == 802 && has("patch486"))) && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on") && has("mouse") +if exists("*popup_atcursor") +\ && has("syntax") +\ && exists("g:syntax_on") +\ && has("mouse") call s:NetrwInit("g:netrw_use_errorwindow",2) else call s:NetrwInit("g:netrw_use_errorwindow",1) From 1fbccc1e9694e5e6162dff112b49a093eac770ee Mon Sep 17 00:00:00 2001 From: Damien <141588647+xrandomname@users.noreply.github.com> Date: Thu, 15 Aug 2024 22:01:24 +0200 Subject: [PATCH 16/20] runtime(netrw): Drop committed trace lines closes: #15501 Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com> Signed-off-by: Christian Brabandt --- runtime/autoload/netrw.vim | 51 -------------------------------------- 1 file changed, 51 deletions(-) diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index 07d26fae42eea..17c4a6695fd84 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -12825,54 +12825,3 @@ unlet s:keepcpo " Modelines: {{{1 " =============== " vim:ts=8 fdm=marker -" doing autoload/netrw.vim version v172g ~57 -" varname value=0 ~1 -" varname value=0 ~1 -" varname value=1 ~1 -" varname value=2 ~1 -" varname value=3 ~1 -" varname value=4 ~1 -" varname value=2 ~1 -" varname value=-q -O ~1 -" varname value=curl -T ~1 -" varname value=keepj ~1 -" varname value=rcp ~1 -" varname value=rsync ~1 -" varname value=/ ~1 -" varname value=scp -q ~1 -" varname value=sftp ~1 -" varname value=ssh ~1 -" varname value=0 ~1 -" varname value=1 ~1 -" varname value=1 ~1 -" varname value=0 ~1 -" varname value=noma nomod nonu nobl nowrap ro nornu ~1 -" varname value=-1 ~1 -" varname value=1 ~1 -" varname value=gzip ~1 -" varname value=ctags ~1 -" varname value=2 ~1 -" (netrw) COMBAK: cuc=0 cul=0 initialization of s:netrw_cu[cl] -" varname value=/cygdrive ~1 -" varname value=0 ~1 -" varname value=0 ~1 -" varname value={ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf", ".xz" : "unxz" } ~1 -" varname value=10 ~1 -" varname value=0 ~1 -" varname value=1 ~1 -" varname value=^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$ ~1 -" varname value=binary ~1 -" varname value=1 ~1 -" varname value=1 ~1 -" varname value= ~1 -" varname value=mkdir ~1 -" varname value=mkdir ~1 -" varname value=0 ~1 -" varname value=*./[\~ ~1 -" varname value=32 ~1 -" varname value=1 ~1 -" varname value=ssh USEPORT HOSTNAME mkdir ~1 -" varname value=1 ~1 -" varname value=0 ~1 -" varname value=chmod PERM FILENAME ~1 -" varname value=0 ~1 From 12cb1d1326c785c0f44303d113f27edcd473cb33 Mon Sep 17 00:00:00 2001 From: Ken Takata Date: Thu, 15 Aug 2024 22:02:45 +0200 Subject: [PATCH 17/20] translation(ja): Update Japanese translations to latest release https://github.com/vim-jp/lang-ja/releases/tag/20240815 closes: #15498 Signed-off-by: Ken Takata Signed-off-by: Christian Brabandt --- runtime/doc/vim-ja.UTF-8.1 | 91 ++++++++++++++----- runtime/doc/xxd-ja.UTF-8.1 | 5 +- src/po/ja.euc-jp.po | 177 ++++++++++++++++++++++++++----------- src/po/ja.po | 177 ++++++++++++++++++++++++++----------- src/po/ja.sjis.po | 177 ++++++++++++++++++++++++++----------- 5 files changed, 447 insertions(+), 180 deletions(-) diff --git a/runtime/doc/vim-ja.UTF-8.1 b/runtime/doc/vim-ja.UTF-8.1 index e18211eae7dce..2a6db2f0fa795 100644 --- a/runtime/doc/vim-ja.UTF-8.1 +++ b/runtime/doc/vim-ja.UTF-8.1 @@ -1,4 +1,4 @@ -.TH VIM 1 "2021 Jun 13" +.TH VIM 1 "2024 Aug 03" .SH 名前 vim \- Vi IMproved, プログラマのテキストエディタ .SH 書式 @@ -170,7 +170,7 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。 指定されたファイルが開かれ、それらのファイルの差分が表示されます。 vimdiff(1) と同様の動作です。 .TP -\-d {device} +\-d {device}, \-dev {device} {device} を端末として開きます。 Amiga でのみ使います。 例: @@ -208,7 +208,13 @@ Amiga では、":sh" と "!" コマンドは機能しなくなります。 GUI がサポートされている場合は、GUI で起動します。 サポートされていない場合はエラーメッセージを表示して終了します。 .TP -\-h +\-\-gui-dialog-file {name} +GUI の使用時、ダイアログを表示する代わりとして、ファイル {name} へダイアログのタイトルとメッセージを書き込みます。 +ファイルは作成されるか追記されます。 +テストにみ有用で、見ることができないダイアログによってテストが中断されるのを防ぎます。 +GUI 以外ではこの引数は無視されます。 +.TP +\-\-help, \-h, \-? コマンドライン引数やオプションのヘルプを表示して終了します。 .TP \-H @@ -266,6 +272,12 @@ N を省略した場合は、引数のファイルを個別のウィンドウで N 個のタブページを開きます。 N を省略した場合は、引数のファイルを個別のタブページで開きます。 .TP +\-P {parent-title} +Win32 のみ。親になるアプリケーションのタイトルを指定します。 +可能であれば Vim はその MDI アプリケーションのウィンドウ内で起動します。 +{parent-title} が親アプリケーションのウィンドウのタイトルに使われていて、明確に区別できる必要があります。 +Note: まだ簡単に実装されているだけです。全てのアプリケーションで動くわけではありません。メニューは機能しません。 +.TP \-R 読み込み専用モード。 オプション 'readonly' がオンになります。 @@ -301,6 +313,15 @@ N を省略した場合は、引数のファイルを個別のタブページで が組み込みでサポートしている名前か、 termcap または terminfo ファイルで定義されている名前を指定してください。 .TP +\-\-not-a-term +入力と出力(もしくはどちらか一方)が端末に接続されていないことを、ユーザーが把握しているということを +.B Vim +に伝えます。 +これにより警告が表示され 2 秒間の遅延が発生するのを避けられます。 +.TP +\-\-ttyfail +標準入力か標準出力が端末 (tty) でない場合、すぐに終了します。 +.TP \-u {vimrc} {vimrc} ファイルを使って初期化します。 他の初期化処理はスキップされます。 @@ -320,11 +341,27 @@ termcap または terminfo ファイルで定義されている名前を指定 N に指定した数値が 'verbose' に設定されます。 省略した場合は 10 になります。 .TP +\-V[N]{filename} +-V と同様で、さらに 'verbosefile' を {filename} に設定します。 +その結果、メッセージは表示されずにファイル {filename} に書き出されます。 +{filename} は数字で始まってはいけません。 +.TP +\-\-log {filename} +もし +.B Vim +がチャネル機能付きでコンパイルされている場合、ログの出力を開始し、ファイル {filename} に書き込みます。 +これは、起動時の非常に早い段階で +.I ch_logfile({filename}, 'ao') +を呼び出すのと同様な動作です。 +.TP \-v Vi モードで起動します。 実行ファイルの名前が "vi" の場合と同じです。 実行ファイルの名前が "ex" の場合だけ効果があります。 .TP +\-w{number} +オプション 'window' を {number} に設定します。 +.TP \-w {scriptout} 入力した文字を {scriptout} に記録します。 "vim \-s" や "source!" で実行するためのスクリプトファイルを作成するのに便利です。 @@ -334,7 +371,9 @@ Vi モードで起動します。 \-w と同じですが、ファイルがすでに存在した場合は上書きされます。 .TP \-x -ファイルを暗号化して書き込みます。暗号化キーの入力プロンプトが表示されます。 +.B Vim +が暗号化機能付きでコンパイルされている場合、ファイルを暗号化して書き込みます。 +暗号化キーの入力プロンプトが表示されます。 .TP \-X X サーバーと通信しません。端末での起動時間を短くできます。 @@ -362,9 +401,6 @@ X サーバーと通信しません。端末での起動時間を短くできま \-\-echo\-wid GTK GUI のみ: Window ID を標準出力に出力します。 .TP -\-\-help -ヘルプを表示して終了します。"\-h" と同じです。 -.TP \-\-literal 引数のファイル名をリテラル文字列として扱います。ワイルドカードを展開しません。 Unix のように、シェルがワイルドカードを展開する場合は機能しません。 @@ -406,6 +442,10 @@ GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンド .TP \-\-version バージョン情報を表示して終了します。 +.TP +\-\-windowid {id} +Win32 GUI の Vim のみ。ウィンドウ {id} を親ウィンドウにしようと試みます。 +成功するとそのウィンドウの内側で起動します。 .SH オンラインヘルプ ヘルプを開くには、 .B Vim @@ -420,53 +460,58 @@ GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンド 例: ":help syntax.txt"。 .SH ファイル .TP 15 -/usr/local/lib/vim/doc/*.txt +/usr/local/share/vim/vim??/doc/*.txt .B Vim のヘルプファイル。 ファイルの一覧は ":help doc\-file\-list" に記載されています。 +.br +.I vim?? +は短いバージョン番号で +.B Vim 9.1 +では vim91 です。 .TP -/usr/local/lib/vim/doc/tags +/usr/local/share/vim/vim??/doc/tags ヘルプを検索するための tags ファイル。 .TP -/usr/local/lib/vim/syntax/syntax.vim +/usr/local/share/vim/vim??/syntax/syntax.vim システムの構文定義初期化ファイル。 .TP -/usr/local/lib/vim/syntax/*.vim +/usr/local/share/vim/vim??/syntax/*.vim いろいろな言語用の構文定義ファイル。 .TP -/usr/local/lib/vim/vimrc +/usr/local/share/vim/vimrc システムの .B Vim 初期化ファイル。 .TP -~/.vimrc +~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc ユーザーの .B Vim -初期化ファイル。 +初期化ファイル。(最初のものが使われます。) .TP -/usr/local/lib/vim/gvimrc +/usr/local/share/vim/gvimrc システムの gvim 初期化ファイル。 .TP -~/.gvimrc -ユーザーの gvim 初期化ファイル。 +~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc +ユーザーの gvim 初期化ファイル。(最初のものが使われます。) .TP -/usr/local/lib/vim/optwin.vim +/usr/local/share/vim/vim??/optwin.vim ":options" コマンドで使われるファイル。 オプションを表示したり設定したりできます。 .TP -/usr/local/lib/vim/menu.vim +/usr/local/share/vim/vim??/menu.vim システムのメニュー初期化ファイル。gvim で使います。 .TP -/usr/local/lib/vim/bugreport.vim +/usr/local/share/vim/vim??/bugreport.vim バグレポートを生成するスクリプト。":help bugs" 参照。 .TP -/usr/local/lib/vim/filetype.vim +/usr/local/share/vim/vim??/filetype.vim ファイル名からファイルタイプを判定するスクリプト。":help 'filetype'" 参照。 .TP -/usr/local/lib/vim/scripts.vim +/usr/local/share/vim/vim??/scripts.vim ファイルの内容からファイルタイプを判定するスクリプト。":help 'filetype'" 参照。 .TP -/usr/local/lib/vim/print/*.ps +/usr/local/share/vim/vim??/print/*.ps PostScript 印刷に使われるファイル。 .PP 最新の情報は VIM のホームページを参照してください: diff --git a/runtime/doc/xxd-ja.UTF-8.1 b/runtime/doc/xxd-ja.UTF-8.1 index dabc4771dcdc7..93928fe5da6d8 100644 --- a/runtime/doc/xxd-ja.UTF-8.1 +++ b/runtime/doc/xxd-ja.UTF-8.1 @@ -79,6 +79,9 @@ .IR \-C " | " \-capitalize \-i を使用した際に、C インクルードファイル形式の変数名を大文字にする。 .TP +.I \-d +オフセットを 16 進の代わりに 10 進で表示する。 +.TP .IR \-E " | " \-EBCDIC 右端に出力される文字のエンコーディングを ASCII から EBCDIC に変更する。 16 進ダンプの出力形式は変更されません。 @@ -135,7 +138,7 @@ C インクルードファイル形式で出力する。 たいていは、表示可能文字と非表示可能文字を区別するのに有用です。 .I \fIwhen\fP は -.BR never ", " always ", あるいは " auto +.BR never ", " always ", あるいは " auto " (デフォルト: auto) のいずれかです。 .BR $NO_COLOR 環境変数が設定されているときは、カラー表示は無効化されます。 diff --git a/src/po/ja.euc-jp.po b/src/po/ja.euc-jp.po index cc9c6c3768c14..ced4cd9ee96e1 100644 --- a/src/po/ja.euc-jp.po +++ b/src/po/ja.euc-jp.po @@ -3,7 +3,7 @@ # Do ":help uganda" in Vim to read copying and usage conditions. # Do ":help credits" in Vim to see a list of people who contributed. # -# Copyright (C) 2001-2023 MURAOKA Taro , +# Copyright (C) 2001-2024 MURAOKA Taro , # vim-jp # # THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE. @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim 9.0\n" +"Project-Id-Version: Vim 9.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-12-18 16:41+0900\n" -"PO-Revision-Date: 2023-12-19 12:45+0900\n" +"POT-Creation-Date: 2024-07-23 10:59+0900\n" +"PO-Revision-Date: 2024-08-15 12:54+0900\n" "Last-Translator: MURAOKA Taro \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -175,6 +175,9 @@ msgstr " (file %d of %d)" msgid " (file (%d) of %d)" msgstr " (file (%d) of %d)" +msgid "[Command Line]" +msgstr "[ޥɥ饤]" + msgid "[Prompt]" msgstr "[ץץ]" @@ -439,10 +442,6 @@ msgstr " msgid "Bopomofo" msgstr "" -msgid "Not enough memory to set references, garbage collection aborted!" -msgstr "" -"٥å쥯ߤޤ! ȤΤ˥꤬­ޤ" - msgid "" "\n" "\tLast set from " @@ -688,9 +687,6 @@ msgstr " msgid "Interrupt" msgstr "" -msgid "[Command Line]" -msgstr "[ޥɥ饤]" - msgid "is a directory" msgstr "ϥǥ쥯ȥǤ" @@ -854,6 +850,10 @@ msgid "+-%s%3ld line: " msgid_plural "+-%s%3ld lines: " msgstr[0] "+-%s%3ld : " +msgid "Not enough memory to set references, garbage collection aborted!" +msgstr "" +"٥å쥯ߤޤ! ȤΤ˥꤬­ޤ" + msgid "No match at cursor, finding next" msgstr "ΰ֤˥ޥåϤޤ󡢼򸡺Ƥޤ" @@ -1416,6 +1416,9 @@ msgstr "mapnew() msgid "filter() argument" msgstr "filter() ΰ" +msgid "foreach() argument" +msgstr "foreach() ΰ" + msgid "extendnew() argument" msgstr "extendnew() ΰ" @@ -2454,6 +2457,9 @@ msgstr "%s msgid "Printing '%s'" msgstr "Ƥޤ: '%s'" +#~ msgid "DefaultFontNameForWindows" +#~ msgstr "" + #, c-format msgid "Opening the X display took %ld msec" msgstr "XСؤ³ %ld ߥäޤ" @@ -3394,8 +3400,8 @@ msgid "%s returning %s" msgstr "%s %s ֤ޤ" #, c-format -msgid "Function %s does not need compiling" -msgstr "ؿ %s ϥѥɬפޤ" +msgid "Function %s%s%s does not need compiling" +msgstr "ؿ %s%s%s ϥѥɬפޤ" #, c-format msgid "%s (%s, compiled %s)" @@ -3554,6 +3560,9 @@ msgstr " msgid " 3rd user vimrc file: \"" msgstr " 3桼 vimrc: \"" +msgid " 4th user vimrc file: \"" +msgstr " 4桼 vimrc: \"" + msgid " user exrc file: \"" msgstr " 桼 exrc: \"" @@ -4157,6 +4166,10 @@ msgstr "E104: msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: :source ǼեʳǤ :loadkeymap Ȥޤ" +#, c-format +msgid "E106: Unsupported diff output format: %s" +msgstr "E106: ݡȤƤʤdiffϥեޥåȤǤ: %s" + #, c-format msgid "E107: Missing parentheses: %s" msgstr "E107: å '(' ޤ: %s" @@ -4486,8 +4499,8 @@ msgstr "E196: msgid "E197: Cannot set language to \"%s\"" msgstr "E197: \"%s\" Ǥޤ" -msgid "E199: Active window or buffer deleted" -msgstr "E199: ƥ֤ʥɥХåեޤ" +msgid "E199: Active window or buffer changed or deleted" +msgstr "E199: ƥ֤ʥɥХåեѹޤϺޤ" msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: *ReadPre ưޥ եɹԲĤˤޤ" @@ -5857,9 +5870,6 @@ msgstr "E612: sign msgid "E613: Unknown printer font: %s" msgstr "E613: ̤ΤΥץ󥿥ץǤ: %s" -msgid "E614: Class required" -msgstr "E614: 饹ɬפǤ" - #, c-format msgid "E616: Object required for argument %d" msgstr "E616: %d ˤϥ֥ȤɬפǤ" @@ -6696,7 +6706,7 @@ msgid "E862: Cannot use g: here" msgstr "E862: Ǥ g: ϻȤޤ" msgid "E863: Not allowed for a terminal in a popup window" -msgstr "E863: üϥݥåץåץɥǤϵޤ" +msgstr "E863: ݥåץåץɥüǤϵޤ" #, no-c-format msgid "" @@ -6753,6 +6763,10 @@ msgstr "" msgid "E876: (NFA regexp) Not enough space to store the whole NFA" msgstr "E876: (NFA ɽ) NFAΤ¸ˤ϶ڡ­ޤ" +#, c-format +msgid "E877: (NFA regexp) Invalid character class: %d" +msgstr "E877: (NFA ɽ) ̵ʸ饹Ǥ: %d" + msgid "E878: (NFA regexp) Could not allocate memory for branch traversal!" msgstr "" "E878: (NFA ɽ) ߲Υ֥˽ʬʥƤޤ!" @@ -8319,21 +8333,12 @@ msgstr "E1317: msgid "E1318: Not a valid command in a class: %s" msgstr "E1318: 饹ǤϻȤʤޥɤǤ: %s" -msgid "E1319: Using a Class as a Number" -msgstr "E1319: 饹ͤȤưäƤޤ" - msgid "E1320: Using an Object as a Number" msgstr "E1320: ֥ȤͤȤưäƤޤ" -msgid "E1321: Using a Class as a Float" -msgstr "E1321: 饹ưȤưäƤޤ" - msgid "E1322: Using an Object as a Float" msgstr "E1322: ֥ȤưȤưäƤޤ" -msgid "E1323: Using a Class as a String" -msgstr "E1323: 饹ʸȤưäƤޤ" - msgid "E1324: Using an Object as a String" msgstr "E1324: ֥ȤʸȤưäƤޤ" @@ -8362,14 +8367,14 @@ msgid "E1330: Invalid type for object variable: %s" msgstr "E1330: ֥ѿȤ̵ʷǤ: %s" msgid "" -"E1331: Public must be followed by \"var\" or \"static\" or \"final\" or " +"E1331: public must be followed by \"var\" or \"static\" or \"final\" or " "\"const\"" msgstr "" "E1331: public θ \"var\", \"static\", \"final\" ޤ \"const\" ɬ" "Ǥ" #, c-format -msgid "E1332: Public variable name cannot start with underscore: %s" +msgid "E1332: public variable name cannot start with underscore: %s" msgstr "E1332: ѥ֥åѿ̾ϥǻϤ뤳ȤϤǤޤ: %s" #, c-format @@ -8575,10 +8580,10 @@ msgstr "" "E1386: ֥ȥ᥽å \"%s\" ϥ饹 \"%s\" Υ֥ȤȤȤ" "ߤǥǤޤ" -msgid "E1387: Public variable not supported in an interface" +msgid "E1387: public variable not supported in an interface" msgstr "E1387: 󥿡եǥѥ֥åѿϥݡȤƤޤ" -msgid "E1388: Public keyword not supported for a method" +msgid "E1388: public keyword not supported for a method" msgstr "E1388: 󥿡ե public ɤϥݡȤƤޤ" msgid "E1389: Missing name after implements" @@ -8607,10 +8612,6 @@ msgstr "E1393: msgid "E1394: Type name must start with an uppercase letter: %s" msgstr "E1394: ̾ϱʸǻϤޤʤФʤޤ: %s" -#, c-format -msgid "E1395: Type alias \"%s\" cannot be modified" -msgstr "E1395: ꥢ \"%s\" ѹǤޤ" - #, c-format msgid "E1396: Type alias \"%s\" already exists" msgstr "E1396: ꥢ \"%s\" ϴ¸ߤޤ" @@ -8624,18 +8625,6 @@ msgstr "E1398: msgid "E1399: Type can only be used in a script" msgstr "E1399: ϥץȤǤΤ߻ѤǤޤ" -#, c-format -msgid "E1400: Using type alias \"%s\" as a Number" -msgstr "E1400: ꥢ \"%s\" ͤȤưäƤޤ" - -#, c-format -msgid "E1401: Using type alias \"%s\" as a Float" -msgstr "E1401: ꥢ \"%s\" ưȤưäƤޤ" - -#, c-format -msgid "E1402: Using type alias \"%s\" as a String" -msgstr "E1402: ꥢ \"%s\" ʸȤưäƤޤ" - #, c-format msgid "E1403: Type alias \"%s\" cannot be used as a value" msgstr "E1403: ꥢ \"%s\" ͤȤƻȤȤϤǤޤ" @@ -8647,9 +8636,6 @@ msgstr "E1404: abstract msgid "E1405: Class \"%s\" cannot be used as a value" msgstr "E1405: 饹 \"%s\" ͤȤƻȤȤϤǤޤ" -msgid "E1406: Cannot use a Class as a variable or value" -msgstr "E1406: 饹ѿͤȤƻȤȤϤǤޤ" - msgid "E1407: Cannot use a Typealias as a variable or value" msgstr "E1407: ꥢѿͤȤƻȤȤϤǤޤ" @@ -8664,6 +8650,76 @@ msgstr "" msgid "E1410: Const variable not supported in an interface" msgstr "E1410: 󥿡ե const ѿϥݡȤƤޤ" +#, c-format +msgid "E1411: Missing dot after object \"%s\"" +msgstr "E1411: ֥ \"%s\" θ˥ɥåȤޤ" + +#, c-format +msgid "E1412: Builtin object method \"%s\" not supported" +msgstr "E1412: Ȥ߹ߥ֥ȥ᥽å \"%s\" ϥݡȤƤޤ" + +msgid "E1413: Builtin class method not supported" +msgstr "E1413: Ȥ߹ߥ饹᥽åɤϥݡȤƤޤ" + +msgid "E1414: Enum can only be defined in Vim9 script" +msgstr "E1414: 󷿤 Vim9 script ǤΤǤޤ" + +#, c-format +msgid "E1415: Enum name must start with an uppercase letter: %s" +msgstr "E1415: 󷿤̾ϱʸǻϤޤʤФʤޤ: %s" + +msgid "E1416: Enum cannot extend a class or enum" +msgstr "E1416: 󷿤ϥ饹󷿤ĥǤޤ" + +msgid "E1417: Abstract cannot be used in an Enum" +msgstr "E1417: abstract ǻȤȤϤǤޤ" + +#, c-format +msgid "E1418: Invalid enum value declaration: %s" +msgstr "E1418: ͤǤ: %s" + +#, c-format +msgid "E1419: Not a valid command in an Enum: %s" +msgstr "E1419: ǤϻȤʤޥɤǤ: %s" + +msgid "E1420: Missing :endenum" +msgstr "E1420: :endenum ޤ" + +#, c-format +msgid "E1421: Enum \"%s\" cannot be used as a value" +msgstr "E1421: \"%s\" ͤȤƻȤȤϤǤޤ" + +#, c-format +msgid "E1422: Enum value \"%s\" not found in enum \"%s\"" +msgstr "E1422: \"%s\" \"%s\" ǸĤޤ" + +#, c-format +msgid "E1423: Enum value \"%s.%s\" cannot be modified" +msgstr "E1423: \"%s.%s\" ѹǤޤ" + +#, c-format +msgid "E1424: Using an Enum \"%s\" as a Number" +msgstr "E1424: \"%s\" ͤȤưäƤޤ" + +#, c-format +msgid "E1425: Using an Enum \"%s\" as a String" +msgstr "E1425: \"%s\" ʸȤưäƤޤ" + +#, c-format +msgid "E1426: Enum \"%s\" ordinal value cannot be modified" +msgstr "E1426: \"%s\" νͤѹǤޤ" + +#, c-format +msgid "E1427: Enum \"%s\" name cannot be modified" +msgstr "E1427: \"%s\" ̾ѹǤޤ" + +#, c-format +msgid "E1428: Duplicate enum value: %s" +msgstr "E1428: ͤʣƤޤ: %s" + +msgid "E1429: Class can only be used in a script" +msgstr "E1429: 饹ϥץȤǤΤ߻ѤǤޤ" + #, c-format msgid "E1500: Cannot mix positional and non-positional arguments: %s" msgstr "E1500: ְְ򺮤뤳ȤϤǤޤ: %s" @@ -8708,6 +8764,17 @@ msgstr "E1509: msgid "E1510: Value too large: %s" msgstr "E1510: ͤ礭᤮ޤ: %s" +#, c-format +msgid "E1511: Wrong number of characters for field \"%s\"" +msgstr "E1511: ե \"%s\" ʸְäƤޤ" + +#, c-format +msgid "E1512: Wrong character width for field \"%s\"" +msgstr "E1512: ե \"%s\" ʸְäƤޤ" + +msgid "E1513: Cannot switch buffer. 'winfixbuf' is enabled" +msgstr "E1513: Хåեڤؤޤ'winfixbuf' ͭƤޤ" + msgid "--No lines in buffer--" msgstr "--Хåե˹Ԥޤ--" @@ -9096,7 +9163,7 @@ msgid "\" Hit on an index line to jump there." msgstr "\" ǥåԤ ǤĤȡ˥פޤ" msgid "\" Hit on a \"set\" line to refresh it." -msgstr "\" \"set\" Ԥ ǤĤȡǿͤɹޤޤ" +msgstr "\" \"set\" Ԥ ǤĤȡǿͤɹޤޤ" msgid "important" msgstr "" @@ -9415,6 +9482,9 @@ msgstr " msgid "minimal number of lines used for any window" msgstr "ǤդΥɥ˻ȤǾԿ" +msgid "keep window focused on a single buffer" +msgstr "ɥ̤ΥХåեڤؤʤ褦ˤ" + msgid "keep the height of the window" msgstr "ɥι⤵ݤ" @@ -9490,6 +9560,9 @@ msgstr "ʣ msgid "0, 1 or 2; when to use a tab pages line" msgstr "0, 1 ޤ 2; ֥ڡԤ򤤤ĻȤ" +msgid "behaviour when closing tab pages: left, uselast or empty" +msgstr "֥ڡĤȤεư: left, uselast ޤ empty" + msgid "maximum number of tab pages to open for -p and \"tab all\"" msgstr "-p \"tab all\" dz륿֥ڡκ" diff --git a/src/po/ja.po b/src/po/ja.po index 14ac57a92c1d3..5bcf8e1eac4e7 100644 --- a/src/po/ja.po +++ b/src/po/ja.po @@ -3,7 +3,7 @@ # Do ":help uganda" in Vim to read copying and usage conditions. # Do ":help credits" in Vim to see a list of people who contributed. # -# Copyright (C) 2001-2023 MURAOKA Taro , +# Copyright (C) 2001-2024 MURAOKA Taro , # vim-jp # # THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE. @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim 9.0\n" +"Project-Id-Version: Vim 9.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-12-18 16:41+0900\n" -"PO-Revision-Date: 2023-12-19 12:45+0900\n" +"POT-Creation-Date: 2024-07-23 10:59+0900\n" +"PO-Revision-Date: 2024-08-15 12:54+0900\n" "Last-Translator: MURAOKA Taro \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -175,6 +175,9 @@ msgstr " (file %d of %d)" msgid " (file (%d) of %d)" msgstr " (file (%d) of %d)" +msgid "[Command Line]" +msgstr "[コマンドライン]" + msgid "[Prompt]" msgstr "[プロンプト]" @@ -439,10 +442,6 @@ msgstr "片仮名" msgid "Bopomofo" msgstr "注音字母" -msgid "Not enough memory to set references, garbage collection aborted!" -msgstr "" -"ガーベッジコレクションを中止しました! 参照を作成するのにメモリが不足しました" - msgid "" "\n" "\tLast set from " @@ -688,9 +687,6 @@ msgstr "エラー" msgid "Interrupt" msgstr "割込み" -msgid "[Command Line]" -msgstr "[コマンドライン]" - msgid "is a directory" msgstr "はディレクトリです" @@ -854,6 +850,10 @@ msgid "+-%s%3ld line: " msgid_plural "+-%s%3ld lines: " msgstr[0] "+-%s%3ld 行: " +msgid "Not enough memory to set references, garbage collection aborted!" +msgstr "" +"ガーベッジコレクションを中止しました! 参照を作成するのにメモリが不足しました" + msgid "No match at cursor, finding next" msgstr "カーソルの位置にマッチはありません、次を検索しています" @@ -1416,6 +1416,9 @@ msgstr "mapnew() の引数" msgid "filter() argument" msgstr "filter() の引数" +msgid "foreach() argument" +msgstr "foreach() の引数" + msgid "extendnew() argument" msgstr "extendnew() の引数" @@ -2454,6 +2457,9 @@ msgstr "%s へ (%s 上の)" msgid "Printing '%s'" msgstr "印刷しています: '%s'" +#~ msgid "DefaultFontNameForWindows" +#~ msgstr "" + #, c-format msgid "Opening the X display took %ld msec" msgstr "Xサーバーへの接続に %ld ミリ秒かかりました" @@ -3394,8 +3400,8 @@ msgid "%s returning %s" msgstr "%s が %s を返しました" #, c-format -msgid "Function %s does not need compiling" -msgstr "関数 %s はコンパイルの必要がありません" +msgid "Function %s%s%s does not need compiling" +msgstr "関数 %s%s%s はコンパイルの必要がありません" #, c-format msgid "%s (%s, compiled %s)" @@ -3554,6 +3560,9 @@ msgstr " 第2ユーザー vimrc: \"" msgid " 3rd user vimrc file: \"" msgstr " 第3ユーザー vimrc: \"" +msgid " 4th user vimrc file: \"" +msgstr " 第4ユーザー vimrc: \"" + msgid " user exrc file: \"" msgstr " ユーザー exrc: \"" @@ -4157,6 +4166,10 @@ msgstr "E104: 合字にEscapeは使用できません" msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: :source で取込むファイル以外では :loadkeymap を使えません" +#, c-format +msgid "E106: Unsupported diff output format: %s" +msgstr "E106: サポートしていないdiff出力フォーマットです: %s" + #, c-format msgid "E107: Missing parentheses: %s" msgstr "E107: カッコ '(' がありません: %s" @@ -4486,8 +4499,8 @@ msgstr "E196: このバージョンに合字はありません" msgid "E197: Cannot set language to \"%s\"" msgstr "E197: 言語を \"%s\" に設定できません" -msgid "E199: Active window or buffer deleted" -msgstr "E199: アクティブなウィンドウかバッファが削除されました" +msgid "E199: Active window or buffer changed or deleted" +msgstr "E199: アクティブなウィンドウかバッファが変更または削除されました" msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: *ReadPre 自動コマンド がファイルを読込不可にしました" @@ -5857,9 +5870,6 @@ msgstr "E612: signの定義が多過ぎます" msgid "E613: Unknown printer font: %s" msgstr "E613: 未知のプリンタオプションです: %s" -msgid "E614: Class required" -msgstr "E614: クラスが必要です" - #, c-format msgid "E616: Object required for argument %d" msgstr "E616: 引数 %d にはオブジェクトが必要です" @@ -6696,7 +6706,7 @@ msgid "E862: Cannot use g: here" msgstr "E862: ここでは g: は使えません" msgid "E863: Not allowed for a terminal in a popup window" -msgstr "E863: 端末はポップアップウィンドウでは許されません" +msgstr "E863: ポップアップウィンドウ内の端末では許されません" #, no-c-format msgid "" @@ -6753,6 +6763,10 @@ msgstr "" msgid "E876: (NFA regexp) Not enough space to store the whole NFA" msgstr "E876: (NFA 正規表現) NFA全体を保存するには空きスペースが足りません" +#, c-format +msgid "E877: (NFA regexp) Invalid character class: %d" +msgstr "E877: (NFA 正規表現) 無効な文字クラスです: %d" + msgid "E878: (NFA regexp) Could not allocate memory for branch traversal!" msgstr "" "E878: (NFA 正規表現) 現在横断中のブランチに十分なメモリを割り当てられません!" @@ -8319,21 +8333,12 @@ msgstr "E1317: 不正なオブジェクト変数の宣言です: %s" msgid "E1318: Not a valid command in a class: %s" msgstr "E1318: クラス内では使えないコマンドです: %s" -msgid "E1319: Using a Class as a Number" -msgstr "E1319: クラスを数値として扱っています" - msgid "E1320: Using an Object as a Number" msgstr "E1320: オブジェクトを数値として扱っています" -msgid "E1321: Using a Class as a Float" -msgstr "E1321: クラスを浮動小数点数として扱っています" - msgid "E1322: Using an Object as a Float" msgstr "E1322: オブジェクトを浮動小数点数として扱っています" -msgid "E1323: Using a Class as a String" -msgstr "E1323: クラスを文字列として扱っています" - msgid "E1324: Using an Object as a String" msgstr "E1324: オブジェクトを文字列として扱っています" @@ -8362,14 +8367,14 @@ msgid "E1330: Invalid type for object variable: %s" msgstr "E1330: オブジェクト変数として無効な型です: %s" msgid "" -"E1331: Public must be followed by \"var\" or \"static\" or \"final\" or " +"E1331: public must be followed by \"var\" or \"static\" or \"final\" or " "\"const\"" msgstr "" "E1331: public の後ろに \"var\", \"static\", \"final\" または \"const\" が必要" "です" #, c-format -msgid "E1332: Public variable name cannot start with underscore: %s" +msgid "E1332: public variable name cannot start with underscore: %s" msgstr "E1332: パブリック変数名はアンダースコアで始めることはできません: %s" #, c-format @@ -8575,10 +8580,10 @@ msgstr "" "E1386: オブジェクトメソッド \"%s\" はクラス \"%s\" のオブジェクトを使うことの" "みでアクセスできます" -msgid "E1387: Public variable not supported in an interface" +msgid "E1387: public variable not supported in an interface" msgstr "E1387: インターフェイス内でパブリック変数はサポートされていません" -msgid "E1388: Public keyword not supported for a method" +msgid "E1388: public keyword not supported for a method" msgstr "E1388: インターフェイス内で public キーワードはサポートされていません" msgid "E1389: Missing name after implements" @@ -8607,10 +8612,6 @@ msgstr "E1393: 型は Vim9 script の中でのみ定義できます" msgid "E1394: Type name must start with an uppercase letter: %s" msgstr "E1394: 型の名前は英大文字で始まらなければなりません: %s" -#, c-format -msgid "E1395: Type alias \"%s\" cannot be modified" -msgstr "E1395: 型エイリアス \"%s\" は変更できません" - #, c-format msgid "E1396: Type alias \"%s\" already exists" msgstr "E1396: 型エイリアス \"%s\" は既に存在します" @@ -8624,18 +8625,6 @@ msgstr "E1398: 型エイリアスの型がありません" msgid "E1399: Type can only be used in a script" msgstr "E1399: 型はスクリプトの中でのみ使用できます" -#, c-format -msgid "E1400: Using type alias \"%s\" as a Number" -msgstr "E1400: 型エイリアス \"%s\" を数値として扱っています" - -#, c-format -msgid "E1401: Using type alias \"%s\" as a Float" -msgstr "E1401: 型エイリアス \"%s\" を浮動小数点数として扱っています" - -#, c-format -msgid "E1402: Using type alias \"%s\" as a String" -msgstr "E1402: 型エイリアス \"%s\" を文字列として扱っています" - #, c-format msgid "E1403: Type alias \"%s\" cannot be used as a value" msgstr "E1403: 型エイリアス \"%s\" を値として使うことはできません" @@ -8647,9 +8636,6 @@ msgstr "E1404: abstract をインターフェイス内で使うことはでき msgid "E1405: Class \"%s\" cannot be used as a value" msgstr "E1405: クラス \"%s\" を値として使うことはできません" -msgid "E1406: Cannot use a Class as a variable or value" -msgstr "E1406: クラスを変数や値として使うことはできません" - msgid "E1407: Cannot use a Typealias as a variable or value" msgstr "E1407: 型エイリアスを変数や値として使うことはできません" @@ -8664,6 +8650,76 @@ msgstr "" msgid "E1410: Const variable not supported in an interface" msgstr "E1410: インターフェイス内で const 変数はサポートされていません" +#, c-format +msgid "E1411: Missing dot after object \"%s\"" +msgstr "E1411: オブジェクト \"%s\" の後にドットがありません" + +#, c-format +msgid "E1412: Builtin object method \"%s\" not supported" +msgstr "E1412: 組み込みオブジェクトメソッド \"%s\" はサポートされていません" + +msgid "E1413: Builtin class method not supported" +msgstr "E1413: 組み込みクラスメソッドはサポートされていません" + +msgid "E1414: Enum can only be defined in Vim9 script" +msgstr "E1414: 列挙型は Vim9 script の中でのみ定義できます" + +#, c-format +msgid "E1415: Enum name must start with an uppercase letter: %s" +msgstr "E1415: 列挙型の名前は英大文字で始まらなければなりません: %s" + +msgid "E1416: Enum cannot extend a class or enum" +msgstr "E1416: 列挙型はクラスや列挙型を拡張できません" + +msgid "E1417: Abstract cannot be used in an Enum" +msgstr "E1417: abstract を列挙型内で使うことはできません" + +#, c-format +msgid "E1418: Invalid enum value declaration: %s" +msgstr "E1418: 不正な列挙値の宣言です: %s" + +#, c-format +msgid "E1419: Not a valid command in an Enum: %s" +msgstr "E1419: 列挙型内では使えないコマンドです: %s" + +msgid "E1420: Missing :endenum" +msgstr "E1420: :endenum がありません" + +#, c-format +msgid "E1421: Enum \"%s\" cannot be used as a value" +msgstr "E1421: 列挙型 \"%s\" を値として使うことはできません" + +#, c-format +msgid "E1422: Enum value \"%s\" not found in enum \"%s\"" +msgstr "E1422: 列挙値 \"%s\" が列挙型 \"%s\" 内で見つかりません" + +#, c-format +msgid "E1423: Enum value \"%s.%s\" cannot be modified" +msgstr "E1423: 列挙値 \"%s.%s\" は変更できません" + +#, c-format +msgid "E1424: Using an Enum \"%s\" as a Number" +msgstr "E1424: 列挙型 \"%s\" を数値として扱っています" + +#, c-format +msgid "E1425: Using an Enum \"%s\" as a String" +msgstr "E1425: 列挙型 \"%s\" を文字列として扱っています" + +#, c-format +msgid "E1426: Enum \"%s\" ordinal value cannot be modified" +msgstr "E1426: 列挙型 \"%s\" の順序値は変更できません" + +#, c-format +msgid "E1427: Enum \"%s\" name cannot be modified" +msgstr "E1427: 列挙型 \"%s\" の名前は変更できません" + +#, c-format +msgid "E1428: Duplicate enum value: %s" +msgstr "E1428: 列挙値が重複しています: %s" + +msgid "E1429: Class can only be used in a script" +msgstr "E1429: クラスはスクリプトの中でのみ使用できます" + #, c-format msgid "E1500: Cannot mix positional and non-positional arguments: %s" msgstr "E1500: 位置引数と非位置引数を混ぜることはできません: %s" @@ -8708,6 +8764,17 @@ msgstr "E1509: 拡張属性の読込みまたは書込みでエラーが起き msgid "E1510: Value too large: %s" msgstr "E1510: 値が大き過ぎます: %s" +#, c-format +msgid "E1511: Wrong number of characters for field \"%s\"" +msgstr "E1511: フィールド \"%s\" の文字数が間違っています" + +#, c-format +msgid "E1512: Wrong character width for field \"%s\"" +msgstr "E1512: フィールド \"%s\" の文字幅が間違っています" + +msgid "E1513: Cannot switch buffer. 'winfixbuf' is enabled" +msgstr "E1513: バッファを切り替えられません。'winfixbuf' が有効化されています" + msgid "--No lines in buffer--" msgstr "--バッファに行がありません--" @@ -9096,7 +9163,7 @@ msgid "\" Hit on an index line to jump there." msgstr "\" インデックス行で を打つと、そこにジャンプします。" msgid "\" Hit on a \"set\" line to refresh it." -msgstr "\" \"set\" 行で を打つと、最新の値が読込まれます。" +msgstr "\" \"set\" 行で を打つと、最新の値が読込まれます。" msgid "important" msgstr "重要" @@ -9415,6 +9482,9 @@ msgstr "現在のウィンドウに使われる最小行数" msgid "minimal number of lines used for any window" msgstr "任意のウィンドウに使われる最小行数" +msgid "keep window focused on a single buffer" +msgstr "ウィンドウが別のバッファに切り替わらないようにする" + msgid "keep the height of the window" msgstr "ウィンドウの高さを保つ" @@ -9490,6 +9560,9 @@ msgstr "複数タブページ" msgid "0, 1 or 2; when to use a tab pages line" msgstr "0, 1 または 2; タブページ行をいつ使うか" +msgid "behaviour when closing tab pages: left, uselast or empty" +msgstr "タブページを閉じるときの挙動: left, uselast または empty" + msgid "maximum number of tab pages to open for -p and \"tab all\"" msgstr "-p と \"tab all\" で開かれるタブページの最大数" diff --git a/src/po/ja.sjis.po b/src/po/ja.sjis.po index e40627e8d3043..7505121839b5b 100644 --- a/src/po/ja.sjis.po +++ b/src/po/ja.sjis.po @@ -3,7 +3,7 @@ # Do ":help uganda" in Vim to read copying and usage conditions. # Do ":help credits" in Vim to see a list of people who contributed. # -# Copyright (C) 2001-2023 MURAOKA Taro , +# Copyright (C) 2001-2024 MURAOKA Taro , # vim-jp # # THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE. @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Vim 9.0\n" +"Project-Id-Version: Vim 9.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-12-18 16:41+0900\n" -"PO-Revision-Date: 2023-12-19 12:45+0900\n" +"POT-Creation-Date: 2024-07-23 10:59+0900\n" +"PO-Revision-Date: 2024-08-15 12:54+0900\n" "Last-Translator: MURAOKA Taro \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -175,6 +175,9 @@ msgstr " (file %d of %d)" msgid " (file (%d) of %d)" msgstr " (file (%d) of %d)" +msgid "[Command Line]" +msgstr "[R}hC]" + msgid "[Prompt]" msgstr "[vvg]" @@ -439,10 +442,6 @@ msgstr " msgid "Bopomofo" msgstr "" -msgid "Not enough memory to set references, garbage collection aborted!" -msgstr "" -"K[xbWRNV𒆎~܂! QƂ쐬̂Ƀs܂" - msgid "" "\n" "\tLast set from " @@ -688,9 +687,6 @@ msgstr " msgid "Interrupt" msgstr "" -msgid "[Command Line]" -msgstr "[R}hC]" - msgid "is a directory" msgstr "̓fBNgł" @@ -854,6 +850,10 @@ msgid "+-%s%3ld line: " msgid_plural "+-%s%3ld lines: " msgstr[0] "+-%s%3ld s: " +msgid "Not enough memory to set references, garbage collection aborted!" +msgstr "" +"K[xbWRNV𒆎~܂! QƂ쐬̂Ƀs܂" + msgid "No match at cursor, finding next" msgstr "J[\\̈ʒuɃ}b`͂܂AĂ܂" @@ -1416,6 +1416,9 @@ msgstr "mapnew() msgid "filter() argument" msgstr "filter() ̈" +msgid "foreach() argument" +msgstr "foreach() ̈" + msgid "extendnew() argument" msgstr "extendnew() ̈" @@ -2454,6 +2457,9 @@ msgstr "%s msgid "Printing '%s'" msgstr "Ă܂: '%s'" +#~ msgid "DefaultFontNameForWindows" +#~ msgstr "" + #, c-format msgid "Opening the X display took %ld msec" msgstr "XT[o[ւ̐ڑ %ld ~b܂" @@ -3394,8 +3400,8 @@ msgid "%s returning %s" msgstr "%s %s Ԃ܂" #, c-format -msgid "Function %s does not need compiling" -msgstr "֐ %s ̓RpC̕Kv܂" +msgid "Function %s%s%s does not need compiling" +msgstr "֐ %s%s%s ̓RpC̕Kv܂" #, c-format msgid "%s (%s, compiled %s)" @@ -3554,6 +3560,9 @@ msgstr " msgid " 3rd user vimrc file: \"" msgstr " 3[U[ vimrc: \"" +msgid " 4th user vimrc file: \"" +msgstr " 4[U[ vimrc: \"" + msgid " user exrc file: \"" msgstr " [U[ exrc: \"" @@ -4157,6 +4166,10 @@ msgstr "E104: msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: :source Ŏ捞ރt@CȊOł :loadkeymap g܂" +#, c-format +msgid "E106: Unsupported diff output format: %s" +msgstr "E106: T|[gĂȂdiffo̓tH[}bgł: %s" + #, c-format msgid "E107: Missing parentheses: %s" msgstr "E107: JbR '(' ܂: %s" @@ -4486,8 +4499,8 @@ msgstr "E196: msgid "E197: Cannot set language to \"%s\"" msgstr "E197: \"%s\" ɐݒł܂" -msgid "E199: Active window or buffer deleted" -msgstr "E199: ANeBuȃEBhEobt@폜܂" +msgid "E199: Active window or buffer changed or deleted" +msgstr "E199: ANeBuȃEBhEobt@ύX܂͍폜܂" msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: *ReadPre R}h t@CǍs‚ɂ܂" @@ -5857,9 +5870,6 @@ msgstr "E612: sign msgid "E613: Unknown printer font: %s" msgstr "E613: m̃v^IvVł: %s" -msgid "E614: Class required" -msgstr "E614: NXKvł" - #, c-format msgid "E616: Object required for argument %d" msgstr "E616: %d ɂ̓IuWFNgKvł" @@ -6696,7 +6706,7 @@ msgid "E862: Cannot use g: here" msgstr "E862: ł g: ͎g܂" msgid "E863: Not allowed for a terminal in a popup window" -msgstr "E863: [̓|bvAbvEBhEł͋܂" +msgstr "E863: |bvAbvEBhE̒[ł͋܂" #, no-c-format msgid "" @@ -6753,6 +6763,10 @@ msgstr "" msgid "E876: (NFA regexp) Not enough space to store the whole NFA" msgstr "E876: (NFA K\\) NFAŜۑɂ͋󂫃Xy[X܂" +#, c-format +msgid "E877: (NFA regexp) Invalid character class: %d" +msgstr "E877: (NFA K\\) ȕNXł: %d" + msgid "E878: (NFA regexp) Could not allocate memory for branch traversal!" msgstr "" "E878: (NFA K\\) ݉f̃u`ɏ\\ȃ蓖Ă܂!" @@ -8319,21 +8333,12 @@ msgstr "E1317: msgid "E1318: Not a valid command in a class: %s" msgstr "E1318: NXł͎gȂR}hł: %s" -msgid "E1319: Using a Class as a Number" -msgstr "E1319: NX𐔒lƂĈĂ܂" - msgid "E1320: Using an Object as a Number" msgstr "E1320: IuWFNg𐔒lƂĈĂ܂" -msgid "E1321: Using a Class as a Float" -msgstr "E1321: NX𕂓_ƂĈĂ܂" - msgid "E1322: Using an Object as a Float" msgstr "E1322: IuWFNg𕂓_ƂĈĂ܂" -msgid "E1323: Using a Class as a String" -msgstr "E1323: NX𕶎ƂĈĂ܂" - msgid "E1324: Using an Object as a String" msgstr "E1324: IuWFNg𕶎ƂĈĂ܂" @@ -8362,14 +8367,14 @@ msgid "E1330: Invalid type for object variable: %s" msgstr "E1330: IuWFNgϐƂĖȌ^ł: %s" msgid "" -"E1331: Public must be followed by \"var\" or \"static\" or \"final\" or " +"E1331: public must be followed by \"var\" or \"static\" or \"final\" or " "\"const\"" msgstr "" "E1331: public ̌ \"var\", \"static\", \"final\" ܂ \"const\" Kv" "ł" #, c-format -msgid "E1332: Public variable name cannot start with underscore: %s" +msgid "E1332: public variable name cannot start with underscore: %s" msgstr "E1332: pubNϐ̓A_[XRAŎn߂邱Ƃ͂ł܂: %s" #, c-format @@ -8575,10 +8580,10 @@ msgstr "" "E1386: IuWFNg\\bh \"%s\" ̓NX \"%s\" ̃IuWFNggƂ" "݂ŃANZXł܂" -msgid "E1387: Public variable not supported in an interface" +msgid "E1387: public variable not supported in an interface" msgstr "E1387: C^[tFCXŃpubNϐ̓T|[gĂ܂" -msgid "E1388: Public keyword not supported for a method" +msgid "E1388: public keyword not supported for a method" msgstr "E1388: C^[tFCX public L[[h̓T|[gĂ܂" msgid "E1389: Missing name after implements" @@ -8607,10 +8612,6 @@ msgstr "E1393: msgid "E1394: Type name must start with an uppercase letter: %s" msgstr "E1394: ^̖O͉p啶Ŏn܂Ȃ΂Ȃ܂: %s" -#, c-format -msgid "E1395: Type alias \"%s\" cannot be modified" -msgstr "E1395: ^GCAX \"%s\" ͕ύXł܂" - #, c-format msgid "E1396: Type alias \"%s\" already exists" msgstr "E1396: ^GCAX \"%s\" ͊ɑ݂܂" @@ -8624,18 +8625,6 @@ msgstr "E1398: msgid "E1399: Type can only be used in a script" msgstr "E1399: ^̓XNvg̒ł̂ݎgpł܂" -#, c-format -msgid "E1400: Using type alias \"%s\" as a Number" -msgstr "E1400: ^GCAX \"%s\" 𐔒lƂĈĂ܂" - -#, c-format -msgid "E1401: Using type alias \"%s\" as a Float" -msgstr "E1401: ^GCAX \"%s\" 𕂓_ƂĈĂ܂" - -#, c-format -msgid "E1402: Using type alias \"%s\" as a String" -msgstr "E1402: ^GCAX \"%s\" 𕶎ƂĈĂ܂" - #, c-format msgid "E1403: Type alias \"%s\" cannot be used as a value" msgstr "E1403: ^GCAX \"%s\" lƂĎgƂ͂ł܂" @@ -8647,9 +8636,6 @@ msgstr "E1404: abstract msgid "E1405: Class \"%s\" cannot be used as a value" msgstr "E1405: NX \"%s\" lƂĎgƂ͂ł܂" -msgid "E1406: Cannot use a Class as a variable or value" -msgstr "E1406: NXϐlƂĎgƂ͂ł܂" - msgid "E1407: Cannot use a Typealias as a variable or value" msgstr "E1407: ^GCAXϐlƂĎgƂ͂ł܂" @@ -8664,6 +8650,76 @@ msgstr "" msgid "E1410: Const variable not supported in an interface" msgstr "E1410: C^[tFCX const ϐ̓T|[gĂ܂" +#, c-format +msgid "E1411: Missing dot after object \"%s\"" +msgstr "E1411: IuWFNg \"%s\" ̌Ƀhbg܂" + +#, c-format +msgid "E1412: Builtin object method \"%s\" not supported" +msgstr "E1412: gݍ݃IuWFNg\\bh \"%s\" ̓T|[gĂ܂" + +msgid "E1413: Builtin class method not supported" +msgstr "E1413: gݍ݃NX\\bh̓T|[gĂ܂" + +msgid "E1414: Enum can only be defined in Vim9 script" +msgstr "E1414: 񋓌^ Vim9 script ̒ł̂ݒ`ł܂" + +#, c-format +msgid "E1415: Enum name must start with an uppercase letter: %s" +msgstr "E1415: 񋓌^̖O͉p啶Ŏn܂Ȃ΂Ȃ܂: %s" + +msgid "E1416: Enum cannot extend a class or enum" +msgstr "E1416: 񋓌^̓NX񋓌^gł܂" + +msgid "E1417: Abstract cannot be used in an Enum" +msgstr "E1417: abstract 񋓌^ŎgƂ͂ł܂" + +#, c-format +msgid "E1418: Invalid enum value declaration: %s" +msgstr "E1418: sȗ񋓒l̐錾ł: %s" + +#, c-format +msgid "E1419: Not a valid command in an Enum: %s" +msgstr "E1419: 񋓌^ł͎gȂR}hł: %s" + +msgid "E1420: Missing :endenum" +msgstr "E1420: :endenum ܂" + +#, c-format +msgid "E1421: Enum \"%s\" cannot be used as a value" +msgstr "E1421: 񋓌^ \"%s\" lƂĎgƂ͂ł܂" + +#, c-format +msgid "E1422: Enum value \"%s\" not found in enum \"%s\"" +msgstr "E1422: 񋓒l \"%s\" 񋓌^ \"%s\" Ō‚܂" + +#, c-format +msgid "E1423: Enum value \"%s.%s\" cannot be modified" +msgstr "E1423: 񋓒l \"%s.%s\" ͕ύXł܂" + +#, c-format +msgid "E1424: Using an Enum \"%s\" as a Number" +msgstr "E1424: 񋓌^ \"%s\" 𐔒lƂĈĂ܂" + +#, c-format +msgid "E1425: Using an Enum \"%s\" as a String" +msgstr "E1425: 񋓌^ \"%s\" 𕶎ƂĈĂ܂" + +#, c-format +msgid "E1426: Enum \"%s\" ordinal value cannot be modified" +msgstr "E1426: 񋓌^ \"%s\" ̏l͕ύXł܂" + +#, c-format +msgid "E1427: Enum \"%s\" name cannot be modified" +msgstr "E1427: 񋓌^ \"%s\" ̖O͕ύXł܂" + +#, c-format +msgid "E1428: Duplicate enum value: %s" +msgstr "E1428: 񋓒ldĂ܂: %s" + +msgid "E1429: Class can only be used in a script" +msgstr "E1429: NX̓XNvg̒ł̂ݎgpł܂" + #, c-format msgid "E1500: Cannot mix positional and non-positional arguments: %s" msgstr "E1500: ʒuƔʒu邱Ƃ͂ł܂: %s" @@ -8708,6 +8764,17 @@ msgstr "E1509: msgid "E1510: Value too large: %s" msgstr "E1510: l傫߂܂: %s" +#, c-format +msgid "E1511: Wrong number of characters for field \"%s\"" +msgstr "E1511: tB[h \"%s\" ̕ԈĂ܂" + +#, c-format +msgid "E1512: Wrong character width for field \"%s\"" +msgstr "E1512: tB[h \"%s\" ̕ԈĂ܂" + +msgid "E1513: Cannot switch buffer. 'winfixbuf' is enabled" +msgstr "E1513: obt@؂ւ܂B'winfixbuf' LĂ܂" + msgid "--No lines in buffer--" msgstr "--obt@ɍs܂--" @@ -9096,7 +9163,7 @@ msgid "\" Hit on an index line to jump there." msgstr "\" CfbNXs ł‚ƁAɃWv܂B" msgid "\" Hit on a \"set\" line to refresh it." -msgstr "\" \"set\" s ł‚ƁAŐV̒lǍ܂܂B" +msgstr "\" \"set\" s ł‚ƁAŐV̒lǍ܂܂B" msgid "important" msgstr "dv" @@ -9415,6 +9482,9 @@ msgstr " msgid "minimal number of lines used for any window" msgstr "Cӂ̃EBhEɎgŏs" +msgid "keep window focused on a single buffer" +msgstr "EBhEʂ̃obt@ɐ؂ւȂ悤ɂ" + msgid "keep the height of the window" msgstr "EBhE̍ۂ" @@ -9490,6 +9560,9 @@ msgstr " msgid "0, 1 or 2; when to use a tab pages line" msgstr "0, 1 ܂ 2; ^uy[WsŽg" +msgid "behaviour when closing tab pages: left, uselast or empty" +msgstr "^uy[W‚Ƃ̋: left, uselast ܂ empty" + msgid "maximum number of tab pages to open for -p and \"tab all\"" msgstr "-p \"tab all\" ŊJ^uy[W̍ő吔" From 3b59be4ed8a145d3188934f1a5cd85432bd2433d Mon Sep 17 00:00:00 2001 From: Gregory Anders Date: Thu, 15 Aug 2024 22:04:22 +0200 Subject: [PATCH 18/20] patch 9.1.0677: :keepp does not retain the substitute pattern Problem: :keeppatterns does not retain the substitute pattern for a :s command Solution: preserve the last substitute pattern when used with the :keeppatterns command modifier (Gregory Anders) closes: #15497 Signed-off-by: Gregory Anders Signed-off-by: Christian Brabandt --- runtime/doc/cmdline.txt | 4 ++-- runtime/doc/version9.txt | 3 ++- src/ex_cmds.c | 5 +++-- src/testdir/test_substitute.vim | 15 ++++++++++----- src/version.c | 2 ++ 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index 214571f2893d2..404e54de8c57d 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 9.1. Last change: 2024 Apr 27 +*cmdline.txt* For Vim version 9.1. Last change: 2024 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -379,7 +379,7 @@ terminals) :keepp[atterns] {command} *:keepp* *:keeppatterns* Execute {command}, without adding anything to the search - history + history or modifying the last substitute pattern. ============================================================================== 2. Command-line completion *cmdline-completion* diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt index 73e54a1cf3551..3729590fae7fd 100644 --- a/runtime/doc/version9.txt +++ b/runtime/doc/version9.txt @@ -1,4 +1,4 @@ -*version9.txt* For Vim version 9.1. Last change: 2024 Jul 30 +*version9.txt* For Vim version 9.1. Last change: 2024 Aug 15 VIM REFERENCE MANUAL by Bram Moolenaar @@ -41592,6 +41592,7 @@ Changed~ mark deprecated attributes from LSP server) |complete-items| - the regex engines match correctly case-insensitive multi-byte characters (and apply proper case folding) +- |:keeppatterns| preserves the last substitute pattern when used with |:s| *added-9.2* Added ~ diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 4793737560b33..05778c8fd8b9c 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3777,6 +3777,7 @@ ex_substitute(exarg_T *eap) int endcolumn = FALSE; // cursor in last column when done pos_T old_cursor = curwin->w_cursor; int start_nsubs; + int keeppatterns = cmdmod.cmod_flags & CMOD_KEEPPATTERNS; #ifdef FEAT_EVAL int save_ma = 0; int save_sandbox = 0; @@ -3876,7 +3877,7 @@ ex_substitute(exarg_T *eap) // out of memory return; } - else + else if (!keeppatterns) { vim_free(old_sub); old_sub = vim_strsave(sub); @@ -3940,7 +3941,7 @@ ex_substitute(exarg_T *eap) ex_may_print(eap); } - if ((cmdmod.cmod_flags & CMOD_KEEPPATTERNS) == 0) + if (!keeppatterns) save_re_pat(RE_SUBST, pat, patlen, magic_isset()); // put pattern in history add_to_history(HIST_SEARCH, pat, patlen, TRUE, NUL); diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim index afdc104d7c58c..b25cd60803c35 100644 --- a/src/testdir/test_substitute.vim +++ b/src/testdir/test_substitute.vim @@ -806,7 +806,7 @@ func Test_replace_keeppatterns() a foobar -substitute foo asdf +substitute foo asdf foo one two . @@ -815,21 +815,26 @@ one two /^substitute s/foo/bar/ call assert_equal('foo', @/) - call assert_equal('substitute bar asdf', getline('.')) + call assert_equal('substitute bar asdf foo', getline('.')) /^substitute keeppatterns s/asdf/xyz/ call assert_equal('^substitute', @/) - call assert_equal('substitute bar xyz', getline('.')) + call assert_equal('substitute bar xyz foo', getline('.')) + + /^substitute + & + call assert_equal('^substitute', @/) + call assert_equal('substitute bar xyz bar', getline('.')) exe "normal /bar /e\" call assert_equal(15, col('.')) normal - keeppatterns /xyz call assert_equal('bar ', @/) - call assert_equal('substitute bar xyz', getline('.')) + call assert_equal('substitute bar xyz bar', getline('.')) exe "normal 0dn" - call assert_equal('xyz', getline('.')) + call assert_equal('xyz bar', getline('.')) close! endfunc diff --git a/src/version.c b/src/version.c index e4fb2caa06bcc..78ccd20e5a1aa 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 677, /**/ 676, /**/ From 0a6e57b09bc8c76691b367a5babfb79b31b770e8 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Thu, 15 Aug 2024 22:15:28 +0200 Subject: [PATCH 19/20] patch 9.1.0678: [security]: use-after-free in alist_add() Problem: [security]: use-after-free in alist_add() (SuyueGuo) Solution: Lock the current window, so that the reference to the argument list remains valid. This fixes CVE-2024-43374 Signed-off-by: Christian Brabandt --- src/arglist.c | 6 ++++++ src/buffer.c | 4 ++-- src/ex_cmds.c | 4 ++-- src/proto/window.pro | 1 + src/structs.h | 2 +- src/terminal.c | 4 ++-- src/testdir/test_arglist.vim | 23 +++++++++++++++++++++++ src/version.c | 2 ++ src/window.c | 29 +++++++++++++++++++---------- 9 files changed, 58 insertions(+), 17 deletions(-) diff --git a/src/arglist.c b/src/arglist.c index 187e16e8354b1..8825c8e252ccc 100644 --- a/src/arglist.c +++ b/src/arglist.c @@ -184,6 +184,8 @@ alist_set( /* * Add file "fname" to argument list "al". * "fname" must have been allocated and "al" must have been checked for room. + * + * May trigger Buf* autocommands */ void alist_add( @@ -196,6 +198,7 @@ alist_add( if (check_arglist_locked() == FAIL) return; arglist_locked = TRUE; + curwin->w_locked = TRUE; #ifdef BACKSLASH_IN_FILENAME slash_adjust(fname); @@ -207,6 +210,7 @@ alist_add( ++al->al_ga.ga_len; arglist_locked = FALSE; + curwin->w_locked = FALSE; } #if defined(BACKSLASH_IN_FILENAME) || defined(PROTO) @@ -365,6 +369,7 @@ alist_add_list( mch_memmove(&(ARGLIST[after + count]), &(ARGLIST[after]), (ARGCOUNT - after) * sizeof(aentry_T)); arglist_locked = TRUE; + curwin->w_locked = TRUE; for (i = 0; i < count; ++i) { int flags = BLN_LISTED | (will_edit ? BLN_CURBUF : 0); @@ -373,6 +378,7 @@ alist_add_list( ARGLIST[after + i].ae_fnum = buflist_add(files[i], flags); } arglist_locked = FALSE; + curwin->w_locked = FALSE; ALIST(curwin)->al_ga.ga_len += count; if (old_argcount > 0 && curwin->w_arg_idx >= after) curwin->w_arg_idx += count; diff --git a/src/buffer.c b/src/buffer.c index 447ce76d49a32..34500e4abc282 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1484,7 +1484,7 @@ do_buffer_ext( // (unless it's the only window). Repeat this so long as we end up in // a window with this buffer. while (buf == curbuf - && !(curwin->w_closing || curwin->w_buffer->b_locked > 0) + && !(win_locked(curwin) || curwin->w_buffer->b_locked > 0) && (!ONE_WINDOW || first_tabpage->tp_next != NULL)) { if (win_close(curwin, FALSE) == FAIL) @@ -5470,7 +5470,7 @@ ex_buffer_all(exarg_T *eap) : wp->w_width != Columns) || (had_tab > 0 && wp != firstwin)) && !ONE_WINDOW - && !(wp->w_closing || wp->w_buffer->b_locked > 0) + && !(win_locked(wp) || wp->w_buffer->b_locked > 0) && !win_unlisted(wp)) { if (win_close(wp, FALSE) == FAIL) diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 05778c8fd8b9c..349269a2bb8b6 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -2840,7 +2840,7 @@ do_ecmd( // Set the w_closing flag to avoid that autocommands close the // window. And set b_locked for the same reason. - the_curwin->w_closing = TRUE; + the_curwin->w_locked = TRUE; ++buf->b_locked; if (curbuf == old_curbuf.br_buf) @@ -2854,7 +2854,7 @@ do_ecmd( // Autocommands may have closed the window. if (win_valid(the_curwin)) - the_curwin->w_closing = FALSE; + the_curwin->w_locked = FALSE; --buf->b_locked; #ifdef FEAT_EVAL diff --git a/src/proto/window.pro b/src/proto/window.pro index 26c7040b8a1b4..441070ebfcb8e 100644 --- a/src/proto/window.pro +++ b/src/proto/window.pro @@ -100,4 +100,5 @@ int get_win_number(win_T *wp, win_T *first_win); int get_tab_number(tabpage_T *tp); char *check_colorcolumn(win_T *wp); int get_last_winid(void); +int win_locked(win_T *wp); /* vim: set ft=c : */ diff --git a/src/structs.h b/src/structs.h index fe4704a367949..abda3a0c38b4e 100644 --- a/src/structs.h +++ b/src/structs.h @@ -3785,7 +3785,7 @@ struct window_S synblock_T *w_s; // for :ownsyntax #endif - int w_closing; // window is being closed, don't let + int w_locked; // window is being closed, don't let // autocommands close it too. frame_T *w_frame; // frame containing this window diff --git a/src/terminal.c b/src/terminal.c index 1fc0ef96881f9..f80196096df49 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -3680,10 +3680,10 @@ term_after_channel_closed(term_T *term) if (is_aucmd_win(curwin)) do_set_w_closing = TRUE; if (do_set_w_closing) - curwin->w_closing = TRUE; + curwin->w_locked = TRUE; do_bufdel(DOBUF_WIPE, (char_u *)"", 1, fnum, fnum, FALSE); if (do_set_w_closing) - curwin->w_closing = FALSE; + curwin->w_locked = FALSE; aucmd_restbuf(&aco); } #ifdef FEAT_PROP_POPUP diff --git a/src/testdir/test_arglist.vim b/src/testdir/test_arglist.vim index edc8b77429e20..8d81a828b3e03 100644 --- a/src/testdir/test_arglist.vim +++ b/src/testdir/test_arglist.vim @@ -359,6 +359,7 @@ func Test_argv() call assert_equal('', argv(1, 100)) call assert_equal([], argv(-1, 100)) call assert_equal('', argv(10, -1)) + %argdelete endfunc " Test for the :argedit command @@ -744,4 +745,26 @@ func Test_all_command() %bw! endfunc +" Test for deleting buffer when creating an arglist. This was accessing freed +" memory +func Test_crash_arglist_uaf() + "%argdelete + new one + au BufAdd XUAFlocal :bw + "call assert_fails(':arglocal XUAFlocal', 'E163:') + arglocal XUAFlocal + au! BufAdd + bw! XUAFlocal + + au BufAdd XUAFlocal2 :bw + new two + new three + arglocal + argadd XUAFlocal2 Xfoobar + bw! XUAFlocal2 + bw! two + + au! BufAdd +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 78ccd20e5a1aa..08b3fafd7b452 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 678, /**/ 677, /**/ diff --git a/src/window.c b/src/window.c index 43a15e0561f2c..b2c90c7d64114 100644 --- a/src/window.c +++ b/src/window.c @@ -2511,7 +2511,7 @@ close_windows( for (wp = firstwin; wp != NULL && !ONE_WINDOW; ) { if (wp->w_buffer == buf && (!keep_curwin || wp != curwin) - && !(wp->w_closing || wp->w_buffer->b_locked > 0)) + && !(win_locked(wp) || wp->w_buffer->b_locked > 0)) { if (win_close(wp, FALSE) == FAIL) // If closing the window fails give up, to avoid looping @@ -2532,7 +2532,7 @@ close_windows( if (tp != curtab) FOR_ALL_WINDOWS_IN_TAB(tp, wp) if (wp->w_buffer == buf - && !(wp->w_closing || wp->w_buffer->b_locked > 0)) + && !(win_locked(wp) || wp->w_buffer->b_locked > 0)) { win_close_othertab(wp, FALSE, tp); @@ -2654,10 +2654,10 @@ win_close_buffer(win_T *win, int action, int abort_if_last) bufref_T bufref; set_bufref(&bufref, curbuf); - win->w_closing = TRUE; + win->w_locked = TRUE; close_buffer(win, win->w_buffer, action, abort_if_last, TRUE); if (win_valid_any_tab(win)) - win->w_closing = FALSE; + win->w_locked = FALSE; // Make sure curbuf is valid. It can become invalid if 'bufhidden' is // "wipe". if (!bufref_valid(&bufref)) @@ -2705,7 +2705,7 @@ win_close(win_T *win, int free_buf) if (window_layout_locked(CMD_close)) return FAIL; - if (win->w_closing || (win->w_buffer != NULL + if (win_locked(win) || (win->w_buffer != NULL && win->w_buffer->b_locked > 0)) return FAIL; // window is already being closed if (win_unlisted(win)) @@ -2754,19 +2754,19 @@ win_close(win_T *win, int free_buf) other_buffer = TRUE; if (!win_valid(win)) return FAIL; - win->w_closing = TRUE; + win->w_locked = TRUE; apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf); if (!win_valid(win)) return FAIL; - win->w_closing = FALSE; + win->w_locked = FALSE; if (last_window()) return FAIL; } - win->w_closing = TRUE; + win->w_locked = TRUE; apply_autocmds(EVENT_WINLEAVE, NULL, NULL, FALSE, curbuf); if (!win_valid(win)) return FAIL; - win->w_closing = FALSE; + win->w_locked = FALSE; if (last_window()) return FAIL; #ifdef FEAT_EVAL @@ -3346,7 +3346,7 @@ win_close_othertab(win_T *win, int free_buf, tabpage_T *tp) // Get here with win->w_buffer == NULL when win_close() detects the tab // page changed. - if (win->w_closing || (win->w_buffer != NULL + if (win_locked(win) || (win->w_buffer != NULL && win->w_buffer->b_locked > 0)) return; // window is already being closed @@ -8000,3 +8000,12 @@ get_last_winid(void) { return last_win_id; } + +/* + * Don't let autocommands close the given window + */ + int +win_locked(win_T *wp) +{ + return wp->w_locked; +} From c6ed816761f44da92d8c61f5ea6cb7fdbb45fac5 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Thu, 15 Aug 2024 22:29:47 +0200 Subject: [PATCH 20/20] runtime(yaml): do not re-indent when commenting out lines It's a personal annoyance for me. I have to edit yaml files on a lot of customer environments and whenever you type '#' at the start of the line, the commented line will be indented by whatever indent the previous line had. I hate this seriously, because it makes un-commenting painful. So let's fix this. But instead of messing with the indent function, let's just remove the '0#' from cinkeys, so that Vim won't perform re-indenting when commenting out such a yaml file. closes: #15494 Signed-off-by: Christian Brabandt --- runtime/indent/yaml.vim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runtime/indent/yaml.vim b/runtime/indent/yaml.vim index e5daf9f219381..c38712745d482 100644 --- a/runtime/indent/yaml.vim +++ b/runtime/indent/yaml.vim @@ -3,7 +3,8 @@ " Maintainer: Nikolai Pavlov " Last Updates: Lukas Reineke, "lacygoill" " Last Change: 2022 Jun 17 -" 2024 Feb 29 disable mulitline indent by default (The Vim project) +" 2024 Feb 29 by Vim project: disable mulitline indent by default +" 2024 Aug 14 by Vim project: fix re-indenting when commenting out lines " Only load this indent file when no other was loaded. if exists('b:did_indent') @@ -13,7 +14,7 @@ endif let b:did_indent = 1 setlocal indentexpr=GetYAMLIndent(v:lnum) -setlocal indentkeys=!^F,o,O,0#,0},0],<:>,0- +setlocal indentkeys=!^F,o,O,0},0],<:>,0- setlocal nosmartindent let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent<'