set-macro-character 的非终止 p 参数有什么作用?

cl-*_*y11 2 macros common-lisp

Set-macro-character有一个可选参数,称为non-terminating-p。似乎是用来指示在读取宏字符后是否应该读取另一个字符,但读取器算法似乎忽略了这个参数。我将其设置为 true 或 false 有区别吗?

m-n*_*m-n 6

如果设置non-terminating-pt宏字符可以在符号名称中显示为未转义(就像#在符号中一样foo#baz)。如果你离开它nil并且读者在积累一个符号时遇到宏字符,它会终止符号的集合(就像'in foo'bar,它读作符号foo和列表(quote bar))。

请参阅阅读器算法中的第 8 步——有问题的参数在被视为 anon-terminating macro character和 a之间切换宏字符terminating macro character