Genera系统解锁CL包及正确安装XP美化打印组件的方法咨询
目前Stack Overflow上没有Genera相关的话题,但我还是想尝试咨询,说不定全球仅有的几位Genera用户刚好能看到这个问题,尝试一下也无妨。
我目前遇到的问题是:我正在使用的多个系统都用到了*美化打印(pretty printing)*功能,但该功能在Genera系统上并未实现。我已经通过美化打印的前身XP在自有系统中绕过了该问题,对比xp-code.lisp与CCL的相关代码可以看出,CCL的美化打印功能正是源自XP。
目前我使用的临时解决方案已被证实存在不足:在顶层执行(xp::install :package my-package),并在出现重定义警告时选择继续执行。但问题在于第三方系统编译时依然会提示美化打印功能未实现,我需要为每个需要该功能的包单独安装XP。
我认为理想的解决方案是将XP安装到common-lisp包中,因为所有第三方系统都会:use :cl并预期CL包包含完整可用的美化打印功能。
但该方案实现难度较大:CL包处于锁定状态,每个XP符号导入CL包时都需要多次确认并输入“yes”才能完成。External-only Packages and Locking的官方文档提到:
要设置仅对外公开的包,可以临时解锁该包,再将所需的符号集 intern 到该包中
但文档并未说明如何解锁包,Document Examiner也没有检索到相关操作指引。
我也怀疑自己的思路是否存在偏差:XP本身就是为Genera开发的,代码中也包含对应平台的条件编译逻辑,通过install函数安装本不该这么复杂,不知道是不是我遗漏了什么显而易见的操作步骤。
请问有没有开发者知道如何解锁CL包,或者在Genera系统中正确安装XP的方法?XP自带的安装说明看起来已经过时了。
内容的提问来源于stack exchange,提问作者CL-USER

