;; -*- emacs-lisp -*- ;;; gnus-mst-show-country.el --- show the country of the sender ;; Author: Mark Triggs ;; Keywords: news ;; $Id: gnus-mst-show-country.el,v 1.24 2005/08/14 08:41:55 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 tld-to-country (tld) (flet ((message (&rest args) (nth 2 args))) (ignore-errors (what-domain tld)))) (defun gnus-article-mst-show-country () (interactive) (let ((from (message-fetch-field "From" t))) (when from (let ((addr (car (ietf-drums-parse-address from)))) (when addr (let* ((field (progn (string-match "\\.\\(\\sw+\\)$" addr) (match-string 1 addr))) (country (tld-to-country field))) (when country (save-restriction (article-narrow-to-head) (goto-char (point-max)) (insert (propertize (concat "X-Country: " country "\n") 'face 'gnus-header-subject-face)) (previous-line 1) (beginning-of-line))))))))) (provide 'gnus-mst-show-country) ;;; gnus-mst-show-country.el ends here