;; -*- emacs-lisp -*- ;;; gnus-mst-common.el --- functions used by a number of files ;; Author: Mark Triggs ;; Keywords: news ;; $Id: gnus-mst-common.el,v 1.25 2004/01/21 02:37:37 mst Exp $ ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Code: (defun gnus-bbdb-get-group (address &optional default) "Return the gnus-group field for a BBDB user (or users) identified by ADDRESS" (let* ((emails (mapcar 'car (ietf-drums-parse-addresses address))) (records (mapcar (lambda (a) (bbdb-search-simple nil a)) emails))) (if (some 'identity records) (mapconcat 'identity (remove-duplicates (mapcar (lambda (r) (if (or (null r) (string= (bbdb-get-field r 'gnus-group) "")) default (bbdb-get-field r 'gnus-group))) records)) ", ") default))) (provide 'gnus-mst-common) ;;; gnus-mst-common.el ends here