GNU bug report logs -
#8479
24.0.50; Strange error message upon M-z M-z
Previous Next
Reported by: David Kastrup <dak <at> gnu.org>
Date: Mon, 11 Apr 2011 16:03:02 UTC
Severity: minor
Found in version 24.0.50
Fixed in version 24.0.91
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):
On 4/11/11 4:10 PM, Andy Moreton wrote:
> On Mon 11 Apr 2011, David Kastrup wrote:
>
>> Type M-z M-z and you get the following error back trace and message:
>>
>> Debugger entered--Lisp error: (wrong-type-argument characterp 134217850)
>> call-interactively(zap-to-char nil nil)
>
> `zap-to-char' (in simple.el) has interactive spec:
>
> (interactive "p\ncZap to char: ")
>
> Looking at `call-interactively' (in callint.c):
>
> --8<---------------cut here---------------start------------->8---
> case 'c': /* Character */
> /* Prompt in `minibuffer-prompt' face. */
> Fput_text_property (make_number (0),
> make_number (SCHARS (callint_message)),
> Qface, Qminibuffer_prompt, callint_message);
> args[i] = Fread_char (callint_message, Qnil, Qnil);
> message1_nolog ((char *) 0);
> /* Passing args[i] directly stimulates compiler bug */
> teml = args[i];
> visargs[i] = Fchar_to_string (teml);
> break;
> --8<---------------cut here---------------end--------------->8---
>
> Looking at the help for `read-char':
>
> --8<---------------cut here---------------start------------->8---
> If the user generates an event which is not a character (i.e. a mouse
> click or function key event), `read-char' signals an error. As an
> exception, switch-frame events are put off until non-character events
> can be read.
> If you want to read non-character events, or ignore them, call
> `read-event' or `read-char-exclusive' instead.
> --8<---------------cut here---------------end--------------->8---
Yes, but why is M-z not a character?
?\M-z ⇒ 134217850
;; Which is greater than #x3FFF7F (4194175), but ...
"\M-z" ⇒ "\372"
;; ... strings can only have characters as elements, right?
(characterp ?\M-z) ⇒ nil
;; Puzzled am I.
> Perhaps `call-interactively' should be using `read-char-exclusive' so
> that the second M-z is ignored ?
--
Kevin Rodgers
Denver, Colorado, USA
This bug report was last modified 13 years and 232 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.