To: [email protected]
Subject: Patch 6.3a.022
Fcc: outbox
From: Bram Moolenaar <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 6.3a.022
Problem:    When typing Tabs when 'softtabstop' is used and 'list' is set a
           tab is counted for two spaces.
Solution:   Use the "L" flag in 'cpoptions' to tell whether a tab is counted
           as two spaces or as 'tabstop'. (Antony Scriven)
Files:      runtime/doc/options.txt, src/edit.c


*** ../vim-6.3a.021/runtime/doc/options.txt     Fri May  7 10:59:27 2004
--- runtime/doc/options.txt     Fri May 14 12:34:45 2004
***************
*** 1,4 ****
! *options.txt* For Vim version 6.3a.  Last change: 2004 Apr 29


                 VIM REFERENCE MANUAL    by Bram Moolenaar
--- 1,4 ----
! *options.txt* For Vim version 6.3a.  Last change: 2004 May 14


                 VIM REFERENCE MANUAL    by Bram Moolenaar
***************
*** 1663,1671 ****
                          'l' excluded: "/[ \t]"  finds <Space> and <Tab>
                                                               *cpo-L*
               L       When the 'list' option is set, 'wrapmargin',
!                       'textwidth' and Virtual Replace mode (see |gR|) count
!                       a <Tab> as two characters, instead of the normal
!                       behavior of a <Tab>.
                                                               *cpo-m*
               m       When included, a showmatch will always wait half a
                       second.  When not included, a showmatch will wait half
--- 1663,1671 ----
                          'l' excluded: "/[ \t]"  finds <Space> and <Tab>
                                                               *cpo-L*
               L       When the 'list' option is set, 'wrapmargin',
!                       'textwidth', 'softtabstop' and Virtual Replace mode
!                       (see |gR|) count a <Tab> as two characters, instead of
!                       the normal behavior of a <Tab>.
                                                               *cpo-m*
               m       When included, a showmatch will always wait half a
                       second.  When not included, a showmatch will wait half
***************
*** 5430,5435 ****
--- 5430,5437 ----
       'softtabstop' is set to 0 when the 'paste' option is set.
       See also |ins-expandtab|.  When 'expandtab' is not set, the number of
       spaces is minimized by using <Tab>s.
+       The 'L' flag in 'cpoptions' changes how tabs are used when 'list' is
+       set.
       NOTE: This option is set to 0 when 'compatible' is set.

                       *'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
*** ../vim-6.3a.021/src/edit.c  Fri May  7 10:59:40 2004
--- src/edit.c  Fri May 14 12:27:56 2004
***************
*** 7181,7186 ****
--- 7181,7187 ----
       pos_T           *cursor;
       colnr_T         want_vcol, vcol;
       int             change_col = -1;
+       int             save_list = curwin->w_p_list;

       /*
        * Get the current line.  For VREPLACE mode, don't make real changes
***************
*** 7203,7208 ****
--- 7204,7213 ----
           cursor = &curwin->w_cursor;
       }

+       /* When 'L' is not in 'cpoptions' a tab always takes up 'ts' spaces. */
+       if (vim_strchr(p_cpo, CPO_LISTWM) == NULL)
+           curwin->w_p_list = FALSE;
+
       /* Find first white before the cursor */
       fpos = curwin->w_cursor;
       while (fpos.col > 0 && vim_iswhite(ptr[-1]))
***************
*** 7305,7310 ****
--- 7310,7316 ----
       if (State & VREPLACE_FLAG)
           vim_free(saved_line);
 #endif
+       curwin->w_p_list = save_list;
     }

     return FALSE;
*** ../vim-6.3a.021/src/version.c       Fri May 14 12:46:36 2004
--- src/version.c       Fri May 14 12:48:27 2004
***************
*** 643,644 ****
--- 643,646 ----
 {   /* Add new patch number below this line */
+ /**/
+     22,
 /**/

--
Not too long ago, unzipping in public was illegal...

/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
\\\  Buy at Amazon and help AIDS victims -- http://ICCF.nl/click1.html ///