From: Chong Yidong Date: Fri, 30 Nov 2012 06:56:51 +0000 (+0800) Subject: * longlines.el (longlines-wrap-line, longlines-encode-region): Preserve text properties. X-Git-Tag: emacs-24.3.90~173^2~9^2~126 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ccf520bb268aa7ca6583706ae18bb90df9f2f139;p=emacs.git * longlines.el (longlines-wrap-line, longlines-encode-region): Preserve text properties. Fixes: debbugs:1425 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6c96213a71f..e0b140bc276 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-11-30 Chong Yidong + + * longlines.el (longlines-wrap-line, longlines-encode-region): + Preserve text properties (Bug#1425). + 2012-11-30 OKAZAKI Tetsurou (tiny change) * vc/vc.el (vc-register): Allow registering a file which is diff --git a/lisp/longlines.el b/lisp/longlines.el index 68722a8f920..d249eaa6583 100644 --- a/lisp/longlines.el +++ b/lisp/longlines.el @@ -278,7 +278,7 @@ end of the buffer." If wrapping is performed, point remains on the line. If the line does not need to be wrapped, move point to the next line and return t." (if (longlines-set-breakpoint) - (progn (insert-before-markers ?\n) + (progn (insert-before-markers-and-inherit ?\n) (backward-char 1) (delete-char -1) (forward-char 1) @@ -384,8 +384,12 @@ compatibility with `format-alist', and is ignored." (mod (buffer-modified-p))) (goto-char (min beg end)) (while (search-forward "\n" reg-max t) - (unless (get-text-property (match-beginning 0) 'hard) - (replace-match " "))) + (let ((pos (match-beginning 0))) + (unless (get-text-property pos 'hard) + (goto-char (1+ pos)) + (insert-and-inherit " ") + (delete-region pos (1+ pos)) + (remove-text-properties pos (1+ pos) 'hard)))) (set-buffer-modified-p mod) end)))