Patch 7.0.237
Problem:    For root it is recommended to not use 'modeline', but in
            not-compatible mode the default is on.
Solution:   Let 'modeline' default to off for root.
Files:      runtime/doc/options.txt, src/option.c


*** ../vim-7.0.236/runtime/doc/options.txt      Tue Oct 10 18:43:50 2006
--- runtime/doc/options.txt     Tue May  1 13:29:08 2007
***************
*** 1,4 ****
! *options.txt* For Vim version 7.0.  Last change: 2006 May 04
  
  
                  VIM REFERENCE MANUAL    by Bram Moolenaar
--- 1,4 ----
! *options.txt* For Vim version 7.0.  Last change: 2007 May 01
  
  
                  VIM REFERENCE MANUAL    by Bram Moolenaar
***************
*** 528,534 ****
  ':' is removed.  Thus to include "\:" you have to specify "\\:".
  
  No other commands than "set" are supported, for security reasons (somebody
! might create a Trojan horse text file with modelines).
  
  Hint: If you would like to do something else than setting an option, you could
  define an autocommand that checks the file for a specific string.  For
--- 528,539 ----
  ':' is removed.  Thus to include "\:" you have to specify "\\:".
  
  No other commands than "set" are supported, for security reasons (somebody
! might create a Trojan horse text file with modelines).  And not all options
! can be set.  For some options a flag is set, so that when it's used the
! |sandbox| is effective.  Still, there is always a small risc that a modeline
! causes trouble.  E.g., when some joker sets 'textwidth' to 5 all your lines
! are wrapped unexpectedly.  So disable modelines before editing untrusted text.
! The mail ftplugin does this, for example.
  
  Hint: If you would like to do something else than setting an option, you could
  define an autocommand that checks the file for a specific string.  For
***************
*** 4520,4526 ****
        languages, no matter what you set 'mkspellmem' to.
  
                                   *'modeline'* *'ml'* *'nomodeline'* *'noml'*
! 'modeline' 'ml'               boolean (Vim default: on, Vi default: off)
                        local to buffer
                                                *'modelines'* *'mls'*
  'modelines' 'mls'     number  (default 5)
--- 4557,4564 ----
        languages, no matter what you set 'mkspellmem' to.
  
                                   *'modeline'* *'ml'* *'nomodeline'* *'noml'*
! 'modeline' 'ml'               boolean (Vim default: on (off for root),
!                                Vi default: off)
                        local to buffer
                                                *'modelines'* *'mls'*
  'modelines' 'mls'     number  (default 5)
*** ../vim-7.0.236/src/option.c Tue May  1 13:39:14 2007
--- src/option.c        Tue May  1 13:26:10 2007
***************
*** 3429,3434 ****
--- 3429,3439 ----
            /* the cast to long is required for Manx C, long_i is needed for
             * MSVC */
            *(int *)varp = (int)(long)(long_i)options[opt_idx].def_val[dvi];
+ #ifdef UNIX
+           /* 'modeline' defaults to off for root */
+           if (options[opt_idx].indir == PV_ML && getuid() == ROOT_UID)
+               *(int *)varp = FALSE;
+ #endif
            /* May also set global value for local option. */
            if (both)
                *(int *)get_varp_scope(&(options[opt_idx]), OPT_GLOBAL) =
*** ../vim-7.0.236/src/version.c        Tue May  1 13:39:14 2007
--- src/version.c       Tue May  1 19:03:09 2007
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     237,
  /**/

-- 
The users that I support would double-click on a landmine to find out
what happens.                           -- A system administrator

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Reply via email to