เป็นไปได้ไหมที่จะส่งเอาต์พุตจากตัวกรองโปรเซสไปยัง*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)))
แก้ไข (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
)