Можно ли отправить вывод из фильтра процесса в *Messages*буфер и подавить вывод этого сообщения, появляясь в эхо-области, так что я могу одновременно использовать интерактивные команды, не minibuffer-promptстираясь при текущем выводе фильтра субпресса?
(defun rsync-process-filter (proc string)
(when (not (or
(string-match "files...\r" string)
(string-match "files to consider\n" string)))
(message "%s" string)))
РЕДАКТИРОВАТЬ (3 января 2015 г.): Ниже приведена ссылка на похожий вопрос, однако я пока не смог заставить его работать со строкой процесса, в которой точная строка неизвестна - заголовок темы: Emacs - Отключить некоторые сообщения минибуфера :
*Messages*буфер - один из них связан с синхронизацией. Есть еще пара вещей, которые я не пробовал ( потому что я думал, что, возможно, было встроенное решение ), например, сделать *Messages*буфер временно доступным для записи inhibit-read-onlyи использовать insertat 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)это не всегда будет началом новой строки (например, использование C-g).