;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\305\307%\210\303\310\305\311\305\312%\210\303\304\305\313\305\314%\207" [require pyim ebdb-i18n cl-generic-define-method ebdb-string-i18n nil ((phone ebdb-field-phone) (_cc (eql 86))) #[514 "\300\301\302\"\203\303\304\301\302\"\301\305\"#\202\301\305\"\301\306\"\203,\303\307\301\306\"\"\202-\310Q\207" ["+86 " slot-value area-code format "%d-%s" number extension "X%d" #1=""] 10 "\n\n(fn PHONE CC)"] ebdb-parse-i18n ((_class (subclass ebdb-field-phone)) (str string) (_cc (eql 86)) &optional slots) #[1027 "\300\301\302#\303\211\304\305\206\306\307Q\"\203\"\310\302\311\211$\266\202\202%\266\202\304\312\206-\306\313Q\"\203?\310\302\311\211$\266\205\202B\266\205\303\304\314\"\203h\315\316\"\262\317\320\315\321\"#\262\211\203h\317\322\323!#\262\304\324\"\203|\317\325\323\315\316\"!#\262\207" [replace-regexp-in-string "[^0-9Xx]+" #1# nil string-match "\\(?:" "[ \n ]+" "\\)\\'" replace-match t "\\`\\(?:" "\\)" "\\`0?\\(10\\|[2-9][0-9]\\{1,2\\}\\)?\\([0-9]+\\)" match-string 1 plist-put :number 2 :area-code string-to-number "X\\([0-9]+\\)\\'" :extension] 14 "\n\n(fn CLASS STR CC &optional SLOTS)"] ((adr ebdb-field-address) (_cc (eql chn))) #[514 "\302\303\304\"\305HH\306\"\203=\307\303\310\"\311\312\313#)\266\203?\205'\303\310\"\303\304\"\314\315\303\316\"\317#\320\303\321\"\260\202@\322!\207" [char-script-table inhibit-changing-match-data eql slot-value locality 0 han "北京\\|重庆\\|上海\\|天津" region nil t string-match mapconcat identity streets #1# ", " postcode ebdb-format-address-default] 10 "\n\n(fn ADR CC)"]] 6) #@66 A list of Chinese surnames that are longer than one character. (defvar ebdb-i18n-chn-compound-surnames '("慕容" "上官" "司马" "欧阳" "司徒" "司空" "西门" "爱新觉罗") (#$ . 2074)) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\310\302\313\302\314%\210\300\315\302\316\302\317%\210\300\320\302\321\302\322%\210\323\324\325\"\210\326\327!\207" [cl-generic-define-method ebdb-parse-i18n nil ((_class (subclass ebdb-field-name-complex)) (string string) (_script (eql han)) &optional _slots) #[1027 "\301\211\302\303\304\305!\"\"\203 \306\307\"\262\306\310\"\262\202,\311\307O\262\307\301O\262\312\313C\314\301\257\207" [ebdb-i18n-chn-compound-surnames nil string-match format "\\`\\(%s\\)\\(.*\\)\\'" regexp-opt match-string 1 2 0 :surname :given-names :suffix] 12 "\n\n(fn CLASS STRING SCRIPT &optional SLOTS)"] ebdb-string-i18n ((field ebdb-field-name-complex) (_script (eql han))) #[514 "\300\301\"\205\f\300\301\"\300\302\"\205\300\302\"@P\207" [slot-value surname given-names] 7 "Properly format names in Chinese characters.\nThis should only run once, at init time, or any time a record's\nname is changed. The value ends up in the 'name-string slot of\nthe record cache.\n\n(fn FIELD SCRIPT)"] ebdb-china-handle-name ((field ebdb-field-name-complex) (record ebdb-record) add-or-del) #[771 "\301\302!!\301\303!\304\305\306\"Q!\307!\310\311\"\203dE\211\205_\211@\211\312\313\"\314!>\204:\315\316\317D\"\210\211\211\320\320H\235\203J\211\202MB\262I\266\321\"\210A\266\202\202\262\202\263E\211\205\261\211@\312\313\"\314!>\204\202\315\316\317D\"\210\211\211\320\322\312 \313\"\314!>\204\233\315\316\317D\"\210\211\320H\262\"I\266\323\"\210A\266\202\202h\262\207" [cl-struct-ebdb-record-cache-tags pyim-hanzi2pinyin-simple ebdb-name-fl ebdb-name-last " " ebdb-name-given t ebdb-string eql add slot-value cache type-of signal wrong-type-argument ebdb-record-cache 2 ebdb-puthash remove ebdb-remhash] 19 "Add or remove a hash for a Chinese-character name.\nThis function is called by both the `ebdb-init-field-i18n' and\n`ebdb-delete-field-i18n' methods. It checks if the name is in\nChinese characters, and if it is, converts it into pinyin, and\neither adds or removes a hash entry for the record under that\nname. It also adds the pinyin to the record's name cache, so\nsearches via pinyin will find the record.\n\n(fn FIELD RECORD ADD-OR-DEL)"] ((field ebdb-field-name-simple) (record ebdb-record) add-or-del) #[771 "\301!\302\303\"\203=\211\304\305\"\306!>\204\307\310\311D\"\210\211\211\312\312H\235\203.\211\2021B\262I\266\313\"\202v\304\305\"\306!>\204P\307\310\311D\"\210\211\211\312\314\304 \305\"\306!>\204i\307\310\311D\"\210\211\312H\262\"I\266\315\"\207" [cl-struct-ebdb-record-cache-tags ebdb-string eql add slot-value cache type-of signal wrong-type-argument ebdb-record-cache 2 ebdb-puthash remove ebdb-remhash] 15 "Add or remove a hash for a Chinese-character name.\n\n(fn FIELD RECORD ADD-OR-DEL)"] ebdb-init-field-i18n ((field ebdb-field-name) record (_script (eql han))) #[771 "\300\301#\207" [ebdb-china-handle-name add] 7 "\n\n(fn FIELD RECORD SCRIPT)"] ebdb-delete-field-i18n ((field ebdb-field-name) record (_script (eql han)) _unload) #[1028 "\300\301#\207" [ebdb-china-handle-name del] 8 "\n\n(fn FIELD RECORD SCRIPT UNLOAD)"] eval-after-load ebdb-snarf #[0 "\302\303\304!\" B\211\207" [ebdb-i18n-chn-compound-surnames ebdb-snarf-name-re format "%s\\cc\\{1,2\\}\\|\\cc\\{2,3\\}" regexp-opt] 4] provide ebdb-i18n-chn] 6)