*打印转义*在Debian上运行不正常?

*打印转义*在Debian上运行不正常?,debian,common-lisp,clisp,Debian,Common Lisp,Clisp,我在大学里学习clisp,在其中一本教科书中,当我学习字符、编码等知识时,我学到了这一点 在toplevel中,打印转义默认设置为零 当print escape为null时,将按如下方式打印字符>作为clisp提示符: 当打印转义被指定任何其他值时,例如使用setq打印转义t,那么字符将以其真实的方式显示。我不知道如何真正解释这一点,但我想你明白我的意思: 我遇到的问题是,我在Debian Wheezy上安装了clisp版本1:2.49-8.1,但结果完全相反: -默认情况下,打印转义为我返回t

我在大学里学习clisp,在其中一本教科书中,当我学习字符、编码等知识时,我学到了这一点

在toplevel中,打印转义默认设置为零 当print escape为null时,将按如下方式打印字符>作为clisp提示符: 当打印转义被指定任何其他值时,例如使用setq打印转义t,那么字符将以其真实的方式显示。我不知道如何真正解释这一点,但我想你明白我的意思: 我遇到的问题是,我在Debian Wheezy上安装了clisp版本1:2.49-8.1,但结果完全相反: -默认情况下,打印转义为我返回t -字符被打印为字符ie\a=>\a,打印转义被设置为t,在我将打印转义设置为nil后,它们实际上是ie\a=>a


听起来课程材料有错误,对吗?或者是否有任何其他clisp顶级变量可能会对此产生影响,并且可能在Debian中设置不同,以便得到完全相反的结果/行为?

您可以在Common Lisp Hyperspec search for CLHS*print escape*中查找Common Lisp standard clisp是Common Lisp的一个实现,或使用搜索,或使用http://l1sp.org/cl/*打印转义*

该标准表示,默认情况下它绑定到t,并且实现试图以这样一种方式打印内容,即读回这些内容会产生一个等于打印值的值

CLisp实施说明中没有提及字符与*打印转义*。由于它确实在许多其他情况下认真尝试以可读的方式打印,我认为您看到的是预期和预期的行为

然而,在这方面有很多实现依赖性。例如,\空格可能被其他实现打印为\sharpsign反斜杠空格

> #\newline
#\nEWLINE
> #\space
#\sPACE
> #\a
#\a
> (setq *print-escape* t)
t
> #\newline


> #\space

> #\a
a