Function: cust-print-print-circular
cust-print-print-circular is a byte-compiled function defined in
cust-print.el.gz.
Signature
(cust-print-print-circular OBJECT)
Source Code
;; Defined in /usr/src/emacs/lisp/obsolete/cust-print.el.gz
(defun cust-print-print-circular (object)
;; Printer for `prin1' and `princ' that handles circular structures.
;; If OBJECT appears multiply, and has not yet been printed,
;; prefix with label; if it has been printed, use `#N#' instead.
;; Otherwise, print normally.
(let ((tag (assq object circle-table)))
(if tag
(let ((id (cdr tag)))
(if (> id 0)
(progn
;; Already printed, so just print id.
(cust-print-original-princ "#")
(cust-print-original-princ id)
(cust-print-original-princ "#"))
;; Not printed yet, so label with id and print object.
(setcdr tag (- id)) ; mark it as printed
(cust-print-original-princ "#")
(cust-print-original-princ (- id))
(cust-print-original-princ "=")
(cust-print-low-level-prin object)
))
;; Not repeated in structure.
(cust-print-low-level-prin object))))