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