summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-05-16 12:58:56 +0300
committerEli Zaretskii <eliz@gnu.org>2013-05-16 12:58:56 +0300
commita9519e2685d19b13ce4e3e1ba13f97569013627e (patch)
tree6a9e0e35514c400749f23c891e9a95577fb9bfc1 /lisp/simple.el
parent3946d31b7bcf2a7dceacb86598823360f457cd19 (diff)
parent2d4bf34b5b83b3728b2fb18a72536f3e14afcf34 (diff)
downloademacs-a9519e2685d19b13ce4e3e1ba13f97569013627e.tar.gz
emacs-a9519e2685d19b13ce4e3e1ba13f97569013627e.tar.bz2
emacs-a9519e2685d19b13ce4e3e1ba13f97569013627e.zip
Merge from trunk.
Diffstat (limited to 'lisp/simple.el')
-rw-r--r--lisp/simple.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index e4bde7c358c..f81b02b0acf 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -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."