diff --git a/.gitignore b/.gitignore index d8588a34..c91b7ae8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ -SOURCES/Changelog.rpm -SOURCES/gvim64.png -SOURCES/vim-8.0-1763.tar.bz2 +gvim16.png +gvim32.png +gvim48.png +gvim64.png +vim-9.1-083.tar.bz2 diff --git a/.vim.metadata b/.vim.metadata deleted file mode 100644 index 4ebd5da7..00000000 --- a/.vim.metadata +++ /dev/null @@ -1,3 +0,0 @@ -5ea81545fc28b57c490d25bda67a63a2838dd25b SOURCES/Changelog.rpm -c32bd520a1498b71ee9bbcddc7ad05df1565d085 SOURCES/gvim64.png -6716ebb416c9da91d16a2b17dc6bc2cecf65b4eb SOURCES/vim-8.0-1763.tar.bz2 diff --git a/0001-patch-9.1.0903-potential-overflow-in-spell_soundfold.patch b/0001-patch-9.1.0903-potential-overflow-in-spell_soundfold.patch new file mode 100644 index 00000000..0882089f --- /dev/null +++ b/0001-patch-9.1.0903-potential-overflow-in-spell_soundfold.patch @@ -0,0 +1,61 @@ +From 39a94d20487794aeb722c21e84f8816e217f0cfe Mon Sep 17 00:00:00 2001 +From: Zdenek Dohnal +Date: Wed, 4 Dec 2024 20:16:17 +0100 +Subject: [PATCH] patch 9.1.0903: potential overflow in spell_soundfold_wsal() + +Problem: potential overflow in spell_soundfold_wsal() +Solution: Protect wres from buffer overflow, by checking the + length (Zdenek Dohnal) + +Error: OVERRUN (CWE-119): +vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that +"reslen" is 254 on the false branch. +vim91/src/spell.c:3833: incr: Incrementing "reslen". The value of "reslen" +is now 255. +vim91/src/spell.c:3792: overrun-local: Overrunning array "wres" of 254 +4-byte elements at element index 254 (byte offset 1019) using index +"reslen - 1" (which evaluates to 254). + 3789| { + 3790| // rule with '<' is used + 3791|-> if (reslen > 0 && ws != NULL && *ws != NUL + 3792| && (wres[reslen - 1] == c + 3793| || wres[reslen - 1] == *ws)) + +Error: OVERRUN (CWE-119): +vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that +"reslen" is 254 on the false branch. +vim91/src/spell.c:3833: overrun-local: Overrunning array "wres" of 254 +4-byte elements at element index 254 (byte offset 1019) using index +"reslen++" (which evaluates to 254). + 3831| { + 3832| if (c != NUL) + 3833|-> wres[reslen++] = c; + 3834| mch_memmove(word, word + i + 1, + 3835| sizeof(int) * (wordlen - +(i + 1) + 1)); + +related: #16163 + +Signed-off-by: Zdenek Dohnal +Signed-off-by: Christian Brabandt +--- + src/spell.c | 2 +- + src/version.c | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/spell.c b/src/spell.c +index 5a7720f7f..2581a5ede 100644 +--- a/src/spell.c ++++ b/src/spell.c +@@ -3829,7 +3829,7 @@ spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res) + c = *ws; + if (strstr((char *)s, "^^") != NULL) + { +- if (c != NUL) ++ if (c != NUL && reslen < MAXWLEN) + wres[reslen++] = c; + mch_memmove(word, word + i + 1, + sizeof(int) * (wordlen - (i + 1) + 1)); +-- +2.47.1 + diff --git a/0001-patch-9.1.0904-Vim9-copy-paste-error-in-class_defini.patch b/0001-patch-9.1.0904-Vim9-copy-paste-error-in-class_defini.patch new file mode 100644 index 00000000..19a2be8a --- /dev/null +++ b/0001-patch-9.1.0904-Vim9-copy-paste-error-in-class_defini.patch @@ -0,0 +1,48 @@ +From 215c82d061d750d8a26ef52f529a9e3ca4e0f82a Mon Sep 17 00:00:00 2001 +From: Zdenek Dohnal +Date: Wed, 4 Dec 2024 20:19:40 +0100 +Subject: [PATCH] patch 9.1.0904: Vim9: copy-paste error in + class_defining_member() + +Problem: Vim9: copy-paste error in class_defining_member() +Solution: use variable type VAR_CLASS instead (Zdenek Dohnal) + +Found issue by OpenScanHub: +Error: COPY_PASTE_ERROR (CWE-398): +vim91/src/vim9class.c:3308: original: "VAR_OBJECT" looks like the +original copy. +vim91/src/vim9class.c:3316: copy_paste_error: "VAR_OBJECT" looks like a +copy-paste error. +vim91/src/vim9class.c:3316: remediation: Should it say "VAR_CLASS" +instead? +3314| { +3315| cl_tmp = super; +3316|-> vartype = VAR_OBJECT; +3317| } +3318| } + +closes: #16163 + +Signed-off-by: Zdenek Dohnal +Signed-off-by: Christian Brabandt +--- + src/version.c | 2 ++ + src/vim9class.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/vim9class.c b/src/vim9class.c +index d0ddcb820..e85cf827f 100644 +--- a/src/vim9class.c ++++ b/src/vim9class.c +@@ -3313,7 +3313,7 @@ class_defining_member(class_T *cl, char_u *name, size_t len, ocmember_T **p_m) + if (( m = class_member_lookup(super, name, len, NULL)) != NULL) + { + cl_tmp = super; +- vartype = VAR_OBJECT; ++ vartype = VAR_CLASS; + } + } + if (cl_tmp == NULL) +-- +2.47.1 + diff --git a/SOURCES/0001-patch-8.1.0881-can-execute-shell-commands-in-rvim-th.patch b/SOURCES/0001-patch-8.1.0881-can-execute-shell-commands-in-rvim-th.patch deleted file mode 100644 index e74d8372..00000000 --- a/SOURCES/0001-patch-8.1.0881-can-execute-shell-commands-in-rvim-th.patch +++ /dev/null @@ -1,461 +0,0 @@ -diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt -index 8256152..8320039 100644 ---- a/runtime/doc/starting.txt -+++ b/runtime/doc/starting.txt -@@ -247,12 +247,18 @@ a slash. Thus "-R" means recovery and "-/R" readonly. - changes and writing. - {not in Vi} - -- *-Z* *restricted-mode* *E145* -+ *-Z* *restricted-mode* *E145* *E981* - -Z Restricted mode. All commands that make use of an external - shell are disabled. This includes suspending with CTRL-Z, -- ":sh", filtering, the system() function, backtick expansion, -- delete(), rename(), mkdir(), writefile(), libcall(), -- job_start(), etc. -+ ":sh", filtering, the system() function, backtick expansion -+ and libcall(). -+ Also disallowed are delete(), rename(), mkdir(), job_start(), -+ etc. -+ Interfaces, such as Python, Ruby and Lua, are also disabled, -+ since they could be used to execute shell commands. Perl uses -+ the Safe module. -+ Note that the user may still find a loophole to execute a -+ shell command, it has only been made difficult. - {not in Vi} - - *-g* -diff --git a/src/evalfunc.c b/src/evalfunc.c -index dd4462d..3cc305a 100644 ---- a/src/evalfunc.c -+++ b/src/evalfunc.c -@@ -6446,7 +6446,7 @@ f_histadd(typval_T *argvars UNUSED, typval_T *rettv) - #endif - - rettv->vval.v_number = FALSE; -- if (check_restricted() || check_secure()) -+ if (check_secure()) - return; - #ifdef FEAT_CMDHIST - str = get_tv_string_chk(&argvars[0]); /* NULL on type error */ -@@ -7456,6 +7456,9 @@ f_luaeval(typval_T *argvars, typval_T *rettv) - char_u *str; - char_u buf[NUMBUFLEN]; - -+ if (check_restricted() || check_secure()) -+ return; -+ - str = get_tv_string_buf(&argvars[0], buf); - do_luaeval(str, argvars + 1, rettv); - } -@@ -8188,6 +8191,8 @@ f_mzeval(typval_T *argvars, typval_T *rettv) - char_u *str; - char_u buf[NUMBUFLEN]; - -+ if (check_restricted() || check_secure()) -+ return; - str = get_tv_string_buf(&argvars[0], buf); - do_mzeval(str, rettv); - } -@@ -8398,6 +8403,9 @@ f_py3eval(typval_T *argvars, typval_T *rettv) - char_u *str; - char_u buf[NUMBUFLEN]; - -+ if (check_restricted() || check_secure()) -+ return; -+ - if (p_pyx == 0) - p_pyx = 3; - -@@ -8416,6 +8424,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv) - char_u *str; - char_u buf[NUMBUFLEN]; - -+ if (check_restricted() || check_secure()) -+ return; -+ - if (p_pyx == 0) - p_pyx = 2; - -@@ -8431,6 +8442,9 @@ f_pyeval(typval_T *argvars, typval_T *rettv) - static void - f_pyxeval(typval_T *argvars, typval_T *rettv) - { -+ if (check_restricted() || check_secure()) -+ return; -+ - # if defined(FEAT_PYTHON) && defined(FEAT_PYTHON3) - init_pyxversion(); - if (p_pyx == 2) -@@ -10272,7 +10286,7 @@ f_setbufvar(typval_T *argvars, typval_T *rettv UNUSED) - typval_T *varp; - char_u nbuf[NUMBUFLEN]; - -- if (check_restricted() || check_secure()) -+ if (check_secure()) - return; - (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - varname = get_tv_string_chk(&argvars[1]); -@@ -10792,7 +10806,7 @@ f_settabvar(typval_T *argvars, typval_T *rettv) - - rettv->vval.v_number = 0; - -- if (check_restricted() || check_secure()) -+ if (check_secure()) - return; - - tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL)); -@@ -13674,7 +13688,7 @@ f_writefile(typval_T *argvars, typval_T *rettv) - list_T *list; - - rettv->vval.v_number = -1; -- if (check_restricted() || check_secure()) -+ if (check_secure()) - return; - - if (argvars[0].v_type != VAR_LIST) -diff --git a/src/ex_cmds.c b/src/ex_cmds.c -index 111fe01..1827fec 100644 ---- a/src/ex_cmds.c -+++ b/src/ex_cmds.c -@@ -4693,7 +4693,7 @@ check_restricted(void) - { - if (restricted) - { -- EMSG(_("E145: Shell commands not allowed in rvim")); -+ EMSG(_("E145: Shell commands and some functionality not allowed in rvim")); - return TRUE; - } - return FALSE; -diff --git a/src/ex_cmds.h b/src/ex_cmds.h -index 48b0253..82d6e29 100644 ---- a/src/ex_cmds.h -+++ b/src/ex_cmds.h -@@ -56,6 +56,7 @@ - * curbuf_lock is set */ - #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */ - #define EXFLAGS 0x400000L /* allow flags after count in argument */ -+#define RESTRICT 0x800000L /* forbidden in restricted mode */ - #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ - #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ - #define FILE1 (FILES | NOSPC) /* 1 file allowed, defaults to current file */ -@@ -860,13 +861,13 @@ EX(CMD_lunmap, "lunmap", ex_unmap, - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN, - ADDR_LINES), - EX(CMD_lua, "lua", ex_lua, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_luado, "luado", ex_luado, -- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, -+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_luafile, "luafile", ex_luafile, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_lvimgrep, "lvimgrep", ex_vimgrep, - RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE, -@@ -929,10 +930,10 @@ EX(CMD_mode, "mode", ex_mode, - WORD1|TRLBAR|CMDWIN, - ADDR_LINES), - EX(CMD_mzscheme, "mzscheme", ex_mzscheme, -- RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK, -+ RANGE|EXTRA|DFLALL|NEEDARG|CMDWIN|SBOXOK|RESTRICT, - ADDR_LINES), - EX(CMD_mzfile, "mzfile", ex_mzfile, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_next, "next", ex_next, - RANGE|NOTADR|BANG|FILES|EDITCMD|ARGOPT|TRLBAR, -@@ -1115,37 +1116,37 @@ EX(CMD_pwd, "pwd", ex_pwd, - TRLBAR|CMDWIN, - ADDR_LINES), - EX(CMD_python, "python", ex_python, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_pydo, "pydo", ex_pydo, -- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, -+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_pyfile, "pyfile", ex_pyfile, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_py3, "py3", ex_py3, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_py3do, "py3do", ex_py3do, -- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, -+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_python3, "python3", ex_py3, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_py3file, "py3file", ex_py3file, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_pyx, "pyx", ex_pyx, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_pyxdo, "pyxdo", ex_pyxdo, -- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, -+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_pythonx, "pythonx", ex_pyx, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_pyxfile, "pyxfile", ex_pyxfile, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_quit, "quit", ex_quit, - BANG|RANGE|COUNT|NOTADR|TRLBAR|CMDWIN, -@@ -1199,13 +1200,13 @@ EX(CMD_runtime, "runtime", ex_runtime, - BANG|NEEDARG|FILES|TRLBAR|SBOXOK|CMDWIN, - ADDR_LINES), - EX(CMD_ruby, "ruby", ex_ruby, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_rubydo, "rubydo", ex_rubydo, -- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, -+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_rubyfile, "rubyfile", ex_rubyfile, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_rundo, "rundo", ex_rundo, - NEEDARG|FILE1, -@@ -1472,13 +1473,13 @@ EX(CMD_tabs, "tabs", ex_tabs, - TRLBAR|CMDWIN, - ADDR_TABS), - EX(CMD_tcl, "tcl", ex_tcl, -- RANGE|EXTRA|NEEDARG|CMDWIN, -+ RANGE|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_tcldo, "tcldo", ex_tcldo, -- RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN, -+ RANGE|DFLALL|EXTRA|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_tclfile, "tclfile", ex_tclfile, -- RANGE|FILE1|NEEDARG|CMDWIN, -+ RANGE|FILE1|NEEDARG|CMDWIN|RESTRICT, - ADDR_LINES), - EX(CMD_tearoff, "tearoff", ex_tearoff, - NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN, -diff --git a/src/ex_docmd.c b/src/ex_docmd.c -index ef86fc8..aaf2f9d 100644 ---- a/src/ex_docmd.c -+++ b/src/ex_docmd.c -@@ -2372,11 +2372,16 @@ do_one_cmd( - #ifdef HAVE_SANDBOX - if (sandbox != 0 && !(ea.argt & SBOXOK)) - { -- /* Command not allowed in sandbox. */ -+ // Command not allowed in sandbox. - errormsg = (char_u *)_(e_sandbox); - goto doend; - } - #endif -+ if (restricted != 0 && (ea.argt & RESTRICT)) -+ { -+ errormsg = (char_u *)_("E981: Command not allowed in rvim"); -+ goto doend; -+ } - if (!curbuf->b_p_ma && (ea.argt & MODIFY)) - { - /* Command not allowed in non-'modifiable' buffer */ -diff --git a/src/if_perl.xs b/src/if_perl.xs -index 7b45033..fc8d613 100644 ---- a/src/if_perl.xs -+++ b/src/if_perl.xs -@@ -930,6 +930,7 @@ VIM_init(void) - #ifdef DYNAMIC_PERL - static char *e_noperl = N_("Sorry, this command is disabled: the Perl library could not be loaded."); - #endif -+static char *e_perlsandbox = N_("E299: Perl evaluation forbidden in sandbox without the Safe module"); - - /* - * ":perl" -@@ -978,13 +979,12 @@ ex_perl(exarg_T *eap) - vim_free(script); - } - --#ifdef HAVE_SANDBOX -- if (sandbox) -+ if (sandbox || secure) - { - safe = perl_get_sv("VIM::safe", FALSE); - # ifndef MAKE_TEST /* avoid a warning for unreachable code */ - if (safe == NULL || !SvTRUE(safe)) -- EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); -+ EMSG(_(e_perlsandbox)); - else - # endif - { -@@ -996,7 +996,6 @@ ex_perl(exarg_T *eap) - } - } - else --#endif - perl_eval_sv(sv, G_DISCARD | G_NOARGS); - - SvREFCNT_dec(sv); -@@ -1259,13 +1258,12 @@ do_perleval(char_u *str, typval_T *rettv) - ENTER; - SAVETMPS; - --#ifdef HAVE_SANDBOX -- if (sandbox) -+ if (sandbox || secure) - { - safe = get_sv("VIM::safe", FALSE); - # ifndef MAKE_TEST /* avoid a warning for unreachable code */ - if (safe == NULL || !SvTRUE(safe)) -- EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); -+ EMSG(_(e_perlsandbox)); - else - # endif - { -@@ -1281,7 +1279,6 @@ do_perleval(char_u *str, typval_T *rettv) - } - } - else --#endif /* HAVE_SANDBOX */ - sv = eval_pv((char *)str, 0); - - if (sv) { -diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak -index e36089a..5f1c38c 100644 ---- a/src/testdir/Make_all.mak -+++ b/src/testdir/Make_all.mak -@@ -156,6 +156,7 @@ NEW_TESTS = test_arabic.res \ - test_quotestar.res \ - test_regex_char_classes.res \ - test_registers.res \ -+ test_restricted.res \ - test_retab.res \ - test_ruby.res \ - test_scrollbind.res \ -diff --git a/src/testdir/test_restricted.vim b/src/testdir/test_restricted.vim -new file mode 100644 -index 0000000..9dd937c ---- /dev/null -+++ b/src/testdir/test_restricted.vim -@@ -0,0 +1,107 @@ -+" Test for "rvim" or "vim -Z" -+ -+source shared.vim -+ -+func Test_restricted() -+ let cmd = GetVimCommand('Xrestricted') -+ if cmd == '' -+ return -+ endif -+ -+ call writefile([ -+ \ "silent !ls", -+ \ "call writefile([v:errmsg], 'Xrestrout')", -+ \ "qa!", -+ \ ], 'Xrestricted') -+ call system(cmd . ' -Z') -+ call assert_match('E145:', join(readfile('Xrestrout'))) -+ -+ call delete('Xrestricted') -+ call delete('Xrestrout') -+endfunc -+ -+func Run_restricted_test(ex_cmd, error) -+ let cmd = GetVimCommand('Xrestricted') -+ if cmd == '' -+ return -+ endif -+ -+ call writefile([ -+ \ a:ex_cmd, -+ \ "call writefile([v:errmsg], 'Xrestrout')", -+ \ "qa!", -+ \ ], 'Xrestricted') -+ call system(cmd . ' -Z') -+ call assert_match(a:error, join(readfile('Xrestrout'))) -+ -+ call delete('Xrestricted') -+ call delete('Xrestrout') -+endfunc -+ -+func Test_restricted_lua() -+ if !has('lua') -+ throw 'Skipped: Lua is not supported' -+ endif -+ call Run_restricted_test('lua print("Hello, Vim!")', 'E981:') -+ call Run_restricted_test('luado return "hello"', 'E981:') -+ call Run_restricted_test('luafile somefile', 'E981:') -+ call Run_restricted_test('call luaeval("expression")', 'E145:') -+endfunc -+ -+func Test_restricted_mzscheme() -+ if !has('mzscheme') -+ throw 'Skipped: MzScheme is not supported' -+ endif -+ call Run_restricted_test('mzscheme statement', 'E981:') -+ call Run_restricted_test('mzfile somefile', 'E981:') -+ call Run_restricted_test('call mzeval("expression")', 'E145:') -+endfunc -+ -+func Test_restricted_perl() -+ if !has('perl') -+ throw 'Skipped: Perl is not supported' -+ endif -+ " TODO: how to make Safe mode fail? -+ " call Run_restricted_test('perl system("ls")', 'E981:') -+ " call Run_restricted_test('perldo system("hello")', 'E981:') -+ " call Run_restricted_test('perlfile somefile', 'E981:') -+ " call Run_restricted_test('call perleval("system(\"ls\")")', 'E145:') -+endfunc -+ -+func Test_restricted_python() -+ if !has('python') -+ throw 'Skipped: Python is not supported' -+ endif -+ call Run_restricted_test('python print "hello"', 'E981:') -+ call Run_restricted_test('pydo return "hello"', 'E981:') -+ call Run_restricted_test('pyfile somefile', 'E981:') -+ call Run_restricted_test('call pyeval("expression")', 'E145:') -+endfunc -+ -+func Test_restricted_python3() -+ if !has('python3') -+ throw 'Skipped: Python3 is not supported' -+ endif -+ call Run_restricted_test('py3 print "hello"', 'E981:') -+ call Run_restricted_test('py3do return "hello"', 'E981:') -+ call Run_restricted_test('py3file somefile', 'E981:') -+ call Run_restricted_test('call py3eval("expression")', 'E145:') -+endfunc -+ -+func Test_restricted_ruby() -+ if !has('ruby') -+ throw 'Skipped: Ruby is not supported' -+ endif -+ call Run_restricted_test('ruby print "Hello"', 'E981:') -+ call Run_restricted_test('rubydo print "Hello"', 'E981:') -+ call Run_restricted_test('rubyfile somefile', 'E981:') -+endfunc -+ -+func Test_restricted_tcl() -+ if !has('tcl') -+ throw 'Skipped: Tcl is not supported' -+ endif -+ call Run_restricted_test('tcl puts "Hello"', 'E981:') -+ call Run_restricted_test('tcldo puts "Hello"', 'E981:') -+ call Run_restricted_test('tclfile somefile', 'E981:') -+endfunc diff --git a/SOURCES/0001-patch-8.1.1365-source-command-doesn-t-check-for-the-.patch b/SOURCES/0001-patch-8.1.1365-source-command-doesn-t-check-for-the-.patch deleted file mode 100644 index 97e8e2ea..00000000 --- a/SOURCES/0001-patch-8.1.1365-source-command-doesn-t-check-for-the-.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up vim80/src/getchar.c.cve vim80/src/getchar.c ---- vim80/src/getchar.c.cve 2019-06-14 13:46:17.269523985 +0200 -+++ vim80/src/getchar.c 2019-06-14 13:46:58.427169288 +0200 -@@ -1418,6 +1418,12 @@ openscript( - EMSG(_(e_nesting)); - return; - } -+ -+ // Disallow sourcing a file in the sandbox, the commands would be executed -+ // later, possibly outside of the sandbox. -+ if (check_secure()) -+ return; -+ - #ifdef FEAT_EVAL - if (ignore_script) - /* Not reading from script, also don't open one. Warning message? */ diff --git a/SOURCES/0001-patch-8.2.3487-illegal-memory-access-if-buffer-name-.patch b/SOURCES/0001-patch-8.2.3487-illegal-memory-access-if-buffer-name-.patch deleted file mode 100644 index 76018f9e..00000000 --- a/SOURCES/0001-patch-8.2.3487-illegal-memory-access-if-buffer-name-.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -up vim80/src/screen.c.cve3872 vim80/src/screen.c ---- vim80/src/screen.c.cve3872 2021-10-21 13:20:27.694921335 +0200 -+++ vim80/src/screen.c 2021-10-21 13:22:42.221732996 +0200 -@@ -6911,13 +6911,13 @@ win_redr_status(win_T *wp) - *(p + len++) = ' '; - if (bt_help(wp->w_buffer)) - { -- STRCPY(p + len, _("[Help]")); -+ vim_snprintf((char *)p + len, MAXPATHL - len, "%s", _("[Help]")); - len += (int)STRLEN(p + len); - } - #ifdef FEAT_QUICKFIX - if (wp->w_p_pvw) - { -- STRCPY(p + len, _("[Preview]")); -+ vim_snprintf((char *)p + len, MAXPATHL - len, "%s", _("[Preview]")); - len += (int)STRLEN(p + len); - } - #endif -@@ -6927,12 +6927,12 @@ win_redr_status(win_T *wp) - #endif - ) - { -- STRCPY(p + len, "[+]"); -- len += 3; -+ vim_snprintf((char *)p + len, MAXPATHL - len, "%s", "[+]"); -+ len += (int)STRLEN(p + len); - } - if (wp->w_buffer->b_p_ro) - { -- STRCPY(p + len, _("[RO]")); -+ vim_snprintf((char *)p + len, MAXPATHL - len, "%s", _("[RO]")); - len += (int)STRLEN(p + len); - } - diff --git a/SOURCES/0001-patch-8.2.3625-illegal-memory-access-when-C-indentin.patch b/SOURCES/0001-patch-8.2.3625-illegal-memory-access-when-C-indentin.patch deleted file mode 100644 index 668ffe54..00000000 --- a/SOURCES/0001-patch-8.2.3625-illegal-memory-access-when-C-indentin.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/src/misc1.c b/src/misc1.c -index de79c8e..1c5867d 100644 ---- a/src/misc1.c -+++ b/src/misc1.c -@@ -6792,7 +6792,7 @@ find_start_brace(void) /* XXX */ - && (pos = ind_find_start_CORS(NULL)) == NULL) /* XXX */ - break; - if (pos != NULL) -- curwin->w_cursor.lnum = pos->lnum; -+ curwin->w_cursor = *pos; - } - curwin->w_cursor = cursor_save; - return trypos; -diff --git a/src/testdir/test_cindent.vim b/src/testdir/test_cindent.vim -index 7c2c5e3..f8c7e57 100644 ---- a/src/testdir/test_cindent.vim -+++ b/src/testdir/test_cindent.vim -@@ -102,4 +102,16 @@ func Test_cindent_expr() - bw! - endfunc - -+func Test_find_brace_backwards() -+ " this was looking beyond the end of the line -+ new -+ norm R/* -+ norm o0{ -+ norm o// -+ norm V{= -+ call assert_equal(['/*', ' 0{', '//'], getline(1, 3)) -+ bwipe! -+endfunc -+ -+ - " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.3669-buffer-overflow-with-long-help-argume.patch b/SOURCES/0001-patch-8.2.3669-buffer-overflow-with-long-help-argume.patch deleted file mode 100644 index 0cfaec6a..00000000 --- a/SOURCES/0001-patch-8.2.3669-buffer-overflow-with-long-help-argume.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/ex_cmds.c b/src/ex_cmds.c -index 1827fec..e69fbd3 100644 ---- a/src/ex_cmds.c -+++ b/src/ex_cmds.c -@@ -6537,8 +6537,7 @@ find_help_tags( - || (vim_strchr((char_u *)"%_z@", arg[1]) != NULL - && arg[2] != NUL))) - { -- STRCPY(d, "/\\\\"); -- STRCPY(d + 3, arg + 1); -+ vim_snprintf((char *)d, IOSIZE, "/\\\\%s", arg + 1); - /* Check for "/\\_$", should be "/\\_\$" */ - if (d[3] == '_' && d[4] == '$') - STRCPY(d + 4, "\\$"); diff --git a/SOURCES/0001-patch-8.2.3949-using-freed-memory-with-V.patch b/SOURCES/0001-patch-8.2.3949-using-freed-memory-with-V.patch deleted file mode 100644 index c3f7bb15..00000000 --- a/SOURCES/0001-patch-8.2.3949-using-freed-memory-with-V.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -up vim80/src/regexp.c.cve4192 vim80/src/regexp.c ---- vim80/src/regexp.c.cve4192 2022-01-12 15:21:44.792239040 +0100 -+++ vim80/src/regexp.c 2022-01-12 15:34:35.190425880 +0100 -@@ -4203,9 +4203,9 @@ reg_match_visual(void) - if (lnum < top.lnum || lnum > bot.lnum) - return FALSE; - -+ col = (colnr_T)(reginput - regline); - if (mode == 'v') - { -- col = (colnr_T)(reginput - regline); - if ((lnum == top.lnum && col < top.col) - || (lnum == bot.lnum && col >= bot.col + (*p_sel != 'e'))) - return FALSE; -@@ -4220,7 +4220,12 @@ reg_match_visual(void) - end = end2; - if (top.col == MAXCOL || bot.col == MAXCOL) - end = MAXCOL; -- cols = win_linetabsize(wp, regline, (colnr_T)(reginput - regline)); -+ -+ // getvvcol() flushes rex.line, need to get it again -+ regline = reg_getline(reglnum); -+ reginput = regline + col; -+ -+ cols = win_linetabsize(wp, regline, col); - if (cols < start || cols > end - (*p_sel == 'e')) - return FALSE; - } -diff -up vim80/src/testdir/test_regexp_latin.vim.cve4192 vim80/src/testdir/test_regexp_latin.vim ---- vim80/src/testdir/test_regexp_latin.vim.cve4192 2022-01-12 15:21:44.792239040 +0100 -+++ vim80/src/testdir/test_regexp_latin.vim 2022-01-12 15:36:12.499693099 +0100 -@@ -80,3 +80,13 @@ func Test_using_invalid_visual_position( - /\%V - bwipe! - endfunc -+ -+func Test_using_visual_position() -+ " this was using freed memory -+ new -+ exe "norm 0o\\k\o0" -+ /\%V -+ bwipe! -+endfunc -+ -+" vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.3950-going-beyond-the-end-of-the-line-with.patch b/SOURCES/0001-patch-8.2.3950-going-beyond-the-end-of-the-line-with.patch deleted file mode 100644 index 485f00d5..00000000 --- a/SOURCES/0001-patch-8.2.3950-going-beyond-the-end-of-the-line-with.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up vim80/src/charset.c.cve4193 vim80/src/charset.c ---- vim80/src/charset.c.cve4193 2022-01-12 14:49:08.710592947 +0100 -+++ vim80/src/charset.c 2022-01-12 14:49:47.594705863 +0100 -@@ -1291,10 +1291,15 @@ getvcol( - posptr = NULL; /* continue until the NUL */ - else - { -- /* Special check for an empty line, which can happen on exit, when -- * ml_get_buf() always returns an empty string. */ -- if (*ptr == NUL) -- pos->col = 0; -+ colnr_T i; -+ -+ // In a few cases the position can be beyond the end of the line. -+ for (i = 0; i < pos->col; ++i) -+ if (ptr[i] == NUL) -+ { -+ pos->col = i; -+ break; -+ } - posptr = ptr + pos->col; - #ifdef FEAT_MBYTE - if (has_mbyte) -diff -up vim80/src/testdir/test_regexp_latin.vim.cve4193 vim80/src/testdir/test_regexp_latin.vim ---- vim80/src/testdir/test_regexp_latin.vim.cve4193 2022-01-12 14:49:08.710592947 +0100 -+++ vim80/src/testdir/test_regexp_latin.vim 2022-01-12 14:50:45.186873107 +0100 -@@ -72,3 +72,11 @@ func Test_backref() - call assert_fails('call search("\\%#=2\\(e\\1\\)")', 'E65:') - bwipe! - endfunc -+ -+func Test_using_invalid_visual_position() -+ " this was going beyond the end of the line -+ new -+ exe "norm 0o000\0\$s0" -+ /\%V -+ bwipe! -+endfunc diff --git a/SOURCES/0001-patch-8.2.4120-block-insert-goes-over-the-end-of-the.patch b/SOURCES/0001-patch-8.2.4120-block-insert-goes-over-the-end-of-the.patch deleted file mode 100644 index 31d30c18..00000000 --- a/SOURCES/0001-patch-8.2.4120-block-insert-goes-over-the-end-of-the.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff -up vim80/src/ops.c.cve0261 vim80/src/ops.c ---- vim80/src/ops.c.cve0261 2022-01-26 14:30:27.475308323 +0100 -+++ vim80/src/ops.c 2022-01-26 14:34:16.650933713 +0100 -@@ -636,23 +636,30 @@ block_insert( - if (b_insert) - { - off = (*mb_head_off)(oldp, oldp + offset + spaces); -+ spaces -= off; -+ count -= off; - } - else - { -- off = (*mb_off_next)(oldp, oldp + offset); -- offset += off; -+ // spaces fill the gap, the character that's at the edge moves -+ // right -+ off = (*mb_head_off)(oldp, oldp + offset); -+ offset -= off; - } - spaces -= off; - count -= off; - } - #endif - -- newp = alloc_check((unsigned)(STRLEN(oldp)) + s_len + count + 1); -+ // Make sure the allocated size matches what is actually copied below. -+ newp = alloc(STRLEN(oldp) + spaces + s_len -+ + (spaces > 0 && !bdp->is_short ? p_ts - spaces : 0) -+ + count + 1); - if (newp == NULL) - continue; - - /* copy up to shifted part */ -- mch_memmove(newp, oldp, (size_t)(offset)); -+ mch_memmove(newp, oldp, (size_t)offset); - oldp += offset; - - /* insert pre-padding */ -@@ -662,14 +669,21 @@ block_insert( - mch_memmove(newp + offset + spaces, s, (size_t)s_len); - offset += s_len; - -- if (spaces && !bdp->is_short) -+ if (spaces > 0 && !bdp->is_short) - { -- /* insert post-padding */ -- vim_memset(newp + offset + spaces, ' ', (size_t)(p_ts - spaces)); -- /* We're splitting a TAB, don't copy it. */ -- oldp++; -- /* We allowed for that TAB, remember this now */ -- count++; -+ if (*oldp == TAB) -+ { -+ // insert post-padding -+ vim_memset(newp + offset + spaces, ' ', -+ (size_t)(p_ts - spaces)); -+ // we're splitting a TAB, don't copy it -+ oldp++; -+ // We allowed for that TAB, remember this now -+ count++; -+ } -+ else -+ // Not a TAB, no extra spaces -+ count = spaces; - } - - if (spaces > 0) -@@ -2738,9 +2752,9 @@ op_insert(oparg_T *oap, long count1) - oap->start_vcol = t; - } - else if (oap->op_type == OP_APPEND -- && oap->end.col -+ && oap->start.col - #ifdef FEAT_VIRTUALEDIT -- + oap->end.coladd -+ + oap->start.coladd - #endif - >= curbuf->b_op_start_orig.col - #ifdef FEAT_VIRTUALEDIT -diff -up vim80/src/testdir/test_visual.vim.cve0261 vim80/src/testdir/test_visual.vim ---- vim80/src/testdir/test_visual.vim.cve0261 2022-01-26 14:30:27.476308325 +0100 -+++ vim80/src/testdir/test_visual.vim 2022-01-26 14:36:03.482225225 +0100 -@@ -254,3 +254,12 @@ func Test_virtual_replace2() - %d_ - set bs&vim - endfunc -+ -+func Test_visual_block_append_invalid_char() -+ " this was going over the end of the line -+ new -+ call setline(1, [' let xxx', 'xxxxxˆ', 'xxxxxxxxxxx']) -+ exe "normal 0\jjA-\" -+ call assert_equal([' - let xxx', 'xxxxx -ˆ', 'xxxxxxxx-xxx'], getline(1, 3)) -+ bwipe! -+endfunc diff --git a/SOURCES/0001-patch-8.2.4151-reading-beyond-the-end-of-a-line.patch b/SOURCES/0001-patch-8.2.4151-reading-beyond-the-end-of-a-line.patch deleted file mode 100644 index 8e92918e..00000000 --- a/SOURCES/0001-patch-8.2.4151-reading-beyond-the-end-of-a-line.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/src/ops.c b/src/ops.c -index e9cfb1d..e35b033 100644 ---- a/src/ops.c -+++ b/src/ops.c -@@ -629,26 +629,9 @@ block_insert( - - #ifdef FEAT_MBYTE - if (has_mbyte && spaces > 0) -- { -- int off; -+ // avoid copying part of a multi-byte character -+ offset -= (*mb_head_off)(oldp, oldp + offset); - -- /* Avoid starting halfway a multi-byte character. */ -- if (b_insert) -- { -- off = (*mb_head_off)(oldp, oldp + offset + spaces); -- spaces -= off; -- count -= off; -- } -- else -- { -- // spaces fill the gap, the character that's at the edge moves -- // right -- off = (*mb_head_off)(oldp, oldp + offset); -- offset -= off; -- } -- spaces -= off; -- count -= off; -- } - #endif - - // Make sure the allocated size matches what is actually copied below. -diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim -index 24e3db8..1042720 100644 ---- a/src/testdir/test_utf8.vim -+++ b/src/testdir/test_utf8.vim -@@ -9,7 +9,7 @@ func Test_visual_block_insert() - new - call setline(1, ["aaa", "あああ", "bbb"]) - exe ":norm! gg0l\jjIx\" -- call assert_equal(['axaa', 'xあああ', 'bxbb'], getline(1, '$')) -+ call assert_equal(['axaa', ' xあああ', 'bxbb'], getline(1, '$')) - bwipeout! - endfunc - diff --git a/SOURCES/0001-patch-8.2.4214-illegal-memory-access-with-large-tabs.patch b/SOURCES/0001-patch-8.2.4214-illegal-memory-access-with-large-tabs.patch deleted file mode 100644 index 98e738cb..00000000 --- a/SOURCES/0001-patch-8.2.4214-illegal-memory-access-with-large-tabs.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up vim80/src/ex_getln.c.cve0359 vim80/src/ex_getln.c ---- vim80/src/ex_getln.c.cve0359 2022-01-27 16:55:41.386213891 +0100 -+++ vim80/src/ex_getln.c 2022-01-27 17:00:20.330960544 +0100 -@@ -300,7 +300,7 @@ getcmdline( - ccline.cmdindent = (firstc > 0 ? indent : 0); - - /* alloc initial ccline.cmdbuff */ -- alloc_cmdbuff(exmode_active ? 250 : indent + 1); -+ alloc_cmdbuff(indent + 50); - if (ccline.cmdbuff == NULL) - return NULL; /* out of memory */ - ccline.cmdlen = ccline.cmdpos = 0; diff --git a/SOURCES/0001-patch-8.2.4215-illegal-memory-access-when-copying-li.patch b/SOURCES/0001-patch-8.2.4215-illegal-memory-access-when-copying-li.patch deleted file mode 100644 index 604a8ff6..00000000 --- a/SOURCES/0001-patch-8.2.4215-illegal-memory-access-when-copying-li.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up vim80/src/ex_cmds.c.cve0361 vim80/src/ex_cmds.c ---- vim80/src/ex_cmds.c.cve0361 2022-02-08 12:20:51.277666290 +0100 -+++ vim80/src/ex_cmds.c 2022-02-08 12:20:51.280666209 +0100 -@@ -983,6 +983,8 @@ ex_copy(linenr_T line1, linenr_T line2, - } - - appended_lines_mark(n, count); -+ if (VIsual_active) -+ check_pos(curbuf, &VIsual); - - msgmore((long)count); - } -diff -up vim80/src/testdir/test_visual.vim.cve0361 vim80/src/testdir/test_visual.vim ---- vim80/src/testdir/test_visual.vim.cve0361 2022-02-08 12:20:51.280666209 +0100 -+++ vim80/src/testdir/test_visual.vim 2022-02-08 12:21:44.530356814 +0100 -@@ -263,3 +263,17 @@ func Test_visual_block_append_invalid_ch - call assert_equal([' - let xxx', 'xxxxx -ˆ', 'xxxxxxxx-xxx'], getline(1, 3)) - bwipe! - endfunc -+ -+" this was leaving the end of the Visual area beyond the end of a line -+func Test_visual_ex_copy_line() -+ new -+ call setline(1, ["aaa", "bbbbbbbbbxbb"]) -+ /x -+ exe "normal ggvjfxO" -+ t0 -+ normal gNU -+ bwipe! -+endfunc -+ -+ -+" vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.4218-illegal-memory-access-with-bracketed-.patch b/SOURCES/0001-patch-8.2.4218-illegal-memory-access-with-bracketed-.patch deleted file mode 100644 index 8cb7a441..00000000 --- a/SOURCES/0001-patch-8.2.4218-illegal-memory-access-with-bracketed-.patch +++ /dev/null @@ -1,85 +0,0 @@ -commit ec45bc7682fd698d8d39f43732129c4d092355f3 -Author: Tomas Korbar -Date: Wed Feb 2 16:30:11 2022 +0100 - - Fix illegal memory access with bracketed paste in Ex mode - -diff --git a/src/edit.c b/src/edit.c -index f29fbc7..57b8dce 100644 ---- a/src/edit.c -+++ b/src/edit.c -@@ -9519,27 +9519,33 @@ bracketed_paste(paste_mode_T mode, int drop, garray_T *gap) - int ret_char = -1; - int save_allow_keys = allow_keys; - int save_paste = p_paste; -- int save_ai = curbuf->b_p_ai; - -- /* If the end code is too long we can't detect it, read everything. */ -- if (STRLEN(end) >= NUMBUFLEN) -+ // If the end code is too long we can't detect it, read everything. -+ if (end != NULL && STRLEN(end) >= NUMBUFLEN) - end = NULL; - ++no_mapping; - allow_keys = 0; -- p_paste = TRUE; -- curbuf->b_p_ai = FALSE; -+ if (!p_paste) -+ // Also have the side effects of setting 'paste' to make it work much -+ // faster. -+ set_option_value((char_u *)"paste", TRUE, NULL, 0); - - for (;;) - { - /* When the end is not defined read everything. */ - if (end == NULL && vpeekc() == NUL) - break; -- c = plain_vgetc(); --#ifdef FEAT_MBYTE -+ do -+ c = vgetc(); -+ while (c == K_IGNORE || c == K_VER_SCROLLBAR || c == K_HOR_SCROLLBAR); -+ if (c == NUL || got_int || (ex_normal_busy > 0 && c == Ctrl_C)) -+ // When CTRL-C was encountered the typeahead will be flushed and we -+ // won't get the end sequence. Except when using ":normal". -+ break; -+ - if (has_mbyte) - idx += (*mb_char2bytes)(c, buf + idx); - else --#endif - buf[idx++] = c; - buf[idx] = NUL; - if (end != NULL && STRNCMP(buf, end, idx) == 0) -@@ -9557,7 +9563,8 @@ bracketed_paste(paste_mode_T mode, int drop, garray_T *gap) - break; - - case PASTE_EX: -- if (gap != NULL && ga_grow(gap, idx) == OK) -+ // add one for the NUL that is going to be appended -+ if (gap != NULL && ga_grow(gap, idx + 1) == OK) - { - mch_memmove((char *)gap->ga_data + gap->ga_len, - buf, (size_t)idx); -@@ -9582,11 +9589,9 @@ bracketed_paste(paste_mode_T mode, int drop, garray_T *gap) - case PASTE_ONE_CHAR: - if (ret_char == -1) - { --#ifdef FEAT_MBYTE - if (has_mbyte) - ret_char = (*mb_ptr2char)(buf); - else --#endif - ret_char = buf[0]; - } - break; -@@ -9597,8 +9602,8 @@ bracketed_paste(paste_mode_T mode, int drop, garray_T *gap) - - --no_mapping; - allow_keys = save_allow_keys; -- p_paste = save_paste; -- curbuf->b_p_ai = save_ai; -+ if (!save_paste) -+ set_option_value((char_u *)"paste", FALSE, NULL, 0); - - return ret_char; - } diff --git a/SOURCES/0001-patch-8.2.4253-using-freed-memory-when-substitute-wi.patch b/SOURCES/0001-patch-8.2.4253-using-freed-memory-when-substitute-wi.patch deleted file mode 100644 index b37d8211..00000000 --- a/SOURCES/0001-patch-8.2.4253-using-freed-memory-when-substitute-wi.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit c604f3ad4782fde770617ff688e1ceac0dc1bd7c -Author: Tomas Korbar -Date: Thu Feb 3 10:14:42 2022 +0100 - - Fix using freed memory when substitute with function call - -diff --git a/src/ex_cmds.c b/src/ex_cmds.c -index e69fbd3..0788573 100644 ---- a/src/ex_cmds.c -+++ b/src/ex_cmds.c -@@ -4767,6 +4767,7 @@ do_sub(exarg_T *eap) - int save_do_all; /* remember user specified 'g' flag */ - int save_do_ask; /* remember user specified 'c' flag */ - char_u *pat = NULL, *sub = NULL; /* init for GCC */ -+ char_u *sub_copy = NULL; - int delimiter; - int sublen; - int got_quit = FALSE; -@@ -5062,11 +5063,20 @@ do_sub(exarg_T *eap) - sub_firstline = NULL; - - /* -- * ~ in the substitute pattern is replaced with the old pattern. -- * We do it here once to avoid it to be replaced over and over again. -- * But don't do it when it starts with "\=", then it's an expression. -+ * If the substitute pattern starts with "\=" then it's an expression. -+ * Make a copy, a recursive function may free it. -+ * Otherwise, '~' in the substitute pattern is replaced with the old -+ * pattern. We do it here once to avoid it to be replaced over and over -+ * again. - */ -- if (!(sub[0] == '\\' && sub[1] == '=')) -+ if (sub[0] == '\\' && sub[1] == '=') -+ { -+ sub = vim_strsave(sub); -+ if (sub == NULL) -+ return; -+ sub_copy = sub; -+ } -+ else - sub = regtilde(sub, p_magic); - - /* -@@ -5825,6 +5835,7 @@ outofmem: - #endif - - vim_regfree(regmatch.regprog); -+ vim_free(sub_copy); - - /* Restore the flag values, they can be used for ":&&". */ - subflags.do_all = save_do_all; diff --git a/SOURCES/0001-patch-8.2.4646-using-buffer-line-after-it-has-been-f.patch b/SOURCES/0001-patch-8.2.4646-using-buffer-line-after-it-has-been-f.patch deleted file mode 100644 index a2eb48be..00000000 --- a/SOURCES/0001-patch-8.2.4646-using-buffer-line-after-it-has-been-f.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up vim80/src/regexp.c.cve1154 vim80/src/regexp.c ---- vim80/src/regexp.c.cve1154 2022-04-09 12:01:30.054452927 +0200 -+++ vim80/src/regexp.c 2022-04-09 12:02:48.987999877 +0200 -@@ -4415,8 +4415,17 @@ regmatch( - int mark = OPERAND(scan)[0]; - int cmp = OPERAND(scan)[1]; - pos_T *pos; -+ size_t col = REG_MULTI ? reginput - regline : 0; - - pos = getmark_buf(rex.reg_buf, mark, FALSE); -+ -+ // Line may have been freed, get it again. -+ if (REG_MULTI) -+ { -+ regline = reg_getline(reglnum); -+ reginput = regline + col; -+ } -+ - if (pos == NULL /* mark doesn't exist */ - || pos->lnum <= 0 /* mark isn't set in reg_buf */ - || (pos->lnum == reglnum + rex.reg_firstlnum -diff -up vim80/src/testdir/test_regexp_latin.vim.cve1154 vim80/src/testdir/test_regexp_latin.vim diff --git a/SOURCES/0001-patch-8.2.4919-can-add-invalid-bytes-with-spellgood.patch b/SOURCES/0001-patch-8.2.4919-can-add-invalid-bytes-with-spellgood.patch deleted file mode 100644 index b887afef..00000000 --- a/SOURCES/0001-patch-8.2.4919-can-add-invalid-bytes-with-spellgood.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/src/globals.h b/src/globals.h -index d5320d7..968ba33 100644 ---- a/src/globals.h -+++ b/src/globals.h -@@ -1657,6 +1657,11 @@ EXTERN int *eval_lavars_used INIT(= NULL); - EXTERN int ctrl_break_was_pressed INIT(= FALSE); - #endif - -+#ifdef FEAT_SPELL -+EXTERN char e_illegal_character_in_word[] -+ INIT(= N_("E1280: Illegal character in word")); -+#endif -+ - /* - * Optional Farsi support. Include it here, so EXTERN and INIT are defined. - */ -diff --git a/src/mbyte.c b/src/mbyte.c -index 6d21f11..a7531f1 100644 ---- a/src/mbyte.c -+++ b/src/mbyte.c -@@ -4034,7 +4034,7 @@ theend: - convert_setup(&vimconv, NULL, NULL); - } - --#if defined(FEAT_GUI_GTK) || defined(PROTO) -+#if defined(FEAT_GUI_GTK) || defined(FEAT_SPELL) || defined(PROTO) - /* - * Return TRUE if string "s" is a valid utf-8 string. - * When "end" is NULL stop at the first NUL. -diff --git a/src/spellfile.c b/src/spellfile.c -index 496e07f..92997ef 100644 ---- a/src/spellfile.c -+++ b/src/spellfile.c -@@ -4441,6 +4441,10 @@ store_word( - int res = OK; - char_u *p; - -+ // Avoid adding illegal bytes to the word tree. -+ if (enc_utf8 && !utf_valid_string(word, NULL)) -+ return FAIL; -+ - (void)spell_casefold(word, len, foldword, MAXWLEN); - for (p = pfxlist; res == OK; ++p) - { -@@ -6251,6 +6255,12 @@ spell_add_word( - int i; - char_u *spf; - -+ if (enc_utf8 && !utf_valid_string(word, NULL)) -+ { -+ EMSG(_(e_illegal_character_in_word)); -+ return; -+ } -+ - if (idx == 0) /* use internal wordlist */ - { - if (int_wordlist == NULL) diff --git a/SOURCES/0001-patch-8.2.4925-trailing-backslash-may-cause-reading-.patch b/SOURCES/0001-patch-8.2.4925-trailing-backslash-may-cause-reading-.patch deleted file mode 100644 index 6ce497fe..00000000 --- a/SOURCES/0001-patch-8.2.4925-trailing-backslash-may-cause-reading-.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up vim80/src/search.c.cve1629 vim80/src/search.c ---- vim80/src/search.c.cve1629 2022-05-24 13:55:06.789859865 +0200 -+++ vim80/src/search.c 2022-05-24 13:56:31.889218958 +0200 -@@ -4349,7 +4349,11 @@ find_next_quote( - if (c == NUL) - return -1; - else if (escape != NULL && vim_strchr(escape, c)) -+ { - ++col; -+ if (line[col] == NUL) -+ return -1; -+ } - else if (c == quotechar) - break; - #ifdef FEAT_MBYTE diff --git a/SOURCES/0001-patch-8.2.4977-memory-access-error-when-substitute-e.patch b/SOURCES/0001-patch-8.2.4977-memory-access-error-when-substitute-e.patch deleted file mode 100644 index 2391a5f4..00000000 --- a/SOURCES/0001-patch-8.2.4977-memory-access-error-when-substitute-e.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up vim80/src/ex_cmds.c.cve1785 vim80/src/ex_cmds.c ---- vim80/src/ex_cmds.c.cve1785 2022-06-10 10:46:33.818286626 +0200 -+++ vim80/src/ex_cmds.c 2022-06-10 10:58:04.009515524 +0200 -@@ -5486,12 +5486,17 @@ do_sub(exarg_T *eap) - /* Save flags for recursion. They can change for e.g. - * :s/^/\=execute("s#^##gn") */ - subflags_save = subflags; -+ -+ // Disallow changing text or switching window in an expression. -+ ++textlock; - #endif - /* get length of substitution part */ - sublen = vim_regsub_multi(®match, - sub_firstlnum - regmatch.startpos[0].lnum, - sub, sub_firstline, FALSE, p_magic, TRUE); - #ifdef FEAT_EVAL -+ --textlock; -+ - /* Don't keep flags set by a recursive call. */ - subflags = subflags_save; - if (subflags.do_count) -@@ -5570,9 +5575,15 @@ do_sub(exarg_T *eap) - mch_memmove(new_end, sub_firstline + copycol, (size_t)copy_len); - new_end += copy_len; - -+#ifdef FEAT_EVAL -+ ++textlock; -+#endif - (void)vim_regsub_multi(®match, - sub_firstlnum - regmatch.startpos[0].lnum, - sub, new_end, TRUE, p_magic, TRUE); -+#ifdef FEAT_EVAL -+ --textlock; -+#endif - sub_nsubs++; - did_sub = TRUE; - -diff -up vim80/src/testdir/test_substitute.vim.cve1785 vim80/src/testdir/test_substitute.vim ---- vim80/src/testdir/test_substitute.vim.cve1785 2022-06-10 10:46:33.818286626 +0200 -+++ vim80/src/testdir/test_substitute.vim 2022-06-10 10:59:17.168437630 +0200 -@@ -500,3 +500,16 @@ func Test_sub_cmd_8() - enew! - set titlestring& - endfunc -+ -+" This was switching windows in between computing the length and using it. -+func Test_sub_change_window() -+ silent! lfile -+ sil! norm o0000000000000000000000000000000000000000000000000000 -+ func Repl() -+ lopen -+ endfunc -+ silent! s/\%')/\=Repl() -+ bwipe! -+ bwipe! -+ delfunc Repl -+endfunc diff --git a/SOURCES/0001-patch-8.2.5023-substitute-overwrites-allocated-buffe.patch b/SOURCES/0001-patch-8.2.5023-substitute-overwrites-allocated-buffe.patch deleted file mode 100644 index 54759376..00000000 --- a/SOURCES/0001-patch-8.2.5023-substitute-overwrites-allocated-buffe.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff -up vim80/src/normal.c.cve1897 vim80/src/normal.c ---- vim80/src/normal.c.cve1897 2022-06-13 14:50:22.800290132 +0200 -+++ vim80/src/normal.c 2022-06-13 14:55:06.082861349 +0200 -@@ -532,6 +532,22 @@ find_command(int cmdchar) - } - - /* -+ * If currently editing a cmdline or text is locked: beep and give an error -+ * message, return TRUE. -+ */ -+ static int -+check_text_locked(oparg_T *oap) -+{ -+ if (text_locked()) -+ { -+ clearopbeep(oap); -+ text_locked_msg(); -+ return TRUE; -+ } -+ return FALSE; -+} -+ -+/* - * Execute a command in Normal mode. - */ - void -@@ -792,14 +808,9 @@ getcount: - goto normal_end; - } - -- if (text_locked() && (nv_cmds[idx].cmd_flags & NV_NCW)) -- { -- /* This command is not allowed while editing a cmdline: beep. */ -- clearopbeep(oap); -- text_locked_msg(); -- goto normal_end; -- } -- if ((nv_cmds[idx].cmd_flags & NV_NCW) && curbuf_locked()) -+ if ((nv_cmds[idx].cmd_flags & NV_NCW) -+ && (check_text_locked(oap) || curbuf_locked())) -+ // this command is not allowed now - goto normal_end; - - /* -@@ -6234,12 +6245,8 @@ nv_gotofile(cmdarg_T *cap) - char_u *ptr; - linenr_T lnum = -1; - -- if (text_locked()) -- { -- clearopbeep(cap->oap); -- text_locked_msg(); -+ if (check_text_locked(cap->oap)) - return; -- } - if (curbuf_locked()) - { - clearop(cap->oap); -@@ -8420,14 +8427,7 @@ nv_g_cmd(cmdarg_T *cap) - - /* "gQ": improved Ex mode */ - case 'Q': -- if (text_locked()) -- { -- clearopbeep(cap->oap); -- text_locked_msg(); -- break; -- } -- -- if (!checkclearopq(oap)) -+ if (!check_text_locked(cap->oap) && !checkclearopq(oap)) - do_exmode(TRUE); - break; - -diff -up vim80/src/testdir/test_substitute.vim.cve1897 vim80/src/testdir/test_substitute.vim ---- vim80/src/testdir/test_substitute.vim.cve1897 2022-06-13 14:50:22.849290402 +0200 -+++ vim80/src/testdir/test_substitute.vim 2022-06-13 14:55:50.370111134 +0200 -@@ -513,3 +513,26 @@ func Test_sub_change_window() - bwipe! - delfunc Repl - endfunc -+ -+" This was undoign a change in between computing the length and using it. -+func Do_Test_sub_undo_change() -+ new -+ norm o0000000000000000000000000000000000000000000000000000 -+ silent! s/\%')/\=Repl() -+ bwipe! -+endfunc -+ -+func Test_sub_undo_change() -+ func Repl() -+ silent! norm g- -+ endfunc -+ call Do_Test_sub_undo_change() -+ -+ func! Repl() -+ silent earlier -+ endfunc -+ call Do_Test_sub_undo_change() -+ -+ delfunc Repl -+endfunc -+ -diff -up vim80/src/undo.c.cve1897 vim80/src/undo.c ---- vim80/src/undo.c.cve1897 2022-06-13 14:50:22.849290402 +0200 -+++ vim80/src/undo.c 2022-06-13 14:56:57.916492090 +0200 -@@ -2283,6 +2283,12 @@ undo_time( - if (curbuf->b_u_synced == FALSE) - u_sync(TRUE); - -+ if (text_locked()) -+ { -+ text_locked_msg(); -+ return; -+ } -+ - u_newcount = 0; - u_oldcount = 0; - if (curbuf->b_ml.ml_flags & ML_EMPTY) diff --git a/SOURCES/0001-patch-8.2.5037-cursor-position-may-be-invalid-after-.patch b/SOURCES/0001-patch-8.2.5037-cursor-position-may-be-invalid-after-.patch deleted file mode 100644 index bd202858..00000000 --- a/SOURCES/0001-patch-8.2.5037-cursor-position-may-be-invalid-after-.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff -up vim80/src/ex_docmd.c.cve1927 vim80/src/ex_docmd.c ---- vim80/src/ex_docmd.c.cve1927 2022-06-13 16:31:41.841068554 +0200 -+++ vim80/src/ex_docmd.c 2022-06-13 16:37:02.789876973 +0200 -@@ -1720,6 +1720,8 @@ do_one_cmd( - int ni; /* set when Not Implemented */ - char_u *cmd; - int address_count = 1; -+ int need_check_cursor = FALSE; -+ int ret_addr = FAIL; - - vim_memset(&ea, 0, sizeof(ea)); - ea.line1 = 1; -@@ -2084,7 +2086,7 @@ do_one_cmd( - lnum = get_address(&ea, &ea.cmd, ea.addr_type, ea.skip, - ea.addr_count == 0, address_count++); - if (ea.cmd == NULL) /* error detected */ -- goto doend; -+ goto addr_end; - if (lnum == MAXLNUM) - { - if (*ea.cmd == '%') /* '%' - all lines */ -@@ -2128,12 +2130,12 @@ do_one_cmd( - /* there is no Vim command which uses '%' and - * ADDR_WINDOWS or ADDR_TABS */ - errormsg = (char_u *)_(e_invrange); -- goto doend; -+ goto addr_end; - } - break; - case ADDR_TABS_RELATIVE: - errormsg = (char_u *)_(e_invrange); -- goto doend; -+ goto addr_end; - break; - case ADDR_ARGUMENTS: - if (ARGCOUNT == 0) -@@ -2163,7 +2165,7 @@ do_one_cmd( - if (ea.addr_type != ADDR_LINES) - { - errormsg = (char_u *)_(e_invrange); -- goto doend; -+ goto addr_end; - } - - ++ea.cmd; -@@ -2171,11 +2173,11 @@ do_one_cmd( - { - fp = getmark('<', FALSE); - if (check_mark(fp) == FAIL) -- goto doend; -+ goto addr_end; - ea.line1 = fp->lnum; - fp = getmark('>', FALSE); - if (check_mark(fp) == FAIL) -- goto doend; -+ goto addr_end; - ea.line2 = fp->lnum; - ++ea.addr_count; - } -@@ -2190,8 +2192,11 @@ do_one_cmd( - if (!ea.skip) - { - curwin->w_cursor.lnum = ea.line2; -+ - /* don't leave the cursor on an illegal line or column */ -+ // Check the cursor position before returning. - check_cursor(); -+ need_check_cursor = TRUE; - } - } - else if (*ea.cmd != ',') -@@ -2208,6 +2213,13 @@ do_one_cmd( - ea.addr_count = 0; - } - -+ ret_addr = OK; -+ -+addr_end: -+ if (need_check_cursor) -+ check_cursor(); -+ if (ret_addr == FAIL) -+ goto doend; - /* - * 5. Parse the command. - */ diff --git a/SOURCES/gvim16.png b/SOURCES/gvim16.png deleted file mode 100644 index fb45d22a..00000000 Binary files a/SOURCES/gvim16.png and /dev/null differ diff --git a/SOURCES/gvim32.png b/SOURCES/gvim32.png deleted file mode 100644 index c6e04fab..00000000 Binary files a/SOURCES/gvim32.png and /dev/null differ diff --git a/SOURCES/gvim48.png b/SOURCES/gvim48.png deleted file mode 100644 index 4bac67e6..00000000 Binary files a/SOURCES/gvim48.png and /dev/null differ diff --git a/SOURCES/spec-template b/SOURCES/spec-template deleted file mode 100644 index a5363cc6..00000000 --- a/SOURCES/spec-template +++ /dev/null @@ -1,42 +0,0 @@ -Name: -Version: -Release: 1%{?dist} -Summary: - -Group: -License: -URL: -Source0: -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) - -BuildRequires: -Requires: - -%description - - -%prep -%setup -q - - -%build -%configure -make %{?_smp_mflags} - - -%install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT - - -%clean -rm -rf $RPM_BUILD_ROOT - - -%files -%defattr(-,root,root,-) -%doc - - - -%changelog diff --git a/SOURCES/spec-template.new b/SOURCES/spec-template.new deleted file mode 100644 index d9953482..00000000 --- a/SOURCES/spec-template.new +++ /dev/null @@ -1,35 +0,0 @@ -Name: -Version: -Release: 1%{?dist} -Summary: - -Group: -License: -URL: -Source0: - -BuildRequires: -Requires: - -%description - - -%prep -%setup -q - - -%build -%configure -make %{?_smp_mflags} - - -%install -%make_install - - -%files -%doc - - - -%changelog diff --git a/SOURCES/vim-7.0-fixkeys.patch b/SOURCES/vim-7.0-fixkeys.patch deleted file mode 100644 index 5554e1bf..00000000 --- a/SOURCES/vim-7.0-fixkeys.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- vim70aa/src/term.c.orig 2006-03-01 23:07:55.000000000 +0100 -+++ vim70aa/src/term.c 2006-03-14 15:39:12.000000000 +0100 -@@ -1008,14 +1008,14 @@ - {K_XRIGHT, IF_EB("\033[1;*C", ESC_STR "[1;*C")}, - {K_XLEFT, IF_EB("\033[1;*D", ESC_STR "[1;*D")}, - /* An extra set of function keys for vt100 mode */ -- {K_XF1, IF_EB("\033O*P", ESC_STR "O*P")}, -- {K_XF2, IF_EB("\033O*Q", ESC_STR "O*Q")}, -- {K_XF3, IF_EB("\033O*R", ESC_STR "O*R")}, -- {K_XF4, IF_EB("\033O*S", ESC_STR "O*S")}, -- {K_F1, IF_EB("\033[11;*~", ESC_STR "[11;*~")}, -- {K_F2, IF_EB("\033[12;*~", ESC_STR "[12;*~")}, -- {K_F3, IF_EB("\033[13;*~", ESC_STR "[13;*~")}, -- {K_F4, IF_EB("\033[14;*~", ESC_STR "[14;*~")}, -+ {K_XF1, IF_EB("\033[11~", ESC_STR "[11~")}, -+ {K_XF2, IF_EB("\033[12~", ESC_STR "[12~")}, -+ {K_XF3, IF_EB("\033[13~", ESC_STR "[13~")}, -+ {K_XF4, IF_EB("\033[14~", ESC_STR "[14~")}, -+ {K_F1, IF_EB("\033OP", ESC_STR "OP")}, -+ {K_F2, IF_EB("\033OQ", ESC_STR "OQ")}, -+ {K_F3, IF_EB("\033OR", ESC_STR "OR")}, -+ {K_F4, IF_EB("\033OS", ESC_STR "OS")}, - {K_F5, IF_EB("\033[15;*~", ESC_STR "[15;*~")}, - {K_F6, IF_EB("\033[17;*~", ESC_STR "[17;*~")}, - {K_F7, IF_EB("\033[18;*~", ESC_STR "[18;*~")}, diff --git a/SOURCES/vim-7.0-rclocation.patch b/SOURCES/vim-7.0-rclocation.patch deleted file mode 100644 index 840f53e8..00000000 --- a/SOURCES/vim-7.0-rclocation.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- vim62/src/os_unix.h.rcloc 2003-08-04 15:38:05.000000000 +0200 -+++ vim62/src/os_unix.h 2003-08-04 15:39:25.000000000 +0200 -@@ -230,10 +230,10 @@ - * Unix system-dependent file names - */ - #ifndef SYS_VIMRC_FILE --# define SYS_VIMRC_FILE "$VIM/vimrc" -+# define SYS_VIMRC_FILE "/etc/vimrc" - #endif - #ifndef SYS_GVIMRC_FILE --# define SYS_GVIMRC_FILE "$VIM/gvimrc" -+# define SYS_GVIMRC_FILE "/etc/gvimrc" - #endif - #ifndef DFLT_HELPFILE - # define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt" diff --git a/SOURCES/vim-7.0-specedit.patch b/SOURCES/vim-7.0-specedit.patch deleted file mode 100644 index 74e327d4..00000000 --- a/SOURCES/vim-7.0-specedit.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- vim70/runtime/ftplugin/spec.vim.rh1 2006-05-10 19:37:45.000000000 +0200 -+++ vim70/runtime/ftplugin/spec.vim 2006-11-13 12:21:32.000000000 +0100 -@@ -18,11 +18,18 @@ - - if !exists("*s:SpecChangelog") - function s:SpecChangelog(format) -+ let save_time = v:lc_time - if strlen(a:format) == 0 - if !exists("g:spec_chglog_format") -- let email = input("Email address: ") -- let g:spec_chglog_format = "%a %b %d %Y " . l:email -- echo "\r" -+ if !exists("g:packager") -+ let email = input("Email address: ") -+ let g:spec_chglog_format = "%a %b %d %Y " . l:email -+ echo "\r" -+ else -+ let email = g:packager -+ let g:spec_chglog_format = "%a %b %d %Y " . l:email -+ echo "\r" -+ endif - endif - let format = g:spec_chglog_format - else -@@ -58,7 +65,7 @@ - let line = line+1 - endwhile - if (nameline != -1 && verline != -1 && relline != -1) -- let include_release_info = exists("g:spec_chglog_release_info") -+ let include_release_info = 1 - let name = s:ParseRpmVars(name, nameline) - let ver = s:ParseRpmVars(ver, verline) - let rel = s:ParseRpmVars(rel, relline) -@@ -79,8 +86,10 @@ - endif - endif - if (chgline != -1) -+ execute "language time C" - let parsed_format = "* ".strftime(format) -- let release_info = "+ ".name."-".ver."-".rel -+ execute "language time " . save_time -+ let release_info = ver."-".rel - let wrong_format = 0 - let wrong_release = 0 - let insert_line = 0 -@@ -97,15 +106,14 @@ - execute relline - normal  - let rel = substitute(strpart(getline(relline),8), '^[ ]*\([^ ]\+\)[ ]*$','\1','') -- let release_info = "+ ".name."-".ver."-".rel -+ let release_info = ver."-".rel - endif - endif - let n = 0 -- call append(chgline+n, parsed_format) - if include_release_info -- let n = n + 1 -- call append(chgline+n, release_info) -+ let parsed_format = parsed_format." ".release_info - endif -+ call append(chgline+n, parsed_format) - let n = n + 1 - call append(chgline+n,"- ") - let n = n + 1 diff --git a/SOURCES/vim-7.4-checkhl.patch b/SOURCES/vim-7.4-checkhl.patch deleted file mode 100644 index f7fbf904..00000000 --- a/SOURCES/vim-7.4-checkhl.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up vim74/runtime/syntax/spec.vim.kh1 vim74/runtime/syntax/spec.vim ---- vim74/runtime/syntax/spec.vim.kh1 2016-08-04 15:23:25.275955301 +0200 -+++ vim74/runtime/syntax/spec.vim 2016-08-04 15:24:56.699417602 +0200 -@@ -114,7 +114,7 @@ syn region specDescriptionArea matchgrou - syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment - - "%% Scripts Section %% --syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 -+syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|check\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 - - "%% Changelog Section %% - syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense diff --git a/SOURCES/vim-7.4-fstabsyntax.patch b/SOURCES/vim-7.4-fstabsyntax.patch deleted file mode 100644 index f82a66c0..00000000 --- a/SOURCES/vim-7.4-fstabsyntax.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up vim80/runtime/syntax/fstab.vim.fstabsyntax vim80/runtime/syntax/fstab.vim ---- vim80/runtime/syntax/fstab.vim.fstabsyntax 2017-11-19 20:32:49.000000000 +0100 -+++ vim80/runtime/syntax/fstab.vim 2017-11-20 16:01:31.494316342 +0100 -@@ -56,7 +56,7 @@ syn keyword fsMountPointKeyword containe - " Type - syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown - syn match fsTypeUnknown /\s\+\zs\w\+/ contained --syn keyword fsTypeKeyword contained adfs ados affs anon_inodefs atfs audiofs auto autofs bdev befs bfs btrfs binfmt_misc cd9660 cfs cgroup cifs coda configfs cpuset cramfs devfs devpts devtmpfs e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse fuseblk fusectl hfs hpfs hugetlbfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix mqueue msdos ncpfs nfs nfsd nilfs2 none ntfs null nwfs overlay ovlfs pipefs portal proc procfs pstore ptyfs qnx4 reiserfs ramfs romfs securityfs shm smbfs squashfs sockfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xenfs xfs zisofs -+syn keyword fsTypeKeyword contained adfs ados affs anon_inodefs atfs audiofs auto autofs bdev befs bfs btrfs binfmt_misc cd9660 cfs cgroup cifs coda configfs cpuset cramfs devfs devpts devtmpfs e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse fuseblk fusectl hfs hpfs hugetlbfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix mqueue msdos ncpfs nfs nfsd nilfs2 none ntfs null nwfs overlay ovlfs pipefs portal proc procfs pstore ptyfs qnx4 reiserfs ramfs romfs rpc_pipefs securityfs shm smbfs squashfs sockfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xenfs xfs zisofs - - " Options - " ------- -@@ -68,7 +68,7 @@ syn match fsOptionsString /[a-zA-Z0-9_-] - syn keyword fsOptionsYesNo yes no - syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck - syn keyword fsOptionsSize 512 1024 2048 --syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx -+syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop managed mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner pamconsole rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx - syn match fsOptionsGeneral /_netdev/ - - " Options: adfs diff --git a/SOURCES/vim-7.4-globalsyntax.patch b/SOURCES/vim-7.4-globalsyntax.patch deleted file mode 100644 index 1e0b08ed..00000000 --- a/SOURCES/vim-7.4-globalsyntax.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up vim74/runtime/syntax/spec.vim.orig vim74/runtime/syntax/spec.vim ---- vim74/runtime/syntax/spec.vim.orig 2016-01-12 13:51:55.727569873 +0100 -+++ vim74/runtime/syntax/spec.vim 2016-01-12 13:53:08.124991178 +0100 -@@ -114,7 +114,7 @@ syn region specDescriptionArea matchgrou - syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment - - "%% Scripts Section %% --syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|check\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 -+syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|check\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|global\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 - - "%% Changelog Section %% - syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense diff --git a/SOURCES/vim-7.4-licensemacro-1151450.patch b/SOURCES/vim-7.4-licensemacro-1151450.patch deleted file mode 100644 index 3a6e0a71..00000000 --- a/SOURCES/vim-7.4-licensemacro-1151450.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up vim74_new/runtime/syntax/spec.vim.1151450 vim74_new/runtime/syntax/spec.vim ---- vim74_new/runtime/syntax/spec.vim.1151450 2014-10-13 10:45:07.570944538 +0200 -+++ vim74_new/runtime/syntax/spec.vim 2014-10-13 10:44:09.046945965 +0200 -@@ -88,9 +88,9 @@ syn region specSectionMacroBracketArea o - "%% Files Section %% - "TODO %config valid parameters: missingok\|noreplace - "TODO %verify valid parameters: \(not\)\= \(md5\|atime\|...\) --syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier -+syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\|license\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier - "tip: remember to include new itens in specFilesArea above --syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\)\>' -+syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|verify\|ghost\|license\)\>' - - "valid options for certain section headers - syn match specDescriptionOpts contained '\s-[ln]\s*\a'ms=s+1,me=e-1 diff --git a/SOURCES/vim-7.4-nowarnings.patch b/SOURCES/vim-7.4-nowarnings.patch deleted file mode 100644 index c77f9fce..00000000 --- a/SOURCES/vim-7.4-nowarnings.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up vim74/src/ex_docmd.c.e319 vim74/src/ex_docmd.c ---- vim74/src/ex_docmd.c.e319 2016-02-17 14:48:23.033995923 +0100 -+++ vim74/src/ex_docmd.c 2016-02-17 14:48:03.712890575 +0100 -@@ -4630,6 +4630,7 @@ get_flags(exarg_T *eap) - void - ex_ni(exarg_T *eap) - { -+ return; - if (!eap->skip) - eap->errmsg = (char_u *)N_("E319: Sorry, the command is not available in this version"); - } diff --git a/SOURCES/vim-7.4-releasestring-1318991.patch b/SOURCES/vim-7.4-releasestring-1318991.patch deleted file mode 100644 index 291b957f..00000000 --- a/SOURCES/vim-7.4-releasestring-1318991.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up vim74/runtime/ftplugin/spec.vim.1318991 vim74/runtime/ftplugin/spec.vim ---- vim74/runtime/ftplugin/spec.vim.1318991 2016-08-04 15:29:42.423862424 +0200 -+++ vim74/runtime/ftplugin/spec.vim 2016-08-04 15:31:08.797299188 +0200 -@@ -41,8 +41,8 @@ else: - headers = spec.sourceHeader - version = headers["Version"] - release = headers["Release"] -- vim.command("let ver = " + version) -- vim.command("let rel = " + release) -+ vim.command("let ver = '" + version + "'") -+ vim.command("let rel = '" + release + "'") - PYEND - endif - endfunction diff --git a/SOURCES/vim-7.4-syncolor.patch b/SOURCES/vim-7.4-syncolor.patch deleted file mode 100644 index 440da186..00000000 --- a/SOURCES/vim-7.4-syncolor.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -up vim80/src/syntax.c.syncolor vim80/src/syntax.c ---- vim80/src/syntax.c.syncolor 2017-08-15 12:14:21.716020676 +0200 -+++ vim80/src/syntax.c 2017-08-15 12:30:31.380158974 +0200 -@@ -6972,8 +6972,8 @@ static char *(highlight_init_light[]) = - CENT("Visual term=reverse", - "Visual term=reverse guibg=LightGrey"), - #ifdef FEAT_DIFF -- CENT("DiffAdd term=bold ctermbg=LightBlue", -- "DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue"), -+ CENT("DiffAdd term=bold ctermbg=LightRed", -+ "DiffAdd term=bold ctermbg=LightRed guibg=LightBlue"), - CENT("DiffChange term=bold ctermbg=LightMagenta", - "DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta"), - CENT("DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan", -@@ -7066,8 +7066,8 @@ static char *(highlight_init_dark[]) = { - CENT("Visual term=reverse", - "Visual term=reverse guibg=DarkGrey"), - #ifdef FEAT_DIFF -- CENT("DiffAdd term=bold ctermbg=DarkBlue", -- "DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue"), -+ CENT("DiffAdd term=bold ctermbg=DarkRed", -+ "DiffAdd term=bold ctermbg=DarkRed guibg=DarkBlue"), - CENT("DiffChange term=bold ctermbg=DarkMagenta", - "DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta"), - CENT("DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan", diff --git a/SOURCES/vim-7.4-syntax.patch b/SOURCES/vim-7.4-syntax.patch deleted file mode 100644 index 5131c803..00000000 --- a/SOURCES/vim-7.4-syntax.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- vim74/runtime/filetype.vim.orig 2013-08-12 14:51:58.669350813 +0200 -+++ vim74/runtime/filetype.vim 2013-08-12 14:56:12.432540523 +0200 -@@ -2475,7 +2475,7 @@ - - " More Apache config files - au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache') --au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache') -+au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/httpd/conf.*/*,*/etc/httpd/mods-*/*,*/etc/httpd/sites-*/*,*/etc/httpd/conf.d/*.conf*,auth_mysql.conf*,auth_pgsql.conf*,ssl.conf*,perl.conf*,php.conf*,python.conf*,squirrelmail.conf* call s:StarSetf('apache') - - " Asterisk config file - au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') diff --git a/SOURCES/vim-8.0-copy-paste.patch b/SOURCES/vim-8.0-copy-paste.patch deleted file mode 100644 index 5cb1a88c..00000000 --- a/SOURCES/vim-8.0-copy-paste.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up vim80/runtime/defaults.vim.copy-paste vim80/runtime/defaults.vim ---- vim80/runtime/defaults.vim.copy-paste 2016-12-19 09:01:20.351119199 +0100 -+++ vim80/runtime/defaults.vim 2016-12-19 09:01:53.735738941 +0100 -@@ -64,12 +64,6 @@ map Q gq - " Revert with ":iunmap ". - inoremap u - --" In many terminal emulators the mouse works just fine. By enabling it you --" can position the cursor, Visually select and scroll with the mouse. --if has('mouse') -- set mouse=a --endif -- - " Switch syntax highlighting on when the terminal has colors or when using the - " GUI (which always has colors). - if &t_Co > 2 || has("gui_running") diff --git a/SOURCES/vim-covscan.patch b/SOURCES/vim-covscan.patch deleted file mode 100644 index dd272a77..00000000 --- a/SOURCES/vim-covscan.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/src/ex_getln.c b/src/ex_getln.c -index 9fdfac5..6451378 100644 ---- a/src/ex_getln.c -+++ b/src/ex_getln.c -@@ -797,6 +797,7 @@ getcmdline( - redrawcmd(); - goto cmdline_changed; - } -+ vim_free(p); - } - } - beep_flush(); -diff --git a/src/memline.c b/src/memline.c -index 4be1036..366de4c 100644 ---- a/src/memline.c -+++ b/src/memline.c -@@ -344,7 +344,7 @@ ml_open(buf_T *buf) - b0p->b0_magic_int = (int)B0_MAGIC_INT; - b0p->b0_magic_short = (short)B0_MAGIC_SHORT; - b0p->b0_magic_char = B0_MAGIC_CHAR; -- STRNCPY(b0p->b0_version, "VIM ", 4); -+ mch_memmove(b0p->b0_version, "VIM ", 4); - STRNCPY(b0p->b0_version + 4, Version, 6); - long_to_char((long)mfp->mf_page_size, b0p->b0_page_size); - -diff --git a/src/move.c b/src/move.c -index a560030..2ea3975 100644 ---- a/src/move.c -+++ b/src/move.c -@@ -1939,7 +1939,7 @@ scroll_cursor_bot(int min_scroll, int set_topbot) - scrolled += loff.height; - if (loff.lnum == curwin->w_botline - #ifdef FEAT_DIFF -- && boff.fill == 0 -+ && loff.fill == 0 - #endif - ) - scrolled -= curwin->w_empty_rows; -diff --git a/src/term.c b/src/term.c -index 9ac824f..89b663a 100644 ---- a/src/term.c -+++ b/src/term.c -@@ -1460,7 +1460,7 @@ parse_builtin_tcap(char_u *term) - if (term_7to8bit(t)) - { - *t = term_7to8bit(t); -- STRCPY(t + 1, t + 2); -+ STRMOVE(t + 1, t + 2); - } - term_strings[p->bt_entry] = s; - set_term_option_alloced(&term_strings[p->bt_entry]); diff --git a/SOURCES/vim-cve3778-fix.patch b/SOURCES/vim-cve3778-fix.patch deleted file mode 100644 index a482b388..00000000 --- a/SOURCES/vim-cve3778-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up vim80/src/regexp_nfa.c.cve3796-fix vim80/src/regexp_nfa.c ---- vim80/src/regexp_nfa.c.cve3796-fix 2021-09-20 08:27:13.752604505 +0200 -+++ vim80/src/regexp_nfa.c 2021-09-20 08:29:10.206546910 +0200 -@@ -5493,7 +5493,8 @@ find_match_text(colnr_T startcol, int re - match = FALSE; - break; - } -- len2 += MB_CHAR2LEN(c2); -+ len2 += enc_utf8 ? utf_ptr2len(regline + col + len2) -+ : MB_CHAR2LEN(c2); - } - if (match - #ifdef FEAT_MBYTE diff --git a/SOURCES/vim-cve3796.patch b/SOURCES/vim-cve3796.patch deleted file mode 100644 index ca41acfd..00000000 --- a/SOURCES/vim-cve3796.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/src/normal.c b/src/normal.c -index be0e75e..7d62e20 100644 ---- a/src/normal.c -+++ b/src/normal.c -@@ -7147,19 +7147,23 @@ nv_replace(cmdarg_T *cap) - { - /* - * Get ptr again, because u_save and/or showmatch() will have -- * released the line. At the same time we let know that the -- * line will be changed. -+ * released the line. This may also happen in ins_copychar(). -+ * At the same time we let know that the line will be changed. - */ -- ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE); - if (cap->nchar == Ctrl_E || cap->nchar == Ctrl_Y) - { - int c = ins_copychar(curwin->w_cursor.lnum - + (cap->nchar == Ctrl_Y ? -1 : 1)); -+ -+ ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE); - if (c != NUL) - ptr[curwin->w_cursor.col] = c; - } - else -+ { -+ ptr = ml_get_buf(curbuf, curwin->w_cursor.lnum, TRUE); - ptr[curwin->w_cursor.col] = cap->nchar; -+ } - if (p_sm && msg_silent == 0) - showmatch(cap->nchar); - ++curwin->w_cursor.col; -diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim -index 7278bcd..8818805 100644 ---- a/src/testdir/test_edit.vim -+++ b/src/testdir/test_edit.vim -@@ -1387,3 +1387,15 @@ func Test_edit_quit() - only - endfunc - -+" Test for getting the character of the line below after "p" -+func Test_edit_put_CTRL_E() -+ set encoding=latin1 -+ new -+ let @" = '' -+ sil! norm orggRx -+ sil! norm pr -+ call assert_equal(['r', 'r'], getline(1, 2)) -+ bwipe! -+ set encoding=utf-8 -+endfunc -+ diff --git a/SOURCES/vim-python3-tests.patch b/SOURCES/vim-python3-tests.patch deleted file mode 100644 index 26027f74..00000000 --- a/SOURCES/vim-python3-tests.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff -up vim80/runtime/tools/demoserver.py.python3-tests vim80/runtime/tools/demoserver.py ---- vim80/runtime/tools/demoserver.py.python3-tests 2018-05-11 08:24:41.774618804 +0200 -+++ vim80/runtime/tools/demoserver.py 2018-05-11 09:24:48.363309856 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Server that will accept connections from a Vim channel. - # Run this server and then in Vim you can open the channel: -diff -up vim80/src/auto/configure.python3-tests vim80/src/auto/configure ---- vim80/src/auto/configure.python3-tests 2018-05-11 08:25:03.632420873 +0200 -+++ vim80/src/auto/configure 2018-05-11 09:25:26.062000471 +0200 -@@ -6396,7 +6396,7 @@ eof - if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \ - "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then - vi_cv_path_python_plibs="-framework Python" -- if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then -+ if test "x${vi_cv_path_python}" != "x/usr/bin/python2" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then - vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" - fi - else -diff -up vim80/src/configure.ac.python3-tests vim80/src/configure.ac ---- vim80/src/configure.ac.python3-tests 2018-05-11 08:25:26.070218957 +0200 -+++ vim80/src/configure.ac 2018-05-11 09:26:01.603708243 +0200 -@@ -1248,7 +1248,7 @@ eof - if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \ - "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then - vi_cv_path_python_plibs="-framework Python" -- if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then -+ if test "x${vi_cv_path_python}" != "x/usr/bin/python2" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then - vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" - fi - else -diff -up vim80/src/testdir/test_channel_pipe.py.python3-tests vim80/src/testdir/test_channel_pipe.py ---- vim80/src/testdir/test_channel_pipe.py.python3-tests 2018-05-11 09:23:05.738146018 +0200 -+++ vim80/src/testdir/test_channel_pipe.py 2018-05-11 09:26:37.354413350 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Server that will communicate over stdin/stderr - # -diff -up vim80/src/testdir/test_channel.py.python3-tests vim80/src/testdir/test_channel.py ---- vim80/src/testdir/test_channel.py.python3-tests 2018-05-11 09:22:48.522284266 +0200 -+++ vim80/src/testdir/test_channel.py 2018-05-11 09:26:17.762574955 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Server that will accept connections from a Vim channel. - # Used by test_channel.vim. -diff -up vim80/src/testdir/test_channel_write.py.python3-tests vim80/src/testdir/test_channel_write.py ---- vim80/src/testdir/test_channel_write.py.python3-tests 2018-05-11 09:23:21.254021422 +0200 -+++ vim80/src/testdir/test_channel_write.py 2018-05-11 09:26:54.952268193 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Program that writes a number to stdout repeatedly - # -diff -up vim80/src/testdir/test_makeencoding.py.python3-tests vim80/src/testdir/test_makeencoding.py ---- vim80/src/testdir/test_makeencoding.py.python3-tests 2018-05-11 09:23:38.990878990 +0200 -+++ vim80/src/testdir/test_makeencoding.py 2018-05-11 09:27:14.402107759 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - - # Test program for :make, :grep and :cgetfile. -diff -up vim80/src/testdir/test_netbeans.py.python3-tests vim80/src/testdir/test_netbeans.py ---- vim80/src/testdir/test_netbeans.py.python3-tests 2018-05-11 09:23:54.398752732 +0200 -+++ vim80/src/testdir/test_netbeans.py 2018-05-11 09:27:30.489975057 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Server that will communicate with Vim through the netbeans interface. - # Used by test_netbeans.vim. -diff -up vim80/src/testdir/test_short_sleep.py.python3-tests vim80/src/testdir/test_short_sleep.py ---- vim80/src/testdir/test_short_sleep.py.python3-tests 2018-05-11 09:24:09.134631798 +0200 -+++ vim80/src/testdir/test_short_sleep.py 2018-05-11 09:27:48.432827053 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # - # Program that sleeps for 100 msec - # diff --git a/SOURCES/vim.csh b/SOURCES/vim.csh deleted file mode 100644 index bb9ceb14..00000000 --- a/SOURCES/vim.csh +++ /dev/null @@ -1,6 +0,0 @@ -if ( -x /usr/bin/id ) then - if ( "`/usr/bin/id -u`" > 200 ) then - alias vi vim - endif -endif - diff --git a/SOURCES/vim.sh b/SOURCES/vim.sh deleted file mode 100644 index 1e4ff789..00000000 --- a/SOURCES/vim.sh +++ /dev/null @@ -1,5 +0,0 @@ -if [ -n "${BASH_VERSION-}" -o -n "${KSH_VERSION-}" -o -n "${ZSH_VERSION-}" ]; then - [ "`/usr/bin/id -u 2>/dev/null || echo 0`" -le 200 ] && return - # for bash and zsh, only if no alias is already set - alias vi >/dev/null 2>&1 || alias vi=vim -fi diff --git a/SOURCES/vimrc b/SOURCES/vimrc deleted file mode 100644 index cf660612..00000000 --- a/SOURCES/vimrc +++ /dev/null @@ -1,64 +0,0 @@ -if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" - set fileencodings=ucs-bom,utf-8,latin1 -endif - -set nocompatible " Use Vim defaults (much better!) -set bs=indent,eol,start " allow backspacing over everything in insert mode -"set ai " always set autoindenting on -"set backup " keep a backup file -set viminfo='20,\"50 " read/write a .viminfo file, don't store more - " than 50 lines of registers -set history=50 " keep 50 lines of command line history -set ruler " show the cursor position all the time - -" Only do this part when compiled with support for autocommands -if has("autocmd") - augroup fedora - autocmd! - " In text files, always limit the width of text to 78 characters - " autocmd BufRead *.txt set tw=78 - " When editing a file, always jump to the last cursor position - autocmd BufReadPost * - \ if line("'\"") > 0 && line ("'\"") <= line("$") | - \ exe "normal! g'\"" | - \ endif - " don't write swapfile on most commonly used directories for NFS mounts or USB sticks - autocmd BufNewFile,BufReadPre /media/*,/run/media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp - " start with spec file template - autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec - augroup END -endif - -if has("cscope") && filereadable("/usr/bin/cscope") - set csprg=/usr/bin/cscope - set csto=0 - set cst - set nocsverb - " add any database in current directory - if filereadable("cscope.out") - cs add $PWD/cscope.out - " else add database pointed to by environment - elseif $CSCOPE_DB != "" - cs add $CSCOPE_DB - endif - set csverb -endif - -" Switch syntax highlighting on, when the terminal has colors -" Also switch on highlighting the last used search pattern. -if &t_Co > 2 || has("gui_running") - syntax on - set hlsearch -endif - -filetype plugin on - -if &term=="xterm" - set t_Co=8 - set t_Sb=[4%dm - set t_Sf=[3%dm -endif - -" Don't wake up system with blinking cursor: -" http://www.linuxpowertop.org/known.php -let &guicursor = &guicursor . ",a:blinkon0" diff --git a/SOURCES/macros.vim b/macros.vim similarity index 100% rename from SOURCES/macros.vim rename to macros.vim diff --git a/sources b/sources new file mode 100644 index 00000000..96613c41 --- /dev/null +++ b/sources @@ -0,0 +1,5 @@ +SHA512 (gvim16.png) = 6c995b62c4bf547b8e23281e7df283631c771fa08f8727715d45ad34105195b68de023b65176c3f8709031fc81bf730c3933e8b034d8df041053a75ce108d10c +SHA512 (gvim32.png) = 0fb0f6e6e852cd56e6af3e6bda973e09a8ccad7bce21135a8996390571f879f4706cf768f118b0520ca12fc01c960915e843c75a51404ff4c5fed2dd3efdf5a2 +SHA512 (gvim48.png) = 32541626b266a735c689b8e9d39a2dd37f077266e2708ed41e3a967f9087d5c041b2180023f3cd2d9faadb77a8d082c0926725a4b94420e90023631cfac2b8a5 +SHA512 (gvim64.png) = 3d51edec03e9ad1f35032da7efec1b1c64715fea2bb0433dd398baf75ba5ccf3325287c2f338723f08c04f473cbcb073933f538446536392353a7ceef52f7012 +SHA512 (vim-9.1-083.tar.bz2) = bf76375164fb930f91dc3bd91ca7d5cb1d051ae59697f8a3a5f2713530b8198c669c1763e76e6c240ba0b20ad935c7ad7deb60d1fdfcb60439c17b0e58d9ebd1 diff --git a/spec-template.new b/spec-template.new new file mode 100644 index 00000000..2a558fb7 --- /dev/null +++ b/spec-template.new @@ -0,0 +1,41 @@ +# SPEC file overview: +# https://docs.fedoraproject.org/en-US/quick-docs/creating-rpm-packages/#con_rpm-spec-file-overview +# Fedora packaging guidelines: +# https://docs.fedoraproject.org/en-US/packaging-guidelines/ + + +Name: +Version: +Release: 0%{?dist} +Summary: + +License: +URL: +Source0: + +BuildRequires: +Requires: + +%description + + +%prep +%setup -q + + +%build +%configure +make %{?_smp_mflags} + + +%install +%make_install + + +%files +%doc +%license + + + +%changelog diff --git a/vi_wrapper b/vi_wrapper new file mode 100644 index 00000000..1bb1aece --- /dev/null +++ b/vi_wrapper @@ -0,0 +1,23 @@ +#!/usr/bin/sh + +# run vim if: +# - 'vi' command is used and 'vim' binary is available +# - 'vim' command is used +# NOTE: Set up a local alias if you want vim -> vi functionality. We will not +# do it globally, because it messes up with available startup options (see +# ':help starting', 'vi' is not capable of '-d'). The introducing an environment +# variable, which an user must set to get the feature, will do the same trick +# as setting an alias (needs user input, does not work with sudo), so it is left +# on user whether he decides to use an alias: +# +# alias vim=vi +# +# in bashrc file. + +if test -f /usr/bin/vim +then + exec /usr/bin/vim "$@" +fi + +# run vi otherwise +exec /usr/libexec/vi "$@" diff --git a/view_wrapper b/view_wrapper new file mode 100644 index 00000000..9e8d7207 --- /dev/null +++ b/view_wrapper @@ -0,0 +1,10 @@ +#!/usr/bin/sh + +# run vim -R if available +if test -f /usr/bin/vim +then + exec /usr/bin/vim -R "$@" +fi + +# run vi otherwise +exec /usr/libexec/vi -R "$@" diff --git a/vim-7.0-fixkeys.patch b/vim-7.0-fixkeys.patch new file mode 100644 index 00000000..1b71d33e --- /dev/null +++ b/vim-7.0-fixkeys.patch @@ -0,0 +1,26 @@ +diff -up vim90/src/term.c.fixkeys vim90/src/term.c +--- vim90/src/term.c.fixkeys 2022-10-20 14:45:53.896659582 +0200 ++++ vim90/src/term.c 2022-10-20 14:48:28.958697659 +0200 +@@ -851,14 +851,14 @@ static struct builtin_term builtin_termc + {K_XRIGHT, "\033[@;*C"}, // Esc [ C or Esc [ 1 ; C + {K_XLEFT, "\033[@;*D"}, // Esc [ D or Esc [ 1 ; D + // An extra set of function keys for vt100 mode +- {K_XF1, "\033O*P"}, +- {K_XF2, "\033O*Q"}, +- {K_XF3, "\033O*R"}, +- {K_XF4, "\033O*S"}, +- {K_F1, "\033[11;*~"}, +- {K_F2, "\033[12;*~"}, +- {K_F3, "\033[13;*~"}, +- {K_F4, "\033[14;*~"}, ++ {K_XF1, "\033[11~"}, ++ {K_XF2, "\033[12~"}, ++ {K_XF3, "\033[13~"}, ++ {K_XF4, "\033[14~"}, ++ {K_F1, "\033OP"}, ++ {K_F2, "\033OQ"}, ++ {K_F3, "\033OR"}, ++ {K_F4, "\033OS"}, + {K_F5, "\033[15;*~"}, + {K_F6, "\033[17;*~"}, + {K_F7, "\033[18;*~"}, diff --git a/SOURCES/vim-7.3-manpage-typo-668894-675480.patch b/vim-7.3-manpage-typo-668894-675480.patch similarity index 100% rename from SOURCES/vim-7.3-manpage-typo-668894-675480.patch rename to vim-7.3-manpage-typo-668894-675480.patch diff --git a/vim-7.4-globalsyntax.patch b/vim-7.4-globalsyntax.patch new file mode 100644 index 00000000..4503f2d0 --- /dev/null +++ b/vim-7.4-globalsyntax.patch @@ -0,0 +1,13 @@ +diff --git a/runtime/syntax/spec.vim b/runtime/syntax/spec.vim +index 1a5a108..b709d20 100644 +--- a/runtime/syntax/spec.vim ++++ b/runtime/syntax/spec.vim +@@ -111,7 +111,7 @@ syn region specDescriptionArea matchgroup=specSection start='^%description' end= + syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment + + "%% Scripts Section %% +-syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|check\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 ++syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|check\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|global\|patch\d*\|configure\|GNUconfigure\|setup\|autosetup\|autopatch\|find_lang\|make_build\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2 + + "%% Changelog Section %% + syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense diff --git a/SOURCES/vim-7.4-specsyntax.patch b/vim-7.4-specsyntax.patch similarity index 99% rename from SOURCES/vim-7.4-specsyntax.patch rename to vim-7.4-specsyntax.patch index 3c028b56..5d794cc7 100644 --- a/SOURCES/vim-7.4-specsyntax.patch +++ b/vim-7.4-specsyntax.patch @@ -12,7 +12,7 @@ diff -up vim74/runtime/syntax/spec.vim.highlite vim74/runtime/syntax/spec.vim syn keyword specMonth contained January February March April May June July August September October November December @@ -61,9 +61,9 @@ syn cluster specListedFiles contains=spe - "specComands + "specCommands syn match specConfigure contained '\./configure' -syn match specTarCommand contained '\". + inoremap u + +-" In many terminal emulators the mouse works just fine. By enabling it you +-" can position the cursor, Visually select and scroll with the mouse. +-" Only xterm can grab the mouse events when using the shift key, for other +-" terminals use ":", select text and press Esc. +-if has('mouse') +- if &term =~ 'xterm' +- set mouse=a +- else +- set mouse=nvi +- endif +-endif +- + " Only do this part when Vim was compiled with the +eval feature. + if 1 + +diff --git a/src/testdir/test_balloon.vim b/src/testdir/test_balloon.vim +index ed0c6c1..90c8c40 100644 +--- a/src/testdir/test_balloon.vim ++++ b/src/testdir/test_balloon.vim +@@ -9,6 +9,7 @@ source screendump.vim + CheckScreendump + + let s:common_script =<< trim [CODE] ++ set mouse=a + call setline(1, ["one one one", "two tXo two", "three three three"]) + set balloonevalterm balloonexpr=MyBalloonExpr()..s:trailing balloondelay=100 + let s:trailing = '<' " check that script context is set +diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim +index b91689e..c6b70d1 100644 +--- a/src/testdir/test_popupwin.vim ++++ b/src/testdir/test_popupwin.vim +@@ -553,6 +553,7 @@ func Test_popup_drag() + " create a popup that covers the command line + let lines =<< trim END + call setline(1, range(1, 20)) ++ set mouse=a + split + vsplit + $wincmd w +@@ -621,6 +622,7 @@ func Test_popup_drag_minwidth() + + " create a popup that does not fit + let lines =<< trim END ++ set mouse=a + call range(40) + \ ->map({_,i -> string(i)}) + \ ->popup_create({ +@@ -669,6 +671,7 @@ func Test_popup_drag_termwin() + let lines =<< trim END + set foldmethod=marker + call setline(1, range(100)) ++ set mouse=a + for nr in range(7) + call setline(nr * 12 + 1, "fold {{{") + call setline(nr * 12 + 11, "end }}}") +@@ -722,6 +725,7 @@ func Test_popup_close_with_mouse() + + let lines =<< trim END + call setline(1, range(1, 20)) ++ set mouse=a + " With border, can click on X + let winid = popup_create('foobar', #{ + \ close: 'button', +@@ -1557,6 +1561,7 @@ func Test_popup_beval() + let lines =<< trim END + call setline(1, range(1, 20)) + call setline(5, 'here is some text to hover over') ++ set mouse=a + set balloonevalterm + set balloonexpr=BalloonExpr() + set balloondelay=100 +@@ -2262,6 +2267,7 @@ func Test_popup_scrollbar() + + let lines =<< trim END + call setline(1, range(1, 20)) ++ set mouse=a + hi ScrollThumb ctermbg=blue + hi ScrollBar ctermbg=red + let winid = popup_create(['one', 'two', 'three', 'four', 'five', diff --git a/SOURCES/vim-crypto-warning.patch b/vim-crypto-warning.patch similarity index 65% rename from SOURCES/vim-crypto-warning.patch rename to vim-crypto-warning.patch index 408f755c..195d7025 100644 --- a/SOURCES/vim-crypto-warning.patch +++ b/vim-crypto-warning.patch @@ -1,12 +1,10 @@ -diff --git a/src/config.h.in b/src/config.h.in -index 7d61220..ca0b1a8 100644 ---- a/src/config.h.in -+++ b/src/config.h.in -@@ -478,3 +478,12 @@ +diff -up vim90/src/config.h.in.fips-warning vim90/src/config.h.in +--- vim90/src/config.h.in.fips-warning 2023-05-29 09:30:59.000000000 +0200 ++++ vim90/src/config.h.in 2023-05-29 09:34:47.261645612 +0200 +@@ -498,5 +498,14 @@ + /* Define if _SC_SIGSTKSZ is available via sysconf() */ + #undef HAVE_SYSCONF_SIGSTKSZ - /* Define to inline symbol or empty */ - #undef inline -+ +/* Do we need FIPS warning? */ +#undef HAVE_FIPS_WARNING + @@ -15,12 +13,14 @@ index 7d61220..ca0b1a8 100644 + +/* Link to fips_enabled file */ +#undef FIPS_ENABLED_FILE_LINK -diff --git a/src/configure.ac b/src/configure.ac -index 1e7d444..5e45762 100644 ---- a/src/configure.ac -+++ b/src/configure.ac -@@ -525,6 +525,38 @@ else - AC_MSG_RESULT(yes) ++ + /* Define if you want to load libgpm dynamically */ + #undef DYNAMIC_GPM +diff -up vim90/src/configure.ac.fips-warning vim90/src/configure.ac +--- vim90/src/configure.ac.fips-warning 2023-05-29 09:34:47.257645645 +0200 ++++ vim90/src/configure.ac 2023-05-29 09:34:47.262645604 +0200 +@@ -589,6 +589,38 @@ else + AC_SUBST(XDIFF_OBJS_USED) fi +dnl Checking if we want FIPS warning @@ -58,29 +58,28 @@ index 1e7d444..5e45762 100644 dnl Check for Lua feature. AC_MSG_CHECKING(--enable-luainterp argument) AC_ARG_ENABLE(luainterp, -diff --git a/src/crypt.c b/src/crypt.c -index dfbf02c..c935bc0 100644 ---- a/src/crypt.c -+++ b/src/crypt.c -@@ -501,6 +501,21 @@ crypt_check_method(int method) +diff -up vim90/src/crypt.c.fips-warning vim90/src/crypt.c +--- vim90/src/crypt.c.fips-warning 2023-05-29 09:34:47.263645596 +0200 ++++ vim90/src/crypt.c 2023-05-29 09:51:23.209779115 +0200 +@@ -795,6 +795,21 @@ crypt_check_method(int method) msg_scroll = TRUE; - MSG(_("Warning: Using a weak encryption method; see :help 'cm'")); + msg(_("Warning: Using a weak encryption method; see :help 'cm'")); } +#ifdef HAVE_FIPS_WARNING + FILE *fips_enable_fd = fopen(FIPS_ENABLED_FILE_LINK, "r"); + if (fips_enable_fd == NULL) -+ return; ++ return; + + int enabled = fgetc(fips_enable_fd); + + if ( access(SYSTEM_FIPS_FILE_LINK, F_OK) != -1 && enabled == '1') + { + msg_scroll = TRUE; -+ MSG(_("Warning: This cryptography is not FIPS 140-2 compliant.")); ++ msg(_("Warning: This cryptography is not FIPS 140-2 compliant.")); + } + + fclose(fips_enable_fd); +#endif } - void + /* diff --git a/vim-default-editor.csh b/vim-default-editor.csh new file mode 100644 index 00000000..d98316d5 --- /dev/null +++ b/vim-default-editor.csh @@ -0,0 +1,5 @@ +# Ensure vim is set as EDITOR if it isn't already set + +if ( ! ($?EDITOR) ) then + setenv EDITOR "/usr/bin/vim" +endif diff --git a/vim-default-editor.fish b/vim-default-editor.fish new file mode 100644 index 00000000..e4288c18 --- /dev/null +++ b/vim-default-editor.fish @@ -0,0 +1,8 @@ +# Ensure vim is set as EDITOR if it isn't already set +# This is set as a universal variable so that any other definition +# by the user would win +# Cf. https://fishshell.com/docs/current/index.html#variables-scope + +if ! set -q EDITOR; + set -x EDITOR /usr/bin/vim +end diff --git a/vim-default-editor.sh b/vim-default-editor.sh new file mode 100644 index 00000000..1a53dafd --- /dev/null +++ b/vim-default-editor.sh @@ -0,0 +1,5 @@ +# Ensure vim is set as EDITOR if it isn't already set + +if [ -z "$EDITOR" ]; then + export EDITOR="/usr/bin/vim" +fi diff --git a/SOURCES/vim-manpagefixes-948566.patch b/vim-manpagefixes-948566.patch similarity index 100% rename from SOURCES/vim-manpagefixes-948566.patch rename to vim-manpagefixes-948566.patch diff --git a/vim-python3-tests.patch b/vim-python3-tests.patch new file mode 100644 index 00000000..98b5f758 --- /dev/null +++ b/vim-python3-tests.patch @@ -0,0 +1,87 @@ +diff -up vim82/runtime/tools/demoserver.py.python-tests vim82/runtime/tools/demoserver.py +--- vim82/runtime/tools/demoserver.py.python-tests 2019-07-26 07:58:50.000000000 +0200 ++++ vim82/runtime/tools/demoserver.py 2020-04-17 06:18:06.748977527 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Server that will accept connections from a Vim channel. + # Run this server and then in Vim you can open the channel: +diff -up vim82/src/auto/configure.python-tests vim82/src/auto/configure +--- vim82/src/auto/configure.python-tests 2020-04-17 06:07:48.000000000 +0200 ++++ vim82/src/auto/configure 2020-04-17 06:18:06.750977509 +0200 +@@ -6418,7 +6418,7 @@ eof + if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \ + "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then + vi_cv_path_python_plibs="-framework Python" +- if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then ++ if test "x${vi_cv_path_python}" != "x/usr/bin/python2" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then + vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" + fi + else +diff -up vim82/src/configure.ac.python-tests vim82/src/configure.ac +--- vim82/src/configure.ac.python-tests 2020-04-17 06:07:48.000000000 +0200 ++++ vim82/src/configure.ac 2020-04-17 06:18:06.750977509 +0200 +@@ -1263,7 +1263,7 @@ eof + if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \ + "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then + vi_cv_path_python_plibs="-framework Python" +- if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then ++ if test "x${vi_cv_path_python}" != "x/usr/bin/python2" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then + vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" + fi + else +diff -up vim82/src/testdir/test_channel_pipe.py.python-tests vim82/src/testdir/test_channel_pipe.py +--- vim82/src/testdir/test_channel_pipe.py.python-tests 2019-07-26 07:58:53.000000000 +0200 ++++ vim82/src/testdir/test_channel_pipe.py 2020-04-17 06:18:06.751977500 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Server that will communicate over stdin/stderr + # +diff -up vim82/src/testdir/test_channel.py.python-tests vim82/src/testdir/test_channel.py +--- vim82/src/testdir/test_channel.py.python-tests 2020-04-17 06:18:06.751977500 +0200 ++++ vim82/src/testdir/test_channel.py 2020-04-17 06:18:24.517813082 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # + # Server that will accept connections from a Vim channel. + # Used by test_channel.vim. +diff -up vim82/src/testdir/test_channel_write.py.python-tests vim82/src/testdir/test_channel_write.py +--- vim82/src/testdir/test_channel_write.py.python-tests 2019-07-26 07:58:53.000000000 +0200 ++++ vim82/src/testdir/test_channel_write.py 2020-04-17 06:18:06.751977500 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Program that writes a number to stdout repeatedly + # +diff -up vim82/src/testdir/test_makeencoding.py.python-tests vim82/src/testdir/test_makeencoding.py +--- vim82/src/testdir/test_makeencoding.py.python-tests 2019-07-26 07:58:53.000000000 +0200 ++++ vim82/src/testdir/test_makeencoding.py 2020-04-17 06:18:06.751977500 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # -*- coding: utf-8 -*- + + # Test program for :make, :grep and :cgetfile. +diff -up vim82/src/testdir/test_netbeans.py.python-tests vim82/src/testdir/test_netbeans.py +--- vim82/src/testdir/test_netbeans.py.python-tests 2019-07-26 07:58:53.000000000 +0200 ++++ vim82/src/testdir/test_netbeans.py 2020-04-17 06:18:06.751977500 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Server that will communicate with Vim through the netbeans interface. + # Used by test_netbeans.vim. +diff -up vim82/src/testdir/test_short_sleep.py.python-tests vim82/src/testdir/test_short_sleep.py +--- vim82/src/testdir/test_short_sleep.py.python-tests 2019-07-26 07:58:53.000000000 +0200 ++++ vim82/src/testdir/test_short_sleep.py 2020-04-17 06:18:06.751977500 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # Program that sleeps for 100 msec + # diff --git a/SPECS/vim.spec b/vim.spec similarity index 54% rename from SPECS/vim.spec rename to vim.spec index 712d5ac6..177a4bc0 100644 --- a/SPECS/vim.spec +++ b/vim.spec @@ -1,8 +1,27 @@ -%define patchlevel 1763 +%bcond_without gui + +%if 0%{?fedora} +%bcond_without default_editor +%bcond_without gpm +%bcond_without libsodium_crypt +%else +%bcond_with default_editor +%bcond_with gpm +%bcond_with libsodium_crypt +%endif + +%define patchlevel 083 + %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} %define WITH_SELINUX 1 %endif + +%if %{with gui} %define desktop_file 1 +%else +%define desktop_file 0 +%endif + %if %{desktop_file} %define desktop_file_utils_version 0.2.93 %endif @@ -11,133 +30,148 @@ %define withvimspell 0 %define withhunspell 0 -%define withruby 1 %define withlua 1 +%define withperl 1 +%if 0%{?flatpak} +%define withruby 0 +%else +%define withruby 1 +%endif -%define python3 python3.6m -%define python3path %{_includedir}/%{python3} +# VIm upstream wants to build with FORTIFY_SOURCE=1, +# because higher levels causes crashes of valid code constructs +# and their reimplementation would cost unnecessary maintenance +# https://github.com/vim/vim/pull/3507 +%define _fortify_level 1 -%define baseversion 8.0 -%define vimdir vim80 +%define baseversion 9.1 +%define vimdir vim91 Summary: The VIM editor URL: http://www.vim.org/ Name: vim Version: %{baseversion}.%{patchlevel} -Release: 19%{?dist}.4 -License: Vim and MIT +Release: 5%{?dist} +Epoch: 2 +# swift.vim contains Apache 2.0 with runtime library exception: +# which is taken as Apache-2.0 WITH Swift-exception - reported to legal as https://gitlab.com/fedora/legal/fedora-license-data/-/issues/188 +# resolution: the license is good for Fedora, but the file does not have a creativity from +# +# Open Publication License 1.0 or later for Vim documentation - reported to legal for adding to the allowed licenses list +# response here: https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/message/4UTW5GFDELGMG6K3NQ7NBU42LC2FJOB5/ +# resolution: take it as OPUBL-1.0, the license won't be added to allowed license list, but if a project uses it for documentation +# and don't use license options mentioned in the OPUBL 1.0 license text (which both are the case for Vim), the license is allowed +License: Vim AND LGPL-2.1-or-later AND MIT AND GPL-1.0-only AND (GPL-2.0-only OR Vim) AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-or-later AND GPL-3.0-or-later AND OPUBL-1.0 Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}-%{patchlevel}.tar.bz2 -Source1: vim.sh -Source2: vim.csh -Source4: virc -Source5: vimrc -Source7: gvim16.png -Source8: gvim32.png -Source9: gvim48.png -Source10: gvim64.png -Source11: Changelog.rpm -%if %{withvimspell} -Source13: vim-spell-files.tar.bz2 -%endif -Source14: spec-template -Source15: spec-template.new -Source16: macros.vim -#Source17: ftplugin-spec.vim -#Source18: syntax-spec.vim +Source1: virc +Source2: vimrc +Source3: gvim16.png +Source4: gvim32.png +Source5: gvim48.png +Source6: gvim64.png +Source7: spec-template.new +Source8: macros.vim +Source9: vim-default-editor.sh +Source10: vim-default-editor.csh +Source11: vim-default-editor.fish +Source12: view_wrapper +Source13: vi_wrapper + +%if %{withvimspell} +Source100: vim-spell-files.tar.bz2 +%endif + + +Patch2000: vim-7.0-fixkeys.patch +Patch2001: vim-7.4-specsyntax.patch -Patch2002: vim-7.0-fixkeys.patch -Patch2003: vim-7.4-specsyntax.patch %if %{withhunspell} -Patch2011: vim-7.0-hunspell.patch +Patch2002: vim-7.0-hunspell.patch BuildRequires: hunspell-devel %endif -Patch3000: vim-7.4-syntax.patch -Patch3002: vim-7.4-nowarnings.patch -Patch3004: vim-7.0-rclocation.patch -Patch3006: vim-7.4-checkhl.patch -Patch3007: vim-7.4-fstabsyntax.patch -Patch3008: vim-7.4-syncolor.patch -Patch3009: vim-7.0-specedit.patch -Patch3010: vim-7.3-manpage-typo-668894-675480.patch -Patch3011: vim-manpagefixes-948566.patch -Patch3012: vim-7.4-licensemacro-1151450.patch -Patch3013: vim-7.4-globalsyntax.patch -Patch3014: vim-7.4-releasestring-1318991.patch -Patch3016: vim-8.0-copy-paste.patch +Patch3000: vim-7.3-manpage-typo-668894-675480.patch +Patch3001: vim-manpagefixes-948566.patch +Patch3002: vim-7.4-globalsyntax.patch # migrate shebangs in script to /usr/bin/python3 and use python2 when necessary -Patch3017: vim-python3-tests.patch -# 1602727 - fixed several covscan issues and backported from upstream -Patch3018: vim-covscan.patch -# 1719812 - CVE-2019-12735 vim: vim/neovim: arbitrary command execution in getchar.c [rhel-8.1.0] -Patch3019: 0001-patch-8.1.1365-source-command-doesn-t-check-for-the-.patch -# 1605095 - vim: should not re-implement crypto -Patch3020: vim-crypto-warning.patch -# 1842755 - CVE-2019-20807 -Patch3021: 0001-patch-8.1.0881-can-execute-shell-commands-in-rvim-th.patch -# 2004975 - CVE-2021-3796 vim: use-after-free in nv_replace() in normal.c [rhel-8.6.0] -Patch3022: vim-cve3796.patch -# 2004892 - CVE-2021-3778 vim: heap-based buffer overflow in utf_ptr2char() in mbyte.c [rhel-8.6.0] -Patch3023: vim-cve3778-fix.patch -Patch3024: 0001-patch-8.2.3487-illegal-memory-access-if-buffer-name-.patch -# 2028341 - CVE-2021-3984 vim: illegal memory access when C-indenting could lead to Heap Buffer Overflow [rhel-8.6.0] -Patch3025: 0001-patch-8.2.3625-illegal-memory-access-when-C-indentin.patch -# 2028430 - CVE-2021-4019 vim: heap-based buffer overflow in find_help_tags() in src/help.c [rhel-8.6.0] -Patch3026: 0001-patch-8.2.3669-buffer-overflow-with-long-help-argume.patch -# CVE-2021-4193 vim: vulnerable to Out-of-bounds Read -Patch3027: 0001-patch-8.2.3950-going-beyond-the-end-of-the-line-with.patch -# CVE-2021-4192 vim: vulnerable to Use After Free -Patch3028: 0001-patch-8.2.3949-using-freed-memory-with-V.patch -# CVE-2022-0261 vim: Heap-based Buffer Overflow in block_insert() in src/ops.c -Patch3029: 0001-patch-8.2.4120-block-insert-goes-over-the-end-of-the.patch -# CVE-2022-0318 vim: heap-based buffer overflow in utf_head_off() in mbyte.c -Patch3030: 0001-patch-8.2.4151-reading-beyond-the-end-of-a-line.patch -# CVE-2022-0359 vim: heap-based buffer overflow in init_ccline() in ex_getln.c -Patch3031: 0001-patch-8.2.4214-illegal-memory-access-with-large-tabs.patch -# CVE-2022-0392 vim: heap-based buffer overflow in getexmodeline() in ex_getln.c -Patch3032: 0001-patch-8.2.4218-illegal-memory-access-with-bracketed-.patch -# CVE-2022-0413 vim: use after free in src/ex_cmds.c -Patch3033: 0001-patch-8.2.4253-using-freed-memory-when-substitute-wi.patch -# CVE-2022-0361 vim: Heap-based Buffer Overflow in GitHub repository -Patch3034: 0001-patch-8.2.4215-illegal-memory-access-when-copying-li.patch -# CVE-2022-1154 vim: use after free in utf_ptr2char -Patch3035: 0001-patch-8.2.4646-using-buffer-line-after-it-has-been-f.patch -# CVE-2022-1621 vim: heap buffer overflow -Patch3036: 0001-patch-8.2.4919-can-add-invalid-bytes-with-spellgood.patch -# CVE-2022-1629 vim: buffer over-read -Patch3037: 0001-patch-8.2.4925-trailing-backslash-may-cause-reading-.patch -# CVE-2022-1785 vim: Out-of-bounds Write -Patch3038: 0001-patch-8.2.4977-memory-access-error-when-substitute-e.patch -# CVE-2022-1897 vim: out-of-bounds write in vim_regsub_both() in regexp.c -Patch3039: 0001-patch-8.2.5023-substitute-overwrites-allocated-buffe.patch -# CVE-2022-1927 vim: buffer over-read in utf_ptr2char() in mbyte.c -Patch3040: 0001-patch-8.2.5037-cursor-position-may-be-invalid-after-.patch +Patch3003: vim-python3-tests.patch +# fips warning (Fedora downstream patch) +Patch3004: vim-crypto-warning.patch +# don't ever set mouse (Fedora downstream patch) +Patch3005: vim-8.0-copy-paste.patch +# RHEL-44652 vim-9.1.083-1.el10: RHEL SAST Automation: address 4 High impact true positive(s) +# 2 patches: 0001-src-spell.c-Protect-wres-from-possible-buffer-overfl.patch +# 0003-src-vim9class.c-Fix-typo.patch +# upstreamed as: https://github.com/vim/vim/commit/215c82d06 +# https://github.com/vim/vim/commit/39a94d204 +Patch3006: 0001-patch-9.1.0903-potential-overflow-in-spell_soundfold.patch +Patch3007: 0001-patch-9.1.0904-Vim9-copy-paste-error-in-class_defini.patch + + +# uses autoconf in spec file +BuildRequires: autoconf + +%if %{desktop_file} +# for /usr/bin/desktop-file-install +BuildRequires: desktop-file-utils >= %{desktop_file_utils_version} +Requires: desktop-file-utils +%endif # gcc is no longer in buildroot by default BuildRequires: gcc +# for translations +BuildRequires: gettext -BuildRequires: python2-devel python3-devel ncurses-devel gettext perl-devel -BuildRequires: perl-generators -BuildRequires: perl(ExtUtils::Embed) perl(ExtUtils::ParseXS) -BuildRequires: libacl-devel gpm-devel autoconf file -# needed for appstream-util -BuildRequires: libappstream-glib +# glibc in F35 bootstraped several conversion formats from +# iconv into a separate package. Vim needs those additional +# formats during compilation. +BuildRequires: glibc-gconv-extra + +%if %{with gpm} +# for mouse support in console +BuildRequires: gpm-devel +%endif +# for setting ACL on created files +BuildRequires: libacl-devel + +# selinux support %if %{WITH_SELINUX} BuildRequires: libselinux-devel %endif -%if "%{withruby}" == "1" -BuildRequires: ruby-devel ruby + +# for xchacha20 encryption +%if %{with libsodium_crypt} +BuildRequires: libsodium-devel %endif + +# uses libtool for linking +BuildRequires: libtool + +# for lua plugin %if "%{withlua}" == "1" BuildRequires: lua-devel %endif -%if %{desktop_file} -# for /usr/bin/desktop-file-install -Requires: desktop-file-utils -BuildRequires: desktop-file-utils >= %{desktop_file_utils_version} + +# uses make +BuildRequires: make +# screen handling library +BuildRequires: ncurses-devel +# for perl plugin +%if "%{withperl}" == "1" +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: perl(ExtUtils::Embed) +BuildRequires: perl(ExtUtils::ParseXS) %endif -Epoch: 2 -Conflicts: filesystem < 3 +# for python plugin +BuildRequires: python3-devel + +# for ruby plugin +%if "%{withruby}" == "1" +BuildRequires: ruby +BuildRequires: ruby-devel +%endif + %description VIM (VIsual editor iMproved) is an updated and improved version of the @@ -147,13 +181,24 @@ multiple windows, multi-level undo, block highlighting and more. %package common Summary: The common files needed by any version of the VIM editor -Conflicts: man-pages-fr < 0.9.7-14 -Conflicts: man-pages-it < 0.3.0-17 -Conflicts: man-pages-pl < 0.24-2 +# conflicts in package because of manpage move (bug #1599663) +# conflicts because of defaults.vim (bug #2026651) +# remove after F36 EOL+after release CentOS Stream > 9 +Conflicts: %{name}-minimal < %{epoch}:8.2.3642-2 +# shared files between common and minimal +Requires: %{name}-data = %{epoch}:%{version}-%{release} Requires: %{name}-filesystem -# it conflicts with older version of vim-minimal during update because of manpage -# move -Conflicts: %{name}-minimal < 8.0.1428-4 +# the hexdump binary was part of the package for long time, ship it with it +# still for convenience +Requires: xxd +# vim-toml was a separate package but the runtime files have been included +# directly in vim since 8.2.3519. The vim-toml package has been retired in +# Fedora, obsolete it so it doesn't get left on users' systems. Added in F38, +# can be removed in F40. +# https://github.com/cespare/vim-toml/commit/2c8983cc391287e5e26e015c3ab9c38de9f9b759 +# https://github.com/vim/vim/commit/2286304cdbba53ceb52b3ba2ba4a521b0a2f8d0f +Provides: vim-toml = %{epoch}:%{version}-%{release} +Obsoletes: vim-toml < 0^1.717bd87-4 %description common VIM (VIsual editor iMproved) is an updated and improved version of the @@ -176,40 +221,54 @@ many different languages. %package minimal Summary: A minimal version of the VIM editor -Provides: vi = %{version}-%{release} +# conflicts in package because of manpage move (bug #1599663) +# conflicts because of defaults.vim (bug #2026651) +# remove after F36 EOL+after release CentOS Stream > 9 +Conflicts: %{name}-common < %{epoch}:8.2.3642-2 +Provides: vi Provides: %{_bindir}/vi -# it conflicts with older version of vim-common during update because of manpage -# move -Conflicts: %{name}-common < 8.0.1428-4 +# shared files between common and minimal +Requires: %{name}-data = %{epoch}:%{version}-%{release} %description minimal VIM (VIsual editor iMproved) is an updated and improved version of the vi editor. Vi was the first real screen-based editor for UNIX, and is still very popular. VIM improves on vi by adding new features: multiple windows, multi-level undo, block highlighting and more. The -vim-minimal package includes a minimal version of VIM, which is -installed into /bin/vi for use when only the root partition is -present. NOTE: The online help is only available when the vim-common -package is installed. +vim-minimal package includes a minimal version of VIM, providing +the commands vi, view, ex, rvi, and rview. NOTE: The online help is +only available when the vim-common package is installed. %package enhanced Summary: A version of the VIM editor which includes recent enhancements -Requires: vim-common = %{epoch}:%{version}-%{release} which -Provides: vim = %{version}-%{release} +# vim bundles libvterm, which is used during build - so we need to provide +# bundled libvterm for catching possible libvterm CVEs +Provides: bundled(libvterm) +Provides: vim +Provides: vim(plugins-supported) Provides: %{_bindir}/mergetool Provides: %{_bindir}/vim +Requires: vim-common = %{epoch}:%{version}-%{release} +# required for vimtutor (#395371) +Requires: which # suggest python3, python2, lua, ruby and perl packages because of their # embedded functionality in Vim/GVim -Suggests: python2 python2-libs -Suggests: python3 python3-libs -Suggests: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) perl-libs perl-devel -%if "%{withruby}" == "1" -Suggests: ruby-libs ruby -%endif %if "%{withlua}" == "1" Suggests: lua-libs %endif +%if "%{withperl}" == "1" +Suggests: perl-devel +%endif + +Suggests: python3 +Suggests: python3-libs + +%if "%{withruby}" == "1" +Suggests: ruby +Suggests: ruby-libs +%endif + %description enhanced VIM (VIsual editor iMproved) is an updated and improved version of the vi editor. Vi was the first real screen-based editor for UNIX, and is @@ -231,33 +290,65 @@ BuildArch: noarch This package provides some directories which are required by other packages that add vim files, p.e. additional syntax files or filetypes. +%if %{with gui} %package X11 Summary: The VIM version of the vi editor for the X Window System - GVim -# needed in configure script to have correct macros enabled (#1602807) +# devel of libICE, gtk3, libSM, libX11, libXpm and libXt are needed in buildroot +# so configure script can have correct macros enabled for GUI (#1603272) +# generic gnome toolkit for graphical support BuildRequires: gtk3-devel -BuildRequires: libX11-devel -BuildRequires: libSM-devel -BuildRequires: libXt-devel -BuildRequires: libXpm-devel +# inter-client exchange library - for X session management protocol BuildRequires: libICE-devel +# X session management library +BuildRequires: libSM-devel +# core X11 protocol client library +BuildRequires: libX11-devel +# X PixMap library for X11 - for creating images in X PixMap format +BuildRequires: libXpm-devel +# X Toolkit Intrinsics library - working with widgets? +BuildRequires: libXt-devel +# for testing validity of appdata file +BuildRequires: libappstream-glib +# for sound support +BuildRequires: libcanberra-devel -Requires: vim-common = %{epoch}:%{version}-%{release} libattr >= 2.4 gtk3 -Provides: gvim = %{version}-%{release} +Provides: gvim +Provides: vim(plugins-supported) Provides: %{_bindir}/mergetool Provides: %{_bindir}/gvim -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +%if 0%{?fedora} >= 40 || 0%{?rhel} > 9 +# glib2 in Fedora 40 introduced a new function, which is not used in GVim, but it is present +# in compiled gvim binary as symbol when Vim is compiled with glib2-2.79.1 +# there does not seem to be a better solution than version based requires on glib2... +# https://bugzilla.redhat.com/show_bug.cgi?id=2262371 +Requires: glib2 >= 2.79.1 +%endif +# GVIM graphics are based on GTK3 +Requires: gtk3 +# needed for icons (#226526) Requires: hicolor-icon-theme +# for getting/setting extended attributes - they are pairs (name:value) +# from inodes (files, dirs etc.) +Requires: libattr >= 2.4 +Requires: vim-common = %{epoch}:%{version}-%{release} # suggest python3, python2, lua, ruby and perl packages because of their # embedded functionality in Vim/GVim -Suggests: python2 python2-libs -Suggests: python3 python3-libs -Suggests: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) perl-libs perl-devel -%if "%{withruby}" == "1" -Suggests: ruby-libs ruby -%endif -%if "%{withlua}" == "1" + %if "%{withlua}" == "1" Suggests: lua-libs -%endif + %endif + + %if "%{withperl}" == "1" +Suggests: perl-devel + %endif + +Suggests: python3 +Suggests: python3-libs + + %if "%{withruby}" == "1" +Suggests: ruby +Suggests: ruby-libs + %endif %description X11 VIM (VIsual editor iMproved) is an updated and improved version of the @@ -271,84 +362,100 @@ application with a full GUI interface and mouse support by command gvim. Install the vim-X11 package if you'd like to try out a version of vi with graphics and mouse capabilities. You'll also need to install the vim-common package. +%endif + +%package data +Summary: Shared data for Vi and Vim +BuildArch: noarch +# moved files from filesystem, common and minimal to data +# remove after F36 EOL+after release of CentOS Stream > 9 +Conflicts: %{name}-common < 2:8.2.3642-2 +Conflicts: %{name}-filesystem < 2:8.2.3642-2 +Conflicts: %{name}-minimal < 2:8.2.3642-2 + +%description data +The subpackage is used for shipping files and directories, which need to be +shared between vim-minimal and vim-common packages. + +%if %{with default_editor} +%package default-editor +Summary: Set vim as the default editor +BuildArch: noarch +Conflicts: system-default-editor +Provides: system-default-editor +Requires: vim-enhanced + +%description default-editor +This subpackage contains files needed to set Vim as the default editor. +%endif + +%package -n xxd +Summary: A hex dump utility +# the xxd related file were shipped in vim-common in the past, +# we have to conflict with the old ones +# remove this Conflicts once C10S is released +Conflicts: %{name}-common < 2:9.0.1440-2 + +%description -n xxd +xxd creates a hex dump of a given file or standard input. It can also convert +a hex dump back to its original binary form. + %prep %setup -q -b 0 -n %{vimdir} -#use %%{__python3} macro for defining shebang in python3 tests -sed -i -e 's,/usr/bin/python3,%{__python3},' %{PATCH3017} +# use %%{__python3} macro for defining shebangs in python3 tests +sed -i -e 's,/usr/bin/python3,%{__python3},' %{PATCH3005} # fix rogue dependencies from sample code chmod -x runtime/tools/mve.awk -%patch2002 -p1 -%patch2003 -p1 +%patch -P 2000 -p1 -b .fixkeys +%patch -P 2001 -p1 + %if %{withhunspell} -%patch2011 -p1 +%patch -P 2002 -p1 %endif + perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk # install spell files %if %{withvimspell} -%{__tar} xjf %{SOURCE13} +%{__tar} xjf %{SOURCE100} %endif -%patch3000 -p1 -%patch3002 -p1 -%patch3004 -p1 -%patch3006 -p1 -%patch3007 -p1 -%patch3008 -p1 -b .syncolor -#patch3009 -p1 -%patch3010 -p1 -%patch3011 -p1 -%patch3012 -p1 -%patch3013 -p1 -%patch3014 -p1 -%patch3016 -p1 -%patch3017 -p1 -%patch3018 -p1 -%patch3019 -p1 -b .cve -%patch3020 -p1 -b .crypto-warning -%patch3021 -p1 -b .rvim -%patch3022 -p1 -b .cve3796 -%patch3023 -p1 -b .cve3778 -%patch3024 -p1 -b .cve3872 -%patch3025 -p1 -b .cve3984 -%patch3026 -p1 -b .cve4019 -%patch3027 -p1 -b .cve4193 -%patch3028 -p1 -b .cve4192 -%patch3029 -p1 -b .cve0261 -%patch3030 -p1 -b .cve0318 -%patch3031 -p1 -b .cve0359 -%patch3032 -p1 -b .cve0392 -%patch3033 -p1 -b .cve0413 -%patch3034 -p1 -b .cve0361 -%patch3035 -p1 -b .cve1154 -%patch3036 -p1 -b .cve1621 -%patch3037 -p1 -b .cve1629 -%patch3038 -p1 -b .cve1785 -%patch3039 -p1 -b .cve1897 -%patch3040 -p1 -b .cve1927 +%patch -P 3000 -p1 +%patch -P 3001 -p1 +%patch -P 3002 -p1 +%patch -P 3003 -p1 -b .python-tests +%patch -P 3004 -p1 -b .fips-warning +%patch -P 3005 -p1 -b .copypaste +%patch -P 3006 -p1 -b .buffer-overflow +%patch -P 3007 -p1 -b .typo %build -%if 0%{?rhel} > 7 -export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 -%endif - cd src autoconf -sed -e "s+VIMRCLOC = \$(VIMLOC)+VIMRCLOC = /etc+" Makefile > Makefile.tmp -mv -f Makefile.tmp Makefile - -export CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I%{python3path}" -export CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I%{python3path}" +export CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2" +export CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2" cp -f os_unix.h os_unix.h.save -cp -f ex_cmds.c ex_cmds.c.save + +# Configure options: +# --enable-fail-if-missing - we need to fail if configure options aren't satisfied +# --with-features - for setting how big amount of features is enabled +# --enable-multibyte - enabling multibyte editing support - for editing files in languages, which one character +# cannot be represented by one byte - Asian languages, Unicode +# --disable-netbeans - disabling socket interface for integrating Vim into NetBeans IDE +# --enable-selinux - enabling selinux support +# --enable-Ninterp - enabling internal interpreter +# --with-x - yes if we want X11 support (graphical Vim for X11) +# --with-tlib - which terminal library to use +# --disable-gpm - disabling support for General Purpose Mouse - Linux mouse daemon perl -pi -e "s/vimrc/virc/" os_unix.h -%configure --prefix=%{_prefix} --with-features=small --with-x=no \ +%configure CFLAGS="${CFLAGS} -DSYS_VIMRC_FILE='\"/etc/virc\"'" \ + --prefix=%{_prefix} --with-features=tiny --with-x=no \ --enable-multibyte \ --disable-netbeans \ %if %{WITH_SELINUX} @@ -358,21 +465,28 @@ perl -pi -e "s/vimrc/virc/" os_unix.h %endif --disable-pythoninterp --disable-perlinterp --disable-tclinterp \ --with-tlib=ncurses --enable-gui=no --disable-gpm --exec-prefix=/ \ - --enable-fips-warning \ --with-compiledby="" \ - --with-modified-by="" + --with-modified-by="" \ + --enable-fips-warning \ + --enable-fail-if-missing \ + --disable-canberra \ + --disable-libsodium -make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} +%make_build cp vim minimal-vim make clean mv -f os_unix.h.save os_unix.h -mv -f ex_cmds.c.save ex_cmds.c -%configure --with-features=huge \ - --enable-pythoninterp=dynamic \ +%if %{with gui} +# More configure options: +# --enable-xim - enabling X Input Method - international input module for X, +# it is for multibyte languages in Vim with X +# --enable-termtruecolor - use terminal with true colors + +%configure CFLAGS="${CFLAGS} -DSYS_VIMRC_FILE='\"/etc/vimrc\"'" \ + --with-features=huge \ --enable-python3interp=dynamic \ - --enable-perlinterp=dynamic \ --disable-tclinterp --with-x=yes \ --enable-xim --enable-multibyte \ --with-tlib=ncurses \ @@ -380,43 +494,65 @@ mv -f ex_cmds.c.save ex_cmds.c --enable-fips-warning \ --with-compiledby="" --enable-cscope \ --with-modified-by="" \ -%if "%{withnetbeans}" == "1" +%if %{with gpm} + --enable-gpm \ +%else + --disable-gpm \ +%endif + %if "%{withnetbeans}" == "1" --enable-netbeans \ -%else + %else --disable-netbeans \ -%endif -%if %{WITH_SELINUX} + %endif + %if %{WITH_SELINUX} --enable-selinux \ -%else + %else --disable-selinux \ -%endif -%if "%{withruby}" == "1" + %endif + %if "%{withperl}" == "1" + --enable-perlinterp=dynamic \ + --with-xsubpp=$(which xsubpp) \ + %else + --disable-perlinterp \ + %endif + %if "%{withruby}" == "1" --enable-rubyinterp=dynamic \ -%else + %else --disable-rubyinterp \ -%endif -%if "%{withlua}" == "1" + %endif + %if "%{withlua}" == "1" --enable-luainterp=dynamic \ -%else + %else --disable-luainterp \ -%endif - --enable-termtruecolor + %endif + %if %{with libsodium_crypt} + --enable-libsodium \ + %else + --disable-libsodium \ + %endif + --enable-fail-if-missing \ + --enable-canberra -make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} +%make_build cp vim gvim make clean +%endif -%configure --prefix=%{_prefix} --with-features=huge \ - --enable-pythoninterp=dynamic \ +%configure CFLAGS="${CFLAGS} -DSYS_VIMRC_FILE='\"/etc/vimrc\"'" \ + --prefix=%{_prefix} --with-features=huge \ --enable-python3interp=dynamic \ - --enable-perlinterp=dynamic \ --disable-tclinterp \ --with-x=no \ --enable-gui=no --exec-prefix=%{_prefix} --enable-multibyte \ --enable-cscope --with-modified-by="" \ --with-tlib=ncurses \ - --enable-fips-warning \ + --enable-fips-warning \ --with-compiledby="" \ +%if %{with gpm} + --enable-gpm \ +%else + --disable-gpm \ +%endif %if "%{withnetbeans}" == "1" --enable-netbeans \ %else @@ -427,6 +563,12 @@ make clean %else --disable-selinux \ %endif +%if "%{withperl}" == "1" + --enable-perlinterp=dynamic \ + --with-xsubpp=$(which xsubpp) \ +%else + --disable-perlinterp \ +%endif %if "%{withruby}" == "1" --enable-rubyinterp=dynamic \ %else @@ -437,45 +579,53 @@ make clean %else --disable-luainterp \ %endif - --enable-termtruecolor +%if %{with libsodium_crypt} + --enable-libsodium \ +%else + --disable-libsodium \ +%endif + --enable-fail-if-missing \ + --disable-canberra -make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} +%make_build cp vim enhanced-vim %install mkdir -p %{buildroot}/%{_bindir} mkdir -p %{buildroot}/%{_datadir}/%{name}/vimfiles/{after,autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor} mkdir -p %{buildroot}/%{_datadir}/%{name}/vimfiles/after/{autoload,colors,compiler,doc,ftdetect,ftplugin,indent,keymap,lang,plugin,print,spell,syntax,tutor} -cp -f %{SOURCE11} . -%if %{?fedora}%{!?fedora:0} >= 16 || %{?rhel}%{!?rhel:0} >= 6 -cp -f %{SOURCE15} %{buildroot}/%{_datadir}/%{name}/vimfiles/template.spec -%else -cp -f %{SOURCE14} %{buildroot}/%{_datadir}/%{name}/vimfiles/template.spec -%endif +cp -f %{SOURCE7} %{buildroot}/%{_datadir}/%{name}/vimfiles/template.spec cp runtime/doc/uganda.txt LICENSE # Those aren't Linux info files but some binary files for Amiga: rm -f README*.info cd src -# Adding STRIP=/bin/true, because Vim wants to strip the binary by himself - -# build system does it for us -make install DESTDIR=%{buildroot} BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} STRIP=/bin/true -make installgtutorbin DESTDIR=%{buildroot} BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} +# Adding STRIP=/bin/true, because Vim wants to strip the binaries by himself +# and put the stripped files into correct dirs. Build system (koji/brew) +# does it for us, so there is no need to do it in Vim +%make_install BINDIR=%{_bindir} STRIP=/bin/true +# make install creates vim binary and view symlink, they will be wrappers +# so remove them here +rm -f %{buildroot}%{_bindir}/{vim,view} mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps -install -m755 minimal-vim %{buildroot}%{_bindir}/vi +mkdir -p %{buildroot}%{_libexecdir} +install -m755 minimal-vim %{buildroot}%{_libexecdir}/vi install -m755 enhanced-vim %{buildroot}%{_bindir}/vim +install -m755 %{SOURCE12} %{buildroot}%{_bindir}/view +install -m755 %{SOURCE13} %{buildroot}%{_bindir}/vi + +%if %{with gui} +make installgtutorbin DESTDIR=%{buildroot} BINDIR=%{_bindir} install -m755 gvim %{buildroot}%{_bindir}/gvim -install -p -m644 %{SOURCE7} \ +install -p -m644 %{SOURCE3} \ %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gvim.png -install -p -m644 %{SOURCE8} \ +install -p -m644 %{SOURCE4} \ %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gvim.png -install -p -m644 %{SOURCE9} \ +install -p -m644 %{SOURCE5} \ %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gvim.png -install -p -m644 %{SOURCE10} \ +install -p -m644 %{SOURCE6} \ %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/gvim.png -#cp -f %{SOURCE17} %{buildroot}/%{_datadir}/%{name}/%{vimdir}/ftplugin/spec.vim -#cp -f %{SOURCE18} %{buildroot}/%{_datadir}/%{name}/%{vimdir}/syntax/spec.vim # Register as an application to be visible in the software center # @@ -492,10 +642,12 @@ cat > $RPM_BUILD_ROOT%{_datadir}/metainfo/gvim.appdata.xml < SentUpstream: 2014-05-22 --> - - gvim.desktop + + org.vim.Vim + GVim CC0-1.0 Vim + The VIM version of the vi editor for the X Window System

Vim is an advanced text editor that seeks to provide the power of the @@ -510,53 +662,78 @@ SentUpstream: 2014-05-22 Vim is perfect for all kinds of text editing, from composing email to editing configuration files.

+

+ We ship the current Vim stable release - %{baseversion} - with the upstream + patchlevel %{patchlevel} applied, which is combined into version %{version} + used during packaging. +

+ + + https://raw.githubusercontent.com/zdohnal/vim/zdohnal-screenshot/gvim16_9.png http://www.vim.org/ -
+ + EOF +appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml + +for i in gvim.1 gex.1 gview.1 vimx.1; do + echo ".so man1/vim.1" > %{buildroot}/%{_mandir}/man1/$i +done +echo ".so man1/vimdiff.1" > %{buildroot}/%{_mandir}/man1/gvimdiff.1 +echo ".so man1/vimtutor.1" > %{buildroot}/%{_mandir}/man1/gvimtutor.1 +%else +# Remove files included in X11 subpackage, but built by default: +rm %{buildroot}/%{_mandir}/man1/evim.* +rm %{buildroot}/%{_datadir}/applications/{vim,gvim}.desktop +rm %{buildroot}/%{_datadir}/icons/{hicolor,locolor}/*/apps/gvim.png +%endif + ( cd %{buildroot} - ln -sf vi ./%{_bindir}/rvi - ln -sf vi ./%{_bindir}/rview - ln -sf vi ./%{_bindir}/view - ln -sf vi ./%{_bindir}/ex - ln -sf vim ./%{_bindir}/rvim - ln -sf vim ./%{_bindir}/vimdiff + ln -sf %{_libexecdir}/vi .%{_bindir}/rvi + ln -sf %{_libexecdir}/vi .%{_bindir}/rview + ln -sf %{_libexecdir}/vi .%{_bindir}/ex + ln -sf vim .%{_bindir}/rvim + ln -sf vim .%{_bindir}/vimdiff perl -pi -e "s,%{buildroot},," .%{_mandir}/man1/vim.1 .%{_mandir}/man1/vimtutor.1 rm -f .%{_mandir}/man1/rvim.1 cp -p .%{_mandir}/man1/vim.1 .%{_mandir}/man1/vi.1 ln -sf vi.1.gz .%{_mandir}/man1/rvi.1.gz + ln -sf vi.1.gz .%{_mandir}/man1/ex.1 + ln -sf vi.1.gz .%{_mandir}/man1/view.1 + ln -sf vi.1.gz .%{_mandir}/man1/rview.1 ln -sf vim.1.gz .%{_mandir}/man1/vimdiff.1.gz + +%if %{with gui} ln -sf gvim ./%{_bindir}/gview ln -sf gvim ./%{_bindir}/gex ln -sf gvim ./%{_bindir}/evim ln -sf gvim ./%{_bindir}/gvimdiff ln -sf gvim ./%{_bindir}/vimx + %if "%{desktop_file}" == "1" - mkdir -p %{buildroot}/%{_datadir}/applications desktop-file-install \ - %if 0%{?fedora} && 0%{?fedora} < 19 - --vendor fedora \ - %endif --dir %{buildroot}/%{_datadir}/applications \ - %{_builddir}/%{vimdir}/runtime/gvim.desktop + %{buildroot}/%{_datadir}/applications/gvim.desktop # --add-category "Development;TextEditor;X-Red-Hat-Base" D\ %else mkdir -p ./%{_sysconfdir}/X11/applnk/Applications - cp %{_builddir}/%{vimdir}/runtime/gvim.desktop ./%{_sysconfdir}/X11/applnk/Applications/gvim.desktop + cp %{buildroot}/%{_datadir}/applications/gvim.desktop ./%{_sysconfdir}/X11/applnk/Applications/gvim.desktop %endif + +%endif + # ja_JP.ujis is obsolete, ja_JP.eucJP is recommended. ( cd ./%{_datadir}/%{name}/%{vimdir}/lang; \ ln -sf menu_ja_jp.ujis.vim menu_ja_jp.eucjp.vim ) ) -appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml - pushd %{buildroot}/%{_datadir}/%{name}/%{vimdir}/tutor mkdir conv iconv -f CP1252 -t UTF8 tutor.ca > conv/tutor.ca @@ -587,12 +764,9 @@ chmod 644 %{buildroot}/%{_datadir}/%{name}/%{vimdir}/doc/vim2html.pl \ %{buildroot}/%{_datadir}/%{name}/%{vimdir}/tools/vim132 chmod 644 ../runtime/doc/vim2html.pl -mkdir -p %{buildroot}/%{_sysconfdir}/profile.d -cp %{SOURCE1} %{buildroot}/%{_sysconfdir}/profile.d/vim.sh -cp %{SOURCE2} %{buildroot}/%{_sysconfdir}/profile.d/vim.csh -chmod 0644 %{buildroot}/%{_sysconfdir}/profile.d/vim.* -install -p -m644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/virc -install -p -m644 %{SOURCE5} %{buildroot}/%{_sysconfdir}/vimrc +mkdir -p %{buildroot}%{_sysconfdir} +install -p -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/virc +install -p -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/vimrc # if Vim isn't built for Fedora, use redhat augroup %if 0%{?rhel} >= 7 @@ -600,8 +774,17 @@ sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/vimrc sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/virc %endif +%if %{with default_editor} +mkdir -p %{buildroot}/%{_sysconfdir}/profile.d +install -p -m644 %{SOURCE9} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.sh +install -p -m644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/profile.d/vim-default-editor.csh +mkdir -p %{buildroot}/%{_datadir}/fish/vendor_conf.d/ +install -p -m644 %{SOURCE11} %{buildroot}/%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish +mkdir -p %{buildroot}/%{_datadir}/fish/vendor_functions.d/ +%endif + mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ -install -p -m644 %{SOURCE16} %{buildroot}%{_rpmconfigdir}/macros.d/ +install -p -m644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/macros.d/ (cd ../runtime; rm -rf doc; ln -svf ../../vim/%{vimdir}/doc docs;) rm -f %{buildroot}/%{_datadir}/vim/%{vimdir}/macros/maze/maze*.c @@ -610,7 +793,7 @@ rm -rf %{buildroot}/%{_datadir}/vim/%{vimdir}/doc/vim2html.pl rm -f %{buildroot}/%{_datadir}/vim/%{vimdir}/tutor/tutor.gr.utf-8~ # Remove not UTF-8 manpages -for i in pl.ISO8859-2 it.ISO8859-1 ru.KOI8-R fr.ISO8859-1; do +for i in pl.ISO8859-2 it.ISO8859-1 ru.KOI8-R fr.ISO8859-1 da.ISO8859-1 de.ISO8859-1 tr.ISO8859-9; do rm -rf %{buildroot}/%{_mandir}/$i done @@ -618,20 +801,19 @@ done mv %{buildroot}/%{_mandir}/ru.UTF-8 %{buildroot}/%{_mandir}/ru # Remove duplicate man pages -for i in fr.UTF-8 it.UTF-8 pl.UTF-8; do +for i in fr.UTF-8 it.UTF-8 pl.UTF-8 da.UTF-8 de.UTF-8 tr.UTF-8; do rm -rf %{buildroot}/%{_mandir}/$i done -for i in rvim.1 gvim.1 gex.1 gview.1 vimx.1; do - echo ".so man1/vim.1" > %{buildroot}/%{_mandir}/man1/$i -done -echo ".so man1/vimdiff.1" > %{buildroot}/%{_mandir}/man1/gvimdiff.1 -echo ".so man1/vimtutor.1" > %{buildroot}/%{_mandir}/man1/gvimtutor.1 +# Install symlink for rvim man page +echo ".so man1/vim.1" > %{buildroot}/%{_mandir}/man1/rvim.1 + mkdir -p %{buildroot}/%{_mandir}/man5 echo ".so man1/vim.1" > %{buildroot}/%{_mandir}/man5/vimrc.5 echo ".so man1/vi.1" > %{buildroot}/%{_mandir}/man5/virc.5 touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags + # Refresh documentation helptags %transfiletriggerin common -- %{_datadir}/%{name}/vimfiles/doc %{_bindir}/vim -c ":helptags %{_datadir}/%{name}/vimfiles/doc" -c :q &> /dev/null || : @@ -643,21 +825,18 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %files common %config(noreplace) %{_sysconfdir}/vimrc %{!?_licensedir:%global license %%doc} -%license LICENSE %doc README* %doc runtime/docs -%doc Changelog.rpm -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/vimfiles/template.spec -%dir %{_datadir}/%{name}/%{vimdir} -%{_datadir}/%{name}/%{vimdir}/rgb.txt %{_datadir}/%{name}/%{vimdir}/autoload %{_datadir}/%{name}/%{vimdir}/colors %{_datadir}/%{name}/%{vimdir}/compiler %{_datadir}/%{name}/%{vimdir}/pack %{_datadir}/%{name}/%{vimdir}/doc %{_datadir}/%{name}/%{vimdir}/*.vim +%exclude %{_datadir}/%{name}/%{vimdir}/defaults.vim %{_datadir}/%{name}/%{vimdir}/ftplugin +%{_datadir}/%{name}/%{vimdir}/import/dist/vimhelp.vim +%{_datadir}/%{name}/%{vimdir}/import/dist/vimhighlight.vim %{_datadir}/%{name}/%{vimdir}/indent %{_datadir}/%{name}/%{vimdir}/keymap %{_datadir}/%{name}/%{vimdir}/lang/*.vim @@ -668,13 +847,16 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %{_datadir}/%{name}/%{vimdir}/print %{_datadir}/%{name}/%{vimdir}/syntax %{_datadir}/%{name}/%{vimdir}/tutor + %if ! %{withvimspell} %{_datadir}/%{name}/%{vimdir}/spell %endif + %lang(af) %{_datadir}/%{name}/%{vimdir}/lang/af %lang(ca) %{_datadir}/%{name}/%{vimdir}/lang/ca %lang(cs) %{_datadir}/%{name}/%{vimdir}/lang/cs %lang(cs.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/cs.cp1250 +%lang(da) %{_datadir}/%{name}/%{vimdir}/lang/da %lang(de) %{_datadir}/%{name}/%{vimdir}/lang/de %lang(en_GB) %{_datadir}/%{name}/%{vimdir}/lang/en_GB %lang(eo) %{_datadir}/%{name}/%{vimdir}/lang/eo @@ -682,6 +864,7 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %lang(fi) %{_datadir}/%{name}/%{vimdir}/lang/fi %lang(fr) %{_datadir}/%{name}/%{vimdir}/lang/fr %lang(ga) %{_datadir}/%{name}/%{vimdir}/lang/ga +%lang(hu) %{_datadir}/%{name}/%{vimdir}/lang/hu %lang(it) %{_datadir}/%{name}/%{vimdir}/lang/it %lang(ja) %{_datadir}/%{name}/%{vimdir}/lang/ja %lang(ja.euc-jp) %{_datadir}/%{name}/%{vimdir}/lang/ja.euc-jp @@ -702,6 +885,7 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %lang(sk.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/sk.cp1250 %lang(sr) %{_datadir}/%{name}/%{vimdir}/lang/sr %lang(sv) %{_datadir}/%{name}/%{vimdir}/lang/sv +%lang(tr) %{_datadir}/%{name}/%{vimdir}/lang/tr %lang(uk) %{_datadir}/%{name}/%{vimdir}/lang/uk %lang(uk.cp1251) %{_datadir}/%{name}/%{vimdir}/lang/uk.cp1251 %lang(vi) %{_datadir}/%{name}/%{vimdir}/lang/vi @@ -710,22 +894,27 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %lang(zh_TW) %{_datadir}/%{name}/%{vimdir}/lang/zh_TW %lang(zh_CN.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN.UTF-8 %lang(zh_TW.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/zh_TW.UTF-8 -/%{_bindir}/xxd -%{_mandir}/man1/gex.* -%{_mandir}/man1/gview.* -%{_mandir}/man1/gvim* %{_mandir}/man1/rvim.* %{_mandir}/man1/vim.* %{_mandir}/man1/vimdiff.* %{_mandir}/man1/vimtutor.* -%{_mandir}/man1/vimx.* -%{_mandir}/man1/xxd.* %{_mandir}/man5/vimrc.* + +%if %{with gui} +%{_mandir}/man1/gex.* +%{_mandir}/man1/gview.* +%{_mandir}/man1/gvim* +%{_mandir}/man1/vimx.* +%endif + %lang(fr) %{_mandir}/fr/man1/* +%lang(da) %{_mandir}/da/man1/* +%lang(de) %{_mandir}/de/man1/* %lang(it) %{_mandir}/it/man1/* %lang(ja) %{_mandir}/ja/man1/* %lang(pl) %{_mandir}/pl/man1/* %lang(ru) %{_mandir}/ru/man1/* +%lang(tr) %{_mandir}/tr/man1/* %if %{withvimspell} %files spell @@ -787,10 +976,11 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %files minimal %config(noreplace) %{_sysconfdir}/virc %{_bindir}/ex -%{_bindir}/vi -%{_bindir}/view %{_bindir}/rvi %{_bindir}/rview +%{_bindir}/vi +%{_bindir}/view +%{_libexecdir}/vi %{_mandir}/man1/vi.* %{_mandir}/man1/ex.* %{_mandir}/man1/rvi.* @@ -799,15 +989,13 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %{_mandir}/man5/virc.* %files enhanced -%{_bindir}/vim %{_bindir}/rvim +%{_bindir}/vim %{_bindir}/vimdiff %{_bindir}/vimtutor -%config(noreplace) %{_sysconfdir}/profile.d/vim.* %files filesystem %{_rpmconfigdir}/macros.d/macros.vim -%dir %{_datadir}/%{name}/vimfiles %dir %{_datadir}/%{name}/vimfiles/after %dir %{_datadir}/%{name}/vimfiles/after/* %dir %{_datadir}/%{name}/vimfiles/autoload @@ -817,6 +1005,8 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %ghost %{_datadir}/%{name}/vimfiles/doc/tags %dir %{_datadir}/%{name}/vimfiles/ftdetect %dir %{_datadir}/%{name}/vimfiles/ftplugin +%dir %{_datadir}/%{name}/%{vimdir}/import +%dir %{_datadir}/%{name}/%{vimdir}/import/dist %dir %{_datadir}/%{name}/vimfiles/indent %dir %{_datadir}/%{name}/vimfiles/keymap %dir %{_datadir}/%{name}/vimfiles/lang @@ -826,14 +1016,15 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %dir %{_datadir}/%{name}/vimfiles/syntax %dir %{_datadir}/%{name}/vimfiles/tutor +%if %{with gui} %files X11 -%if "%{desktop_file}" == "1" + %if "%{desktop_file}" == "1" %{_datadir}/metainfo/*.appdata.xml /%{_datadir}/applications/* %exclude /%{_datadir}/applications/vim.desktop -%else + %else /%{_sysconfdir}/X11/applnk/*/gvim.desktop -%endif + %endif %{_bindir}/gvimtutor %{_bindir}/gvim %{_bindir}/gvimdiff @@ -843,98 +1034,1286 @@ touch %{buildroot}/%{_datadir}/%{name}/vimfiles/doc/tags %{_bindir}/vimx %{_bindir}/evim %{_mandir}/man1/evim.* +%dir %{_datadir}/icons/hicolor +%dir %{_datadir}/icons/hicolor/* +%dir %{_datadir}/icons/hicolor/*/apps %{_datadir}/icons/hicolor/*/apps/* +%dir %{_datadir}/icons/locolor +%dir %{_datadir}/icons/locolor/* +%dir %{_datadir}/icons/locolor/*/apps %{_datadir}/icons/locolor/*/apps/* +%endif + +%files data +%license LICENSE +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/%{vimdir} +%{_datadir}/%{name}/%{vimdir}/defaults.vim +%dir %{_datadir}/%{name}/vimfiles +%{_datadir}/%{name}/vimfiles/template.spec + +%if %{with default_editor} +%files default-editor +%dir %{_datadir}/fish/vendor_conf.d +%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish +%config(noreplace) %{_sysconfdir}/profile.d/vim-default-editor.* +%endif + +%files -n xxd +%license LICENSE +%{_bindir}/xxd +%{_mandir}/man1/xxd.* + %changelog -* Tue Jun 14 2022 Zdenek Dohnal - 2:8.0.1763-19.4 -- fix issue reported by covscan +* Mon Jan 27 2025 Zdenek Dohnal - 2:9.1.083-5 +- rebuilt with new GCC to fix RHEL-74127 -* Mon Jun 13 2022 Zdenek Dohnal - 2:8.0.1763-19.3 -- CVE-2022-1785 vim: Out-of-bounds Write -- CVE-2022-1897 vim: out-of-bounds write in vim_regsub_both() in regexp.c -- CVE-2022-1927 vim: buffer over-read in utf_ptr2char() in mbyte.c +* Thu Dec 05 2024 Zdenek Dohnal - 2:9.1.083-4 +- RHEL-44652 vim-9.1.083-1.el10: RHEL SAST Automation: address 4 High impact true positive(s) -* Wed May 25 2022 Zdenek Dohnal - 2:8.0.1763-19.2 -- CVE-2022-1621 vim: heap buffer overflow -- CVE-2022-1629 vim: buffer over-read +* Tue Oct 29 2024 Troy Dawson - 2:9.1.083-3 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 -* Sat Apr 09 2022 Zdenek Dohnal - 2:8.0.1763-19.1 -- CVE-2022-1154 vim: use after free in utf_ptr2char +* Mon Jun 24 2024 Troy Dawson - 2:9.1.083-2 +- Bump release for June 2024 mass rebuild -* Tue Feb 08 2022 Zdenek Dohnal - 2:8.0.1763-19 -- CVE-2022-0361 vim: Heap-based Buffer Overflow in GitHub repository +* Fri Feb 09 2024 Zdenek Dohnal - 2:9.1.083-1 +- patchlevel 083 -* Mon Feb 07 2022 Zdenek Dohnal - 2:8.0.1763-18 -- CVE-2022-0392 vim: heap-based buffer overflow in getexmodeline() in ex_getln.c -- CVE-2022-0413 vim: use after free in src/ex_cmds.c +* Mon Feb 05 2024 Zdenek Dohnal - 2:9.1.076-2 +- enable building without GPM support - build with GPM in Fedora +- 2262371 - gvim: symbol lookup error: gvim: undefined symbol: g_once_init_enter_pointer -* Thu Jan 27 2022 Zdenek Dohnal - 2:8.0.1763-18 -- fix test suite after fix for CVE-2022-0318 -- CVE-2022-0359 vim: heap-based buffer overflow in init_ccline() in ex_getln.c +* Mon Feb 05 2024 Zdenek Dohnal - 2:9.1.076-1 +- patchlevel 076 -* Wed Jan 12 2022 Zdenek Dohnal - 2:8.0.1763-18 -- CVE-2022-0261 vim: Heap-based Buffer Overflow in block_insert() in src/ops.c -- CVE-2022-0318 vim: heap-based buffer overflow in utf_head_off() in mbyte.c +* Sat Jan 27 2024 Fedora Release Engineering - 2:9.1.031-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Wed Jan 12 2022 Zdenek Dohnal - 2:8.0.1763-18 -- CVE-2021-4193 vim: vulnerable to Out-of-bounds Read -- CVE-2021-4192 vim: vulnerable to Use After Free +* Tue Jan 16 2024 Zdenek Dohnal - 2:9.1.031-1 +- patchlevel 031 -* Fri Dec 03 2021 Zdenek Dohnal - 2:8.0.1763-18 -- 2028341 - CVE-2021-3984 vim: illegal memory access when C-indenting could lead to Heap Buffer Overflow [rhel-8.6.0] -- 2028430 - CVE-2021-4019 vim: heap-based buffer overflow in find_help_tags() in src/help.c [rhel-8.6.0] +* Mon Jan 08 2024 Zdenek Dohnal - 2:9.1.016-1 +- patchlevel 016 -* Tue Oct 26 2021 Zdenek Dohnal - 2:8.0.1763-17 -- 2016201 - CVE-2021-3872 vim: heap-based buffer overflow in win_redr_status() drawscreen.c [rhel-8.6.0] +* Tue Jan 02 2024 Zdenek Dohnal - 2:9.0.2190-1 +- patchlevel 2190 -* Thu Sep 23 2021 Zdenek Dohnal - 2:8.0.1763-16 -- 2004975 - CVE-2021-3796 vim: use-after-free in nv_replace() in normal.c [rhel-8.6.0] -- 2004892 - CVE-2021-3778 vim: heap-based buffer overflow in utf_ptr2char() in mbyte.c [rhel-8.6.0] +* Fri Dec 15 2023 Zdenek Dohnal - 2:9.0.2167-1 +- patchlevel 2167 -* Tue Jun 02 2020 Zdenek Dohnal - 2:8.0.1763-15 -- 1842755 - CVE-2019-20807 +* Fri Dec 08 2023 Zdenek Dohnal - 2:9.0.2153-1 +- patchlevel 2153 -* Mon Feb 10 2020 Zdenek Dohnal - 2:8.0.1763-14 -- 1745476 - manpage of vim is garbled in Japanese locale +* Wed Nov 22 2023 Zdenek Dohnal - 2:9.0.2120-1 +- patchlevel 2120 -* Tue Jul 23 2019 Zdenek Dohnal - 2:8.0.1763-13 -- fixing covscan issues raised by previous commit +* Thu Nov 16 2023 Zdenek Dohnal - 2:9.0.2105-1 +- patchlevel 2105 -* Tue Jul 23 2019 Zdenek Dohnal - 2:8.0.1763-12 -- 1605095 - vim: should not re-implement crypto +* Wed Nov 01 2023 Zdenek Dohnal - 2:9.0.2081-1 +- patchlevel 2081 -* Fri Jun 14 2019 Zdenek Dohnal - 2:8.0.1763-11 -- 1719812 - CVE-2019-12735 vim: vim/neovim: arbitrary command execution in getchar.c [rhel-8.1.0] +* Wed Oct 18 2023 Zdenek Dohnal - 2:9.0.2048-1 +- patchlevel 2048 -* Thu Dec 06 2018 Zdenek Dohnal - 2:8.0.1763-10 -- do not strip binaries before build system strips them +* Thu Oct 05 2023 Remi Collet - 2:9.0.1984-2 +- rebuild for new libsodium -* Tue Nov 27 2018 Zdenek Dohnal - 2:8.0.1763-9 -- 1602727 - Please review important issues found by covscan in "vim-8.0.1763-2.el8+7" package +* Thu Oct 05 2023 Zdenek Dohnal - 2:9.0.1984-1 +- patchlevel 1984 -* Fri Oct 19 2018 Zdenek Dohnal - 2:8.0.1763-8 -- 1640919 - augroup fedora, test case failure: /CoreOS/vim/Regression/bz241308-use-augroup-for-rh-autocmds +* Mon Oct 02 2023 Zdenek Dohnal - 2:9.0.1968-1 +- patchlevel 1968 -* Tue Jul 24 2018 Zdenek Dohnal - 2:8.0.1763-7 +* Fri Sep 22 2023 Zdenek Dohnal - 2:9.0.1927-1 +- patchlevel 1927 + +* Thu Sep 07 2023 Zdenek Dohnal - 2:9.0.1882-1 +- patchlevel 1882 + +* Wed Sep 06 2023 Zdenek Dohnal - 2:9.0.1872-2 +- test_xxd_color2 is flaky + +* Tue Sep 05 2023 Zdenek Dohnal - 2:9.0.1872-1 +- patchlevel 1872 + +* Wed Aug 30 2023 Zdenek Dohnal - 2:9.0.1822-1 +- patchlevel 1822 + +* Mon Aug 14 2023 Zdenek Dohnal - 2:9.0.1712-1 +- patchlevel 1712 + +* Fri Aug 11 2023 Zdenek Dohnal - 2:9.0.1677-4 +- fix test suite from python3 syntax warnings + +* Sat Jul 22 2023 Fedora Release Engineering - 2:9.0.1677-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 13 2023 Zdenek Dohnal - 2:9.0.1677-2 +- 2222671 - fix FTBFS due Python3 rebase +- 2222648 - fix FailToInstall due Perl rebase + +* Tue Jul 11 2023 Zdenek Dohnal - 2:9.0.1677-2 +- patchlevel 1677 + +* Tue Jul 11 2023 Jitka Plesnikova - 2:9.0.1671-2 +- Perl 5.38 rebuild + +* Fri Jun 30 2023 Zdenek Dohnal - 2:9.0.1671-1 +- patchlevel 1671 + +* Fri Jun 23 2023 Zdenek Dohnal - 2:9.0.1649-1 +- patchlevel 1649 + +* Tue Jun 13 2023 Zdenek Dohnal - 2:9.0.1627-1 +- patchlevel 1627 + +* Mon Jun 05 2023 Zdenek Dohnal - 2:9.0.1607-1 +- patchlevel 1607 + +* Wed May 31 2023 Zdenek Dohnal - 2:9.0.1592-1 +- patchlevel 1592 + +* Mon May 29 2023 Zdenek Dohnal - 2:9.0.1587-1 +- patchlevel 1587 + +* Wed May 24 2023 Zdenek Dohnal - 2:9.0.1575-1 +- patchlevel 1575 + +* Thu May 18 2023 Zdenek Dohnal - 2:9.0.1562-1 +- patchlevel 1562 + +* Thu Apr 27 2023 Zdenek Dohnal - 2:9.0.1491-1 +- patchlevel 1491 + +* Tue Apr 25 2023 Zdenek Dohnal - 2:9.0.1486-1 +- patchlevel 1486 + +* Fri Apr 21 2023 Zdenek Dohnal - 2:9.0.1472-1 +- patchlevel 1472 + +* Tue Apr 11 2023 Zdenek Dohnal - 2:9.0.1443-1 +- patchlevel 1443 + +* Tue Apr 11 2023 Zdenek Dohnal - 2:9.0.1440-2 +- incorporate License tag changes based on legal team response + +* Wed Apr 05 2023 Andreas Schneider - 2:9.0.1440-2 +- create xxd package, because it is used by hex.nvim + +* Wed Apr 05 2023 Zdenek Dohnal - 2:9.0.1440-2 +- list most licenses available in binary rpms and migrate them into SPDX syntax + +* Wed Apr 05 2023 Zdenek Dohnal - 2:9.0.1440-1 +- patchlevel 1440 + +* Mon Mar 27 2023 Zdenek Dohnal - 2:9.0.1429-1 +- patchlevel 1429 + +* Wed Mar 22 2023 Zdenek Dohnal - 2:9.0.1423-1 +- patchlevel 1423 + +* Thu Mar 16 2023 Zdenek Dohnal - 2:9.0.1407-1 +- patchlevel 1407 + +* Tue Mar 14 2023 Zdenek Dohnal - 2:9.0.1403-1 +- patchlevel 1403 + +* Thu Mar 02 2023 Zdenek Dohnal - 2:9.0.1367-1 +- patchlevel 1367 + +* Fri Feb 17 2023 Zdenek Dohnal - 2:9.0.1314-1 +- patchlevel 1314 + +* Tue Feb 14 2023 Zdenek Dohnal - 2:9.0.1307-1 +- patchlevel 1307 + +* Tue Feb 14 2023 Zdenek Dohnal - 2:9.0.1293-2 +- 2169641 - Syntax highlight for sh files broken + +* Thu Feb 09 2023 Zdenek Dohnal - 2:9.0.1293-1 +- patchlevel 1293 + +* Mon Jan 30 2023 Zdenek Dohnal - 2:9.0.1262-1 +- patchlevel 1262 + +* Thu Jan 19 2023 Zdenek Dohnal - 2:9.0.1221-1 +- patchlevel 1221 + +* Thu Jan 12 2023 Zdenek Dohnal - 2:9.0.1182-1 +- patchlevel 1182 + +* Mon Jan 09 2023 Zdenek Dohnal - 2:9.0.1160-1 +- patchlevel 1160 + +* Mon Jan 09 2023 Zdenek Dohnal - 2:9.0.1054-2 +- FTBFS with new FORTIFY_SOURCE=3 - remove it since Vim wants level 1 + +* Wed Dec 14 2022 Zdenek Dohnal - 2:9.0.1054-1 +- patchlevel 1054 + +* Mon Dec 05 2022 Zdenek Dohnal - 2:9.0.1006-1 +- patchlevel 1006 + +* Mon Nov 28 2022 Zdenek Dohnal - 2:9.0.963-1 +- patchlevel 963 + +* Mon Nov 21 2022 Zdenek Dohnal - 2:9.0.915-1 +- patchlevel 915 + +* Thu Nov 03 2022 Zdenek Dohnal - 2:9.0.828-1 +- patchlevel 828 + +* Thu Oct 20 2022 Zdenek Dohnal - 2:9.0.803-1 +- patchlevel 803 + +* Mon Oct 17 2022 Zdenek Dohnal - 2:9.0.777-1 +- patchlevel 777 + +* Wed Oct 12 2022 Zdenek Dohnal - 2:9.0.720-2 +- the current configure option for Vi is 'tiny' + +* Tue Oct 11 2022 Zdenek Dohnal - 2:9.0.720-1 +- patchlevel 720 + +* Wed Sep 28 2022 Carl George - 2:9.0.475-2 +- Obsolete vim-toml since the runtime files are now part of vim-common + +* Fri Sep 16 2022 Zdenek Dohnal - 2:9.0.475-1 +- patchlevel 475 + +* Fri Sep 16 2022 Zdenek Dohnal - 2:9.0.412-2 +- provide 'vim(plugins-supported)' for plugins to require Vim/GVim + +* Thu Sep 08 2022 Zdenek Dohnal - 2:9.0.412-1 +- patchlevel 412 + +* Thu Sep 01 2022 Zdenek Dohnal - 2:9.0.348-1 +- patchlevel 348 + +* Tue Aug 30 2022 Zdenek Dohnal - 2:9.0.327-1 +- patchlevel 327 + +* Tue Aug 23 2022 Zdenek Dohnal - 2:9.0.246-1 +- patchlevel 246 + +* Mon Aug 15 2022 Zdenek Dohnal - 2:9.0.213-1 +- patchlevel 213 + +* Thu Aug 11 2022 Zdenek Dohnal - 2:9.0.189-1 +- patchlevel 189 + +* Thu Aug 04 2022 Zdenek Dohnal - 2:9.0.137-1 +- patchlevel 137 + +* Tue Jul 26 2022 Zdenek Dohnal - 2:9.0.077-1 +- patchlevel 077 + +* Sat Jul 23 2022 Fedora Release Engineering - 2:9.0.049-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jul 11 2022 Zdenek Dohnal - 2:9.0.049-1 +- patchlevel 049 + +* Tue Jun 28 2022 Zdenek Dohnal - 2:8.2.5172-1 +- patchlevel 5172 + +* Tue Jun 21 2022 Zdenek Dohnal - 2:8.2.5141-1 +- patchlevel 5141 + +* Tue Jun 14 2022 Zdenek Dohnal - 2:8.2.5085-1 +- patchlevel 5085 + +* Fri Jun 03 2022 Zdenek Dohnal - 2:8.2.5052-1 +- patchlevel 5052 + +* Tue May 31 2022 Zdenek Dohnal - 2:8.2.5046-1 +- patchlevel 5046 + +* Wed May 18 2022 Zdenek Dohnal - 2:8.2.4975-1 +- patchlevel 4975 + +* Tue May 17 2022 Zdenek Dohnal - 2:8.2.4969-1 +- patchlevel 4969 + +* Mon May 09 2022 Zdenek Dohnal - 2:8.2.4927-1 +- patchlevel 4927 + +* Mon May 09 2022 Zdenek Dohnal - 2:8.2.4877-2 +- add new file vimhelp.vim + +* Fri May 06 2022 Zdenek Dohnal - 2:8.2.4877-1 +- patchlevel 4877 + +* Mon May 02 2022 Zdenek Dohnal - 2:8.2.4857-1 +- patchlevel 4857 + +* Fri Apr 29 2022 Zdenek Dohnal - 2:8.2.4845-1 +- patchlevel 4845 + +* Fri Apr 22 2022 Zdenek Dohnal - 2:8.2.4804-1 +- patchlevel 4804 + +* Fri Apr 08 2022 Zdenek Dohnal - 2:8.2.4701-2 +- fix the upstream testsuite failure due downstream patch + +* Thu Apr 07 2022 Zdenek Dohnal - 2:8.2.4701-1 +- patchlevel 4701 + +* Fri Mar 25 2022 Zdenek Dohnal - 2:8.2.4621-1 +- patchlevel 4621 + +* Wed Mar 16 2022 Zdenek Dohnal - 2:8.2.4579-1 +- patchlevel 4579 + +* Wed Mar 09 2022 Zdenek Dohnal - 2:8.2.4529-1 +- patchlevel 4529 + +* Tue Mar 01 2022 Zdenek Dohnal - 2:8.2.4485-1 +- patchlevel 4485 + +* Thu Feb 24 2022 Zdenek Dohnal - 2:8.2.4460-1 +- patchlevel 4460 + +* Mon Feb 21 2022 Zdenek Dohnal - 2:8.2.4428-1 +- patchlevel 4428 + +* Tue Feb 15 2022 Zdenek Dohnal - 2:8.2.4386-1 +- patchlevel 4386 + +* Mon Feb 07 2022 Zdenek Dohnal - 2:8.2.4314-1 +- patchlevel 4314 + +* Thu Jan 27 2022 Zdenek Dohnal - 2:8.2.4232-1 +- patchlevel 4232 + +* Mon Jan 24 2022 Zdenek Dohnal - 2:8.2.4198-1 +- patchlevel 4198 + +* Sat Jan 22 2022 Fedora Release Engineering - 2:8.2.4068-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 12 2022 Zdenek Dohnal - 2:8.2.4068-1 +- patchlevel 4068 + +* Mon Jan 10 2022 Zdenek Dohnal - 2:8.2.4051-1 +- patchlevel 4051 + +* Fri Jan 07 2022 Malcolm Inglis - 2:8.2.4006-2 +- add 'gui' build condition for vim-X11 + +* Wed Jan 05 2022 Zdenek Dohnal - 2:8.2.4006-1 +- patchlevel 4006 + +* Wed Dec 15 2021 Zdenek Dohnal - 2:8.2.3811-1 +- patchlevel 3811 + +* Tue Dec 07 2021 Zdenek Dohnal - 2:8.2.3755-1 +- patchlevel 3755 + +* Thu Dec 02 2021 Zdenek Dohnal - 2:8.2.3717-1 +- patchlevel 3717 + +* Thu Nov 25 2021 Zdenek Dohnal - 2:8.2.3642-2 +- 2026651 - defaults.vim changes create conflicts between vim-minimal and vim-common + +* Mon Nov 22 2021 Zdenek Dohnal - 2:8.2.3642-1 +- patchlevel 3642 + +* Mon Nov 08 2021 Zdenek Dohnal - 2:8.2.3582-1 +- patchlevel 3582 + +* Mon Nov 01 2021 Zdenek Dohnal - 2:8.2.3568-1 +- patchlevel 3568 + +* Fri Oct 15 2021 Zdenek Dohnal - 2:8.2.3512-1 +- patchlevel 3512 + +* Thu Oct 14 2021 Zdenek Dohnal - 2:8.2.3404-2 +- adjust test suite to Python 3.10 + +* Thu Oct 14 2021 Zdenek Dohnal - 2:8.2.3404-2 +- remove filetype plugin from virc - it doesn't work with vi + +* Mon Oct 11 2021 Zdenek Dohnal - 2:8.2.3404-2 +- set system vimrc via compiler macros + +* Thu Sep 23 2021 Zdenek Dohnal - 2:8.2.3404-2 +- remove downstream patch vim-8.0-copypaste.patch - put mouse settings into defaults.vim again + +* Mon Sep 06 2021 Zdenek Dohnal - 2:8.2.3404-1 +- patchlevel 3404 + +* Wed Sep 01 2021 Zdenek Dohnal - 2:8.2.3391-1 +- patchlevel 3391 + +* Mon Aug 23 2021 Zdenek Dohnal - 2:8.2.3367-1 +- patchlevel 3367 + +* Mon Aug 16 2021 Zdenek Dohnal - 2:8.2.3354-1 +- patchlevel 3354 + +* Mon Aug 09 2021 Zdenek Dohnal - 2:8.2.3318-1 +- patchlevel 3318 + +* Thu Aug 05 2021 Zdenek Dohnal - 2:8.2.3290-1 +- patchlevel 3290 + +* Mon Aug 02 2021 Zdenek Dohnal - 2:8.2.3273-1 +- patchlevel 3273 + +* Mon Jul 26 2021 Zdenek Dohnal - 2:8.2.3223-1 +- patchlevel 3223 + +* Fri Jul 23 2021 Fedora Release Engineering - 2:8.2.3182-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jul 19 2021 Zdenek Dohnal - 2:8.2.3182-1 +- patchlevel 3182 + +* Mon Jul 12 2021 Zdenek Dohnal - 2:8.2.3154-1 +- patchlevel 3154 + +* Mon Jun 28 2021 Zdenek Dohnal - 2:8.2.3070-1 +- patchlevel 3070 + +* Fri Jun 25 2021 Zdenek Dohnal - 2:8.2.3046-1 +- patchlevel 3046 + +* Thu Jun 24 2021 Zdenek Dohnal - 2:8.2.3043-1 +- patchlevel 3043 +- enable libsodium encryption in Fedora +- require glibc-gconv-extra on F35 and later + +* Wed Jun 16 2021 Zdenek Dohnal - 2:8.2.3009-1 +- patchlevel 3009 + +* Thu Jun 10 2021 Zdenek Dohnal - 2:8.2.2956-2 +- 1969936 - Failed to source defaults.vim + +* Mon Jun 07 2021 Zdenek Dohnal - 2:8.2.2956-1 +- patchlevel 2956 + +* Fri Jun 04 2021 Zdenek Dohnal - 2:8.2.2932-1 +- patchlevel 2932 + +* Mon May 24 2021 Zdenek Dohnal - 2:8.2.2879-1 +- patchlevel 2879 + +* Fri May 21 2021 Zdenek Dohnal - 2:8.2.2875-1 +- patchlevel 2875 + +* Mon May 10 2021 Zdenek Dohnal - 2:8.2.2846-1 +- patchlevel 2846 + +* Wed May 05 2021 Zdenek Dohnal - 2:8.2.2825-2 +- make default-editor built only on Fedora + +* Mon May 03 2021 Zdenek Dohnal - 2:8.2.2825-1 +- patchlevel 2825 + +* Mon Apr 26 2021 Zdenek Dohnal - 2:8.2.2811-1 +- patchlevel 2811 + +* Tue Apr 20 2021 Zdenek Dohnal - 2:8.2.2787-1 +- patchlevel 2787 + +* Mon Apr 12 2021 Zdenek Dohnal - 2:8.2.2756-1 +- patchlevel 2756 + +* Thu Apr 08 2021 Zdenek Dohnal - 2:8.2.2735-1 +- patchlevel 2735 + +* Mon Mar 22 2021 Zdenek Dohnal - 2:8.2.2637-1 +- patchlevel 2637 + +* Mon Mar 15 2021 Zdenek Dohnal - 2:8.2.2607-1 +- patchlevel 2607 + +* Mon Mar 08 2021 Zdenek Dohnal - 2:8.2.2576-1 +- patchlevel 2576 + +* Mon Mar 01 2021 Zdenek Dohnal - 2:8.2.2559-1 +- patchlevel 2559 + +* Mon Mar 01 2021 Zdenek Dohnal - 2:8.2.2541-2 +- 1928442 - vim-enhanced is replacing vim-wrappers-8.2.2465-1 + +* Mon Feb 22 2021 Zdenek Dohnal - 2:8.2.2541-1 +- patchlevel 2541 +- 1931099 - Build version numbers don't match the actual build patchlevel + +* Thu Feb 18 2021 Zdenek Dohnal - 2:8.2.2529-1 +- patchlevel 2529 + +* Tue Feb 09 2021 Zdenek Dohnal - 2:8.2.2488-1 +- patchlevel 2488 + +* Tue Feb 09 2021 Zdenek Dohnal - 2:8.2.2465-2 +- remove vim-wrappers, vim is a binary again, vi and view stay as wrappers +- removed vim -> vi functionality, because it cannot be optional and work + for all cases at the same time + +* Mon Feb 08 2021 Zdenek Dohnal - 2:8.2.2465-2 +- view is not readonly right now, fix it by -R + +* Thu Feb 04 2021 Zdenek Dohnal - 2:8.2.2465-1 +- patchlevel 2465 +- 1918575 - Use wrappers for vi/vim instead of aliases + +* Thu Feb 04 2021 Zdenek Dohnal - 2:8.2.2451-2 +- vim-update.sh: apply changes master->rawhide + +* Tue Feb 02 2021 Zdenek Dohnal - 2:8.2.2451-1 +- patchlevel 2451 + +* Wed Jan 27 2021 Fedora Release Engineering - 2:8.2.2311-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 11 2021 Zdenek Dohnal - 2:8.2.2311-2 +- conflicting the version when the change happened doesnt make sense + +* Fri Jan 08 2021 Zdenek Dohnal - 2:8.2.2311-1 +- patchlevel 2311 + +* Fri Dec 18 2020 Zdenek Dohnal - 2:8.2.2146-2 +- install vim-minimal profiles under different name to avoid future conflicts +- remove old conflicts + +* Wed Dec 16 2020 Zdenek Dohnal - 2:8.2.2146-1 +- patchlevel 2146 + +* Wed Dec 16 2020 Zdenek Dohnal - 2:8.2.2143-2 +- make profile files as ghosts to prevent further conflicts +- remove ownership of /etc/profile.d - rpmlinter reports it as an error +- remove interactive prompt from profile scripts + +* Mon Dec 14 2020 Zdenek Dohnal - 2:8.2.2143-1 +- patchlevel 2143 + +* Mon Dec 14 2020 Zdenek Dohnal - 2:8.2.2115-2 +- 1907335 - installing vim no longer works, due to package conflicts with vim-minimal + +* Wed Dec 09 2020 Zdenek Dohnal - 2:8.2.2115-1 +- patchlevel 2115 + +* Wed Dec 09 2020 Zdenek Dohnal - 2:8.2.2108-2 +- 1902772 - "vim" from vim-minimal defunct on zsh + +* Tue Dec 08 2020 Zdenek Dohnal - 2:8.2.2108-1 +- patchlevel 2108 + +* Fri Dec 04 2020 Zdenek Dohnal - 2:8.2.2086-1 +- patchlevel 2086 + +* Tue Dec 01 2020 Zdenek Dohnal - 2:8.2.2072-1 +- patchlevel 2072 + +* Fri Nov 20 2020 Zdenek Dohnal - 2:8.2.2018-1 +- patchlevel 2018 + +* Tue Nov 10 2020 Zdenek Dohnal - 2:8.2.1971-1 +- patchlevel 1971 + +* Fri Nov 06 2020 Zdenek Dohnal - 2:8.2.1961-1 +- patchlevel 1961 + +* Thu Nov 05 2020 Zdenek Dohnal - 2:8.2.1941-2 +- make is no longer in buildroot by default +- disable F31 updating + +* Mon Nov 02 2020 Zdenek Dohnal - 2:8.2.1941-1 +- patchlevel 1941 + +* Mon Nov 02 2020 Zdenek Dohnal - 2:8.2.1885-2 +- move vim.fish to vendor_functions.d + +* Thu Oct 22 2020 Zdenek Dohnal - 2:8.2.1885-1 +- patchlevel 1885 + +* Mon Oct 19 2020 Zdenek Dohnal - 2:8.2.1815-2 +- vim.sh, vim.csh, vim.fish - drop 'which', use 'command' + +* Thu Oct 15 2020 Zdenek Dohnal - 2:8.2.1815-2 +- vim-default-editor.fish - dont give EDITOR universal scope +- vim.sh, vim.csh - set aliases only for OS default vi and vim +- add fish profile for Vim + +* Mon Oct 12 2020 Zdenek Dohnal - 2:8.2.1815-2 +- fix installing fish profile, set virtual provide for default editor + (thanks Neal Gompa and Kamil Dudka) +- set conflicts to nano-default-editor which doesnt provide system-default-editor + +* Fri Oct 09 2020 Paweł Marciniak - 2:8.2.1815-2 +- A new subpackage, set vim as a default editor. + +* Fri Oct 09 2020 Zdenek Dohnal - 2:8.2.1815-1 +- patchlevel 1815 + +* Tue Oct 06 2020 Zdenek Dohnal - 2:8.2.1805-1 +- patchlevel 1805 + +* Tue Sep 29 2020 Zdenek Dohnal - 2:8.2.1770-1 +- patchlevel 1770 + +* Tue Sep 15 2020 Zdenek Dohnal - 2:8.2.1687-1 +- patchlevel 1687 + +* Thu Sep 10 2020 Zdenek Dohnal - 2:8.2.1651-1 +- patchlevel 1651 + +* Tue Sep 08 2020 Zdenek Dohnal - 2:8.2.1634-1 +- patchlevel 1634 + +* Mon Aug 31 2020 Zdenek Dohnal - 2:8.2.1551-1 +- patchlevel 1551 + +* Mon Aug 31 2020 Zdenek Dohnal - 2:8.2.1522-3 +- F33 has update-testing now + +* Tue Aug 25 2020 Zdenek Dohnal - 2:8.2.1522-2 +- typo in vim-update.sh + +* Tue Aug 25 2020 Zdenek Dohnal - 2:8.2.1522-1 +- patchlevel 1522 + +* Mon Aug 24 2020 Zdenek Dohnal - 2:8.2.1520-1 +- patchlevel 1520 + +* Thu Aug 20 2020 Zdenek Dohnal - 2:8.2.1484-2 +- explicitly disable canberra for vi and vim + +* Wed Aug 19 2020 Zdenek Dohnal - 2:8.2.1484-1 +- patchlevel 1484 + +* Tue Aug 18 2020 Zdenek Dohnal - 2:8.2.1412-2 +- F33 got branched, updates-testing isn't enabled for it yet +- enable sounds for gvim + +* Mon Aug 10 2020 Zdenek Dohnal - 2:8.2.1412-1 +- patchlevel 1412 + +* Fri Aug 07 2020 Zdenek Dohnal - 2:8.2.1382-1 +- patchlevel 1382 + +* Wed Aug 05 2020 Zdenek Dohnal - 2:8.2.1359-2 +- own directories for icons + +* Mon Aug 03 2020 Zdenek Dohnal - 2:8.2.1359-1 +- patchlevel 1359 + +* Fri Jul 31 2020 Zane Bitter - 2:8.2.1328-2 +- Alias view to "vim -R" when available + +* Fri Jul 31 2020 Zdenek Dohnal - 2:8.2.1328-1 +- patchlevel 1328 + +* Wed Jul 29 2020 Zdenek Dohnal - 2:8.2.1307-2 +- 1703774 - ex, view and rview manpages were dangling symlinks + +* Tue Jul 28 2020 Zdenek Dohnal - 2:8.2.1307-1 +- patchlevel 1307 + +* Fri Jul 24 2020 Zdenek Dohnal - 2:8.2.1273-2 +- vim-update.sh: bodhi no longer sets a default automatic time to stable + +* Thu Jul 23 2020 Zdenek Dohnal - 2:8.2.1273-1 +- patchlevel 1273 + +* Thu Jul 23 2020 Zdenek Dohnal - 2:8.2.1224-4 +- python3 dynamic linking patch is already in upstream, remove it + +* Wed Jul 22 2020 Zdenek Dohnal - 2:8.2.1224-3 +- use %%make_build and %%make_install according FPG + +* Thu Jul 16 2020 Zdenek Dohnal - 2:8.2.1224-2 +- proper fix for python3 dynamic linking + +* Thu Jul 16 2020 Zdenek Dohnal - 2:8.2.1224-1 +- patchlevel 1224 + +* Wed Jul 15 2020 Zdenek Dohnal - 2:8.2.1217-1 +- patchlevel 1217 + +* Wed Jul 15 2020 Zdenek Dohnal - 2:8.2.1199-1 +- fix python3 dynamic linking with python >= 3.8 +- clean up unused stuff + +* Tue Jul 14 2020 Zdenek Dohnal - 2:8.2.1199-1 +- FTBFS with Lua - backported patch from upstream pull request to prevent linking with lua + +* Mon Jul 13 2020 Zdenek Dohnal - 2:8.2.1199-1 +- patchlevel 1199 + +* Mon Jun 29 2020 Zdenek Dohnal - 2:8.2.1081-1 +- patchlevel 1081 + +* Thu Jun 25 2020 Zdenek Dohnal - 2:8.2.1052-2 +- remove python2 stuff for RHEL +- %%{fedora} macro is undefined in ELN, causes python3-config to use old options + +* Thu Jun 25 2020 Zdenek Dohnal - 2:8.2.1052-1 +- patchlevel 1052 + +* Fri Jun 19 2020 Zdenek Dohnal - 2:8.2.1009-1 +- patchlevel 1009 + +* Wed Jun 17 2020 Zdenek Dohnal - 2:8.2.993-1 +- patchlevel 993 + +* Tue Jun 16 2020 Zdenek Dohnal - 2:8.2.987-1 +- patchlevel 987 + +* Fri Jun 05 2020 Zdenek Dohnal - 2:8.2.905-1 +- patchlevel 905 + +* Tue Jun 02 2020 Zdenek Dohnal - 2:8.2.869-2 +- remove tests from dist-git, we use base os ci + +* Mon Jun 01 2020 Zdenek Dohnal - 2:8.2.869-1 +- patchlevel 869 + +* Thu May 28 2020 Miro Hrončok - 2:8.2.834-2 +- Rebuilt for Python 3.9 + +* Thu May 28 2020 Zdenek Dohnal - 2:8.2.834-1 +- patchlevel 834 + +* Tue May 26 2020 Miro Hrončok - 2:8.2.806-2 +- Rebuilt for Python 3.9 + +* Fri May 22 2020 Zdenek Dohnal - 2:8.2.806-1 +- patchlevel 806 + +* Mon May 18 2020 Zdenek Dohnal - 2:8.2.789-1 +- patchlevel 789 + +* Thu May 14 2020 Zdenek Dohnal - 2:8.2.752-2 +- F30 will be EOL in less than 14 days, remove it from automatic updates + +* Thu May 14 2020 Zdenek Dohnal - 2:8.2.752-1 +- patchlevel 752 + +* Mon May 11 2020 Zdenek Dohnal - 2:8.2.735-1 +- patchlevel 735 + +* Mon May 04 2020 Zdenek Dohnal - 2:8.2.694-1 +- patchlevel 694 + +* Fri Apr 24 2020 Zdenek Dohnal - 2:8.2.628-1 +- patchlevel 628 + +* Tue Apr 21 2020 Zdenek Dohnal - 2:8.2.613-1 +- patchlevel 613 + +* Fri Apr 17 2020 Zdenek Dohnal - 2:8.2.587-1 +- patchlevel 587 + +* Thu Apr 09 2020 Zdenek Dohnal - 2:8.2.534-1 +- patchlevel 534 + +* Tue Apr 07 2020 Zdenek Dohnal - 2:8.2.525-1 +- patchlevel 525 + +* Mon Apr 06 2020 Zdenek Dohnal - 2:8.2.520-1 +- patchlevel 520 + +* Mon Mar 30 2020 Zdenek Dohnal - 2:8.2.480-1 +- patchlevel 480 + +* Thu Mar 26 2020 Zdenek Dohnal - 2:8.2.448-1 +- patchlevel 448 + +* Wed Mar 25 2020 Zdenek Dohnal - 2:8.2.444-1 +- patchlevel 444 + +* Mon Mar 16 2020 Lubomir Rintel - 2:8.2.390-2 +- source /etc/vimrc.local if it exists + +* Mon Mar 16 2020 Zdenek Dohnal - 2:8.2.390-1 +- patchlevel 390 + +* Tue Mar 10 2020 Zdenek Dohnal - 2:8.2.357-2 +- put providing bundled libvterm into subpackage vim-enhanced + +* Fri Mar 06 2020 Zdenek Dohnal - 2:8.2.357-1 +- patchlevel 357 + +* Thu Mar 05 2020 Zdenek Dohnal - 2:8.2.356-1 +- patchlevel 356 + +* Tue Mar 03 2020 Zdenek Dohnal - 2:8.2.348-1 +- patchlevel 348 + +* Thu Feb 13 2020 Zdenek Dohnal - 2:8.2.236-2 +- F32 got branched - do separate update for it + +* Mon Feb 10 2020 Zdenek Dohnal - 2:8.2.236-1 +- patchlevel 236 + +* Wed Jan 29 2020 Zdenek Dohnal - 2:8.2.158-2 +- man page file format conversion is not needed anymore + +* Mon Jan 27 2020 Zdenek Dohnal - 2:8.2.158-1 +- patchlevel 158 + +* Fri Jan 10 2020 Zdenek Dohnal - 2:8.2.109-1 +- patchlevel 109 + +* Thu Jan 02 2020 Zdenek Dohnal - 2:8.2.076-1 +- patchlevel 076 + +* Wed Dec 18 2019 Zdenek Dohnal - 2:8.2.019-1 +- patchlevel 019 + +* Mon Dec 16 2019 Zdenek Dohnal - 2:8.2.012-1 +- patchlevel 012 + +* Thu Dec 12 2019 Zdenek Dohnal - 2:8.1.2424-1 +- patchlevel 2424 + +* Thu Nov 28 2019 Zdenek Dohnal - 2:8.1.2352-1 +- patchlevel 2352 + +* Thu Nov 28 2019 Zdenek Dohnal - 2:8.1.2267-2 +- leave out f29, will be soon EOL + +* Thu Nov 07 2019 Zdenek Dohnal - 2:8.1.2267-1 +- patchlevel 2267 + +* Wed Nov 06 2019 Zdenek Dohnal - 2:8.1.2234-2 +- do not add python-libs into LDFLAGS until we build vim and gvim + +* Wed Oct 30 2019 Zdenek Dohnal - 2:8.1.2234-1 +- patchlevel 2234 + +* Tue Oct 22 2019 Zdenek Dohnal - 2:8.1.2198-1 +- patchlevel 2198 + +* Mon Oct 21 2019 Zdenek Dohnal - 2:8.1.2197-1 +- patchlevel 2197 + +* Thu Oct 17 2019 Zdenek Dohnal - 2:8.1.2168-1 +- patchlevel 2168 + +* Mon Oct 07 2019 Zdenek Dohnal - 2:8.1.2120-1 +- patchlevel 2120 + +* Mon Sep 30 2019 Zdenek Dohnal - 2:8.1.2102-1 +- patchlevel 2102 + +* Thu Sep 19 2019 Zdenek Dohnal - 2:8.1.2056-1 +- patchlevel 2056 + +* Mon Sep 16 2019 Zdenek Dohnal - 2:8.1.2019-2 +- enable fips warning + +* Tue Sep 10 2019 Zdenek Dohnal - 2:8.1.2019-1 +- patchlevel 2019 + +* Fri Sep 06 2019 Zdenek Dohnal - 2:8.1.1991-2 +- add f32 as rawhide and f31 as standalone branch + +* Fri Sep 06 2019 Zdenek Dohnal - 2:8.1.1991-1 +- patchlevel 1991 + +* Tue Sep 03 2019 Zdenek Dohnal - 2:8.1.1912-3 +- 1744956 - vim does not build with python3.8 + +* Mon Aug 26 2019 Zdenek Dohnal - 2:8.1.1912-2 +- remove python2 interpreter - python2 will be retired soon. +- use 'file' with '--mime' option - output is more stable + +* Fri Aug 23 2019 Zdenek Dohnal - 2:8.1.1912-1 +- patchlevel 1912 + +* Fri Aug 23 2019 Zdenek Dohnal - 2:8.1.1890-2 +- revert vimx removal + +* Tue Aug 20 2019 Zdenek Dohnal - 2:8.1.1890-1 +- patchlevel 1890 + +* Tue Aug 20 2019 Zdenek Dohnal - 2:8.1.1790-2 +- 1740892 - vimx is symlink to gvim instead of vim + +* Fri Aug 02 2019 Zdenek Dohnal - 2:8.1.1790-1 +- patchlevel 1790 + +* Fri Jul 26 2019 Zdenek Dohnal - 2:8.1.1749-1 +- patchlevel 1749 + +* Tue Jul 23 2019 Zdenek Dohnal - 2:8.1.1713-6 +- Provides must be unversioned according FPG + +* Mon Jul 22 2019 Zdenek Dohnal - 2:8.1.1713-5 +- remove perl-libs, because they are supplied perl MODULE_COMPAT + +* Fri Jul 19 2019 Zdenek Dohnal - 2:8.1.1713-4 +- remove unused patch + +* Fri Jul 19 2019 Zdenek Dohnal - 2:8.1.1713-3 +- 1724126 - disable showing spec template for new file with .spec suffix +- minor changes in spec.template - tabs->spaces + +* Fri Jul 19 2019 Zdenek Dohnal - 2:8.1.1713-2 +- remove skip_defaults_vim - it does not make sense to have it in system vimrc + +* Thu Jul 18 2019 Zdenek Dohnal - 2:8.1.1713-1 +- patchlevel 1713 + +* Thu Jul 18 2019 Zdenek Dohnal - 2:8.1.1661-2 +- 1643311 - add several defaults from Vim upstream and remove forcing fileencodings + +* Thu Jul 11 2019 Zdenek Dohnal - 2:8.1.1661-1 +- patchlevel 1661 + +* Fri Jun 28 2019 Zdenek Dohnal - 2:8.1.1602-1 +- patchlevel 1602 + +* Mon Jun 17 2019 Zdenek Dohnal - 2:8.1.1561-1 +- patchlevel 1561 + +* Tue Jun 11 2019 Zdenek Dohnal - 2:8.1.1517-1 +- patchlevel 1517 + +* Tue Jun 11 2019 Zdenek Dohnal - 2:8.1.1471-2 +- remove desktop patch, already in upstream + +* Thu Jun 06 2019 Zdenek Dohnal - 2:8.1.1471-1 +- patchlevel 1471 + +* Tue May 28 2019 Zdenek Dohnal - 2:8.1.1413-1 +- patchlevel 1413 + +* Mon May 20 2019 Zdenek Dohnal - 2:8.1.1359-2 +- stop updating f28 + +* Mon May 20 2019 Zdenek Dohnal - 2:8.1.1359-1 +- patchlevel 1359 + +* Mon May 20 2019 Zdenek Dohnal - 2:8.1.1137-2 +- remove upstream patch + +* Mon Apr 08 2019 Zdenek Dohnal - 2:8.1.1137-1 +- patchlevel 1137 + +* Mon Apr 08 2019 Zdenek Dohnal - 2:8.1.1099-2 +- 1697104 - new spec file template contains deprecated tags + +* Tue Apr 02 2019 Zdenek Dohnal - 2:8.1.1099-1 +- patchlevel 1099 + +* Tue Mar 26 2019 Zdenek Dohnal - 2:8.1.1048-2 +- add bundled libvterm + +* Mon Mar 25 2019 Zdenek Dohnal - 2:8.1.1048-1 +- patchlevel 1048 + +* Fri Mar 08 2019 Zdenek Dohnal - 2:8.1.998-1 +- patchlevel 998 + +* Fri Mar 08 2019 Zdenek Dohnal - 2:8.1.994-2 +- F30 is already active in bodhi + +* Mon Mar 04 2019 Zdenek Dohnal - 2:8.1.994-1 +- patchlevel 994 + +* Wed Feb 20 2019 Zdenek Dohnal - 2:8.1.956-1 +- patchlevel 956 + +* Wed Feb 20 2019 Zdenek Dohnal - 2:8.1.918-2 +- we have Fedora 30 branch now, enable updates for it in vim-update.sh + +* Thu Feb 14 2019 Zdenek Dohnal - 2:8.1.918-1 +- patchlevel 918 + +* Thu Feb 14 2019 Zdenek Dohnal - 2:8.1.897-2 +- we do not need exact include path for python3 now + +* Tue Feb 12 2019 Zdenek Dohnal - 2:8.1.897-1 +- patchlevel 897 + +* Fri Feb 08 2019 Zdenek Dohnal - 2:8.1.880-1 +- patchlevel 880 + +* Mon Feb 04 2019 Zdenek Dohnal - 2:8.1.873-1 +- patchlevel 873 + +* Mon Feb 04 2019 Zdenek Dohnal - 2:8.1.847-4 +- remove downstream fix for new ruby, upstream solved it different way + +* Sun Feb 03 2019 Fedora Release Engineering - 2:8.1.847-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 31 2019 Karsten Hopp - 2:8.1.847-2 +- remove ancient Changelog.rpm + +* Wed Jan 30 2019 Zdenek Dohnal - 2:8.1.847-2 +- fix patch for new ruby-2.6 + +* Wed Jan 30 2019 Zdenek Dohnal - 2:8.1.847-1 +- patchlevel 847 + +* Tue Jan 29 2019 Zdenek Dohnal - 2:8.1.837-2 +- FTBFS with new ruby-2.6 + +* Mon Jan 28 2019 Zdenek Dohnal - 2:8.1.837-1 +- patchlevel 837 + +* Fri Jan 25 2019 Zdenek Dohnal - 2:8.1.818-1 +- patchlevel 818 + +* Tue Jan 22 2019 Zdenek Dohnal - 2:8.1.789-1 +- patchlevel 789 + +* Fri Jan 11 2019 Zdenek Dohnal - 2:8.1.714-1 +- patchlevel 714 + +* Tue Jan 08 2019 Zdenek Dohnal - 2:8.1.702-1 +- patchlevel 702 + +* Mon Dec 10 2018 Zdenek Dohnal - 2:8.1.575-1 +- patchlevel 575 + +* Wed Dec 05 2018 Zdenek Dohnal - 2:8.1.549-2 +- do not strip binaries before build system strips it + +* Tue Nov 27 2018 Zdenek Dohnal - 2:8.1.549-1 +- patchlevel 549 + +* Tue Nov 27 2018 Zdenek Dohnal - 2:8.1.527-2 +- update vim-update.sh - F27 EOL + +* Fri Nov 16 2018 Zdenek Dohnal - 2:8.1.527-1 +- patchlevel 527 + +* Thu Nov 08 2018 Zdenek Dohnal - 2:8.1.513-2 +- #1646183 - do not forget the epoch + +* Thu Nov 08 2018 Zdenek Dohnal - 2:8.1.513-1 +- patchlevel 513 + +* Thu Nov 08 2018 Zdenek Dohnal - 2:8.1.511-2 +- fix #1646183 properly - we need to conflict with vim-enhanced, not vim-common + +* Mon Nov 05 2018 Zdenek Dohnal - 2:8.1.511-1 +- patchlevel 511 + +* Mon Nov 05 2018 Zdenek Dohnal - 2:8.1.497-2 +- 1646183 - Man file conflict for vim-minimal and vim-enhanced + +* Fri Oct 26 2018 Zdenek Dohnal - 2:8.1.497-1 +- patchlevel 497 + +* Fri Oct 19 2018 Zdenek Dohnal - 2:8.1.483-1 +- patchlevel 483 + +* Fri Oct 19 2018 Zdenek Dohnal - 2:8.1.451-2 +- 1640972 - vimrc/virc should reflect correct augroup + +* Fri Oct 05 2018 Zdenek Dohnal - 2:8.1.451-1 +- patchlevel 451 + +* Wed Oct 03 2018 Zdenek Dohnal - 2:8.1.450-1 +- patchlevel 450 + +* Wed Sep 19 2018 Zdenek Dohnal - 2:8.1.408-1 +- patchlevel 408 +- src/libvterm/src/termscreen.c is missing + +* Fri Sep 07 2018 Zdenek Dohnal - 2:8.1.351-1 +- patchlevel 351 + +* Fri Aug 31 2018 Zdenek Dohnal - 2:8.1.328-2 +- vim-update.sh - F29 got enabled in bodhi + +* Mon Aug 27 2018 Zdenek Dohnal - 2:8.1.328-1 +- patchlevel 328 + +* Wed Aug 15 2018 Zdenek Dohnal - 2:8.1.287-2 +- vim-update.sh - add f29 branch + +* Wed Aug 15 2018 Zdenek Dohnal - 2:8.1.287-1 +- patchlevel 287 + +* Mon Aug 13 2018 Zdenek Dohnal - 2:8.1.279-1 +- patchlevel 279 + +* Fri Aug 10 2018 Zdenek Dohnal - 2:8.1.264-1 +- patchlevel 264 + +* Thu Aug 09 2018 Zdenek Dohnal - 2:8.1.258-1 +- patchlevel 258 + +* Wed Aug 08 2018 Zdenek Dohnal - 2:8.1.254-1 +- patchlevel 254 + +* Mon Aug 06 2018 Zdenek Dohnal - 2:8.1.240-1 +- patchlevel 240 + +* Thu Aug 02 2018 Zdenek Dohnal - 2:8.1.233-1 +- patchlevel 233 + +* Tue Jul 31 2018 Florian Weimer - 2:8.1.229-2 +- Rebuild with fixed binutils + +* Mon Jul 30 2018 Zdenek Dohnal - 2:8.1.229-1 +- patchlevel 229 + +* Fri Jul 27 2018 Zdenek Dohnal - 2:8.1.213-1 +- patchlevel 213 + +* Fri Jul 27 2018 Zdenek Dohnal - 2:8.1.209-2 +- fail if configure option isn't satisfied + +* Wed Jul 25 2018 Zdenek Dohnal - 2:8.1.209-1 +- patchlevel 209 + +* Tue Jul 24 2018 Zdenek Dohnal - 2:8.1.207-2 - correcting license -* Thu Jul 19 2018 Zdenek Dohnal - 2:8.0.1763-6 -- 1602807 - vim-X11 doesn't provide the gui +* Mon Jul 23 2018 Zdenek Dohnal - 2:8.1.207-1 +- patchlevel 207 -* Wed Jul 11 2018 Zdenek Dohnal - 2:8.0.1763-5 -- remove fedora update script +* Fri Jul 20 2018 Zdenek Dohnal - 2:8.1.197-1 +- patchlevel 197 -* Wed Jul 11 2018 Zdenek Dohnal - 2:8.0.1763-4 +* Thu Jul 19 2018 Zdenek Dohnal - 2:8.1.189-2 +- 1603272 - vim-X11 doesn't provide the gui when certain devel packages missing from buildroot + +* Mon Jul 16 2018 Zdenek Dohnal - 2:8.1.189-1 +- patchlevel 189 + +* Mon Jul 16 2018 Zdenek Dohnal - 2:8.1.177-3 +- remove disable-gtk3-check configure option + +* Sat Jul 14 2018 Fedora Release Engineering - 2:8.1.177-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Zdenek Dohnal - 2:8.1.177-1 +- patchlevel 177 + +* Wed Jul 11 2018 Zdenek Dohnal - 2:8.1.119-8 +- add packager and epoch into update script to have better changelog + +* Wed Jul 11 2018 Zdenek Dohnal - 2:8.1.119-7 - use %%{__python3} macro for defining shebang in python3 tests -* Tue Jul 10 2018 Zdenek Dohnal - 2:8.0.1763-3 -- 1599660 - Conflicting manpages rvi.1.gz and vi.1.gz during update +* Tue Jul 10 2018 Zdenek Dohnal - 2:8.1.119-6 +- 1599663 - Conflicting manpages rvi.1.gz and vi.1.gz during update -* Wed Jun 13 2018 Zdenek Dohnal - 8.0.1763-2 -- 1576470 - Suggest correct packages to get embedded interpreters working -- add libappstream-glib for appstream-util -- 1576483 - Vim needs Python2 to build +* Fri Jul 06 2018 Petr Pisar - 2:8.1.119-5 +- Perl 5.28 rebuild + +* Wed Jul 04 2018 Ondřej Lysoněk - 2:8.1.119-4 +- Backport patch 8.1.0121: crash when using ballooneval related to 'vartabstop' +- Resolves: rhbz#1597842 + +* Tue Jul 03 2018 Petr Pisar - 2:8.1.119-3 +- Perl 5.28 rebuild + +* Mon Jul 02 2018 Miro Hrončok - 2:8.1.119-2 +- Rebuilt for Python 3.7 + +* Thu Jun 28 2018 Karsten Hopp 8.1.119-1 +- patchlevel 119 + +* Thu Jun 28 2018 Jitka Plesnikova - 2:8.1.117-2 +- Perl 5.28 rebuild + +* Wed Jun 27 2018 Karsten Hopp 8.1.117-1 +- patchlevel 117 + +* Mon Jun 25 2018 Karsten Hopp 8.1.115-1 +- patchlevel 115 + +* Fri Jun 22 2018 Karsten Hopp 8.1.095-1 +- patchlevel 095 + +* Tue Jun 19 2018 Miro Hrončok - 2:8.1.072-2 +- Rebuilt for Python 3.7 + +* Mon Jun 18 2018 Karsten Hopp 8.1.072-1 +- patchlevel 072 + +* Fri Jun 15 2018 Karsten Hopp 8.1.055-1 +- patchlevel 055 + +* Mon Jun 11 2018 Karsten Hopp 8.1.042-1 +- patchlevel 042 + +* Fri Jun 08 2018 Karsten Hopp 8.1.039-1 +- patchlevel 039 + +* Wed Jun 06 2018 Karsten Hopp 8.1.035-1 +- patchlevel 035 + +* Tue Jun 05 2018 Karsten Hopp 8.1.034-1 +- patchlevel 034 + +* Mon May 28 2018 Karsten Hopp 8.1.026-1 +- patchlevel 026 + +* Thu May 24 2018 Karsten Hopp 8.1.022-1 +- patchlevel 022 + +* Wed May 23 2018 Karsten Hopp 8.1.020-1 +- patchlevel 020 + +* Tue May 22 2018 Karsten Hopp 8.1.016-1 +- patchlevel 016 + +* Mon May 21 2018 Karsten Hopp 8.1.010-1 +- patchlevel 010 + +* Fri May 18 2018 Karsten Hopp 8.1.001-1 +- patchlevel 001 + +* Fri May 18 2018 Zdenek Dohnal - 8.0.1848-2 +- vim-update.sh - update vimdir and baseversion(for major rebases) +- vim-update.sh - enhance debugging of vim-update script + +* Thu May 17 2018 Karsten Hopp 8.0.1848-1 +- patchlevel 1848 + +* Tue May 15 2018 Zdenek Dohnal - 8.0.1842-2 +- do not update F26 anymore - EOL in 2 weeks + +* Tue May 15 2018 Karsten Hopp 8.0.1842-1 +- patchlevel 1842 + +* Tue May 15 2018 Zdenek Dohnal - 8.0.1813-2 +- use environment variable in build phase + +* Fri May 11 2018 Karsten Hopp 8.0.1813-1 +- patchlevel 1813 + +* Fri May 11 2018 Zdenek Dohnal - 8.0.1806-2 +- use python2 and python3 in code + +* Thu May 10 2018 Karsten Hopp 8.0.1806-1 +- patchlevel 1806 + +* Wed May 09 2018 Zdenek Dohnal - 8.0.1789-2 +- 1575354 - suggest more packages for embedded interpreters + +* Fri May 04 2018 Karsten Hopp 8.0.1789-1 +- patchlevel 1789 + +* Thu May 03 2018 Karsten Hopp 8.0.1788-1 +- patchlevel 1788 + +* Wed May 02 2018 Karsten Hopp 8.0.1787-1 +- patchlevel 1787 + +* Fri Apr 27 2018 Karsten Hopp 8.0.1766-1 +- patchlevel 1766 + +* Thu Apr 26 2018 Karsten Hopp 8.0.1765-1 +- patchlevel 1765 * Wed Apr 25 2018 Karsten Hopp 8.0.1763-1 - patchlevel 1763 diff --git a/vimrc b/vimrc new file mode 100644 index 00000000..4842faf2 --- /dev/null +++ b/vimrc @@ -0,0 +1,128 @@ +" When started as "evim", evim.vim will already have done these settings. +if v:progname =~? "evim" + finish +endif + +" Use Vim settings, rather than Vi settings (much better!). +" This must be first, because it changes other options as a side effect. +" Avoid side effects when it was already reset. +if &compatible + set nocompatible +endif + +" When the +eval feature is missing, the set command above will be skipped. +" Use a trick to reset compatible only when the +eval feature is missing. +silent! while 0 + set nocompatible +silent! endwhile + +" Allow backspacing over everything in insert mode. +set backspace=indent,eol,start + +"set ai " always set autoindenting on +"set backup " keep a backup file +set viminfo='20,\"50 " read/write a .viminfo file, don't store more + " than 50 lines of registers +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time +set showcmd " display incomplete commands +set wildmenu " display completion matches in a status line + +set ttimeout " time out for key codes +set ttimeoutlen=100 " wait up to 100ms after Esc for special key + +" Show @@@ in the last line if it is truncated. +set display=truncate + +" Show a few lines of context around the cursor. Note that this makes the +" text scroll if you mouse-click near the start or end of the window. +set scrolloff=5 + +" Do incremental searching when it's possible to timeout. +if has('reltime') + set incsearch +endif + +" Do not recognize octal numbers for Ctrl-A and Ctrl-X, most users find it +" confusing. +set nrformats-=octal + +" Only do this part when compiled with support for autocommands +if has("autocmd") + augroup fedora + autocmd! + " In text files, always limit the width of text to 78 characters + " autocmd BufRead *.txt set tw=78 + " When editing a file, always jump to the last cursor position + autocmd BufReadPost * + \ if line("'\"") > 0 && line ("'\"") <= line("$") | + \ exe "normal! g'\"" | + \ endif + " don't write swapfile on most commonly used directories for NFS mounts or USB sticks + autocmd BufNewFile,BufReadPre /media/*,/run/media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp + " start with spec file template + " 1724126 - do not open new file with .spec suffix with spec file template + " apparently there are other file types with .spec suffix, so disable the + " template + " autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec + augroup END +endif + +if has("cscope") && filereadable("/usr/bin/cscope") + set csprg=/usr/bin/cscope + set csto=0 + set cst + set nocsverb + " add any database in current directory + if filereadable("cscope.out") + cs add $PWD/cscope.out + " else add database pointed to by environment + elseif $CSCOPE_DB != "" + cs add $CSCOPE_DB + endif + set csverb +endif + +" Switch syntax highlighting on, when the terminal has colors +" Also switch on highlighting the last used search pattern. +if &t_Co > 2 || has("gui_running") + " Revert with ":syntax off". + syntax on + + " I like highlighting strings inside C comments. + " Revert with ":unlet c_comment_strings". + let c_comment_strings=1 + set hlsearch +endif + +filetype plugin on + +if &term=="xterm" + set t_Co=8 + set t_Sb=[4%dm + set t_Sf=[3%dm +endif + +" Convenient command to see the difference between the current buffer and the +" file it was loaded from, thus the changes you made. +" Only define it when not defined already. +" Revert with: ":delcommand DiffOrig". +if !exists(":DiffOrig") + command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis + \ | wincmd p | diffthis +endif + +if has('langmap') && exists('+langremap') + " Prevent that the langmap option applies to characters that result from a + " mapping. If set (default), this may break plugins (but it's backward + " compatible). + set nolangremap +endif + +" Don't wake up system with blinking cursor: +let &guicursor = &guicursor . ",a:blinkon0" + +" Source a global configuration file if available +if filereadable("/etc/vimrc.local") + source /etc/vimrc.local +endif diff --git a/SOURCES/virc b/virc similarity index 98% rename from SOURCES/virc rename to virc index 808e7d61..6d779826 100644 --- a/SOURCES/virc +++ b/virc @@ -27,9 +27,6 @@ if has("autocmd") augroup END endif - -filetype plugin on - if &term=="xterm" set t_Co=8 set t_Sb=[4%dm