文档章节

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

FreeBlues
 FreeBlues
发布于 2013/01/25 10:31
字数 470
阅读 185
收藏 0

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 上可以正常显示中文呢?难道说是因为它使用的是非等宽字体?

© 著作权归作者所有

共有 人打赏支持
FreeBlues
粉丝 98
博文 280
码字总数 493678
作品 0
其它
程序员
私信 提问
Win32 GNU Common Lisp 开发环境初探

因为我也是初学LISP,所以很多概念理解的都非常模糊,如果您在看完本篇之后,能给我一些批评和建议,我会非常感谢。 在Win32环境下安装GNU Common Lisp之后,会在开始菜单生成对应的快捷方式...

兰穆达
2012/05/22
0
0
如何查看 Common Lisp 的标准函数(这么叫不太准确,规范的名称似乎是操作符 Symb...

如何查看 Common Lisp 的标准函数(这么叫不太准确,规范的名称似乎是操作符 Symbol ) 对于初学者来说,学习使用 Lisp 有一点很不习惯的地方就是不知道怎么查帮助,比如想了解下 Lisp 有哪些...

FreeBlues
2013/01/26
0
0
Using Common Lisp on Mac OS X

Ray Rischpater’s Blog Using Common Lisp on Mac OS X I’ve been a Lisp nut for years. I was first exposed to Lisp on my TRS-80, when I was about thirteen; Randy Beer had written......

FreeBlues
2013/01/18
0
0
用 load 加载含中文的代码只需附带参数 :external-format :utf-8 就...

用 load 加载含中文的代码只需附带参数 :external-format :utf-8 就可以成功了 假如你的 lisp 源代码中使用了中文,那么在 load 的时候就会出错,因为 load 函数默认的编码格式是 latin,需要...

FreeBlues
2013/01/21
0
2
Common Lisp 初学者快速入门指导

Common Lisp 初学者快速入门指导 V 0.90 目录 一、简单介绍 1、本文目标 2、适用读者 3、迭代式学习* 4、本章内容小结 二、快速上手 1、推荐开发环境 Lispbox 2、开发环境简要介绍 3、第一个...

FreeBlues
2013/05/17
0
21

没有更多内容

加载失败,请刷新页面

加载更多

Ruby中的继承、原型、面向对象、访问域

先有类还是先有对象 从鸡蛋悖论解决可以悟到一个道理,不要从常识上假设非此即彼和绝对静止。 Ruby中的类和对象正是这么个东西 我们创建一个类,那它就是Class这个对象的实例,而Class,于是...

可数局部基
49分钟前
4
0
什么时候使用字节流、什么时候使用字符流,二者的区别

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。 InputStream 和OutputStream,...

watermelon11
今天
6
0
Alpakka Kafka,反应式Kafka客户端

Alpakka Kafka 是一个要用于 Java 和 Scala 语言的开源的流感知和反应式集成数据线项目。它建立在 Akka Stream之上,提供了 DSL 来支持反应式和流式编程,内置回压功能。Akka Streams 是 Re...

羊八井
今天
5
0
PHP7源码编译安装详解

$ yum groupinstall "development tools"$ yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype \freetype-devel libpng libpng-devel libxml2 ......

问题终结者
今天
5
0
Django学习笔记-从创建虚拟环境到启用服务

1 前置条件 windows系统下,目前已经完成anaconda3或miniconda3的安装,这也意味着已经完成了python3的安装。 2 创建虚拟环境 1、通过Anaconda Prompt,使用conda命令创建虚拟环境(base) e...

davidwbnu
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部