]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix 'reindent-then-newline-and-indent' with 'abbrev-mode'
authorEli Zaretskii <eliz@gnu.org>
Sat, 15 Jun 2024 10:04:12 +0000 (13:04 +0300)
committerEshel Yaron <me@eshelyaron.com>
Sat, 15 Jun 2024 17:31:38 +0000 (19:31 +0200)
* lisp/simple.el (reindent-then-newline-and-indent): Use a marker
for the initial position.  (Bug#71459)

(cherry picked from commit ffa349f983fa5c754fd7751c0757f6c704fbfe5a)

lisp/simple.el

index 8d8e898823e8865e61315c60c217d54e4d41a9db..b2e843ed8822c74ca88615fec4d1c464e2c48e5f 100644 (file)
@@ -927,7 +927,9 @@ In programming language modes, this is the same as TAB.
 In some text modes, where TAB inserts a tab, this indents to the
 column specified by the function `current-left-margin'."
   (interactive "*")
-  (let ((pos (point))
+  ;; Use a marker because the call to 'newline' below could insert some
+  ;; text, e.g., if 'abbrev-mode' is turned on.
+  (let ((pos (point-marker))
         (electric-indent-mode nil))
     ;; Be careful to insert the newline before indenting the line.
     ;; Otherwise, the indentation might be wrong.