summaryrefslogtreecommitdiff
path: root/lisp/net/sieve-mode.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-10-02 14:05:53 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-10-02 14:05:53 +0200
commitef6f16da2f36278706ae787131062dee088f76ee (patch)
tree21492a34fa795ba41e54e075f52b32f798caccd3 /lisp/net/sieve-mode.el
parentb14f049f0000e598cf07b2292c6766bba00bba38 (diff)
downloademacs-ef6f16da2f36278706ae787131062dee088f76ee.tar.gz
Fix point movement when indenting in sieve-mode
* lisp/net/sieve-mode.el (sieve-mode-indent-function): Fix point movement when point is at the start of the line (bug#58202).
Diffstat (limited to 'lisp/net/sieve-mode.el')
-rw-r--r--lisp/net/sieve-mode.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/net/sieve-mode.el b/lisp/net/sieve-mode.el
index f62af03534a..695a3235a7b 100644
--- a/lisp/net/sieve-mode.el
+++ b/lisp/net/sieve-mode.el
@@ -200,7 +200,13 @@ Turning on Sieve mode runs `sieve-mode-hook'."
(let ((depth (car (syntax-ppss))))
(when (looking-at "[ \t]*}")
(setq depth (1- depth)))
- (indent-line-to (* 2 depth)))))
+ (indent-line-to (* 2 depth))))
+ ;; Skip to the end of the indentation if at the beginning of the
+ ;; line.
+ (when (save-excursion
+ (skip-chars-backward " \t")
+ (bolp))
+ (skip-chars-forward " \t")))
(provide 'sieve-mode)