I'm writing a couple of helper functions for my use. They first call up org-publish-project
and then call external scripts on that output. I'd like to collect all output from the execution in a temp buffer that pops up.
The external stuff is easier. The function shell-command
accepts a second argument about a buffer where to send stdout. But org-publish-project
only echoes stuff to minibuffer and it shows on *Messages*
if anywhere. Could I somehow redirect all echoes to a given buffer?
No, there's no such redirect, sadly. You can try to advise the message
function, which will catch many of those messages, tho not necessarily all of them.
(defvar my-message-output-buffer nil)
(defadvice message (around my-redirect activate)
(if my-message-output-buffer
(with-current-buffer my-message-output-buffer
(insert (apply #'format (ad-get-args 0))))
ad-do-it))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With