Hi Bram,
when listing the sign definition or placements, you can't abort using 
the usual q/<ESC>/<Ctrl-C> keys.

Attached patch fixes it, by checking the got_int signal. Please check 
and include.

regards,
Christian

-- 
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
diff --git a/src/buffer.c b/src/buffer.c
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5557,7 +5557,7 @@
 	buf = firstbuf;
     else
 	buf = rbuf;
-    while (buf != NULL)
+    while (buf != NULL && !got_int)
     {
 	if (buf->b_signlist != NULL)
 	{
@@ -5565,7 +5565,7 @@
 	    MSG_PUTS_ATTR(lbuf, hl_attr(HLF_D));
 	    msg_putchar('\n');
 	}
-	for (p = buf->b_signlist; p != NULL; p = p->next)
+	for (p = buf->b_signlist; p != NULL && !got_int; p = p->next)
 	{
 	    vim_snprintf(lbuf, BUFSIZ, _("    line=%ld  id=%d  name=%s"),
 			   (long)p->lnum, p->id, sign_typenr2name(p->typenr));
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -7108,40 +7108,43 @@
 {
     char_u	*p;
 
-    smsg((char_u *)"sign %s", sp->sn_name);
-    if (sp->sn_icon != NULL)
-    {
-	MSG_PUTS(" icon=");
-	msg_outtrans(sp->sn_icon);
+    if (!got_int)
+    {
+	smsg((char_u *)"sign %s", sp->sn_name);
+	if (sp->sn_icon != NULL)
+	{
+	    MSG_PUTS(" icon=");
+	    msg_outtrans(sp->sn_icon);
 #ifdef FEAT_SIGN_ICONS
-	if (sp->sn_image == NULL)
-	    MSG_PUTS(_(" (NOT FOUND)"));
+	    if (sp->sn_image == NULL)
+		MSG_PUTS(_(" (NOT FOUND)"));
 #else
-	MSG_PUTS(_(" (not supported)"));
-#endif
-    }
-    if (sp->sn_text != NULL)
-    {
-	MSG_PUTS(" text=");
-	msg_outtrans(sp->sn_text);
-    }
-    if (sp->sn_line_hl > 0)
-    {
-	MSG_PUTS(" linehl=");
-	p = get_highlight_name(NULL, sp->sn_line_hl - 1);
-	if (p == NULL)
-	    MSG_PUTS("NONE");
-	else
-	    msg_puts(p);
-    }
-    if (sp->sn_text_hl > 0)
-    {
-	MSG_PUTS(" texthl=");
-	p = get_highlight_name(NULL, sp->sn_text_hl - 1);
-	if (p == NULL)
-	    MSG_PUTS("NONE");
-	else
-	    msg_puts(p);
+	    MSG_PUTS(_(" (not supported)"));
+#endif
+	}
+	if (sp->sn_text != NULL)
+	{
+	    MSG_PUTS(" text=");
+	    msg_outtrans(sp->sn_text);
+	}
+	if (sp->sn_line_hl > 0)
+	{
+	    MSG_PUTS(" linehl=");
+	    p = get_highlight_name(NULL, sp->sn_line_hl - 1);
+	    if (p == NULL)
+		MSG_PUTS("NONE");
+	    else
+		msg_puts(p);
+	}
+	if (sp->sn_text_hl > 0)
+	{
+	    MSG_PUTS(" texthl=");
+	    p = get_highlight_name(NULL, sp->sn_text_hl - 1);
+	    if (p == NULL)
+		MSG_PUTS("NONE");
+	    else
+		msg_puts(p);
+	}
     }
 }
 

Raspunde prin e-mail lui