+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
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)))