mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-01 01:41:01 -08:00
lisp/emacs-lisp/pp.el: Do not reimplement common macros; use `looking-at-p'.
(pp-to-string): Use `with-temp-buffer'. (pp-buffer): Use `ignore-errors', `looking-at-p'. (pp-last-sexp): Use `looking-at-p'.
This commit is contained in:
parent
7eb21b49ef
commit
0696d25514
2 changed files with 18 additions and 19 deletions
|
|
@ -41,17 +41,14 @@
|
|||
"Return a string containing the pretty-printed representation of OBJECT.
|
||||
OBJECT can be any Lisp object. Quoting characters are used as needed
|
||||
to make output that `read' can handle, whenever this is possible."
|
||||
(with-current-buffer (generate-new-buffer " pp-to-string")
|
||||
(unwind-protect
|
||||
(progn
|
||||
(lisp-mode-variables nil)
|
||||
(set-syntax-table emacs-lisp-mode-syntax-table)
|
||||
(let ((print-escape-newlines pp-escape-newlines)
|
||||
(print-quoted t))
|
||||
(prin1 object (current-buffer)))
|
||||
(pp-buffer)
|
||||
(buffer-string))
|
||||
(kill-buffer (current-buffer)))))
|
||||
(with-temp-buffer
|
||||
(lisp-mode-variables nil)
|
||||
(set-syntax-table emacs-lisp-mode-syntax-table)
|
||||
(let ((print-escape-newlines pp-escape-newlines)
|
||||
(print-quoted t))
|
||||
(prin1 object (current-buffer)))
|
||||
(pp-buffer)
|
||||
(buffer-string)))
|
||||
|
||||
;;;###autoload
|
||||
(defun pp-buffer ()
|
||||
|
|
@ -60,9 +57,7 @@ to make output that `read' can handle, whenever this is possible."
|
|||
(while (not (eobp))
|
||||
;; (message "%06d" (- (point-max) (point)))
|
||||
(cond
|
||||
((condition-case err-var
|
||||
(prog1 t (down-list 1))
|
||||
(error nil))
|
||||
((ignore-errors (down-list 1) t)
|
||||
(save-excursion
|
||||
(backward-char 1)
|
||||
(skip-chars-backward "'`#^")
|
||||
|
|
@ -71,10 +66,8 @@ to make output that `read' can handle, whenever this is possible."
|
|||
(point)
|
||||
(progn (skip-chars-backward " \t\n") (point)))
|
||||
(insert "\n"))))
|
||||
((condition-case err-var
|
||||
(prog1 t (up-list 1))
|
||||
(error nil))
|
||||
(while (looking-at "\\s)")
|
||||
((ignore-errors (up-list 1) t)
|
||||
(while (looking-at-p "\\s)")
|
||||
(forward-char 1))
|
||||
(delete-region
|
||||
(point)
|
||||
|
|
@ -154,7 +147,7 @@ Also add the value to the front of the list in the variable `values'."
|
|||
(save-excursion
|
||||
(forward-sexp -1)
|
||||
;; If first line is commented, ignore all leading comments:
|
||||
(if (save-excursion (beginning-of-line) (looking-at "[ \t]*;"))
|
||||
(if (save-excursion (beginning-of-line) (looking-at-p "[ \t]*;"))
|
||||
(progn
|
||||
(setq exp (buffer-substring (point) pt))
|
||||
(while (string-match "\n[ \t]*;+" exp start)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue