Mercurial > vim
comparison src/message.c @ 12375:ab0d827151a1 v8.0.1067
patch 8.0.1067: try/catch in timer does not prevent it from being stopped
commit https://github.com/vim/vim/commit/e723c42836d971180d1bf9f98916966c5543fff1
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Sep 6 23:40:10 2017 +0200
patch 8.0.1067: try/catch in timer does not prevent it from being stopped
Problem: Using try/catch in timer does not prevent it from being stopped.
Solution: Reset the exception context and use did_emsg instead of
called_emsg.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 06 Sep 2017 23:45:04 +0200 |
parents | 69af108df70e |
children | e769c912fcd9 |
comparison
equal
deleted
inserted
replaced
12374:a3a35f113a36 | 12375:ab0d827151a1 |
---|---|
607 return msg_use_printf() ? FALSE : msg(s); | 607 return msg_use_printf() ? FALSE : msg(s); |
608 #endif | 608 #endif |
609 | 609 |
610 called_emsg = TRUE; | 610 called_emsg = TRUE; |
611 | 611 |
612 /* | |
613 * If "emsg_severe" is TRUE: When an error exception is to be thrown, | |
614 * prefer this message over previous messages for the same command. | |
615 */ | |
616 #ifdef FEAT_EVAL | 612 #ifdef FEAT_EVAL |
613 /* If "emsg_severe" is TRUE: When an error exception is to be thrown, | |
614 * prefer this message over previous messages for the same command. */ | |
617 severe = emsg_severe; | 615 severe = emsg_severe; |
618 emsg_severe = FALSE; | 616 emsg_severe = FALSE; |
619 #endif | 617 #endif |
620 | 618 |
621 if (!emsg_off || vim_strchr(p_debug, 't') != NULL) | 619 if (!emsg_off || vim_strchr(p_debug, 't') != NULL) |
682 if (p_eb) | 680 if (p_eb) |
683 beep_flush(); /* also includes flush_buffers() */ | 681 beep_flush(); /* also includes flush_buffers() */ |
684 else | 682 else |
685 flush_buffers(FALSE); /* flush internal buffers */ | 683 flush_buffers(FALSE); /* flush internal buffers */ |
686 did_emsg = TRUE; /* flag for DoOneCmd() */ | 684 did_emsg = TRUE; /* flag for DoOneCmd() */ |
685 #ifdef FEAT_EVAL | |
686 did_uncaught_emsg = TRUE; | |
687 #endif | |
687 } | 688 } |
688 | 689 |
689 emsg_on_display = TRUE; /* remember there is an error message */ | 690 emsg_on_display = TRUE; /* remember there is an error message */ |
690 ++msg_scroll; /* don't overwrite a previous message */ | 691 ++msg_scroll; /* don't overwrite a previous message */ |
691 attr = HL_ATTR(HLF_E); /* set highlight mode for error messages */ | 692 attr = HL_ATTR(HLF_E); /* set highlight mode for error messages */ |