To: vim_dev@googlegroups.com Subject: Patch 7.3.472 Fcc: outbox From: Bram Moolenaar 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 ///