リテラル文字と同様に、文字列定数内でバックスラッシュによるエスケープシーケンスを使用できます(ただし文字定数を開始するクエスチョンマークは使用しない)。たとえば非プリント文字のタブとC-aを含む文字列は、"\t,
\C-a"
のように、それらの間にカンマとスペースを記述します。文字にたいするさまざまな種類の入力構文については文字型とそのサブセクションを参照してください。
しかしバックスラッシュによるエスケープシーケンスとともに記述できるすべての文字が、文字列内で有効というわけではありません。文字列が保持できるコントロール文字はASCIIコントロール文字だけです。ASCIIコントロール文字では、文字列のcaseは区別されません。
正確に言うと、文字列はメタ文字を保持できません。しかし文字列がキーシーケンスとして使用される場合には、文字列内でメタ修飾されたASCII文字を表現するための方法を提供する特別な慣習があります。文字列定数内でメタ文字を示すために‘\M-’構文を使用した場合、これは文字列内の文字の
2**7
のビットをセットします。その文字列がdefine-key
またはlookup-key
で使用される場合、この数字コードは等価なメタ文字に変換されます。文字型を参照してください。
文字列はハイパー(hyper)、スーパー(super)、アルト(alt)で修飾された文字を保持できません。