To: vim_dev@googlegroups.com
Subject: Patch 7.4.277
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
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 ///