mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-28 07:45:00 +00:00
* emacs-lisp/lisp-mode.el (indent-pp-sexp): New fun.
(emacs-lisp-mode-map, lisp-interaction-mode-map): Bind C-M-q to `indent-pp-sexp'. (eval-last-sexp-print-value): Print additionally the value returned by `eval-expression-print-format'.
This commit is contained in:
parent
f833e227cb
commit
889bfc7d44
@ -239,6 +239,7 @@ All commands in `lisp-mode-shared-map' are inherited by this map.")
|
||||
(set-keymap-parent emacs-lisp-mode-map lisp-mode-shared-map)
|
||||
(define-key emacs-lisp-mode-map "\e\t" 'lisp-complete-symbol)
|
||||
(define-key emacs-lisp-mode-map "\e\C-x" 'eval-defun)
|
||||
(define-key emacs-lisp-mode-map "\e\C-q" 'indent-pp-sexp)
|
||||
(define-key emacs-lisp-mode-map [menu-bar] (make-sparse-keymap))
|
||||
(define-key emacs-lisp-mode-map [menu-bar emacs-lisp]
|
||||
(cons "Emacs-Lisp" map))
|
||||
@ -377,6 +378,7 @@ if that value is non-nil."
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(set-keymap-parent map lisp-mode-shared-map)
|
||||
(define-key map "\e\C-x" 'eval-defun)
|
||||
(define-key map "\e\C-q" 'indent-pp-sexp)
|
||||
(define-key map "\e\t" 'lisp-complete-symbol)
|
||||
(define-key map "\n" 'eval-print-last-sexp)
|
||||
map)
|
||||
@ -532,13 +534,13 @@ With argument, print output into current buffer."
|
||||
(prin1-to-string value)))
|
||||
(print-length eval-expression-print-length)
|
||||
(print-level eval-expression-print-level)
|
||||
(char-string (prin1-char value))
|
||||
(beg (point))
|
||||
end)
|
||||
(prog1
|
||||
(prin1 value)
|
||||
(if (and (eq standard-output t) char-string)
|
||||
(princ (concat " = " char-string)))
|
||||
(if (eq standard-output t)
|
||||
(let ((str (eval-expression-print-format value)))
|
||||
(if str (princ str))))
|
||||
(setq end (point))
|
||||
(when (and (bufferp standard-output)
|
||||
(or (not (null print-length))
|
||||
@ -1092,6 +1094,19 @@ ENDPOS is encountered."
|
||||
(indent-sexp endmark)
|
||||
(set-marker endmark nil))))
|
||||
|
||||
(defun indent-pp-sexp (&optional arg)
|
||||
"Indent each line of the list or, with prefix ARG, pretty-printify the list."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region (point) (progn (forward-sexp 1) (point)))
|
||||
(pp-buffer)
|
||||
(goto-char (point-max))
|
||||
(if (eq (char-before) ?\n)
|
||||
(delete-char -1)))))
|
||||
(indent-sexp))
|
||||
|
||||
;;;; Lisp paragraph filling commands.
|
||||
|
||||
(defcustom emacs-lisp-docstring-fill-column 65
|
||||
|
Loading…
Reference in New Issue
Block a user