[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:1722]*PLAN* face-property-put (Re: mw32faces.el - set-face-underline-p)
- X-ml-count: 1722
- Subject: [MD:1722]*PLAN* face-property-put (Re: mw32faces.el - set-face-underline-p)
- From: Keiichi Suzuki <keiichi@xxxxxxxxx>
- Date: 10 Mar 2000 13:41:48 +0900
- User-agent: Nana-gnus/7.1.0.12 REMI/1.14.1 (Mushigawaōsugi) Chao/1.14.1 (Rokujizō) APEL/10.2 Emacs/20.5 (i386-*-nt4.0.1381) MULE/4.1 (AOI) Meadow/1.12-Beta1 (SASHINUKI:60)
>>>>> meadow-develop の No. 1720
>>>>> Message-Id: <uaek8f90s.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> で、
>>>>> "himi" == Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx>さま曰く...
himi> このパッチに関するchangelogを書いていただけないでしょうか?
2000-03-03 Keiichi Suzuki <keiichi@xxxxxxxxx>
* mw32faces.el (face-property-put): Remove only the specified
property, when `val' is nil.
;; 今更要らないかとも思いますが、一応 plan を。
-------- 8>< -------- 8>< -------- 8>< -------- 8>< -------- 8>< --------
------------------------------------------------------------
Submitter: Suzuki Keiichi
Subject: face-property-put (Re: mw32faces.el - set-face-underline-p)
Transaction: Patch for Bug Fix.
X-ML-COUNT:
Status:
------------------------------------------------------------
>>>>> meadow-develop No. 1712
>>>>> Message-Id: <20000303.151924.68472384.shirai@xxxxxxxxxxxxxxxxxxx>
白井> だめですね。新しく作る face からみんな italic, bold などの属性が
白井> 消えてしまいます。
白井> dispextern.h の
himi> FACE_PROPERTY_MERGEあたりの処理で引っかかっているのかな。
白井> 周辺が要注意。
白井> ではなくて、mw32faces.el の face-property-put() が悪さをしていま
白井> した。
>>>>> meadow-develop No. 1718
>>>>> Message-Id: <u3dq8eakr.fsf@xxxxxxxxxxxxx>
2000-03-03 Keiichi Suzuki <keiichi@xxxxxxxxx>
* mw32faces.el (face-property-put): Remove only the specified
property, when `val' is nil.
-------- 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< のところは、削った方が
;; コストが小さくなるように思います。(どちらにしてもそれほど呼ばれる頻度
;; は高くないと思いますので、どうでもいいような気はします。
-------- 8>< -------- 8>< -------- 8>< -------- 8>< -------- 8>< --------
--
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4 4089 7AAF 2B03 ECBD 614B