GNU bug report logs -
#20914
eieio/slot/group
Previous Next
Full log
Message #25 received at 20914-done <at> debbugs.gnu.org (full text, mbox):
> Sorry in fact it works when patching and recompiling the whole
> stuff.Recompiling only cl-preloaded.el is not enough.
As the name suggests, cl-preloaded is ... preloaded into the "emacs"
executable, so you need to recompile cl-preloaded.elc and then re-dump
src/emacs.
> Anyway copy-tree should be used and not copy-sequence for the
> properties. Otherwise properties are not eq but car of them are
> eq and that's not what we want.
Oops, good point, tho copy-tree isn't right either (we don't want to
copy the actual values).
I installed the patch below,
Stefan
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index ed0639b..60f6542 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -195,7 +195,7 @@
(:constructor nil)
(:constructor cl--make-slot-descriptor
(name &optional initform type props))
- (:copier cl--copy-slot-descriptor))
+ (:copier cl--copy-slot-descriptor-1))
;; FIXME: This is actually not used yet, for circularity reasons!
"Descriptor of structure slot."
name ;Attribute name (symbol).
@@ -205,6 +205,11 @@
;; :documentation, :protection, :custom, :label, :group, :printer.
(props nil :type alist))
+(defun cl--copy-slot-descriptor (slot)
+ (let ((new (cl--copy-slot-descriptor-1 slot)))
+ (cl-callf copy-alist (cl--slot-descriptor-props new))
+ new))
+
(cl-defstruct (cl--class
(:constructor nil)
(:copier nil))
This bug report was last modified 10 years and 16 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.