[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
23.0.60; kbd returns wrong value
From: |
Drew Adams |
Subject: |
23.0.60; kbd returns wrong value |
Date: |
Tue, 13 May 2008 13:01:55 -0700 |
This is a menu item in menu-bar-help-menu:
<describe> <describe-language-environment> <European> <Brazilian Portuguese>
Evaluating this:
(kbd "<describe> <describe-language-environment> <European> <Brazilian
Portuguese>")
produces the following incorrect result:
[describe describe-language-environment European
60 66 114 97 122 105 108 105 97 110 80 111 114
116 117 103 117 101 115 101 62]
After tracing edmacro-parse-keys, the problem seems to be here:
(while (and (< pos (length string))
(string-match "[^ \t\n\f]+" string pos))
(let ((word (substring string (match-beginning 0) (match-end 0)))
The sexp (substring "<describe> <describe-language-environment> <European>
<Brazilian Portuguese>" 54 64) returns "<Brazilian", which is only half of the
entry.
IOW, the code is not expecting a space char. Which is the problem: the
edmacro-parse-keys code or the definition of the key itself,
<Brazilian Portuguese>, which includes a space char?
This problem is not new with Emacs 23, BTW.
In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
of 2008-05-04 on LENNART-69DE564
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/g/include
-fno-crossjumping'
- 23.0.60; kbd returns wrong value,
Drew Adams <=
- RE: 23.0.60; kbd returns wrong value, Drew Adams, 2008/05/16
- Re: 23.0.60; kbd returns wrong value, Stefan Monnier, 2008/05/17
- RE: 23.0.60; kbd returns wrong value, Drew Adams, 2008/05/18
- More key strangeness (was: 23.0.60; kbd returns wrong value), David Kastrup, 2008/05/18
- Re: More key strangeness, Stefan Monnier, 2008/05/19