>>>>> Dan Christensen wrote: > Katsumi Yamaoka writes: >> (let* ((pipe (format "cat | /path/to/cmd")) >> >> (decode (get 'gnus-summary-save-in-pipe :decode)) >> (headers (get 'gnus-summary-save-in-pipe :headers)) >> (gnus-save-all-headers t) >> >> ) >> (put 'gnus-summary-save-in-pipe :decode nil) >> (put 'gnus-summary-save-in-pipe :headers nil) >> (unwind-protect >> (save-excursion >> (dolist (article (gnus-summary-work-articles n)) >> (gnus-summary-goto-subject article) >> (gnus-summary-save-in-pipe pipe) >> )) >> (put 'gnus-summary-save-in-pipe :decode decode) >> (put 'gnus-summary-save-in-pipe :headers headers))) >> (gnus-summary-expand-window)) > Maybe all but two or three lines of the above should be made into a > function gnus-summary-save-in-pipe-raw? Or maybe the existing function > gnus-summary-save-in-pipe should take an optional "raw" argument to get > this behaviour? Forcing the caller to jump through the above hoops > seems excessive... That's good. Thanks. I've added to `gnus-summary-save-in-pipe' the optional 2nd argument `raw' meaning: ,---- | Non-nil value for RAW overrides `:decode' and `:headers' properties | and the raw article including all headers will be piped. `---- So, now Gabor's function can be simplified into: