Czy jest możliwe przesłanie danych wyjściowych z filtra procesu do *Messages*
bufora i powstrzymanie pojawiania się tego komunikatu w obszarze echa, tak że jestem w stanie jednocześnie używać interaktywnych poleceń bez konieczności minibuffer-prompt
usuwania ich przez trwające wyjście filtra podciśnienia?
(defun rsync-process-filter (proc string)
(when (not (or
(string-match "files...\r" string)
(string-match "files to consider\n" string)))
(message "%s" string)))
EDYCJA (3 stycznia 2015 r.): Poniżej znajduje się link do podobnego pytania, jednak nie byłem jeszcze w stanie sprawić, aby działał z łańcuchem procesu, w którym dokładny ciąg jest nieznany - tytuł wątku to: Emacs - Wyłącz niektóre komunikaty minibufora :
*Messages*
bufora - jednym z nich są projekty związane z synchronizacją. Wciąż jest kilka rzeczy, których nie próbowałem ( ponieważ myślałem, że mogło istnieć wbudowane rozwiązanie ), takie jak *Messages*
tymczasowe zapisywanie bufora inhibit-read-only
i używanie insert
w point-max
- nie wiem, czy to się pojawi w obszar echa. Popracuję nad tym wieczorem. . .
M-x report-emacs-bug
poprosić o to jako funkcję?
(let ((inhibit-read-only t)) (with-current-buffer (get-buffer-create "*Messages*") (goto-char (point-max)) (insert string)))
i opublikowałem roboczą odpowiedź, która będzie kwalifikować się do akceptacji po upływie obowiązkowego okresu oczekiwania na własne pytanie użytkownika. Złożyłem wniosek o dodanie funkcji do report-emacs-bug
: debbugs.gnu.org/cgi/bugreport.cgi?bug=19495
(messages-buffer)
aby uzyskać bufor , jeśli (point-max)
pozostaniesz przy tej metodzie i zauważysz, że nie zawsze będzie to początek nowej linii (np. użyj C-g
).