我想建议inferior-ess-send-input
交互式函数调用我的函数来*R dired*
自动刷新缓冲区。我试过使用after
和around
作为类。例如:
(defadvice inferior-ess-send-input (around ess-revert-rdired-after-send activate)
ad-do-it
(call-interactively 'ess-revert-rdired-buffer))
我也尝试过使用after
甚至更改 ESS 的源代码来创建运行后挂钩。他们都有同样的问题。我什至定义了一个新函数,它一个接一个地调用。
但我不断收到消息:
ess-error: ESS 进程未准备好。在重试之前完成您的命令。
来自ess-command
. 出于某种原因,添加此建议会sprocess
很忙。有任何想法吗?
附言
这里的功能是(正在进行中):
(defun ess-revert-rdired-buffer ()
"If the buffer is live, update it. If it isn't start it."
(interactive)
(save-selected-window
(if (buffer-live-p (get-buffer "*R dired*"))
(save-excursion
(with-current-buffer "*R dired*"
(revert-buffer)))
(ess-rdired))))