通常、ドキュメント文字列や診断メッセージでは、グレイヴアクセントやアポストロフィは特別に扱われ、対応するシングルクォート(「カーブドクォート」とも呼ばれます)に変換されます。例えば、ドキュメント文字列
"Alias for `foo'." と関数呼び出し (message "Alias for `foo'.") は、どちらも "Alias for ‘foo’." に変換されます。あまり一般的ではありませんが、Emacs
ではグレイヴアクセントやアポストロフィをそのまま、あるいはアポストロフィのみ(例:"Alias for
'foo'.")として表示することがあります。ドキュメント文字列やメッセージ形式は、これらのいずれのスタイルでも適切に表示されるように記述する必要があります。例えば、ドキュメント文字列
"Alias for 'foo'." は、英語では一般的ではないスタイルである
"Alias for ’foo’."
として表示される可能性があるため、おそらく意図した通りではないでしょう。
テキストのクォートスタイルに関わらず、グレイヴアクセントやアポストロフィを変換せずに表示したい場合があります。ドキュメント文字列では、エスケープを使用することでこれを実現できます。例えば、ドキュメント文字列
"\\=`(a ,(sin 0)) ==> (a 0.0)"
におけるグレイヴアクセントはLispコードを示すことを意図しているため、エスケープされており、クォートスタイルに関わらずそのまま表示されます。message や error の呼び出しでは、引数に
format の呼び出しを用いたフォーマット "%s" を使用することで、変換を回避できます。例えば、(message "%s" (format "`(a ,(sin %S)) ==> (a
%S)" x (sin x))) はテキストのクォートスタイルに関わらず、グレイヴアクセントで始まるメッセージを表示します。
このユーザーオプションの値は、ヘルプやメッセージの文言におけるシングルクォートにEmacsが使用すべきスタイルを指定するシンボルです。オプションの値が
curve の場合、スタイルは曲線的なシングルクォートを用いる ‘like this’ となります。値が straight
の場合、スタイルは直線的なアポストロフィを用いる 'like this' となります。値が grave
の場合、クォートは変換されず、スタイルはEmacsバージョン25以前の標準スタイルである、グレイヴアクセントとアポストロフィを用いる `like this' となります。デフォルト値の nil
は、曲線的なシングルクォートが表示可能と思われる場合は curve のように、そうでない場合は
grave のように動作します。
このオプションは、曲線引用符の表示に問題があるプラットフォームで便利です。個人の好みに合わせて自由にカスタマイズできます。
変数 text-quoting-style
の値を直接読み取ってはいけません。代わりに、同名のこの関数を使用して、前述の nil
の場合に、現在のターミナルにおける適切なクォートスタイルを動的に算出してください。