diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba71b99 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/gvim64.png +SOURCES/vim-8.2-2637.tar.bz2 diff --git a/.vim.metadata b/.vim.metadata new file mode 100644 index 0000000..c47e60c --- /dev/null +++ b/.vim.metadata @@ -0,0 +1,2 @@ +c32bd520a1498b71ee9bbcddc7ad05df1565d085 SOURCES/gvim64.png +8405efdee1d83465651f90edc1173ff69f390aea SOURCES/vim-8.2-2637.tar.bz2 diff --git a/SOURCES/0001-patch-8.2.3115-Coverity-complains-about-free_wininfo.patch b/SOURCES/0001-patch-8.2.3115-Coverity-complains-about-free_wininfo.patch new file mode 100644 index 0000000..327d31b --- /dev/null +++ b/SOURCES/0001-patch-8.2.3115-Coverity-complains-about-free_wininfo.patch @@ -0,0 +1,30 @@ +From b5098060f4acae4dac3203130278c948d670a3d5 Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Wed, 7 Jul 2021 19:26:19 +0200 +Subject: [PATCH] patch 8.2.3115: Coverity complains about free_wininfo() use + +Problem: Coverity complains about free_wininfo() use. +Solution: Add a condition that "wip2" is not equal to "wip". (Neovim #14996) +--- + src/version.c | 2 ++ + src/window.c | 3 ++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/window.c b/src/window.c +index 09067b081..cc9c217b4 100644 +--- a/src/window.c ++++ b/src/window.c +@@ -5057,8 +5057,9 @@ win_free( + + // If there already is an entry with "wi_win" set to NULL it + // must be removed, it would never be used. ++ // Skip "wip" itself, otherwise Coverity complains. + for (wip2 = buf->b_wininfo; wip2 != NULL; wip2 = wip2->wi_next) +- if (wip2->wi_win == NULL) ++ if (wip2 != wip && wip2->wi_win == NULL) + { + if (wip2->wi_next != NULL) + wip2->wi_next->wi_prev = wip2->wi_prev; +-- +2.31.1 + diff --git a/SOURCES/0001-patch-8.2.3290-Vim9-compiling-dict-may-use-pointer-a.patch b/SOURCES/0001-patch-8.2.3290-Vim9-compiling-dict-may-use-pointer-a.patch new file mode 100644 index 0000000..5a5da63 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3290-Vim9-compiling-dict-may-use-pointer-a.patch @@ -0,0 +1,102 @@ +diff --git a/src/vim9compile.c b/src/vim9compile.c +index 535de05..ae7b253 100644 +--- a/src/vim9compile.c ++++ b/src/vim9compile.c +@@ -1073,21 +1073,26 @@ generate_PUSHF(cctx_T *cctx, float_T fnumber) + + /* + * Generate an ISN_PUSHS instruction. +- * Consumes "str". ++ * Consumes "*str". When freed *str is set to NULL, unless "str" is NULL. + */ + static int +-generate_PUSHS(cctx_T *cctx, char_u *str) ++generate_PUSHS(cctx_T *cctx, char_u **str) + { + isn_T *isn; + + if (cctx->ctx_skip == SKIP_YES) + { +- vim_free(str); ++ if (str != NULL) ++ VIM_CLEAR(*str); + return OK; + } + if ((isn = generate_instr_type(cctx, ISN_PUSHS, &t_string)) == NULL) ++ { ++ if (str != NULL) ++ VIM_CLEAR(*str); + return FAIL; +- isn->isn_arg.string = str; ++ } ++ isn->isn_arg.string = str == NULL ? NULL : *str; + + return OK; + } +@@ -2547,7 +2552,7 @@ generate_tv_PUSH(cctx_T *cctx, typval_T *tv) + tv->vval.v_blob = NULL; + break; + case VAR_STRING: +- generate_PUSHS(cctx, tv->vval.v_string); ++ generate_PUSHS(cctx, &tv->vval.v_string); + tv->vval.v_string = NULL; + break; + default: +@@ -3301,7 +3306,7 @@ compile_dict(char_u **arg, cctx_T *cctx, ppconst_T *ppconst) + key = get_literal_key(arg); + if (key == NULL) + return FAIL; +- if (generate_PUSHS(cctx, key) == FAIL) ++ if (generate_PUSHS(cctx, &key) == FAIL) + return FAIL; + } + +@@ -5978,7 +5983,7 @@ compile_assign_unlet( + char_u *key_end = to_name_end(p + 1, TRUE); + char_u *key = vim_strnsave(p + 1, key_end - p - 1); + +- r = generate_PUSHS(cctx, key); ++ r = generate_PUSHS(cctx, &key); + } + if (r == FAIL) + return FAIL; +@@ -6149,7 +6154,7 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx) + // Push each line and the create the list. + FOR_ALL_LIST_ITEMS(l, li) + { +- generate_PUSHS(cctx, li->li_tv.vval.v_string); ++ generate_PUSHS(cctx, &li->li_tv.vval.v_string); + li->li_tv.vval.v_string = NULL; + } + generate_NEWLIST(cctx, l->lv_len); +@@ -7709,7 +7714,7 @@ compile_catch(char_u *arg, cctx_T *cctx UNUSED) + p += len + 2 + dropped; + if (pat == NULL) + return FAIL; +- if (generate_PUSHS(cctx, pat) == FAIL) ++ if (generate_PUSHS(cctx, &pat) == FAIL) + return FAIL; + + if (generate_COMPARE(cctx, EXPR_MATCH, FALSE) == FAIL) +@@ -8080,7 +8085,9 @@ compile_exec(char_u *line, exarg_T *eap, cctx_T *cctx) + { + if (p > start) + { +- generate_PUSHS(cctx, vim_strnsave(start, p - start)); ++ char_u *val = vim_strnsave(start, p - start); ++ ++ generate_PUSHS(cctx, &val); + ++count; + } + p += 2; +@@ -8101,7 +8108,9 @@ compile_exec(char_u *line, exarg_T *eap, cctx_T *cctx) + { + if (*skipwhite(start) != NUL) + { +- generate_PUSHS(cctx, vim_strsave(start)); ++ char_u *val = vim_strsave(start); ++ ++ generate_PUSHS(cctx, &val); + ++count; + } + break; diff --git a/SOURCES/0001-patch-8.2.3406-on-some-systems-tests-fail-without-_R.patch b/SOURCES/0001-patch-8.2.3406-on-some-systems-tests-fail-without-_R.patch new file mode 100644 index 0000000..464ad3c --- /dev/null +++ b/SOURCES/0001-patch-8.2.3406-on-some-systems-tests-fail-without-_R.patch @@ -0,0 +1,49 @@ +From 3ae5fc9a6a881e0be381e4cc70080ac5908d7520 Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Mon, 6 Sep 2021 18:57:30 +0200 +Subject: [PATCH] patch 8.2.3406: on some systems tests fail without _REENTRANT + +Problem: On some systems tests fail without _REENTRANT. (Elimar + Riesebieter) +Solution: Add -D_REENTRANT in configure. (closes #7402) +--- + src/auto/configure | 4 ++++ + src/configure.ac | 6 ++++++ + src/version.c | 2 ++ + 3 files changed, 12 insertions(+) + +diff --git a/src/auto/configure b/src/auto/configure +index fba6a19b5..4f4363224 100755 +--- a/src/auto/configure ++++ b/src/auto/configure +@@ -14960,6 +14960,10 @@ $as_echo "no" >&6; } + fi + fi + ++if `echo "$CFLAGS" | grep -v D_XEENTRANT >/dev/null`; then ++ CFLAGS="$CFLAGS -D_REENTRANT" ++fi ++ + DEPEND_CFLAGS_FILTER= + if test "$GCC" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC 3 or later" >&5 +diff --git a/src/configure.ac b/src/configure.ac +index 5ec955757..4cd6dea1f 100644 +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -4504,6 +4504,12 @@ if test "$MACOS_X" = "yes"; then + fi + fi + ++dnl On some systems REENTRANT needs to be defined. It should not hurt to use ++dnl it everywhere. ++if `echo "$CFLAGS" | grep -v D_REENTRANT >/dev/null`; then ++ CFLAGS="$CFLAGS -D_REENTRANT" ++fi ++ + dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to + dnl use "-isystem" instead of "-I" for all non-Vim include dirs. + dnl But only when making dependencies, cproto and lint don't take "-isystem". +-- +2.31.1 + diff --git a/SOURCES/0001-patch-8.2.3409-reading-beyond-end-of-line-with-inval.patch b/SOURCES/0001-patch-8.2.3409-reading-beyond-end-of-line-with-inval.patch new file mode 100644 index 0000000..407d2e7 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3409-reading-beyond-end-of-line-with-inval.patch @@ -0,0 +1,48 @@ +From 65b605665997fad54ef39a93199e305af2fe4d7f Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Tue, 7 Sep 2021 19:26:53 +0200 +Subject: [PATCH] patch 8.2.3409: reading beyond end of line with invalid utf-8 + character + +Problem: Reading beyond end of line with invalid utf-8 character. +Solution: Check for NUL when advancing. +--- + src/regexp_nfa.c | 3 ++- + src/testdir/test_regexp_utf8.vim | 8 ++++++++ + src/version.c | 2 ++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c +index 9757d7c47..c7db98187 100644 +--- a/src/regexp_nfa.c ++++ b/src/regexp_nfa.c +@@ -5664,7 +5664,8 @@ find_match_text(colnr_T startcol, int regstart, char_u *match_text) + match = FALSE; + break; + } +- len2 += MB_CHAR2LEN(c2); ++ len2 += enc_utf8 ? utf_ptr2len(rex.line + col + len2) ++ : MB_CHAR2LEN(c2); + } + if (match + // check that no composing char follows +diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim +index 9f0ffb9aa..044aeffb6 100644 +--- a/src/testdir/test_regexp_utf8.vim ++++ b/src/testdir/test_regexp_utf8.vim +@@ -558,4 +558,12 @@ func Test_match_char_class_upper() + bwipe! + endfunc + ++func Test_match_invalid_byte() ++ call writefile(0z630a.765d30aa0a.2e0a.790a.4030, 'Xinvalid') ++ new ++ source Xinvalid ++ bwipe! ++ call delete('Xinvalid') ++endfunc ++ + " vim: shiftwidth=2 sts=2 expandtab +-- +2.31.1 + diff --git a/SOURCES/0001-patch-8.2.3428-using-freed-memory-when-replacing.patch b/SOURCES/0001-patch-8.2.3428-using-freed-memory-when-replacing.patch new file mode 100644 index 0000000..f4860e8 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3428-using-freed-memory-when-replacing.patch @@ -0,0 +1,50 @@ +diff -up vim82/src/normal.c.cve-3796 vim82/src/normal.c +--- vim82/src/normal.c.cve-3796 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/normal.c 2021-10-15 10:45:21.397258123 +0200 +@@ -5076,19 +5076,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 -up vim82/src/testdir/test_edit.vim.cve-3796 vim82/src/testdir/test_edit.vim +--- vim82/src/testdir/test_edit.vim.cve-3796 2021-10-15 10:45:21.398258115 +0200 ++++ vim82/src/testdir/test_edit.vim 2021-10-15 10:46:22.892764135 +0200 +@@ -1844,4 +1844,16 @@ func Test_read_invalid() + set encoding=utf-8 + 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 ++ + " vim: shiftwidth=2 sts=2 expandtab 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 new file mode 100644 index 0000000..df6ef8d --- /dev/null +++ b/SOURCES/0001-patch-8.2.3487-illegal-memory-access-if-buffer-name-.patch @@ -0,0 +1,72 @@ +From 826bfe4bbd7594188e3d74d2539d9707b1c6a14b Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Fri, 8 Oct 2021 18:39:28 +0100 +Subject: [PATCH] patch 8.2.3487: illegal memory access if buffer name is very + long + +Problem: Illegal memory access if buffer name is very long. +Solution: Make sure not to go over the end of the buffer. +--- + src/drawscreen.c | 10 +++++----- + src/testdir/test_statusline.vim | 10 ++++++++++ + src/version.c | 2 ++ + 3 files changed, 17 insertions(+), 5 deletions(-) + +diff --git a/src/drawscreen.c b/src/drawscreen.c +index 82e53753b..e38ca9586 100644 +--- a/src/drawscreen.c ++++ b/src/drawscreen.c +@@ -464,13 +464,13 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED) + *(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 +@@ -480,12 +480,12 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED) + #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/src/testdir/test_statusline.vim b/src/testdir/test_statusline.vim +index f3eea2e71..a952de69b 100644 +--- a/src/testdir/test_statusline.vim ++++ b/src/testdir/test_statusline.vim +@@ -522,4 +522,14 @@ func Test_statusline_mbyte_fillchar() + %bw! + endfunc + ++" Used to write beyond allocated memory. This assumes MAXPATHL is 4096 bytes. ++func Test_statusline_verylong_filename() ++ let fname = repeat('x', 4090) ++ exe "new " .. fname ++ set buftype=help ++ set previewwindow ++ redraw ++ bwipe! ++endfunc ++ + " vim: shiftwidth=2 sts=2 expandtab +-- +2.31.1 + 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 new file mode 100644 index 0000000..b308783 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3625-illegal-memory-access-when-C-indentin.patch @@ -0,0 +1,34 @@ +diff --git a/src/cindent.c b/src/cindent.c +index b2fac1a..ce513e3 100644 +--- a/src/cindent.c ++++ b/src/cindent.c +@@ -1654,7 +1654,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 5926408..f668faa 100644 +--- a/src/testdir/test_cindent.vim ++++ b/src/testdir/test_cindent.vim +@@ -5307,4 +5307,16 @@ func Test_cindent_pragma() + enew! | close + 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 new file mode 100644 index 0000000..8f8c075 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3669-buffer-overflow-with-long-help-argume.patch @@ -0,0 +1,32 @@ +diff --git a/src/help.c b/src/help.c +index ee6ff18..67e4fb2 100644 +--- a/src/help.c ++++ b/src/help.c +@@ -422,8 +422,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/src/testdir/test_help.vim b/src/testdir/test_help.vim +index ff2bc41..c8ff5b8 100644 +--- a/src/testdir/test_help.vim ++++ b/src/testdir/test_help.vim +@@ -123,5 +123,13 @@ func Test_helptag_cmd_readonly() + call delete('Xdir', 'rf') + endfunc + ++func Test_help_long_argument() ++ try ++ exe 'help \%' .. repeat('0', 1021) ++ catch ++ call assert_match("E149:", v:exception) ++ endtry ++endfunc ++ + + " vim: shiftwidth=2 sts=2 expandtab 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 new file mode 100644 index 0000000..6a6ae25 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3949-using-freed-memory-with-V.patch @@ -0,0 +1,44 @@ +diff -up vim82/src/regexp.c.cve4192 vim82/src/regexp.c +--- vim82/src/regexp.c.cve4192 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/regexp.c 2022-01-13 10:54:17.629176807 +0100 +@@ -1316,9 +1316,9 @@ reg_match_visual(void) + if (lnum < top.lnum || lnum > bot.lnum) + return FALSE; + ++ col = (colnr_T)(rex.input - rex.line); + if (mode == 'v') + { +- col = (colnr_T)(rex.input - rex.line); + if ((lnum == top.lnum && col < top.col) + || (lnum == bot.lnum && col >= bot.col + (*p_sel != 'e'))) + return FALSE; +@@ -1333,7 +1333,12 @@ reg_match_visual(void) + end = end2; + if (top.col == MAXCOL || bot.col == MAXCOL) + end = MAXCOL; +- cols = win_linetabsize(wp, rex.line, (colnr_T)(rex.input - rex.line)); ++ ++ // getvvcol() flushes rex.line, need to get it again ++ rex.line = reg_getline(rex.lnum); ++ rex.input = rex.line + col; ++ ++ cols = win_linetabsize(wp, rex.line, col); + if (cols < start || cols > end - (*p_sel == 'e')) + return FALSE; + } +diff -up vim82/src/testdir/test_regexp_latin.vim.cve4192 vim82/src/testdir/test_regexp_latin.vim +--- vim82/src/testdir/test_regexp_latin.vim.cve4192 2022-01-13 10:52:05.508789448 +0100 ++++ vim82/src/testdir/test_regexp_latin.vim 2022-01-13 10:52:05.510789454 +0100 +@@ -946,4 +946,12 @@ func Test_using_invalid_visual_position( + 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 new file mode 100644 index 0000000..885bc35 --- /dev/null +++ b/SOURCES/0001-patch-8.2.3950-going-beyond-the-end-of-the-line-with.patch @@ -0,0 +1,39 @@ +diff -up vim82/src/charset.c.cve4193 vim82/src/charset.c +--- vim82/src/charset.c.cve4193 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/charset.c 2022-01-13 10:14:55.634913386 +0100 +@@ -1232,10 +1232,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; + if (has_mbyte) + // always start on the first byte +diff -up vim82/src/testdir/test_regexp_latin.vim.cve4193 vim82/src/testdir/test_regexp_latin.vim +--- vim82/src/testdir/test_regexp_latin.vim.cve4193 2022-01-13 10:14:55.634913386 +0100 ++++ vim82/src/testdir/test_regexp_latin.vim 2022-01-13 10:17:01.905292715 +0100 +@@ -938,4 +938,12 @@ func Test_regexp_last_subst_string() + close! + 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 ++ + " vim: shiftwidth=2 sts=2 expandtab 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 new file mode 100644 index 0000000..a248a8a --- /dev/null +++ b/SOURCES/0001-patch-8.2.4120-block-insert-goes-over-the-end-of-the.patch @@ -0,0 +1,94 @@ +diff --git a/src/ops.c b/src/ops.c +index d8e96ff..88992b6 100644 +--- a/src/ops.c ++++ b/src/ops.c +@@ -534,22 +534,27 @@ 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; + } + +- newp = alloc(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 ? ts_val - 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 +@@ -560,14 +565,21 @@ block_insert( + mch_memmove(newp + startcol, 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)(ts_val - 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)(ts_val - 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) +@@ -1574,7 +1586,7 @@ op_insert(oparg_T *oap, long count1) + oap->start_vcol = t; + } + else if (oap->op_type == OP_APPEND +- && oap->end.col + oap->end.coladd ++ && oap->start.col + oap->start.coladd + >= curbuf->b_op_start_orig.col + + curbuf->b_op_start_orig.coladd) + { +diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim +index 7c5f973..dc8e376 100644 +--- a/src/testdir/test_visual.vim ++++ b/src/testdir/test_visual.vim +@@ -967,4 +967,13 @@ func Test_visual_put_in_block() + bwipe! + 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 ++ + " vim: shiftwidth=2 sts=2 expandtab 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 new file mode 100644 index 0000000..ad10a9a --- /dev/null +++ b/SOURCES/0001-patch-8.2.4151-reading-beyond-the-end-of-a-line.patch @@ -0,0 +1,62 @@ +diff --git a/src/ops.c b/src/ops.c +index 88992b6..80e0ea1 100644 +--- a/src/ops.c ++++ b/src/ops.c +@@ -527,24 +527,8 @@ block_insert( + } + + if (has_mbyte && spaces > 0) +- { +- int off; +- +- // 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; +- } +- } ++ // avoid copying part of a multi-byte character ++ offset -= (*mb_head_off)(oldp, oldp + offset); + + // Make sure the allocated size matches what is actually copied below. + newp = alloc(STRLEN(oldp) + spaces + s_len +diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim +index 5454e43..bedec20 100644 +--- a/src/testdir/test_utf8.vim ++++ b/src/testdir/test_utf8.vim +@@ -7,7 +7,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/src/testdir/test_visual.vim b/src/testdir/test_visual.vim +index dc8e376..8de9e3d 100644 +--- a/src/testdir/test_visual.vim ++++ b/src/testdir/test_visual.vim +@@ -976,4 +976,13 @@ func Test_visual_block_append_invalid_char() + bwipe! + endfunc + ++func Test_visual_block_insert_round_off() ++ new ++ " The number of characters are tuned to fill a 4096 byte allocated block, ++ " so that valgrind reports going over the end. ++ call setline(1, ['xxxxx', repeat('0', 1350), "\t", repeat('x', 60)]) ++ exe "normal gg0\GI" .. repeat('0', 1320) .. "\" ++ bwipe! ++endfunc ++ + " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.4154-ml_get-error-when-exchanging-windows-.patch b/SOURCES/0001-patch-8.2.4154-ml_get-error-when-exchanging-windows-.patch new file mode 100644 index 0000000..29e751a --- /dev/null +++ b/SOURCES/0001-patch-8.2.4154-ml_get-error-when-exchanging-windows-.patch @@ -0,0 +1,43 @@ +diff -up vim82/src/testdir/test_visual.vim.cve0319 vim82/src/testdir/test_visual.vim +--- vim82/src/testdir/test_visual.vim.cve0319 2022-02-08 13:24:54.170813231 +0100 ++++ vim82/src/testdir/test_visual.vim 2022-02-08 13:26:21.313747976 +0100 +@@ -985,4 +985,15 @@ func Test_visual_block_insert_round_off( + bwipe! + endfunc + ++" this was causing an ml_get error ++func Test_visual_exchange_windows() ++ enew! ++ new ++ call setline(1, ['foo', 'bar']) ++ exe "normal G\gg\\OO\" ++ bwipe! ++ bwipe! ++endfunc ++ ++ + " vim: shiftwidth=2 sts=2 expandtab +diff -up vim82/src/window.c.cve0319 vim82/src/window.c +--- vim82/src/window.c.cve0319 2022-02-08 13:24:54.137813879 +0100 ++++ vim82/src/window.c 2022-02-08 13:24:54.171813211 +0100 +@@ -1697,6 +1697,11 @@ win_exchange(long Prenum) + + (void)win_comp_pos(); // recompute window positions + ++ if (wp->w_buffer != curbuf) ++ reset_VIsual_and_resel(); ++ else if (VIsual_active) ++ wp->w_cursor = curwin->w_cursor; ++ + win_enter(wp, TRUE); + redraw_all_later(NOT_VALID); + } +@@ -5261,7 +5266,7 @@ frame_remove(frame_T *frp) + win_alloc_lines(win_T *wp) + { + wp->w_lines_valid = 0; +- wp->w_lines = ALLOC_CLEAR_MULT(wline_T, Rows ); ++ wp->w_lines = ALLOC_CLEAR_MULT(wline_T, Rows); + if (wp->w_lines == NULL) + return FAIL; + return OK; 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 new file mode 100644 index 0000000..33db8e5 --- /dev/null +++ b/SOURCES/0001-patch-8.2.4214-illegal-memory-access-with-large-tabs.patch @@ -0,0 +1,49 @@ +From 85b6747abc15a7a81086db31289cf1b8b17e6cb1 Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Tue, 25 Jan 2022 11:55:02 +0000 +Subject: [PATCH] patch 8.2.4214: illegal memory access with large 'tabstop' in + Ex mode + +Problem: Illegal memory access with large 'tabstop' in Ex mode. +Solution: Allocate enough memory. +--- + src/ex_getln.c | 2 +- + src/testdir/test_ex_mode.vim | 10 ++++++++++ + src/version.c | 2 ++ + 3 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/ex_getln.c b/src/ex_getln.c +index 5dc43d845..097b97eeb 100644 +--- a/src/ex_getln.c ++++ b/src/ex_getln.c +@@ -1513,7 +1513,7 @@ init_ccline(int firstc, int indent) + 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 FAIL; + ccline.cmdlen = ccline.cmdpos = 0; +diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim +index 7031115fc..2642a16d2 100644 +--- a/src/testdir/test_ex_mode.vim ++++ b/src/testdir/test_ex_mode.vim +@@ -241,4 +241,14 @@ func Test_ex_mode_count_overflow() + call delete('Xexmodescript') + endfunc + ++func Test_ex_mode_large_indent() ++ new ++ set ts=500 ai ++ call setline(1, "\t") ++ exe "normal gQi\." ++ set ts=8 noai ++ bwipe! ++endfunc ++ ++ + " vim: shiftwidth=2 sts=2 expandtab +-- +2.34.1 + 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 new file mode 100644 index 0000000..27d8404 --- /dev/null +++ b/SOURCES/0001-patch-8.2.4215-illegal-memory-access-when-copying-li.patch @@ -0,0 +1,51 @@ +From dc5490e2cbc8c16022a23b449b48c1bd0083f366 Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Tue, 25 Jan 2022 13:52:53 +0000 +Subject: [PATCH] patch 8.2.4215: illegal memory access when copying lines in + Visual mode + +Problem: Illegal memory access when copying lines in Visual mode. +Solution: Adjust the Visual position after copying lines. +--- + src/ex_cmds.c | 2 ++ + src/testdir/test_visual.vim | 11 +++++++++++ + src/version.c | 2 ++ + 3 files changed, 15 insertions(+) + +diff --git a/src/ex_cmds.c b/src/ex_cmds.c +index 95209985e..f5d93e664 100644 +--- a/src/ex_cmds.c ++++ b/src/ex_cmds.c +@@ -866,6 +866,8 @@ ex_copy(linenr_T line1, linenr_T line2, linenr_T n) + } + + appended_lines_mark(n, count); ++ if (VIsual_active) ++ check_pos(curbuf, &VIsual); + + msgmore((long)count); + } +diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim +index 72f5388b9..9b322fd21 100644 +--- a/src/testdir/test_visual.vim ++++ b/src/testdir/test_visual.vim +@@ -1328,5 +1328,16 @@ func Test_visual_exchange_windows() + 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 +-- +2.34.1 + diff --git a/SOURCES/0001-patch-8.2.4217-illegal-memory-access-when-undo-makes.patch b/SOURCES/0001-patch-8.2.4217-illegal-memory-access-when-undo-makes.patch new file mode 100644 index 0000000..adf946c --- /dev/null +++ b/SOURCES/0001-patch-8.2.4217-illegal-memory-access-when-undo-makes.patch @@ -0,0 +1,55 @@ +From 8d02ce1ed75d008c34a5c9aaa51b67cbb9d33baa Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Tue, 25 Jan 2022 18:24:00 +0000 +Subject: [PATCH] patch 8.2.4217: illegal memory access when undo makes Visual + area invalid + +Problem: Illegal memory access when undo makes Visual area invalid. +Solution: Correct the Visual area after undo. +--- + src/testdir/test_visual.vim | 15 +++++++++++++++ + src/undo.c | 2 ++ + src/version.c | 2 ++ + 3 files changed, 19 insertions(+) + +diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim +index 9b322fd21..b2beda08d 100644 +--- a/src/testdir/test_visual.vim ++++ b/src/testdir/test_visual.vim +@@ -1339,5 +1339,20 @@ func Test_visual_ex_copy_line() + bwipe! + endfunc + ++" This was leaving the end of the Visual area beyond the end of a line. ++" Set 'undolevels' to start a new undo block. ++func Test_visual_undo_deletes_last_line() ++ new ++ call setline(1, ["aaa", "ccc", "dyd"]) ++ set undolevels=100 ++ exe "normal obbbbbbbbbxbb\" ++ set undolevels=100 ++ /y ++ exe "normal ggvjfxO" ++ undo ++ normal gNU ++ bwipe! ++endfunc ++ + + " vim: shiftwidth=2 sts=2 expandtab +diff --git a/src/undo.c b/src/undo.c +index 4d186d453..636144aef 100644 +--- a/src/undo.c ++++ b/src/undo.c +@@ -3029,6 +3029,8 @@ u_undo_end( + } + } + #endif ++ if (VIsual_active) ++ check_pos(curbuf, &VIsual); + + smsg_attr_keep(0, _("%ld %s; %s #%ld %s"), + u_oldcount < 0 ? -u_oldcount : u_oldcount, +-- +2.34.1 + 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 new file mode 100644 index 0000000..95afeff --- /dev/null +++ b/SOURCES/0001-patch-8.2.4218-illegal-memory-access-with-bracketed-.patch @@ -0,0 +1,45 @@ +From 806d037671e133bd28a7864248763f643967973a Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Tue, 25 Jan 2022 20:45:16 +0000 +Subject: [PATCH] patch 8.2.4218: illegal memory access with bracketed paste in + Ex mode + +Problem: Illegal memory access with bracketed paste in Ex mode. +Solution: Reserve space for the trailing NUL. +--- + src/edit.c | 3 ++- + src/testdir/test_paste.vim | 3 +++ + src/version.c | 2 ++ + 3 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/edit.c b/src/edit.c +index ee3caf0da..2b5301100 100644 +--- a/src/edit.c ++++ b/src/edit.c +@@ -4452,7 +4452,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); +diff --git a/src/testdir/test_paste.vim b/src/testdir/test_paste.vim +index c94fe7c35..5b8d8a0e3 100644 +--- a/src/testdir/test_paste.vim ++++ b/src/testdir/test_paste.vim +@@ -90,6 +90,9 @@ func Test_paste_ex_mode() + unlet! foo + call feedkeys("Qlet foo=\"\[200~foo\bar\[201~\"\vi\", 'xt') + call assert_equal("foo\rbar", foo) ++ ++ " pasting more than 40 bytes ++ exe "norm Q\0000000000000000000000000000000000000000000000000000000000000000000000\" + endfunc + + func Test_paste_onechar() +-- +2.34.1 + diff --git a/SOURCES/0001-patch-8.2.4245-retab-0-may-cause-illegal-memory-acce.patch b/SOURCES/0001-patch-8.2.4245-retab-0-may-cause-illegal-memory-acce.patch new file mode 100644 index 0000000..be23fb3 --- /dev/null +++ b/SOURCES/0001-patch-8.2.4245-retab-0-may-cause-illegal-memory-acce.patch @@ -0,0 +1,95 @@ +diff -up vim82/src/indent.c.cve0417 vim82/src/indent.c +--- vim82/src/indent.c.cve0417 2022-02-09 10:01:34.250009316 +0100 ++++ vim82/src/indent.c 2022-02-09 10:02:54.802588536 +0100 +@@ -71,7 +71,7 @@ tabstop_set(char_u *var, int **array) + int n = atoi((char *)cp); + + // Catch negative values, overflow and ridiculous big values. +- if (n < 0 || n > 9999) ++ if (n < 0 || n > TABSTOP_MAX) + { + semsg(_(e_invarg2), cp); + vim_free(*array); +@@ -1595,7 +1595,7 @@ ex_retab(exarg_T *eap) + emsg(_(e_positive)); + return; + } +- if (new_ts < 0 || new_ts > 9999) ++ if (new_ts < 0 || new_ts > TABSTOP_MAX) + { + semsg(_(e_invarg2), eap->arg); + return; +diff -up vim82/src/option.c.cve0417 vim82/src/option.c +--- vim82/src/option.c.cve0417 2022-02-09 10:01:34.196009598 +0100 ++++ vim82/src/option.c 2022-02-09 10:28:10.398548161 +0100 +@@ -3640,6 +3640,11 @@ set_num_option( + errmsg = e_positive; + curbuf->b_p_ts = 8; + } ++ else if (curbuf->b_p_ts > TABSTOP_MAX) ++ { ++ errmsg = e_invarg; ++ curbuf->b_p_ts = 8; ++ } + if (p_tm < 0) + { + errmsg = e_positive; +@@ -5830,7 +5835,7 @@ buf_copy_options(buf_T *buf, int flags) + if (p_vsts && p_vsts != empty_option) + (void)tabstop_set(p_vsts, &buf->b_p_vsts_array); + else +- buf->b_p_vsts_array = 0; ++ buf->b_p_vsts_array = NULL; + buf->b_p_vsts_nopaste = p_vsts_nopaste + ? vim_strsave(p_vsts_nopaste) : NULL; + #endif +@@ -6649,9 +6654,7 @@ paste_option_changed(void) + if (buf->b_p_vsts) + free_string_option(buf->b_p_vsts); + buf->b_p_vsts = empty_option; +- if (buf->b_p_vsts_array) +- vim_free(buf->b_p_vsts_array); +- buf->b_p_vsts_array = 0; ++ VIM_CLEAR(buf->b_p_vsts_array); + #endif + } + +@@ -6697,12 +6700,11 @@ paste_option_changed(void) + free_string_option(buf->b_p_vsts); + buf->b_p_vsts = buf->b_p_vsts_nopaste + ? vim_strsave(buf->b_p_vsts_nopaste) : empty_option; +- if (buf->b_p_vsts_array) +- vim_free(buf->b_p_vsts_array); ++ vim_free(buf->b_p_vsts_array); + if (buf->b_p_vsts && buf->b_p_vsts != empty_option) + (void)tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array); + else +- buf->b_p_vsts_array = 0; ++ buf->b_p_vsts_array = NULL; + #endif + } + +diff -up vim82/src/testdir/test_options.vim.cve0417 vim82/src/testdir/test_options.vim +--- vim82/src/testdir/test_options.vim.cve0417 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/testdir/test_options.vim 2022-02-09 10:01:34.251009311 +0100 +@@ -362,6 +362,8 @@ func Test_set_errors() + call assert_fails('set shiftwidth=-1', 'E487:') + call assert_fails('set sidescroll=-1', 'E487:') + call assert_fails('set tabstop=-1', 'E487:') ++ call assert_fails('set tabstop=10000', 'E474:') ++ call assert_fails('set tabstop=5500000000', 'E474:') + call assert_fails('set textwidth=-1', 'E487:') + call assert_fails('set timeoutlen=-1', 'E487:') + call assert_fails('set updatecount=-1', 'E487:') +diff -up vim82/src/vim.h.cve0417 vim82/src/vim.h +--- vim82/src/vim.h.cve0417 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/vim.h 2022-02-09 10:01:34.252009306 +0100 +@@ -2032,6 +2032,8 @@ typedef int sock_T; + + #define DICT_MAXNEST 100 // maximum nesting of lists and dicts + ++#define TABSTOP_MAX 9999 ++ + #ifdef FEAT_CLIPBOARD + + // VIM_ATOM_NAME is the older Vim-specific selection type for X11. Still diff --git a/SOURCES/0001-patch-8.2.4247-stack-corruption-when-looking-for-spe.patch b/SOURCES/0001-patch-8.2.4247-stack-corruption-when-looking-for-spe.patch new file mode 100644 index 0000000..201e5e2 --- /dev/null +++ b/SOURCES/0001-patch-8.2.4247-stack-corruption-when-looking-for-spe.patch @@ -0,0 +1,75 @@ +diff --git a/src/spellsuggest.c b/src/spellsuggest.c +index 3de9ff2..5462583 100644 +--- a/src/spellsuggest.c ++++ b/src/spellsuggest.c +@@ -1200,7 +1200,7 @@ suggest_try_change(suginfo_T *su) + + // Check the maximum score, if we go over it we won't try this change. + #define TRY_DEEPER(su, stack, depth, add) \ +- (stack[depth].ts_score + (add) < su->su_maxscore) ++ (depth < MAXWLEN - 1 && stack[depth].ts_score + (add) < su->su_maxscore) + + /* + * Try finding suggestions by adding/removing/swapping letters. +@@ -1272,6 +1272,9 @@ suggest_trie_walk( + char_u changename[MAXWLEN][80]; + #endif + int breakcheckcount = 1000; ++#ifdef FEAT_RELTIME ++ proftime_T time_limit; ++#endif + int compound_ok; + + // Go through the whole case-fold tree, try changes at each node. +@@ -1316,6 +1319,11 @@ suggest_trie_walk( + sp->ts_state = STATE_START; + } + } ++#ifdef FEAT_RELTIME ++ // The loop may take an indefinite amount of time. Break out after five ++ // sectonds. TODO: add an option for the time limit. ++ profile_setlimit(5000, &time_limit); ++#endif + + // Loop to find all suggestions. At each round we either: + // - For the current state try one operation, advance "ts_curi", +@@ -1350,7 +1358,8 @@ suggest_trie_walk( + + // At end of a prefix or at start of prefixtree: check for + // following word. +- if (byts[arridx] == 0 || n == (int)STATE_NOPREFIX) ++ if (depth < MAXWLEN - 1 ++ && (byts[arridx] == 0 || n == (int)STATE_NOPREFIX)) + { + // Set su->su_badflags to the caps type at this position. + // Use the caps type until here for the prefix itself. +@@ -2644,6 +2653,10 @@ suggest_trie_walk( + { + ui_breakcheck(); + breakcheckcount = 1000; ++#ifdef FEAT_RELTIME ++ if (profile_passed_limit(&time_limit)) ++ got_int = TRUE; ++#endif + } + } + } +diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim +index a3a9621..35035a2 100644 +--- a/src/testdir/test_spell.vim ++++ b/src/testdir/test_spell.vim +@@ -768,6 +768,14 @@ func Test_spell_long_word() + set nospell + endfunc + ++func Test_spellsuggest_too_deep() ++ " This was incrementing "depth" over MAXWLEN. ++ new ++ norm s000G00�000000000000 ++ sil norm ..vzG................vvzG0 v z= ++ bwipe! ++endfunc ++ + func LoadAffAndDic(aff_contents, dic_contents) + set enc=latin1 + set spellfile= 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 new file mode 100644 index 0000000..bb58404 --- /dev/null +++ b/SOURCES/0001-patch-8.2.4253-using-freed-memory-when-substitute-wi.patch @@ -0,0 +1,69 @@ +diff -up vim82/src/ex_cmds.c.cve0413 vim82/src/ex_cmds.c +--- vim82/src/ex_cmds.c.cve0413 2022-02-10 08:09:27.644493218 +0100 ++++ vim82/src/ex_cmds.c 2022-02-10 08:09:27.653493168 +0100 +@@ -3627,6 +3627,7 @@ ex_substitute(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; +@@ -3928,11 +3929,20 @@ ex_substitute(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, magic_isset()); + + /* +@@ -4737,6 +4747,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 -up vim82/src/testdir/test_substitute.vim.cve0413 vim82/src/testdir/test_substitute.vim +--- vim82/src/testdir/test_substitute.vim.cve0413 2022-02-10 08:09:27.654493162 +0100 ++++ vim82/src/testdir/test_substitute.vim 2022-02-10 08:10:14.392230843 +0100 +@@ -926,4 +926,21 @@ func Test_substitute_multiline_submatch( + close! + endfunc + ++" This was using "old_sub" after it was freed. ++func Test_using_old_sub() ++ set compatible maxfuncdepth=10 ++ new ++ call setline(1, 'some text.') ++ func Repl() ++ ~ ++ s/ ++ endfunc ++ silent! s/\%')/\=Repl() ++ ++ delfunc Repl ++ bwipe! ++ set nocompatible ++endfunc ++ ++ + " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.4281-using-freed-memory-with-lopen-and-bwi.patch b/SOURCES/0001-patch-8.2.4281-using-freed-memory-with-lopen-and-bwi.patch new file mode 100644 index 0000000..78370cd --- /dev/null +++ b/SOURCES/0001-patch-8.2.4281-using-freed-memory-with-lopen-and-bwi.patch @@ -0,0 +1,75 @@ +diff -up vim82/src/buffer.c.cve0443 vim82/src/buffer.c +--- vim82/src/buffer.c.cve0443 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/buffer.c 2022-02-10 08:33:19.159488384 +0100 +@@ -1710,6 +1710,7 @@ set_curbuf(buf_T *buf, int action) + #endif + bufref_T newbufref; + bufref_T prevbufref; ++ int valid; + + setpcmark(); + if ((cmdmod.cmod_flags & CMOD_KEEPALT) == 0) +@@ -1763,13 +1764,19 @@ set_curbuf(buf_T *buf, int action) + // An autocommand may have deleted "buf", already entered it (e.g., when + // it did ":bunload") or aborted the script processing. + // If curwin->w_buffer is null, enter_buffer() will make it valid again +- if ((buf_valid(buf) && buf != curbuf ++ valid = buf_valid(buf); ++ if ((valid && buf != curbuf + #ifdef FEAT_EVAL + && !aborting() + #endif + ) || curwin->w_buffer == NULL) + { +- enter_buffer(buf); ++ // If the buffer is not valid but curwin->w_buffer is NULL we must ++ // enter some buffer. Using the last one is hopefully OK. ++ if (!valid) ++ enter_buffer(lastbuf); ++ else ++ enter_buffer(buf); + #ifdef FEAT_SYN_HL + if (old_tw != curbuf->b_p_tw) + check_colorcolumn(curwin); +@@ -2286,8 +2293,7 @@ free_buf_options( + clear_string_option(&buf->b_p_vsts); + vim_free(buf->b_p_vsts_nopaste); + buf->b_p_vsts_nopaste = NULL; +- vim_free(buf->b_p_vsts_array); +- buf->b_p_vsts_array = NULL; ++ VIM_CLEAR(buf->b_p_vsts_array); + clear_string_option(&buf->b_p_vts); + VIM_CLEAR(buf->b_p_vts_array); + #endif +diff -up vim82/src/testdir/test_quickfix.vim.cve0443 vim82/src/testdir/test_quickfix.vim +--- vim82/src/testdir/test_quickfix.vim.cve0443 2021-03-22 10:02:42.000000000 +0100 ++++ vim82/src/testdir/test_quickfix.vim 2022-02-10 08:34:10.288204457 +0100 +@@ -923,6 +923,7 @@ func Test_locationlist_curwin_was_closed + call assert_fails('lrewind', 'E924:') + + augroup! testgroup ++ delfunc R + endfunc + + func Test_locationlist_cross_tab_jump() +@@ -5372,4 +5373,20 @@ func Test_vimgrep_noswapfile() + set swapfile + endfunc + ++" Weird sequence of commands that caused entering a wiped-out buffer ++func Test_lopen_bwipe() ++ func R() ++ silent! tab lopen ++ e x ++ silent! lfile ++ endfunc ++ ++ cal R() ++ cal R() ++ cal R() ++ bw! ++ delfunc R ++endfunc ++ ++ + " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.4359-crash-when-repeatedly-using-retab.patch b/SOURCES/0001-patch-8.2.4359-crash-when-repeatedly-using-retab.patch new file mode 100644 index 0000000..276843a --- /dev/null +++ b/SOURCES/0001-patch-8.2.4359-crash-when-repeatedly-using-retab.patch @@ -0,0 +1,61 @@ +diff --git a/src/errors.h b/src/errors.h +index 3008020..3daf1a6 100644 +--- a/src/errors.h ++++ b/src/errors.h +@@ -381,3 +381,5 @@ EXTERN char e_missing_end_block[] + INIT(= N_("E1171: Missing } after inline function")); + EXTERN char e_cannot_use_default_values_in_lambda[] + INIT(= N_("E1172: Cannot use default values in a lambda")); ++EXTERN char e_resulting_text_too_long[] ++ INIT(= N_("E1240: Resulting text too long")); +diff --git a/src/indent.c b/src/indent.c +index 4f909d0..77d8b0a 100644 +--- a/src/indent.c ++++ b/src/indent.c +@@ -1696,6 +1696,11 @@ ex_retab(exarg_T *eap) + if (ptr[col] == NUL) + break; + vcol += chartabsize(ptr + col, (colnr_T)vcol); ++ if (vcol >= MAXCOL) ++ { ++ emsg(_(e_resulting_text_too_long)); ++ break; ++ } + if (has_mbyte) + col += (*mb_ptr2len)(ptr + col); + else +diff --git a/src/testdir/test_retab.vim b/src/testdir/test_retab.vim +index c7190aa..6133e8f 100644 +--- a/src/testdir/test_retab.vim ++++ b/src/testdir/test_retab.vim +@@ -70,6 +70,8 @@ func Test_retab() + call assert_equal(" a b c ", Retab('!', 3)) + call assert_equal(" a b c ", Retab('', 5)) + call assert_equal(" a b c ", Retab('!', 5)) ++ ++ set tabstop& expandtab& + endfunc + + func Test_retab_error() +@@ -80,4 +82,21 @@ func Test_retab_error() + call assert_fails('ret 80000000000000000000', 'E475:') + endfunc + ++func Test_retab_endless() ++ new ++ call setline(1, "\t0\t") ++ let caught = 'no' ++ try ++ while 1 ++ set ts=4000 ++ retab 4 ++ endwhile ++ catch /E1240/ ++ let caught = 'yes' ++ endtry ++ bwipe! ++ set tabstop& ++endfunc ++ ++ + " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/0001-patch-8.2.4397-crash-when-using-many-composing-chara.patch b/SOURCES/0001-patch-8.2.4397-crash-when-using-many-composing-chara.patch new file mode 100644 index 0000000..e190f2c --- /dev/null +++ b/SOURCES/0001-patch-8.2.4397-crash-when-using-many-composing-chara.patch @@ -0,0 +1,49 @@ +From 34f8117dec685ace52cd9e578e2729db278163fc Mon Sep 17 00:00:00 2001 +From: Bram Moolenaar +Date: Wed, 16 Feb 2022 12:16:19 +0000 +Subject: [PATCH] patch 8.2.4397: crash when using many composing characters in + error message + +Problem: Crash when using many composing characters in error message. +Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv(). +--- + src/testdir/test_assert.vim | 8 ++++++++ + src/testing.c | 2 +- + src/version.c | 2 ++ + 3 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim +index 8987f3f8d..27b2d73fb 100644 +--- a/src/testdir/test_assert.vim ++++ b/src/testdir/test_assert.vim +@@ -53,6 +53,14 @@ func Test_assert_equal() + call assert_equal("\b\e\f\n\t\r\\\x01\x7f", 'x') + call assert_match('Expected ''\\b\\e\\f\\n\\t\\r\\\\\\x01\\x7f'' but got ''x''', v:errors[0]) + call remove(v:errors, 0) ++ ++ " many composing characters are handled properly ++ call setline(1, ' ') ++ norm 100gr݀ ++ call assert_equal(1, getline(1)) ++ call assert_match("Expected 1 but got '.* occurs 100 times]'", v:errors[0]) ++ call remove(v:errors, 0) ++ bwipe! + endfunc + + func Test_assert_equal_dict() +diff --git a/src/testing.c b/src/testing.c +index 448c01c1e..48ba14d2c 100644 +--- a/src/testing.c ++++ b/src/testing.c +@@ -101,7 +101,7 @@ ga_concat_shorten_esc(garray_T *gap, char_u *str) + { + same_len = 1; + s = p; +- c = mb_ptr2char_adv(&s); ++ c = mb_cptr2char_adv(&s); + clen = s - p; + while (*s != NUL && c == mb_ptr2char(s)) + { +-- +2.35.1 + diff --git a/SOURCES/0001-patch-8.2.4436-crash-with-weird-vartabstop-value.patch b/SOURCES/0001-patch-8.2.4436-crash-with-weird-vartabstop-value.patch new file mode 100644 index 0000000..123e7d6 --- /dev/null +++ b/SOURCES/0001-patch-8.2.4436-crash-with-weird-vartabstop-value.patch @@ -0,0 +1,35 @@ +diff --git a/src/indent.c b/src/indent.c +index 77d8b0a..9830685 100644 +--- a/src/indent.c ++++ b/src/indent.c +@@ -1284,6 +1284,8 @@ change_indent( + new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col); + else + ++new_cursor_col; ++ if (ptr[new_cursor_col] == NUL) ++ break; + vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol); + } + vcol = last_vcol; +diff --git a/src/testdir/test_vartabs.vim b/src/testdir/test_vartabs.vim +index 0ff1ea8..a613510 100644 +--- a/src/testdir/test_vartabs.vim ++++ b/src/testdir/test_vartabs.vim +@@ -419,4 +419,17 @@ func Test_varsofttabstop() + close! + endfunc + ++func Test_vartabstop_latin1() ++ let save_encoding = &encoding ++ new ++ set encoding=iso8859-1 ++ set compatible linebreak list revins smarttab ++ set vartabstop=400 ++ exe "norm i00\t\" ++ bwipe! ++ let &encoding = save_encoding ++ set nocompatible linebreak& list& revins& smarttab& vartabstop& ++endfunc ++ ++ + " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/gvim16.png b/SOURCES/gvim16.png new file mode 100644 index 0000000..fb45d22 Binary files /dev/null and b/SOURCES/gvim16.png differ diff --git a/SOURCES/gvim32.png b/SOURCES/gvim32.png new file mode 100644 index 0000000..c6e04fa Binary files /dev/null and b/SOURCES/gvim32.png differ diff --git a/SOURCES/gvim48.png b/SOURCES/gvim48.png new file mode 100644 index 0000000..4bac67e Binary files /dev/null and b/SOURCES/gvim48.png differ diff --git a/SOURCES/macros.vim b/SOURCES/macros.vim new file mode 100644 index 0000000..a43156e --- /dev/null +++ b/SOURCES/macros.vim @@ -0,0 +1 @@ +%vimfiles_root %{_datadir}/vim/vimfiles diff --git a/SOURCES/spec-template.new b/SOURCES/spec-template.new new file mode 100644 index 0000000..2a558fb --- /dev/null +++ b/SOURCES/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/SOURCES/vi_wrapper b/SOURCES/vi_wrapper new file mode 100644 index 0000000..1bb1aec --- /dev/null +++ b/SOURCES/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/SOURCES/view_wrapper b/SOURCES/view_wrapper new file mode 100644 index 0000000..9e8d720 --- /dev/null +++ b/SOURCES/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/SOURCES/vim-7.0-fixkeys.patch b/SOURCES/vim-7.0-fixkeys.patch new file mode 100644 index 0000000..1d5bc4a --- /dev/null +++ b/SOURCES/vim-7.0-fixkeys.patch @@ -0,0 +1,26 @@ +diff -up vim82/src/term.c.fixkeys vim82/src/term.c +--- vim82/src/term.c.fixkeys 2021-01-08 10:12:59.191309539 +0100 ++++ vim82/src/term.c 2021-01-08 10:18:05.410470981 +0100 +@@ -919,14 +919,14 @@ static struct builtin_term builtin_termc + {K_XRIGHT, IF_EB("\033[@;*C", ESC_STR "[@;*C")}, + {K_XLEFT, IF_EB("\033[@;*D", ESC_STR "[@;*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 new file mode 100644 index 0000000..840f53e --- /dev/null +++ b/SOURCES/vim-7.0-rclocation.patch @@ -0,0 +1,15 @@ +--- 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.3-manpage-typo-668894-675480.patch b/SOURCES/vim-7.3-manpage-typo-668894-675480.patch new file mode 100644 index 0000000..0604fc4 --- /dev/null +++ b/SOURCES/vim-7.3-manpage-typo-668894-675480.patch @@ -0,0 +1,12 @@ +diff -up vim73/runtime/doc/vim.1.668894 vim73/runtime/doc/vim.1 +--- vim73/runtime/doc/vim.1.668894 2010-05-15 13:04:00.000000000 +0200 ++++ vim73/runtime/doc/vim.1 2012-08-28 12:41:36.000000000 +0200 +@@ -73,7 +73,7 @@ To edit a file that starts with a dash, + .TP + \- + The file to edit is read from stdin. Commands are read from stderr, which +-should be a tty. ++should be a TTY. + .TP + \-t {tag} + The file to edit and the initial cursor position depends on a "tag", a sort diff --git a/SOURCES/vim-7.4-fstabsyntax.patch b/SOURCES/vim-7.4-fstabsyntax.patch new file mode 100644 index 0000000..81d39da --- /dev/null +++ b/SOURCES/vim-7.4-fstabsyntax.patch @@ -0,0 +1,21 @@ +diff -up vim82/runtime/syntax/fstab.vim.fstabsyntax vim82/runtime/syntax/fstab.vim +--- vim82/runtime/syntax/fstab.vim.fstabsyntax 2020-08-10 12:08:01.000000000 +0200 ++++ vim82/runtime/syntax/fstab.vim 2020-08-10 12:17:22.540855735 +0200 +@@ -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 nofail failok ++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 nofail + syn match fsOptionsGeneral /_netdev/ + + " Options: adfs diff --git a/SOURCES/vim-7.4-globalsyntax.patch b/SOURCES/vim-7.4-globalsyntax.patch new file mode 100644 index 0000000..4503f2d --- /dev/null +++ b/SOURCES/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-releasestring-1318991.patch b/SOURCES/vim-7.4-releasestring-1318991.patch new file mode 100644 index 0000000..291b957 --- /dev/null +++ b/SOURCES/vim-7.4-releasestring-1318991.patch @@ -0,0 +1,14 @@ +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-specsyntax.patch b/SOURCES/vim-7.4-specsyntax.patch new file mode 100644 index 0000000..3c028b5 --- /dev/null +++ b/SOURCES/vim-7.4-specsyntax.patch @@ -0,0 +1,33 @@ +diff -up vim74/runtime/syntax/spec.vim.highlite vim74/runtime/syntax/spec.vim +--- vim74/runtime/syntax/spec.vim.highlite 2016-07-04 10:17:45.000000000 +0200 ++++ vim74/runtime/syntax/spec.vim 2016-08-04 15:20:26.116049343 +0200 +@@ -38,7 +38,7 @@ syn match specNoNumberHilite 'X11\|X11R6 + syn match specManpageFile '[a-zA-Z]\.1' + + "Day, Month and most used license acronyms +-syn keyword specLicense contained GPL LGPL BSD MIT GNU ++syn keyword specLicense contained GPL LGPL BSD MIT GNU distributable + syn keyword specWeekday contained Mon Tue Wed Thu Fri Sat Sun + syn keyword specMonth contained Jan Feb Mar Apr Jun Jul Aug Sep Oct Nov Dec + 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 + syn match specConfigure contained '\./configure' +-syn match specTarCommand contained '\ +Date: Fri, 17 Sep 2021 07:54:56 +0200 +Subject: [PATCH] runtime/filetype.vim: Register more httpd files as apache + filetype + +Several files under /etc/httpd wasn't recognized as 'apache' filetype - +add them to filetype.vim and add tests for checking if recognizition +works. +--- + runtime/filetype.vim | 2 +- + src/testdir/test_filetype.vim | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/runtime/filetype.vim b/runtime/filetype.vim +index d0d40539d..39a772740 100644 +--- a/runtime/filetype.vim ++++ b/runtime/filetype.vim +@@ -2138,7 +2138,7 @@ au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle') + + " 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/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.*/*,*/etc/httpd/mods-*/*,*/etc/httpd/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache') + + " Asterisk config file + au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk') +diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim +index cd6e71d1b..f1404808f 100644 +--- a/src/testdir/test_filetype.vim ++++ b/src/testdir/test_filetype.vim +@@ -59,7 +59,7 @@ let s:filename_checks = { + \ 'aml': ['file.aml'], + \ 'ampl': ['file.run'], + \ 'ant': ['build.xml'], +- \ 'apache': ['.htaccess', '/etc/httpd/file.conf', '/etc/apache2/sites-2/file.com', '/etc/apache2/some.config', '/etc/apache2/conf.file/conf', '/etc/apache2/mods-some/file', '/etc/apache2/sites-some/file', '/etc/httpd/conf.d/file.config', '/etc/apache2/conf.file/file', '/etc/apache2/file.conf', '/etc/apache2/file.conf-file', '/etc/apache2/mods-file/file', '/etc/apache2/sites-file/file', '/etc/apache2/sites-file/file.com', '/etc/httpd/conf.d/file.conf', '/etc/httpd/conf.d/file.conf-file', 'access.conf', 'access.conf-file', 'any/etc/apache2/conf.file/file', 'any/etc/apache2/file.conf', 'any/etc/apache2/file.conf-file', 'any/etc/apache2/mods-file/file', 'any/etc/apache2/sites-file/file', 'any/etc/apache2/sites-file/file.com', 'any/etc/httpd/conf.d/file.conf', 'any/etc/httpd/conf.d/file.conf-file', 'any/etc/httpd/file.conf', 'apache.conf', 'apache.conf-file', 'apache2.conf', 'apache2.conf-file', 'httpd.conf', 'httpd.conf-file', 'srm.conf', 'srm.conf-file'], ++ \ 'apache': ['.htaccess', '/etc/httpd/file.conf', '/etc/apache2/sites-2/file.com', '/etc/apache2/some.config', '/etc/apache2/conf.file/conf', '/etc/apache2/mods-some/file', '/etc/apache2/sites-some/file', '/etc/httpd/conf.d/file.config', '/etc/apache2/conf.file/file', '/etc/apache2/file.conf', '/etc/apache2/file.conf-file', '/etc/apache2/mods-file/file', '/etc/apache2/sites-file/file', '/etc/apache2/sites-file/file.com', '/etc/httpd/conf.d/file.conf', '/etc/httpd/conf.d/file.conf-file', 'access.conf', 'access.conf-file', 'any/etc/apache2/conf.file/file', 'any/etc/apache2/file.conf', 'any/etc/apache2/file.conf-file', 'any/etc/apache2/mods-file/file', 'any/etc/apache2/sites-file/file', 'any/etc/apache2/sites-file/file.com', 'any/etc/httpd/conf.d/file.conf', 'any/etc/httpd/conf.d/file.conf-file', 'any/etc/httpd/file.conf', 'apache.conf', 'apache.conf-file', 'apache2.conf', 'apache2.conf-file', 'httpd.conf', 'httpd.conf-file', 'srm.conf', 'srm.conf-file', '/etc/httpd/mods-some/file', '/etc/httpd/sites-some/file', '/etc/httpd/conf.file/conf'], + \ 'apachestyle': ['/etc/proftpd/file.config,/etc/proftpd/conf.file/file', '/etc/proftpd/conf.file/file', '/etc/proftpd/file.conf', '/etc/proftpd/file.conf-file', 'any/etc/proftpd/conf.file/file', 'any/etc/proftpd/file.conf', 'any/etc/proftpd/file.conf-file', 'proftpd.conf', 'proftpd.conf-file'], + \ 'applescript': ['file.scpt'], + \ 'aptconf': ['apt.conf', '/.aptitude/config', 'any/.aptitude/config'], +-- +2.31.1 + diff --git a/SOURCES/vim-8.0-copy-paste.patch b/SOURCES/vim-8.0-copy-paste.patch new file mode 100644 index 0000000..73870cd --- /dev/null +++ b/SOURCES/vim-8.0-copy-paste.patch @@ -0,0 +1,79 @@ +diff --git a/runtime/defaults.vim b/runtime/defaults.vim +index f3c639b..20637e2 100644 +--- a/runtime/defaults.vim ++++ b/runtime/defaults.vim +@@ -73,18 +73,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. +-" 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 319e546..8fcf63c 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() balloondelay=100 + func MyBalloonExpr() +diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim +index f13252b..ec755a4 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 +@@ -599,6 +600,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 }}}") +@@ -652,6 +654,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', +@@ -1479,6 +1482,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 +@@ -2170,6 +2174,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/SOURCES/vim-crypto-warning.patch new file mode 100644 index 0000000..80c36da --- /dev/null +++ b/SOURCES/vim-crypto-warning.patch @@ -0,0 +1,83 @@ +diff -up vim82/src/config.h.in.fips-warning vim82/src/config.h.in +--- vim82/src/config.h.in.fips-warning 2021-03-01 12:20:20.887162181 +0100 ++++ vim82/src/config.h.in 2021-03-01 12:20:42.520977438 +0100 +@@ -499,3 +499,12 @@ + + /* Define if _SC_SIGSTKSZ is available via sysconf() */ + #undef HAVE_SYSCONF_SIGSTKSZ ++ ++/* Do we need FIPS warning? */ ++#undef HAVE_FIPS_WARNING ++ ++/* Link to system-fips file */ ++#undef SYSTEM_FIPS_FILE_LINK ++ ++/* Link to fips_enabled file */ ++#undef FIPS_ENABLED_FILE_LINK +diff -up vim82/src/configure.ac.fips-warning vim82/src/configure.ac +--- vim82/src/configure.ac.fips-warning 2021-03-01 12:20:20.885162198 +0100 ++++ vim82/src/configure.ac 2021-03-01 12:20:20.888162173 +0100 +@@ -541,6 +541,38 @@ else + AC_MSG_RESULT(yes) + fi + ++dnl Checking if we want FIPS warning ++ ++AC_MSG_CHECKING(--enable-fips-warning) ++AC_ARG_ENABLE([fips-warning], ++ AS_HELP_STRING([--enable-fips-warning], [Enable FIPS warning]), ++ ,[enable_fips_warning="no"]) ++ ++if test "$enable_fips_warning" = "yes"; then ++ AC_MSG_RESULT(yes) ++ AC_DEFINE([HAVE_FIPS_WARNING]) ++ ++ dnl Setting path for system-fips file ++ ++ AC_MSG_CHECKING(--with-system-fips-file argument) ++ AC_ARG_WITH([system-fips-file], [ --with-system-fips-file=PATH Link to system-fips file (default: /etc/system-fips)], ++ with_system_fips_file=$withval, ++ with_system_fips_file="/etc/system-fips") ++ AC_MSG_RESULT([$with_system_fips_file]) ++ AC_DEFINE_UNQUOTED([SYSTEM_FIPS_FILE_LINK], ["$with_system_fips_file"]) ++ ++ dnl Setting link to fips_enabled file ++ ++ AC_MSG_CHECKING(--with-fips-enabled-file argument) ++ AC_ARG_WITH([fips-enabled-file], [ --with-fips-enabled-file=PATH Link to fibs_enabled file (default: /proc/sys/crypto/fips_enabled)], ++ with_fips_enabled_file=$withval, ++ with_fips_enabled_file="/proc/sys/crypto/fips_enabled") ++ AC_MSG_RESULT([$with_fips_enabled_file]) ++ AC_DEFINE_UNQUOTED([FIPS_ENABLED_FILE_LINK], ["$with_fips_enabled_file"]) ++else ++ AC_MSG_RESULT(no) ++fi ++ + dnl Check for Lua feature. + AC_MSG_CHECKING(--enable-luainterp argument) + AC_ARG_ENABLE(luainterp, +diff -up vim82/src/crypt.c.fips-warning vim82/src/crypt.c +--- vim82/src/crypt.c.fips-warning 2021-03-01 12:13:11.000000000 +0100 ++++ vim82/src/crypt.c 2021-03-01 12:20:20.888162173 +0100 +@@ -523,6 +523,21 @@ crypt_check_method(int method) + msg_scroll = TRUE; + 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; ++ ++ 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.")); ++ } ++ ++ fclose(fips_enable_fd); ++#endif + } + + void diff --git a/SOURCES/vim-cve-var-retab.patch b/SOURCES/vim-cve-var-retab.patch new file mode 100644 index 0000000..e262955 --- /dev/null +++ b/SOURCES/vim-cve-var-retab.patch @@ -0,0 +1,200 @@ +diff --git a/src/indent.c b/src/indent.c +index e1c6f52..a002b4b 100644 +--- a/src/indent.c ++++ b/src/indent.c +@@ -18,18 +18,19 @@ + /* + * Set the integer values corresponding to the string setting of 'vartabstop'. + * "array" will be set, caller must free it if needed. ++ * Return FAIL for an error. + */ + int + tabstop_set(char_u *var, int **array) + { +- int valcount = 1; +- int t; +- char_u *cp; ++ int valcount = 1; ++ int t; ++ char_u *cp; + + if (var[0] == NUL || (var[0] == '0' && var[1] == NUL)) + { + *array = NULL; +- return TRUE; ++ return OK; + } + + for (cp = var; *cp != NUL; ++cp) +@@ -43,8 +44,8 @@ tabstop_set(char_u *var, int **array) + if (cp != end) + emsg(_(e_positive)); + else +- emsg(_(e_invarg)); +- return FALSE; ++ semsg(_(e_invarg2), cp); ++ return FAIL; + } + } + +@@ -55,26 +56,36 @@ tabstop_set(char_u *var, int **array) + ++valcount; + continue; + } +- emsg(_(e_invarg)); +- return FALSE; ++ semsg(_(e_invarg2), var); ++ return FAIL; + } + + *array = ALLOC_MULT(int, valcount + 1); + if (*array == NULL) +- return FALSE; ++ return FAIL; + (*array)[0] = valcount; + + t = 1; + for (cp = var; *cp != NUL;) + { +- (*array)[t++] = atoi((char *)cp); +- while (*cp != NUL && *cp != ',') ++ int n = atoi((char *)cp); ++ ++ // Catch negative values, overflow and ridiculous big values. ++ if (n < 0 || n > 9999) ++ { ++ semsg(_(e_invarg2), cp); ++ vim_free(*array); ++ *array = NULL; ++ return FAIL; ++ } ++ (*array)[t++] = n; ++ while (*cp != NUL && *cp != ',') + ++cp; + if (*cp != NUL) + ++cp; + } + +- return TRUE; ++ return OK; + } + + /* +@@ -1561,7 +1572,7 @@ ex_retab(exarg_T *eap) + + #ifdef FEAT_VARTABS + new_ts_str = eap->arg; +- if (!tabstop_set(eap->arg, &new_vts_array)) ++ if (tabstop_set(eap->arg, &new_vts_array) == FAIL) + return; + while (vim_isdigit(*(eap->arg)) || *(eap->arg) == ',') + ++(eap->arg); +@@ -1577,12 +1588,18 @@ ex_retab(exarg_T *eap) + else + new_ts_str = vim_strnsave(new_ts_str, eap->arg - new_ts_str); + #else +- new_ts = getdigits(&(eap->arg)); +- if (new_ts < 0) ++ ptr = eap->arg; ++ new_ts = getdigits(&ptr); ++ if (new_ts < 0 && *eap->arg == '-') + { + emsg(_(e_positive)); + return; + } ++ if (new_ts < 0 || new_ts > 9999) ++ { ++ semsg(_(e_invarg2), eap->arg); ++ return; ++ } + if (new_ts == 0) + new_ts = curbuf->b_p_ts; + #endif +diff --git a/src/option.c b/src/option.c +index b9d7edb..9a3b71e 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -2349,9 +2349,9 @@ didset_options2(void) + #endif + #ifdef FEAT_VARTABS + vim_free(curbuf->b_p_vsts_array); +- tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array); ++ (void)tabstop_set(curbuf->b_p_vsts, &curbuf->b_p_vsts_array); + vim_free(curbuf->b_p_vts_array); +- tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array); ++ (void)tabstop_set(curbuf->b_p_vts, &curbuf->b_p_vts_array); + #endif + } + +@@ -5828,7 +5828,7 @@ buf_copy_options(buf_T *buf, int flags) + buf->b_p_vsts = vim_strsave(p_vsts); + COPY_OPT_SCTX(buf, BV_VSTS); + if (p_vsts && p_vsts != empty_option) +- tabstop_set(p_vsts, &buf->b_p_vsts_array); ++ (void)tabstop_set(p_vsts, &buf->b_p_vsts_array); + else + buf->b_p_vsts_array = 0; + buf->b_p_vsts_nopaste = p_vsts_nopaste +@@ -5988,7 +5988,7 @@ buf_copy_options(buf_T *buf, int flags) + buf->b_p_isk = save_p_isk; + #ifdef FEAT_VARTABS + if (p_vts && p_vts != empty_option && !buf->b_p_vts_array) +- tabstop_set(p_vts, &buf->b_p_vts_array); ++ (void)tabstop_set(p_vts, &buf->b_p_vts_array); + else + buf->b_p_vts_array = NULL; + #endif +@@ -6003,7 +6003,7 @@ buf_copy_options(buf_T *buf, int flags) + buf->b_p_vts = vim_strsave(p_vts); + COPY_OPT_SCTX(buf, BV_VTS); + if (p_vts && p_vts != empty_option && !buf->b_p_vts_array) +- tabstop_set(p_vts, &buf->b_p_vts_array); ++ (void)tabstop_set(p_vts, &buf->b_p_vts_array); + else + buf->b_p_vts_array = NULL; + #endif +@@ -6700,7 +6700,7 @@ paste_option_changed(void) + if (buf->b_p_vsts_array) + vim_free(buf->b_p_vsts_array); + if (buf->b_p_vsts && buf->b_p_vsts != empty_option) +- tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array); ++ (void)tabstop_set(buf->b_p_vsts, &buf->b_p_vsts_array); + else + buf->b_p_vsts_array = 0; + #endif +diff --git a/src/optionstr.c b/src/optionstr.c +index 521242d..db015e8 100644 +--- a/src/optionstr.c ++++ b/src/optionstr.c +@@ -2215,7 +2215,7 @@ ambw_end: + if (errmsg == NULL) + { + int *oldarray = curbuf->b_p_vsts_array; +- if (tabstop_set(*varp, &(curbuf->b_p_vsts_array))) ++ if (tabstop_set(*varp, &(curbuf->b_p_vsts_array)) == OK) + { + if (oldarray) + vim_free(oldarray); +@@ -2254,7 +2254,7 @@ ambw_end: + { + int *oldarray = curbuf->b_p_vts_array; + +- if (tabstop_set(*varp, &(curbuf->b_p_vts_array))) ++ if (tabstop_set(*varp, &(curbuf->b_p_vts_array)) == OK) + { + vim_free(oldarray); + #ifdef FEAT_FOLDING +diff --git a/src/testdir/test_retab.vim b/src/testdir/test_retab.vim +index b792da5..c7190aa 100644 +--- a/src/testdir/test_retab.vim ++++ b/src/testdir/test_retab.vim +@@ -75,6 +75,9 @@ endfunc + func Test_retab_error() + call assert_fails('retab -1', 'E487:') + call assert_fails('retab! -1', 'E487:') ++ call assert_fails('ret -1000', 'E487:') ++ call assert_fails('ret 10000', 'E475:') ++ call assert_fails('ret 80000000000000000000', 'E475:') + endfunc + + " vim: shiftwidth=2 sts=2 expandtab diff --git a/SOURCES/vim-default-editor.csh b/SOURCES/vim-default-editor.csh new file mode 100644 index 0000000..d98316d --- /dev/null +++ b/SOURCES/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/SOURCES/vim-default-editor.fish b/SOURCES/vim-default-editor.fish new file mode 100644 index 0000000..e4288c1 --- /dev/null +++ b/SOURCES/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/SOURCES/vim-default-editor.sh b/SOURCES/vim-default-editor.sh new file mode 100644 index 0000000..1a53daf --- /dev/null +++ b/SOURCES/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/SOURCES/vim-manpagefixes-948566.patch new file mode 100644 index 0000000..6f49560 --- /dev/null +++ b/SOURCES/vim-manpagefixes-948566.patch @@ -0,0 +1,326 @@ +diff -up vim73/runtime/doc/vim.man.rh1 vim73/runtime/doc/vim.man +--- vim73/runtime/doc/vim.man.rh1 2013-07-26 11:26:20.566576864 +0200 ++++ vim73/runtime/doc/vim.man 2013-07-26 11:47:42.061351469 +0200 +@@ -11,9 +11,9 @@ SYNOPSIS + vim [options] -t tag + vim [options] -q [errorfile] + +- ex ++ ex gex + view +- gvim gview evim eview ++ gvim gview vimx evim eview + rvim rview rgvim rgview + + DESCRIPTION +@@ -79,8 +79,13 @@ DESCRIPTION + the files. Can also be done with the "-R" argument. + + gvim gview +- The GUI version. Starts a new window. Can also be done with +- the "-g" argument. ++ The GUI version. Starts a new window. ++ ++ gex Starts a new gvim window in Ex mode. Can also be done with ++ the "-e" argument to gvim. ++ ++ vimx Starts gvim in "Vi" mode similar to "vim", but with ++ additional features like xterm clipboard support. + + evim eview + The GUI version in easy mode. Starts a new window. Can also +diff -urN vim73/runtime/doc/vim.1 vim73_new/runtime/doc/vim.1 +--- vim73/runtime/doc/vim.1 2013-07-31 14:13:01.039765800 +0200 ++++ vim73_new/runtime/doc/vim.1 2013-07-31 13:57:59.861912768 +0200 +@@ -17,11 +17,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +@@ -114,7 +116,12 @@ + gvim gview + The GUI version. + Starts a new window. +-Can also be done with the "\-g" argument. ++.TP ++gex ++Starts a new gvim window in Ex mode. Can also be done with the "-e" argument to gvim ++.TP ++vimx ++Starts gvim in "Vi" mode similar to "vim", but with additional features like xterm clipboard support + .TP + evim eview + The GUI version in easy mode. +@@ -458,6 +458,12 @@ + \-\-remote\-wait\-silent + As \-\-remote\-wait, but without the warning when no server is found. + .TP ++\-\-remote\-tab[\-wait][\-silent] ++As \-\-remote but use tab page per file ++.TP ++\-\-role ++Set a unique role to identify the main window ++.TP + \-\-serverlist + List the names of all Vim servers that can be found. + .TP +diff -urN vim73/runtime/doc/vim-fr.1 vim73_new/runtime/doc/vim-fr.1 +--- vim73/runtime/doc/vim-fr.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vim-fr.1 2013-07-31 13:59:10.587467916 +0200 +@@ -24,11 +24,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +diff -urN vim73/runtime/doc/vim-fr.UTF-8.1 vim73_new/runtime/doc/vim-fr.UTF-8.1 +--- vim73/runtime/doc/vim-fr.UTF-8.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vim-fr.UTF-8.1 2013-07-31 13:59:28.394852347 +0200 +@@ -24,11 +24,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +diff -urN vim73/runtime/doc/vim-it.1 vim73_new/runtime/doc/vim-it.1 +--- vim73/runtime/doc/vim-it.1 2010-07-27 22:22:52.000000000 +0200 ++++ vim73_new/runtime/doc/vim-it.1 2013-07-31 13:59:43.474331077 +0200 +@@ -17,11 +17,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +diff -urN vim73/runtime/doc/vim-it.UTF-8.1 vim73_new/runtime/doc/vim-it.UTF-8.1 +--- vim73/runtime/doc/vim-it.UTF-8.1 2010-07-30 20:53:57.000000000 +0200 ++++ vim73_new/runtime/doc/vim-it.UTF-8.1 2013-07-31 13:59:55.985898573 +0200 +@@ -17,11 +17,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +diff -urN vim73/runtime/doc/vim.man vim73_new/runtime/doc/vim.man +--- vim73/runtime/doc/vim.man 2013-07-31 14:13:01.044765627 +0200 ++++ vim73_new/runtime/doc/vim.man 2013-07-31 13:53:35.107064804 +0200 +@@ -82,10 +82,10 @@ + The GUI version. Starts a new window. + + gex Starts a new gvim window in Ex mode. Can also be done with +- the "-e" argument to gvim. ++ the "-e" argument to gvim + + vimx Starts gvim in "Vi" mode similar to "vim", but with +- additional features like xterm clipboard support. ++ additional features like xterm clipboard support + + evim eview + The GUI version in easy mode. Starts a new window. Can also +diff -urN vim73/runtime/doc/vim-pl.1 vim73_new/runtime/doc/vim-pl.1 +--- vim73/runtime/doc/vim-pl.1 2010-05-15 13:04:01.000000000 +0200 ++++ vim73_new/runtime/doc/vim-pl.1 2013-07-31 14:00:21.282024131 +0200 +@@ -17,11 +17,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +diff -urN vim73/runtime/doc/vim-pl.UTF-8.1 vim73_new/runtime/doc/vim-pl.UTF-8.1 +--- vim73/runtime/doc/vim-pl.UTF-8.1 2010-05-15 13:37:38.000000000 +0200 ++++ vim73_new/runtime/doc/vim-pl.UTF-8.1 2013-07-31 14:00:36.056513402 +0200 +@@ -17,11 +17,13 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx + .B evim + .B eview + .br +diff -urN vim73/runtime/doc/vim-ru.1 vim73_new/runtime/doc/vim-ru.1 +--- vim73/runtime/doc/vim-ru.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vim-ru.1 2013-07-31 14:01:10.071337568 +0200 +@@ -17,11 +17,15 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx ++.B evim ++.B eview + .br + .B rvim + .B rview +diff -urN vim73/runtime/doc/vim-ru.UTF-8.1 vim73_new/runtime/doc/vim-ru.UTF-8.1 +--- vim73/runtime/doc/vim-ru.UTF-8.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vim-ru.UTF-8.1 2013-07-31 14:01:34.494493301 +0200 +@@ -17,11 +17,15 @@ + .PP + .br + .B ex ++.B gex + .br + .B view + .br + .B gvim + .B gview ++.B vimx ++.B evim ++.B eview + .br + .B rvim + .B rview +diff -urN vim73/runtime/doc/vimtutor.1 vim73_new/runtime/doc/vimtutor.1 +--- vim73/runtime/doc/vimtutor.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor.1 2013-07-31 14:10:10.093671964 +0200 +@@ -4,6 +4,8 @@ + .SH SYNOPSIS + .br + .B vimtutor [\-g] [language] ++.br ++.B gvimtutor + .SH DESCRIPTION + .B Vimtutor + starts the +diff -urN vim73/runtime/doc/vimtutor-it.1 vim73_new/runtime/doc/vimtutor-it.1 +--- vim73/runtime/doc/vimtutor-it.1 2010-07-27 22:35:32.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor-it.1 2013-07-31 14:10:33.564861055 +0200 +@@ -4,6 +4,8 @@ + .SH SINTASSI + .br + .B vimtutor [\-g] [lingua] ++.br ++.B gvimtutor + .SH DESCRIZIONE + .B Vimtutor + inizia il +diff -urN vim73/runtime/doc/vimtutor-it.UTF-8.1 vim73_new/runtime/doc/vimtutor-it.UTF-8.1 +--- vim73/runtime/doc/vimtutor-it.UTF-8.1 2010-07-30 20:53:57.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor-it.UTF-8.1 2013-07-31 14:10:40.483622016 +0200 +@@ -4,6 +4,8 @@ + .SH SINTASSI + .br + .B vimtutor [\-g] [lingua] ++.br ++.B gvimtutor + .SH DESCRIZIONE + .B Vimtutor + inizia il +diff -urN vim73/runtime/doc/vimtutor.man vim73_new/runtime/doc/vimtutor.man +--- vim73/runtime/doc/vimtutor.man 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor.man 2013-07-31 14:11:04.786782356 +0200 +@@ -7,6 +7,7 @@ + + SYNOPSIS + vimtutor [-g] [language] ++ gvimtutor + + DESCRIPTION + Vimtutor starts the Vim tutor. It copies the tutor file first, so that +diff -urN vim73/runtime/doc/vimtutor-pl.1 vim73_new/runtime/doc/vimtutor-pl.1 +--- vim73/runtime/doc/vimtutor-pl.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor-pl.1 2013-07-31 14:11:13.602477777 +0200 +@@ -4,6 +4,8 @@ + .SH SYNOPSIS + .br + .B vimtutor -g [j�zyk] ++.br ++.B gvimtutor + .SH OPIS + .B Vimtutor + uruchamia nauczyciela +diff -urN vim73/runtime/doc/vimtutor-pl.UTF-8.1 vim73_new/runtime/doc/vimtutor-pl.UTF-8.1 +--- vim73/runtime/doc/vimtutor-pl.UTF-8.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor-pl.UTF-8.1 2013-07-31 14:11:20.571237009 +0200 +@@ -4,6 +4,8 @@ + .SH SYNOPSIS + .br + .B vimtutor -g [język] ++.br ++.B gvimtutor + .SH OPIS + .B Vimtutor + uruchamia nauczyciela +diff -urN vim73/runtime/doc/vimtutor-ru.1 vim73_new/runtime/doc/vimtutor-ru.1 +--- vim73/runtime/doc/vimtutor-ru.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor-ru.1 2013-07-31 14:11:35.673715221 +0200 +@@ -4,6 +4,8 @@ + .SH ��������� ������ + .br + .B vimtutor [����] ++.br ++.B gvimtutor + .SH �������� + ������� + .B vimtutor +diff -urN vim73/runtime/doc/vimtutor-ru.UTF-8.1 vim73_new/runtime/doc/vimtutor-ru.UTF-8.1 +--- vim73/runtime/doc/vimtutor-ru.UTF-8.1 2010-05-15 13:04:00.000000000 +0200 ++++ vim73_new/runtime/doc/vimtutor-ru.UTF-8.1 2013-07-31 14:11:46.649335999 +0200 +@@ -7,6 +7,8 @@ + .SH ОПИСАНИЕ + Команда + .B vimtutor ++.br ++.B gvimtutor + запускает учебник по + .B Vim. + При этом сначала происходит создание копии файла учебника, diff --git a/SOURCES/vim-python3-tests.patch b/SOURCES/vim-python3-tests.patch new file mode 100644 index 0000000..98b5f75 --- /dev/null +++ b/SOURCES/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/SOURCES/vimrc b/SOURCES/vimrc new file mode 100644 index 0000000..4842faf --- /dev/null +++ b/SOURCES/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/SOURCES/virc new file mode 100644 index 0000000..df4d4f4 --- /dev/null +++ b/SOURCES/virc @@ -0,0 +1,35 @@ +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 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 &term=="xterm" + set t_Co=8 + set t_Sb=[4%dm + set t_Sf=[3%dm +endif diff --git a/SPECS/vim.spec b/SPECS/vim.spec new file mode 100644 index 0000000..aab134b --- /dev/null +++ b/SPECS/vim.spec @@ -0,0 +1,3269 @@ +%define patchlevel 2637 +%if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} +%define WITH_SELINUX 1 +%endif +%define desktop_file 1 +%if %{desktop_file} +%define desktop_file_utils_version 0.2.93 +%endif + +%if 0%{?fedora} +%bcond_without default_editor +%else +%bcond_with default_editor +%endif + +%define withnetbeans 1 + +%define withvimspell 0 +%define withhunspell 0 +%define withruby 1 +%define withlua 1 + +%define baseversion 8.2 +%define vimdir vim82 + +Summary: The VIM editor +URL: http://www.vim.org/ +Name: vim +Version: %{baseversion}.%{patchlevel} +Release: 15%{?dist} +License: Vim and MIT +Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}-%{patchlevel}.tar.bz2 +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 + + +Patch2002: vim-7.0-fixkeys.patch +Patch2003: vim-7.4-specsyntax.patch +%if %{withhunspell} +Patch2011: vim-7.0-hunspell.patch +BuildRequires: hunspell-devel +%endif + +Patch3000: vim-7.4-syntax.patch +Patch3004: vim-7.0-rclocation.patch +Patch3007: vim-7.4-fstabsyntax.patch +Patch3010: vim-7.3-manpage-typo-668894-675480.patch +Patch3011: vim-manpagefixes-948566.patch +Patch3013: vim-7.4-globalsyntax.patch +Patch3014: vim-7.4-releasestring-1318991.patch +Patch3016: vim-8.0-copy-paste.patch +# migrate shebangs in script to /usr/bin/python3 and use python2 when necessary +Patch3017: vim-python3-tests.patch +# fips warning +Patch3018: vim-crypto-warning.patch +Patch3019: 0001-patch-8.2.3115-Coverity-complains-about-free_wininfo.patch +Patch3020: 0001-patch-8.2.3290-Vim9-compiling-dict-may-use-pointer-a.patch +# 2002320 - CVE-2021-3770 vim: using retab with large value may lead to heap buffer overflow [rhel-9.0] +Patch3021: vim-cve-var-retab.patch +# 2004893 - CVE-2021-3778 vim: heap-based buffer overflow in utf_ptr2char() in mbyte.c [rhel-9.0] +Patch3022: 0001-patch-8.2.3409-reading-beyond-end-of-line-with-inval.patch +# 2004976 - CVE-2021-3796 vim: use-after-free in nv_replace() in normal.c [rhel-9.0] +Patch3023: 0001-patch-8.2.3428-using-freed-memory-when-replacing.patch +# 2015517 - [s390x] Vim needs to be compiled with -D_REENTRANT +Patch3024: 0001-patch-8.2.3406-on-some-systems-tests-fail-without-_R.patch +# 2016202 - CVE-2021-3872 vim: heap-based buffer overflow in win_redr_status() drawscreen.c [rhel-9.0] +Patch3025: 0001-patch-8.2.3487-illegal-memory-access-if-buffer-name-.patch +# 2028342 - CVE-2021-3984 vim: illegal memory access when C-indenting could lead to Heap Buffer Overflow [rhel-9.0] +Patch3026: 0001-patch-8.2.3625-illegal-memory-access-when-C-indentin.patch +# 2028431 - CVE-2021-4019 vim: heap-based buffer overflow in find_help_tags() in src/help.c [rhel-9.0] +Patch3027: 0001-patch-8.2.3669-buffer-overflow-with-long-help-argume.patch +# CVE-2021-4193 vim: vulnerable to Out-of-bounds Read +Patch3028: 0001-patch-8.2.3950-going-beyond-the-end-of-the-line-with.patch +# CVE-2021-4192 vim: vulnerable to Use After Free +Patch3029: 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 +Patch3030: 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 +Patch3031: 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 +Patch3032: 0001-patch-8.2.4214-illegal-memory-access-with-large-tabs.patch +# CVE-2022-0319 vim: heap-based out-of-bounds read +Patch3033: 0001-patch-8.2.4154-ml_get-error-when-exchanging-windows-.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-0368 vim: Out-of-bounds Read in vim +Patch3035: 0001-patch-8.2.4217-illegal-memory-access-when-undo-makes.patch +# CVE-2022-0417 vim: heap-based-buffer-overflow in ex_retab() of src/indent.c +Patch3036: 0001-patch-8.2.4245-retab-0-may-cause-illegal-memory-acce.patch +# CVE-2022-0408 vim: Stack-based Buffer Overflow in spellsuggest.c +Patch3037: 0001-patch-8.2.4247-stack-corruption-when-looking-for-spe.patch +# CVE-2022-0413 vim: use after free in src/ex_cmds.c +Patch3038: 0001-patch-8.2.4253-using-freed-memory-when-substitute-wi.patch +# CVE-2022-0443 vim: heap-use-after-free in enter_buffer() of src/buffer.c +Patch3039: 0001-patch-8.2.4281-using-freed-memory-with-lopen-and-bwi.patch +# CVE-2022-0392 vim: heap-based buffer overflow in getexmodeline() in ex_getln.c +Patch3040: 0001-patch-8.2.4218-illegal-memory-access-with-bracketed-.patch +# CVE-2022-0572 vim: heap overflow in ex_retab() may lead to crash +Patch3041: 0001-patch-8.2.4359-crash-when-repeatedly-using-retab.patch +# CVE-2022-0629 vim: Stack-based Buffer Overflow in vim prior to 8.2 +Patch3042: 0001-patch-8.2.4397-crash-when-using-many-composing-chara.patch +# CVE-2022-0714 vim: buffer overflow [rhel-9] +Patch3043: 0001-patch-8.2.4436-crash-with-weird-vartabstop-value.patch + +# gcc is no longer in buildroot by default +BuildRequires: gcc +# uses make +BuildRequires: make + +BuildRequires: python3-devel ncurses-devel gettext perl-devel +BuildRequires: perl-generators +BuildRequires: perl(ExtUtils::Embed) perl(ExtUtils::ParseXS) +BuildRequires: libacl-devel gpm-devel autoconf file +%if %{WITH_SELINUX} +BuildRequires: libselinux-devel +%endif +%if "%{withruby}" == "1" +BuildRequires: ruby-devel ruby +%endif +%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} +%endif +Epoch: 2 + +%description +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. + +%package common +Summary: The common files needed by any version of the VIM editor +# remove when a new RHEL is released (current 8) +Conflicts: %{name}-minimal < %{epoch}:8.1.1-1 +Requires: %{name}-filesystem + +%description common +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-common package contains files which every VIM binary will need in +order to run. + +If you are installing vim-enhanced or vim-X11, you'll also need +to install the vim-common package. + +%package spell +Summary: The dictionaries for spell checking. This package is optional +Requires: vim-common = %{epoch}:%{version}-%{release} + +%description spell +This subpackage contains dictionaries for vim spell checking in +many different languages. + +%package minimal +Summary: A minimal version of the VIM editor +# conflicts in package because of manpage move (bug #1599663) +# remove when a new RHEL is released (current 8) +Conflicts: %{name}-common < %{epoch}:8.1.1-1 +Conflicts: vim-wrappers < 2:8.2.2488-1 +Obsoletes: vim-wrappers < 2:8.2.2488-1 +Provides: vi +Provides: %{_bindir}/vi + +%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, 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 +Conflicts: vim-wrappers < 2:8.2.2488-1 +# 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: %{_bindir}/mergetool +Provides: %{_bindir}/vim +Requires: vim-common = %{epoch}:%{version}-%{release} which +# suggest python3, python2, lua, ruby and perl packages because of their +# embedded functionality in Vim/GVim +Suggests: python3 python3-libs +Suggests: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) perl-devel +%if "%{withruby}" == "1" +Suggests: ruby-libs ruby +%endif +%if "%{withlua}" == "1" +Suggests: lua-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 +still very popular. VIM improves on vi by adding new features: +multiple windows, multi-level undo, block highlighting and more. The +vim-enhanced package contains a version of VIM with extra, recently +introduced features like Python and Perl interpreters. + +Install the vim-enhanced package if you'd like to use a version of the +VIM editor which includes recently added enhancements like +interpreters for the Python and Perl scripting languages. You'll also +need to install the vim-common package. + +%package filesystem +Summary: VIM filesystem layout +BuildArch: noarch + +%Description filesystem +This package provides some directories which are required by other +packages that add vim files, p.e. additional syntax files or filetypes. + +%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 for GUI (#1603272) +BuildRequires: gtk3-devel +BuildRequires: libappstream-glib +# for sound support +BuildRequires: libcanberra-devel +BuildRequires: libX11-devel +BuildRequires: libSM-devel +BuildRequires: libXt-devel +BuildRequires: libXpm-devel +BuildRequires: libICE-devel + +Provides: gvim +Provides: %{_bindir}/mergetool +Provides: %{_bindir}/gvim +Requires: hicolor-icon-theme +Requires: vim-common = %{epoch}:%{version}-%{release} libattr >= 2.4 gtk3 +# suggest python3, python2, lua, ruby and perl packages because of their +# embedded functionality in Vim/GVim +Suggests: python3 python3-libs +Suggests: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) perl-devel +%if "%{withruby}" == "1" +Suggests: ruby-libs ruby +%endif +%if "%{withlua}" == "1" +Suggests: lua-libs +%endif + +%description X11 +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. VIM-X11 is a version of the VIM editor which will run within the +X Window System. If you install this package, you can run VIM as an X +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. + +%if %{with default_editor} +%package default-editor +Summary: Set vim as the default editor +BuildArch: noarch +Conflicts: system-default-editor +# conflict with nano-default-editor which doesn't provide system-default-editor +Conflicts: nano-default-editor < 5.3-3 +Provides: system-default-editor +Requires: vim-enhanced + +%description default-editor +This subpackage contains files needed to set Vim as the default editor. +%endif + + +%prep +%setup -q -b 0 -n %{vimdir} + +# use %%{__python3} macro for defining shebangs in python3 tests +sed -i -e 's,/usr/bin/python3,%{__python3},' %{PATCH3017} + +# fix rogue dependencies from sample code +chmod -x runtime/tools/mve.awk +%patch2002 -p1 -b .fixkeys +%patch2003 -p1 +%if %{withhunspell} +%patch2011 -p1 +%endif +perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk + +# install spell files +%if %{withvimspell} +%{__tar} xjf %{SOURCE100} +%endif + +%patch3000 -p1 +%patch3004 -p1 +%patch3007 -p1 -b .fstabsyntax +%patch3010 -p1 +%patch3011 -p1 +%patch3013 -p1 +%patch3014 -p1 +%patch3016 -p1 -b .copypaste +%patch3017 -p1 -b .python-tests +%patch3018 -p1 -b .fips-warning +%patch3019 -p1 -b .covscan-free-wininfo +%patch3020 -p1 -b .covscan-key-freed +%patch3021 -p1 -b .cve-var-retab +%patch3022 -p1 -b .cve-utf-ptrchar +%patch3023 -p1 -b .cve-nv-replace +%patch3024 -p1 -b .reentrant +%patch3025 -p1 -b .cve-win-redr +%patch3026 -p1 -b .cve3984 +%patch3027 -p1 -b .cve4019 +%patch3028 -p1 -b .cve4193 +%patch3029 -p1 -b .cve4192 +%patch3030 -p1 -b .cve0261 +%patch3031 -p1 -b .cve0318 +%patch3032 -p1 -b .cve0359 +%patch3033 -p1 -b .cve0319 +%patch3034 -p1 -b .cve0361 +%patch3035 -p1 -b .cve0368 +%patch3036 -p1 -b .cve0417 +%patch3037 -p1 -b .cve0408 +%patch3038 -p1 -b .cve0413 +%patch3039 -p1 -b .cve0443 +%patch3040 -p1 -b .cve0392 +%patch3041 -p1 -b .cve0572 +%patch3042 -p1 -b .cve0629 +%patch3043 -p1 -b .cve0714 + +%build +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" +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 \ + --enable-multibyte \ + --disable-netbeans \ +%if %{WITH_SELINUX} + --enable-selinux \ +%else + --disable-selinux \ +%endif + --disable-pythoninterp --disable-perlinterp --disable-tclinterp \ + --with-tlib=ncurses --enable-gui=no --disable-gpm --exec-prefix=/ \ + --with-compiledby="" \ + --with-modified-by="" \ + --enable-fips-warning \ + --enable-fail-if-missing \ + --disable-canberra + +%make_build VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} +cp vim minimal-vim +make clean + +mv -f os_unix.h.save os_unix.h +mv -f ex_cmds.c.save ex_cmds.c + +# 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 --with-features=huge \ + --enable-python3interp=dynamic \ + --enable-perlinterp=dynamic \ + --disable-tclinterp --with-x=yes \ + --enable-xim --enable-multibyte \ + --with-tlib=ncurses \ + --enable-gtk3-check --enable-gui=gtk3 \ + --enable-fips-warning \ + --with-compiledby="" --enable-cscope \ + --with-modified-by="" \ +%if "%{withnetbeans}" == "1" + --enable-netbeans \ +%else + --disable-netbeans \ +%endif +%if %{WITH_SELINUX} + --enable-selinux \ +%else + --disable-selinux \ +%endif +%if "%{withruby}" == "1" + --enable-rubyinterp=dynamic \ +%else + --disable-rubyinterp \ +%endif +%if "%{withlua}" == "1" + --enable-luainterp=dynamic \ +%else + --disable-luainterp \ +%endif + --enable-fail-if-missing \ + --enable-canberra + +%make_build VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} +cp vim gvim +make clean + +%configure --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 \ + --with-compiledby="" \ +%if "%{withnetbeans}" == "1" + --enable-netbeans \ +%else + --disable-netbeans \ +%endif +%if %{WITH_SELINUX} + --enable-selinux \ +%else + --disable-selinux \ +%endif +%if "%{withruby}" == "1" + --enable-rubyinterp=dynamic \ +%else + --disable-rubyinterp \ +%endif +%if "%{withlua}" == "1" + --enable-luainterp=dynamic \ +%else + --disable-luainterp \ +%endif + --enable-fail-if-missing \ + --disable-canberra + +%make_build VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} +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 %{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 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} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} STRIP=/bin/true +# make install creates vim binary and view symlink, they will be wrappers +# so remove them here +%{_bindir}/rm -f %{buildroot}%{_bindir}/{vim,view} +make installgtutorbin DESTDIR=%{buildroot} BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps +mkdir -p %{buildroot}%{_libexecdir} +install -m755 minimal-vim %{buildroot}%{_libexecdir}/vi +install -m755 enhanced-vim %{buildroot}%{_bindir}/vim +install -m755 gvim %{buildroot}%{_bindir}/gvim +install -m755 %{SOURCE12} %{buildroot}%{_bindir}/view +install -m755 %{SOURCE13} %{buildroot}%{_bindir}/vi +install -p -m644 %{SOURCE3} \ + %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/gvim.png +install -p -m644 %{SOURCE4} \ + %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/gvim.png +install -p -m644 %{SOURCE5} \ + %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/gvim.png +install -p -m644 %{SOURCE6} \ + %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/gvim.png + +# Register as an application to be visible in the software center +# +# NOTE: It would be *awesome* if this file was maintained by the upstream +# project, translated and installed into the right place during `make install`. +# +# See http://www.freedesktop.org/software/appstream/docs/ for more details. +# +mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo +cat > $RPM_BUILD_ROOT%{_datadir}/metainfo/gvim.appdata.xml < + + + + gvim.desktop + CC0-1.0 + Vim + +

+ Vim is an advanced text editor that seeks to provide the power of the + de-facto Unix editor 'Vi', with a more complete feature set. + It's useful whether you're already using vi or using a different editor. +

+

+ Vim is a highly configurable text editor built to enable efficient text + editing. + Vim is often called a "programmer's editor," and so useful for programming + that many consider it an entire IDE. It is not just for programmers, though. + Vim is perfect for all kinds of text editing, from composing email to + editing configuration files. +

+
+ + + https://raw.githubusercontent.com/zdohnal/vim/zdohnal-screenshot/gvim16_9.png + + + http://www.vim.org/ +
+EOF + +( cd %{buildroot} + ln -sf %{_libexecdir}/vi .%{_bindir}/rvi + ln -sf %{_libexecdir}/vi .%{_bindir}/rview + ln -sf %{_libexecdir}/vi .%{_bindir}/ex + ln -sf %{_bindir}/vim .%{_bindir}/rvim + ln -sf %{_bindir}/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 + 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" + desktop-file-install \ + --dir %{buildroot}/%{_datadir}/applications \ + %{buildroot}/%{_datadir}/applications/gvim.desktop + # --add-category "Development;TextEditor;X-Red-Hat-Base" D\ + %else + mkdir -p ./%{_sysconfdir}/X11/applnk/Applications + cp %{buildroot}/%{_datadir}/applications/gvim.desktop ./%{_sysconfdir}/X11/applnk/Applications/gvim.desktop + %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 + iconv -f CP1252 -t UTF8 tutor.it > conv/tutor.it + #iconv -f CP1253 -t UTF8 tutor.gr > conv/tutor.gr + iconv -f CP1252 -t UTF8 tutor.fr > conv/tutor.fr + iconv -f CP1252 -t UTF8 tutor.es > conv/tutor.es + iconv -f CP1252 -t UTF8 tutor.de > conv/tutor.de + #iconv -f CP737 -t UTF8 tutor.gr.cp737 > conv/tutor.gr.cp737 + #iconv -f EUC-JP -t UTF8 tutor.ja.euc > conv/tutor.ja.euc + #iconv -f SJIS -t UTF8 tutor.ja.sjis > conv/tutor.ja.sjis + iconv -f UTF8 -t UTF8 tutor.ja.utf-8 > conv/tutor.ja.utf-8 + iconv -f UTF8 -t UTF8 tutor.ko.utf-8 > conv/tutor.ko.utf-8 + iconv -f CP1252 -t UTF8 tutor.no > conv/tutor.no + iconv -f ISO-8859-2 -t UTF8 tutor.pl > conv/tutor.pl + iconv -f ISO-8859-2 -t UTF8 tutor.sk > conv/tutor.sk + iconv -f KOI8R -t UTF8 tutor.ru > conv/tutor.ru + iconv -f CP1252 -t UTF8 tutor.sv > conv/tutor.sv + mv -f tutor.ja.euc tutor.ja.sjis tutor.ko.euc tutor.pl.cp1250 tutor.zh.big5 tutor.ru.cp1251 tutor.zh.euc tutor.sr.cp1250 tutor.sr.utf-8 conv/ + rm -f tutor.ca tutor.de tutor.es tutor.fr tutor.gr tutor.it tutor.ja.utf-8 tutor.ko.utf-8 tutor.no tutor.pl tutor.sk tutor.ru tutor.sv +mv -f conv/* . +rmdir conv +popd + +# Dependency cleanups +chmod 644 %{buildroot}/%{_datadir}/%{name}/%{vimdir}/doc/vim2html.pl \ + %{buildroot}/%{_datadir}/%{name}/%{vimdir}/tools/*.pl \ + %{buildroot}/%{_datadir}/%{name}/%{vimdir}/tools/vim132 +chmod 644 ../runtime/doc/vim2html.pl + +mkdir -p %{buildroot}/%{_sysconfdir} + +%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 + +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 +sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/vimrc +sed -i -e "s/augroup fedora/augroup redhat/" %{buildroot}/%{_sysconfdir}/virc +%endif + +mkdir -p %{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 +rm -rf %{buildroot}/%{_datadir}/vim/%{vimdir}/tools +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 da.ISO8859-1 de.ISO8859-1 tr.ISO8859-9; do + rm -rf %{buildroot}/%{_mandir}/$i +done + +# use common man1/ru directory +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 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 +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 || : + +%transfiletriggerpostun common -- %{_datadir}/%{name}/vimfiles/doc +> %{_datadir}/%{name}/vimfiles/doc/tags || : +%{_bindir}/vim -c ":helptags %{_datadir}/%{name}/vimfiles/doc" -c :q &> /dev/null || : + +%files common +%config(noreplace) %{_sysconfdir}/vimrc +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc README* +%doc runtime/docs +%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 +%{_datadir}/%{name}/%{vimdir}/ftplugin +%{_datadir}/%{name}/%{vimdir}/indent +%{_datadir}/%{name}/%{vimdir}/keymap +%{_datadir}/%{name}/%{vimdir}/lang/*.vim +%{_datadir}/%{name}/%{vimdir}/lang/*.txt +%dir %{_datadir}/%{name}/%{vimdir}/lang +%{_datadir}/%{name}/%{vimdir}/macros +%{_datadir}/%{name}/%{vimdir}/plugin +%{_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 +%lang(es) %{_datadir}/%{name}/%{vimdir}/lang/es +%lang(fi) %{_datadir}/%{name}/%{vimdir}/lang/fi +%lang(fr) %{_datadir}/%{name}/%{vimdir}/lang/fr +%lang(ga) %{_datadir}/%{name}/%{vimdir}/lang/ga +%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 +%lang(ja.sjis) %{_datadir}/%{name}/%{vimdir}/lang/ja.sjis +%lang(ko) %{_datadir}/%{name}/%{vimdir}/lang/ko +%lang(ko) %{_datadir}/%{name}/%{vimdir}/lang/ko.UTF-8 +%lang(lv) %{_datadir}/%{name}/%{vimdir}/lang/lv +%lang(nb) %{_datadir}/%{name}/%{vimdir}/lang/nb +%lang(nl) %{_datadir}/%{name}/%{vimdir}/lang/nl +%lang(no) %{_datadir}/%{name}/%{vimdir}/lang/no +%lang(pl) %{_datadir}/%{name}/%{vimdir}/lang/pl +%lang(pl.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/pl.UTF-8 +%lang(pl.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/pl.cp1250 +%lang(pt_BR) %{_datadir}/%{name}/%{vimdir}/lang/pt_BR +%lang(ru) %{_datadir}/%{name}/%{vimdir}/lang/ru +%lang(ru.cp1251) %{_datadir}/%{name}/%{vimdir}/lang/ru.cp1251 +%lang(sk) %{_datadir}/%{name}/%{vimdir}/lang/sk +%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 +%lang(zh_CN) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN +%lang(zh_CN.cp936) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN.cp936 +%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.* +%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 +%dir %{_datadir}/%{name}/%{vimdir}/spell +%{_datadir}/%{name}/vim70/spell/cleanadd.vim +%lang(af) %{_datadir}/%{name}/%{vimdir}/spell/af.* +%lang(am) %{_datadir}/%{name}/%{vimdir}/spell/am.* +%lang(bg) %{_datadir}/%{name}/%{vimdir}/spell/bg.* +%lang(ca) %{_datadir}/%{name}/%{vimdir}/spell/ca.* +%lang(cs) %{_datadir}/%{name}/%{vimdir}/spell/cs.* +%lang(cy) %{_datadir}/%{name}/%{vimdir}/spell/cy.* +%lang(da) %{_datadir}/%{name}/%{vimdir}/spell/da.* +%lang(de) %{_datadir}/%{name}/%{vimdir}/spell/de.* +%lang(el) %{_datadir}/%{name}/%{vimdir}/spell/el.* +%lang(en) %{_datadir}/%{name}/%{vimdir}/spell/en.* +%lang(eo) %{_datadir}/%{name}/%{vimdir}/spell/eo.* +%lang(es) %{_datadir}/%{name}/%{vimdir}/spell/es.* +%lang(fo) %{_datadir}/%{name}/%{vimdir}/spell/fo.* +%lang(fr) %{_datadir}/%{name}/%{vimdir}/spell/fr.* +%lang(ga) %{_datadir}/%{name}/%{vimdir}/spell/ga.* +%lang(gd) %{_datadir}/%{name}/%{vimdir}/spell/gd.* +%lang(gl) %{_datadir}/%{name}/%{vimdir}/spell/gl.* +%lang(he) %{_datadir}/%{name}/%{vimdir}/spell/he.* +%lang(hr) %{_datadir}/%{name}/%{vimdir}/spell/hr.* +%lang(hu) %{_datadir}/%{name}/%{vimdir}/spell/hu.* +%lang(id) %{_datadir}/%{name}/%{vimdir}/spell/id.* +%lang(it) %{_datadir}/%{name}/%{vimdir}/spell/it.* +%lang(ku) %{_datadir}/%{name}/%{vimdir}/spell/ku.* +%lang(la) %{_datadir}/%{name}/%{vimdir}/spell/la.* +%lang(lt) %{_datadir}/%{name}/%{vimdir}/spell/lt.* +%lang(lv) %{_datadir}/%{name}/%{vimdir}/spell/lv.* +%lang(mg) %{_datadir}/%{name}/%{vimdir}/spell/mg.* +%lang(mi) %{_datadir}/%{name}/%{vimdir}/spell/mi.* +%lang(ms) %{_datadir}/%{name}/%{vimdir}/spell/ms.* +%lang(nb) %{_datadir}/%{name}/%{vimdir}/spell/nb.* +%lang(nl) %{_datadir}/%{name}/%{vimdir}/spell/nl.* +%lang(nn) %{_datadir}/%{name}/%{vimdir}/spell/nn.* +%lang(ny) %{_datadir}/%{name}/%{vimdir}/spell/ny.* +%lang(pl) %{_datadir}/%{name}/%{vimdir}/spell/pl.* +%lang(pt) %{_datadir}/%{name}/%{vimdir}/spell/pt.* +%lang(ro) %{_datadir}/%{name}/%{vimdir}/spell/ro.* +%lang(ru) %{_datadir}/%{name}/%{vimdir}/spell/ru.* +%lang(rw) %{_datadir}/%{name}/%{vimdir}/spell/rw.* +%lang(sk) %{_datadir}/%{name}/%{vimdir}/spell/sk.* +%lang(sl) %{_datadir}/%{name}/%{vimdir}/spell/sl.* +%lang(sr) %{_datadir}/%{name}/%{vimdir}/spell/sr.* +%lang(sv) %{_datadir}/%{name}/%{vimdir}/spell/sv.* +%lang(sw) %{_datadir}/%{name}/%{vimdir}/spell/sw.* +%lang(tet) %{_datadir}/%{name}/%{vimdir}/spell/tet.* +%lang(th) %{_datadir}/%{name}/%{vimdir}/spell/th.* +%lang(tl) %{_datadir}/%{name}/%{vimdir}/spell/tl.* +%lang(tn) %{_datadir}/%{name}/%{vimdir}/spell/tn.* +%lang(uk) %{_datadir}/%{name}/%{vimdir}/spell/uk.* +%lang(yi) %{_datadir}/%{name}/%{vimdir}/spell/yi.* +%lang(yi-tr) %{_datadir}/%{name}/%{vimdir}/spell/yi-tr.* +%lang(zu) %{_datadir}/%{name}/%{vimdir}/spell/zu.* +%endif + +%files minimal +%config(noreplace) %{_sysconfdir}/virc +%{_bindir}/ex +%{_bindir}/rvi +%{_bindir}/rview +%{_bindir}/vi +%{_bindir}/view +%{_libexecdir}/vi +%{_mandir}/man1/vi.* +%{_mandir}/man1/ex.* +%{_mandir}/man1/rvi.* +%{_mandir}/man1/rview.* +%{_mandir}/man1/view.* +%{_mandir}/man5/virc.* + +%files enhanced +%{_bindir}/rvim +%{_bindir}/vim +%{_bindir}/vimdiff +%{_bindir}/vimtutor + +%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 +%dir %{_datadir}/%{name}/vimfiles/colors +%dir %{_datadir}/%{name}/vimfiles/compiler +%dir %{_datadir}/%{name}/vimfiles/doc +%ghost %{_datadir}/%{name}/vimfiles/doc/tags +%dir %{_datadir}/%{name}/vimfiles/ftdetect +%dir %{_datadir}/%{name}/vimfiles/ftplugin +%dir %{_datadir}/%{name}/vimfiles/indent +%dir %{_datadir}/%{name}/vimfiles/keymap +%dir %{_datadir}/%{name}/vimfiles/lang +%dir %{_datadir}/%{name}/vimfiles/plugin +%dir %{_datadir}/%{name}/vimfiles/print +%dir %{_datadir}/%{name}/vimfiles/spell +%dir %{_datadir}/%{name}/vimfiles/syntax +%dir %{_datadir}/%{name}/vimfiles/tutor + +%files X11 +%if "%{desktop_file}" == "1" +%{_datadir}/metainfo/*.appdata.xml +/%{_datadir}/applications/* +%exclude /%{_datadir}/applications/vim.desktop +%else +/%{_sysconfdir}/X11/applnk/*/gvim.desktop +%endif +%{_bindir}/gvimtutor +%{_bindir}/gvim +%{_bindir}/gvimdiff +%{_bindir}/gview +%{_bindir}/gex +%{_bindir}/vimtutor +%{_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/* + +%if %{with default_editor} +%files default-editor +%dir %{_datadir}/fish/vendor_conf.d +%{_datadir}/fish/vendor_conf.d/vim-default-editor.fish +%dir %{_sysconfdir}/profile.d +%config(noreplace) %{_sysconfdir}/profile.d/vim-default-editor.* +%endif + +%changelog +* Thu Feb 24 2022 Zdenek Dohnal - 2:8.2.2637-15 +- CVE-2022-0714 vim: buffer overflow [rhel-9] + +* Wed Feb 23 2022 Zdenek Dohnal - 2:8.2.2637-14 +- CVE-2022-0629 vim: Stack-based Buffer Overflow in vim prior to 8.2 + +* Wed Feb 16 2022 Zdenek Dohnal - 2:8.2.2637-13 +- CVE-2022-0572 vim: heap overflow in ex_retab() may lead to crash + +* Thu Feb 10 2022 Zdenek Dohnal - 2:8.2.2637-12 +- CVE-2022-0413 vim: use after free in src/ex_cmds.c +- CVE-2022-0443 vim: heap-use-after-free in enter_buffer() of src/buffer.c +- CVE-2022-0392 vim: heap-based buffer overflow in getexmodeline() in ex_getln.c + +* Wed Feb 09 2022 Zdenek Dohnal - 2:8.2.2637-12 +- CVE-2022-0368 vim: Out-of-bounds Read in vim +- CVE-2022-0417 vim: heap-based-buffer-overflow in ex_retab() of src/indent.c +- CVE-2022-0408 vim: Stack-based Buffer Overflow in spellsuggest.c + +* Tue Feb 08 2022 Zdenek Dohnal - 2:8.2.2637-12 +- CVE-2022-0319 vim: heap-based out-of-bounds read +- CVE-2022-0361 vim: Heap-based Buffer Overflow in GitHub repository + +* Thu Jan 27 2022 Zdenek Dohnal - 2:8.2.2637-11 +- 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 +- CVE-2022-0359 vim: heap-based buffer overflow in init_ccline() in ex_getln.c + +* Thu Jan 13 2022 Zdenek Dohnal - 2:8.2.2637-10 +- CVE-2021-4193 vim: vulnerable to Out-of-bounds Read +- CVE-2021-4192 vim: vulnerable to Use After Free + +* Mon Dec 06 2021 Zdenek Dohnal - 2:8.2.2637-9 +- 2028431 - CVE-2021-4019 vim: heap-based buffer overflow in find_help_tags() in src/help.c [rhel-9.0] + +* Thu Dec 02 2021 Zdenek Dohnal - 2:8.2.2637-9 +- 2028342 - CVE-2021-3984 vim: illegal memory access when C-indenting could lead to Heap Buffer Overflow [rhel-9.0] + +* Tue Oct 26 2021 Zdenek Dohnal - 2:8.2.2637-8 +- 2016202 - CVE-2021-3872 vim: heap-based buffer overflow in win_redr_status() drawscreen.c [rhel-9.0] + +* Tue Oct 19 2021 Zdenek Dohnal - 2:8.2.2637-7 +- 2015517 - [s390x] Vim needs to be compiled with -D_REENTRANT + +* Thu Oct 14 2021 Zdenek Dohnal - 2:8.2.2637-6 +- 2011412 - test suite fails on apache/httpd filetype tests +- 2011424 - Remove vim-7.4-syncolor.patch +- 2011429 - Remove downstream patch vim-7.4-nowarning.patch +- 2011749 - Update test suite to work without default mouse behavior +- 2002320 - CVE-2021-3770 vim: using retab with large value may lead to heap buffer overflow [rhel-9.0] +- 2004893 - CVE-2021-3778 vim: heap-based buffer overflow in utf_ptr2char() in mbyte.c [rhel-9.0] +- 2004976 - CVE-2021-3796 vim: use-after-free in nv_replace() in normal.c [rhel-9.0] + +* Tue Aug 10 2021 Mohan Boddu - 2:8.2.2637-5 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Aug 05 2021 Zdenek Dohnal - 2:8.2.2637-4 +- 1938895 - review of important potential issues detected by static analyzers in vim-8.2.2488-1.el9 + +* Thu May 06 2021 Zdenek Dohnal - 2.8.2.2637-3 +- 1957209 - remove vim-default-editor from el9 + +* Fri Apr 16 2021 Mohan Boddu - 2:8.2.2637-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* 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 + +* Mon Jul 23 2018 Zdenek Dohnal - 2:8.1.207-1 +- patchlevel 207 + +* Fri Jul 20 2018 Zdenek Dohnal - 2:8.1.197-1 +- patchlevel 197 + +* 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.1.119-6 +- 1599663 - Conflicting manpages rvi.1.gz and vi.1.gz during update + +* 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 + +* Tue Apr 24 2018 Karsten Hopp 8.0.1755-1 +- patchlevel 1755 + +* Fri Apr 13 2018 Karsten Hopp 8.0.1704-1 +- patchlevel 1704 + +* Mon Apr 09 2018 Karsten Hopp 8.0.1679-1 +- patchlevel 1679 + +* Fri Apr 06 2018 Zdenek Dohnal - 8.0.1666-2 +- suggests ruby-libs, python2-libs, python3-libs, perl-libs and lua-libs for vim and gvim(bug #1562057) + +* Fri Apr 06 2018 Karsten Hopp 8.0.1666-1 +- patchlevel 1666 + +* Thu Apr 05 2018 Karsten Hopp 8.0.1661-1 +- patchlevel 1661 + +* Fri Mar 23 2018 Karsten Hopp 8.0.1630-1 +- patchlevel 1630 + +* Thu Mar 22 2018 Karsten Hopp 8.0.1626-1 +- patchlevel 1626 + +* Wed Mar 21 2018 Karsten Hopp 8.0.1625-1 +- patchlevel 1625 + +* Wed Mar 14 2018 Karsten Hopp 8.0.1605-1 +- patchlevel 1605 + +* Tue Mar 13 2018 Karsten Hopp 8.0.1603-1 +- patchlevel 1603 + +* Mon Mar 12 2018 Karsten Hopp 8.0.1599-1 +- patchlevel 1599 + +* Fri Mar 09 2018 Karsten Hopp 8.0.1591-1 +- patchlevel 1591 + +* Thu Mar 08 2018 Karsten Hopp 8.0.1589-1 +- patchlevel 1589 + +* Wed Mar 07 2018 Karsten Hopp 8.0.1587-1 +- patchlevel 1587 + +* Tue Mar 06 2018 Zdenek Dohnal - 2:8.0.1573-2 +- vim-update.sh - unify if condition style + +* Tue Mar 06 2018 Karsten Hopp 8.0.1573-1 +- patchlevel 1573 + +* Tue Mar 06 2018 Zdenek Dohnal - 2:8.0.1569-2 +- update spec +- f28 got enabled in bodhi + +* Mon Mar 05 2018 Karsten Hopp 8.0.1569-1 +- patchlevel 1569 + +* Wed Feb 28 2018 Karsten Hopp 8.0.1553-1 +- added Serbian localization files +- patchlevel 1553 + +* Wed Feb 28 2018 Zdenek Dohnal - 2:8.0.1543-2 +- fix vim-update.sh - bodhi update wasn't created + +* Tue Feb 27 2018 Karsten Hopp 8.0.1543-1 +- patchlevel 1543 + +* Mon Feb 26 2018 Zdenek Dohnal - 8.0.1527-3 +- add Provides for vim, gvim and correcting paths to /usr/bin + +* Wed Feb 21 2018 Zdenek Dohnal - 8.0.1527-2 +- adapt vim-update.sh for Fedora 28 and adding check for bodhi enablement + +* Tue Feb 20 2018 Karsten Hopp 8.0.1527-1 +- patchlevel 1527 + +* Mon Feb 19 2018 Zdenek Dohnal - 8.0.1523-2 +- gcc is no longer in buildroot by default +- 1546116 - make vim-filesystem noarch package +- remove %%{_libdir}/vim, because it is unused + +* Mon Feb 19 2018 Karsten Hopp 8.0.1523-1 +- patchlevel 1523 + +* Wed Feb 14 2018 Karsten Hopp 8.0.1520-1 +- patchlevel 1520 + +* Tue Feb 13 2018 Karsten Hopp 8.0.1509-1 +- patchlevel 1509 + +* Mon Feb 12 2018 Karsten Hopp 8.0.1505-1 +- patchlevel 1505 + +* Fri Feb 09 2018 Karsten Hopp 8.0.1478-1 +- patchlevel 1478 + +* Thu Feb 08 2018 Zdenek Dohnal - 8.0.1475-2 +- remove old stuff + +* Wed Feb 07 2018 Karsten Hopp 8.0.1475-1 +- patchlevel 1475 + +* Mon Feb 05 2018 Karsten Hopp 8.0.1473-1 +- patchlevel 1473 + +* Thu Feb 01 2018 Karsten Hopp 8.0.1451-1 +- patchlevel 1451 + +* Mon Jan 29 2018 Karsten Hopp 8.0.1438-1 +- patchlevel 1438 + +* Tue Jan 23 2018 Zdenek Dohnal - 8.0.1428-4 +- throw vim.1.gz out from vim-minimal and other manpages from vim-common +- appdata should be in metainfo folder now + +* Fri Jan 19 2018 Zdenek Dohnal - 8.0.1428-3 +- 1525506 - gvim goes into infinite loop when blink_state is OFF + +* Fri Jan 12 2018 Zdenek Dohnal - 8.0.1428-2 +- removing old icon cache update + +* Wed Jan 03 2018 Karsten Hopp 8.0.1428-1 +- patchlevel 1428 + +* Tue Jan 02 2018 Karsten Hopp 8.0.1427-1 +- patchlevel 1427 + +* Tue Dec 19 2017 Karsten Hopp 8.0.1406-1 +- patchlevel 1406 + +* Mon Dec 18 2017 Karsten Hopp 8.0.1401-1 +- patchlevel 1401 + +* Fri Dec 15 2017 Karsten Hopp 8.0.1390-1 +- patchlevel 1390 + +* Fri Dec 15 2017 Zdenek Dohnal - 8.0.1389-2 +- fixing vim-update.sh + +* Wed Dec 13 2017 Karsten Hopp 8.0.1389-1 +- patchlevel 1389 + +* Tue Dec 12 2017 Karsten Hopp 8.0.1387-1 +- patchlevel 1387 + +* Mon Dec 11 2017 Karsten Hopp 8.0.1386-1 +- patchlevel 1386 + +* Fri Dec 08 2017 Karsten Hopp 8.0.1379-1 +- patchlevel 1379 + +* Wed Dec 06 2017 Karsten Hopp 8.0.1376-1 +- patchlevel 1376 + +* Mon Dec 04 2017 Zdenek Dohnal - 8.0.1367-2 +- fix regexp in vim-update.sh + +* Mon Dec 04 2017 Karsten Hopp 8.0.1367-1 +- patchlevel 1367 + +* Fri Dec 01 2017 Zdenek Dohnal - 8.0.1360-2 +- fix in vim-update.sh + +* Fri Dec 01 2017 Karsten Hopp 8.0.1360-1 +- patchlevel 1360 + +* Fri Dec 01 2017 Zdenek Dohnal - 8.0.1359-3 +- rewrite vim-update to update from the newest branch to the oldest + +* Thu Nov 30 2017 Zdenek Dohnal - 8.0.1359-2 +- 1508629 - missing full path and safe guards in file triggers in -common + +* Thu Nov 30 2017 Karsten Hopp 8.0.1359-1 +- patchlevel 1359 + +* Wed Nov 29 2017 Karsten Hopp 8.0.1358-1 +- patchlevel 1358 +- fix error in vim-update.sh + +* Tue Nov 28 2017 Karsten Hopp 8.0.1351-1 +- patchlevel 1351 + +* Mon Nov 27 2017 Karsten Hopp 8.0.1349-1 +- patchlevel 1349 + +* Mon Nov 27 2017 Zdenek Dohnal - 8.0.1330-2 +- removing vim-8.0-beval-pro.patch and stop updating f25 + +* Wed Nov 22 2017 Karsten Hopp 8.0.1330-1 +- patchlevel 1330 + +* Tue Nov 21 2017 Karsten Hopp 8.0.1326-1 +- patchlevel 1326 + +* Mon Nov 20 2017 Karsten Hopp 8.0.1322-1 +- patchlevel 1322 + +* Fri Nov 10 2017 Karsten Hopp 8.0.1283-1 +- patchlevel 1283 + +* Tue Nov 07 2017 Karsten Hopp 8.0.1274-1 +- patchlevel 1274 + +* Mon Nov 06 2017 Karsten Hopp 8.0.1272-1 +- patchlevel 1272 + +* Fri Nov 03 2017 Karsten Hopp 8.0.1257-1 +- patchlevel 1257 + +* Wed Nov 01 2017 Karsten Hopp 8.0.1241-1 +- patchlevel 1241 + +* Tue Oct 31 2017 Karsten Hopp 8.0.1240-1 +- patchlevel 1240 + +* Mon Oct 30 2017 Karsten Hopp 8.0.1238-1 +- patchlevel 1238 + +* Fri Oct 27 2017 Karsten Hopp 8.0.1226-1 +- patchlevel 1226 + +* Thu Oct 26 2017 Zdenek Dohnal - 8.0.1216-2 +- mention GVim in Summary and Description of vim-x11 subpackage + +* Wed Oct 25 2017 Karsten Hopp 8.0.1216-1 +- patchlevel 1216 + +* Mon Oct 23 2017 Karsten Hopp 8.0.1213-1 +- patchlevel 1213 + +* Fri Oct 20 2017 Karsten Hopp 8.0.1207-1 +- patchlevel 1207 + +* Mon Oct 16 2017 Karsten Hopp 8.0.1203-1 +- patchlevel 1203 + +* Fri Oct 13 2017 Karsten Hopp 8.0.1187-1 +- patchlevel 1187 + +* Mon Oct 09 2017 Karsten Hopp 8.0.1184-1 +- patchlevel 1184 + +* Fri Oct 06 2017 Karsten Hopp 8.0.1176-1 +- patchlevel 1176 + +* Thu Oct 05 2017 Karsten Hopp 8.0.1175-1 +- patchlevel 1175 + +* Tue Oct 03 2017 Karsten Hopp 8.0.1173-1 +- patchlevel 1173 + +* Mon Oct 02 2017 Karsten Hopp 8.0.1171-1 +- patchlevel 1171 + +* Wed Sep 27 2017 Karsten Hopp 8.0.1155-1 +- patchlevel 1155 + +* Tue Sep 26 2017 Zdenek Dohnal - 8.0.1144-2 +- removing README.patches + +* Mon Sep 25 2017 Karsten Hopp 8.0.1144-1 +- patchlevel 1144 + +* Fri Sep 22 2017 Karsten Hopp 8.0.1132-1 +- patchlevel 1132 + +* Wed Sep 20 2017 Zdenek Dohnal - 8.0.1129-2 +- vim-update.sh - update was in bad form + +* Wed Sep 20 2017 Karsten Hopp 8.0.1129-1 +- patchlevel 1129 + +* Wed Sep 20 2017 Zdenek Dohnal - 8.0.1127-2 +- vim-update.sh - update script tried to push for previous version + +* Tue Sep 19 2017 Karsten Hopp 8.0.1127-1 +- patchlevel 1127 + +* Tue Sep 19 2017 Zdenek Dohnal - 8.0.1123-2 +- vim-update.sh - fixing bug with submiting update (update got submitted for previous version) + +* Mon Sep 18 2017 Karsten Hopp 8.0.1123-1 +- patchlevel 1123 + +* Thu Sep 14 2017 Karsten Hopp 8.0.1102-1 +- vim-update.sh - add test for succesful build and fixing grepping of update's list +- patchlevel 1102 + +* Wed Sep 13 2017 Karsten Hopp 8.0.1098-1 +- editing vim-update.sh - check updates for newer releases and create update +- patchlevel 1098 + +* Tue Sep 12 2017 Karsten Hopp 8.0.1097-1 +- patchlevel 1097 +- editing vim-update.sh - wrong condition for checking fedkpg push return value + +* Mon Sep 11 2017 Karsten Hopp 8.0.1092-1 +- editing vim-update.sh for building package +- patchlevel 1092 +- 1487175 - VIm conflicts in man pages + +* Fri Sep 08 2017 Zdenek Dohnal - 8.0.1071-2 +- fixing merge and push in vim-update.sh + +* Fri Sep 08 2017 Karsten Hopp 8.0.1071-1 +- patchlevel 1071 + +* Fri Sep 08 2017 Zdenek Dohnal - 8.0.1067-2 +- editing vim-update.sh to do whole update automatically + +* Thu Sep 07 2017 Karsten Hopp 8.0.1067-1 +- patchlevel 1067 + +* Wed Sep 06 2017 Karsten Hopp 8.0.1064-1 +- patchlevel 1064 + +* Tue Sep 05 2017 Karsten Hopp 8.0.1056-1 +- patchlevel 1056 + +* Mon Sep 04 2017 Karsten Hopp 8.0.1052-1 +- patchlevel 1052 + +* Fri Sep 01 2017 Karsten Hopp 8.0.1030-1 +- patchlevel 1030 + +* Thu Aug 24 2017 Karsten Hopp 8.0.992-1 +- patchlevel 992 + +* Wed Aug 23 2017 Karsten Hopp 8.0.987-1 +- patchlevel 987 + +* Tue Aug 22 2017 Karsten Hopp 8.0.983-1 +- patchlevel 983 + +* Fri Aug 18 2017 Karsten Hopp 8.0.956-1 +- patchlevel 956 + +* Tue Aug 15 2017 Karsten Hopp 8.0.946-1 +- patchlevel 946 + +* Mon Aug 14 2017 Karsten Hopp 8.0.938-1 +- patchlevel 938 + +* Fri Aug 11 2017 Karsten Hopp 8.0.896-1 +- patchlevel 896 + +* Thu Aug 10 2017 Karsten Hopp 8.0.895-1 +- patchlevel 895 + +* Wed Aug 09 2017 Karsten Hopp 8.0.893-1 +- patchlevel 893 + +* Wed Aug 09 2017 Zdenek Dohnal 8.0.891-2 +- editing vim-update.sh - now it takes branch name as argument for switching and run mockbuild + +* Tue Aug 08 2017 Karsten Hopp 8.0.891-1 +- patchlevel 891 + +* Mon Aug 07 2017 Karsten Hopp 8.0.885-1 +- patchlevel 885 + +* Thu Aug 03 2017 Fedora Release Engineering - 2:8.0.844-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Aug 03 2017 Karsten Hopp 8.0.844-1 +- patchlevel 844 + +* Tue Aug 01 2017 Karsten Hopp 8.0.826-1 +- patchlevel 826 + +* Mon Jul 31 2017 Karsten Hopp 8.0.823-1 +- patchlevel 823 + +* Thu Jul 27 2017 Fedora Release Engineering - 2:8.0.739-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Karsten Hopp 8.0.739-1 +- patchlevel 739 + +* Thu Jul 20 2017 Karsten Hopp 8.0.738-1 +- patchlevel 738 + +* Wed Jul 19 2017 Karsten Hopp 8.0.730-1 +- patchlevel 730 + +* Tue Jul 18 2017 Karsten Hopp 8.0.728-1 +- patchlevel 728 + +* Thu Jul 13 2017 Karsten Hopp 8.0.711-1 +- patchlevel 711 + +* Tue Jul 11 2017 Karsten Hopp 8.0.705-1 +- patchlevel 705 + +* Fri Jun 30 2017 Karsten Hopp 8.0.691-1 +- patchlevel 691 + +* Thu Jun 29 2017 Karsten Hopp 8.0.688-1 +- patchlevel 688 + +* Thu Jun 29 2017 Zdenek Dohnal - 8.0.685-3 +- update python dependencies accordingly Fedora Guidelines for Python (python-devel -> python2-devel) + +* Wed Jun 28 2017 Karsten Hopp 8.0.685-1 +- patchlevel 685 + +* Mon Jun 26 2017 Karsten Hopp 8.0.679-1 +- patchlevel 679 + +* Fri Jun 23 2017 Karsten Hopp 8.0.662-1 +- patchlevel 662 + +* Tue Jun 20 2017 Karsten Hopp 8.0.648-1 +- patchlevel 648 + +* Mon Jun 19 2017 Karsten Hopp 8.0.647-1 +- patchlevel 647 + +* Thu Jun 15 2017 Karsten Hopp 8.0.642-1 +- patchlevel 642 + +* Mon Jun 12 2017 Karsten Hopp 8.0.636-1 +- patchlevel 636, removing perl ftbfs patch + +* Fri Jun 09 2017 Karsten Hopp 8.0.628-1 +- patchlevel 628 + +* Wed Jun 07 2017 Jitka Plesnikova - 2:8.0.627-2 +- Perl 5.26 re-rebuild of bootstrapped packages + +* Wed Jun 07 2017 Karsten Hopp 8.0.627-1 +- patchlevel 627 + +* Mon Jun 05 2017 Karsten Hopp 8.0.617-1 +- patchlevel 617 + +* Sun Jun 04 2017 Jitka Plesnikova - 2:8.0.606-3 +- Perl 5.26 rebuild + +* Mon May 29 2017 Zdenek Dohnal - 2:8.0.606-2 +- 1456455 - vim-8.0.600-1.fc27 FTBFS with Perl 5.26.0 + +* Mon May 29 2017 Karsten Hopp 8.0.606-1 +- patchlevel 606 + +* Thu May 25 2017 Karsten Hopp 8.0.604-1 +- patchlevel 604 + +* Fri May 19 2017 Karsten Hopp 8.0.600-1 +- patchlevel 600 + +* Wed May 17 2017 Karsten Hopp 8.0.599-1 +- patchlevel 599 + +* Tue May 16 2017 Karsten Hopp 8.0.598-1 +- patchlevel 598 + +* Mon May 15 2017 Karsten Hopp 8.0.597-1 +- patchlevel 597 + +* Tue May 02 2017 Karsten Hopp 8.0.596-1 +- patchlevel 596 + +* Mon Apr 24 2017 Karsten Hopp 8.0.586-1 +- patchlevel 586 + +* Tue Apr 18 2017 Karsten Hopp 8.0.566-1 +- patchlevel 566 + +* Thu Apr 13 2017 Karsten Hopp 8.0.563-1 +- patchlevel 563 + +* Tue Apr 11 2017 Karsten Hopp 8.0.562-1 +- patchlevel 562 + +* Mon Apr 10 2017 Karsten Hopp 8.0.559-1 +- patchlevel 559 + +* Thu Apr 06 2017 Karsten Hopp 8.0.543-1 +- patchlevel 543 + +* Mon Apr 03 2017 Karsten Hopp 8.0.540-1 +- patchlevel 540 + +* Fri Mar 31 2017 Karsten Hopp 8.0.529-1 +- patchlevel 529 + +* Thu Mar 30 2017 Karsten Hopp 8.0.525-1 +- patchlevel 525 + +* Wed Mar 29 2017 Karsten Hopp 8.0.517-1 +- patchlevel 517 +- enhance rhbz#1436124 + +* Tue Mar 28 2017 Karsten Hopp 8.0.515-1 +- patchlevel 515 + +* Mon Mar 27 2017 Karsten Hopp 8.0.514-1 +- patchlevel 514 +- 1436124 - VIM chooses ft=bindzone for sudoedit /etc/named.conf + +* Fri Mar 24 2017 Karsten Hopp 8.0.503-1 +- patchlevel 503 + +* Wed Mar 22 2017 Karsten Hopp 8.0.502-1 +- patchlevel 502 + +* Tue Mar 21 2017 Karsten Hopp 8.0.497-1 +- patchlevel 497 + +* Mon Mar 20 2017 Karsten Hopp 8.0.494-1 +- patchlevel 494 + +* Wed Mar 15 2017 Karsten Hopp 8.0.458-1 +- patchlevel 458 + +* Tue Mar 14 2017 Karsten Hopp 8.0.456-1 +- patchlevel 456 + +* Fri Mar 10 2017 Karsten Hopp 8.0.442-1 +- patchlevel 442 + +* Wed Mar 08 2017 Karsten Hopp 8.0.430-1 +- patchlevel 430 + +* Tue Mar 07 2017 Karsten Hopp 8.0.427-1 +- patchlevel 427 + +* Mon Mar 06 2017 Karsten Hopp 8.0.425-1 +- patchlevel 425 + +* Fri Mar 03 2017 Karsten Hopp 8.0.402-1 +- patchlevel 402 + +* Thu Mar 02 2017 Karsten Hopp 8.0.398-1 +- patchlevel 398 + +* Wed Mar 01 2017 Karsten Hopp 8.0.388-1 +- patchlevel 388 + +* Tue Feb 28 2017 Karsten Hopp 8.0.386-1 +- patchlevel 386 + +* Mon Feb 27 2017 Karsten Hopp 8.0.381-1 +- patchlevel 381 + +* Fri Feb 24 2017 Karsten Hopp 8.0.363-1 +- patchlevel 363 +- removing vim-8.0-gtk-render.patch + +* Fri Feb 24 2017 Karsten Hopp 8.0.347-1 +- patchlevel 347 +- 1405234 - Gvim fails to properly render after Openbox desktop switch +- 1426296 - vim: FTBFS with python3-3.6.0-18.fc26 + +* Tue Feb 21 2017 Karsten Hopp 8.0.344-1 +- patchlevel 344 + +* Mon Feb 20 2017 Karsten Hopp 8.0.342-1 +- patchlevel 342 + +* Thu Feb 16 2017 Zdenek Dohnal 8.0.329-1 +- 1422833 - Syntax error in tex.vim: missing bracket + +* Mon Feb 13 2017 Karsten Hopp 8.0.329-1 +- patchlevel 329 + +* Fri Feb 10 2017 Karsten Hopp 8.0.324-1 +- patchlevel 324 + +* Thu Feb 09 2017 Karsten Hopp 8.0.318-1 +- patchlevel 318 + +* Tue Feb 07 2017 Karsten Hopp 8.0.314-1 +- patchlevel 314, added screenshot to appdata and testing validity of appdata.xml + +* Mon Feb 06 2017 Karsten Hopp 8.0.311-1 +- patchlevel 311 + +* Fri Feb 03 2017 Karsten Hopp 8.0.297-1 +- patchlevel 297 + +* Wed Feb 01 2017 Karsten Hopp 8.0.275-1 +- patchlevel 275 + +* Tue Jan 31 2017 Karsten Hopp 8.0.273-1 +- patchlevel 273 + +* Mon Jan 30 2017 Karsten Hopp 8.0.271-1 +- patchlevel 271 + +* Thu Jan 26 2017 Karsten Hopp 8.0.238-1 +- patchlevel 238 + +* Thu Jan 19 2017 Karsten Hopp 8.0.206-1 +- patchlevel 206 + +* Tue Jan 17 2017 Karsten Hopp 8.0.197-1 +- patchlevel 197 +- update runtime files + +* Mon Jan 16 2017 Karsten Hopp 8.0.194-1 +- patchlevel 194 + +* Fri Jan 13 2017 Karsten Hopp 8.0.176-1 +- patchlevel 176 + +* Thu Jan 12 2017 Karsten Hopp 8.0.172-1 +- patchlevel 172 + +* Wed Jan 11 2017 Karsten Hopp 8.0.170-1 +- patchlevel 170 + +* Mon Jan 09 2017 Karsten Hopp 8.0.160-1 +- patchlevel 160 + +* Tue Jan 03 2017 Karsten Hopp 8.0.142-1 +- patchlevel 142 + +* Mon Dec 19 2016 Zdenek Dohnal - 2:8.0.134-2 +- f24->f25 vim: copy paste no longer works (bug #1401410) - fixing error in prep + +* Mon Dec 19 2016 Zdenek Dohnal - 2:8.0.134-2 +- f24->f25 vim: copy paste no longer works (bug #1401410) - deleting mouse setting block from defaults.vim + +* Mon Dec 19 2016 Karsten Hopp 8.0.134-1 +- patchlevel 134 +- f24->f25 vim: copy paste no longer works (bug #1401410) - revert previous changes, set mouse=v in defaults.vim + +* Thu Dec 15 2016 Zdenek Dohnal - 2:8.0.133-2 +- f24->f25 vim: copy paste no longer works (bug #1401410) - change mouse default setting to 'v' + +* Thu Dec 15 2016 Karsten Hopp - 8.0.133-2 +- fix fstab syntax highlighting (rhbz#1365258) + +* Mon Dec 12 2016 Karsten Hopp 8.0.133-1 +- patchlevel 133 + +* Mon Dec 05 2016 Zdenek Dohnal - 2:8.0.124-2 +- add new sources + +* Mon Dec 05 2016 Karsten Hopp 8.0.124-1 +- patchlevel 124 + +* Fri Dec 02 2016 Karsten Hopp 8.0.118-1 +- patchlevel 118 + +* Mon Nov 28 2016 Zdenek Dohnal - 2:8.0.104-2 +- do not ship vim.desktop + +* Mon Nov 28 2016 Karsten Hopp 8.0.104-1 +- patchlevel 104 + +* Thu Nov 24 2016 Karsten Hopp 8.0.095-1 +- patchlevel 095 + +* Thu Nov 24 2016 Karsten Hopp 8.0.095-1 +- patchlevel 095 + +* Thu Nov 24 2016 Karsten Hopp 8.0.095-1 +- patchlevel 095 + +* Thu Nov 24 2016 Karsten Hopp 8.0.095-2 +- disable download of spec.vim, main sources are newer + +* Tue Nov 22 2016 Karsten Hopp 8.0.095-1 +- patchlevel 095 + +* Mon Nov 21 2016 Karsten Hopp 8.0.094-1 +- patchlevel 094 + +* Wed Nov 16 2016 Karsten Hopp 8.0.086-1 +- patchlevel 086 + +* Tue Nov 15 2016 Karsten Hopp 8.0.085-1 +- patchlevel 085 + +* Mon Nov 14 2016 Karsten Hopp 8.0.084-1 +- patchlevel 084 + +* Mon Nov 14 2016 Zdenek Dohnal - 8.0.070-1 +- patchlevel 070 + +* Mon Nov 14 2016 Karsten Hopp 8.0.000-1 +- patchlevel 000 + +* Wed Nov 09 2016 Karsten Hopp 8.0.057-1 +- patchlevel 057 + +* Mon Nov 07 2016 Vít Ondruch - 8.0.037-2 +- Add RPM file triggers support. + +* Wed Oct 19 2016 Karsten Hopp 8.0.037-1 +- patchlevel 037 + +* Wed Oct 19 2016 Karsten Hopp 8.0.018-1 +- switch to gtk3 + +* Thu Oct 06 2016 Karsten Hopp 8.0.018-1 +- patchlevel 018 + +* Tue Sep 13 2016 Karsten Hopp 8.0.003-1 +- patchlevel 003 + +* Wed Sep 07 2016 Karsten Hopp 7.4.2342-1 +- patchlevel 2342 + +* Mon Sep 05 2016 Karsten Hopp 7.4.2330-1 +- patchlevel 2330 + +* Thu Aug 04 2016 Karsten Hopp 7.4.1989-2 +- redo patches, some upstream updates broke them + +* Tue Jul 05 2016 Karsten Hopp 7.4.1989-1 +- patchlevel 1989 + +* Mon Jul 04 2016 Karsten Hopp 7.4.1988-1 +- patchlevel 1988 + +* Thu Jun 02 2016 Karsten Hopp 7.4.1868-1 +- patchlevel 1868 + +* Wed May 25 2016 Karsten Hopp 7.4.1842-1 +- patchlevel 1842 + +* Tue May 24 2016 Karsten Hopp - 7.4.1835-2 +- compile perl support as a dynamic module (rhbz#1327755) + +* Tue May 24 2016 Karsten Hopp 7.4.1835-1 +- patchlevel 1835 + +* Tue May 24 2016 Karsten Hopp - 7.4.1830-3 +- mv vim.sh and vim.csh to source files +- sh profile.d improvements: don't leak $ID, don't fail on nounset + (rhbz#1339106 Ville Skyttä) + +* Sun May 15 2016 Jitka Plesnikova - 2:7.4.1830-2 +- Perl 5.24 rebuild + +* Fri May 13 2016 Karsten Hopp 7.4.1830-1 +- patchlevel 1830 + +* Mon May 02 2016 Karsten Hopp 7.4.1816-1 +- patchlevel 1816 + +* Fri Apr 29 2016 Karsten Hopp - 7.4.1797-3 +- use uncompressed help files. vimtutor and vi will access those when + vim-common is installed. (rhbz#1262182) + No hard requirement vim-minimal -> vim-common added, to allow minimal + installations + +* Fri Apr 29 2016 Karsten Hopp - 7.4.1797-2 +- merge git branches and rebuild + +* Fri Apr 29 2016 Karsten Hopp 7.4.1797-1 +- patchlevel 1797 + +* Tue Apr 26 2016 Karsten Hopp 7.4.1786-1 +- patchlevel 1786 + +* Tue Apr 26 2016 Karsten Hopp - 7.4.1775-2 +- fix error in spec.vim (rhbz#1318991) + +* Mon Apr 25 2016 Karsten Hopp - 7.4.1320-2 +- update ftplugin/spec.vim, syntax/spec.vim (rhbz#1297746) + +* Fri Apr 22 2016 Karsten Hopp 7.4.1775-1 +- patchlevel 1775 + +* Tue Apr 12 2016 Karsten Hopp - 7.4.1718-2 +- add vimfiles_root macro (rhbz#844975) +- add %%_libdir/vim directory for plugins (rhbz#1193230) +- vi, rvi, rview, ex, view don't read vimrc anymore. They use virc instead + (rhbz#1045815) +- fix dates in changelogs when spec.vim is used and locale != 'C' + +* Fri Apr 08 2016 Karsten Hopp 7.4.1718-1 +- patchlevel 1718 + +* Tue Mar 15 2016 Karsten Hopp 7.4.1570-1 +- patchlevel 1570 + +* Wed Feb 17 2016 Karsten Hopp 7.4.1344-1 +- patchlevel 1344 + +* Mon Feb 15 2016 Karsten Hopp 7.4.1320-1 +- patchlevel 1320 + +* Sun Feb 14 2016 Karsten Hopp 7.4.1317-1 +- patchlevel 1317 + +* Sat Feb 13 2016 Karsten Hopp 7.4.1308-1 +- patchlevel 1308 + +* Fri Feb 12 2016 Karsten Hopp 7.4.1304-1 +- patchlevel 1304 + +* Thu Feb 11 2016 Karsten Hopp 7.4.1301-1 +- patchlevel 1301 + +* Wed Feb 10 2016 Karsten Hopp 7.4.1297-1 +- patchlevel 1297 + +* Tue Feb 09 2016 Karsten Hopp 7.4.1293-1 +- patchlevel 1293 + +* Mon Feb 08 2016 Karsten Hopp 7.4.1290-1 +- patchlevel 1290 + +* Sun Feb 07 2016 Karsten Hopp 7.4.1273-1 +- patchlevel 1273 + +* Sat Feb 06 2016 Karsten Hopp 7.4.1265-1 +- patchlevel 1265 + +* Fri Feb 05 2016 Fedora Release Engineering - 2:7.4.1229-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Feb 01 2016 Karsten Hopp 7.4.1229-1 +- patchlevel 1229 + +* Sat Jan 23 2016 Karsten Hopp 7.4.1153-1 +- patchlevel 1153 + +* Fri Jan 22 2016 Karsten Hopp 7.4.1152-1 +- patchlevel 1152 + +* Thu Jan 21 2016 Karsten Hopp 7.4.1147-1 +- patchlevel 1147 + +* Wed Jan 20 2016 Karsten Hopp 7.4.1143-1 +- patchlevel 1143 + +* Tue Jan 19 2016 Karsten Hopp 7.4.1142-1 +- patchlevel 1142 + +* Tue Jan 19 2016 Karsten Hopp 7.4.1131-1 +- patchlevel 1131 + +* Mon Jan 18 2016 Karsten Hopp 7.4.1129-1 +- patchlevel 1129 + +* Sun Jan 17 2016 Karsten Hopp 7.4.1112-1 +- patchlevel 1112 + +* Sat Jan 16 2016 Karsten Hopp 7.4.1101-1 +- patchlevel 1101 + +* Fri Jan 15 2016 Karsten Hopp 7.4.1090-1 +- patchlevel 1090 + +* Wed Jan 13 2016 Karsten Hopp 7.4.1089-1 +- patchlevel 1089 + +* Tue Jan 12 2016 Karsten Hopp - 7.4.1087-2 +- fix ssh syntax files +- fix %%global in spec.vim (rhbz#1058041) + +* Mon Jan 11 2016 Karsten Hopp 7.4.1087-1 +- patchlevel 1087 + +* Sun Dec 20 2015 Karsten Hopp 7.4.979-1 +- patchlevel 979 + +* Fri Dec 18 2015 Karsten Hopp 7.4.977-1 +- patchlevel 977 + +* Mon Dec 14 2015 Karsten Hopp 7.4.972-1 +- patchlevel 972 + +* Sun Dec 13 2015 Karsten Hopp 7.4.970-1 +- patchlevel 970 + +* Sat Dec 12 2015 Karsten Hopp 7.4.969-1 +- patchlevel 969 + +* Mon Dec 07 2015 Karsten Hopp 7.4.963-1 +- patchlevel 963 + +* Sun Dec 06 2015 Karsten Hopp 7.4.962-1 +- patchlevel 962 + +* Fri Dec 04 2015 Karsten Hopp 7.4.960-1 +- patchlevel 960 + +* Wed Dec 02 2015 Karsten Hopp 7.4.947-1 +- patchlevel 947 + +* Tue Dec 01 2015 Karsten Hopp 7.4.945-1 +- patchlevel 945 + +* Mon Nov 30 2015 Karsten Hopp 7.4.944-1 +- patchlevel 944 + +* Thu Nov 26 2015 Karsten Hopp 7.4.942-1 +- patchlevel 942 + +* Wed Nov 25 2015 Karsten Hopp 7.4.941-1 +- patchlevel 941 + +* Mon Nov 23 2015 Karsten Hopp 7.4.936-1 +- patchlevel 936 + +* Sun Nov 22 2015 Karsten Hopp 7.4.934-1 +- patchlevel 934 + +* Fri Nov 20 2015 Karsten Hopp 7.4.930-1 +- patchlevel 930 + +* Wed Nov 11 2015 Karsten Hopp 7.4.922-1 +- patchlevel 922 + +* Tue Nov 10 2015 Karsten Hopp 7.4.917-1 +- patchlevel 917 + +* Wed Nov 04 2015 Karsten Hopp 7.4.909-1 +- patchlevel 909 +- Fedora vim now uses tarballs created from upstream git instead + of just upstream patches. Now runtime files will have fixes, too. + +* Tue Nov 03 2015 Karsten Hopp 7.4.908-1 +- patchlevel 908 + +* Mon Nov 02 2015 Karsten Hopp 7.4.903-1 +- patchlevel 903 + +* Sat Oct 31 2015 Karsten Hopp 7.4.902-1 +- patchlevel 902 + +* Mon Oct 26 2015 Karsten Hopp 7.4.900-1 +- patchlevel 900 + +* Wed Oct 14 2015 Karsten Hopp 7.4.898-1 +- patchlevel 898 + +* Thu Oct 08 2015 Karsten Hopp 7.4.891-1 +- patchlevel 891 + +* Wed Oct 07 2015 Karsten Hopp 7.4.890-1 +- patchlevel 890 + +* Wed Sep 30 2015 Karsten Hopp 7.4.889-1 +- patchlevel 889 + +* Sat Sep 26 2015 Karsten Hopp 7.4.884-1 +- patchlevel 884 + +* Tue Sep 22 2015 Karsten Hopp 7.4.873-2 +- fix garbled xxd manpage in Japanese locale (bugzilla #1035606), Masayuki Oshima + +* Tue Sep 22 2015 Karsten Hopp 7.4.873-1 +- add Provides: mergetool for bugzilla #990444 + +* Fri Sep 18 2015 Karsten Hopp 7.4.873-1 +- patchlevel 873 + +* Wed Sep 16 2015 Karsten Hopp 7.4.871-1 +- patchlevel 871 + +* Thu Sep 10 2015 Karsten Hopp 7.4.865-1 +- patchlevel 865 + +* Wed Sep 09 2015 Karsten Hopp 7.4.861-1 +- patchlevel 861 + +* Wed Sep 02 2015 Karsten Hopp 7.4.854-1 +- patchlevel 854 + +* Fri Aug 28 2015 Karsten Hopp 7.4.843-1 +- patchlevel 843 + +* Thu Aug 27 2015 Karsten Hopp 7.4.841-1 +- patchlevel 841 + +* Wed Aug 26 2015 Karsten Hopp 7.4.838-1 +- patchlevel 838 + +* Wed Aug 19 2015 Karsten Hopp 7.4.827-1 +- patchlevel 827 +- re-enable lua +- enable python3 + +* Fri Jul 10 2015 Lubomir Rintel 7.4.769-3 +- drop forcing background, vim detects this since 7.4.757, rhbz#1159920 + +* Sat Jul 04 2015 Karsten Hopp 7.4.769-1 +- patchlevel 769 + +* Fri Jul 03 2015 Karsten Hopp 7.4.768-1 +- patchlevel 768 + +* Mon Jun 29 2015 Karsten Hopp 7.4.764-1 +- patchlevel 764 + +* Sun Jun 28 2015 Karsten Hopp 7.4.763-1 +- patchlevel 763 + +* Fri Jun 26 2015 Karsten Hopp 7.4.761-1 +- patchlevel 761 + +* Thu Jun 25 2015 Karsten Hopp 7.4.757-1 +- patchlevel 757 + +* Mon Jun 22 2015 Karsten Hopp 7.4.752-1 +- patchlevel 752 + +* Fri Jun 19 2015 Fedora Release Engineering - 2:7.4.737-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jun 10 2015 Karsten Hopp 7.4.737-1 +- patchlevel 737 + +* Thu May 14 2015 Karsten Hopp 7.4.729-1 +- patchlevel 729 + +* Wed May 06 2015 Karsten Hopp 7.4.728-1 +- patchlevel 728 + +* Tue May 05 2015 Karsten Hopp 7.4.726-1 +- patchlevel 726 + +* Mon May 04 2015 Karsten Hopp 7.4.723-1 +- patchlevel 723 + +* Thu Apr 23 2015 Karsten Hopp 7.4.712-1 +- patchlevel 712 + +* Wed Apr 22 2015 Karsten Hopp 7.4.711-1 +- patchlevel 711 + +* Tue Apr 21 2015 Karsten Hopp 7.4.708-1 +- patchlevel 708 + +* Sat Apr 18 2015 Karsten Hopp 7.4.703-1 +- patchlevel 703 + +* Fri Apr 17 2015 Karsten Hopp 7.4.702-1 +- patchlevel 702 + +* Wed Apr 15 2015 Karsten Hopp 7.4.701-1 +- patchlevel 701 + +* Tue Apr 14 2015 Karsten Hopp 7.4.699-1 +- patchlevel 699 + +* Mon Apr 13 2015 Karsten Hopp 7.4.698-1 +- patchlevel 698 + +* Fri Apr 10 2015 Karsten Hopp 7.4.692-1 +- patchlevel 692 + +* Sat Apr 04 2015 Karsten Hopp 7.4.691-1 +- patchlevel 691 + +* Fri Apr 03 2015 Karsten Hopp 7.4.690-1 +- patchlevel 690 + +* Wed Apr 01 2015 Karsten Hopp 7.4.688-1 +- patchlevel 688 + +* Tue Mar 31 2015 Karsten Hopp 7.4.686-1 +- patchlevel 686 + +* Thu Mar 26 2015 Karsten Hopp 7.4.683-1 +- patchlevel 683 + +* Wed Mar 25 2015 Karsten Hopp 7.4.682-1 +- patchlevel 682 + +* Tue Mar 24 2015 Karsten Hopp 7.4.681-1 +- patchlevel 681 + +* Sun Mar 22 2015 Karsten Hopp 7.4.674-1 +- patchlevel 674 + +* Sat Mar 21 2015 Karsten Hopp 7.4.672-1 +- patchlevel 672 + +* Fri Mar 20 2015 Karsten Hopp 7.4.668-1 +- patchlevel 668 + +* Thu Mar 19 2015 Jitka Plesnikova - 7.4.663-3 +- Perl 5.22 rebuild + +* Wed Mar 18 2015 Richard Hughes - 7.4.663-2 +- Add an AppData file for the software center + +* Sat Mar 14 2015 Karsten Hopp 7.4.663-1 +- patchlevel 663 + +* Fri Mar 13 2015 Karsten Hopp 7.4.662-1 +- patchlevel 662 + +* Sun Mar 08 2015 Karsten Hopp 7.4.658-1 +- patchlevel 658 + +* Sat Mar 07 2015 Karsten Hopp 7.4.657-1 +- patchlevel 657 + +* Fri Mar 06 2015 Karsten Hopp 7.4.656-1 +- patchlevel 656 + +* Thu Mar 05 2015 Karsten Hopp 7.4.652-1 +- patchlevel 652 + +* Sat Feb 28 2015 Karsten Hopp 7.4.648-1 +- patchlevel 648 + +* Fri Feb 27 2015 Karsten Hopp 7.4.643-1 +- patchlevel 643 + +* Fri Feb 27 2015 Dave Airlie 7.4.640-4 +- fix vimrc using wrong comment character + +* Thu Feb 26 2015 Karsten Hopp 7.4.640-3 +- bump release + +* Thu Feb 26 2015 Karsten Hopp 7.4.640-2 +- set background to dark in gnome-terminal, rhbz#1159920 + +* Wed Feb 25 2015 Karsten Hopp 7.4.640-1 +- patchlevel 640 + +* Sat Feb 21 2015 Till Maas - 7.4.629-2 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Wed Feb 11 2015 Karsten Hopp 7.4.629-2 +- fix syntax highlighting for some ssh_config sshd_config keywords + +* Wed Feb 11 2015 Karsten Hopp 7.4.629-1 +- patchlevel 629 + +* Fri Feb 06 2015 Karsten Hopp 7.4.622-1 +- patchlevel 622 + +* Thu Feb 05 2015 Karsten Hopp 7.4.621-1 +- patchlevel 621 + +* Wed Feb 04 2015 Karsten Hopp 7.4.618-1 +- patchlevel 618 + +* Tue Feb 03 2015 Karsten Hopp 7.4.615-1 +- patchlevel 615 + +* Wed Jan 28 2015 Karsten Hopp 7.4.608-1 +- patchlevel 608 + +* Tue Jan 27 2015 Karsten Hopp 7.4.604-1 +- patchlevel 604 + +* Fri Jan 23 2015 Karsten Hopp 7.4.591-1 +- patchlevel 591 + +* Wed Jan 21 2015 Karsten Hopp 7.4.589-1 +- patchlevel 589 + +* Tue Jan 20 2015 Karsten Hopp 7.4.586-1 +- patchlevel 586 + +* Sun Jan 18 2015 Karsten Hopp 7.4.582-1 +- patchlevel 582 + +* Thu Jan 15 2015 Karsten Hopp 7.4.580-1 +- patchlevel 580 + +* Wed Jan 14 2015 Karsten Hopp 7.4.576-1 +- patchlevel 576 + +* Mon Jan 12 2015 Karsten Hopp 7.4.567-1 +- use %%make_install in spec-template.new (rhbz#919270) + +* Thu Jan 08 2015 Karsten Hopp 7.4.567-1 +- patchlevel 567 + +* Wed Jan 07 2015 Karsten Hopp 7.4.566-1 +- patchlevel 566 + +* Thu Dec 18 2014 Karsten Hopp 7.4.560-1 +- patchlevel 560 + +* Wed Dec 17 2014 Karsten Hopp 7.4.557-1 +- patchlevel 557 + +* Sun Dec 14 2014 Karsten Hopp 7.4.552-1 +- patchlevel 552 + +* Sat Dec 13 2014 Karsten Hopp 7.4.546-1 +- patchlevel 546 + +* Mon Dec 08 2014 Karsten Hopp 7.4.542-1 +- patchlevel 542 + +* Sun Dec 07 2014 Karsten Hopp 7.4.541-1 +- patchlevel 541 + +* Mon Dec 01 2014 Karsten Hopp 7.4.540-1 +- patchlevel 540 + +* Sun Nov 30 2014 Karsten Hopp 7.4.539-1 +- patchlevel 539 + +* Fri Nov 28 2014 Karsten Hopp 7.4.537-1 +- patchlevel 537 + +* Thu Nov 27 2014 Karsten Hopp 7.4.534-1 +- patchlevel 534 + +* Sun Nov 23 2014 Karsten Hopp 7.4.527-1 +- patchlevel 527 + +* Fri Nov 21 2014 Karsten Hopp 7.4.526-1 +- patchlevel 526 + +* Thu Nov 20 2014 Karsten Hopp 7.4.525-1 +- patchlevel 525 + +* Wed Nov 19 2014 Karsten Hopp 7.4.521-1 +- patchlevel 521 + +* Thu Nov 13 2014 Karsten Hopp 7.4.516-1 +- patchlevel 516 + +* Wed Nov 12 2014 Karsten Hopp 7.4.512-1 +- patchlevel 512 + +* Thu Nov 06 2014 Karsten Hopp 7.4.507-1 +- patchlevel 507 + +* Wed Nov 05 2014 Karsten Hopp 7.4.502-1 +- patchlevel 502 + +* Sat Nov 01 2014 Karsten Hopp 7.4.492-1 +- patchlevel 492 + +* Fri Oct 31 2014 Karsten Hopp 7.4.491-1 +- patchlevel 491 + +* Thu Oct 23 2014 Karsten Hopp 7.4.488-1 +- patchlevel 488 + +* Wed Oct 22 2014 Karsten Hopp 7.4.487-1 +- patchlevel 487 + +* Tue Oct 21 2014 Karsten Hopp 7.4.483-1 +- patchlevel 483 + +* Fri Oct 17 2014 Karsten Hopp 7.4.481-1 +- patchlevel 481 + +* Thu Oct 16 2014 Karsten Hopp 7.4.480-1 +- patchlevel 480 + +* Wed Oct 15 2014 Karsten Hopp 7.4.477-1 +- patchlevel 477 + +* Mon Oct 13 2014 Karsten Hopp 7.4.475-2 +- add support for %%license macro (Petr Šabata) + +* Sat Oct 11 2014 Karsten Hopp 7.4.475-1 +- patchlevel 475 + +* Fri Oct 10 2014 Karsten Hopp 7.4.473-1 +- patchlevel 473 + +* Thu Oct 09 2014 Karsten Hopp 7.4.471-1 +- patchlevel 471 + +* Tue Oct 07 2014 Karsten Hopp 7.4.465-1 +- patchlevel 465 + +* Tue Sep 30 2014 Karsten Hopp 7.4.463-1 +- patchlevel 463 + +* Mon Sep 29 2014 Karsten Hopp 7.4.462-1 +- patchlevel 462 + +* Sat Sep 27 2014 Karsten Hopp 7.4.461-1 +- patchlevel 461 + +* Wed Sep 24 2014 Karsten Hopp 7.4.460-1 +- patchlevel 460 + +* Wed Sep 24 2014 Karsten Hopp 7.4.458-1 +- patchlevel 458 + +* Tue Sep 23 2014 Karsten Hopp 7.4.457-1 +- patchlevel 457 + +* Sat Sep 20 2014 Karsten Hopp 7.4.453-1 +- patchlevel 453 + +* Tue Sep 16 2014 Karsten Hopp 7.4.444-1 +- patchlevel 444 + +* Mon Sep 15 2014 Karsten Hopp 7.4.443-1 +- patchlevel 443 + +* Wed Sep 10 2014 Karsten Hopp 7.4.442-1 +- patchlevel 442 + +* Tue Aug 26 2014 Jitka Plesnikova - 2:7.4.417-2 +- Perl 5.20 rebuild + +* Tue Aug 26 2014 Karsten Hopp 7.4.417-1 +- patchlevel 417 + +* Fri Aug 22 2014 Karsten Hopp 7.4.410-1 +- patchlevel 410 +- xsubpp-path patch is obsolete now + +* Fri Aug 22 2014 Karsten Hopp 7.4.402-3 +- fix help file names + +* Mon Aug 18 2014 Fedora Release Engineering - 2:7.4.402-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + + +* Wed Aug 13 2014 Karsten Hopp 7.4.402-1 +- patchlevel 402 + +* Tue Aug 12 2014 Karsten Hopp 7.4.401-1 +- patchlevel 401 + +* Wed Aug 6 2014 Tom Callaway 2:7.4.373-2 +- fix license handling + +* Tue Jul 22 2014 Karsten Hopp 7.4.373-1 +- patchlevel 373 + +* Sun Jun 08 2014 Fedora Release Engineering - 2:7.4.307-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 27 2014 Karsten Hopp 7.4.307-1 +- patchlevel 307 + +* Tue Apr 29 2014 Vít Ondruch - 2:7.4.258-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.1 + +* Wed Apr 16 2014 Karsten Hopp 7.4.258-1 +- patchlevel 258 + +* Mon Apr 07 2014 Karsten Hopp 7.4.253-1 +- patchlevel 253 + +* Wed Mar 12 2014 Karsten Hopp 7.4.204-1 +- patchlevel 204 + +* Mon Feb 24 2014 Karsten Hopp 7.4.192-1 +- patchlevel 192 + +* Tue Feb 18 2014 Karsten Hopp 7.4.182-1 +- patchlevel 182 + +* Tue Feb 18 2014 Karsten Hopp 7.4.179-2 +- enable dynamic lua interpreter + +* Sat Feb 15 2014 Karsten Hopp 7.4.179-1 +- patchlevel 179 + +* Wed Jan 29 2014 Karsten Hopp 7.4.160-1 +- patchlevel 160 + +* Tue Dec 17 2013 Karsten Hopp 7.4.131-1 +- patchlevel 131 + +* Wed Nov 20 2013 Karsten Hopp 7.4.094-1 +- patchlevel 094 + +* Tue Oct 15 2013 Karsten Hopp 7.4.052-1 +- patchlevel 052 + +* Wed Sep 11 2013 Karsten Hopp 7.4.027-2 +- update vim icons (#1004788) +- check if 'id -u' returns empty string (vim.sh) + +* Wed Sep 11 2013 Karsten Hopp 7.4.027-1 +- patchlevel 027 + +* Wed Sep 04 2013 Karsten Hopp 7.4.016-1 +- patchlevel 016 + +* Wed Aug 28 2013 Karsten Hopp 7.4.009-1 +- patchlevel 009 + mkdir("foo/bar/", "p") gives an error message + creating a preview window on startup messes up the screen + new regexp engine can't be interrupted + too easy to write a file was not decrypted (yet) + +* Wed Aug 21 2013 Karsten Hopp 7.4.5-1 +- patchlevel 5 +- when closing a window fails ":bwipe" may hang +- "vaB" while 'virtualedit' is set selects the wrong area + +* Wed Aug 21 2013 Karsten Hopp 7.4.3-1 +- patchlevel 3, memory access error in Ruby syntax highlighting + +* Wed Aug 21 2013 Karsten Hopp 7.4.2-1 +- patchlevel 2, pattern with two alternative look-behind matches doesn't match + +* Wed Aug 21 2013 Karsten Hopp 7.4.1-1 +- patchlevel 1, 'ic' doesn't work for patterns such as [a-z] + +* Mon Aug 12 2013 Karsten Hopp 7.4.0-1 +- update to vim-7.4 + +* Sun Aug 04 2013 Fedora Release Engineering - 2:7.3.1314-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Jul 26 2013 Karsten Hopp 7.3.1314-2 +- document gex and vimx in man page +- fix gvimdiff and gvimtutor man page redirects + +* Wed Jul 17 2013 Petr Pisar - 2:7.3.1314-2 +- Perl 5.18 rebuild + +* Tue Jul 09 2013 Karsten Hopp 7.3.1314-1 +- patchlevel 1314 + +* Thu Jul 04 2013 Karsten Hopp 7.3.1293-1 +- patchlevel 1293 + +* Fri Jun 14 2013 Karsten Hopp 7.3.1189-1 +- patchlevel 1189 + +* Tue Jun 04 2013 Karsten Hopp 7.3.1109-1 +- patchlevel 1109 + +* Wed May 22 2013 Karsten Hopp 7.3.1004-1 +- patchlevel 1004 + +* Wed May 22 2013 Karsten Hopp 7.3.1000-1 +- patchlevel 1000 ! + +* Tue May 21 2013 Karsten Hopp 7.3.987-1 +- patchlevel 987 + +* Tue May 21 2013 Karsten Hopp 7.3.944-2 +- consistent use of macros in spec file +- add some links to man pages + +* Tue May 14 2013 Karsten Hopp 7.3.944-1 +- patchlevel 944 + +* Mon May 13 2013 Karsten Hopp 7.3.943-2 +- add BR perl(ExtUtils::ParseXS) + +* Mon May 13 2013 Karsten Hopp 7.3.943-1 +- patchlevel 943 + +* Wed May 08 2013 Karsten Hopp 7.3.931-1 +- patchlevel 931 + +* Wed May 08 2013 Karsten Hopp 7.3.903-1 +- fix ruby version check + +* Fri Apr 19 2013 Karsten Hopp 7.3.903-1 +- drop crv patch +- update 7.3.838 patch, it was broken upstream + +* Mon Apr 15 2013 Karsten Hopp 7.3.903-1 +- patchlevel 903 + +* Mon Feb 18 2013 Karsten Hopp 7.3.822-1 +- patchlevel 822 + +* Fri Feb 15 2013 Toshio Kuratomi - 7.3.797-2 +- Only use --vendor for desktop-file-install on F18 or less + +* Thu Jan 31 2013 Karsten Hopp 7.3.797-1 +- patchlevel 797 + +* Mon Jan 28 2013 Karsten Hopp 7.3.785-1 +- patchlevel 785 + +* Tue Nov 20 2012 Karsten Hopp 7.3.715-1 +- patchlevel 715 + +* Mon Nov 12 2012 Karsten Hopp 7.3.712-1 +- patchlevel 712 + +* Mon Nov 12 2012 Karsten Hopp 7.3.682-2 +- fix vim.csh syntax + +* Tue Oct 23 2012 Karsten Hopp 7.3.712-1 +- patchlevel 712 + +* Mon Oct 15 2012 Karsten Hopp 7.3.691-1 +- patchlevel 691 + +* Fri Oct 05 2012 Karsten Hopp 7.3.682-1 +- patchlevel 682 +- use --enable-rubyinterp=dynamic and --enable-pythoninterp=dynamic + +* Mon Sep 03 2012 Karsten Hopp 7.3.646-1 +- patchlevel 646 + +* Tue Aug 28 2012 Karsten Hopp 7.3.638-2 +- fix some man page typos (#668894, #675480) +- own usr/share/vim/vimfiles/doc/tags (#845564) +- add path to csope database (#844843) + +* Tue Aug 28 2012 Karsten Hopp 7.3.638-1 +- patchlevel 638 + +# vim:nrformats-=octal