[mew-dist 23637] Re: format strings
Tatsuya Kinoshita
tats at example.com
2003年 5月 13日 (火) 19:05:14 JST
On May 13, 2003, [mew-dist 23632],
Kazu Yamamoto <kazu at example.com> wrote:
> > 直接メッセージ文字列を置かずに変数や関数で文字列を表しているとこ
> > ろでは、最初の引数として"%s"を置きました。("%"が含まれていても処
> > 理できるように)
>
> これは、実際に問題となった例があるのでしょうか? あるいは、こういう風
> にコードを書きなさいというガイドラインがありますか?
実際の問題としては、白井さんからも指摘のあった
substitute-command-keysの個所に、とりあえず気づきました。
ガイドラインというわけではありませんが、Elispのマニュアル(Info)で
は「(message "%s" (error-message-string err))」というふうなコード
例が見られます。また、下記のような注意書きもあります。
*Warning:* If you want to use your own string as an error message
verbatim, don't just write `(error STRING)'. If STRING contains
`%', it will be interpreted as a format specifier, with
undesirable results. Instead, use `(error "%s" STRING)'.
--
木下達也
Mew-dist メーリングリストの案内