デフォルトのコメントデリミタ(comment delimiters)は
組み込みマクロchangecom
で変更できます。
changecom(opt start, opt end)
startが新しいコメント開始デリミタ(start-comment delimiter)で、
endが新しいコメント終了デリミタ(end-comment delimiter)です。
欠けている引数があるときは、デフォルトのコメント区切り記号
(#
と 改行文字)がその欠けている引数の代わりに使用されます。
コメント区切り記号は任意の長さにすることができます。
changecom
は展開されると消滅します。
define(`comment', `COMMENT') ⇒ # A normal comment ⇒# A normal comment changecom(`/*', `*/') ⇒ # Not a comment anymore ⇒# Not a COMMENT anymore But: /* this is a comment now */ while this is not a comment ⇒But: /* this is a comment now */ while this is not a COMMENT
あたかもクォートされた文字列であるかのようにコメントが出力にコピーされている 様子に注目してください。 コメント内部のテキストが展開されるようにしたいときは、 コメント開始デリミタをクォートしてください。
引数なしでchangecom
を呼ぶとコメント機構が完全に無効になります。
define(`comment', `COMMENT') ⇒ changecom ⇒ # Not a comment anymore ⇒# Not a COMMENT anymore