Function: data-debug/eieio-insert-slots
data-debug/eieio-insert-slots is a byte-compiled function defined in
eieio-datadebug.el.gz.
Signature
(data-debug/eieio-insert-slots &rest ARGS)
Implementations
(data-debug/eieio-insert-slots (OBJ eieio-default-superclass) PREFIX) in `eieio-datadebug.el'.
Insert the slots of OBJ into the current DDEBUG buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio-datadebug.el.gz
;;; METHODS
;;
;; Each object should have an opportunity to show stuff about itself.
(cl-defmethod data-debug/eieio-insert-slots ((obj eieio-default-superclass)
prefix)
"Insert the slots of OBJ into the current DDEBUG buffer."
(let ((inhibit-read-only t))
(data-debug-insert-thing (eieio-object-name-string obj)
prefix
"Name: ")
(let* ((cv (eieio--object-class obj)))
(data-debug-insert-thing (eieio--class-name cv)
prefix
"Class: ")
;; Loop over all the public slots
(let ((slots (eieio--class-slots cv)))
(dotimes (i (length slots))
(let* ((slot (aref slots i))
(sname (cl--slot-descriptor-name slot))
(i (eieio--class-slot-initarg cv sname))
(sstr (concat (symbol-name (or i sname)) " ")))
(if (slot-boundp obj sname)
(let* ((v (eieio-oref obj sname)))
(data-debug-insert-thing v prefix sstr))
;; Unbound case
(data-debug-insert-custom
"#unbound" prefix sstr
'font-lock-keyword-face)
)))))))