branch: externals/ebdb commit 980927ff3dfdb238e7b168f0088353fec29db86e Author: Eric Abrahamsen <e...@ericabrahamsen.net> Commit: Eric Abrahamsen <e...@ericabrahamsen.net>
Switch from cond to pcase in ebdb-record-field * ebdb.el (ebdb-record-field): Preparatory to making this method more interesting. --- ebdb.el | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/ebdb.el b/ebdb.el index 3e2e6b1..bfd8dcf 100644 --- a/ebdb.el +++ b/ebdb.el @@ -4836,21 +4836,22 @@ also be one of the special symbols below. (cl-defmethod ebdb-record-field ((record ebdb-record) (field symbol)) - (cond ((eq field 'firstname) (ebdb-record-firstname record)) - ((eq field 'lastname) (ebdb-record-lastname record)) - ((eq field 'affix) (slot-value (slot-value record 'name) 'affix)) - ((eq field 'mail-canon) (ebdb-record-mail-canon record)) ; derived (cached) field - ;; Mail is special-cased, because mail addresses can come from - ;; more than one slot. - ((eq field 'mail) (ebdb-record-mail record nil nil t)) - ((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))) - ;; Otherwise assume it is a valid slot name. - (t - (when (and (slot-exists-p record field) - (slot-boundp record field)) - (slot-value record field))))) + (pcase field + ('firstname (ebdb-record-firstname record)) + ('lastname (ebdb-record-lastname record)) + ('affix (slot-value (slot-value record 'name) 'affix)) + ('mail-canon (ebdb-record-mail-canon record)) ; derived (cached) field + ;; Mail is special-cased, because mail addresses can come from + ;; more than one slot. + ('mail (ebdb-record-mail record nil nil t)) + ('mail-aka (ebdb-record-mail-aka record)) ; derived (cached) field + ('aka-all (append (ebdb-record-aka record) ; derived field + (ebdb-record-mail-aka record))) + ;; Otherwise assume it is a valid slot name. + (_ + (when (and (slot-exists-p record field) + (slot-boundp record field)) + (slot-value record field))))) (cl-defmethod ebdb-record-field ((record ebdb-record) (f-class (subclass ebdb-field-user)))