From ea56d7b65936c4d683b2481e3d7be28992f8c231 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 10 May 2000 07:49:09 +0000 Subject: [PATCH] T-gnus 6.14.4 (r01) Sync with Nana-gnus 7.1.0.20. --- ChangeLog | 13 +++++++++++++ lisp/gnus-bbdb.el | 37 +++++++++++++++++++++++++++---------- lisp/gnus-vers.el | 2 +- lisp/message.el | 23 +++++++---------------- 4 files changed, 48 insertions(+), 27 deletions(-) diff --git a/ChangeLog b/ChangeLog index eb8a334..e2cdf2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2000-05-10 Katsumi Yamaoka + + * lisp/gnus-vers.el (gnus-revision-number): Increment to 01. + +2000-05-10 Keiichi Suzuki + + * lisp/message.el (message-list-references): Do not insert + duplicate Message-Id, when specified + `message-list-references-add-position'. + + * lisp/gnus-bbdb.el (gnus-bbdb/split-mail): Support group address. + (gnus-bbdb/insert-address-regexp): New function. + 2000-05-09 Katsumi Yamaoka * lisp/gnus-msg.el (gnus-debug): Add "nntp.el" and `defvoo'. diff --git a/lisp/gnus-bbdb.el b/lisp/gnus-bbdb.el index 08ee7a7..c00a253 100644 --- a/lisp/gnus-bbdb.el +++ b/lisp/gnus-bbdb.el @@ -1,4 +1,4 @@ -;; gnus-bbdb.el --- Interface to Semi-gnus +;; gnus-bbdb.el --- Interface to T-gnus ;; Copyright (c) 1991,1992,1993 Jamie Zawinski . ;; Copyright (C) 1995,1996,1997 Shuhei KOBAYASHI @@ -9,7 +9,7 @@ ;; Author: Shuhei KOBAYASHI ;; Keywords: BBDB, MIME, multimedia, multilingual, mail, news -;; This file is part of Semi-gnus. +;; This file is part of T-gnus. ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -34,7 +34,8 @@ (require 'std11) (eval-when-compile (defvar bbdb-pop-up-elided-display) ; default unbound. - (require 'gnus-win)) + (require 'gnus-win) + (require 'cl)) (defvar gnus-bbdb/decode-field-body-function 'nnheader-decode-field-body "*Field body decoder.") @@ -181,16 +182,32 @@ BBDB-FIELD values is returned. Otherwise, GROUP is returned." (std11-field-end)) header-values))) (let ((address-regexp - (mapconcat - (lambda (lal) - (regexp-quote (std11-address-string lal))) - (apply 'nconc - (mapcar #'std11-parse-addresses-string - header-values)) - "\\|"))) + (with-temp-buffer + (let (lal) + (while header-values + (setq lal (std11-parse-addresses-string + (pop header-values))) + (while lal + (gnus-bbdb/insert-address-regexp (pop lal))))) + (buffer-string)))) (unless (zerop (length address-regexp)) (gnus-bbdb/split-mail-1 address-regexp bbdb-field regexp group)))))) +(defun gnus-bbdb/insert-address-regexp (address) + "Insert string of address part from parsed ADDRESS of RFC 822." + (cond ((eq (car address) 'group) + (setq address (cdr address)) + (while address + (gnus-bbdb/insert-address-regexp (pop address)))) + ((eq (car address) 'mailbox) + (unless (eq (point) (point-min)) + (insert "\\|")) + (let ((addr (nth 1 address))) + (insert (std11-addr-to-string + (if (eq (car addr) 'phrase-route-addr) + (nth 2 addr) + (cdr addr)))))))) + (defun gnus-bbdb/split-mail-1 (address-regexp bbdb-field regexp group) (let ((records (bbdb-search (bbdb-records) nil nil address-regexp)) prop rest) diff --git a/lisp/gnus-vers.el b/lisp/gnus-vers.el index 15a44c6..deae8dd 100644 --- a/lisp/gnus-vers.el +++ b/lisp/gnus-vers.el @@ -31,7 +31,7 @@ (require 'product) (provide 'gnus-vers) -(defconst gnus-revision-number "00" +(defconst gnus-revision-number "01" "Revision number for this version of gnus.") ;; Product information of this gnus. diff --git a/lisp/message.el b/lisp/message.el index 2c5dc91..bc15862 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -2285,28 +2285,19 @@ to REFS-LIST." (let ((pos message-list-references-add-position)) (while (and refs-list (> pos 0)) - (setq saved-id (cons (car refs-list) saved-id) - refs-list (cdr refs-list) - pos (1- pos))))) + (push (pop refs-list) saved-id) + (setq pos (1- pos))))) (while refs-strs - (setq refs (car refs-strs) - refs-strs (cdr refs-strs)) - (when refs + (when (setq refs (pop refs-strs)) (setq refs (std11-parse-msg-ids (std11-lexical-analyze refs))) (while refs - (setq ref (car refs) - refs (cdr refs)) - (when (eq (car ref) 'msg-id) - (setq id (concat "<" - (mapconcat - (function (lambda (p) (cdr p))) - (cdr ref) "") - ">")) + (when (eq (car (setq ref (pop refs))) 'msg-id) + (setq id (concat "<" (mapconcat 'cdr (cdr ref) "") ">")) (or (member id refs-list) + (member id saved-id) (push id refs-list)))))) (while saved-id - (setq refs-list (cons (car saved-id) refs-list) - saved-id (cdr saved-id))) + (push (pop saved-id) refs-list)) refs-list)) (defvar gnus-article-copy) -- 1.7.10.4