(spam-parse-address): new function for better parsing,
authorTeodor Zlatanov <tzz@lifelogs.com>
Fri, 27 Oct 2006 20:44:25 +0000 (20:44 +0000)
committerTeodor Zlatanov <tzz@lifelogs.com>
Fri, 27 Oct 2006 20:44:25 +0000 (20:44 +0000)
catching errors, etc.
(spam-check-BBDB, spam-enter-ham-BBDB, spam-parse-list): use it

lisp/ChangeLog
lisp/spam.el

index b8a9521..47a1809 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-27  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * spam.el (spam-parse-address): new function for better parsing,
+       catching errors, etc.
+       (spam-check-BBDB, spam-enter-ham-BBDB, spam-parse-list): use it
+
 2006-10-26  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * mm-view.el: Add interactive arg to html2text autoload.
index afe6293..e5c0bad 100644 (file)
@@ -709,6 +709,12 @@ finds ham or spam.")
 
 ;;{{{ convenience functions
 
+;;; function to wrap address parsing, uses the ietf-drums-parse-address interface
+(defun spam-parse-address (who)
+  (condition-case nil
+      (ietf-drums-parse-address who)
+    (error nil)))
+
 (defun spam-clear-cache (symbol)
   "Clear the spam-caches entry for a check."
   (remhash symbol spam-caches))
@@ -2081,7 +2087,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
       "Enter an address into the BBDB; implies ham (non-spam) sender"
       (dolist (from addresses)
        (when (stringp from)
-         (let* ((parsed-address (ietf-drums-parse-address from))
+         (let* ((parsed-address (spam-parse-address from))
                 (name (or (car-safe (cdr-safe parsed-address)) "Ham Sender"))
                 (remove-function (if remove
                                      'bbdb-delete-record-internal
@@ -2129,7 +2135,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
                     (intern (downcase (symbol-name symbol)) bbdb-cache))
                   bbdb-hashtable))))
            (puthash 'spam-use-BBDB bbdb-cache spam-caches)))
-         (setq who (car-safe (ietf-drums-parse-address who)))
+         (setq who (car-safe (spam-parse-address who)))
        (when who
          (if
              (if spam-cache-lookups
@@ -2380,7 +2386,7 @@ REMOVE not nil, remove the ADDRESSES."
          (forward-line 1)
          ;; insert the e-mail address if detected, otherwise the raw data
          (unless (zerop (length address))
-           (let ((pure-address (car-safe (ietf-drums-parse-address address))))
+           (let ((pure-address (car-safe (spam-parse-address address))))
              (push (or pure-address address) contents)))))
       (nreverse contents))))