Move point at most to beginning of line when indenting

When indenting a line, point is moved synchronously to keep the current position
relative to the surrounding text.  This works well when the indentation level is
increased (point is moved to the right then), but when the indentation level is
decreased (point is moved to the left), it might happen that point is moved
beyond the beginning of the current line, positioning it somewhere on the
previous line or even before that.  This commit fixes this undesired behavior by
never moving point before the beginning of the current line.
This commit is contained in:
Daniel Borchmann 2021-07-22 21:26:01 +02:00
parent ea45a13707
commit dbb6025d55
No known key found for this signature in database
GPG Key ID: 1C7071A75BB72D64
1 changed files with 4 additions and 2 deletions

View File

@ -723,8 +723,10 @@ Restore point to same position in text of the line as before indentation."
(beginning-of-line)
(indent-line-to (* plantuml-indent-level (plantuml-current-block-depth))))
;; restore position in text of line
(goto-char (- (line-end-position) original-position-eol))))
;; restore position in text of line, but not before the beginning of the
;; current line
(goto-char (max (line-beginning-position)
(- (line-end-position) original-position-eol)))))
;;;###autoload