*** empty log message ***
[gnus] / lisp / gnus-util.el
index e5c6b0e..6ce52ae 100644 (file)
@@ -31,7 +31,7 @@
 ;;; Code:
 
 (require 'custom)
-(require 'cl)
+(eval-when-compile (require 'cl))
 (require 'nnheader)
 (require 'timezone)
 (require 'message)
         (date (mapcar (lambda (d) (and d (string-to-int d))) parse))
         (time (mapcar 'string-to-int (timezone-parse-time (aref parse 3)))))
     (encode-time (caddr time) (cadr time) (car time)
-                (caddr date) (cadr date) (car date) (nth 4 date))))
+                (caddr date) (cadr date) (car date)
+                (* 60 (timezone-zone-to-minute (nth 4 date))))))
 
 (defun gnus-time-minus (t1 t2)
   "Subtract two internal times."
@@ -380,7 +381,7 @@ Cache the result as a text property stored in DATE."
 (defun gnus-date-iso8601 (header)
   "Convert the date field in HEADER to YYMMDDTHHMMSS"
   (condition-case ()
-      (gnus-time-iso8601 (gnus-date-get-time (mail-header-date header)))
+      (gnus-time-iso8601 (gnus-date-get-time header))
     (error "")))
 
 (defun gnus-mode-string-quote (string)
@@ -457,7 +458,9 @@ jabbering all the time."
 If N, return the Nth ancestor instead."
   (when references
     (let ((ids (inline (gnus-split-references references))))
-      (car (last ids (or n 1))))))
+      (while (nthcdr (or n 1) ids)
+       (setq ids (cdr ids)))
+      (car ids))))
 
 (defsubst gnus-buffer-live-p (buffer)
   "Say whether BUFFER is alive or not."
@@ -528,7 +531,7 @@ Timezone package is used."
   (unless gnus-xemacs
     (let* ((overlayss (overlay-lists))
           (buffer-read-only nil)
-          (overlays (nconc (car overlayss) (cdr overlayss))))
+          (overlays (delq nil (nconc (car overlayss) (cdr overlayss)))))
       (while overlays
        (delete-overlay (pop overlays))))))