emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 215e5bf: (eieio-copy-parents-into-subclass): Fix in


From: Stefan Monnier
Subject: [Emacs-diffs] master 215e5bf: (eieio-copy-parents-into-subclass): Fix inheritance of initargs
Date: Wed, 08 Apr 2015 21:23:58 +0000

branch: master
commit 215e5bf0cf10b519838cc9d658caa35d5cbc4da6
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    (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.
---
 lisp/emacs-lisp/eieio-core.el |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index 6fd9c14..b0aa363 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -673,10 +673,9 @@ the new child class."
       (let ((pslots (eieio--class-slots pcv))
             (pinit (eieio--class-initarg-tuples pcv)))
         (dotimes (i (length pslots))
-          (eieio--add-new-slot newc (cl--copy-slot-descriptor (aref pslots i))
-                               (car-safe (car pinit)) nil nil sn)
-          ;; Increment each value.
-          (setq pinit (cdr pinit))
+         (let* ((sd (cl--copy-slot-descriptor (aref pslots i)))
+                 (init (car (rassq (cl--slot-descriptor-name sd) pinit))))
+           (eieio--add-new-slot newc sd init nil nil sn))
           )) ;; while/let
       ;; Now duplicate all the class alloc slots.
       (let ((pcslots (eieio--class-class-slots pcv)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]