diff --git a/7.4.630 b/7.4.630 new file mode 100644 index 0000000..c55c7c3 --- /dev/null +++ b/7.4.630 @@ -0,0 +1,86 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.630 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.630 +Problem: When using Insert mode completion combined with autocommands the + redo command may not work. +Solution: Do not save the redo buffer when executing autocommands. (Yasuhiro + Matsumoto) +Files: src/fileio.c + + +*** ../vim-7.4.629/src/fileio.c 2015-01-07 14:43:35.728900384 +0100 +--- src/fileio.c 2015-02-17 10:49:42.478013159 +0100 +*************** +*** 9230,9235 **** +--- 9230,9236 ---- + #ifdef FEAT_PROFILE + proftime_T wait_time; + #endif ++ int did_save_redobuff = FALSE; + + /* + * Quickly return if there are no autocommands for this event or +*************** +*** 9430,9436 **** + if (!autocmd_busy) + { + save_search_patterns(); +! saveRedobuff(); + did_filetype = keep_filetype; + } + +--- 9431,9441 ---- + if (!autocmd_busy) + { + save_search_patterns(); +! if (!ins_compl_active()) +! { +! saveRedobuff(); +! did_save_redobuff = TRUE; +! } + did_filetype = keep_filetype; + } + +*************** +*** 9530,9536 **** + if (!autocmd_busy) + { + restore_search_patterns(); +! restoreRedobuff(); + did_filetype = FALSE; + while (au_pending_free_buf != NULL) + { +--- 9535,9542 ---- + if (!autocmd_busy) + { + restore_search_patterns(); +! if (did_save_redobuff) +! restoreRedobuff(); + did_filetype = FALSE; + while (au_pending_free_buf != NULL) + { +*** ../vim-7.4.629/src/version.c 2015-02-10 20:03:39.389939274 +0100 +--- src/version.c 2015-02-17 10:53:04.719391852 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 630, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +237. You tattoo your email address on your forehead. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.631 b/7.4.631 new file mode 100644 index 0000000..a58b68a --- /dev/null +++ b/7.4.631 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.631 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.631 +Problem: The default conceal character is documented to be a space but it's + initially a dash. (Christian Brabandt) +Solution: Make the intial value a space. +Files: src/globals.h + + +*** ../vim-7.4.630/src/globals.h 2015-01-27 18:43:42.134535513 +0100 +--- src/globals.h 2015-02-17 11:05:40.401595004 +0100 +*************** +*** 1167,1173 **** + EXTERN int lcs_tab2 INIT(= NUL); + EXTERN int lcs_trail INIT(= NUL); + #ifdef FEAT_CONCEAL +! EXTERN int lcs_conceal INIT(= '-'); + #endif + + #if defined(FEAT_WINDOWS) || defined(FEAT_WILDMENU) || defined(FEAT_STL_OPT) \ +--- 1167,1173 ---- + EXTERN int lcs_tab2 INIT(= NUL); + EXTERN int lcs_trail INIT(= NUL); + #ifdef FEAT_CONCEAL +! EXTERN int lcs_conceal INIT(= ' '); + #endif + + #if defined(FEAT_WINDOWS) || defined(FEAT_WILDMENU) || defined(FEAT_STL_OPT) \ +*** ../vim-7.4.630/src/version.c 2015-02-17 10:58:20.479298803 +0100 +--- src/version.c 2015-02-17 11:06:34.612890235 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 631, + /**/ + +-- +You can tune a file system, but you can't tuna fish + -- man tunefs + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.632 b/7.4.632 new file mode 100644 index 0000000..f91e325 --- /dev/null +++ b/7.4.632 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.632 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.632 (after 7.4.592) +Problem: 7.4.592 breaks the netrw plugin, because the autocommands are + skipped. +Solution: Roll back the change. +Files: src/ex_cmds.c + + +*** ../vim-7.4.631/src/ex_cmds.c 2015-01-27 13:33:18.737649629 +0100 +--- src/ex_cmds.c 2015-02-17 12:08:56.732209558 +0100 +*************** +*** 3530,3543 **** + check_fname() == FAIL) + goto theend; + +- #ifdef FEAT_QUICKFIX +- /* ":e foobar" when already editing "foobar" will reload the file. +- * But when 'buftype' is "nofile" there is no file to load, so don't +- * do anything. */ +- if (curbuf->b_p_bt[0] == 'n' && curbuf->b_p_bt[2] == 'f') +- goto theend; +- #endif +- + oldbuf = (flags & ECMD_OLDBUF); + } + +--- 3530,3535 ---- +*** ../vim-7.4.631/src/version.c 2015-02-17 11:11:42.244891247 +0100 +--- src/version.c 2015-02-17 12:09:58.079410571 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 632, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +240. You think Webster's Dictionary is a directory of WEB sites. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.633 b/7.4.633 new file mode 100644 index 0000000..27838b7 --- /dev/null +++ b/7.4.633 @@ -0,0 +1,89 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.633 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.633 +Problem: After 7.4.630 the problem persists. +Solution: Also skip redo when calling a user function. +Files: src/eval.c + + +*** ../vim-7.4.632/src/eval.c 2015-02-04 23:06:39.453536117 +0100 +--- src/eval.c 2015-02-17 12:37:35.321823749 +0100 +*************** +*** 8693,8705 **** + error = ERROR_DICT; + else + { + /* + * Call the user function. + * Save and restore search patterns, script variables and + * redo buffer. + */ + save_search_patterns(); +! saveRedobuff(); + ++fp->uf_calls; + call_user_func(fp, argcount, argvars, rettv, + firstline, lastline, +--- 8693,8711 ---- + error = ERROR_DICT; + else + { ++ int did_save_redo = FALSE; ++ + /* + * Call the user function. + * Save and restore search patterns, script variables and + * redo buffer. + */ + save_search_patterns(); +! if (!ins_compl_active()) +! { +! saveRedobuff(); +! did_save_redo = TRUE; +! } + ++fp->uf_calls; + call_user_func(fp, argcount, argvars, rettv, + firstline, lastline, +*************** +*** 8709,8715 **** + /* Function was unreferenced while being used, free it + * now. */ + func_free(fp); +! restoreRedobuff(); + restore_search_patterns(); + error = ERROR_NONE; + } +--- 8715,8722 ---- + /* Function was unreferenced while being used, free it + * now. */ + func_free(fp); +! if (did_save_redo) +! restoreRedobuff(); + restore_search_patterns(); + error = ERROR_NONE; + } +*** ../vim-7.4.632/src/version.c 2015-02-17 12:17:10.837775002 +0100 +--- src/version.c 2015-02-17 12:38:41.920954954 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 633, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +242. You turn down a better-paying job because it doesn't come with + a free e-mail account. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.634 b/7.4.634 new file mode 100644 index 0000000..d7ee581 --- /dev/null +++ b/7.4.634 @@ -0,0 +1,183 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.634 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.634 +Problem: Marks are not restored after redo + undo. +Solution: Fix the way marks are restored. (Olaf Dabrunz) +Files: src/undo.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test_marks.in, src/testdir/test_marks.ok + + +*** ../vim-7.4.633/src/undo.c 2014-09-11 22:49:42.208961131 +0200 +--- src/undo.c 2015-02-17 13:35:48.520297460 +0100 +*************** +*** 2847,2857 **** + * restore marks from before undo/redo + */ + for (i = 0; i < NMARKS; ++i) + if (curhead->uh_namedm[i].lnum != 0) +- { + curbuf->b_namedm[i] = curhead->uh_namedm[i]; + curhead->uh_namedm[i] = namedm[i]; +! } + if (curhead->uh_visual.vi_start.lnum != 0) + { + curbuf->b_visual = curhead->uh_visual; +--- 2847,2860 ---- + * restore marks from before undo/redo + */ + for (i = 0; i < NMARKS; ++i) ++ { + if (curhead->uh_namedm[i].lnum != 0) + curbuf->b_namedm[i] = curhead->uh_namedm[i]; ++ if (namedm[i].lnum != 0) + curhead->uh_namedm[i] = namedm[i]; +! else +! curhead->uh_namedm[i].lnum = 0; +! } + if (curhead->uh_visual.vi_start.lnum != 0) + { + curbuf->b_visual = curhead->uh_visual; +*** ../vim-7.4.633/src/testdir/Make_amiga.mak 2015-01-20 19:30:46.665275623 +0100 +--- src/testdir/Make_amiga.mak 2015-02-17 13:31:58.339295211 +0100 +*************** +*** 48,53 **** +--- 48,54 ---- + test_listlbr.out \ + test_listlbr_utf8.out \ + test_mapping.out \ ++ test_marks.out \ + test_nested_function.out \ + test_options.out \ + test_qf_title.out \ +*************** +*** 188,193 **** +--- 189,195 ---- + test_listlbr.out: test_listlbr.in + test_listlbr_utf8.out: test_listlbr_utf8.in + test_mapping.out: test_mapping.in ++ test_marks.out: test_marks.in + test_nested_function.out: test_nested_function.in + test_options.out: test_options.in + test_qf_title.out: test_qf_title.in +*** ../vim-7.4.633/src/testdir/Make_dos.mak 2015-01-20 19:30:46.665275623 +0100 +--- src/testdir/Make_dos.mak 2015-02-17 13:31:58.339295211 +0100 +*************** +*** 47,52 **** +--- 47,53 ---- + test_listlbr.out \ + test_listlbr_utf8.out \ + test_mapping.out \ ++ test_marks.out \ + test_nested_function.out \ + test_options.out \ + test_qf_title.out \ +*** ../vim-7.4.633/src/testdir/Make_ming.mak 2015-01-20 19:30:46.665275623 +0100 +--- src/testdir/Make_ming.mak 2015-02-17 13:31:58.343295152 +0100 +*************** +*** 69,74 **** +--- 69,75 ---- + test_listlbr.out \ + test_listlbr_utf8.out \ + test_mapping.out \ ++ test_marks.out \ + test_nested_function.out \ + test_options.out \ + test_qf_title.out \ +*** ../vim-7.4.633/src/testdir/Make_os2.mak 2015-01-20 19:30:46.665275623 +0100 +--- src/testdir/Make_os2.mak 2015-02-17 13:31:58.343295152 +0100 +*************** +*** 49,54 **** +--- 49,55 ---- + test_listlbr.out \ + test_listlbr_utf8.out \ + test_mapping.out \ ++ test_marks.out \ + test_nested_function.out \ + test_options.out \ + test_qf_title.out \ +*** ../vim-7.4.633/src/testdir/Make_vms.mms 2015-01-20 19:30:46.669275579 +0100 +--- src/testdir/Make_vms.mms 2015-02-17 13:31:58.343295152 +0100 +*************** +*** 108,113 **** +--- 108,114 ---- + test_listlbr.out \ + test_listlbr_utf8.out \ + test_mapping.out \ ++ test_marks.out \ + test_nested_function.out \ + test_options.out \ + test_qf_title.out \ +*** ../vim-7.4.633/src/testdir/Makefile 2015-01-20 19:30:46.669275579 +0100 +--- src/testdir/Makefile 2015-02-17 13:31:58.343295152 +0100 +*************** +*** 45,50 **** +--- 45,51 ---- + test_listlbr.out \ + test_listlbr_utf8.out \ + test_mapping.out \ ++ test_marks.out \ + test_nested_function.out \ + test_options.out \ + test_qf_title.out \ +*** ../vim-7.4.633/src/testdir/test_marks.in 2015-02-17 13:42:37.010978266 +0100 +--- src/testdir/test_marks.in 2015-02-17 13:31:58.343295152 +0100 +*************** +*** 0 **** +--- 1,18 ---- ++ Tests for marks. ++ ++ STARTTEST ++ :so small.vim ++ :" test that a deleted mark is restored after delete-undo-redo-undo ++ :/^\t/+1 ++ :set nocp viminfo+=nviminfo ++ madduu ++ :let a = string(getpos("'a")) ++ :$put ='Mark after delete-undo-redo-undo: '.a ++ :/^\t/,$wq! test.out ++ ENDTEST ++ ++ textline A ++ textline B ++ textline C ++ ++ Results: +*** ../vim-7.4.633/src/testdir/test_marks.ok 2015-02-17 13:42:37.014978213 +0100 +--- src/testdir/test_marks.ok 2015-02-17 13:31:58.343295152 +0100 +*************** +*** 0 **** +--- 1,6 ---- ++ textline A ++ textline B ++ textline C ++ ++ Results: ++ Mark after delete-undo-redo-undo: [0, 15, 2, 0] +*** ../vim-7.4.633/src/version.c 2015-02-17 12:44:04.376749160 +0100 +--- src/version.c 2015-02-17 13:33:46.137891541 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 634, + /**/ + +-- +"Women marry men hoping they will change. Men marry women hoping +they will not. So each is inevitably disappointed." + - Einstein + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.635 b/7.4.635 new file mode 100644 index 0000000..c4196c3 --- /dev/null +++ b/7.4.635 @@ -0,0 +1,74 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.635 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.635 +Problem: If no NL or CR is found in the first block of a file then the + 'fileformat' may be set to "mac". (Issue 77) +Solution: Check if a CR was found. (eswald) +Files: src/fileio.c + + +*** ../vim-7.4.634/src/fileio.c 2015-02-17 10:58:20.479298803 +0100 +--- src/fileio.c 2015-02-17 14:06:53.660019143 +0100 +*************** +*** 2101,2106 **** +--- 2101,2110 ---- + { + for (p = ptr; p < ptr + size; ++p) + { ++ /* Reset the carriage return counter. */ ++ if (try_mac) ++ try_mac = 1; ++ + if (*p == NL) + { + if (!try_unix +*************** +*** 2110,2115 **** +--- 2114,2121 ---- + fileformat = EOL_UNIX; + break; + } ++ else if (*p == CAR && try_mac) ++ try_mac++; + } + + /* Don't give in to EOL_UNIX if EOL_MAC is more likely */ +*************** +*** 2133,2138 **** +--- 2139,2148 ---- + fileformat = EOL_MAC; + } + } ++ else if (fileformat == EOL_UNKNOWN && try_mac == 1) ++ /* Looking for CR but found no end-of-line markers at ++ * all: use the default format. */ ++ fileformat = default_fileformat(); + } + + /* No NL found: may use Mac format */ +*** ../vim-7.4.634/src/version.c 2015-02-17 13:43:35.562216149 +0100 +--- src/version.c 2015-02-17 14:00:48.312772284 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 635, + /**/ + +-- +"Marriage is a wonderful institution... +but who wants to live in an institution?" + - Groucho Marx + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.636 b/7.4.636 new file mode 100644 index 0000000..b592648 --- /dev/null +++ b/7.4.636 @@ -0,0 +1,166 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.636 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.636 +Problem: A search with end offset gets stuck at end of file. (Gary Johnson) +Solution: When a search doesn't move the cursor repeat it with a higher + count. (Christian Brabandt) +Files: src/normal.c, src/testdir/test44.in, src/testdir/test44.ok + + +*** ../vim-7.4.635/src/normal.c 2015-01-27 20:59:26.496971751 +0100 +--- src/normal.c 2015-02-17 15:43:29.216732977 +0100 +*************** +*** 100,106 **** + static void nv_dollar __ARGS((cmdarg_T *cap)); + static void nv_search __ARGS((cmdarg_T *cap)); + static void nv_next __ARGS((cmdarg_T *cap)); +! static void normal_search __ARGS((cmdarg_T *cap, int dir, char_u *pat, int opt)); + static void nv_csearch __ARGS((cmdarg_T *cap)); + static void nv_brackets __ARGS((cmdarg_T *cap)); + static void nv_percent __ARGS((cmdarg_T *cap)); +--- 100,106 ---- + static void nv_dollar __ARGS((cmdarg_T *cap)); + static void nv_search __ARGS((cmdarg_T *cap)); + static void nv_next __ARGS((cmdarg_T *cap)); +! static int normal_search __ARGS((cmdarg_T *cap, int dir, char_u *pat, int opt)); + static void nv_csearch __ARGS((cmdarg_T *cap)); + static void nv_brackets __ARGS((cmdarg_T *cap)); + static void nv_percent __ARGS((cmdarg_T *cap)); +*************** +*** 5765,5771 **** + init_history(); + add_to_history(HIST_SEARCH, buf, TRUE, NUL); + #endif +! normal_search(cap, cmdchar == '*' ? '/' : '?', buf, 0); + } + else + do_cmdline_cmd(buf); +--- 5765,5771 ---- + init_history(); + add_to_history(HIST_SEARCH, buf, TRUE, NUL); + #endif +! (void)normal_search(cap, cmdchar == '*' ? '/' : '?', buf, 0); + } + else + do_cmdline_cmd(buf); +*************** +*** 6301,6307 **** + return; + } + +! normal_search(cap, cap->cmdchar, cap->searchbuf, + (cap->arg ? 0 : SEARCH_MARK)); + } + +--- 6301,6307 ---- + return; + } + +! (void)normal_search(cap, cap->cmdchar, cap->searchbuf, + (cap->arg ? 0 : SEARCH_MARK)); + } + +*************** +*** 6313,6326 **** + nv_next(cap) + cmdarg_T *cap; + { +! normal_search(cap, 0, NULL, SEARCH_MARK | cap->arg); + } + + /* + * Search for "pat" in direction "dir" ('/' or '?', 0 for repeat). + * Uses only cap->count1 and cap->oap from "cap". + */ +! static void + normal_search(cap, dir, pat, opt) + cmdarg_T *cap; + int dir; +--- 6313,6338 ---- + nv_next(cap) + cmdarg_T *cap; + { +! pos_T old = curwin->w_cursor; +! int i = normal_search(cap, 0, NULL, SEARCH_MARK | cap->arg); +! +! if (i == 1 && equalpos(old, curwin->w_cursor)) +! { +! /* Avoid getting stuck on the current cursor position, which can +! * happen when an offset is given and the cursor is on the last char +! * in the buffer: Repeat with count + 1. */ +! cap->count1 += 1; +! (void)normal_search(cap, 0, NULL, SEARCH_MARK | cap->arg); +! cap->count1 -= 1; +! } + } + + /* + * Search for "pat" in direction "dir" ('/' or '?', 0 for repeat). + * Uses only cap->count1 and cap->oap from "cap". ++ * Return 0 for failure, 1 for found, 2 for found and line offset added. + */ +! static int + normal_search(cap, dir, pat, opt) + cmdarg_T *cap; + int dir; +*************** +*** 6354,6359 **** +--- 6366,6372 ---- + /* "/$" will put the cursor after the end of the line, may need to + * correct that here */ + check_cursor(); ++ return i; + } + + /* +*** ../vim-7.4.635/src/testdir/test44.in 2013-09-19 17:00:14.000000000 +0200 +--- src/testdir/test44.in 2015-02-17 15:39:42.387675976 +0100 +*************** +*** 42,47 **** +--- 42,53 ---- + :put =matchstr(\"אבגד\", \"..\", 0, 2) " בג + :put =matchstr(\"אבגד\", \".\", 0, 0) " א + :put =matchstr(\"אבגד\", \".\", 4, -1) " ג ++ :new ++ :$put =['dog(a', 'cat('] ++ /(/e+ ++ "ayn:bd! ++ :$put ='' ++ G"ap + :w! + :qa! + ENDTEST +*** ../vim-7.4.635/src/testdir/test44.ok 2013-05-26 14:16:28.000000000 +0200 +--- src/testdir/test44.ok 2015-02-17 15:31:20.586185997 +0100 +*************** +*** 22,24 **** +--- 22,26 ---- + בג + א + ג ++ a ++ cat( +*** ../vim-7.4.635/src/version.c 2015-02-17 14:15:13.005523167 +0100 +--- src/version.c 2015-02-17 15:32:53.024986843 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 636, + /**/ + +-- +Marriage isn't a word. It's a sentence. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.637 b/7.4.637 new file mode 100644 index 0000000..a575c54 --- /dev/null +++ b/7.4.637 @@ -0,0 +1,82 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.637 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.637 +Problem: Incorrectly read the number of buffer for which an autocommand + should be registered. +Solution: Reverse check for "". (Lech Lorens) +Files: src/fileio.c + + +*** ../vim-7.4.636/src/fileio.c 2015-02-17 14:15:13.005523167 +0100 +--- src/fileio.c 2015-02-17 16:00:42.039330110 +0100 +*************** +*** 8527,8547 **** + is_buflocal = FALSE; + buflocal_nr = 0; + +! if (patlen >= 7 && STRNCMP(pat, "') + { +! /* Error will be printed only for addition. printing and removing +! * will proceed silently. */ + is_buflocal = TRUE; + if (patlen == 8) + buflocal_nr = curbuf->b_fnum; + else if (patlen > 9 && pat[7] == '=') + { +! /* */ +! if (patlen == 13 && STRNICMP(pat, "", 13)) + buflocal_nr = autocmd_bufnr; +- /* */ + else if (skipdigits(pat + 8) == pat + patlen - 1) + buflocal_nr = atoi((char *)pat + 8); + } + } +--- 8527,8548 ---- + is_buflocal = FALSE; + buflocal_nr = 0; + +! if (patlen >= 8 && STRNCMP(pat, "') + { +! /* "": Error will be printed only for addition. +! * printing and removing will proceed silently. */ + is_buflocal = TRUE; + if (patlen == 8) ++ /* "" */ + buflocal_nr = curbuf->b_fnum; + else if (patlen > 9 && pat[7] == '=') + { +! if (patlen == 13 && STRNICMP(pat, "", 13) == 0) +! /* "" */ + buflocal_nr = autocmd_bufnr; + else if (skipdigits(pat + 8) == pat + patlen - 1) ++ /* "" */ + buflocal_nr = atoi((char *)pat + 8); + } + } +*** ../vim-7.4.636/src/version.c 2015-02-17 15:43:52.804426855 +0100 +--- src/version.c 2015-02-17 15:57:50.245559689 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 637, + /**/ + +-- +"Marriage is when a man and woman become as one; the trouble starts +when they try to decide which one" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.638 b/7.4.638 new file mode 100644 index 0000000..7946c82 --- /dev/null +++ b/7.4.638 @@ -0,0 +1,52 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.638 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.638 +Problem: Can't build with Lua 5.3 on Windows. +Solution: use luaL_optinteger() instead of LuaL_optlong(). (Ken Takata) +Files: src/if_lua.c + + +*** ../vim-7.4.637/src/if_lua.c 2015-02-04 23:07:55.928517161 +0100 +--- src/if_lua.c 2015-02-17 16:26:47.003111497 +0100 +*************** +*** 774,780 **** + { + luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST); + list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis); +! long pos = luaL_optlong(L, 3, 0); + listitem_T *li = NULL; + typval_T v; + if (l->lv_lock) +--- 774,780 ---- + { + luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST); + list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis); +! long pos = (long) luaL_optinteger(L, 3, 0); + listitem_T *li = NULL; + typval_T v; + if (l->lv_lock) +*** ../vim-7.4.637/src/version.c 2015-02-17 16:04:50.816104407 +0100 +--- src/version.c 2015-02-17 16:24:51.048605970 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 638, + /**/ + +-- +"Marriage is the process of finding out what kind of man your wife +would have preferred" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.639 b/7.4.639 new file mode 100644 index 0000000..dcbf4f8 --- /dev/null +++ b/7.4.639 @@ -0,0 +1,208 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.639 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.639 +Problem: Combination of linebreak and conceal doesn't work well. +Solution: Fix the display problems. (Christian Brabandt) +Files: src/screen.c, src/testdir/test88.in, src/testdir/test88.ok, + src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok + + +*** ../vim-7.4.638/src/screen.c 2015-02-10 19:20:33.735792024 +0100 +--- src/screen.c 2015-02-17 17:25:05.241891264 +0100 +*************** +*** 4571,4577 **** + int saved_nextra = n_extra; + + #ifdef FEAT_CONCEAL +! if ((is_concealing || boguscols > 0) && vcol_off > 0) + /* there are characters to conceal */ + tab_len += vcol_off; + /* boguscols before FIX_FOR_BOGUSCOLS macro from above +--- 4571,4577 ---- + int saved_nextra = n_extra; + + #ifdef FEAT_CONCEAL +! if (vcol_off > 0) + /* there are characters to conceal */ + tab_len += vcol_off; + /* boguscols before FIX_FOR_BOGUSCOLS macro from above +*************** +*** 4609,4633 **** + #ifdef FEAT_CONCEAL + /* n_extra will be increased by FIX_FOX_BOGUSCOLS + * macro below, so need to adjust for that here */ +! if ((is_concealing || boguscols > 0) && vcol_off > 0) + n_extra -= vcol_off; + #endif + } + #endif + #ifdef FEAT_CONCEAL +! /* Tab alignment should be identical regardless of +! * 'conceallevel' value. So tab compensates of all +! * previous concealed characters, and thus resets vcol_off +! * and boguscols accumulated so far in the line. Note that +! * the tab can be longer than 'tabstop' when there +! * are concealed characters. */ +! FIX_FOR_BOGUSCOLS; +! /* Make sure, the highlighting for the tab char will be +! * correctly set further below (effectively reverts the +! * FIX_FOR_BOGSUCOLS macro */ +! if (old_boguscols > 0 && n_extra > tab_len && wp->w_p_list + && lcs_tab1) +! tab_len += n_extra - tab_len; + #endif + #ifdef FEAT_MBYTE + mb_utf8 = FALSE; /* don't draw as UTF-8 */ +--- 4609,4638 ---- + #ifdef FEAT_CONCEAL + /* n_extra will be increased by FIX_FOX_BOGUSCOLS + * macro below, so need to adjust for that here */ +! if (vcol_off > 0) + n_extra -= vcol_off; + #endif + } + #endif + #ifdef FEAT_CONCEAL +! { +! int vc_saved = vcol_off; +! +! /* Tab alignment should be identical regardless of +! * 'conceallevel' value. So tab compensates of all +! * previous concealed characters, and thus resets +! * vcol_off and boguscols accumulated so far in the +! * line. Note that the tab can be longer than +! * 'tabstop' when there are concealed characters. */ +! FIX_FOR_BOGUSCOLS; +! +! /* Make sure, the highlighting for the tab char will be +! * correctly set further below (effectively reverts the +! * FIX_FOR_BOGSUCOLS macro */ +! if (n_extra == tab_len + vc_saved && wp->w_p_list + && lcs_tab1) +! tab_len += vc_saved; +! } + #endif + #ifdef FEAT_MBYTE + mb_utf8 = FALSE; /* don't draw as UTF-8 */ +*** ../vim-7.4.638/src/testdir/test88.in 2013-07-13 12:17:37.000000000 +0200 +--- src/testdir/test88.in 2015-02-17 17:17:40.903640757 +0100 +*************** +*** 71,76 **** +--- 71,87 ---- + :set lbr + :normal $ + GGk ++ :set list listchars=tab:>- ++ :normal 0 ++ GGk ++ :normal W ++ GGk ++ :normal W ++ GGk ++ :normal W ++ GGk ++ :normal $ ++ GGk + :" Display result. + :call append('$', 'end:') + :call append('$', positions) +*** ../vim-7.4.638/src/testdir/test88.ok 2013-07-13 12:18:55.000000000 +0200 +--- src/testdir/test88.ok 2015-02-17 17:17:40.903640757 +0100 +*************** +*** 22,24 **** +--- 22,29 ---- + 9:25 + 9:26 + 9:26 ++ 9:1 ++ 9:9 ++ 9:17 ++ 9:25 ++ 9:26 +*** ../vim-7.4.638/src/testdir/test_listlbr_utf8.in 2015-01-22 22:41:51.864583029 +0100 +--- src/testdir/test_listlbr_utf8.in 2015-02-17 17:17:40.903640757 +0100 +*************** +*** 56,61 **** +--- 56,96 ---- + :redraw! + :let line=ScreenChar(winwidth(0),7) + :call DoRecordScreen() ++ :let g:test ="Test 5: set linebreak list listchars and concealing part2" ++ :let c_defines=['bbeeeeee ; some text'] ++ :call append('$', c_defines) ++ :$ ++ :norm! zt ++ :set nowrap ts=2 list linebreak listchars=tab:>- cole=2 concealcursor=n ++ :syn clear ++ :syn match meaning /;\s*\zs.*/ ++ :syn match hasword /^\x\{8}/ contains=word ++ :syn match word /\<\x\{8}\>/ contains=beginword,endword contained ++ :syn match beginword /\<\x\x/ contained conceal ++ :syn match endword /\x\{6}\>/ contained ++ :hi meaning guibg=blue ++ :hi beginword guibg=green ++ :hi endword guibg=red ++ :redraw! ++ :let line=ScreenChar(winwidth(0),1) ++ :call DoRecordScreen() ++ :let g:test ="Test 6: Screenattributes for comment" ++ :$put =g:test ++ :call append('$', ' /* and some more */') ++ :exe "set ft=c ts=7 linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" ++ :syntax on ++ :hi SpecialKey term=underline ctermfg=red guifg=red ++ :let attr=[] ++ :nnoremap GG ":let attr += ['".screenattr(screenrow(),screencol())."']\n" ++ :$ ++ :norm! zt0 ++ GGlGGlGGlGGlGGlGGlGGlGGlGGlGGl ++ :call append('$', ['ScreenAttributes for test6:']) ++ :if attr[0] != attr[1] && attr[1] != attr[3] && attr[3] != attr[5] ++ : call append('$', "Attribut 0 and 1 and 3 and 5 are different!") ++ :else ++ : call append('$', "Not all attributes are different") ++ :endif + :%w! test.out + :qa! + ENDTEST +*** ../vim-7.4.638/src/testdir/test_listlbr_utf8.ok 2015-01-20 19:01:32.380444290 +0100 +--- src/testdir/test_listlbr_utf8.ok 2015-02-17 17:17:40.903640757 +0100 +*************** +*** 36,38 **** +--- 36,46 ---- + #define >_FILE>--------->--->---1 + #define >_CONSOLE>---------->---2 + #define >_FILE_AND_CONSOLE>---------3 ++ bbeeeeee ; some text ++ ++ Test 5: set linebreak list listchars and concealing part2 ++ eeeeee>--->-;>some text ++ Test 6: Screenattributes for comment ++ /* and some more */ ++ ScreenAttributes for test6: ++ Attribut 0 and 1 and 3 and 5 are different! +*** ../vim-7.4.638/src/version.c 2015-02-17 16:28:51.369508298 +0100 +--- src/version.c 2015-02-17 17:16:55.980222281 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 639, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +244. You use more than 20 passwords. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.4.640 b/7.4.640 new file mode 100644 index 0000000..0a47c7c --- /dev/null +++ b/7.4.640 @@ -0,0 +1,74 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.640 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.640 +Problem: After deleting characters in Insert mode such that lines are + joined undo does not work properly. (issue 324) +Solution: Use Insstart instead of Insstart_orig. (Christian Brabandt) +Files: src/edit.c + + +*** ../vim-7.4.639/src/edit.c 2015-01-22 22:40:16.341651464 +0100 +--- src/edit.c 2015-02-17 17:44:44.222631598 +0100 +*************** +*** 8842,8848 **** + */ + if (curwin->w_cursor.col == 0) + { +! lnum = Insstart_orig.lnum; + if (curwin->w_cursor.lnum == lnum + #ifdef FEAT_RIGHTLEFT + || revins_on +--- 8842,8848 ---- + */ + if (curwin->w_cursor.col == 0) + { +! lnum = Insstart.lnum; + if (curwin->w_cursor.lnum == lnum + #ifdef FEAT_RIGHTLEFT + || revins_on +*************** +*** 8852,8860 **** + if (u_save((linenr_T)(curwin->w_cursor.lnum - 2), + (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL) + return FALSE; +! --Insstart_orig.lnum; +! Insstart_orig.col = MAXCOL; +! Insstart = Insstart_orig; + } + /* + * In replace mode: +--- 8852,8859 ---- + if (u_save((linenr_T)(curwin->w_cursor.lnum - 2), + (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL) + return FALSE; +! --Insstart.lnum; +! Insstart.col = MAXCOL; + } + /* + * In replace mode: +*** ../vim-7.4.639/src/version.c 2015-02-17 17:26:04.565123636 +0100 +--- src/version.c 2015-02-17 17:49:06.787232425 +0100 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 640, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +245. You use Real Audio to listen to a radio station from a distant + city rather than turn on your stereo system. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/README.patches b/README.patches index 7fdbeb8..3870843 100644 --- a/README.patches +++ b/README.patches @@ -651,3 +651,14 @@ Individual patches for Vim 7.4: 6670 7.4.627 the last screen cell is not updated 1782 7.4.628 compiler warning for variable might be clobbered by longjmp 2023 7.4.629 Coverity warning for Out-of-bounds read + 2242 7.4.630 redo is wrong for insert mode completion with autocommands + 1674 7.4.631 the default conceal character is a dash instead of a space + 1620 7.4.632 (after 7.4.592) breaks the netrw plugin + 2528 7.4.633 after 7.4.630 the problem persists + 5527 7.4.634 marks are not restored after redo + undo + 2039 7.4.635 fileformat set to "mac" if a file starts with a very long line + 4780 7.4.636 a search with end offset gets stuck at end of file + 2612 7.4.637 buffer number for autocommand is wrong + 1674 7.4.638 can't build with Lua 5.3 on Windows + 6808 7.4.639 combination of linebreak and conceal doesn't work well + 2214 7.4.640 after joining lines in Insert mode undo does not work properly diff --git a/vim.spec b/vim.spec index a7ad986..ca01e5c 100644 --- a/vim.spec +++ b/vim.spec @@ -1,4 +1,4 @@ -%define patchlevel 629 +%define patchlevel 640 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} %define WITH_SELINUX 1 %endif @@ -676,6 +676,17 @@ Patch626: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.626 Patch627: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.627 Patch628: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.628 Patch629: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.629 +Patch630: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.630 +Patch631: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.631 +Patch632: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.632 +Patch633: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.633 +Patch634: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.634 +Patch635: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.635 +Patch636: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.636 +Patch637: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.637 +Patch638: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.638 +Patch639: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.639 +Patch640: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.640 Patch1559: 7.4.559.rhpatched Patch3000: vim-7.4-syntax.patch @@ -1455,6 +1466,17 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch627 -p0 %patch628 -p0 %patch629 -p0 +%patch630 -p0 +%patch631 -p0 +%patch632 -p0 +%patch633 -p0 +%patch634 -p0 +%patch635 -p0 +%patch636 -p0 +%patch637 -p0 +%patch638 -p0 +%patch639 -p0 +%patch640 -p0 # install spell files %if %{withvimspell} @@ -1972,6 +1994,13 @@ rm -rf %{buildroot} %{_datadir}/icons/hicolor/*/apps/* %changelog +* Tue Feb 25 2015 Karsten Hopp 7.4.640-1 +- patchlevel 640 + +* Sat Feb 21 2015 Till Maas - 2: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