]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/cl-macs.el (cl-struct-slot-value): Handle a nil type.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 19 Feb 2015 18:14:51 +0000 (13:14 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 19 Feb 2015 18:14:51 +0000 (13:14 -0500)
lisp/ChangeLog
lisp/emacs-lisp/cl-macs.el

index 933e5bbb515d00848f42ab8d3656bab872efb97f..bf6ea90510c5e3e85f99be81f6eca565b5cbf7cf 100644 (file)
@@ -1,5 +1,7 @@
 2015-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * emacs-lisp/cl-macs.el (cl-struct-slot-value): Handle a nil type.
+
        * emacs-lisp/smie.el (smie-prec2->grammar): Fix corner case problem.
 
 2015-02-18  Kelly Dean  <kelly@prtime.org>
index caaf7687dc81945f5ec62e836a1af1bf8f7d3288..c5f49b0ed9171890b6a5b643d9d8db6b169fa5af 100644 (file)
@@ -2978,9 +2978,9 @@ STRUCT and SLOT-NAME are symbols.  INST is a structure instance."
        ;; We could use `elt', but since the byte compiler will resolve the
        ;; branch below at compile time, it's more efficient to use the
        ;; type-specific accessor.
-       (if (eq (cl-struct-sequence-type ,struct-type) 'vector)
-           (aref ,inst (cl-struct-slot-offset ,struct-type ,slot-name))
-         (nth (cl-struct-slot-offset ,struct-type ,slot-name) ,inst))))))
+       (if (eq (cl-struct-sequence-type ,struct-type) 'list)
+           (nth (cl-struct-slot-offset ,struct-type ,slot-name) ,inst)
+         (aref ,inst (cl-struct-slot-offset ,struct-type ,slot-name)))))))
 
 (run-hooks 'cl-macs-load-hook)