|
From: | Jan Chaloupka |
Subject: | bug#18140: [PATCH] macros.c: CHECK_VECTOR_OR_STRING invokes wrong_type_argument for Qnil instead of return 0 |
Date: | Tue, 29 Jul 2014 11:59:38 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
On 07/29/2014 11:04 AM, Andreas Schwab wrote:
Jan Chaloupka <jchaloup@redhat.com> writes:So is it correct if append and Vlast_kbd_macro are both Qnil resulting in CHECK_VECTOR_OR_STRING fail?Sure, that's the point of the check. last-kbd-macro is a lisp-level variable, so it must be checked.
Yes, I agree it has to be check. Having .emacs.desktop file with series of the folkowing kbd macro definitions: (desktop-create-buffer 206 ... '(defining-kbd-macro global-auto-revert-mode) ... )append argument of start-kbd-macro is false. But because there is no last kbd macro, check fails. I guess then .emacs.desktop is incorectly written. Thus resulting in
proper check fail.
Because Vlast_kbd_macro is not VECTOR nor STRINGThat just calls error, but not emacs_abort.
CHECK_VECTOR_OR_STRING -> wrong_type_argument -> xsignal2 -> xsignal void xsignal (Lisp_Object error_symbol, Lisp_Object data) { Fsignal (error_symbol, data); emacs_abort (); }emacs_abort then has to be called after Fsignal finished. Or is there a back jmp back to main loop or somewhere else?
Andreas.
[Prev in Thread] | Current Thread | [Next in Thread] |