From unknown Fri Aug 15 17:54:13 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#553 <553@debbugs.gnu.org> To: bug#553 <553@debbugs.gnu.org> Subject: Status: 23.0.60; Unknown button type `quail-keyboard-layout-button' Reply-To: bug#553 <553@debbugs.gnu.org> Date: Sat, 16 Aug 2025 00:54:13 +0000 retitle 553 23.0.60; Unknown button type `quail-keyboard-layout-button' reassign 553 emacs submitter 553 Juri Linkov severity 553 normal thanks From juri@jurta.org Sat Jul 12 15:05:44 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-6.1 required=4.0 tests=AWL,BAYES_00, RCVD_IN_DNSWL_MED,SUBJECT_FUZZY_TION autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at submit) by emacsbugs.donarmstrong.com; 12 Jul 2008 22:05:44 +0000 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m6CM5ZG9013045 for ; Sat, 12 Jul 2008 15:05:36 -0700 Received: from mx10.gnu.org ([199.232.76.166]:38362) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1KHnDE-0002Ak-Vi for emacs-pretest-bug@gnu.org; Sat, 12 Jul 2008 18:05:05 -0400 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1KHnDf-0002Tr-9E for emacs-pretest-bug@gnu.org; Sat, 12 Jul 2008 18:05:34 -0400 Received: from relay03.kiev.sovam.com ([62.64.120.201]:57026) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KHnDe-0002Tj-Pz for emacs-pretest-bug@gnu.org; Sat, 12 Jul 2008 18:05:31 -0400 Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay03.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1KHnDd-000Ozo-3J for emacs-pretest-bug@gnu.org; Sun, 13 Jul 2008 01:05:29 +0300 From: Juri Linkov To: emacs-pretest-bug@gnu.org Subject: 23.0.60; Unknown button type `quail-keyboard-layout-button' Organization: JURTA Date: Sun, 13 Jul 2008 01:04:42 +0300 Message-ID: <87d4likbd1.fsf@jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Scanner-Signature: 8fcfa5a562f326ba64a474cd1db6e25e X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Trusted X-SpamTest-Info: Profiles 4292 [July 12 2008] X-SpamTest-Info: {received from trusted relay: common white list} X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: white ip list X-SpamTest-Rate: 10 X-SpamTest-Status: Trusted X-SpamTest-Status-Extended: trusted X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0278], KAS30/Release X-detected-kernel: by monty-python.gnu.org: FreeBSD 6.x (1) 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/ From cyd@stupidchicken.com Thu Aug 21 16:40:42 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,BAYES_00, SUBJECT_FUZZY_TION autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 553) by emacsbugs.donarmstrong.com; 21 Aug 2008 23:40:42 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m7LNedit002910 for <553@emacsbugs.donarmstrong.com>; Thu, 21 Aug 2008 16:40:40 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id B391257E33F; Thu, 21 Aug 2008 19:41:58 -0400 (EDT) To: Kenichi Handa Cc: Juri Linkov , 553@debbugs.gnu.org Subject: Re: 23.0.60; Unknown button type `quail-keyboard-layout-button' From: Chong Yidong Date: Thu, 21 Aug 2008 19:41:58 -0400 Message-ID: <87d4k27x6h.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Hi Handa-san, > 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. Do you remember why you wrote quail-help-init this way? It seems unnecessary; why not define the button types directly at the top level of quail.el? From juri@jurta.org Mon Aug 25 08:54:17 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-5.3 required=4.0 tests=AWL,BAYES_00, SUBJECT_FUZZY_TION autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 553) by emacsbugs.donarmstrong.com; 25 Aug 2008 15:54:17 +0000 Received: from anti-4.kiev.sovam.com (anti-4.kiev.sovam.com [62.64.120.202]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m7PFsAEo020465 for <553@emacsbugs.donarmstrong.com>; Mon, 25 Aug 2008 08:54:12 -0700 Received: from [83.170.232.243] (helo=smtp.svitonline.com) by anti-4.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1KXeOO-0000by-IL; Mon, 25 Aug 2008 18:54:08 +0300 From: Juri Linkov To: Chong Yidong Cc: Kenichi Handa , 553@debbugs.gnu.org Subject: Re: 23.0.60; Unknown button type `quail-keyboard-layout-button' Organization: JURTA References: <87d4k27x6h.fsf@cyd.mit.edu> Date: Mon, 25 Aug 2008 18:52:09 +0300 In-Reply-To: <87d4k27x6h.fsf@cyd.mit.edu> (Chong Yidong's message of "Thu, 21 Aug 2008 19:41:58 -0400") Message-ID: <87y72lay8m.fsf@jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Scanner-Signature: 485d3c07c5d69b41d1cad5b5ab8b481e X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Trusted X-SpamTest-Info: Profiles 4896 [Aug 24 2008] X-SpamTest-Info: {received from trusted relay: common white list} X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: white ip list X-SpamTest-Rate: 10 X-SpamTest-Status: Trusted X-SpamTest-Status-Extended: trusted X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0278], KAS30/Release > Do you remember why you wrote quail-help-init this way? It seems > unnecessary; why not define the button types directly at the top level > of quail.el? 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. -- Juri Linkov http://www.jurta.org/emacs/ From cyd@stupidchicken.com Tue Aug 26 14:10:03 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,BAYES_00, SUBJECT_FUZZY_TION autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 553) by emacsbugs.donarmstrong.com; 26 Aug 2008 21:10:04 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m7QL9xbx007798 for <553@emacsbugs.donarmstrong.com>; Tue, 26 Aug 2008 14:10:00 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id 2FF5B57E34B; Tue, 26 Aug 2008 17:11:44 -0400 (EDT) To: Juri Linkov Cc: Kenichi Handa , 553@debbugs.gnu.org Subject: Re: 23.0.60; Unknown button type `quail-keyboard-layout-button' From: Chong Yidong Date: Tue, 26 Aug 2008 17:11:44 -0400 Message-ID: <87prnvscq7.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > > Do you remember why you wrote quail-help-init this way? It seems > > unnecessary; why not define the button types directly at the top level > > of quail.el? > > 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. Right, but why do we have to put the button definitions inside quail-help-init? In other words, why not the following? *** trunk/lisp/international/quail.el.~1.164.~ 2008-05-06 00:18:15.000000000 -0400 --- trunk/lisp/international/quail.el 2008-08-26 17:09:39.000000000 -0400 *************** *** 2424,2450 **** (insert ?\n)) (insert ?\n)))) ! (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")))) (defun quail-help (&optional package) "Show brief description of the current Quail package. Optional arg PACKAGE specifies the name of alternative Quail package to describe." (interactive) ! (quail-help-init) (let ((help-xref-mule-regexp help-xref-mule-regexp-template) (mb enable-multibyte-characters) (package-def --- 2424,2447 ---- (insert ?\n)) (insert ?\n)))) ! (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")) (defun quail-help (&optional package) "Show brief description of the current Quail package. Optional arg PACKAGE specifies the name of alternative Quail package to describe." (interactive) ! (require 'help-mode) (let ((help-xref-mule-regexp help-xref-mule-regexp-template) (mb enable-multibyte-characters) (package-def From cyd@stupidchicken.com Fri Sep 5 15:12:47 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.7 required=4.0 tests=AWL,BAYES_00, SUBJECT_FUZZY_TION autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 553-done) by emacsbugs.donarmstrong.com; 5 Sep 2008 22:12:47 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m85MCiuK029318 for <553-done@emacsbugs.donarmstrong.com>; Fri, 5 Sep 2008 15:12:45 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id D5FD257E18A; Fri, 5 Sep 2008 18:15:22 -0400 (EDT) From: Chong Yidong To: Juri Linkov Cc: 553-done@debbugs.gnu.org Subject: Re: 23.0.60; Unknown button type `quail-keyboard-layout-button' Date: Fri, 05 Sep 2008 18:15:22 -0400 Message-ID: <871vzyjl39.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > 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. From juri@jurta.org Wed Sep 10 17:31:22 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.5 required=4.0 tests=AWL,BAYES_00,RCVD_IN_NIX1, SUBJECT_FUZZY_TION autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 553-done) by emacsbugs.donarmstrong.com; 11 Sep 2008 00:31:22 +0000 Received: from anti-4.kiev.sovam.com (anti-4.kiev.sovam.com [62.64.120.202]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id m8B0VInJ027689 for <553-done@emacsbugs.donarmstrong.com>; Wed, 10 Sep 2008 17:31:19 -0700 Received: from [83.170.232.243] (helo=smtp.svitonline.com) by anti-4.kiev.sovam.com with esmtp (Exim 4.67) (envelope-from ) id 1Kda5c-0002Dx-Ma; Thu, 11 Sep 2008 03:31:16 +0300 From: Juri Linkov To: Chong Yidong Cc: 553-done@debbugs.gnu.org Subject: Re: 23.0.60; Unknown button type `quail-keyboard-layout-button' Organization: JURTA References: <871vzyjl39.fsf@cyd.mit.edu> Date: Thu, 11 Sep 2008 03:05:15 +0300 In-Reply-To: <871vzyjl39.fsf@cyd.mit.edu> (Chong Yidong's message of "Fri, 05 Sep 2008 18:15:22 -0400") Message-ID: <87ej3rr49g.fsf@jurta.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Scanner-Signature: b36477657b07eb27dc67b07df918f397 X-DrWeb-checked: yes X-SpamTest-Envelope-From: juri@jurta.org X-SpamTest-Group-ID: 00000000 X-SpamTest-Header: Trusted X-SpamTest-Info: Profiles 5084 [Sep 11 2008] X-SpamTest-Info: {received from trusted relay: common white list} X-SpamTest-Info: {HEADERS: header Content-Type found without required header Content-Transfer-Encoding} X-SpamTest-Method: white ip list X-SpamTest-Rate: 10 X-SpamTest-Status: Trusted X-SpamTest-Status-Extended: trusted X-SpamTest-Version: SMTP-Filter Version 3.0.0 [0278], KAS30/Release >> 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. Thanks, then it seems that (require 'help-mode) in `quail-help' is not necessary since now quail.el has (require 'help-mode) at the top level. -- Juri Linkov http://www.jurta.org/emacs/ From unknown Fri Aug 15 17:54:13 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: $requester Subject: Internal Control Message-Id: bug archived. Date: Thu, 09 Oct 2008 14:24:03 +0000 User-Agent: Fakemail v42.6.9 # A New Hope # A log time ago, in a galaxy far, far away # something happened. # # Magically this resulted in the following # action being taken, but this fake control # message doesn't tell you why it happened # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator