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 ///