diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.141')
-rw-r--r-- | source/ap/vim/patches/7.2.141 | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/source/ap/vim/patches/7.2.141 b/source/ap/vim/patches/7.2.141 deleted file mode 100644 index 395d210d..00000000 --- a/source/ap/vim/patches/7.2.141 +++ /dev/null @@ -1,239 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.141 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.141 -Problem: When redrawing a character for bold spill this causes the next - character to be redrawn as well. -Solution: Only redraw one extra character. (Yukihiro Nakadaira) -Files: src/screen.c - - -*** ../vim-7.2.140/src/screen.c Wed Mar 11 17:44:38 2009 ---- src/screen.c Wed Mar 11 13:59:24 2009 -*************** -*** 5132,5139 **** - #endif - - #if defined(FEAT_GUI) || defined(UNIX) -! /* The bold trick makes a single row of pixels appear in the next -! * character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI - * and for some xterms. */ - if ( ---- 5132,5139 ---- - #endif - - #if defined(FEAT_GUI) || defined(UNIX) -! /* The bold trick makes a single column of pixels appear in the -! * next character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI - * and for some xterms. */ - if ( -*************** -*** 6276,6284 **** ---- 6276,6290 ---- - int pcc[MAX_MCO]; - # endif - #endif -+ #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -+ int force_redraw_this; -+ int force_redraw_next = FALSE; -+ #endif -+ int need_redraw; - - if (ScreenLines == NULL || row >= screen_Rows) /* safety check */ - return; -+ off = LineOffset[row] + col; - - #ifdef FEAT_MBYTE - /* When drawing over the right halve of a double-wide char clear out the -*************** -*** 6288,6297 **** - && !gui.in_use - # endif - && mb_fix_col(col, row) != col) -! screen_puts_len((char_u *)" ", 1, row, col - 1, 0); - #endif - -- off = LineOffset[row] + col; - #ifdef FEAT_MBYTE - max_off = LineOffset[row] + screen_Columns; - #endif ---- 6294,6314 ---- - && !gui.in_use - # endif - && mb_fix_col(col, row) != col) -! { -! ScreenLines[off - 1] = ' '; -! ScreenAttrs[off - 1] = 0; -! if (enc_utf8) -! { -! ScreenLinesUC[off - 1] = 0; -! ScreenLinesC[0][off - 1] = 0; -! } -! /* redraw the previous cell, make it empty */ -! screen_char(off - 1, row, col - 1); -! /* force the cell at "col" to be redrawn */ -! force_redraw_next = TRUE; -! } - #endif - - #ifdef FEAT_MBYTE - max_off = LineOffset[row] + screen_Columns; - #endif -*************** -*** 6355,6361 **** - } - #endif - -! if (ScreenLines[off] != c - #ifdef FEAT_MBYTE - || (mbyte_cells == 2 - && ScreenLines[off + 1] != (enc_dbcs ? ptr[1] : 0)) ---- 6372,6383 ---- - } - #endif - -! #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -! force_redraw_this = force_redraw_next; -! force_redraw_next = FALSE; -! #endif -! -! need_redraw = ScreenLines[off] != c - #ifdef FEAT_MBYTE - || (mbyte_cells == 2 - && ScreenLines[off + 1] != (enc_dbcs ? ptr[1] : 0)) -*************** -*** 6367,6386 **** - || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr -! || exmode_active - ) - { - #if defined(FEAT_GUI) || defined(UNIX) - /* The bold trick makes a single row of pixels appear in the next - * character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI -! * and for some xterms. -! * Force the redraw by setting the attribute to a different value -! * than "attr", the contents of ScreenLines[] may be needed by -! * mb_off2cells() further on. -! * Don't do this for the last drawn character, because the next -! * character may not be redrawn. */ -! if ( - # ifdef FEAT_GUI - gui.in_use - # endif ---- 6389,6408 ---- - || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr -! || exmode_active; -! -! if (need_redraw -! #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -! || force_redraw_this -! #endif - ) - { - #if defined(FEAT_GUI) || defined(UNIX) - /* The bold trick makes a single row of pixels appear in the next - * character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI -! * and for some xterms. */ -! if (need_redraw && ScreenLines[off] != ' ' && ( - # ifdef FEAT_GUI - gui.in_use - # endif -*************** -*** 6390,6412 **** - # ifdef UNIX - term_is_xterm - # endif -! ) - { -! int n; - -! n = ScreenAttrs[off]; -! # ifdef FEAT_MBYTE -! if (col + mbyte_cells < screen_Columns -! && (n > HL_ALL || (n & HL_BOLD)) -! && (len < 0 ? ptr[mbyte_blen] != NUL -! : ptr + mbyte_blen < text + len)) -! ScreenAttrs[off + mbyte_cells] = attr + 1; -! # else -! if (col + 1 < screen_Columns -! && (n > HL_ALL || (n & HL_BOLD)) -! && (len < 0 ? ptr[1] != NUL : ptr + 1 < text + len)) -! ScreenLines[off + 1] = 0; -! # endif - } - #endif - #ifdef FEAT_MBYTE ---- 6412,6425 ---- - # ifdef UNIX - term_is_xterm - # endif -! )) - { -! int n = ScreenAttrs[off]; - -! if (n > HL_ALL) -! n = syn_attr2attr(n); -! if (n & HL_BOLD) -! force_redraw_next = TRUE; - } - #endif - #ifdef FEAT_MBYTE -*************** -*** 6493,6498 **** ---- 6506,6525 ---- - ++ptr; - } - } -+ -+ #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -+ /* If we detected the next character needs to be redrawn, but the text -+ * doesn't extend up to there, update the character here. */ -+ if (force_redraw_next && col < screen_Columns) -+ { -+ # ifdef FEAT_MBYTE -+ if (enc_dbcs != 0 && dbcs_off2cells(off, max_off) > 1) -+ screen_char_2(off, row, col); -+ else -+ # endif -+ screen_char(off, row, col); -+ } -+ #endif - } - - #ifdef FEAT_SEARCH_EXTRA -*** ../vim-7.2.140/src/version.c Wed Mar 11 17:44:38 2009 ---- src/version.c Wed Mar 11 17:55:22 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 141, - /**/ - --- -Some of the well know MS-Windows errors: - ETIME Wrong time, wait a little while - ECRASH Try again... - EDETECT Unable to detect errors - EOVER You lost! Play another game? - ENOCLUE Eh, what did you want? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |