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

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

[elpa] externals/ebdb dd4f251 098/350: Split off ebdb-record-field for f


From: Eric Abrahamsen
Subject: [elpa] externals/ebdb dd4f251 098/350: Split off ebdb-record-field for field classes
Date: Mon, 14 Aug 2017 11:46:14 -0400 (EDT)

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

    Split off ebdb-record-field for field classes
    
    * ebdb.el (ebdb-record-field): Move the cond branch checking if FIELD
      is a field class into a separate method.
---
 ebdb.el | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/ebdb.el b/ebdb.el
index 1a5b5ec..b781725 100644
--- a/ebdb.el
+++ b/ebdb.el
@@ -4288,12 +4288,6 @@ also be one of the special symbols below.
        ((eq field 'mail-aka) (ebdb-record-mail-aka record)) ; derived (cached) 
field
        ((eq field 'aka-all)  (append (ebdb-record-aka record) ; derived field
                                      (ebdb-record-mail-aka record)))
-       ;; It might be a class symbol.
-       ((class-p field)
-        (seq-filter
-         (lambda (f)
-           (object-of-class-p f field))
-         (ebdb-record-user-fields record)))
        ;; Otherwise assume it is a valid slot name.
        (t
         (when (and (slot-exists-p record field)
@@ -4301,6 +4295,15 @@ also be one of the special symbols below.
           (slot-value record field)))))
 
 (cl-defmethod ebdb-record-field ((record ebdb-record)
+                                (field (subclass ebdb-field-user)))
+  "If FIELD is a class name subclassing `ebdb-user-field', return
+ all instances of that field."
+  (seq-filter
+   (lambda (f)
+     (object-of-class-p f field))
+   (ebdb-record-user-fields record)))
+
+(cl-defmethod ebdb-record-field ((record ebdb-record)
                                 (field string))
   (let ((user-fields (ebdb-record-user-fields record)))
     (catch 'found



reply via email to

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