* bug#16584: 24.3.50; Error for key help for anonymous commands
@ 2014-01-29 1:23 Michael Heerdegen
2014-01-30 4:03 ` Stefan Monnier
0 siblings, 1 reply; 3+ messages in thread
From: Michael Heerdegen @ 2014-01-29 1:23 UTC (permalink / raw)
To: 16584
[-- Attachment #1: Type: text/plain, Size: 369 bytes --]
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
[-- Attachment #2: backtrace.txt --]
[-- Type: text/plain, Size: 1441 bytes --]
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)
[-- Attachment #3: Type: text/plain, Size: 435 bytes --]
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)
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#16584: 24.3.50; Error for key help for anonymous commands
2014-01-29 1:23 bug#16584: 24.3.50; Error for key help for anonymous commands Michael Heerdegen
@ 2014-01-30 4:03 ` Stefan Monnier
2014-01-30 20:11 ` Michael Heerdegen
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2014-01-30 4:03 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: 16584
> 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)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-30 20:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-29 1:23 bug#16584: 24.3.50; Error for key help for anonymous commands Michael Heerdegen
2014-01-30 4:03 ` Stefan Monnier
2014-01-30 20:11 ` Michael Heerdegen
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.