emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ebdb 4937cbd 225/350: Specify class of name fields when


From: Eric Abrahamsen
Subject: [elpa] externals/ebdb 4937cbd 225/350: Specify class of name fields when updating from MUA
Date: Mon, 14 Aug 2017 11:46:42 -0400 (EDT)

branch: externals/ebdb
commit 4937cbdc89e5bd2ef0e2cdd5fda0f18847b0cc80
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>

    Specify class of name fields when updating from MUA
    
    * ebdb-mua.el (ebdb-annotate-message): Don't just parse as
      `ebdb-field-name, as that can result in person records getting a
      field-name-simple, which results in an error, which results in a
      record with no name being added to the database, which results in
      more errors. All this is desperately in need of refactoring, but for
      the time being this will do.
---
 ebdb-mua.el | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/ebdb-mua.el b/ebdb-mua.el
index d9d7314..5ad668f 100644
--- a/ebdb-mua.el
+++ b/ebdb-mua.el
@@ -921,14 +921,22 @@ Return the records matching ADDRESS or nil."
                           (ebdb-record-field-slot-query
                            (eieio-object-class record)
                            `(nil . ,(eieio-object-class
-                                     (ebdb-parse 'ebdb-field-name name)))))))
+                                     (ebdb-parse
+                                      (if (eql record-class 
'ebdb-record-organization)
+                                          'ebdb-field-name-simple
+                                        'ebdb-field-name-complex)
+                                      name)))))))
              change-p add-mails add-name ignore-redundant)
 
         ;; Analyze the name part of the record.
-        (cond (created-p ; new record
+        (cond (created-p               ; new record
                (ebdb-record-change-name
                record
-               (ebdb-parse 'ebdb-field-name name)))
+               (ebdb-parse
+                (if (eql record-class 'ebdb-record-organization)
+                    'ebdb-field-name-simple
+                  'ebdb-field-name-complex)
+                name)))
 
               ((or (not name)
                    ;; The following tests can differ for more complicated names



reply via email to

[Prev in Thread] Current Thread [Next in Thread]