changeset 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 81b738b4c729
children b18a0b88ee06
files lisp/textmodes/fill.el
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
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))