summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Li <vianchielfaura@gmail.com>2017-03-02 07:56:53 -0500
committerNoam Postavsky <npostavs@gmail.com>2017-03-02 19:01:18 -0500
commitc733d9169ce44f5600d41cf0e67e021371954c8e (patch)
treea6b7f9db31b33f4f8bbdbdc5864cc2340abbe0e9
parent6a9ba271a956127e566192b33fc811e802d2d475 (diff)
downloademacs-c733d9169ce44f5600d41cf0e67e021371954c8e.tar.gz
Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
`abbrev--before-point' does not adjust `pos' to account for when it deletes the "-" left by abbrev-prefix-mark. Therefore, when `abbrev-before-point' goes to restore point, it moves point one character too far forward. * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
-rw-r--r--lisp/abbrev.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/abbrev.el b/lisp/abbrev.el
index cbc604c23d6..01ad3d478fc 100644
--- a/lisp/abbrev.el
+++ b/lisp/abbrev.el
@@ -720,9 +720,10 @@ then ABBREV is looked up in that table only."
(setq start abbrev-start-location)
(setq abbrev-start-location nil)
;; Remove the hyphen inserted by `abbrev-prefix-mark'.
- (if (and (< start (point-max))
- (eq (char-after start) ?-))
- (delete-region start (1+ start)))
+ (when (and (< start (point-max))
+ (eq (char-after start) ?-))
+ (delete-region start (1+ start))
+ (setq pos (1- pos)))
(skip-syntax-backward " ")
(setq end (point))
(when (> end start)