* lisp/electric.el (electric-indent-post-self-insert-function):

Delete trailing newlines even if we don't reindent.
This commit is contained in:
Stefan Monnier 2010-12-07 10:36:08 -05:00
parent f2f6365c74
commit a733fc3715
2 changed files with 17 additions and 7 deletions

View file

@ -1,5 +1,15 @@
2010-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
* electric.el (electric-indent-post-self-insert-function):
Delete trailing newlines even if we don't reindent.
2010-12-06 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (completion-at-point): Remove the `arg'.
* bindings.el (complete-symbol): Move back from minibuffer.el.
2010-12-06 Deniz Dogan <deniz.a.m.dogan@gmail.com>
* simple.el (just-one-space): Delete newlines for negative arg.
2010-12-06 Stefan Monnier <monnier@iro.umontreal.ca>

View file

@ -217,15 +217,15 @@ Returns nil when we can't find this char."
(not (nth 8 (save-excursion (syntax-ppss pos)))))
;; For newline, we want to reindent both lines and basically behave like
;; reindent-then-newline-and-indent (whose code we hence copied).
(when (and (< (1- pos) (line-beginning-position))
;; Don't reindent the previous line if the indentation
;; function is not a real one.
(not (memq indent-line-function
'(indent-relative indent-relative-maybe))))
(when (< (1- pos) (line-beginning-position))
(let ((before (copy-marker (1- pos) t)))
(save-excursion
(goto-char before)
(indent-according-to-mode)
(unless (memq indent-line-function
'(indent-relative indent-relative-maybe))
;; Don't reindent the previous line if the indentation function
;; is not a real one.
(goto-char before)
(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