summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.327
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/vim/patches/7.4.327')
-rw-r--r--patches/source/vim/patches/7.4.327163
1 files changed, 163 insertions, 0 deletions
diff --git a/patches/source/vim/patches/7.4.327 b/patches/source/vim/patches/7.4.327
new file mode 100644
index 00000000..a797dd7e
--- /dev/null
+++ b/patches/source/vim/patches/7.4.327
@@ -0,0 +1,163 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.4.327
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.4.327
+Problem: When 'verbose' is set to display the return value of a function,
+ may get E724 repeatedly.
+Solution: Do not give an error for verbose messages. Abort conversion to
+ string after an error.
+Files: src/eval.c
+
+
+*** ../vim-7.4.326/src/eval.c 2014-06-12 18:39:16.828400409 +0200
+--- src/eval.c 2014-06-17 12:48:12.083946675 +0200
+***************
+*** 134,139 ****
+--- 134,142 ----
+ #define COPYID_INC 2
+ #define COPYID_MASK (~0x1)
+
++ /* Abort conversion to string after a recursion error. */
++ static int did_echo_string_emsg = FALSE;
++
+ /*
+ * Array to hold the hashtab with variables local to each sourced script.
+ * Each item holds a variable (nameless) that points to the dict_T.
+***************
+*** 6686,6691 ****
+--- 6689,6696 ----
+ }
+
+ line_breakcheck();
++ if (did_echo_string_emsg) /* recursion error, bail out */
++ break;
+ }
+
+ /* Allocate result buffer with its total size, avoid re-allocation and
+***************
+*** 7460,7467 ****
+ if (s != NULL)
+ ga_concat(&ga, s);
+ vim_free(tofree);
+! if (s == NULL)
+ break;
+ }
+ }
+ if (todo > 0)
+--- 7465,7474 ----
+ if (s != NULL)
+ ga_concat(&ga, s);
+ vim_free(tofree);
+! if (s == NULL || did_echo_string_emsg)
+ break;
++ line_breakcheck();
++
+ }
+ }
+ if (todo > 0)
+***************
+*** 7619,7627 ****
+
+ if (recurse >= DICT_MAXNEST)
+ {
+! EMSG(_("E724: variable nested too deep for displaying"));
+ *tofree = NULL;
+! return NULL;
+ }
+ ++recurse;
+
+--- 7626,7641 ----
+
+ if (recurse >= DICT_MAXNEST)
+ {
+! if (!did_echo_string_emsg)
+! {
+! /* Only give this message once for a recursive call to avoid
+! * flooding the user with errors. And stop iterating over lists
+! * and dicts. */
+! did_echo_string_emsg = TRUE;
+! EMSG(_("E724: variable nested too deep for displaying"));
+! }
+ *tofree = NULL;
+! return (char_u *)"{E724}";
+ }
+ ++recurse;
+
+***************
+*** 7689,7695 ****
+ *tofree = NULL;
+ }
+
+! --recurse;
+ return r;
+ }
+
+--- 7703,7710 ----
+ *tofree = NULL;
+ }
+
+! if (--recurse == 0)
+! did_echo_string_emsg = FALSE;
+ return r;
+ }
+
+***************
+*** 23303,23309 ****
+--- 23318,23327 ----
+ msg_outnum((long)argvars[i].vval.v_number);
+ else
+ {
++ /* Do not want errors such as E724 here. */
++ ++emsg_off;
+ s = tv2string(&argvars[i], &tofree, numbuf2, 0);
++ --emsg_off;
+ if (s != NULL)
+ {
+ if (vim_strsize(s) > MSG_BUF_CLEN)
+***************
+*** 23395,23402 ****
+
+ /* The value may be very long. Skip the middle part, so that we
+ * have some idea how it starts and ends. smsg() would always
+! * truncate it at the end. */
+ s = tv2string(fc->rettv, &tofree, numbuf2, 0);
+ if (s != NULL)
+ {
+ if (vim_strsize(s) > MSG_BUF_CLEN)
+--- 23413,23422 ----
+
+ /* The value may be very long. Skip the middle part, so that we
+ * have some idea how it starts and ends. smsg() would always
+! * truncate it at the end. Don't want errors such as E724 here. */
+! ++emsg_off;
+ s = tv2string(fc->rettv, &tofree, numbuf2, 0);
++ --emsg_off;
+ if (s != NULL)
+ {
+ if (vim_strsize(s) > MSG_BUF_CLEN)
+*** ../vim-7.4.326/src/version.c 2014-06-14 12:53:27.394152699 +0200
+--- src/version.c 2014-06-17 12:41:45.019932032 +0200
+***************
+*** 736,737 ****
+--- 736,739 ----
+ { /* Add new patch number below this line */
++ /**/
++ 327,
+ /**/
+
+--
+TALL KNIGHT: We shall say Ni! again to you if you do not appease us.
+ARTHUR: All right! What do you want?
+TALL KNIGHT: We want ... a shrubbery!
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@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 ///