Emacs 等待comint模式缓冲区

Emacs 等待comint模式缓冲区,emacs,erlang,elisp,Emacs,Erlang,Elisp,我试图用comint erlang shell打开一个后台缓冲区,一旦它启动,在emacs中运行一个函数调用(使用distel将其二进制文件发送到erlang节点) 即: 问题是,当我调用distel时,节点还没有启动(epmd没有注册名称),所以它失败了。我猜这是因为低级进程还没有机会运行。有没有办法等待comint缓冲区完成设置 我尝试在作为上述函数的参数发送的缓冲区的缓冲区进程上接受进程输出,但这只是挂起 感谢您的帮助:) Thomas在python-mode.el中,对正在运行的进程的检

我试图用comint erlang shell打开一个后台缓冲区,一旦它启动,在emacs中运行一个函数调用(使用distel将其二进制文件发送到erlang节点)

即:

问题是,当我调用distel时,节点还没有启动(epmd没有注册名称),所以它失败了。我猜这是因为低级进程还没有机会运行。有没有办法等待comint缓冲区完成设置

我尝试在作为上述函数的参数发送的缓冲区的缓冲区进程上接受进程输出,但这只是挂起

感谢您的帮助:)


Thomas

在python-mode.el中,对正在运行的进程的检查就是这样完成的

(或(获取缓冲区进程(py缓冲区名称prepare pyshellname))
(获取缓冲区进程)
(py外壳无专用py外壳名称
开关sepchar py buffer name t(()()))

i、 e.如果Python shell不存在,它的start将返回进程符号。

在Dave Love编写的Python.el中,使用了以下内容:

(while (progn
     (accept-process-output proc 5)
     (null python-preoutput-result)))

嗯,这个过程是存在的,我很确定它还没有被安排好。新节点尚未向erlang端口映射程序守护程序(epmd)注册。我必须使用epmd,因为我想在系统上全局检查某个名称的节点是否正在运行。如果我已经有一个外部节点在运行,我想用它来代替emacs。
(while (progn
     (accept-process-output proc 5)
     (null python-preoutput-result)))