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.

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

--- 
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,9 @@
 	    curwin->w_p_rnu = FALSE;
 	if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
 	    curwin->w_p_nu = FALSE;
+	/* also reset the options for the all buffers in this window */
+	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)

Raspunde prin e-mail lui