Patch 8.1.0750
Problem:    When the last sign is deleted the signcolumn may not be removed
            even though 'signcolumn' is "auto".
Solution:   When deleting the last sign redraw the buffer. (Dominique Pelle,
            closes #3803, closes #3804)
Files:      src/sign.c


*** ../vim-8.1.0749/src/sign.c  2019-01-13 23:38:33.411773162 +0100
--- src/sign.c  2019-01-14 23:05:24.500076657 +0100
***************
*** 374,381 ****
  
  /*
   * Return the type number of the sign at line number 'lnum' in buffer 'buf'
!  * which has the attribute specifed by 'type'. Returns 0 if a sign is not 
found
!  * at the line number or it doesn't have the specified attribute.
   */
      int
  buf_getsigntype(
--- 374,381 ----
  
  /*
   * Return the type number of the sign at line number 'lnum' in buffer 'buf'
!  * which has the attribute specified by 'type'. Returns 0 if a sign is not
!  * found at the line number or it doesn't have the specified attribute.
   */
      int
  buf_getsigntype(
***************
*** 442,448 ****
            redraw_buf_line_later(buf, lnum);
  
            // Check whether only one sign needs to be deleted
!           // If deleting a sign with a specific identifer in a particular
            // group or deleting any sign at a particular line number, delete
            // only one sign.
            if (group == NULL
--- 442,448 ----
            redraw_buf_line_later(buf, lnum);
  
            // Check whether only one sign needs to be deleted
!           // If deleting a sign with a specific identifier in a particular
            // group or deleting any sign at a particular line number, delete
            // only one sign.
            if (group == NULL
***************
*** 455,463 ****
      }
  
      // When deleting the last sign the cursor position may change, because the
!     // sign columns no longer shows.
      if (buf->b_signlist == NULL)
        changed_cline_bef_curs();
  
      return lnum;
  }
--- 455,466 ----
      }
  
      // When deleting the last sign the cursor position may change, because the
!     // sign columns no longer shows.  And the 'signcolumn' may be hidden.
      if (buf->b_signlist == NULL)
+     {
+       redraw_buf_later(buf, NOT_VALID);
        changed_cline_bef_curs();
+     }
  
      return lnum;
  }
***************
*** 894,900 ****
  }
  
  /*
!  * Place a sign at the specifed file location or update a sign.
   */
      int
  sign_place(
--- 897,903 ----
  }
  
  /*
!  * Place a sign at the specified file location or update a sign.
   */
      int
  sign_place(
*** ../vim-8.1.0749/src/version.c       2019-01-14 22:53:26.750381258 +0100
--- src/version.c       2019-01-14 23:06:45.783328804 +0100
***************
*** 797,798 ****
--- 797,800 ----
  {   /* Add new patch number below this line */
+ /**/
+     750,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
208. Your goals for the future are obtaining an T1 connection and
     a 130 gig hard drive.

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui