astepano / rpms / vim

Forked from rpms/vim 6 years ago
Clone
ee4e8f4
To: vim_dev@googlegroups.com
ee4e8f4
Subject: Patch 7.3.861
ee4e8f4
Fcc: outbox
ee4e8f4
From: Bram Moolenaar <Bram@moolenaar.net>
ee4e8f4
Mime-Version: 1.0
ee4e8f4
Content-Type: text/plain; charset=UTF-8
ee4e8f4
Content-Transfer-Encoding: 8bit
ee4e8f4
------------
ee4e8f4
ee4e8f4
Patch 7.3.861
ee4e8f4
Problem:    ":setlocal number" clears global value of 'relativenumber'.
ee4e8f4
Solution:   Do it properly. (Markus Heidelberg)
ee4e8f4
Files:	    src/testdir/test89.in, src/testdir/test89.ok, src/option.c
ee4e8f4
ee4e8f4
ee4e8f4
*** ../vim-7.3.860/src/testdir/test89.in	2013-02-14 20:10:28.000000000 +0100
ee4e8f4
--- src/testdir/test89.in	2013-03-13 20:27:10.000000000 +0100
ee4e8f4
***************
ee4e8f4
*** 10,15 ****
ee4e8f4
--- 10,52 ----
ee4e8f4
  :$put ='results:'
ee4e8f4
  :$put a
ee4e8f4
  :$put b
ee4e8f4
+ :"
ee4e8f4
+ :set nonu nornu
ee4e8f4
+ :setglobal nu
ee4e8f4
+ :setlocal rnu
ee4e8f4
+ :redir @c | setglobal nu? | redir END
ee4e8f4
+ :set nonu nornu
ee4e8f4
+ :setglobal rnu
ee4e8f4
+ :setlocal nu
ee4e8f4
+ :redir @d | setglobal rnu? | redir END
ee4e8f4
+ :$put =':setlocal must NOT reset the other global value'
ee4e8f4
+ :$put c
ee4e8f4
+ :$put d
ee4e8f4
+ :"
ee4e8f4
+ :set nonu nornu
ee4e8f4
+ :setglobal nu
ee4e8f4
+ :setglobal rnu
ee4e8f4
+ :redir @e | setglobal nu? | redir END
ee4e8f4
+ :set nonu nornu
ee4e8f4
+ :setglobal rnu
ee4e8f4
+ :setglobal nu
ee4e8f4
+ :redir @f | setglobal rnu? | redir END
ee4e8f4
+ :$put =':setglobal MUST reset the other global value'
ee4e8f4
+ :$put e
ee4e8f4
+ :$put f
ee4e8f4
+ :"
ee4e8f4
+ :set nonu nornu
ee4e8f4
+ :set nu
ee4e8f4
+ :set rnu
ee4e8f4
+ :redir @g | setglobal nu? | redir END
ee4e8f4
+ :set nonu nornu
ee4e8f4
+ :set rnu
ee4e8f4
+ :set nu
ee4e8f4
+ :redir @h | setglobal rnu? | redir END
ee4e8f4
+ :$put =':set MUST reset the other global value'
ee4e8f4
+ :$put g
ee4e8f4
+ :$put h
ee4e8f4
+ :"
ee4e8f4
  :/^results/,$w! test.out
ee4e8f4
  :q!
ee4e8f4
  ENDTEST
ee4e8f4
*** ../vim-7.3.860/src/testdir/test89.ok	2013-02-13 15:44:22.000000000 +0100
ee4e8f4
--- src/testdir/test89.ok	2013-03-13 20:27:10.000000000 +0100
ee4e8f4
***************
ee4e8f4
*** 5,7 ****
ee4e8f4
--- 5,22 ----
ee4e8f4
  
ee4e8f4
  nonumber
ee4e8f4
    relativenumber
ee4e8f4
+ :setlocal must NOT reset the other global value
ee4e8f4
+ 
ee4e8f4
+   number
ee4e8f4
+ 
ee4e8f4
+   relativenumber
ee4e8f4
+ :setglobal MUST reset the other global value
ee4e8f4
+ 
ee4e8f4
+ nonumber
ee4e8f4
+ 
ee4e8f4
+ norelativenumber
ee4e8f4
+ :set MUST reset the other global value
ee4e8f4
+ 
ee4e8f4
+ nonumber
ee4e8f4
+ 
ee4e8f4
+ norelativenumber
ee4e8f4
*** ../vim-7.3.860/src/option.c	2013-03-13 19:29:24.000000000 +0100
ee4e8f4
--- src/option.c	2013-03-13 20:35:20.000000000 +0100
ee4e8f4
***************
ee4e8f4
*** 7631,7652 ****
ee4e8f4
      }
