To: vim_dev@googlegroups.com Subject: Patch 8.1.0750 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- 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 ///