[Mew-dist 13787] Re: b51
Shun-ichi GOTO
gotoh at example.com
2000年 8月 8日 (火) 08:57:29 JST
余談ですが...
>>>>> at Tue, 8 Aug 2000 03:31:52 +0900
>>>>> nara == NARA Susumu <nara at example.com> said,
nara> edebug で mew-summary-sort をトレースしようと思いましたが、すぐに最後
nara> にとんでしまっているようで、良く分りませんでした。
Mew では summary-mode かどうかのチェックなど、マクロで全体を囲む事が多い
のですが、そういったmacro を単純にedebug するとそういう挙動になります。
そういった場合のために macro に 'edebug-form-spec プロパティをつけておくと
edebug もOKです。
で、あたしは以下のようなdebug 用に設定を使ってます
深くこだわらないので、form-spec は全て (&rest body) としてしまってます。
本来はマトモに def-edebug-spec する必要があるとは思いますが。。。
あとsymbol のlist は全てのマクロの網羅してあるわけでは
ありませんので必要に応じて足して下さい。
## こういう使い方で正しいかどうかはよく知らんけど、機能はしてます
;; Adapt for source debugging with edebug
;; These functions are take argument as &rest body.
(mapcar '(lambda (x)
(if (not (functionp x))
(message "%s is not a founction" x)
(let ((f (symbol-function x)))
(if (and (listp f)
(eq (car f) 'macro))
(let ((argl (if (listp (cdr f))
;; not compiled
(elt f 2)
;; compiled
(aref (cdr f) 0))))
(put x 'edebug-form-spec '(&rest form))
(if (memq '&rest argl)
(put x 'lisp-indent-function
(- (length argl) (length (memq '&rest argl))))))
(message "%s is not a macro")))))
'(mew-summary-only
mew-summary-msg-or-part
mew-summary-msg
mew-summary-part
mew-summary-multi-msgs
mew-summary-prepare-draft
mew-decode-narrow-to-header
mew-flet
mew-plet
mew-piolet
;mew-pioalet
mew-flet
mew-frwlet
mew-elet
))
P.S.
mew 本体の方で def-edebug-spec してあるとなおうれしい
--- Regards,
Shun-ichi Goto <gotoh at example.com>
R&D Group, TAIYO Corp., Tokyo, JAPAN
Mew-dist メーリングリストの案内