Respect field boundaries in indent-line-to (Bug#32014)

* lisp/indent.el (indent-line-to): Use the back-to-indentation point
as the end-point of whitespace removal, rather than
backward-to-indentation which doesn't respect field boundaries.
* test/lisp/emacs-lisp/lisp-mode-tests.el
(lisp-indent-with-read-only-field): Don't expect to fail.
This commit is contained in:
Noam Postavsky 2018-06-30 09:14:22 -04:00
parent 737481cc62
commit e4ad2d1a8f
2 changed files with 3 additions and 3 deletions

View file

@ -300,8 +300,9 @@ 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?)
(delete-region (progn (move-to-column column t) (point))
(progn (backward-to-indentation 0) (point)))))))
(let ((cur-indent (point)))
(delete-region (progn (move-to-column column t) (point))
cur-indent))))))
(defun current-left-margin ()
"Return the left margin to use for this line.

View file

@ -226,7 +226,6 @@ Expected initialization file: `%s'\"
(ert-deftest lisp-indent-with-read-only-field ()
"Test indentation on line with read-only field (Bug#32014)."
:expected-result :failed
(with-temp-buffer
(insert (propertize "prompt> " 'field 'output 'read-only t
'rear-nonsticky t 'front-sticky '(read-only)))