(article ([summary 0.25 point]
(if gnus-carpal [summary-carpal 4])
[article 1.0]))
+ (pipe ([summary 0.25 point]
+ (if gnus-carpal [summary-carpal 4])
+ [pipe 1.0]))
(server ([server 1.0 point]
(if gnus-carpal [server-carpal 2])))
(browse ([browse 1.0 point]
(article . gnus-article-buffer)
(server . gnus-server-buffer)
(browse . "*Gnus Browse Server*")
+ (pipe . "*Shell Command Output*")
(edit-group . gnus-group-edit-buffer)
(edit-server . gnus-server-edit-buffer)
(group-carpal . gnus-carpal-group-buffer)
(interactive "P")
(gnus-set-global-variables)
(let ((gnus-default-article-saver 'gnus-summary-save-in-pipe))
- (gnus-summary-save-article arg)))
+ (gnus-summary-save-article arg))
+ (gnus-configure-windows 'pipe))
(defun gnus-summary-save-article-mail (&optional arg)
"Append the current article to an mail file.
((eq type 'lapsed)
;; If the date is seriously mangled, the timezone
;; functions are liable to bug out, so we condition-case
- ;; the entire thing.
- (let* ((real-sec (condition-case ()
+ ;; the entire thing. We call (current-time) once, rather than
+ ;; letting current-time-string and current-time-zone default to
+ ;; it, because that avoids a rare race condition when the time
+ ;; zone changes between those two calls.
+ (let* ((now (current-time))
+ (real-sec (condition-case ()
(- (gnus-seconds-since-epoch
(timezone-make-date-arpa-standard
- (current-time-string)
- (current-time-zone) "UT"))
+ (current-time-string now)
+ (current-time-zone now) "UT"))
(gnus-seconds-since-epoch
(timezone-make-date-arpa-standard
date nil "UT")))
(delete-region (match-beginning 1) (match-end 1))
(insert
(timezone-make-date-arpa-standard
- date nil (current-time-zone))))))))
+ date)))))))
;; Article mode commands