home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / old / 5.6.066 < prev    next >
Encoding:
Internet Message Format  |  2000-04-12  |  2.9 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 5.6.066
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. ------------
  6.  
  7. Patch 5.6.066
  8. Problem:    Still a few bold character spill-over remains after patch 60.
  9. Solution:   Clear character just in front of blanking out rest of the line.
  10.         (Robert Webb)
  11. Files:        src/screen.c
  12.  
  13.  
  14. *** ../vim-5.6.65/src/screen.c    Fri Apr  7 10:12:38 2000
  15. --- src/screen.c    Thu Apr 13 11:59:22 2000
  16. ***************
  17. *** 1927,1935 ****
  18.       char_u        *screenp_from;
  19.       char_u        *screenp_to;
  20.       int            col = 0;
  21.       int            hl;
  22.       int            force = FALSE;    /* force update rest of the line */
  23. !     int            redraw_this;    /* bool: does character need redraw? */
  24.       int            redraw_next;    /* redraw_this for next character */
  25.   #ifdef MULTI_BYTE
  26.       int            char_bytes;        /* 1 : if normal char */
  27. --- 1927,1941 ----
  28.       char_u        *screenp_from;
  29.       char_u        *screenp_to;
  30.       int            col = 0;
  31. + #if defined(USE_GUI) || defined(UNIX)
  32.       int            hl;
  33. + #endif
  34.       int            force = FALSE;    /* force update rest of the line */
  35. !     int            redraw_this        /* bool: does character need redraw? */
  36. ! #ifdef USE_GUI
  37. !                 = TRUE    /* For GUI when while-loop empty */
  38. ! #endif
  39. !                 ;
  40.       int            redraw_next;    /* redraw_this for next character */
  41.   #ifdef MULTI_BYTE
  42.       int            char_bytes;        /* 1 : if normal char */
  43. ***************
  44. *** 2128,2133 ****
  45. --- 2134,2142 ----
  46.                      )
  47.       {
  48.       /* blank out the rest of the line */
  49. + #ifdef USE_GUI
  50. +     int startCol = col;
  51. + #endif
  52.       while (col < Columns && *screenp_to == ' '
  53.                             && *(screenp_to + Columns) == 0)
  54.       {
  55. ***************
  56. *** 2135,2141 ****
  57. --- 2144,2171 ----
  58.           ++col;
  59.       }
  60.       if (col < Columns)
  61. +     {
  62. + #ifdef USE_GUI
  63. +         /*
  64. +          * In the GUI, clearing the rest of the line may leave pixels
  65. +          * behind if the first character cleared was bold.  Some bold
  66. +          * fonts spill over the left.  In this case we redraw the previous
  67. +          * character too.  If we didn't skip any blanks above, then we
  68. +          * only redraw if the character wasn't already redrawn anyway.
  69. +          */
  70. +         if (gui.in_use && (col > startCol || !redraw_this)
  71. + # ifdef MULTI_BYTE
  72. +             && !is_dbcs
  73. + # endif
  74. +            )
  75. +         {
  76. +         hl = *(screenp_to + Columns);
  77. +         if (hl > HL_ALL || (hl & HL_BOLD))
  78. +             screen_char(screenp_to - 1, row, col - 1);
  79. +         }
  80. + #endif
  81.           screen_fill(row, row + 1, col, (int)Columns, ' ', ' ', 0);
  82. +     }
  83.       }
  84.   }
  85.   
  86. *** ../vim-5.6.65/src/version.c    Thu Apr 13 10:39:52 2000
  87. --- src/version.c    Thu Apr 13 11:57:24 2000
  88. ***************
  89. *** 420,421 ****
  90. --- 420,423 ----
  91.   {   /* Add new patch number below this line */
  92. + /**/
  93. +     66,
  94.   /**/
  95.  
  96.  
  97. -- 
  98. hundred-and-one symptoms of being an internet addict:
  99. 26. You check your mail. It says "no new messages." So you check it again.
  100.  
  101. /-/-- Bram Moolenaar --- Bram@moolenaar.net --- http://www.moolenaar.net --\-\
  102. \-\-- Vim: http://www.vim.org ---- ICCF Holland: http://www.vim.org/iccf --/-/
  103.