diff options
| author | Noam Postavsky | 2018-06-30 09:14:22 -0400 |
|---|---|---|
| committer | Noam Postavsky | 2018-07-09 20:08:13 -0400 |
| commit | e4ad2d1a8fad8c8c786b61083b05cfaa1ea5669c (patch) | |
| tree | d56221de41e6d1d1b43edd025c1bba379684a312 /lisp | |
| parent | 737481cc624c62bdbd210b3eda8a6de0f23d4505 (diff) | |
| download | emacs-e4ad2d1a8fad8c8c786b61083b05cfaa1ea5669c.tar.gz emacs-e4ad2d1a8fad8c8c786b61083b05cfaa1ea5669c.zip | |
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.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/indent.el | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/indent.el b/lisp/indent.el index 398585e1f90..db811cf35cc 100644 --- a/lisp/indent.el +++ b/lisp/indent.el | |||
| @@ -300,8 +300,9 @@ only if necessary. It leaves point at end of indentation." | |||
| 300 | (progn (skip-chars-backward " ") (point)))) | 300 | (progn (skip-chars-backward " ") (point)))) |
| 301 | (indent-to column)) | 301 | (indent-to column)) |
| 302 | ((> cur-col column) ; too far right (after tab?) | 302 | ((> cur-col column) ; too far right (after tab?) |
| 303 | (delete-region (progn (move-to-column column t) (point)) | 303 | (let ((cur-indent (point))) |
| 304 | (progn (backward-to-indentation 0) (point))))))) | 304 | (delete-region (progn (move-to-column column t) (point)) |
| 305 | cur-indent)))))) | ||
| 305 | 306 | ||
| 306 | (defun current-left-margin () | 307 | (defun current-left-margin () |
| 307 | "Return the left margin to use for this line. | 308 | "Return the left margin to use for this line. |