ZyX wrote: > The following patch should fix the problem: > > # HG changeset patch > # User ZyX <[email protected]> > # Date 1390927556 -14400 > # Tue Jan 28 20:45:56 2014 +0400 > # Branch VimTryEnd-current_exception-fix > # Node ID 5595c64ce5eaeefe60958ae5cb93f9f1ab359a0c > # Parent c9cad40b418113f62ce3481f66351137b90910ef > Only work with exception variables if did_throw > > Second change assumes that whenever did_throw is TRUE > discard_current_exception > is valid. First change assumes that if did_throw is not TRUE then need_rethrow > and current_exception values are not valid and do not require any attention. > > diff -r c9cad40b4181 -r 5595c64ce5ea src/if_py_both.h > --- a/src/if_py_both.h Fri Jan 24 19:55:37 2014 +0100 > +++ b/src/if_py_both.h Tue Jan 28 20:45:56 2014 +0400 > @@ -564,10 +564,8 @@ > /* Keyboard interrupt should be preferred over anything else */ > if (got_int) > { > - if (current_exception != NULL) > + if (did_throw) > discard_current_exception(); > - else > - need_rethrow = did_throw = FALSE; > got_int = FALSE; > PyErr_SetNone(PyExc_KeyboardInterrupt); > return -1; > @@ -599,10 +597,7 @@ > /* Python exception is preferred over vim one; unlikely to occur though > */ > else if (PyErr_Occurred()) > { > - if (current_exception != NULL) > - discard_current_exception(); > - else > - need_rethrow = did_throw = FALSE; > + discard_current_exception(); > return -1; > } > /* Finally transform VimL exception to python one */
Thanks! -- hundred-and-one symptoms of being an internet addict: 227. You sleep next to your monitor. Or on top of it. /// Bram Moolenaar -- [email protected] -- 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 /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
