X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fnnspool.el;h=50ad88a79aa3586574bdd80fff14b5f555bb1452;hb=d49c9aab7fdcca8dee6c65ac78ae7c775b13cf67;hp=d512f85d6e33f71afca6f9ebb9aceb059c3eecfc;hpb=84d56690866d1a413267fd815ea2047677f94dc8;p=gnus diff --git a/lisp/nnspool.el b/lisp/nnspool.el index d512f85d6..50ad88a79 100644 --- a/lisp/nnspool.el +++ b/lisp/nnspool.el @@ -1,5 +1,5 @@ ;;; nnspool.el --- spool access for GNU Emacs -;; Copyright (C) 1988,89,90,93,94,95,96 Free Software Foundation, Inc. +;; Copyright (C) 1988,89,90,93,94,95,96,97 Free Software Foundation, Inc. ;; Author: Masanobu UMEDA ;; Lars Magne Ingebrigtsen @@ -143,8 +143,8 @@ there.") (message "nnspool: Receiving headers... %d%%" (/ (* count 100) number)))) - (and do-message - (message "nnspool: Receiving headers...done")) + (when do-message + (message "nnspool: Receiving headers...done")) ;; Fold continuation lines. (nnheader-fold-continuation-lines) @@ -282,7 +282,7 @@ there.") (while (and (looking-at "\\([^ ]+\\) +[0-9]+ ") (progn ;; We insert a .0 to make the list reader - ;; interpret the number as a float. It is far + ;; interpret the number as a float. It is far ;; too big to be stored in a lisp integer. (goto-char (1- (match-end 0))) (insert ".0") @@ -290,9 +290,9 @@ there.") (goto-char (match-end 1)) (read (current-buffer))) seconds)) - (setq groups (cons (buffer-substring + (push (buffer-substring (match-beginning 1) (match-end 1)) - groups)) + groups) (zerop (forward-line -1)))) (erase-buffer) (while groups @@ -320,9 +320,8 @@ there.") (process-send-region proc (point-min) (point-max)) ;; We slap a condition-case around this, because the process may ;; have exited already... - (condition-case nil - (process-send-eof proc) - (error nil)) + (ignore-errors + (process-send-eof proc)) t)))) @@ -358,37 +357,34 @@ there.") (erase-buffer) (if nnspool-sift-nov-with-sed (nnspool-sift-nov-with-sed articles nov) - (insert-file-contents nov) + (nnheader-insert-file-contents nov) (if (and fetch-old (not (numberp fetch-old))) t ; We want all the headers. - (condition-case () - (progn - ;; Delete unwanted NOV lines. - (nnheader-nov-delete-outside-range - (if fetch-old (max 1 (- (car articles) fetch-old)) - (car articles)) - (car (last articles))) - ;; If the buffer is empty, this wasn't very successful. - (unless (zerop (buffer-size)) - ;; We check what the last article number was. - ;; The NOV file may be out of sync with the articles - ;; in the group. - (forward-line -1) - (setq last (read (current-buffer))) - (if (= last (car articles)) - ;; Yup, it's all there. - t - ;; Perhaps not. We try to find the missing articles. - (while (and arts - (<= last (car arts))) - (pop arts)) - ;; The articles in `arts' are missing from the buffer. - (while arts - (nnspool-insert-nov-head (pop arts))) - t))) - ;; The NOV file was corrupted. - (error nil))))))))) + (ignore-errors + ;; Delete unwanted NOV lines. + (nnheader-nov-delete-outside-range + (if fetch-old (max 1 (- (car articles) fetch-old)) + (car articles)) + (car (last articles))) + ;; If the buffer is empty, this wasn't very successful. + (unless (zerop (buffer-size)) + ;; We check what the last article number was. + ;; The NOV file may be out of sync with the articles + ;; in the group. + (forward-line -1) + (setq last (read (current-buffer))) + (if (= last (car articles)) + ;; Yup, it's all there. + t + ;; Perhaps not. We try to find the missing articles. + (while (and arts + (<= last (car arts))) + (pop arts)) + ;; The articles in `arts' are missing from the buffer. + (while arts + (nnspool-insert-nov-head (pop arts))) + t)))))))))) (defun nnspool-insert-nov-head (article) "Read the head of ARTICLE, convert to NOV headers, and insert." @@ -421,13 +417,12 @@ there.") (set-buffer (get-buffer-create " *nnspool work*")) (buffer-disable-undo (current-buffer)) (erase-buffer) - (condition-case () - (call-process "grep" nil t nil (regexp-quote id) nnspool-history-file) - (error nil)) + (ignore-errors + (call-process "grep" nil t nil (regexp-quote id) nnspool-history-file)) (goto-char (point-min)) (prog1 - (if (looking-at "<[^>]+>[ \t]+[-0-9~]+[ \t]+\\([^ /\t\n]+\\)/\\([0-9]+\\)[ \t\n]") - (cons (match-string 1) (string-to-int (match-string 2)))) + (when (looking-at "<[^>]+>[ \t]+[-0-9~]+[ \t]+\\([^ /\t\n]+\\)/\\([0-9]+\\)[ \t\n]") + (cons (match-string 1) (string-to-int (match-string 2)))) (kill-buffer (current-buffer))))) (defun nnspool-find-file (file) @@ -435,7 +430,7 @@ there.") (set-buffer nntp-server-buffer) (erase-buffer) (condition-case () - (progn (nnheader-insert-file-contents-literally file) t) + (progn (nnheader-insert-file-contents file) t) (file-error nil))) (defun nnspool-possibly-change-directory (group) @@ -458,7 +453,7 @@ there.") (timezone-parse-time (aref (timezone-parse-date date) 3)))) (unix (encode-time (nth 2 ttime) (nth 1 ttime) (nth 0 ttime) - (nth 2 tdate) (nth 1 tdate) (nth 0 tdate) + (nth 2 tdate) (nth 1 tdate) (nth 0 tdate) (nth 4 tdate)))) (+ (* (car unix) 65536.0) (cadr unix))))