home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 7.3 / 7.3.1115 < prev    next >
Encoding:
Internet Message Format  |  2013-06-03  |  8.1 KB

  1. To: vim_dev@googlegroups.com
  2. Subject: Patch 7.3.1115
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 7.3.1115
  11. Problem:    Many users don't like the cursor line number when 'relativenumber'
  12.         is set.
  13. Solution:   Have four combinations with 'number' and 'relativenumber'.
  14.         (Christian Brabandt)
  15. Files:        runtime/doc/options.txt, src/option.c, src/screen.c,
  16.         src/testdir/test89.in, src/testdir/test89.ok
  17.  
  18.  
  19. *** ../vim-7.3.1114/runtime/doc/options.txt    2013-03-19 16:46:59.000000000 +0100
  20. --- runtime/doc/options.txt    2013-06-04 22:01:35.000000000 +0200
  21. ***************
  22. *** 5077,5084 ****
  23.       number.
  24.       When a long, wrapped line doesn't start with the first character, '-'
  25.       characters are put before the number.
  26. !     See |hl-LineNr| for the highlighting used for the number.
  27. !     When setting this option, 'relativenumber' is reset.
  28.   
  29.                           *'numberwidth'* *'nuw'*
  30.   'numberwidth' 'nuw'    number    (Vim default: 4  Vi default: 8)
  31. --- 5130,5149 ----
  32.       number.
  33.       When a long, wrapped line doesn't start with the first character, '-'
  34.       characters are put before the number.
  35. !     See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
  36. !     the number.
  37. !                         *number_relativenumber*
  38. !     The 'relativenumber' option changes the displayed number to be
  39. !     relative to the cursor.  Together with 'number' there are these
  40. !     four combinations (cursor in line 3):
  41. !                   'nonu'          'nu'            'nonu'          'nu'
  42. !         'nornu'         'nornu'         'rnu'           'rnu'
  43. !         |apple          |  1 apple      |  2 apple      |  2 apple
  44. !         |pear           |  2 pear       |  1 pear       |  1 pear
  45. !         |nobody         |  3 nobody     |  0 nobody     |3   nobody
  46. !         |there          |  4 there      |  1 there      |  1 there
  47.   
  48.                           *'numberwidth'* *'nuw'*
  49.   'numberwidth' 'nuw'    number    (Vim default: 4  Vi default: 8)
  50. ***************
  51. *** 5484,5491 ****
  52.       number.
  53.       When a long, wrapped line doesn't start with the first character, '-'
  54.       characters are put before the number.
  55. !     See |hl-LineNr| for the highlighting used for the number.
  56. !     When setting this option, 'number' is reset.
  57.   
  58.                           *'remap'* *'noremap'*
  59.   'remap'            boolean    (default on)
  60. --- 5556,5567 ----
  61.       number.
  62.       When a long, wrapped line doesn't start with the first character, '-'
  63.       characters are put before the number.
  64. !     See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
  65. !     the number.
  66. !     
  67. !     The number in front of the cursor line also depends on the value of
  68. !     'number', see |number_relativenumber| for all combinations of the two
  69. !     options.
  70.   
  71.                           *'remap'* *'noremap'*
  72.   'remap'            boolean    (default on)
  73. *** ../vim-7.3.1114/src/option.c    2013-05-21 22:38:14.000000000 +0200
  74. --- src/option.c    2013-06-04 21:52:13.000000000 +0200
  75. ***************
  76. *** 7647,7681 ****
  77.       }
  78.   #endif
  79.   
  80. -     /* If 'number' is set, reset 'relativenumber'. */
  81. -     /* If 'relativenumber' is set, reset 'number'. */
  82. -     else if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
  83. -     {
  84. -     curwin->w_p_rnu = FALSE;
  85. -     /* Only reset the global value if the own value is set globally. */
  86. -     if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
  87. -         curwin->w_allbuf_opt.wo_rnu = FALSE;
  88. -     }
  89. -     else if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
  90. -     {
  91. -     curwin->w_p_nu = FALSE;
  92. -     /* Only reset the global value if the own value is set globally. */
  93. -     if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
  94. -         curwin->w_allbuf_opt.wo_nu = FALSE;
  95. -     }
  96. -     else if ((int *)varp == &curwin->w_allbuf_opt.wo_nu
  97. -                         && curwin->w_allbuf_opt.wo_nu)
  98. -     {
  99. -         curwin->w_allbuf_opt.wo_rnu = FALSE;
  100. -     }
  101. -     else if ((int *)varp == &curwin->w_allbuf_opt.wo_rnu
  102. -                            && curwin->w_allbuf_opt.wo_rnu)
  103. -     {
  104. -         curwin->w_allbuf_opt.wo_nu = FALSE;
  105. -     }
  106.       else if ((int *)varp == &curbuf->b_p_ro)
  107.       {
  108.       /* when 'readonly' is reset globally, also reset readonlymode */
  109. --- 7647,7652 ----
  110. *** ../vim-7.3.1114/src/screen.c    2013-05-06 04:21:35.000000000 +0200
  111. --- src/screen.c    2013-06-04 22:04:39.000000000 +0200
  112. ***************
  113. *** 2329,2343 ****
  114.           if (len > w + 1)
  115.           len = w + 1;
  116.   
  117. !         if (wp->w_p_nu)
  118. !         /* 'number' */
  119.           num = (long)lnum;
  120.           else
  121.           {
  122.           /* 'relativenumber', don't use negative numbers */
  123.           num = labs((long)get_cursor_rel_lnum(wp, lnum));
  124. !         if (num == 0)
  125.           {
  126.               num = lnum;
  127.               fmt = "%-*ld ";
  128.           }
  129. --- 2329,2345 ----
  130.           if (len > w + 1)
  131.           len = w + 1;
  132.   
  133. !         if (wp->w_p_nu && !wp->w_p_rnu)
  134. !         /* 'number' + 'norelativenumber' */
  135.           num = (long)lnum;
  136.           else
  137.           {
  138.           /* 'relativenumber', don't use negative numbers */
  139.           num = labs((long)get_cursor_rel_lnum(wp, lnum));
  140. !         if (num == 0 && wp->w_p_nu && wp->w_p_rnu)
  141.           {
  142. +             /* 'number' + 'relativenumber': cursor line shows absolute
  143. +              * line number */
  144.               num = lnum;
  145.               fmt = "%-*ld ";
  146.           }
  147. ***************
  148. *** 3499,3513 ****
  149.               long num;
  150.               char *fmt = "%*ld ";
  151.   
  152. !             if (wp->w_p_nu)
  153. !                 /* 'number' */
  154.                   num = (long)lnum;
  155.               else
  156.               {
  157.                   /* 'relativenumber', don't use negative numbers */
  158.                   num = labs((long)get_cursor_rel_lnum(wp, lnum));
  159. !                 if (num == 0)
  160.                   {
  161.                   num = lnum;
  162.                   fmt = "%-*ld ";
  163.                   }
  164. --- 3501,3516 ----
  165.               long num;
  166.               char *fmt = "%*ld ";
  167.   
  168. !             if (wp->w_p_nu && !wp->w_p_rnu)
  169. !                 /* 'number' + 'norelativenumber' */
  170.                   num = (long)lnum;
  171.               else
  172.               {
  173.                   /* 'relativenumber', don't use negative numbers */
  174.                   num = labs((long)get_cursor_rel_lnum(wp, lnum));
  175. !                 if (num == 0 && wp->w_p_nu && wp->w_p_rnu)
  176.                   {
  177. +                 /* 'number' + 'relativenumber' */
  178.                   num = lnum;
  179.                   fmt = "%-*ld ";
  180.                   }
  181. ***************
  182. *** 10260,10266 ****
  183.       int        n;
  184.       linenr_T    lnum;
  185.   
  186. !     lnum = wp->w_buffer->b_ml.ml_line_count;
  187.   
  188.       if (lnum == wp->w_nrwidth_line_count)
  189.       return wp->w_nrwidth_width;
  190. --- 10263,10274 ----
  191.       int        n;
  192.       linenr_T    lnum;
  193.   
  194. !     if (wp->w_p_rnu && !wp->w_p_nu)
  195. !     /* cursor line shows "0" */
  196. !     lnum = wp->w_height;
  197. !     else
  198. !     /* cursor line shows absolute line number */
  199. !     lnum = wp->w_buffer->b_ml.ml_line_count;
  200.   
  201.       if (lnum == wp->w_nrwidth_line_count)
  202.       return wp->w_nrwidth_width;
  203. *** ../vim-7.3.1114/src/testdir/test89.in    2013-04-24 15:47:11.000000000 +0200
  204. --- src/testdir/test89.in    2013-06-04 21:59:01.000000000 +0200
  205. ***************
  206. *** 1,4 ****
  207. --- 1,6 ----
  208.   Some tests for setting 'number' and 'relativenumber'
  209. + This is not all that useful now that the options are no longer reset when
  210. + setting the other.
  211.   
  212.   STARTTEST
  213.   :so small.vim
  214. *** ../vim-7.3.1114/src/testdir/test89.ok    2013-03-13 20:42:28.000000000 +0100
  215. --- src/testdir/test89.ok    2013-06-04 21:58:09.000000000 +0200
  216. ***************
  217. *** 1,9 ****
  218.   results:
  219.   
  220. ! nonumber
  221.     relativenumber
  222.   
  223. ! nonumber
  224.     relativenumber
  225.   :setlocal must NOT reset the other global value
  226.   
  227. --- 1,9 ----
  228.   results:
  229.   
  230. !   number
  231.     relativenumber
  232.   
  233. !   number
  234.     relativenumber
  235.   :setlocal must NOT reset the other global value
  236.   
  237. ***************
  238. *** 12,22 ****
  239.     relativenumber
  240.   :setglobal MUST reset the other global value
  241.   
  242. ! nonumber
  243.   
  244. ! norelativenumber
  245.   :set MUST reset the other global value
  246.   
  247. ! nonumber
  248.   
  249. ! norelativenumber
  250. --- 12,22 ----
  251.     relativenumber
  252.   :setglobal MUST reset the other global value
  253.   
  254. !   number
  255.   
  256. !   relativenumber
  257.   :set MUST reset the other global value
  258.   
  259. !   number
  260.   
  261. !   relativenumber
  262. *** ../vim-7.3.1114/src/version.c    2013-06-04 21:42:19.000000000 +0200
  263. --- src/version.c    2013-06-04 22:11:05.000000000 +0200
  264. ***************
  265. *** 730,731 ****
  266. --- 730,733 ----
  267.   {   /* Add new patch number below this line */
  268. + /**/
  269. +     1115,
  270.   /**/
  271.  
  272. -- 
  273. From "know your smileys":
  274.  :----}  You lie like Pinocchio
  275.  
  276.  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
  277. ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
  278. \\\  an exciting new programming language -- http://www.Zimbu.org        ///
  279.  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
  280.