diff options
Diffstat (limited to 'lisp/emacs-lisp/pp.el')
-rw-r--r-- | lisp/emacs-lisp/pp.el | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index 8464b5a5198..d199716b2c5 100644 --- a/lisp/emacs-lisp/pp.el +++ b/lisp/emacs-lisp/pp.el @@ -1,6 +1,6 @@ ;;; pp.el --- pretty printer for Emacs Lisp -*- lexical-binding: t -*- -;; Copyright (C) 1989, 1993, 2001-2021 Free Software Foundation, Inc. +;; Copyright (C) 1989, 1993, 2001-2022 Free Software Foundation, Inc. ;; Author: Randal Schwartz <merlyn@stonehenge.com> ;; Keywords: lisp @@ -24,6 +24,7 @@ ;;; Code: +(require 'cl-lib) (defvar font-lock-verbose) (defgroup pp nil @@ -233,13 +234,14 @@ Use the `pp-max-width' variable to control the desired line length." (cons (cond ((consp (cdr sexp)) (if (and (length= sexp 2) - (eq (car sexp) 'quote)) + (memq (car sexp) '(quote function))) (cond ((symbolp (cadr sexp)) (let ((print-quoted t)) (prin1 sexp (current-buffer)))) ((consp (cadr sexp)) - (insert "'") + (insert (if (eq (car sexp) 'quote) + "'" "#'")) (pp--format-list (cadr sexp) (set-marker (make-marker) (1- (point)))))) (pp--format-list sexp))) |