summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.637
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.637')
-rw-r--r--source/ap/vim/patches/7.3.63794
1 files changed, 94 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.637 b/source/ap/vim/patches/7.3.637
new file mode 100644
index 00000000..f7f1d903
--- /dev/null
+++ b/source/ap/vim/patches/7.3.637
@@ -0,0 +1,94 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.637
+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.3.637
+Problem: Cannot catch the error caused by a foldopen when there is no fold.
+ (ZyX, Issue 48)
+Solution: Do not break out of the loop early when inside try/catch.
+ (Christian Brabandt) Except when there is a syntax error.
+Files: src/ex_docmd.c, src/globals.h
+
+
+*** ../vim-7.3.636/src/ex_docmd.c 2012-08-15 14:04:50.000000000 +0200
+--- src/ex_docmd.c 2012-08-23 18:39:08.000000000 +0200
+***************
+*** 1295,1301 ****
+ && cstack.cs_trylevel == 0
+ #endif
+ )
+! && !(did_emsg && used_getline
+ && (getline_equal(fgetline, cookie, getexmodeline)
+ || getline_equal(fgetline, cookie, getexline)))
+ && (next_cmdline != NULL
+--- 1295,1308 ----
+ && cstack.cs_trylevel == 0
+ #endif
+ )
+! && !(did_emsg
+! #ifdef FEAT_EVAL
+! /* Keep going when inside try/catch, so that the error can be
+! * dealth with, except when it is a syntax error, it may cause
+! * the :endtry to be missed. */
+! && (cstack.cs_trylevel == 0 || did_emsg_syntax)
+! #endif
+! && used_getline
+ && (getline_equal(fgetline, cookie, getexmodeline)
+ || getline_equal(fgetline, cookie, getexline)))
+ && (next_cmdline != NULL
+***************
+*** 1305,1310 ****
+--- 1312,1318 ----
+ || (flags & DOCMD_REPEAT)));
+
+ vim_free(cmdline_copy);
++ did_emsg_syntax = FALSE;
+ #ifdef FEAT_EVAL
+ free_cmdlines(&lines_ga);
+ ga_clear(&lines_ga);
+***************
+*** 2137,2142 ****
+--- 2145,2151 ----
+ if (!sourcing)
+ append_command(*cmdlinep);
+ errormsg = IObuff;
++ did_emsg_syntax = TRUE;
+ }
+ goto doend;
+ }
+*** ../vim-7.3.636/src/globals.h 2012-07-10 16:49:08.000000000 +0200
+--- src/globals.h 2012-08-23 18:29:09.000000000 +0200
+***************
+*** 183,188 ****
+--- 183,190 ----
+ #endif
+ EXTERN int did_emsg; /* set by emsg() when the message
+ is displayed or thrown */
++ EXTERN int did_emsg_syntax; /* did_emsg set because of a
++ syntax error */
+ EXTERN int called_emsg; /* always set by emsg() */
+ EXTERN int ex_exitval INIT(= 0); /* exit value for ex mode */
+ EXTERN int emsg_on_display INIT(= FALSE); /* there is an error message */
+*** ../vim-7.3.636/src/version.c 2012-08-23 15:53:00.000000000 +0200
+--- src/version.c 2012-08-23 17:59:12.000000000 +0200
+***************
+*** 721,722 ****
+--- 721,724 ----
+ { /* Add new patch number below this line */
++ /**/
++ 637,
+ /**/
+
+--
+GOD: That is your purpose Arthur ... the Quest for the Holy Grail ...
+ "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 ///