Function: pp--insert-lisp

pp--insert-lisp is a byte-compiled function defined in pp.el.gz.

Signature

(pp--insert-lisp SEXP)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/pp.el.gz
(defun pp--insert-lisp (sexp)
  (cl-case (type-of sexp)
    (vector (pp--format-vector sexp))
    (cons (cond
           ((consp (cdr sexp))
            (if (and (length= sexp 2)
                     (memq (car sexp) '(quote function)))
                (cond
                 ((symbolp (cadr sexp))
                  (let ((print-quoted t))
                    (prin1 sexp (current-buffer))))
                 ((consp (cadr sexp))
                  (insert (if (eq (car sexp) 'quote)
                              "'" "#'"))
                  (pp--format-list (cadr sexp)
                                   (set-marker (make-marker) (1- (point))))))
              (pp--format-list sexp)))
           (t
            (prin1 sexp (current-buffer)))))
    ;; Print some of the smaller integers as characters, perhaps?
    (integer
     (if (<= ?0 sexp ?z)
         (let ((print-integers-as-characters t))
           (princ sexp (current-buffer)))
       (princ sexp (current-buffer))))
    (string
     (let ((print-escape-newlines t))
       (prin1 sexp (current-buffer))))
    (otherwise (princ sexp (current-buffer)))))