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

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

two describe-key problems exposed by viper


From: Stephen Rueger
Subject: two describe-key problems exposed by viper
Date: Wed, 27 Apr 2005 10:21:48 +0200
User-agent: Mutt/1.5.6+20040907i

The following happened with GNU Emacs 22.0.50.3 (i686-pc-linux-gnu) of
2005-04-27, checkout out from CVS a few hours ago:

After I compiled and installed emacs, i soon realized that viper breaks
the "C-h k" functionality. Further investigation revealed that this is
because of the advices viper installs around describe-key (forcing it to
use viper-read-key-sequence), which fail to pass the second argument to
describe-key ("untranslated").

Here is where the second problem comes in: describe-key is defined with
(defun describe-key (key &optional untranslated up-event) ...), but
running it without the "untranslated" argument causes it to error out
with "Lisp error: (wrong-type-argument arrayp nil)", caused by the
attempt to use aref on the variable 'untranslated' in line 637 of of help.el.

To clarify (not to fix!) I include the patch i use to work around the
problem for now, following now.

*** help.el.orig        Wed Apr 27 09:50:14 2005
--- help.el     Wed Apr 27 09:49:39 2005
***************
*** 634,642 ****
          ;; Don't bother user with strings from (e.g.) the select-paste menu.
          (if (stringp (aref key (1- (length key))))
              (aset key (1- (length key)) "(any string)"))
!         (if (stringp (aref untranslated (1- (length untranslated))))
!             (aset untranslated (1- (length untranslated))
!                   "(any string)"))
          (with-output-to-temp-buffer (help-buffer)
            (princ (help-key-description key untranslated))
            (if (windowp window)
--- 634,643 ----
          ;; Don't bother user with strings from (e.g.) the select-paste menu.
          (if (stringp (aref key (1- (length key))))
              (aset key (1- (length key)) "(any string)"))
!           (if untranslated
!               (if (stringp (aref untranslated (1- (length untranslated))))
!               (aset untranslated (1- (length untranslated))
!                     "(any string)")))
          (with-output-to-temp-buffer (help-buffer)
            (princ (help-key-description key untranslated))
            (if (windowp window)

-- 
Stephen RĂ¼ger
address@hidden




reply via email to

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