bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#237: 23.0.60; kbd returns wrong value


From: Drew Adams
Subject: bug#237: 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'
 









reply via email to

[Prev in Thread] Current Thread [Next in Thread]