(hack-local-variables-prop-line): Bind enable-local-eval.
[bpt/emacs.git] / lisp / gnus.el
index c72e407..74a6ed2 100644 (file)
@@ -710,6 +710,9 @@ beginning of a line.")
     (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]
@@ -757,6 +760,7 @@ buffer configuration.")
     (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)
@@ -10418,7 +10422,8 @@ pipe those articles instead."
   (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.
@@ -11282,12 +11287,16 @@ how much time has lapsed since DATE."
            ((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")))
@@ -11463,7 +11472,7 @@ Intended to be used with gnus-article-prepare-hook."
            (delete-region (match-beginning 1) (match-end 1))
            (insert
             (timezone-make-date-arpa-standard 
-             date nil (current-time-zone))))))))
+             date)))))))
 
 
 ;; Article mode commands