文档章节

Clozure CL (user-homedir-pathname)问题总结

闲庭风
 闲庭风
发布于 2013/07/24 14:31
字数 584
阅读 473
收藏 1
点赞 0
评论 0

自己的emacs配置在windows下使用已经很好了,也总结了很多脚本,最近在运行lisp时出现问题,我用的是sbcl和Clozure CL.这两个都是最优秀的开源lisp实现之一.我的配置文件都在我的git仓库目录,这样方便和其他机器上的同步,同样也把quicklisp安装到git仓库,这样不用在其他电脑用时需求下载相应 的库.我的配置文件在http://git.oschina.net/wuhen/emacs-config.

测试LISP步骤:

    一,SBCL:
    1),打开emacs-client.bat,按CTRL+-,Alt+X,输入slime<ret>sbcl
    2),在repl中输入(load "~/quicklisp.lisp")  
                         (quicklisp-quickstart :install) ;;默认安装到HOME变量指向的位置
                        (ql:add-to-init-file)  ;;在HOME目录中添加.sbclrc文件
    3),当再次启动sbcl时一切都正常,ql库已经自动加载了.

   二,Clozure CL   
    1),在HOME变量指向的目录中添加.ccl-init.lisp文件,并加入


;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))))  
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))


    2),在emacs中按CTRL+-,Alt+X,输入slime<ret>ccl
    3),一切正常,ql库自动加载

emacs启动文件如下:

@echo off
set EMACS_HOME=c:/common-tools/emacs-23.4
rem set HOME=c:/common-tools/emacs-23.4
set HOME=D:/GitRepository/emacs-config-git
set SBCL_HOME=c:/common-tools/lisp/sbcl
set CCL_DEFAULT_DIRECTORY=c:/common-tools/lisp/ccl
rem ccl默认采用USERPROFILE做为用户HOME目录,在此设置环境变量改变CCL的HOME目录,以便和sbcl一起使用quicklisp.
set USERPROFILE=%HOME%
set EMACS_SERVER_FILE=%HOME%/.emacs.d/server/server
set PATH=%PATH%;%EMACS_HOME%/bin;%SBCL_HOME%;%CCL_DEFAULT_DIRECTORY%;%HOME%

rem runemacs --debug-init
RunHiddenConsole.exe "c:/common-tools/emacs-23.4/bin/emacsclientw.exe" --alternate-editor="c:/common-tools/emacs-23.4/bin/runemacs.exe" "%1"

如果想从右键菜单打开则执行emacs.reg即可.

总结说明:
    1,sbcl和ccl在windows中默认的用户目录是根据环境变量HOME和USERPROFILE来确定的,sbcl是HOME变量,CCL是USERPROFILE变量,如果不指定则默认为C:\Documents and Settings\XXX(windows XP).
    2,SBCL和CCL的主目录由环境变量SBCL_HOME和CCL_DEFAULT_DIRECTORY指定.
    3,使用方法:直接将git clone到本地,修改bat和reg文件对应的路径即可.

在此要非常感谢@FreeBlues不厌其烦的回答我的问题http://www.oschina.net/question/251613_119214.经测试是因为我手动创建.ccl-init.lisp时在初始化文件第一行加入了(format t (user-homedir-pathname))导致,改为(princ "Clozure CL init file dir is ")
(prin1 (user-homedir-pathname))即可 (卧操,这么低级的错误)


© 著作权归作者所有

共有 人打赏支持
闲庭风
粉丝 1
博文 4
码字总数 1288
作品 0
郑州
高级程序员
用Lisp(CCL)调用Cocoa的nib文件--Nib-Loading 使用指导(教程翻译)

用Lisp(CCL)调用Cocoa的nib文件-Nib-Loading 使用指导(教程翻译) 原文地址:http://trac.clozure.com/ccl/browser/trunk/source/examples/cocoa/nib-loading/HOWTO.html原文标题:Nib-Loading ......

FreeBlues ⋅ 2013/06/17 ⋅ 0

Clozure Common Lisp 接口数据库创建操作指导(教程翻译)

