]> git.pld-linux.org Git - packages/vim.git/blob - 7.3.472
- up to 7.3.600
[packages/vim.git] / 7.3.472
1 To: vim_dev@googlegroups.com
2 Subject: Patch 7.3.472
3 Fcc: outbox
4 From: Bram Moolenaar <Bram@moolenaar.net>
5 Mime-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8 ------------
9
10 Patch 7.3.472
11 Problem:    Crash when using ":redraw" in a BufEnter autocommand and
12             switching to another tab. (驼峰)
13 Solution:   Move triggering the the autocommands to after correcting the
14             option values. Also check the row value to be out of bounds.
15             (Christian Brabandt, Sergey Khorev)
16 Files:      src/screen.c, src/window.c
17
18
19 *** ../vim-7.3.471/src/screen.c 2012-02-04 23:34:57.000000000 +0100
20 --- src/screen.c        2012-03-16 18:59:20.000000000 +0100
21 ***************
22 *** 5371,5376 ****
23 --- 5371,5382 ----
24   # define CHAR_CELLS 1
25   #endif
26   
27 +     /* Check for illegal row and col, just in case. */
28 +     if (row >= Rows)
29 +       row = Rows - 1;
30 +     if (endcol > Columns)
31 +       endcol = Columns;
32
33   # ifdef FEAT_CLIPBOARD
34       clip_may_clear_selection(row, row);
35   # endif
36 *** ../vim-7.3.471/src/window.c 2012-02-22 14:58:24.000000000 +0100
37 --- src/window.c        2012-03-16 18:43:01.000000000 +0100
38 ***************
39 *** 3676,3688 ****
40       win_enter_ext(tp->tp_curwin, FALSE, TRUE);
41       prevwin = next_prevwin;
42   
43 - #ifdef FEAT_AUTOCMD
44 -     apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
45
46 -     if (old_curbuf != curbuf)
47 -       apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
48 - #endif
49
50       last_status(FALSE);               /* status line may appear or disappear */
51       (void)win_comp_pos();     /* recompute w_winrow for all windows */
52       must_redraw = CLEAR;      /* need to redraw everything */
53 --- 3676,3681 ----
54 ***************
55 *** 3712,3717 ****
56 --- 3705,3718 ----
57       gui_may_update_scrollbars();
58   #endif
59   
60 + #ifdef FEAT_AUTOCMD
61 +     /* Apply autocommands after updating the display, when 'rows' and
62 +      * 'columns' have been set correctly. */
63 +     apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);
64 +     if (old_curbuf != curbuf)
65 +       apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
66 + #endif
67
68       redraw_all_later(CLEAR);
69   }
70   
71 *** ../vim-7.3.471/src/version.c        2012-03-16 14:32:10.000000000 +0100
72 --- src/version.c       2012-03-16 19:02:53.000000000 +0100
73 ***************
74 *** 716,717 ****
75 --- 716,719 ----
76   {   /* Add new patch number below this line */
77 + /**/
78 +     472,
79   /**/
80
81 -- 
82 hundred-and-one symptoms of being an internet addict:
83 200. You really believe in the concept of a "paperless" office.
84
85  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
86 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
87 \\\  an exciting new programming language -- http://www.Zimbu.org        ///
88  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.02614 seconds and 3 git commands to generate.