在一台 pc 上测试集群 mnesia 时,我必须为一个“Mac lion”用户创建许多 erlang 节点。因为它们".erlang"
为同一个用户共享相同的内容,所以我无法通过".erlang"
文件传递 mnesia。对于emacs erlang shell,我想通过.emacs
文件传递mnesia目录配置,所以要修改distel的相关escript代码。
(add-hook 'erlang-mode-hook
(lambda ()
;; when starting an Erlang shell in Emacs, default in the node name
; (setq inferior-erlang-machine-options '("-name" "emacs"))
(setq inferior-erlang-machine-options '("-name" "emacs""-mnesia dir" "/Users/yuchen/Documents/Project/mnesia_db") )
;;added by chenyu 2012/04/08
(set (make-local-variable 'compile-command) (format "make -f %s" (get-closest-pathname)))
;; add Erlang functions to an imenu menu
(imenu-add-to-menubar "imenu")))
在上面的代码中,name=emacs
是可以的,但mnesia dir
不是有效的。
(setq lower-erlang-machine-options '("-name" "emacs""-mnesia dir" "/Users/yuchen/Documents/Project/mnesia_db") )
节点启动后,我检查了mnesia路径配置。
(emacs@yus-iMac.local)12> mnesia:system_info(directory).
"/Users/yuchen/Mnesia.emacs@yus-iMac.local"
它与我的 .emacs 配置数据不同。