Function: cl-print--string-props
cl-print--string-props is a byte-compiled function defined in
cl-print.el.gz.
Signature
(cl-print--string-props OBJECT START STREAM)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-print.el.gz
(defun cl-print--string-props (object start stream)
(let* ((first (not (eq start 0)))
(len (length object))
(interval-limit (and (natnump print-length)
(max 1 (/ print-length 3))))
(interval-count 0)
(start-pos (if (text-properties-at start object)
start (next-property-change start object)))
(end-pos (next-property-change start-pos object len)))
(while (and (or (null interval-limit)
(< interval-count interval-limit))
(< start-pos len))
(let ((props (text-properties-at start-pos object)))
(when props
(if first
(setq first nil)
(princ " " stream))
(princ start-pos stream)
(princ " " stream) (princ end-pos stream)
(princ " " stream) (cl-print-object props stream)
(incf interval-count))
(setq start-pos end-pos
end-pos (next-property-change start-pos object len))))
(when (< start-pos len)
(princ " " stream)
(cl-print-insert-ellipsis object (list start-pos) stream))))