ee4e8f4
  #endif
ee4e8f4
  
ee4e8f4
!     /* 'number', 'relativenumber' */
ee4e8f4
!     else if ((int *)varp == &curwin->w_p_nu
ee4e8f4
! 	  || (int *)varp == &curwin->w_p_rnu)
ee4e8f4
      {
ee4e8f4
! 	/* If 'number' is set, reset 'relativenumber'. */
ee4e8f4
! 	/* If 'relativenumber' is set, reset 'number'. */
ee4e8f4
! 	if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
ee4e8f4
! 	{
ee4e8f4
! 	    curwin->w_p_rnu = FALSE;
ee4e8f4
  	    curwin->w_allbuf_opt.wo_rnu = FALSE;
ee4e8f4
! 	}
ee4e8f4
! 	if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
ee4e8f4
! 	{
ee4e8f4
! 	    curwin->w_p_nu = FALSE;
ee4e8f4
  	    curwin->w_allbuf_opt.wo_nu = FALSE;
ee4e8f4
! 	}
ee4e8f4
      }
ee4e8f4
  
ee4e8f4
      else if ((int *)varp == &curbuf->b_p_ro)
ee4e8f4
--- 7631,7663 ----
ee4e8f4
      }
ee4e8f4
  #endif
ee4e8f4
  
ee4e8f4
!     /* If 'number' is set, reset 'relativenumber'. */
ee4e8f4
!     /* If 'relativenumber' is set, reset 'number'. */
ee4e8f4
!     else if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
ee4e8f4
      {
ee4e8f4
! 	curwin->w_p_rnu = FALSE;
ee4e8f4
! 
ee4e8f4
! 	/* Only reset the global value if the own value is set globally. */
ee4e8f4
! 	if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
ee4e8f4
  	    curwin->w_allbuf_opt.wo_rnu = FALSE;
ee4e8f4
!     }
ee4e8f4
!     else if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
ee4e8f4
!     {
ee4e8f4
! 	curwin->w_p_nu = FALSE;
ee4e8f4
! 
ee4e8f4
! 	/* Only reset the global value if the own value is set globally. */
ee4e8f4
! 	if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
ee4e8f4
  	    curwin->w_allbuf_opt.wo_nu = FALSE;
ee4e8f4
!     }
ee4e8f4
!     else if ((int *)varp == &curwin->w_allbuf_opt.wo_nu
ee4e8f4
! 						&& curwin->w_allbuf_opt.wo_nu)
ee4e8f4
!     {
ee4e8f4
!         curwin->w_allbuf_opt.wo_rnu = FALSE;
ee4e8f4
!     }
ee4e8f4
!     else if ((int *)varp == &curwin->w_allbuf_opt.wo_rnu
ee4e8f4
! 					       && curwin->w_allbuf_opt.wo_rnu)
ee4e8f4
!     {
ee4e8f4
!         curwin->w_allbuf_opt.wo_nu = FALSE;
ee4e8f4
      }
ee4e8f4
  
ee4e8f4
      else if ((int *)varp == &curbuf->b_p_ro)
ee4e8f4
*** ../vim-7.3.860/src/version.c	2013-03-13 20:23:17.000000000 +0100
ee4e8f4
--- src/version.c	2013-03-13 20:42:09.000000000 +0100
ee4e8f4
***************
ee4e8f4
*** 730,731 ****
ee4e8f4
--- 730,733 ----
ee4e8f4
  {   /* Add new patch number below this line */
ee4e8f4
+ /**/
ee4e8f4
+     861,
ee4e8f4
  /**/
ee4e8f4
ee4e8f4
-- 
ee4e8f4
hundred-and-one symptoms of being an internet addict:
ee4e8f4
43. You tell the kids they can't use the computer because "Daddy's got work to
ee4e8f4
    do" and you don't even have a job.
ee4e8f4
ee4e8f4
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
ee4e8f4
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
ee4e8f4
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
ee4e8f4
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///