On Mi, 20 Jun 2012, v...@googlecode.com wrote:
> Status: New
> Owner: ----
> Labels: Type-Defect Priority-Medium
> 
> New issue 65 by inkar...@gmail.com: Auto-wrap inside comments with
> numbered list is broken (regression)
> http://code.google.com/p/vim/issues/detail?id=65
> 
> What steps will reproduce the problem?
> 
> vim -N -u NONE
> :setl tw=80 fo+=nc comments=:#
> :call setline(1, '# 1 ' . repeat('x', 70))
> :normal! A foobar
> 
> 
> What is the expected output?
> 
> # 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> # foobar
> 
> What do you see instead?
> 
> # 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>     # foorba
> 
> 
> What version of the product are you using? On what operating system?
> 
> This is the latest Vim on Ubuntu/x86. The problem does not occur
> with Vim 7.3.0 on Windows/x86 or Vim 7.1.138 on Ubuntu/x86.
> 
> :version
> VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 20 2012 16:55:09)
> Included patches: 1-562
> Big version with GTK2 GUI.  Features included (+) or not (-):
> 
> 
> Please provide any additional information below.
> 
> I encountered this when editing a shell script header (ft=sh), and
> whittled it down to the steps above. There must be both a comment
> leader (#) and a number following it for the bug to occur, together
> with "n" and "c" in 'formatoptions'.

The bug was introduced with patch 7.3.552. The attached patch fixes it 
(test included).

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/edit.c b/src/edit.c
--- a/src/edit.c
+++ b/src/edit.c
@@ -6311,7 +6311,7 @@
 	replace_offset = 0;
 	if (first_line)
 	{
-	    if (!(flags & INSCHAR_COM_LIST))
+	    if (!(flags & INSCHAR_COM_LIST) && !has_format_option(FO_Q_COMS))
 	    {
 		/*
 		 * This section is for numeric lists w/o comments.  If comment
diff --git a/src/testdir/test68.in b/src/testdir/test68.in
--- a/src/testdir/test68.in
+++ b/src/testdir/test68.in
@@ -83,6 +83,14 @@
 }
 
 STARTTEST
+/^#/
+:setl tw=12 fo=tqnc comments=:#
+A foobar
+ENDTEST
+
+# 1 xxxxx
+
+STARTTEST
 :g/^STARTTEST/.,/^ENDTEST/d
 :1;/^Results/,$wq! test.out
 ENDTEST
diff --git a/src/testdir/test68.ok b/src/testdir/test68.ok
--- a/src/testdir/test68.ok
+++ b/src/testdir/test68.ok
@@ -48,3 +48,7 @@
 
 { 1aa ^^2bb }
 
+
+# 1 xxxxx
+# foobar
+

Raspunde prin e-mail lui