]> git.pld-linux.org Git - packages/vim.git/commitdiff
vim official patch. vim-5_7-11
authorkloczek <kloczek@pld-linux.org>
Tue, 13 Feb 2001 14:21:15 +0000 (14:21 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    5.7.024 -> 1.1

5.7.024 [new file with mode: 0644]

diff --git a/5.7.024 b/5.7.024
new file mode 100644 (file)
index 0000000..8497508
--- /dev/null
+++ b/5.7.024
@@ -0,0 +1,573 @@
+To: vim-dev@vim.org
+Subject: Patch 5.7.024
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+------------
+
+Patch 5.7.024
+Problem:    Evaluating an expression for 'statusline' can have side effects.
+Solution:   Evaluate the expression in a sandbox.
+Files:     src/edit.c, src/eval.c, src/proto/eval.pro, src/ex_cmds.c,
+           src/ex_cmds.h, src/ex_docmd.c, src/globals.h, src/option.c,
+           src/screen.c, src/undo.c
+
+
+*** ../vim-5.7.23/src/edit.c   Sat Jun 17 21:32:18 2000
+--- src/edit.c Mon Jan 29 20:32:55 2001
+***************
+*** 222,227 ****
+--- 222,236 ----
+       * error message */
+      check_for_delay(TRUE);
+  
++ #ifdef HAVE_SANDBOX
++     /* Don't allow inserting in the sandbox. */
++     if (sandbox != 0)
++     {
++      EMSG(e_sandbox);
++      return FALSE;
++     }
++ #endif
++ 
+  #ifdef INSERT_EXPAND
+      ins_compl_clear();           /* clear stuff for ctrl-x mode */
+  #endif
+*** ../vim-5.7.23/src/eval.c   Thu Nov 16 17:06:52 2000
+--- src/eval.c Mon Jan 29 20:10:22 2001
+***************
+*** 320,325 ****
+--- 324,350 ----
+  
+      return retval;
+  }
++ 
++ # if defined(STATUSLINE) || defined(PROTO)
++ /*
++  * Call eval_to_string() with "sandbox" set and not using local variables.
++  */
++     char_u *
++ eval_to_string_safe(arg, nextcmd)
++     char_u   *arg;
++     char_u   **nextcmd;
++ {
++     char_u   *retval;
++     void     *save_funccalp;
++ 
++     save_funccalp = save_funccal();
++     ++sandbox;
++     retval = eval_to_string(arg, nextcmd);
++     --sandbox;
++     restore_funccal(save_funccalp);
++     return retval;
++ }
++ # endif
+  
+  /*
+   * ":let var = expr" assignment command.
+*** ../vim-5.7.23/src/proto/eval.pro   Sat Jun 24 11:18:33 2000
+--- src/proto/eval.pro Mon Jan 29 20:31:34 2001
+***************
+*** 2,7 ****
+--- 2,8 ----
+  void set_internal_string_var __ARGS((char_u *name, char_u *value));
+  int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip));
+  char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd));
++ char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd));
+  void do_let __ARGS((EXARG *eap));
+  void set_context_for_expression __ARGS((char_u *arg, CMDIDX cmdidx));
+  void do_call __ARGS((EXARG *eap));
+*** ../vim-5.7.23/src/ex_cmds.c        Tue Nov 28 22:53:54 2000
+--- src/ex_cmds.c      Mon Jan 29 20:32:11 2001
+***************
+*** 2961,2966 ****
+--- 2961,2977 ----
+       emsg(e_curdir);
+       return TRUE;
+      }
++ #ifdef HAVE_SANDBOX
++     /*
++      * In the sandbox more things are not allowed, including the things
++      * disallowed in secure mode.
++      */
++     if (sandbox != 0)
++     {
++      EMSG(e_sandbox);
++      return TRUE;
++     }
++ #endif
+      return FALSE;
+  }
+  
+*** ../vim-5.7.23/src/ex_cmds.h        Mon Jun 14 18:24:51 1999
+--- src/ex_cmds.h      Mon Jan 29 20:27:12 2001
+***************
+*** 54,59 ****
+--- 54,60 ----
+  #define NOTADR        0x4000         /* number before command is not an address */
+  #define EDITCMD       0x8000         /* has "+command" argument */
+  #define BUFNAME 0x10000              /* accepts buffer name */
++ #define SBOXOK       0x40000         /* allowed in the sandbox */
+  #define FILES        (XFILE | EXTRA) /* multiple extra files allowed */
+  #define WORD1        (EXTRA | NOSPC) /* one extra word allowed */
+  #define FILE1        (FILES | NOSPC) /* 1 file allowed, defaults to current file */
+***************
+*** 101,107 ****
+      EXCMD(CMD_bnext, "bnext",        BANG|RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_bprevious,"bprevious", BANG|RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_brewind,       "brewind",      BANG|RANGE|TRLBAR),
+!     EXCMD(CMD_break, "break",        TRLBAR),
+      EXCMD(CMD_browse,        "browse",       NEEDARG|EXTRA|NOTRLCOM),
+      EXCMD(CMD_buffers,       "buffers",      TRLBAR),
+      EXCMD(CMD_bunload,       "bunload",      BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
+--- 102,108 ----
+      EXCMD(CMD_bnext, "bnext",        BANG|RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_bprevious,"bprevious", BANG|RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_brewind,       "brewind",      BANG|RANGE|TRLBAR),
+!     EXCMD(CMD_break, "break",        TRLBAR|SBOXOK),
+      EXCMD(CMD_browse,        "browse",       NEEDARG|EXTRA|NOTRLCOM),
+      EXCMD(CMD_buffers,       "buffers",      TRLBAR),
+      EXCMD(CMD_bunload,       "bunload",      BANG|RANGE|NOTADR|BUFNAME|COUNT|EXTRA|TRLBAR),
+***************
+*** 109,115 ****
+      EXCMD(CMD_cNext, "cNext",        RANGE|NOTADR|COUNT|TRLBAR|BANG),
+      EXCMD(CMD_cabbrev,       "cabbrev",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_cabclear, "cabclear",  TRLBAR),
+!     EXCMD(CMD_call,  "call",         RANGE|NEEDARG|EXTRA|NOTRLCOM),
+      EXCMD(CMD_cc,    "cc",           RANGE|NOTADR|COUNT|TRLBAR|BANG),
+      EXCMD(CMD_cd,    "cd",           NAMEDF|TRLBAR),
+      EXCMD(CMD_center,        "center",       TRLBAR|RANGE|EXTRA),
+--- 110,116 ----
+      EXCMD(CMD_cNext, "cNext",        RANGE|NOTADR|COUNT|TRLBAR|BANG),
+      EXCMD(CMD_cabbrev,       "cabbrev",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_cabclear, "cabclear",  TRLBAR),
+!     EXCMD(CMD_call,  "call",         RANGE|NEEDARG|EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_cc,    "cc",           RANGE|NOTADR|COUNT|TRLBAR|BANG),
+      EXCMD(CMD_cd,    "cd",           NAMEDF|TRLBAR),
+      EXCMD(CMD_center,        "center",       TRLBAR|RANGE|EXTRA),
+***************
+*** 132,138 ****
+      EXCMD(CMD_colder,        "colder",       RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_command,       "command",      EXTRA|BANG|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_comclear,      "comclear",     TRLBAR),
+!     EXCMD(CMD_continue, "continue",  TRLBAR),
+      EXCMD(CMD_confirm,  "confirm",   NEEDARG|EXTRA|NOTRLCOM),
+      EXCMD(CMD_cprevious,"cprevious", RANGE|NOTADR|COUNT|TRLBAR|BANG),
+      EXCMD(CMD_cquit, "cquit",        TRLBAR|BANG),
+--- 133,139 ----
+      EXCMD(CMD_colder,        "colder",       RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_command,       "command",      EXTRA|BANG|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_comclear,      "comclear",     TRLBAR),
+!     EXCMD(CMD_continue, "continue",  TRLBAR|SBOXOK),
+      EXCMD(CMD_confirm,  "confirm",   NEEDARG|EXTRA|NOTRLCOM),
+      EXCMD(CMD_cprevious,"cprevious", RANGE|NOTADR|COUNT|TRLBAR|BANG),
+      EXCMD(CMD_cquit, "cquit",        TRLBAR|BANG),
+***************
+*** 154,170 ****
+      EXCMD(CMD_dsearch,       "dsearch",      BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_dsplit,        "dsplit",       BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_edit,  "edit",         BANG|FILE1|EDITCMD|TRLBAR),
+!     EXCMD(CMD_echo,  "echo",         EXTRA|NOTRLCOM),
+!     EXCMD(CMD_echohl,        "echohl",       EXTRA|TRLBAR),
+!     EXCMD(CMD_echon, "echon",        EXTRA|NOTRLCOM),
+!     EXCMD(CMD_else,  "else",         TRLBAR),
+!     EXCMD(CMD_elseif,        "elseif",       EXTRA|NOTRLCOM),
+      EXCMD(CMD_exemenu,       "emenu",        NEEDARG+EXTRA+TRLBAR+NOTRLCOM),
+!     EXCMD(CMD_endif, "endif",        TRLBAR),
+      EXCMD(CMD_endfunction,"endfunction",TRLBAR),
+!     EXCMD(CMD_endwhile,      "endwhile",     TRLBAR),
+      EXCMD(CMD_ex,    "ex",           BANG|FILE1|EDITCMD|TRLBAR),
+!     EXCMD(CMD_execute,       "execute",      EXTRA|NOTRLCOM),
+      EXCMD(CMD_exit,  "exit",         RANGE|BANG|FILE1|DFLALL|TRLBAR),
+      EXCMD(CMD_file,  "file",         BANG|FILE1|TRLBAR),
+      EXCMD(CMD_files, "files",        TRLBAR),
+--- 155,171 ----
+      EXCMD(CMD_dsearch,       "dsearch",      BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_dsplit,        "dsplit",       BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_edit,  "edit",         BANG|FILE1|EDITCMD|TRLBAR),
+!     EXCMD(CMD_echo,  "echo",         EXTRA|NOTRLCOM|SBOXOK),
+!     EXCMD(CMD_echohl,        "echohl",       EXTRA|TRLBAR|SBOXOK),
+!     EXCMD(CMD_echon, "echon",        EXTRA|NOTRLCOM|SBOXOK),
+!     EXCMD(CMD_else,  "else",         TRLBAR|SBOXOK),
+!     EXCMD(CMD_elseif,        "elseif",       EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_exemenu,       "emenu",        NEEDARG+EXTRA+TRLBAR+NOTRLCOM),
+!     EXCMD(CMD_endif, "endif",        TRLBAR|SBOXOK),
+      EXCMD(CMD_endfunction,"endfunction",TRLBAR),
+!     EXCMD(CMD_endwhile,      "endwhile",     TRLBAR|SBOXOK),
+      EXCMD(CMD_ex,    "ex",           BANG|FILE1|EDITCMD|TRLBAR),
+!     EXCMD(CMD_execute,       "execute",      EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_exit,  "exit",         RANGE|BANG|FILE1|DFLALL|TRLBAR),
+      EXCMD(CMD_file,  "file",         BANG|FILE1|TRLBAR),
+      EXCMD(CMD_files, "files",        TRLBAR),
+***************
+*** 173,191 ****
+      EXCMD(CMD_fixdel,        "fixdel",       TRLBAR),
+      EXCMD(CMD_function,      "function",     EXTRA|BANG),
+      EXCMD(CMD_global,        "global",       RANGE|BANG|EXTRA|DFLALL),
+!     EXCMD(CMD_goto,  "goto",         RANGE|NOTADR|COUNT|TRLBAR),
+      EXCMD(CMD_grep,  "grep",         NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+      EXCMD(CMD_gui,   "gui",          BANG|NAMEDFS|EDITCMD|TRLBAR),
+      EXCMD(CMD_gvim,  "gvim",         BANG|NAMEDFS|EDITCMD|TRLBAR),
+      EXCMD(CMD_help,  "help",         EXTRA|NOTRLCOM),
+      EXCMD(CMD_helpfind,      "helpfind",     EXTRA|NOTRLCOM),
+!     EXCMD(CMD_highlight,"highlight", BANG|EXTRA|TRLBAR),
+      EXCMD(CMD_hide,  "hide",         BANG|TRLBAR),
+      EXCMD(CMD_history,       "history",      EXTRA|TRLBAR),
+      EXCMD(CMD_insert,        "insert",       BANG|RANGE|TRLBAR),
+      EXCMD(CMD_iabbrev,       "iabbrev",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_iabclear, "iabclear",  TRLBAR),
+!     EXCMD(CMD_if,    "if",           EXTRA|NOTRLCOM),
+      EXCMD(CMD_ijump, "ijump",        BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_ilist, "ilist",        BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_imap,  "imap",         EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+--- 174,192 ----
+      EXCMD(CMD_fixdel,        "fixdel",       TRLBAR),
+      EXCMD(CMD_function,      "function",     EXTRA|BANG),
+      EXCMD(CMD_global,        "global",       RANGE|BANG|EXTRA|DFLALL),
+!     EXCMD(CMD_goto,  "goto",         RANGE|NOTADR|COUNT|TRLBAR|SBOXOK),
+      EXCMD(CMD_grep,  "grep",         NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE),
+      EXCMD(CMD_gui,   "gui",          BANG|NAMEDFS|EDITCMD|TRLBAR),
+      EXCMD(CMD_gvim,  "gvim",         BANG|NAMEDFS|EDITCMD|TRLBAR),
+      EXCMD(CMD_help,  "help",         EXTRA|NOTRLCOM),
+      EXCMD(CMD_helpfind,      "helpfind",     EXTRA|NOTRLCOM),
+!     EXCMD(CMD_highlight,"highlight", BANG|EXTRA|TRLBAR|SBOXOK),
+      EXCMD(CMD_hide,  "hide",         BANG|TRLBAR),
+      EXCMD(CMD_history,       "history",      EXTRA|TRLBAR),
+      EXCMD(CMD_insert,        "insert",       BANG|RANGE|TRLBAR),
+      EXCMD(CMD_iabbrev,       "iabbrev",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_iabclear, "iabclear",  TRLBAR),
+!     EXCMD(CMD_if,    "if",           EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_ijump, "ijump",        BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_ilist, "ilist",        BANG|RANGE|DFLALL|EXTRA),
+      EXCMD(CMD_imap,  "imap",         EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+***************
+*** 202,215 ****
+      EXCMD(CMD_iunmenu,       "iunmenu",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_join,  "join",         BANG|RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_jumps, "jumps",        TRLBAR),
+!     EXCMD(CMD_k,     "k",            RANGE|WORD1|TRLBAR),
+      EXCMD(CMD_list,  "list",         RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_last,  "last",         EXTRA|BANG|EDITCMD|TRLBAR),
+      EXCMD(CMD_left,  "left",         TRLBAR|RANGE|EXTRA),
+!     EXCMD(CMD_let,   "let",          EXTRA|NOTRLCOM),
+      EXCMD(CMD_ls,    "ls",           TRLBAR),
+      EXCMD(CMD_move,  "move",         RANGE|EXTRA|TRLBAR),
+!     EXCMD(CMD_mark,  "mark",         RANGE|WORD1|TRLBAR),
+      EXCMD(CMD_make,  "make",         EXTRA|NOTRLCOM|TRLBAR|XFILE),
+      EXCMD(CMD_map,   "map",          BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_mapclear,      "mapclear",     BANG|TRLBAR),
+--- 203,216 ----
+      EXCMD(CMD_iunmenu,       "iunmenu",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_join,  "join",         BANG|RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_jumps, "jumps",        TRLBAR),
+!     EXCMD(CMD_k,     "k",            RANGE|WORD1|TRLBAR|SBOXOK),
+      EXCMD(CMD_list,  "list",         RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_last,  "last",         EXTRA|BANG|EDITCMD|TRLBAR),
+      EXCMD(CMD_left,  "left",         TRLBAR|RANGE|EXTRA),
+!     EXCMD(CMD_let,   "let",          EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_ls,    "ls",           TRLBAR),
+      EXCMD(CMD_move,  "move",         RANGE|EXTRA|TRLBAR),
+!     EXCMD(CMD_mark,  "mark",         RANGE|WORD1|TRLBAR|SBOXOK),
+      EXCMD(CMD_make,  "make",         EXTRA|NOTRLCOM|TRLBAR|XFILE),
+      EXCMD(CMD_map,   "map",          BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_mapclear,      "mapclear",     BANG|TRLBAR),
+***************
+*** 229,238 ****
+      EXCMD(CMD_nnoremap, "nnoremap",  EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_nnoremenu,"nnoremenu", RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_noremap,       "noremap",      BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+!     EXCMD(CMD_nohlsearch,"nohlsearch",       TRLBAR),
+      EXCMD(CMD_noreabbrev,"noreabbrev",       EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_noremenu, "noremenu",  RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+!     EXCMD(CMD_normal,        "normal",       RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_number,        "number",       RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_nunmap,        "nunmap",       EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_nunmenu,       "nunmenu",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+--- 230,239 ----
+      EXCMD(CMD_nnoremap, "nnoremap",  EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_nnoremenu,"nnoremenu", RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_noremap,       "noremap",      BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+!     EXCMD(CMD_nohlsearch,"nohlsearch",       TRLBAR|SBOXOK),
+      EXCMD(CMD_noreabbrev,"noreabbrev",       EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_noremenu, "noremenu",  RANGE|NOTADR|ZEROR|BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+!     EXCMD(CMD_normal,        "normal",       RANGE|BANG|EXTRA|NEEDARG|NOTRLCOM|USECTRLV|SBOXOK),
+      EXCMD(CMD_number,        "number",       RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_nunmap,        "nunmap",       EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_nunmenu,       "nunmenu",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+***************
+*** 248,255 ****
+      EXCMD(CMD_ounmenu,       "ounmenu",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_print, "print",        RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_pclose,        "pclose",       BANG|TRLBAR),
+!     EXCMD(CMD_perl,  "perl",         RANGE|EXTRA|DFLALL|NEEDARG),
+!     EXCMD(CMD_perldo,        "perldo",       RANGE|EXTRA|DFLALL|NEEDARG),
+      EXCMD(CMD_pop,   "pop",          RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
+      EXCMD(CMD_ppop,  "ppop",         RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
+      EXCMD(CMD_preserve, "preserve",  TRLBAR),
+--- 249,256 ----
+      EXCMD(CMD_ounmenu,       "ounmenu",      EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_print, "print",        RANGE|COUNT|TRLBAR),
+      EXCMD(CMD_pclose,        "pclose",       BANG|TRLBAR),
+!     EXCMD(CMD_perl,  "perl",         RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK),
+!     EXCMD(CMD_perldo,        "perldo",       RANGE|EXTRA|DFLALL|NEEDARG|SBOXOK),
+      EXCMD(CMD_pop,   "pop",          RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
+      EXCMD(CMD_ppop,  "ppop",         RANGE|NOTADR|BANG|COUNT|TRLBAR|ZEROR),
+      EXCMD(CMD_preserve, "preserve",  TRLBAR),
+***************
+*** 266,273 ****
+      EXCMD(CMD_ptselect,      "ptselect",     BANG|TRLBAR|WORD1),
+      EXCMD(CMD_put,   "put",          RANGE|BANG|REGSTR|TRLBAR|ZEROR),
+      EXCMD(CMD_pwd,   "pwd",          TRLBAR),
+!     EXCMD(CMD_python,        "python",       RANGE|EXTRA|NEEDARG),
+!     EXCMD(CMD_pyfile,        "pyfile",       RANGE|FILE1|NEEDARG),
+      EXCMD(CMD_quit,  "quit",         BANG|TRLBAR),
+      EXCMD(CMD_qall,  "qall",         BANG|TRLBAR),
+      EXCMD(CMD_read,  "read",         BANG|RANGE|NAMEDF|TRLBAR|ZEROR),
+--- 267,274 ----
+      EXCMD(CMD_ptselect,      "ptselect",     BANG|TRLBAR|WORD1),
+      EXCMD(CMD_put,   "put",          RANGE|BANG|REGSTR|TRLBAR|ZEROR),
+      EXCMD(CMD_pwd,   "pwd",          TRLBAR),
+!     EXCMD(CMD_python,        "python",       RANGE|EXTRA|NEEDARG|SBOXOK),
+!     EXCMD(CMD_pyfile,        "pyfile",       RANGE|FILE1|NEEDARG|SBOXOK),
+      EXCMD(CMD_quit,  "quit",         BANG|TRLBAR),
+      EXCMD(CMD_qall,  "qall",         BANG|TRLBAR),
+      EXCMD(CMD_read,  "read",         BANG|RANGE|NAMEDF|TRLBAR|ZEROR),
+***************
+*** 277,283 ****
+      EXCMD(CMD_registers,"registers", EXTRA|NOTRLCOM|TRLBAR),
+      EXCMD(CMD_resize,        "resize",       TRLBAR|WORD1),
+      EXCMD(CMD_retab, "retab",        TRLBAR|RANGE|DFLALL|BANG|WORD1),
+!     EXCMD(CMD_return,        "return",       EXTRA|NOTRLCOM),
+      EXCMD(CMD_rewind,        "rewind",       EXTRA|BANG|EDITCMD|TRLBAR),
+      EXCMD(CMD_right, "right",        TRLBAR|RANGE|EXTRA),
+      EXCMD(CMD_rviminfo, "rviminfo",  BANG|FILE1|TRLBAR),
+--- 278,284 ----
+      EXCMD(CMD_registers,"registers", EXTRA|NOTRLCOM|TRLBAR),
+      EXCMD(CMD_resize,        "resize",       TRLBAR|WORD1),
+      EXCMD(CMD_retab, "retab",        TRLBAR|RANGE|DFLALL|BANG|WORD1),
+!     EXCMD(CMD_return,        "return",       EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_rewind,        "rewind",       EXTRA|BANG|EDITCMD|TRLBAR),
+      EXCMD(CMD_right, "right",        TRLBAR|RANGE|EXTRA),
+      EXCMD(CMD_rviminfo, "rviminfo",  BANG|FILE1|TRLBAR),
+***************
+*** 305,311 ****
+      EXCMD(CMD_snext, "snext",        RANGE|NOTADR|BANG|NAMEDFS|EDITCMD|TRLBAR),
+      EXCMD(CMD_sniff, "sniff",        EXTRA|TRLBAR),
+      EXCMD(CMD_snomagic,      "snomagic",     RANGE|EXTRA),
+!     EXCMD(CMD_source,        "source",       BANG|NAMEDF|TRLBAR),
+      EXCMD(CMD_split, "split",        BANG|FILE1|RANGE|NOTADR|EDITCMD|TRLBAR),
+      EXCMD(CMD_sprevious,"sprevious", EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|TRLBAR),
+      EXCMD(CMD_srewind,       "srewind",      EXTRA|BANG|EDITCMD|TRLBAR),
+--- 306,312 ----
+      EXCMD(CMD_snext, "snext",        RANGE|NOTADR|BANG|NAMEDFS|EDITCMD|TRLBAR),
+      EXCMD(CMD_sniff, "sniff",        EXTRA|TRLBAR),
+      EXCMD(CMD_snomagic,      "snomagic",     RANGE|EXTRA),
+!     EXCMD(CMD_source,        "source",       BANG|NAMEDF|TRLBAR|SBOXOK),
+      EXCMD(CMD_split, "split",        BANG|FILE1|RANGE|NOTADR|EDITCMD|TRLBAR),
+      EXCMD(CMD_sprevious,"sprevious", EXTRA|RANGE|NOTADR|COUNT|BANG|EDITCMD|TRLBAR),
+      EXCMD(CMD_srewind,       "srewind",      EXTRA|BANG|EDITCMD|TRLBAR),
+***************
+*** 324,332 ****
+      EXCMD(CMD_tNext, "tNext",        RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+      EXCMD(CMD_tag,   "tag",          RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
+      EXCMD(CMD_tags,  "tags",         TRLBAR),
+!     EXCMD(CMD_tcl,   "tcl",          RANGE|EXTRA|NEEDARG),
+!     EXCMD(CMD_tcldo, "tcldo",        RANGE|DFLALL|EXTRA|NEEDARG),
+!     EXCMD(CMD_tclfile,       "tclfile",      RANGE|FILE1|NEEDARG),
+      EXCMD(CMD_tearoff,       "tearoff",      NEEDARG|EXTRA|TRLBAR|NOTRLCOM),
+      EXCMD(CMD_tjump, "tjump",        BANG|TRLBAR|WORD1),
+      EXCMD(CMD_tlast, "tlast",        BANG|TRLBAR),
+--- 325,333 ----
+      EXCMD(CMD_tNext, "tNext",        RANGE|NOTADR|BANG|TRLBAR|ZEROR),
+      EXCMD(CMD_tag,   "tag",          RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
+      EXCMD(CMD_tags,  "tags",         TRLBAR),
+!     EXCMD(CMD_tcl,   "tcl",          RANGE|EXTRA|NEEDARG|SBOXOK),
+!     EXCMD(CMD_tcldo, "tcldo",        RANGE|DFLALL|EXTRA|NEEDARG|SBOXOK),
+!     EXCMD(CMD_tclfile,       "tclfile",      RANGE|FILE1|NEEDARG|SBOXOK),
+      EXCMD(CMD_tearoff,       "tearoff",      NEEDARG|EXTRA|TRLBAR|NOTRLCOM),
+      EXCMD(CMD_tjump, "tjump",        BANG|TRLBAR|WORD1),
+      EXCMD(CMD_tlast, "tlast",        BANG|TRLBAR),
+***************
+*** 339,345 ****
+      EXCMD(CMD_undo,  "undo",         TRLBAR),
+      EXCMD(CMD_unabbreviate,"unabbreviate",EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_unhide,        "unhide",       RANGE|NOTADR|COUNT|TRLBAR),
+!     EXCMD(CMD_unlet, "unlet",        BANG|EXTRA|NEEDARG|TRLBAR),
+      EXCMD(CMD_unmap, "unmap",        BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_unmenu,        "unmenu",       BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_update,        "update",       RANGE|BANG|FILE1|DFLALL|TRLBAR),
+--- 340,346 ----
+      EXCMD(CMD_undo,  "undo",         TRLBAR),
+      EXCMD(CMD_unabbreviate,"unabbreviate",EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_unhide,        "unhide",       RANGE|NOTADR|COUNT|TRLBAR),
+!     EXCMD(CMD_unlet, "unlet",        BANG|EXTRA|NEEDARG|TRLBAR|SBOXOK),
+      EXCMD(CMD_unmap, "unmap",        BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_unmenu,        "unmenu",       BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV),
+      EXCMD(CMD_update,        "update",       RANGE|BANG|FILE1|DFLALL|TRLBAR),
+***************
+*** 357,363 ****
+      EXCMD(CMD_write, "write",        RANGE|BANG|FILE1|DFLALL|TRLBAR),
+      EXCMD(CMD_wNext, "wNext",        RANGE|NOTADR|BANG|FILE1|TRLBAR),
+      EXCMD(CMD_wall,  "wall",         BANG|TRLBAR),
+!     EXCMD(CMD_while, "while",        EXTRA|NOTRLCOM),
+      EXCMD(CMD_winsize,       "winsize",      EXTRA|NEEDARG|TRLBAR),
+      EXCMD(CMD_winpos,        "winpos",       EXTRA|TRLBAR),
+      EXCMD(CMD_wnext, "wnext",        RANGE|NOTADR|BANG|FILE1|TRLBAR),
+--- 358,364 ----
+      EXCMD(CMD_write, "write",        RANGE|BANG|FILE1|DFLALL|TRLBAR),
+      EXCMD(CMD_wNext, "wNext",        RANGE|NOTADR|BANG|FILE1|TRLBAR),
+      EXCMD(CMD_wall,  "wall",         BANG|TRLBAR),
+!     EXCMD(CMD_while, "while",        EXTRA|NOTRLCOM|SBOXOK),
+      EXCMD(CMD_winsize,       "winsize",      EXTRA|NEEDARG|TRLBAR),
+      EXCMD(CMD_winpos,        "winpos",       EXTRA|TRLBAR),
+      EXCMD(CMD_wnext, "wnext",        RANGE|NOTADR|BANG|FILE1|TRLBAR),
+*** ../vim-5.7.23/src/ex_docmd.c       Sun Oct 22 16:43:53 2000
+--- src/ex_docmd.c     Mon Jan 29 20:32:24 2001
+***************
+*** 1027,1032 ****
+--- 1027,1041 ----
+  #endif
+       ea.argt = cmdnames[(int)ea.cmdidx].cmd_argt;
+  
++ #ifdef HAVE_SANDBOX
++     if (sandbox != 0 && !(ea.argt & SBOXOK))
++     {
++      /* Command not allowed in sandbox. */
++      errormsg = e_sandbox;
++      goto doend;
++     }
++ #endif
++ 
+      if (!(ea.argt & RANGE) && ea.addr_count) /* no range allowed */
+      {
+       errormsg = e_norange;
+*** ../vim-5.7.23/src/globals.h        Tue Jun 20 21:28:04 2000
+--- src/globals.h      Mon Jan 29 20:32:44 2001
+***************
+*** 319,324 ****
+--- 319,332 ----
+                                * allowed, e.g. when sourcing .exrc or .vimrc
+                                * in current directory */
+  
++ #if defined(STATUSLINE) && defined(WANT_EVAL)
++ # define HAVE_SANDBOX
++ EXTERN int   sandbox INIT(= 0);
++                              /* non-zero when evaluating an expression in a
++                               * "sandbox".  Not allowed to change the
++                               * buffer. */
++ #endif
++ 
+  EXTERN int   silent_mode INIT(= FALSE);
+                               /* set to TRUE when "-s" commandline argument
+                                * used for ex */
+***************
+*** 779,784 ****
+--- 787,795 ----
+  #endif
+  #ifdef QUICKFIX
+  EXTERN char_u e_readerrf[]   INIT(="Error while reading errorfile");
++ #endif
++ #ifdef HAVE_SANDBOX
++ EXTERN char_u e_sandbox[]    INIT(="Not allowed in sandbox");
+  #endif
+  EXTERN char_u e_scroll[]     INIT(="Invalid scroll size");
+  EXTERN char_u e_tagformat[]  INIT(="Format error in tags file \"%s\"");
+*** ../vim-5.7.23/src/option.c Wed Jun  7 12:56:08 2000
+--- src/option.c       Mon Jan 29 20:17:58 2001
+***************
+*** 3855,3861 ****
+       * in secure mode, setting of the secure option is not
+       * allowed
+       */
+!     if (secure && (int *)varp == &p_secure)
+       return (char_u *)"not allowed here";
+  
+  #ifdef USE_GUI
+--- 3855,3865 ----
+       * in secure mode, setting of the secure option is not
+       * allowed
+       */
+!     if ((secure
+! #ifdef HAVE_SANDBOX
+!              || sandbox != 0
+! #endif
+!              ) && (int *)varp == &p_secure)
+       return (char_u *)"not allowed here";
+  
+  #ifdef USE_GUI
+*** ../vim-5.7.23/src/screen.c Mon Jan  8 11:50:35 2001
+--- src/screen.c       Mon Jan 29 19:56:10 2001
+***************
+*** 2876,2882 ****
+           curwin = wp;
+           curbuf = wp->w_buffer;
+  
+!          str = eval_to_string(p, &t);
+           if (str != NULL && *str != 0)
+           {
+               t = str;
+--- 2876,2882 ----
+           curwin = wp;
+           curbuf = wp->w_buffer;
+  
+!          str = eval_to_string_safe(p, &t);
+           if (str != NULL && *str != 0)
+           {
+               t = str;
+*** ../vim-5.7.23/src/undo.c   Sun Oct 31 16:18:20 1999
+--- src/undo.c Mon Jan 29 20:34:03 2001
+***************
+*** 155,160 ****
+--- 155,172 ----
+      struct u_entry  *uep;
+      long         size;
+  
++ #ifdef HAVE_SANDBOX
++     /*
++      * In the sandbox it's not allowed to change the text.  Letting the
++      * undo fail is a crude way to make all change commands fail.
++      */
++     if (sandbox != 0)
++     {
++      EMSG(e_sandbox);
++      return FAIL;
++     }
++ #endif
++ 
+      /*
+       * if curbuf->b_u_synced == TRUE make a new header
+       */
+***************
+*** 314,319 ****
+--- 326,340 ----
+  u_doit(count)
+      int count;
+  {
++ #ifdef HAVE_SANDBOX
++     /* In the sandbox it's not allowed to change the text. */
++     if (sandbox != 0)
++     {
++      EMSG(e_sandbox);
++      return;
++     }
++ #endif
++ 
+      u_newcount = 0;
+      u_oldcount = 0;
+      while (count--)
+*** ../vim-5.7.23/src/version.c        Thu Jan 18 14:01:55 2001
+--- src/version.c      Mon Jan 29 20:50:45 2001
+***************
+*** 439,440 ****
+--- 439,442 ----
+  {   /* Add new patch number below this line */
++ /**/
++     24,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+70. ISDN lines are added to your house on a hourly basis
+
+ ///  Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net  \\\
+(((   Creator of Vim - http://www.vim.org -- ftp://ftp.vim.org/pub/vim   )))
+ \\\  Help me helping AIDS orphans in Uganda - http://iccf-holland.org  ///
This page took 0.045687 seconds and 4 git commands to generate.