X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-util.el;h=e4a21b81f70e1265d46b80b91058991c518711df;hb=1a67da7381c23de4679cfef00a2ad1dbdd076aa1;hp=ab470be74e0169cb11bd1d56063dc8bbff8de0a5;hpb=61d56bb2d28fd4989b51fcb5935880dbda7cf812;p=gnus diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index ab470be74..e4a21b81f 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -89,7 +89,8 @@ (defsubst gnus-functionp (form) "Return non-nil if FORM is funcallable." (or (and (symbolp form) (fboundp form)) - (and (listp form) (eq (car form) 'lambda)))) + (and (listp form) (eq (car form) 'lambda)) + (compiled-function-p form))) (defsubst gnus-goto-char (point) (and point (goto-char point))) @@ -254,7 +255,8 @@ (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." @@ -524,10 +526,10 @@ Timezone package is used." (defun gnus-kill-all-overlays () "Delete all overlays in the current buffer." - (when (fboundp 'overlay-lists) + (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))))))