* simple.el (prog-indent-sexp): Indent enclosing defun.

This commit is contained in:
Leo Liu 2013-05-16 11:41:52 +08:00
parent 5ebfa896ae
commit 9df4ec5e90
2 changed files with 16 additions and 6 deletions

View file

@ -1,3 +1,7 @@
2013-05-16 Leo Liu <sdl.web@gmail.com>
* simple.el (prog-indent-sexp): Indent enclosing defun.
2013-05-15 Glenn Morris <rgm@gnu.org>
* cus-start.el (show-trailing-whitespace): Move to editing basics.

View file

@ -380,12 +380,18 @@ Other major modes are defined by comparison with this one."
map)
"Keymap used for programming modes.")
(defun prog-indent-sexp ()
"Indent the expression after point."
(interactive)
(let ((start (point))
(end (save-excursion (forward-sexp 1) (point))))
(indent-region start end nil)))
(defun prog-indent-sexp (&optional defun)
"Indent the expression after point.
When interactively called with prefix, indent the enclosing defun
instead."
(interactive "P")
(save-excursion
(when defun
(end-of-line)
(beginning-of-defun))
(let ((start (point))
(end (progn (forward-sexp 1) (point))))
(indent-region start end nil))))
(define-derived-mode prog-mode fundamental-mode "Prog"
"Major mode for editing programming language source code."