[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 メーリングリストの案内