home *** CD-ROM | disk | FTP | other *** search
- To: vim-dev@vim.org
- Subject: Patch 5.6.066
- Fcc: outbox
- From: Bram Moolenaar <Bram@moolenaar.net>
- ------------
-
- Patch 5.6.066
- Problem: Still a few bold character spill-over remains after patch 60.
- Solution: Clear character just in front of blanking out rest of the line.
- (Robert Webb)
- Files: src/screen.c
-
-
- *** ../vim-5.6.65/src/screen.c Fri Apr 7 10:12:38 2000
- --- src/screen.c Thu Apr 13 11:59:22 2000
- ***************
- *** 1927,1935 ****
- char_u *screenp_from;
- char_u *screenp_to;
- int col = 0;
- int hl;
- int force = FALSE; /* force update rest of the line */
- ! int redraw_this; /* bool: does character need redraw? */
- int redraw_next; /* redraw_this for next character */
- #ifdef MULTI_BYTE
- int char_bytes; /* 1 : if normal char */
- --- 1927,1941 ----
- char_u *screenp_from;
- char_u *screenp_to;
- int col = 0;
- + #if defined(USE_GUI) || defined(UNIX)
- int hl;
- + #endif
- int force = FALSE; /* force update rest of the line */
- ! int redraw_this /* bool: does character need redraw? */
- ! #ifdef USE_GUI
- ! = TRUE /* For GUI when while-loop empty */
- ! #endif
- ! ;
- int redraw_next; /* redraw_this for next character */
- #ifdef MULTI_BYTE
- int char_bytes; /* 1 : if normal char */
- ***************
- *** 2128,2133 ****
- --- 2134,2142 ----
- )
- {
- /* blank out the rest of the line */
- + #ifdef USE_GUI
- + int startCol = col;
- + #endif
- while (col < Columns && *screenp_to == ' '
- && *(screenp_to + Columns) == 0)
- {
- ***************
- *** 2135,2141 ****
- --- 2144,2171 ----
- ++col;
- }
- if (col < Columns)
- + {
- + #ifdef USE_GUI
- + /*
- + * In the GUI, clearing the rest of the line may leave pixels
- + * behind if the first character cleared was bold. Some bold
- + * fonts spill over the left. In this case we redraw the previous
- + * character too. If we didn't skip any blanks above, then we
- + * only redraw if the character wasn't already redrawn anyway.
- + */
- + if (gui.in_use && (col > startCol || !redraw_this)
- + # ifdef MULTI_BYTE
- + && !is_dbcs
- + # endif
- + )
- + {
- + hl = *(screenp_to + Columns);
- + if (hl > HL_ALL || (hl & HL_BOLD))
- + screen_char(screenp_to - 1, row, col - 1);
- + }
- + #endif
- screen_fill(row, row + 1, col, (int)Columns, ' ', ' ', 0);
- + }
- }
- }
-
- *** ../vim-5.6.65/src/version.c Thu Apr 13 10:39:52 2000
- --- src/version.c Thu Apr 13 11:57:24 2000
- ***************
- *** 420,421 ****
- --- 420,423 ----
- { /* Add new patch number below this line */
- + /**/
- + 66,
- /**/
-
-
- --
- hundred-and-one symptoms of being an internet addict:
- 26. You check your mail. It says "no new messages." So you check it again.
-
- /-/-- Bram Moolenaar --- Bram@moolenaar.net --- http://www.moolenaar.net --\-\
- \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/
-