summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.472
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.472')
-rw-r--r--source/ap/vim/patches/7.3.47288
1 files changed, 88 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.472 b/source/ap/vim/patches/7.3.472
new file mode 100644
index 00000000..217b2fc9
--- /dev/null
+++ b/source/ap/vim/patches/7.3.472
@@ -0,0 +1,88 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.472
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.472
+Problem: Crash when using ":redraw" in a BufEnter autocommand and
+ switching to another tab. (驼峰)
+Solution: Move triggering the the autocommands to after correcting the
+ option values. Also check the row value to be out of bounds.
+ (Christian Brabandt, Sergey Khorev)
+Files: src/screen.c, src/window.c
+
+
+*** ../vim-7.3.471/src/screen.c 2012-02-04 23:34:57.000000000 +0100
+--- src/screen.c 2012-03-16 18:59:20.000000000 +0100
+***************
+*** 5371,5376 ****
+--- 5371,5382 ----
+ # define CHAR_CELLS 1
+ #endif
+
++ /* Check for illegal row and col, just in case. */
++ if (row >= Rows)
++ row = Rows - 1;
++ if (endcol > Columns)
++ endcol = Columns;
++
+ # ifdef FEAT_CLIPBOARD
+ clip_may_clear_selection(row, row);
+ # endif
+*** ../vim-7.3.471/src/window.c 2012-02-22 14:58:24.000000000 +0100
+--- src/window.c 2012-03-16 18:43:01.000000000 +0100
+***************
+*** 3676,3688 ****
+ win_enter_ext(tp->tp_curwin, FALSE, TRUE);
+ prevwin = next_prevwin;
+
+- #ifdef FEAT_AUTOCMD
+- apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
+-
+- if (old_curbuf != curbuf)
+- apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
+- #endif
+-
+ last_status(FALSE); /* status line may appear or disappear */
+ (void)win_comp_pos(); /* recompute w_winrow for all windows */
+ must_redraw = CLEAR; /* need to redraw everything */
+--- 3676,3681 ----
+***************
+*** 3712,3717 ****
+--- 3705,3718 ----
+ gui_may_update_scrollbars();
+ #endif
+
++ #ifdef FEAT_AUTOCMD
++ /* Apply autocommands after updating the display, when 'rows' and
++ * 'columns' have been set correctly. */
++ apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
++ if (old_curbuf != curbuf)
++ apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
++ #endif
++
+ redraw_all_later(CLEAR);
+ }
+
+*** ../vim-7.3.471/src/version.c 2012-03-16 14:32:10.000000000 +0100
+--- src/version.c 2012-03-16 19:02:53.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 472,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+200. You really believe in the concept of a "paperless" office.
+
+ /// 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 ///