CL-*_*SER 6 common-lisp package
stackoverflow 上没有 Genera 主题,但我想我应该碰碰运气,世界上(可能)有 5 个使用它的人之一可能在这里;尝试一下并没有什么坏处。
我遇到过这样的情况,我正在使用的一些系统使用漂亮的打印,但 Genera 上没有实现。我已经通过使用漂亮打印的前身 XP 成功解决了我自己系统中的问题。看看xp-code.lisp其中的代码并将其与 CCL 中的代码进行比较,就可以清楚地看出 CCL 漂亮的打印功能从何而来。
一种解决方案(现在被证明是不够的)是使用顶级评估来执行重定义警告(xp::install :package my-package)并从重新定义警告中恢复。问题是,当编译其中一个第三方系统时,它们也会抱怨未实现的漂亮打印功能,因此我必须在每个需要漂亮打印的其他软件包中安装 XP。
真正需要发生的是将 XP 安装在软件包中common-lisp,因为所有这些其他系统都将:use :cl并且期望拥有一个功能齐全的漂亮打印系统。
但这并不那么容易;该CL包已被锁定,每个 XP 符号都需要多次确认并输入“yes”才能将其放入 CL 包中。的文档External-only Packages and Locking表明:
要设置仅供外部使用的包,可以暂时解锁它,然后将所需的符号集驻留在其中
但没有哪里说明如何解锁包裹,而且文档检查器也没有出现太多。
我还必须停下来想一想我是否找错了对象。XP 是根据 Genera 编写的,并且该平台的代码中有条件化。使用该功能安装应该不难install;我想知道我是否遗漏了一些明显的东西。
有谁知道如何解锁该CL软件包,或者在 Genera 中安装 XP 的正确方法吗?随附的 XP 说明似乎已过时。
我想到了:
(zl:setf (si:pkg-locked (find-package :cl)) nil)
Run Code Online (Sandbox Code Playgroud)
然后您就可以随意处理该CL包了。请注意,setf如果没有包限定符,则可能是cl:setf,这与 完全不同zl:setf并且不起作用。
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |