Có thể gửi đầu ra từ bộ lọc quy trình đến *Messages*
bộ đệm và ngăn chặn đầu ra thông báo đó xuất hiện trong vùng dội lại, để tôi có thể sử dụng đồng thời các lệnh tương tác mà không minibuffer-prompt
bị xóa bởi đầu ra bộ lọc phụ đang diễn ra?
(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 (ngày 3 tháng 1 năm 2015): Sau đây là một liên kết đến một câu hỏi tương tự, tuy nhiên, tôi chưa thể làm cho nó hoạt động với một chuỗi quy trình trong đó chuỗi chính xác không rõ ràng - tiêu đề của chuỗi là: Emacs - Vô hiệu hóa một số tin nhắn Minibuffer :
*Messages*
bộ đệm - các dự án liên quan đến đồng bộ hóa là một trong số đó. Vẫn còn một vài điều tôi chưa thử ( vì tôi nghĩ có thể đã có giải pháp tích hợp sẵn ), chẳng hạn như làm cho *Messages*
bộ đệm tạm thời có thể ghi inhibit-read-only
và sử dụng insert
tại point-max
- Tôi không biết liệu nó có xuất hiện trong khu vực tiếng vang là tốt. Tôi sẽ làm việc với nó một lần nữa vào tối nay. . .
M-x report-emacs-bug
và yêu cầu điều này như là một tính năng?
(let ((inhibit-read-only t)) (with-current-buffer (get-buffer-create "*Messages*") (goto-char (point-max)) (insert string)))
và tôi đã đăng một câu trả lời dự thảo, sẽ có thể được chấp nhận sau khi thời gian chờ đợi bắt buộc đối với câu hỏi của chính người dùng đã hết. Tôi đã gửi một yêu cầu tính năng với report-emacs-bug
: debbugs.gnu.org/cgi/ormsreport.cgi?orms=19495
(messages-buffer)
để có được bộ đệm , nếu bạn tuân theo phương pháp này và lưu ý rằng (point-max)
sẽ không luôn là sự khởi đầu của một dòng mới (ví dụ: sử dụng C-g
).