From 3d6243dbdead481b3be9282c5c2a436d441b56f2 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 8 Mar 2001 00:32:10 +0000 Subject: [PATCH] Synch with Oort Gnus. * gnus-clfns.el (string): New compiler macro. * gnus-score.el (gnus-score-find-bnews): Use it as Gnus does. --- ChangeLog | 5 +++++ lisp/ChangeLog | 13 +++++++++++++ lisp/gnus-clfns.el | 6 ++++++ lisp/gnus-score.el | 6 ++++-- lisp/lpath.el | 3 --- lisp/mm-decode.el | 11 ++++++++--- lisp/nndraft.el | 18 ++++++++++++++++++ 7 files changed, 54 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index f090cba..ebe1089 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-03-08 Katsumi Yamaoka + + * lisp/gnus-clfns.el (string): New compiler macro. + * lisp/gnus-score.el (gnus-score-find-bnews): Use it as Gnus does. + 2001-03-06 Katsumi Yamaoka * lisp/nnshimbun.el (nnshimbun-retrieve-url): Check if diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 14a81b1..03313c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,16 @@ +2001-03-07 13:00:00 ShengHuo ZHU + + * nndraft.el (nndraft-request-group): Restore auto save files if + the original files do not exist. + +2001-03-07 11:00:00 ShengHuo ZHU + + * gnus-score.el (gnus-score-find-bnews): Print messages on illegal + SCORE paths. + + * mm-decode.el (mm-dissect-buffer): Call + mail-extract-address-components only if necessary. + 2001-03-06 13:00:00 ShengHuo ZHU * gnus-score.el (gnus-score-find-bnews): Maybe there is no diff --git a/lisp/gnus-clfns.el b/lisp/gnus-clfns.el index e5b2e01..eeaed81 100644 --- a/lisp/gnus-clfns.el +++ b/lisp/gnus-clfns.el @@ -111,6 +111,12 @@ (push (pop seq1) res))) (coerce (nconc (nreverse res) seq1 seq2) type))))) + (define-compiler-macro string (&whole form &rest args) + (if (and (fboundp 'string) + (subrp (symbol-function 'string))) + form + (list 'concat (cons 'list args)))) + (define-compiler-macro subseq (&whole form seq start &optional end) (if (and (fboundp 'subseq) (subrp (symbol-function 'subseq))) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 4ad0472..3dca790 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -2596,8 +2596,10 @@ GROUP using BNews sys file syntax." ;; too much. (delete-char (min (1- (point-max)) klen)) (goto-char (point-max)) - (if (search-backward (char-to-string directory-sep-char) nil t) - (delete-region (1+ (point)) (point-min)))) + (if (search-backward (string directory-sep-char) nil t) + (delete-region (1+ (point)) (point-min)) + (gnus-message 1 "Can't find directory separator in %s" + (car sfiles)))) ;; If short file names were used, we have to translate slashes. (goto-char (point-min)) (let ((regexp (concat diff --git a/lisp/lpath.el b/lisp/lpath.el index 55a0596..93b8433 100644 --- a/lisp/lpath.el +++ b/lisp/lpath.el @@ -114,7 +114,4 @@ (defun nnkiboze-score-file (a) ) -;; This is just to shut up the byte-compiler. -(defalias 'nndraft-request-group 'ignore) - (provide 'lpath) diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 5ad43a9..bc2b7b5 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -337,9 +337,14 @@ The original alist is not modified. See also `destructive-alist-to-plist'." cte (mail-fetch-field "content-transfer-encoding") cd (mail-fetch-field "content-disposition") description (mail-fetch-field "content-description") - from (cadr (mail-extract-address-components - (or (mail-fetch-field "from") ""))) - id (mail-fetch-field "content-id")))) + from (mail-fetch-field "from") + id (mail-fetch-field "content-id")) + ;; FIXME: In some circumstances, this code is running within + ;; an unibyte macro. mail-extract-address-components + ;; creates unibyte buffers. This `if', though not a perfect + ;; solution, avoids most of them. + (if from + (setq from (cadr (mail-extract-address-components from)))))) (when cte (setq cte (mail-header-strip cte))) (if (or (not ctl) diff --git a/lisp/nndraft.el b/lisp/nndraft.el index 9b2e369..5f21751 100644 --- a/lisp/nndraft.el +++ b/lisp/nndraft.el @@ -162,6 +162,24 @@ (clear-visited-file-modtime) article)) +(deffoo nndraft-request-group (group &optional server dont-check) + (nndraft-possibly-change-group group) + (unless dont-check + (let* ((pathname (nnmail-group-pathname group nndraft-directory)) + (file-name-coding-system nnmail-pathname-coding-system) + dir file) + (nnheader-re-read-dir pathname) + (setq dir (mapcar (lambda (name) (string-to-int (substring name 1))) + (directory-files pathname nil "^#[0-9]+#$" t))) + (dolist (n dir) + (unless (file-exists-p + (setq file (expand-file-name (int-to-string n) pathname))) + (rename-file (let ((buffer-file-name file)) + (make-auto-save-file-name)) file))))) + (nnoo-parent-function 'nndraft + 'nnmh-request-group + (list group server dont-check))) + (deffoo nndraft-request-expire-articles (articles group &optional server force) (nndraft-possibly-change-group group) (let* ((nnmh-allow-delete-final t) -- 1.7.10.4