From ed3fdc0ea2b6ceec5399f1ad6d60a9218530cbbf Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 1 Feb 2008 04:04:51 +0000 Subject: [PATCH] (reindent-then-newline-and-indent): Be careful about the unusual case where indent-according-to-mode moves point. --- lisp/ChangeLog | 11 ++++++++--- lisp/simple.el | 4 +++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f0ce703f601..407e9496e13 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2008-02-01 Stefan Monnier + + * simple.el (reindent-then-newline-and-indent): Be careful about the + unusual case where indent-according-to-mode moves point. + 2008-02-01 Dan Nicolaescu * progmodes/verilog-mode.el (verilog-sk-prompt-msb) @@ -13,7 +18,7 @@ 2008-01-31 Martin Rudalics * mail/rmail.el (rmail-highlight): Fix specification. - Reported by: pod . + Reported by: pod . 2008-01-31 Jason Rumney @@ -34,8 +39,8 @@ * progmodes/cc-langs.el (c-specifier-key): Exclude "template" from this regexp; part of same fix as next change to cc-engine.el. - * progmodes/cc-engine.el (c-guess-basic-syntax, CASE 5A.5): Anchor - the "{" of a template function correctly on "template", not the + * progmodes/cc-engine.el (c-guess-basic-syntax, CASE 5A.5): + Anchor the "{" of a template function correctly on "template", not the following "<". * progmodes/cc-defs.el (c-version): Increase to 5.31.5. diff --git a/lisp/simple.el b/lisp/simple.el index 253e03c23b4..3ca479f45c4 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -632,7 +632,9 @@ column specified by the function `current-left-margin'." (newline) (save-excursion (goto-char pos) - (indent-according-to-mode) + ;; Usually indent-according-to-mode should "preserve" point, but it is + ;; not guaranteed; e.g. indent-to-left-margin doesn't. + (save-excursion (indent-according-to-mode)) (delete-horizontal-space t)) (indent-according-to-mode))) -- 2.39.5