;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Commands to optimize spaces to tabs or expand tabs to spaces in a region
+;; (`tabify' and `untabify'). The variable tab-width does the obvious.
+
;;; Code:
;;;###autoload
(defun untabify (start end)
"Convert all tabs in region to multiple spaces, preserving columns.
-The variable tab-width controls the action."
+Called non-interactively, the region is specified by arguments
+START and END, rather than by the position of point and mark.
+The variable `tab-width' controls the spacing of tab stops."
(interactive "r")
(save-excursion
(save-restriction
- (narrow-to-region start end)
+ (narrow-to-region (point-min) end)
(goto-char start)
(while (search-forward "\t" nil t) ; faster than re-search
(let ((start (point))
"Convert multiple spaces in region to tabs when possible.
A group of spaces is partially replaced by tabs
when this can be done without changing the column they end at.
-The variable tab-width controls the action."
+Called non-interactively, the region is specified by arguments
+START and END, rather than by the position of point and mark.
+The variable `tab-width' controls the spacing of tab stops."
(interactive "r")
(save-excursion
(save-restriction