Mercurial > emacs
changeset 84773:d8b9b78eb16c
(indent-for-tab-command): Indent the region if
transient-mark-mode and the region is active.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Sat, 22 Sep 2007 00:57:00 +0000 |
parents | c104419f915c |
children | 3c064398f718 |
files | etc/NEWS lisp/ChangeLog lisp/indent.el |
diffstat | 3 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/NEWS Sat Sep 22 00:09:45 2007 +0000 +++ b/etc/NEWS Sat Sep 22 00:57:00 2007 +0000 @@ -110,6 +110,9 @@ * Editing Changes in Emacs 23.1 +** TAB now indents the region if the region is active and +`transient-mark-mode' is turned on. + ** C-z now invokes `suspend-frame', C-x C-c now invokes `save-buffers-kill-terminal'.
--- a/lisp/ChangeLog Sat Sep 22 00:09:45 2007 +0000 +++ b/lisp/ChangeLog Sat Sep 22 00:57:00 2007 +0000 @@ -1,3 +1,8 @@ +2007-09-22 Dan Nicolaescu <dann@ics.uci.edu> + + * indent.el (indent-for-tab-command): Indent the region if + transient-mark-mode and the region is active. + 2007-09-21 Francesco Potort,Al(B <pot@gnu.org> * progmodes/octave-inf.el (inferior-octave-mode): Use add-hook to
--- a/lisp/indent.el Sat Sep 22 00:09:45 2007 +0000 +++ b/lisp/indent.el Sat Sep 22 00:57:00 2007 +0000 @@ -78,11 +78,13 @@ (funcall indent-line-function))) (defun indent-for-tab-command (&optional arg) - "Indent line in proper way for current major mode or insert a tab. + "Indent line or region in proper way for current major mode or insert a tab. Depending on `tab-always-indent', either insert a tab or indent. If initial point was within line's indentation, position after the indentation. Else stay at same point in text. -The function actually called to indent is determined by the value of +If `transient-mark-mode' is turned on the region is active, +indent the region. +The function actually called to indent the line is determined by the value of `indent-line-function'." (interactive "P") (cond @@ -97,7 +99,12 @@ ;; indenting, so we can't pass them to indent-according-to-mode. ((memq indent-line-function '(indent-relative indent-relative-maybe)) (funcall indent-line-function)) - (t ;; The normal case. + ;; The region is active, indent it. + ((and transient-mark-mode mark-active + (not (eq (region-beginning) (region-end)))) + (indent-region (region-beginning) (region-end))) + ;; Indent the line. + (t (indent-according-to-mode)))) (defun insert-tab (&optional arg)