Commit 0696d255 authored by Juanma Barranquero's avatar Juanma Barranquero
Browse files

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'.
parent 7eb21b49
2012-02-05 Juanma Barranquero <lekktu@gmail.com>
* emacs-lisp/pp.el (pp-to-string): Use `with-temp-buffer'.
(pp-buffer): Use `ignore-errors', `looking-at-p'.
(pp-last-sexp): Use `looking-at-p'.
2012-02-04 Glenn Morris <rgm@gnu.org>
* files.el (revert-buffer):
......
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment