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

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

bug#553: marked as done (23.0.60; Unknown button type `quail-keyboard-l


From: Emacs bug Tracking System
Subject: bug#553: marked as done (23.0.60; Unknown button type `quail-keyboard-layout-button')
Date: Fri, 5 Sep 2008 15:20:03 -0700

Your message dated Fri, 05 Sep 2008 18:15:22 -0400
with message-id <871vzyjl39.fsf@cyd.mit.edu>
and subject line Re: 23.0.60; Unknown button type `quail-keyboard-layout-button'
has caused the Emacs bug report #553,
regarding 23.0.60; Unknown button type `quail-keyboard-layout-button'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don@donarmstrong.com
immediately.)


-- 
553: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=553
Emacs Bug Tracking System
Contact don@donarmstrong.com with problems
--- Begin Message --- Subject: 23.0.60; Unknown button type `quail-keyboard-layout-button' Date: Sun, 13 Jul 2008 01:04:42 +0300 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu)
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/



--- End Message ---
--- Begin Message --- Subject: Re: 23.0.60; Unknown button type `quail-keyboard-layout-button' Date: Fri, 05 Sep 2008 18:15:22 -0400
> I don't know the reason of writing quail-help-init this way, but it
> seems it was to not load `help-mode' after loading `quail.el'.
> `help-mode' is not necessary for quail's operations, so its loading
> should be postponed for rare cases when the user needs to see the help
> buffer with keyboard layouts.

I don't think it's a big deal to just load help-mode, so I changed
quail.el to do that.


--- End Message ---

reply via email to

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