GNU bug report logs -
#553
23.0.60; Unknown button type `quail-keyboard-layout-button'
Previous Next
Reported by: Juri Linkov <juri <at> jurta.org>
Date: Sat, 12 Jul 2008 22:15:03 UTC
Severity: normal
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
1. `emacs -Q'
2. `M-: (require 'help-mode) RET'
or run any Help command that loads this mode
3. Activate an input method by C-\
4. Click `mouse-3' on the input method's indicator
on the mode-line
It fills the *Help* buffer with the text only until
it tries to create a button, and fails with the error
"make-text-button: Unknown button type `quail-keyboard-layout-button'".
This is because `quail-help-init' fails to define new button types.
It currently has the form:
(defun quail-help-init ()
(unless (featurep 'help-mode)
(require 'help-mode)
(define-button-type 'quail-keyboard-layout-button
:supertype 'help-xref
'help-function '(lambda (layout)
(help-setup-xref `(quail-keyboard-layout-button ,layout)
nil)
(quail-show-keyboard-layout layout))
'help-echo (purecopy "mouse-2, RET: show keyboard layout"))
(define-button-type 'quail-keyboard-customize-button
:supertype 'help-customize-variable
'help-echo (purecopy "mouse-2, RET: customize keyboard layout"))))
So it doesn't define two button types if `help-mode' is already loaded.
I guess it was done to define them only once, and not redefine on next
invocations. Instead of checking for (featurep 'help-mode) it could
check if these buttons were already defined. I can't find a function
like `button-defined-p' to do this. But the following check seems to work:
(get 'quail-keyboard-layout-button 'button-category-symbol)
--
Juri Linkov
http://www.jurta.org/emacs/
This bug report was last modified 16 years and 313 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.