[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:1718]mw32faces.el - set-face-underline-p



;; なんだか、流行っているし、せっかく patch を作ったので参加します。 :-)

>>>>> meadow-develop の No. 1717
>>>>> Message-Id: <uem9sscyp.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> で、
>>>>> "himi" == Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx>さま曰く...

himi> Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxxxxxxxx> writes:
>> # nil な P は取らなきゃいけないのかな? と思って、最初躊躇してし
>> # まった。

himi> うっ... まずい!それですそれです。

ですよね。 :-)

-------- 8>< -------- 8>< -------- 8>< -------- 8>< -------- 8>< --------
--- mw32faces.el.orig	Fri Mar 03 17:01:00 2000
+++ mw32faces.el	Fri Mar 03 17:02:00 2000
@@ -85,7 +85,24 @@
 
 (defun face-property-put (plist prop val)
   (if (null val)
-      val
+      (cond
+       ((null plist)
+	nil)
+       ((eq (car plist) prop)
+	(cdr (cdr plist)))
+       (t
+	(let ((x (cdr plist)))
+	  (and (cdr x)
+	       (while
+		   (cond
+		    ((eq (car (cdr x)) prop)
+		     (setcdr x (cdr (cdr (cdr x))))
+		     nil)
+		    ((not (string< (symbol-name prop)
+				   (symbol-name (car (cdr x)))))
+		     nil)
+		    ((setq x (cdr (cdr x))))))))
+	plist))
     (let ((x plist) (y plist))
       (while
 	  (cond
-------- 8>< -------- 8>< -------- 8>< -------- 8>< -------- 8>< --------

;; plist が長くなるようなものでなければ、 string< のところは、削った方が
;; コストが小さくなるように思います。(どちらにしてもそれほど呼ばれる頻度
;; は高くないと思いますので、どうでもいいような気はします。)

;;;; symbol-name が call されるものだとは、初めて知りました。
-- 
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B