# HG changeset patch # User vimboss # Date 1178039103 0 # Node ID 53fd0a213cff86b7185c5391cef34c1265f8b8f5 # Parent b77f790d53f6b57604b1ad5113da4ab08b4ca918 updated for version 7.0-237 diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0. Last change: 2006 May 04 +*options.txt* For Vim version 7.0. Last change: 2007 May 01 VIM REFERENCE MANUAL by Bram Moolenaar @@ -528,7 +528,12 @@ This sets the 'dir' option to "c:\tmp". ':' 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). +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,7 +4525,8 @@ A jump table for the options with a shor languages, no matter what you set 'mkspellmem' to. *'modeline'* *'ml'* *'nomodeline'* *'noml'* -'modeline' 'ml' boolean (Vim default: on, Vi default: off) +'modeline' 'ml' boolean (Vim default: on (off for root), + Vi default: off) local to buffer *'modelines'* *'mls'* 'modelines' 'mls' number (default 5) diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -3429,6 +3429,11 @@ set_option_default(opt_idx, opt_flags, c /* 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) = diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 237, +/**/ 236, /**/ 235,