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.

Raspunde prin e-mail lui