2009年12月25日星期五

emacs distel devel 配置问题

环境
emacs=23.0.0.1
os = xp sp3
.emacs 配置抄用 http://bc.tech.coop/blog/070528.html
—————————–
实际状况
emacs:
error “Can’t handle event closed in state derl-recv-challenge-ack
emacs erlang:
Connection attempt from disallowed node ‘distel_3844@LIWOOOOD-3FD36A’ **

问题:
通常两种问题 1. cookie 不匹配 2. node name 不匹配

排查问题:
首先排查第一个问题:
查看在emacs 中和erlang中是否调用同一个cookie配置文件. 默认情况下是检查
home 目录下的 .erlang.cookie.
1. elrang 中通过 init:get_argument(home). 找到位置 “c:/Document …/Admini..”,
2 emacs 中cookie 可通过变量 derl-cookie 查看. 结果:
Its value is nil
但有这么一句
When NIL, we read ~/.erlang.cookie.

mmd 我想知道问题了,
C:\>env | grep HOME
HOME=d:\emacs
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator

问题总结:
在windows下 emacs 调用的home目录是 HOME. 而在erlang所依赖的home 目录是HOMEPATH. 两个调用的 .erlang.cookie 位置不一样

解决:
1. cp “c:/Documents and …/Administ../.erlang.cookie” d:/emacs
2. 在erlang 端 -setcookie cookie ,
在emacs中(setq derl-cookie “cookie”)

参考:
http://osdir.com/ml/lang.erlang.distel.devel/2003-02/msg00001.html

没有评论: