]> git.eshelyaron.com Git - emacs.git/commitdiff
* simple.el (prog-indent-sexp): Indent enclosing defun.
authorLeo Liu <sdl.web@gmail.com>
Thu, 16 May 2013 03:41:52 +0000 (11:41 +0800)
committerLeo Liu <sdl.web@gmail.com>
Thu, 16 May 2013 03:41:52 +0000 (11:41 +0800)
lisp/ChangeLog
lisp/simple.el

index c579642642ee64144247b1f294a7a4b74bd6310a..0b233385eb755c838c9b6c8bf8dfc0246ae2a537 100644 (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.
index e4bde7c358c9e03dedaf16b8ecf35c0ff56c1d36..f81b02b0acf16b1560f809528881d263b28177bf 100644 (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."