Clozure Common Lisp 接口数据库创建操作指导(教程翻译) 原文地址:网络: http://trac.clozure.com/ccl/browser/trunk/source/examples/cocoa/interface-databases/本地: file:///ccl-1.8-dar......

FreeBlues ⋅ 2013/08/07 ⋅ 0

Common Lisp 函数 require 和 provide 源代码分析

Common Lisp 函数 require 和 provide 源代码分析 涉及文件:l1-files.lispl1-init.lisp作者:FreeBlues2013-08-19 目录 0) 1) 2) 2.1) 2.2) 2.3) 0 概述(id:0) require 使用场景, 使用 quickl......

FreeBlues ⋅ 2013/08/19 ⋅ 0

emacs的lisp开发插件--slime

slime是在 emacs下开发common lisp的插件,现在支持一下 common lisp 方言 CMU Common Lisp (CMUCL) Steel Bank Common Lisp (SBCL) Clozure CL (a.k.a. OpenMCL) LispWorks Allegro CL CLI......

匿名 ⋅ 2011/09/04 ⋅ 0

CLozure CL 多线程函数使用实例

CLozure CL 多线程函数使用实例 一、简单介绍 Common Lisp 的标准没有对多线程的描述,因此各种 CL 实现都给出了自己的多线程功能函数,具体细节有所不同,这里大致讲解一下 Clozure CL 的多...

FreeBlues ⋅ 2013/02/04 ⋅ 5

开源 Common Lisp 实现--Clozure CL

Clozure CL,曾用名 OpenMCL,也叫CCL。它是一款高性能的开源 Common Lisp 实现, 可运行于以下平台: Mac OS X 10.4 and later (PowerPC and x86) Linux (PowerPC and x86) FreeBSD 6.x and ......

匿名 ⋅ 2011/09/04 ⋅ 0

使用 Clozure CL 在 Cocoa 窗口组件中实现显示中文字符串的简单方法

使用 Clozure CL 在 Cocoa 窗口组件中实现显示中文字符串的简单方法 目录 * 0 概述* 1 Objective-C 和 Lisp 的不同方法* 2 英文标题代码示例* 3 中文标题代码示例 0 概述(id:0) 我们知道, 在...

FreeBlues ⋅ 2013/08/04 ⋅ 0

Lisp的外部函数接口--CFFI

CFFI, Common Foreign Function Interface, 是一个 Common Lisp 的可移植的外部函数接口。 主要特性: an extensible foreign type system; callback support; support for foreign string ......

匿名 ⋅ 2012/01/31 ⋅ 0

Common Lisp的库管理器--Quicklisp

Quicklisp是Common Lisp的库管理器。它可以下载,安装,并加载超过550库。Quicklisp支持以下common lisp 方言 ABCL, Allegro CL, Clozure CL, CLISP, CMUCL, ECL, LispWorks, SBCL...

匿名 ⋅ 2011/09/04 ⋅ 0

Common Lisp 和 Cocoa 结合起来编写 APP 的例子--代码中设置加载路径

Common Lisp 和 Cocoa 结合起来编写 APP 的例子--代码中设置加载路径 话说最近越来越觉得 Objective-C 的代码太繁琐了, 但是在 OSX 下写程序又离不开苹果的框架,于是就希望能把苹果 Cocoa 提...

FreeBlues ⋅ 2013/06/06 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 32分钟前 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 39分钟前 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 42分钟前 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 44分钟前 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 45分钟前 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 48分钟前 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 56分钟前 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 今天 ⋅ 0

vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、一般模式下复制粘贴剪切

VIM Vim 是 UNIX 文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff),语法高亮,全面的帮助系统,本地脚本(Vimscript),和便于选择的...

蛋黄Yolks ⋅ 今天 ⋅ 0

springboot+mockito测试controller层遇到的问题

使用MockitoJUnitRunner测试的一个例子,原来报错无法找到bean, 类似的异常如下:createBeanError..... 原因:是因为@Runwith使用了SpringRunner,应该修改为MockitoJUnitRunner 代码如下: ...

writeademo ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部