;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302\303\304#\210\300\305\303\304#\207" [require eudc bbdb nil t bbdb-com] 4)
(defvar eudc-bbdb-current-query nil)
(defvar eudc-bbdb-current-return-attributes nil)
#@120 Convert FIELD-SYMBOL so that it is recognized by the current BBDB version.
BBDB < 3 used `net'; BBDB >= 3 uses `mail'.
(defalias 'eudc-bbdb-field #[(field-symbol) "\301=\203
\302 \203
\303\207\207" [field-symbol net eudc--using-bbdb-3-or-newer-p mail] 2 (#$ . 602)])
#@51 Alist mapping EUDC attribute names to BBDB names.
(defvar eudc-bbdb-attributes-translation-alist '((name . lastname) (email . net) (phone . phones)) (#$ . 879))
(byte-code "\300\301\302\303#\210\300\304\305\303#\210\300\306\307\303#\210\300\310\305\303#\210\300\311\305\303#\207" [eudc-protocol-set eudc-query-function eudc-bbdb-query-internal bbdb eudc-list-attributes-function nil eudc-protocol-attributes-translation-alist eudc-bbdb-attributes-translation-alist eudc-bbdb-conversion-alist eudc-protocol-has-default-query-attributes] 4)
#@66 Format a EUDC query alist into a list suitable to `bbdb-search'.
(defalias 'eudc-bbdb-format-query #[(query) "\301\236A\302\236A \203 \n\203 \306\nQ\206 \206 \n\304\236A\305\236A\307\236A\310\236A\f
\257.\207" [query firstname lastname name company net " " notes phone] 5 (#$ . 1424)])
#@71 Return RECORD if it matches `eudc-bbdb-current-query', nil otherwise.
(defalias 'eudc-bbdb-filter-non-matching-record #[(record) "\306\307!\210\3102w \311\211\203s \n@\211@ A\312\311\211\313>\203f \314\315\316\317\320!!P!\321D!\211<\203R \203H \314\322\323\324\"B!\202c
\227\323\325\"\235\202c \203^ \326
\"\202c
\227\227\230\204k \327\310\311\"\210,\nA\211\204 *0\207" [eudc-bbdb-current-query condition --dolist-tail-- bbdb-val case-fold-search val require bbdb unmatch nil t (firstname lastname aka company phones addresses net) eval intern "bbdb-record-" symbol-name eudc-bbdb-field record or mapcar #[(subval) "\302 \"\207" [val subval string-match] 3] downcase string-match throw attr eudc-bbdb-enable-substring-matches] 7 (#$ . 1744)])
(defalias 'eudc-bbdb-extract-phones #[(record) "\301\302!\210\303\304\305!\"\207" [record require bbdb mapcar #[(phone) "\203 \302\303 !!\304 !B\207\305\306\307\303 !\304 !#B\207" [eudc-bbdb-use-locations-as-attribute-names phone intern bbdb-phone-location bbdb-phone-string phones format "%s: %s"] 6] bbdb-record-phones] 4])
(defalias 'eudc-bbdb-extract-addresses #[(record) "\304\305!\210\306\211\211\307\310\311!\"+\207" [val c s record require bbdb nil mapcar #[(address) "\306!\307\310\nW\203% \n 8\211G\310U\204
\f\311Q\nT\211\202 *\312!\313!
G\310V\203D \fG\310V\203D \314\fQ\202E \315\316!R\203X \317\320!!
B\207\321\320!\311
QB\207" [address c n --dotimes-limit-- s val bbdb-address-streets 3 0 "\n" bbdb-address-city bbdb-address-state ", " " " bbdb-address-zip intern bbdb-address-location addresses eudc-bbdb-use-locations-as-attribute-names] 6] bbdb-record-addresses] 4])
#@129 Format the BBDB RECORD as a EUDC query result record.
The record is filtered according to `eudc-bbdb-current-return-attributes'
(defalias 'eudc-bbdb-format-record-as-result #[(record) "\306\307!\210\206 \310\311\211\211\f@\211\fA\203\224 \312=\203' \313
!\202O \314=\2034 \315
!\202O \316>\203K \317\320\321\322\323!!P!\305D!\202O \324\325!\210 \203 \326\232\204 \327>\203g \330 \n\"\202 <\203} G\331U\203} @B\nB\202 G\332V\203\215 B\nB\202 \324\333!\210\202 \n\237,\207" [eudc-bbdb-current-return-attributes val eudc-rec attr attrs record require bbdb (firstname lastname aka company phones addresses net notes) nil phones eudc-bbdb-extract-phones addresses eudc-bbdb-extract-addresses (firstname lastname aka company net notes) eval intern "bbdb-record-" symbol-name eudc-bbdb-field error "Unknown BBDB attribute" "" (phones addresses) append 1 0 "Unexpected attribute value"] 6 (#$ . 3437)])
#@216 Query BBDB with QUERY.
QUERY is a list of cons cells (ATTR . VALUE) where ATTRs should be valid
BBDB attribute names.
RETURN-ATTRS is a list of attributes to return, defaulting to
`eudc-default-return-attributes'.
(defalias 'eudc-bbdb-query-internal #[(query &optional return-attrs) "\306\307!\210 \310!\311\312 \311\211\f\203B G\313V\203B \314
@C\"@\203: \315\316\304
BB!A\202 \317\320\321\311\322\323\321\311\322\324\f\"\"\"\"\"\210.\207" [query return-attrs filtered result records bbdb-attrs require bbdb eudc-bbdb-format-query nil bbdb-records 0 append eval bbdb-search mapc #[(record) "\303!\211G\304V\203 \305\306 \"\307\n \"\211\207" [record filtered result eudc-filter-duplicate-attributes 1 mapcar #[(rec) "\301!\207" [rec reverse] 2] append] 4] delq mapcar eudc-bbdb-format-record-as-result eudc-bbdb-filter-non-matching-record query-attrs eudc-bbdb-current-return-attributes eudc-bbdb-current-query] 11 (#$ . 4372)])
#@30 Set the EUDC server to BBDB.
(defalias 'eudc-bbdb-set-server #[(dummy) "\301\302\"\210\303\304!\207" [dummy eudc-set-server bbdb message "BBDB server selected"] 3 (#$ . 5341) nil])
(byte-code "\300\301!\210\302\303!\207" [eudc-register-protocol bbdb provide eudcb-bbdb] 2)
|