From: Lars Ingebrigtsen Date: Thu, 24 Jun 2021 18:13:08 +0000 (+0200) Subject: Fix printing of defclass documentation slots again X-Git-Tag: emacs-28.0.90~2041 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bf21aba533864bf0179b2e76f4bdc2e7c6cce726;p=emacs.git Fix printing of defclass documentation slots again * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix printing defclass slots, and retain printing of defstruct slots (bug#30998 and bug#46662). --- diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index eabba27d229..13036544825 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -897,8 +897,14 @@ Outputs to the current buffer." (list (cl-prin1-to-string (cl--slot-descriptor-name slot)) (cl-prin1-to-string (cl--slot-descriptor-type slot)) (cl-prin1-to-string (cl--slot-descriptor-initform slot)) - (let ((doc (plist-get (cl--slot-descriptor-props slot) - :documentation))) + (let ((doc + ;; The props are an alist in a `defclass', + ;; but a plist when describing a `cl-defstruct'. + (if (consp (car (cl--slot-descriptor-props slot))) + (alist-get :documentation + (cl--slot-descriptor-props slot)) + (plist-get (cl--slot-descriptor-props slot) + :documentation)))) (if (not doc) "" (setq has-doc t) (substitute-command-keys doc)))))