To: vim_dev@googlegroups.com Subject: Patch 7.4.277 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.4.277 Problem: Using ":sign unplace *" may leave the cursor in the wrong position (Christian Brabandt) Solution: Update the cursor position when removing all signs. Files: src/buffer.c *** ../vim-7.4.276/src/buffer.c 2014-04-06 20:45:40.115357453 +0200 --- src/buffer.c 2014-05-07 16:30:13.117150289 +0200 *************** *** 5525,5530 **** --- 5525,5534 ---- return; } + /* + * For an existing, placed sign "markId" change the type to "typenr". + * Returns the line number of the sign, or zero if the sign is not found. + */ linenr_T buf_change_sign_type(buf, markId, typenr) buf_T *buf; /* buffer to store sign in */ *************** *** 5693,5698 **** --- 5697,5710 ---- { signlist_T *next; + /* When deleting the last sign need to redraw the windows to remove the + * sign column. */ + if (buf->b_signlist != NULL) + { + redraw_buf_later(buf, NOT_VALID); + changed_cline_bef_curs(); + } + while (buf->b_signlist != NULL) { next = buf->b_signlist->next; *************** *** 5711,5721 **** for (buf = firstbuf; buf != NULL; buf = buf->b_next) if (buf->b_signlist != NULL) - { - /* Need to redraw the windows to remove the sign column. */ - redraw_buf_later(buf, NOT_VALID); buf_delete_signs(buf); - } } /* --- 5723,5729 ---- *** ../vim-7.4.276/src/version.c 2014-05-07 15:10:17.661108310 +0200 --- src/version.c 2014-05-07 16:32:06.933151285 +0200 *************** *** 736,737 **** --- 736,739 ---- { /* Add new patch number below this line */ + /**/ + 277, /**/ -- An actual excerpt from a classified section of a city newspaper: "Illiterate? Write today for free help!" /// 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 ///