是否可以将输出从过程过滤器发送到*Messages*
缓冲区并抑制该消息输出出现在回显区域中,从而使我能够同时使用交互式命令,而不会minibuffer-prompt
被正在进行的subpress过滤器输出所抹除?
(defun rsync-process-filter (proc string)
(when (not (or
(string-match "files...\r" string)
(string-match "files to consider\n" string)))
(message "%s" string)))
编辑(2015年1月3日):以下是类似问题的链接,但是,我尚未能够使它与确切的字符串未知的进程字符串一起使用-线程的标题为:Emacs -禁用一些Minibuffer消息:
*Messages*
缓冲区-与同步相关的项目就是其中之一。还有很多事情我还没有尝试过(因为我认为可能有一个内置的解决方案),例如使*Messages*
缓冲区临时可写inhibit-read-only
并insert
在以下位置使用point-max
-我不知道它是否会出现在回波区域也是如此。今天晚上我再做一遍。。。
M-x report-emacs-bug
并要求将此功能作为功能?
(let ((inhibit-read-only t)) (with-current-buffer (get-buffer-create "*Messages*") (goto-char (point-max)) (insert string)))
,我能够达到预期的效果,并且我发布了一个答案草稿,该答案草稿将在用户自己的问题的强制等待期过后才有资格接受。我向以下用户提出了功能请求report-emacs-bug
: debbugs.gnu.org/cgi/bugreport.cgi?bug=19495
(messages-buffer)
来获取缓冲区,如果您坚持使用此方法,请注意,它(point-max)
不一定总是换行的开头(例如use C-g
)。