[vim] - patchlevel 1004
Karsten Hopp
karsten at fedoraproject.org
Wed May 22 13:06:36 UTC 2013
commit 6a194d5dcfbaf626c5d6f61b52340b568168565f
Author: Karsten Hopp <karsten at redhat.com>
Date: Wed May 22 15:06:15 2013 +0200
- patchlevel 1004
7.3.1004 | 364 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 364 insertions(+), 0 deletions(-)
---
diff --git a/7.3.1004 b/7.3.1004
new file mode 100644
index 0000000..2498fe1
--- /dev/null
+++ b/7.3.1004
@@ -0,0 +1,364 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.1004
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.1004
+Problem: No error when option could not be set.
+Solution: Report an error. (ZyX)
+Files: src/if_py_both.h, src/option.c, src/proto/option.pro,
+ src/testdir/test86.ok, src/testdir/test87.ok
+
+
+*** ../vim-7.3.1003/src/if_py_both.h 2013-05-21 22:23:50.000000000 +0200
+--- src/if_py_both.h 2013-05-21 22:34:04.000000000 +0200
+***************
+*** 1521,1526 ****
+--- 1521,1545 ----
+ }
+
+ static int
++ set_option_value_err(key, numval, stringval, opt_flags)
++ char_u *key;
++ int numval;
++ char_u *stringval;
++ int opt_flags;
++ {
++ char_u *errmsg;
++
++ if ((errmsg = set_option_value(key, numval, stringval, opt_flags)))
++ {
++ if (VimTryEnd())
++ return FAIL;
++ PyErr_SetVim((char *)errmsg);
++ return FAIL;
++ }
++ return OK;
++ }
++
++ static int
+ set_option_value_for(key, numval, stringval, opt_flags, opt_type, from)
+ char_u *key;
+ int numval;
+***************
+*** 1532,1537 ****
+--- 1551,1557 ----
+ win_T *save_curwin = NULL;
+ tabpage_T *save_curtab = NULL;
+ buf_T *save_curbuf = NULL;
++ int r = 0;
+
+ VimTryStart();
+ switch (opt_type)
+***************
+*** 1545,1560 ****
+ PyErr_SetVim("Problem while switching windows.");
+ return -1;
+ }
+! set_option_value(key, numval, stringval, opt_flags);
+ restore_win(save_curwin, save_curtab);
+ break;
+ case SREQ_BUF:
+ switch_buffer(&save_curbuf, (buf_T *)from);
+! set_option_value(key, numval, stringval, opt_flags);
+ restore_buffer(save_curbuf);
+ break;
+ case SREQ_GLOBAL:
+! set_option_value(key, numval, stringval, opt_flags);
+ break;
+ }
+ return VimTryEnd();
+--- 1565,1586 ----
+ PyErr_SetVim("Problem while switching windows.");
+ return -1;
+ }
+! r = set_option_value_err(key, numval, stringval, opt_flags);
+ restore_win(save_curwin, save_curtab);
++ if (r == FAIL)
++ return -1;
+ break;
+ case SREQ_BUF:
+ switch_buffer(&save_curbuf, (buf_T *)from);
+! r = set_option_value_err(key, numval, stringval, opt_flags);
+ restore_buffer(save_curbuf);
++ if (r == FAIL)
++ return -1;
+ break;
+ case SREQ_GLOBAL:
+! r = set_option_value_err(key, numval, stringval, opt_flags);
+! if (r == FAIL)
+! return -1;
+ break;
+ }
+ return VimTryEnd();
+***************
+*** 1611,1616 ****
+--- 1637,1643 ----
+ if (flags & SOPT_BOOL)
+ {
+ int istrue = PyObject_IsTrue(valObject);
++
+ if (istrue == -1)
+ return -1;
+ r = set_option_value_for(key, istrue, NULL,
+*** ../vim-7.3.1003/src/option.c 2013-05-19 19:16:25.000000000 +0200
+--- src/option.c 2013-05-21 22:34:41.000000000 +0200
+***************
+*** 3018,3024 ****
+ # define insecure_flag(opt_idx, opt_flags) (&options[opt_idx].flags)
+ #endif
+ static void set_string_option_global __ARGS((int opt_idx, char_u **varp));
+! static void set_string_option __ARGS((int opt_idx, char_u *value, int opt_flags));
+ static char_u *did_set_string_option __ARGS((int opt_idx, char_u **varp, int new_value_alloced, char_u *oldval, char_u *errbuf, int opt_flags));
+ static char_u *set_chars_option __ARGS((char_u **varp));
+ #ifdef FEAT_SYN_HL
+--- 3018,3024 ----
+ # define insecure_flag(opt_idx, opt_flags) (&options[opt_idx].flags)
+ #endif
+ static void set_string_option_global __ARGS((int opt_idx, char_u **varp));
+! static char_u *set_string_option __ARGS((int opt_idx, char_u *value, int opt_flags));
+ static char_u *did_set_string_option __ARGS((int opt_idx, char_u **varp, int new_value_alloced, char_u *oldval, char_u *errbuf, int opt_flags));
+ static char_u *set_chars_option __ARGS((char_u **varp));
+ #ifdef FEAT_SYN_HL
+***************
+*** 5600,5607 ****
+
+ /*
+ * Set a string option to a new value, and handle the effects.
+ */
+! static void
+ set_string_option(opt_idx, value, opt_flags)
+ int opt_idx;
+ char_u *value;
+--- 5600,5609 ----
+
+ /*
+ * Set a string option to a new value, and handle the effects.
++ *
++ * Returns NULL on success or error message on error.
+ */
+! static char_u *
+ set_string_option(opt_idx, value, opt_flags)
+ int opt_idx;
+ char_u *value;
+***************
+*** 5610,5618 ****
+ char_u *s;
+ char_u **varp;
+ char_u *oldval;
+
+ if (options[opt_idx].var == NULL) /* don't set hidden option */
+! return;
+
+ s = vim_strsave(value);
+ if (s != NULL)
+--- 5612,5621 ----
+ char_u *s;
+ char_u **varp;
+ char_u *oldval;
++ char_u *r = NULL;
+
+ if (options[opt_idx].var == NULL) /* don't set hidden option */
+! return NULL;
+
+ s = vim_strsave(value);
+ if (s != NULL)
+***************
+*** 5624,5633 ****
+ : opt_flags);
+ oldval = *varp;
+ *varp = s;
+! if (did_set_string_option(opt_idx, varp, TRUE, oldval, NULL,
+! opt_flags) == NULL)
+ did_set_option(opt_idx, opt_flags, TRUE);
+ }
+ }
+
+ /*
+--- 5627,5637 ----
+ : opt_flags);
+ oldval = *varp;
+ *varp = s;
+! if ((r = did_set_string_option(opt_idx, varp, TRUE, oldval, NULL,
+! opt_flags)) == NULL)
+ did_set_option(opt_idx, opt_flags, TRUE);
+ }
++ return r;
+ }
+
+ /*
+***************
+*** 8969,8976 ****
+ /*
+ * Set the value of option "name".
+ * Use "string" for string options, use "number" for other options.
+ */
+! void
+ set_option_value(name, number, string, opt_flags)
+ char_u *name;
+ long number;
+--- 8973,8982 ----
+ /*
+ * Set the value of option "name".
+ * Use "string" for string options, use "number" for other options.
++ *
++ * Returns NULL on success or error message on error.
+ */
+! char_u *
+ set_option_value(name, number, string, opt_flags)
+ char_u *name;
+ long number;
+***************
+*** 8992,9002 ****
+ if (sandbox > 0 && (flags & P_SECURE))
+ {
+ EMSG(_(e_sandbox));
+! return;
+ }
+ #endif
+ if (flags & P_STRING)
+! set_string_option(opt_idx, string, opt_flags);
+ else
+ {
+ varp = get_varp_scope(&(options[opt_idx]), opt_flags);
+--- 8998,9008 ----
+ if (sandbox > 0 && (flags & P_SECURE))
+ {
+ EMSG(_(e_sandbox));
+! return NULL;
+ }
+ #endif
+ if (flags & P_STRING)
+! return set_string_option(opt_idx, string, opt_flags);
+ else
+ {
+ varp = get_varp_scope(&(options[opt_idx]), opt_flags);
+***************
+*** 9017,9035 ****
+ * num option using a string. */
+ EMSG3(_("E521: Number required: &%s = '%s'"),
+ name, string);
+! return; /* do nothing as we hit an error */
+
+ }
+ }
+ if (flags & P_NUM)
+! (void)set_num_option(opt_idx, varp, number,
+ NULL, 0, opt_flags);
+ else
+! (void)set_bool_option(opt_idx, varp, (int)number,
+ opt_flags);
+ }
+ }
+ }
+ }
+
+ /*
+--- 9023,9042 ----
+ * num option using a string. */
+ EMSG3(_("E521: Number required: &%s = '%s'"),
+ name, string);
+! return NULL; /* do nothing as we hit an error */
+
+ }
+ }
+ if (flags & P_NUM)
+! return set_num_option(opt_idx, varp, number,
+ NULL, 0, opt_flags);
+ else
+! return set_bool_option(opt_idx, varp, (int)number,
+ opt_flags);
+ }
+ }
+ }
++ return NULL;
+ }
+
+ /*
+*** ../vim-7.3.1003/src/proto/option.pro 2013-05-06 03:52:44.000000000 +0200
+--- src/proto/option.pro 2013-05-21 22:27:50.000000000 +0200
+***************
+*** 23,29 ****
+ char_u *check_stl_option __ARGS((char_u *s));
+ int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
+ int get_option_value_strict __ARGS((char_u *name, long *numval, char_u **stringval, int opt_type, void *from));
+! void set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
+ char_u *get_term_code __ARGS((char_u *tname));
+ char_u *get_highlight_default __ARGS((void));
+ char_u *get_encoding_default __ARGS((void));
+--- 23,29 ----
+ char_u *check_stl_option __ARGS((char_u *s));
+ int get_option_value __ARGS((char_u *name, long *numval, char_u **stringval, int opt_flags));
+ int get_option_value_strict __ARGS((char_u *name, long *numval, char_u **stringval, int opt_type, void *from));
+! char_u *set_option_value __ARGS((char_u *name, long number, char_u *string, int opt_flags));
+ char_u *get_term_code __ARGS((char_u *tname));
+ char_u *get_highlight_default __ARGS((void));
+ char_u *get_encoding_default __ARGS((void));
+*** ../vim-7.3.1003/src/testdir/test86.ok 2013-05-21 22:23:51.000000000 +0200
+--- src/testdir/test86.ok 2013-05-21 22:27:50.000000000 +0200
+***************
+*** 166,171 ****
+--- 166,172 ----
+ inv: -100! KeyError
+ gopts1! KeyError
+ p/wopts1: 8
++ inv: -100! error
+ p/bopts1! KeyError
+ inv: -100! KeyError
+ bopts1! KeyError
+***************
+*** 184,189 ****
+--- 185,191 ----
+ inv: 'abc'! KeyError
+ gopts1! KeyError
+ p/wopts1: ''
++ inv: 'abc'! error
+ p/bopts1! KeyError
+ inv: 'abc'! KeyError
+ bopts1! KeyError
+*** ../vim-7.3.1003/src/testdir/test87.ok 2013-05-21 22:23:51.000000000 +0200
+--- src/testdir/test87.ok 2013-05-21 22:27:50.000000000 +0200
+***************
+*** 155,160 ****
+--- 155,161 ----
+ inv: -100! KeyError
+ gopts1! KeyError
+ p/wopts1: 8
++ inv: -100! error
+ p/bopts1! KeyError
+ inv: -100! KeyError
+ bopts1! KeyError
+***************
+*** 173,178 ****
+--- 174,180 ----
+ inv: 'abc'! KeyError
+ gopts1! KeyError
+ p/wopts1: b''
++ inv: 'abc'! error
+ p/bopts1! KeyError
+ inv: 'abc'! KeyError
+ bopts1! KeyError
+*** ../vim-7.3.1003/src/version.c 2013-05-21 22:23:51.000000000 +0200
+--- src/version.c 2013-05-21 22:37:33.000000000 +0200
+***************
+*** 730,731 ****
+--- 730,733 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1004,
+ /**/
+
+--
+FIRST SOLDIER: So they wouldn't be able to bring a coconut back anyway.
+SECOND SOLDIER: Wait a minute! Suppose two swallows carried it together?
+FIRST SOLDIER: No, they'd have to have it on a line.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
More information about the scm-commits
mailing list