summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/eieio-custom.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/eieio-custom.el')
-rw-r--r--lisp/emacs-lisp/eieio-custom.el14
1 files changed, 11 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/eieio-custom.el b/lisp/emacs-lisp/eieio-custom.el
index 26fc452f7b1..31d0b85c55a 100644
--- a/lisp/emacs-lisp/eieio-custom.el
+++ b/lisp/emacs-lisp/eieio-custom.el
@@ -223,6 +223,7 @@ Optional argument IGNORE is an extraneous parameter."
;; Loop over all the slots, creating child widgets.
(dotimes (i (length slots))
(let* ((slot (aref slots i))
+ (sname (eieio-slot-descriptor-name slot))
(props (cl--slot-descriptor-props slot)))
;; Output this slot if it has a customize flag associated with it.
(when (and (alist-get :custom props)
@@ -261,13 +262,13 @@ Optional argument IGNORE is an extraneous parameter."
(or
(eieio--class-slot-initarg
(eieio--object-class obj)
- (car slots))
- (car slots)))))
+ sname)
+ sname))))
(capitalize
(if (string-match "^:" s)
(substring s (match-end 0))
s)))))
- :value (slot-value obj (car slots))
+ :value (slot-value obj sname)
:doc (or (alist-get :documentation props)
"Slot not Documented.")
:eieio-custom-visibility 'visible
@@ -297,6 +298,13 @@ Optional argument IGNORE is an extraneous parameter."
(let* ((slot (aref slots i))
(props (cl--slot-descriptor-props slot))
(cust (alist-get :custom props)))
+ ;;
+ ;; Shouldn't I be incremented unconditionally? Or
+ ;; better shouldn't we simply mapc on the slots vector
+ ;; avoiding use of this integer variable? PLN Sat May
+ ;; 2 07:35:45 2015
+ ;;
+ (setq i (+ i 1))
(if (and cust
(or eieio-custom-ignore-eieio-co
(not master-group)