Чи можна надіслати вихід з процесора-фільтра в *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)))
EDIT (3 січня 2015 р.): Далі йде посилання на подібне запитання, однак я ще не зміг змусити його працювати з рядком процесу, де невідомий точний рядок - назва потоку: Emacs - Вимкнення деяких повідомлень про мінібуфер :
*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)
не завжди буде початком нового рядка (наприклад, використання C-g
).