summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2018-07-10 12:07:01 -0400
committerNoam Postavsky <npostavs@gmail.com>2018-07-10 12:07:01 -0400
commitc249e17324ddbb1ad34b510be3ad6ebd3248ba0c (patch)
treec749c111d6a78ab5af8e10d6d78d8dd77d91cfd5
parentcc74539a19229ee7e70055b00e8334bd6abc0841 (diff)
downloademacs-c249e17324ddbb1ad34b510be3ad6ebd3248ba0c.tar.gz
* lisp/indent.el (indent-line-to): Fix dedenting of tabs.
-rw-r--r--lisp/indent.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/indent.el b/lisp/indent.el
index db811cf35cc..450632174fc 100644
--- a/lisp/indent.el
+++ b/lisp/indent.el
@@ -300,9 +300,11 @@ only if necessary. It leaves point at end of indentation."
(progn (skip-chars-backward " ") (point))))
(indent-to column))
((> cur-col column) ; too far right (after tab?)
- (let ((cur-indent (point)))
- (delete-region (progn (move-to-column column t) (point))
- cur-indent))))))
+ (delete-region (progn (move-to-column column t) (point))
+ ;; The `move-to-column' call may replace
+ ;; tabs with spaces, so we can't reuse the
+ ;; previous `back-to-indentation' point.
+ (progn (back-to-indentation) (point)))))))
(defun current-left-margin ()
"Return the left margin to use for this line.