;ELC ;;; Compiled ;;; in Emacs version 27.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) #@250 Create a BBDB record using the RECORD alist. RECORD is an alist of (KEY . VALUE) where KEY is a directory attribute name symbol and VALUE is the corresponding value for the record. If SILENT is non-nil then the created BBDB record is not displayed. (defalias 'eudc-create-bbdb-record #[(record &optional silent) "\301\302!\210\303\304\305\306\307\"\310\"\311\312\313\314\315\316\317\320\321\322\323\305\324 \205\325\326\324 \203)\327\202*\330\331$BBE\332BBBBBBBBBB!\207" [record require bbdb eval let* append mapcar #[(c) "@A<\203\301AD\202AD\207" [c quote] 3] (bbdb-name bbdb-company bbdb-net bbdb-address bbdb-phones bbdb-notes spec bbdb-record value (conversion-alist (symbol-value eudc-bbdb-conversion-alist))) (setq bbdb-name (eudc-parse-spec (cdr (assq 'name conversion-alist)) record nil) bbdb-company (eudc-parse-spec (cdr (assq 'company conversion-alist)) record nil) bbdb-net (eudc-parse-spec (cdr (assq 'net conversion-alist)) record nil) bbdb-notes (eudc-parse-spec (cdr (assq 'notes conversion-alist)) record nil)) (setq spec (cdr (assq 'address conversion-alist))) (setq bbdb-address (delq nil (eudc-parse-spec (if (listp (car spec)) spec (list spec)) record t))) (setq spec (cdr (assq 'phone conversion-alist))) (setq bbdb-phones (delq nil (eudc-parse-spec (if (listp (car spec)) spec (list spec)) record t))) (setq bbdb-notes (append (list (and bbdb-notes (cons 'notes bbdb-notes))) (mapcar #'(lambda (mapping) (if (and (not (memq (car mapping) '(name company net address phone notes))) (setq value (eudc-parse-spec (cdr mapping) record nil))) (cons (car mapping) value))) conversion-alist))) (setq bbdb-notes (delq nil bbdb-notes)) setq bbdb-record bbdb-create-internal bbdb-name eudc--using-bbdb-3-or-newer-p (nil nil) (bbdb-company bbdb-net) (bbdb-phones bbdb-address) (bbdb-address bbdb-phones) (bbdb-notes) ((or silent (bbdb-display-records (list bbdb-record))))] 19 (#$ . 516)]) #@104 Parse the conversion SPEC using RECORD. If RECURSE is non-nil then SPEC may be a list of atomic specs. (defalias 'eudc-parse-spec #[(spec record recurse) ";\2049\204<\203(@9\203(\302@!\203(\3031%\304!0\207\210\305\207 \2036<\2036\306\307\"\207\310\311\"\207" [spec recurse fboundp (void-variable) eval nil mapcar #[(spec-elem) "\302 \303#\207" [spec-elem record eudc-parse-spec nil] 4] error "Invalid specification for `%s' in `eudc-bbdb-conversion-alist'"] 3 (#$ . 2437)]) #@250 Parse ADDR into a vector compatible with BBDB. ADDR should be an address string of no more than four lines or a list of lines. The last two lines are searched for the zip code, city and state name. LOCATION is used as the address location for bbdb. (defalias 'eudc-bbdbify-address #[(addr location) "<\203 \306!\202\306\307\310\"!\211\211A\242 \211A\242\311\211\311 \237\312\313\n\"\204O\n\312\314 \"\203H\315\316 \"\317\315\320 \"!\202\205\321\322!\210\202\205\312\323\n\"\203k\315\320\n\"\315\316\n\"\317\315\324\n\"!\202\205\312\314\n\"\203\201\315\316\n\"\317\315\320\n\"!\202\205\321\322!\210\325 @\206\216\326 A@\206\225\326\316 8\206\234\326 \206\241\326\206\247\326\f&.\207" [addr addr-components last1 last2 zip city reverse split-string "\n" nil string-match "[0-9][0-9][0-9]" "\\([0-9]+\\)[ ]+\\(.*\\)" match-string 2 string-to-number 1 error "Cannot parse the address" "\\(\\w+\\)\\W*\\([A-Z][A-Z]\\)\\W*\\([0-9]+\\)" 3 vector "" state location] 9 (#$ . 2938)]) #@54 Return ORGANIZATIONS as a list compatible with BBDB. (defalias 'eudc-bbdbify-company #[(&rest organizations) "\207" [organizations] 1 (#$ . 3964)]) #@210 Parse PHONE into a vector compatible with BBDB. PHONE is either a string supposedly containing a phone number or a list of such strings which are concatenated. LOCATION is used as the phone location for BBDB. (defalias 'eudc-bbdbify-phone #[(phone location) "\304\305!\210;\203_\306\3071#\310 \203\311!\202\312!\2110\202K\211A@\313\230\203D\314\315\316\"!\204;\317\320!\202J\321!C\211\202J\322\n@\nA\")\210 G\323U\203X\324 \325\"\326\327 #)\207<\203m\327 \330\331\332#\"\207\317\333!\207" [phone phone-list err location require bbdb nil (error) eudc--using-bbdb-3-or-newer-p bbdb-parse-phone bbdb-parse-phone-number "phone number unparsable." y-or-n-p format "BBDB claims %S to be unparsable--insert anyway? " error "Phone number unparsable" bbdb-string-trim signal 3 append (nil) apply vector mapconcat identity ", " "Invalid phone specification"] 7 (#$ . 4120)]) #@65 Insert all the records returned by a directory query into BBDB. (defalias 'eudc-batch-export-records-to-bbdb #[nil "\302\303!\210eb\210\304\305\306 \203/\307`!\203 \310\307`!@\311\"\211\203 T\203 \312\313\"\210\202 \314\315 \"*\207" [record nbrec require bbdb 0 nil eudc-move-to-next-record overlays-at overlay-get eudc-record eudc-create-bbdb-record t message "%d records imported into BBDB"] 3 (#$ . 5017) nil]) #@119 Insert record at point into the BBDB database. This function can only be called from a directory query result buffer. (defalias 'eudc-insert-record-at-point-into-bbdb #[nil "\301\302!\210\303`!\205\304\303`!@\305\"\211\204\306\307!\202\310!)\207" [record require bbdb overlays-at overlay-get eudc-record error "Point is not over a record" eudc-create-bbdb-record] 4 (#$ . 5448) nil]) #@62 Call `eudc-insert-record-at-point-into-bbdb' if on a record. (defalias 'eudc-try-bbdb-insert #[nil "\300\301!\210\302`!\205\303\302`!@\304\"\205\305 \207" [require bbdb overlays-at overlay-get eudc-record eudc-insert-record-at-point-into-bbdb] 3 (#$ . 5846) nil])