Mercurial > emacs
changeset 67120:d3b833785ae6
(longlines-wrap-line): Reorder wrapping to "insert
new character, then delete" in order to preserve markers.
author | David Kastrup <dak@gnu.org> |
---|---|
date | Fri, 25 Nov 2005 11:06:30 +0000 |
parents | c4aae786a4e4 |
children | f354001864bf |
files | lisp/ChangeLog lisp/longlines.el |
diffstat | 2 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Fri Nov 25 07:57:21 2005 +0000 +++ b/lisp/ChangeLog Fri Nov 25 11:06:30 2005 +0000 @@ -1,3 +1,8 @@ +2005-11-25 David Kastrup <dak@gnu.org> + + * longlines.el (longlines-wrap-line): Reorder wrapping to "insert + new character, then delete" in order to preserve markers. + 2005-11-25 David Ponce <david@dponce.com> * recentf.el (recentf-arrange-by-rule): Handle a special
--- a/lisp/longlines.el Fri Nov 25 07:57:21 2005 +0000 +++ b/lisp/longlines.el Fri Nov 25 11:06:30 2005 +0000 @@ -246,17 +246,21 @@ nil) (if (longlines-merge-lines-p) (progn (end-of-line) - (delete-char 1) ;; After certain commands (e.g. kill-line), there may be two ;; successive soft newlines in the buffer. In this case, we ;; replace these two newlines by a single space. Unfortunately, ;; this breaks the conservation of (spaces + newlines), so we ;; have to fiddle with longlines-wrap-point. - (if (or (bolp) (eolp)) - (if (> longlines-wrap-point (point)) - (setq longlines-wrap-point - (1- longlines-wrap-point))) - (insert-char ? 1)) + (if (or (prog1 (bolp) (forward-char 1)) (eolp)) + (progn + (delete-char -1) + (if (> longlines-wrap-point (point)) + (setq longlines-wrap-point + (1- longlines-wrap-point)))) + (insert-before-markers-and-inherit ?\ ) + (backward-char 1) + (delete-char -1) + (forward-char 1)) nil) (forward-line 1) t)))