- (let ((name (let ((first (map-assoc "firstname"))
- (middle (map-assoc "middlename"))
- (last (map-assoc "lastname"))
- (name (map-assoc "name")))
- ;; prioritize any combination of first middle last over just "name"
- (if (or (and first last) (and first middle) (and middle last))
- ;; purely historical note.
- ;; using (cons first last) as argument works the same as (concat first " " last)
- (concat (or first middle) " " (or middle last) (when (and first middle) (concat " " last) ))
- (or name first middle last ""))))
- (phone (rd 'vconcat (rd #'assoc-expand (map-bbdb "phone"))))
- (mail (rd-assoc "mail"))
+ (let ((name (let ((name (rd-assoc :namelist)))
+ ;; prioritize any combination of first middle last over :name
+ (if (>= (length name) 2)
+ (mapconcat 'identity name " ")
+ (map-assoc :name))))
+ (phone (rd 'vconcat (rd #'assoc-expand (map-bbdb :phone))))
+ (mail (rd-assoc :mail))