branch: externals/ebdb
commit 4937cbdc89e5bd2ef0e2cdd5fda0f18847b0cc80
Author: Eric Abrahamsen <[email protected]>
Commit: Eric Abrahamsen <[email protected]>
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