[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:4399] strict-spec & function.
- X-ml-count: 4399
- Subject: [MD:4399] strict-spec & function.
- From: MIYASHITA Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxx>
- Date: Sat, 24 May 2003 17:39:25 +0900
- User-agent: Wanderlust/2.5.7 (Smooth) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/21.1 (i386-msvc-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/1.99 Alpha4 (KUROGANE)
ちょっと時間を使って、elisp LF loaderを使ったHigh level API実装が
出来上がったんですが、かなり便利な分、早くも不満が出てきました。^^;;;
strict-specとfunctionが独立していても何にもメリットがないし、
functionを導入すると、strict-specが宙に浮いてしまうということ、specvecは、
いずれにせよ便利だというあたりに気づきました。こいつらは統合
するべきでしょう。
具体的には、strict-spec, functionの両方のkeyを廃止し、かわりに、specという
キーを導入します。(ああ、また非互換な変更だ^^;;;)
で、こんな感じで指定します。
(spec
(<specvec> strict <logfont> [<option-alist>])
or
(<specvec> function <func> [<option-alist>])
...)
例としてはこんな感じ。
(w32-add-font
"windows-16"
'((spec
((:char-spec ascii :height any)
strict
(w32-logfont "Courier New" 8 16 400 0 nil nil nil 0 1 3 49))
((:char-spec japanese-jisx0208 :height any)
strict
(w32-logfont "MS ゴシック" 0 -16 400 0 nil nil nil 128 1 3 49))
((:char-spec japanese-jisx0208 :height any :slant italic)
strict
(w32-logfont "MS 明朝" 0 -16 400 0 nil nil nil 128 1 3 17))
((:char-spec japanese-jisx0208 :height any :weight any :slant any)
function
(lambda (c attrs f)
(mw32-load-lf-from-request
c attrs f
'((width . 16))
'((fixed . t)
(family . "Courier New"))))))))
もっとも、実際のところ、
(<specvec> strict <logfont> [<option-alist>])
== (<specvec> function (lambda (c attrs f) <logfont>) [<option-alist>])
にすぎないというあたり、ちょこっと悲しいものがありますが。^^;;;
で、こういう変更をしてもよいですかねぇ?
from himi