LispWorks 加载带有中文字符的 lisp 源文件出错的处理办法

LispWorks 加载带有中文字符的 lisp 源文件出错的处理办法

LispWorks版本为:LispWorks Personal Edition 6.1.1(Intel) Mac

在执行这条命令时出错,(load "/Users/admin/myprog.lisp" :external-format :utf-8)

出错信息如下:

CL-USER 1 > (load "/Users/admin/myprog.lisp" :external-format :utf-8)
; Loading text file /Users/admin/myprog.lisp
;  Loading text file /Users/admin/cnlisp.lisp

Error: #\变 is not of type BASE-CHAR.
  1 (continue) Try loading /Users/admin/myprog.lisp again.
  2 Give up loading /Users/admin/myprog.lisp.
  3 Try loading another file instead of /Users/admin/myprog.lisp.
  4 (abort) Return to level 0.
  5 Return to top loop level 0.

Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.

错误原因是该源文件的注释语句使用了中文,试着把 LispWorks 的设置菜单的文件编解码全部设为 utf-8 ,在这个界面设置,设置如下所示:

不幸的是仍然不起作用,搜到这个帖子提到类似问题 (http://permalink.gmane.org/gmane.lisp.lispworks.general/3306 ),回复没有给出明确答案,不过建议去看它提供文档的若干章节,顺着链接在这里(http://www.lispworks.com/documentation/lw44/LWUG/html/lwuser-288.htm#pgfId-889999)看到有这样的一条命令:

(set-default-character-element-type 'simple-char)

试着执行一遍,再次加载,一切OK,显示如下:

CL-USER 2 : 1 > (set-default-character-element-type 'simple-char)
SIMPLE-CHAR

CL-USER 3 : 1 > (load "/Users/admin/myprog.lisp" :external-format :utf-8)
;  Loading text file /Users/admin/myprog.lisp
;   Loading text file /Users/admin/cnlisp.lisp
#P"/Users/admin/myprog.lisp"

CL-USER 4 : 1 >

虽然可以正确加载了,但是目前还是无法正确显示中文,继续尝试解决办法...

====查了半天,得到的消息不太乐观,据说是 Lispworks 在 mac 上使用等宽字体,没有对应的中文,所以没办法正确显示中文,还不是特别理解,为何我的 ccl 和 sbcl 通过 emacs 在 mac 上可以正常显示中文呢?难道说是因为它使用的是非等宽字体?

转载于:https://my.oschina.net/freeblues/blog/104760

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值