(reindent-then-newline-and-indent): Use a `move after

insert' kind of marker in the save-excursion.
This commit is contained in:
Stefan Monnier 2007-10-24 01:51:03 +00:00
parent 0f7f11b785
commit eb3d6c677b
2 changed files with 15 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2007-10-24 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (reindent-then-newline-and-indent): Use a `move after
insert' kind of marker in the save-excursion.
2007-10-23 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-set-file-uid-gid): Protect `call-process'

View file

@ -633,9 +633,16 @@ column specified by the function `current-left-margin'."
(newline)
(save-excursion
(goto-char pos)
;; 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))
;; We are at EOL before the call to indent-according-to-mode, and
;; after it we usually are as well, but not always. We tried to
;; address it with `save-excursion' but that uses a normal marker
;; whereas we need `move after insertion', so we do the save/restore
;; by hand.
(setq pos (copy-marker pos t))
(indent-according-to-mode)
(goto-char pos)
;; Remove the trailing white-space after indentation because
;; indentation may introduce the whitespace.
(delete-horizontal-space t))
(indent-according-to-mode)))