現在、HEAD,TEXT,MARK,STOPそしてLilyPondのコマンドにおいて、 ダブルクォート(")で括られたパラメータの内に、ダブルクォートを表記したい、 という場合に対応するため、特殊文字としてバッククォート(`)をサポートしています。
そして、バッククォート自体を表記したい場合は、 (`@)の2文字を(`)に置換する方式を採用しています。
しかし、これでは表現できない文字列パターンがあることに気づきました。 ダブルクォートにアットマークが続く場合です。("@)
そこで、このパターンを可能にするため、 以下の置換処理も加えることを考えています。
「連続するバッククォート(``)の2文字も(")に置換する」
これにより、(``@)と記述すると("@)に置換されます。 また、従前の仕様だと(````)は("""")になっていましたが、 新仕様では、("")になります。
結果として、 単独の(`)も連続する(``)も、1文字のダブルクォート(")になる という、少々冗長な仕様になります。
この際、冗長性排除のため単独の(`)の特殊処理は廃止すべきか、とも考えたのですが、 ダブルクォートの入力効率や可読性を考えると、単独(`)の置換は捨て難く、 現状維持しようと考えています。
(``)置換は、次期バージョン(V7.06)、あるいは(V7.10)にて採用する予定です。 本仕様に関して、何かお気づきの点があれば、ご意見頂けると幸いです。
|