diff options
author | Allen Li <vianchielfaura@gmail.com> | 2017-03-02 07:56:53 -0500 |
---|---|---|
committer | Noam Postavsky <npostavs@gmail.com> | 2017-03-02 19:01:18 -0500 |
commit | c733d9169ce44f5600d41cf0e67e021371954c8e (patch) | |
tree | a6b7f9db31b33f4f8bbdbdc5864cc2340abbe0e9 | |
parent | 6a9ba271a956127e566192b33fc811e802d2d475 (diff) | |
download | emacs-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.el | 7 |
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) |