Hi Bram!

On Fr, 01 Feb 2013, Bram Moolenaar wrote:

> 
> Christian Brabandt wrote:
> 
> > Hi François!
> > 
> > On Fr, 01 Feb 2013, François Ingelrest wrote:
> > 
> > > On Wed, Jan 30, 2013 at 12:31 PM, Bram Moolenaar wrote:
> > > > This looks like a good solution.  I'll include it.  With Christian's
> > > > addition.
> > > 
> > > I think I found a case where the 'relativenumber' option is reset. I'm
> > > sending this report in this thread, although I don't know if it's
> > > caused by the recent changes to relativenumber:
> > > 
> > > 1. vim -u NONE -U NONE
> > > 2. :set number
> > > 3. :set relativenumber
> > > 4: :e .zshrc
> > > 5: :e .zsh_history
> > > 
> > > At step 4., relativenumber is on. At step 5., it's off. Not setting
> > > number (step 3.) before relativenumber doesn't exhibit this behavior.
> > > 
> > > This is with Vim 7.3.798, features=big, on a Debian Squeeze.
> > 
> > Here is a patch.
> 
> Thanks.  Looks a bit tricky, perhaps we should have a test for this?
> Won't be all that easy, I suppose.

No problem.

Mit freundlichen Grüßen
Christian
-- 
Bewunderung ist eine sehr kurzlebige Leidenschaft, die sofort
verfällt, sobald man mit ihrem Gegenstand näher bekannt wird.
                -- Joseph Addison

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


diff --git a/src/option.c b/src/option.c
--- a/src/option.c
+++ b/src/option.c
@@ -7631,8 +7631,7 @@
 #endif
 
     /* 'list', 'number' */
-    else if ((int *)varp == &curwin->w_p_list
-	  || (int *)varp == &curwin->w_p_nu
+    else if ((int *)varp == &curwin->w_p_nu
 	  || (int *)varp == &curwin->w_p_rnu)
     {
 	/* If 'number' is set, reset 'relativenumber'. */
@@ -7641,6 +7640,8 @@
 	    curwin->w_p_rnu = FALSE;
 	if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
 	    curwin->w_p_nu = FALSE;
+	curwin->w_allbuf_opt.wo_nu  = curwin->w_p_nu;
+	curwin->w_allbuf_opt.wo_rnu = curwin->w_p_rnu;
     }
 
     else if ((int *)varp == &curbuf->b_p_ro)
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -31,7 +31,8 @@
 		test66.out test67.out test68.out test69.out test70.out \
 		test71.out test72.out test73.out test74.out test75.out \
 		test76.out test77.out test78.out test79.out test80.out \
-		test81.out test82.out test83.out test84.out test88.out
+		test81.out test82.out test83.out test84.out test88.out \
+		test89.out
 
 .SUFFIXES: .in .out
 
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -30,7 +30,8 @@
 		test68.out test69.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out test85.out test86.out test87.out test88.out
+		test84.out test85.out test86.out test87.out test88.out \
+		test89.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -31,7 +31,8 @@
 		test66.out test67.out test68.out test69.out test70.out \
 		test71.out test72.out test73.out test74.out test75.out \
 		test76.out test77.out test78.out test79.out test80.out \
-		test81.out test82.out test83.out test84.out test88.out
+		test81.out test82.out test83.out test84.out test88.out \
+		test89.out
 
 .SUFFIXES: .in .out
 
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -76,7 +76,7 @@
 	 test66.out test67.out test68.out test69.out \
 	 test71.out test72.out test74.out test75.out test76.out \
 	 test77.out test78.out test79.out test80.out test81.out \
-	 test82.out test83.out test84.out test88.out
+	 test82.out test83.out test84.out test88.out test89.out
 
 # Known problems:
 # Test 30: a problem around mac format - unknown reason
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -27,7 +27,8 @@
 		test69.out test70.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out test85.out test86.out test87.out test88.out
+		test84.out test85.out test86.out test87.out test88.out \
+		test89.out
 
 SCRIPTS_GUI = test16.out
 
diff --git a/src/testdir/test89.in b/src/testdir/test89.in
new file mode 100644
--- /dev/null
+++ b/src/testdir/test89.in
@@ -0,0 +1,14 @@
+Some tests for setting 'number' and 'relativenumber'
+
+STARTTEST
+:set hidden nocp nu rnu
+:redir @a | set nu? rnu? | redir end
+:e! xx
+:redir @b | set nu? rnu? | redir end
+:e! #
+:$put a
+:$put b
+:w test.out
+:q!
+ENDTEST
+
diff --git a/src/testdir/test89.ok b/src/testdir/test89.ok
new file mode 100644
--- /dev/null
+++ b/src/testdir/test89.ok
@@ -0,0 +1,20 @@
+Some tests for setting 'number' and 'relativenumber'
+
+STARTTEST
+:set hidden nocp nu rnu
+:redir @a | set nu? rnu? | redir end
+:e! xx
+:redir @b | set nu? rnu? | redir end
+:e! #
+:$put a
+:$put b
+:w test.out
+:q!
+ENDTEST
+
+
+nonumber
+  relativenumber
+
+nonumber
+  relativenumber
diff --git a/src/testdir/test89.out b/src/testdir/test89.out
new file mode 100644
--- /dev/null
+++ b/src/testdir/test89.out
@@ -0,0 +1,20 @@
+Some tests for setting 'number' and 'relativenumber'
+
+STARTTEST
+:set hidden nocp nu rnu
+:redir @a | set nu? rnu? | redir end
+:e! xx
+:redir @b | set nu? rnu? | redir end
+:e! #
+:$put a
+:$put b
+:w test.out
+:q!
+ENDTEST
+
+
+nonumber
+  relativenumber
+
+nonumber
+  relativenumber

Raspunde prin e-mail lui