Function: cl-print--struct-contents

cl-print--struct-contents is a byte-compiled function defined in cl-print.el.gz.

Signature

(cl-print--struct-contents OBJECT START STREAM)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-print.el.gz
(defun cl-print--struct-contents (object start stream)
  (let* ((class (cl-find-class (type-of object)))
         (slots (cl--struct-class-slots class))
         (len (length slots))
         (limit (if (natnump print-length)
                    (min (+ start print-length) len) len))
         (i start))
    (while (< i limit)
      (let ((slot (aref slots i)))
        (unless (and (= i start) (> i 0)) (princ " " stream))
        (princ ":" stream)
        (princ (cl--slot-descriptor-name slot) stream)
        (princ " " stream)
        (cl-print-object (aref object (1+ i)) stream))
      (cl-incf i))
    (when (< limit len)
      (princ " " stream)
      (cl-print-insert-ellipsis object limit stream))))