ドキュメント文字列や診断メッセージの中では、グレイブアクセント(grave
accent)とアポストロフィ(apostrophe)は通常は特別に扱われてマッチするシングルクォーテーションマーク(“curved
quotes”とも呼ばれる)に変換されます。たとえばドキュメント文字列"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
の呼び出しでは、フォーマット"%s"
とformat
呼び出しを引数として変換を回避できます。たとえば(message
"%s" (format "`(a ,(sin %S)) ==> (a %S)" x (sin
x)))
はテキストのクォートスタイルに関わらず、グレイブアクセントで始まるメッセージを表示します。
このユーザーオプションの値はヘルプやメッセージの文言中のシングルクォートにたいして、Emacsが使用するべきスタイルを指定するシンボル。このオプションの値がcurve
なら‘like
this’
のようなcurved single quotesスタイル。値がstraight
なら'like
this'
のような素のアポストロフィスタイル。値がgrave
ならクォートは変換せずに、`like
this'
のようなEmacsバージョン25以前の標準スタイルであるグレイブアクセントとアポストロフィのスタイル。デフォルト値のnil
はcurved
single quotesが表示可能なようならcurve
、それ以外ならgrave
のように機能する。
このオプションはcurved quotesに問題があるプラットフォームで有用。個人の好みに応じてこれを自由にカスタマイズできる。
変数text-quoting-style
の値を直接読み取るべきではない。カレント端末においてこの変数にnil
がセットされている際の正しいクォートスタイルを動的に算出するために、この同名の関数を使用すること。