aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2015-04-08 17:23:50 -0400
committerStefan Monnier2015-04-08 17:23:50 -0400
commit215e5bf0cf10b519838cc9d658caa35d5cbc4da6 (patch)
tree84a80b24f46611efd70e5d15a8673f134ff42f45
parenta480a51f2425c0b0787ab36779ae2e7ca7c6b527 (diff)
downloademacs-215e5bf0cf10b519838cc9d658caa35d5cbc4da6.tar.gz
emacs-215e5bf0cf10b519838cc9d658caa35d5cbc4da6.zip
(eieio-copy-parents-into-subclass): Fix inheritance of initargs
Fixes: debbugs:20270 * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass): Fix inheritance of initargs.
-rw-r--r--lisp/emacs-lisp/eieio-core.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index 6fd9c14088e..b0aa363679e 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -673,10 +673,9 @@ the new child class."
673 (let ((pslots (eieio--class-slots pcv)) 673 (let ((pslots (eieio--class-slots pcv))
674 (pinit (eieio--class-initarg-tuples pcv))) 674 (pinit (eieio--class-initarg-tuples pcv)))
675 (dotimes (i (length pslots)) 675 (dotimes (i (length pslots))
676 (eieio--add-new-slot newc (cl--copy-slot-descriptor (aref pslots i)) 676 (let* ((sd (cl--copy-slot-descriptor (aref pslots i)))
677 (car-safe (car pinit)) nil nil sn) 677 (init (car (rassq (cl--slot-descriptor-name sd) pinit))))
678 ;; Increment each value. 678 (eieio--add-new-slot newc sd init nil nil sn))
679 (setq pinit (cdr pinit))
680 )) ;; while/let 679 )) ;; while/let
681 ;; Now duplicate all the class alloc slots. 680 ;; Now duplicate all the class alloc slots.
682 (let ((pcslots (eieio--class-class-slots pcv))) 681 (let ((pcslots (eieio--class-class-slots pcv)))