%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/net/ |
Current File : //usr/local/share/emacs/27.2/lisp/net/eudcb-bbdb.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; 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\304=\203 \302 \203 \305\207\207" [field-symbol net eudc--using-bbdb-3-or-newer-p mail company organization] 2 (#$ . 602)]) #@51 Alist mapping EUDC attribute names to BBDB names. (defvar eudc-bbdb-attributes-translation-alist '((name . lastname) (email . net) (phone . phones)) (#$ . 931)) (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 (#$ . 1476)]) #@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 (#$ . 1796)]) (defalias 'eudc-bbdb-extract-phones #[(record) "\301\302!\210\303\304\305 \203 \306!\202 \307!\"\207" [record require bbdb mapcar #[(phone) "\203 \302\303 \203 \304 !\202 \305 !!\306 !B\207\307\310\311\303 \203' \304 !\202* \305 !\306 !#B\207" [eudc-bbdb-use-locations-as-attribute-names phone intern eudc--using-bbdb-3-or-newer-p bbdb-phone-label bbdb-phone-location bbdb-phone-string phones format "%s: %s"] 6] eudc--using-bbdb-3-or-newer-p bbdb-record-phone bbdb-record-phones] 4]) (defalias 'eudc-bbdb-extract-addresses #[(record) "\304\305!\210\306\211\211\307\310\311 \203 \312!\202 \313!\"+\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] eudc--using-bbdb-3-or-newer-p bbdb-record-address bbdb-record-addresses] 4]) #@130 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\234 \312\267\202S \313 !\202W \314 !\202W \315 \203; \316 \317\"\202W \320 !\202W \321\322\323\324\325!!P!\305D!\202W \326\327!\210 \203 \330\232\204 \331>\203o \332 \n\"\202 <\203\205 G\333U\203\205 @B\nB\202 G\334V\203\225 B\nB\202 \326\335!\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 #s(hash-table size 8 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (phones 32 addresses 39 notes 46 firstname 66 lastname 66 aka 66 company 66 net 66)) eudc-bbdb-extract-phones eudc-bbdb-extract-addresses eudc--using-bbdb-3-or-newer-p bbdb-record-xfield notes bbdb-record-notes eval intern "bbdb-record-" symbol-name eudc-bbdb-field error "Unknown BBDB attribute" "" (phones addresses) append 1 0 "Unexpected attribute value"] 6 (#$ . 3726)]) #@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 (#$ . 4872)]) #@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 (#$ . 5841) nil]) (byte-code "\300\301!\210\302\303!\207" [eudc-register-protocol bbdb provide eudcb-bbdb] 2)