GNU bug report logs - #16584
24.3.50; Error for key help for anonymous commands

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Wed, 29 Jan 2014 01:24:01 UTC

Severity: important

Found in version 24.3.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 16584 in the body.
You can then email your comments to 16584 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#16584; Package emacs. (Wed, 29 Jan 2014 01:24:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Heerdegen <michael_heerdegen <at> web.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 29 Jan 2014 01:24:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; Error for key help for anonymous commands
Date: Wed, 29 Jan 2014 02:23:06 +0100
[Message part 1 (text/plain, inline)]
Hello,

emacs -Q.  Eval (the first line is just a silly example, the key and the
lambda don't matter):


--8<---------------cut here---------------start------------->8---
    (global-set-key [pause] (lambda () (interactive) (make-frame)))

    (require 'auth-source)
--8<---------------cut here---------------end--------------->8---


Now hit C-h k <pause>.  You get

[backtrace.txt (text/plain, inline)]
Debugger entered--Lisp error: (wrong-type-argument symbolp (lambda nil (interactive) (make-frame)))
  fboundp((lambda nil (interactive) (make-frame)))
  (and (fboundp generic) (get generic (quote eieio-method-obarray)))
  (if (and (fboundp generic) (get generic (quote eieio-method-obarray))) (progn (save-excursion (goto-char (point-min)) (if (re-search-forward " in `.+'.$" nil t) (progn (replace-match ".")))) (save-excursion (insert "\n\nThis is a generic function" (cond ((and (generic-primary-only-p generic) (generic-primary-only-one-p generic)) " with only one primary method") ((generic-primary-only-p generic) " with only primary methods") (t "")) ".\n\n") (insert (propertize "Implementations:\n\n" (quote face) (quote bold))) (let ((i 4) (prefix [":STATIC" ":BEFORE" ":PRIMARY" ":AFTER"])) (while (< i 7) (let ((gm ...)) (if gm (progn ...))) (setq i (1+ i))) (setq i 0) (while (< i 4) (let* ((gm ...) cname location) (while gm (setq cname ...) (insert "`") (help-insert-xref-button ... ... cname) (insert "' " ... " ") (let* ... ...) (insert "\n" ...) (if ... ...) (setq gm ...) (insert "\n"))) (setq i (1+ i)))))))
  eieio-help-generic((lambda nil (interactive) (make-frame)))
  run-hook-with-args(eieio-help-generic (lambda nil (interactive) (make-frame)))
  describe-function-1((lambda nil (interactive) (make-frame)))
  describe-key([pause] 1 nil)
  call-interactively(describe-key nil nil)
  command-execute(describe-key)
[Message part 3 (text/plain, inline)]

auth-source.el requires eieio, which does

    (add-hook 'help-fns-describe-function-functions 'eieio-help-generic)

and `eieio-help-generic' obviously doesn't treat this case right.


Thanks,

Michael.




In GNU Emacs 24.3.50.3 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.6)
 of 2014-01-29 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description:	Debian GNU/Linux testing (jessie)


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16584; Package emacs. (Thu, 30 Jan 2014 04:04:02 GMT) Full text and rfc822 format available.

Message #8 received at 16584 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 16584 <at> debbugs.gnu.org
Subject: Re: bug#16584: 24.3.50; Error for key help for anonymous commands
Date: Wed, 29 Jan 2014 23:03:46 -0500
> Debugger entered--Lisp error: (wrong-type-argument symbolp (lambda nil (interactive) (make-frame)))

Thanks.  I believe I've fixed it in trunk with the patch below,


        Stefan


--- lisp/emacs-lisp/eieio-opt.el	2014-01-10 07:10:37 +0000
+++ lisp/emacs-lisp/eieio-opt.el	2014-01-30 04:00:11 +0000
@@ -315,7 +315,7 @@
 ;;;###autoload
 (defun eieio-help-generic (generic)
   "Describe GENERIC if it is a generic function."
-  (when (generic-p generic)
+  (when (and symbolp generic) (generic-p generic))
     (save-excursion
       (goto-char (point-min))
       (when (re-search-forward " in `.+'.$" nil t)





bug closed, send any further explanations to 16584 <at> debbugs.gnu.org and Michael Heerdegen <michael_heerdegen <at> web.de> Request was from Stefan Monnier <monnier <at> iro.umontreal.ca> to control <at> debbugs.gnu.org. (Thu, 30 Jan 2014 14:31:04 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16584; Package emacs. (Thu, 30 Jan 2014 20:12:02 GMT) Full text and rfc822 format available.

Message #13 received at 16584 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 16584 <at> debbugs.gnu.org
Subject: Re: bug#16584: 24.3.50; Error for key help for anonymous commands
Date: Thu, 30 Jan 2014 21:11:41 +0100
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> Thanks.  I believe I've fixed it in trunk with the patch below,

Yes, that did it, thanks!

Michael.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 28 Feb 2014 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 117 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.