Mercurial > emacs
diff lisp/textmodes/fill.el @ 61155:801f886872c5
(fill-text-properties-at): New function.
(fill-newline): Use fill-text-properties-at instead of
text-properties-at.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Thu, 31 Mar 2005 04:44:46 +0000 |
parents | 7f57e96cf880 |
children | c905fcf5e3d9 4da4a09e8b1b |
line wrap: on
line diff
--- a/lisp/textmodes/fill.el Thu Mar 31 00:24:57 2005 +0000 +++ b/lisp/textmodes/fill.el Thu Mar 31 04:44:46 2005 +0000 @@ -539,6 +539,17 @@ ;; Make sure we take SOMETHING after the fill prefix if any. (fill-find-break-point linebeg))))) +;; Like text-properties-at but don't include `composition' property. +(defun fill-text-properties-at (pos) + (let ((l (text-properties-at pos)) + prop-list) + (while l + (unless (eq (car l) 'composition) + (setq prop-list + (cons (car l) (cons (cadr l) prop-list)))) + (setq l (cddr l))) + prop-list)) + (defun fill-newline () ;; Replace whitespace here with one newline, then ;; indent to left margin. @@ -546,7 +557,7 @@ (insert ?\n) ;; Give newline the properties of the space(s) it replaces (set-text-properties (1- (point)) (point) - (text-properties-at (point))) + (fill-text-properties-at (point))) (and (looking-at "\\( [ \t]*\\)\\(\\c|\\)?") (or (aref (char-category-set (or (char-before (1- (point))) ?\000)) ?|) (match-end 2))