MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.116.81.133
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/net/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/net/eudc.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:31 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/eudc.el
;;; in Emacs version 24.3.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\302\303!\204\300\304!\210\302\305!\204\306\305\307\"\210\300\310!\207" [require wid-edit fboundp make-overlay overlay custom-menu-create autoload "cus-edit" eudc-vars] 3)
(defvar eudc-form-widget-list nil)
(defvar eudc-mode-map (byte-code "\301 \302\303\304#\210\302\305\304#\210\302\306\307#\210\302\310\311#\210\302\312\313#\210\302\314\315#\210)\207" [map make-sparse-keymap define-key "q" kill-this-buffer "x" "f" eudc-query-form "b" eudc-try-bbdb-insert "n" eudc-move-to-next-record "p" eudc-move-to-previous-record] 4))
(set-keymap-parent eudc-mode-map widget-keymap)
(defvar eudc-server-hotlist nil)
(defvar eudc-local-vars nil)
(defvar eudc-query-function nil)
(defvar eudc-list-attributes-function nil)
(defvar eudc-protocol-attributes-translation-alist nil)
(defvar eudc-bbdb-conversion-alist nil)
(defvar eudc-switch-to-server-hook nil)
(defvar eudc-switch-from-server-hook nil)
(defvar eudc-protocol-has-default-query-attributes nil)
(defalias 'eudc-cadr #[(obj) "A@\207" [obj] 1])
(defalias 'eudc-cdar #[(obj) "@A\207" [obj] 1])
(defalias 'eudc-caar #[(obj) "@@\207" [obj] 1])
(defalias 'eudc-cdaar #[(obj) "@@A\207" [obj] 1])
#@50 Return t if PROP has a value specified in PLIST.
(defalias 'eudc-plist-member #[(plist prop) "G\301\246\302U\204
\303\304!\210\305\306\215\207" [plist 2 0 error "Malformed plist" found (byte-code "\203	@=\203\302\303\304\"\210AA\211\204\305\207" [plist prop throw found t nil] 4)] 2 (#$ . 1733)])
#@252 Extract a value from a property list.
PLIST is a property list, which is a list of the form
(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
corresponding to the given PROP, or DEFAULT if PROP is not
one of the properties on the list.
(defalias 'eudc-plist-get #[(plist prop &optional default) "\303	\"\203\f\304	\"\207\n\207" [plist prop default eudc-plist-member plist-get] 3 (#$ . 2049)])
#@328 Extract a value from a lax property list.

PLIST is a lax property list, which is a list of the form (PROP1
VALUE1 PROP2 VALUE2...), where comparisons between properties are done
using `equal' instead of `eq'.  This function returns the value
corresponding to PROP, or DEFAULT if PROP is not one of the
properties on the list.
(defalias 'eudc-lax-plist-get #[(plist prop &optional default) "G\301\246\302U\204
\303\304!\210\305\306\215\207" [plist 2 0 error "Malformed plist" found (byte-code "\203	@\232\203\303\304A@\"\210AA\211\204\n\207" [plist prop default throw found] 4)] 2 (#$ . 2467)])
(byte-code "\300\301!\204\302\301\303\"\210\300\207" [fboundp split-string defalias #[(string &optional pattern) "\204\304\305\306\307\306#\203A\306\224\306V\203!\306\211\224O\305B\306\225\307	#\203A\306\225	V\203A	\306\224O\nB\306\225\202$	GW\203Q	\305O\nB\202R\n\237*\207" [pattern start parts string "[ \f	\n
]+" nil 0 string-match] 4 "Return a list of substrings of STRING which are separated by PATTERN.\nIf PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."]] 3)
#@78 Replace all matches in STR for REGEXP with NEWTEXT.
Value is the new string.
(defalias 'eudc-replace-in-string #[(str regexp newtext) "\306\307\310\211\311\f
\n#\211\203#\n\307\225
	O\nQ\202
\n\310OP,\207" [prev-start match start rtn-str regexp str "" 0 nil string-match newtext] 4 (#$ . 3588)])
#@50 Return non-nil if VAR has server-local bindings.
(defalias 'eudc-server-local-variable-p #[(var) "\301\302N\303\"\207" [var eudc-plist-member eudc-locals server] 3 (#$ . 3905)])
#@52 Return non-nil if VAR has protocol-local bindings.
(defalias 'eudc-protocol-local-variable-p #[(var) "\301\302N\303\"\207" [var eudc-plist-member eudc-locals protocol] 3 (#$ . 4090)])
#@86 Set the EUDC default value of VAR to VAL.
The current binding of VAR is not changed.
(defalias 'eudc-default-set #[(var val) "\302\303\304\303N\305	##\210\306\307\"\207" [var val put eudc-locals plist-put default add-to-list eudc-local-vars] 7 (#$ . 4281)])
#@184 Set the PROTOCOL-local binding of VAR to VAL.
If omitted PROTOCOL defaults to the current value of `eudc-protocol'.
The current binding of VAR is changed only if PROTOCOL is omitted.
(defalias 'eudc-protocol-set #[(var val &optional protocol) "\306!\307=\203\310\211J\"\210\301N\311	\303\"\312\n\206\f
#\312	\303\n#\313\301	#\210\314\315\"\210?\205:\316!*\207" [var eudc-locals protocol-locals protocol eudc-protocol val eudc-variable-default-value unbound eudc-default-set eudc-plist-get plist-put put add-to-list eudc-local-vars eudc-update-variable] 4 (#$ . 4549)])
#@176 Set the SERVER-local binding of VAR to VAL.
If omitted SERVER defaults to the current value of `eudc-server'.
The current binding of VAR is changed only if SERVER is omitted.
(defalias 'eudc-server-set #[(var val &optional server) "\306!\307=\203\310\211J\"\210\301N\311	\303\"\312\n\206\f
#\312	\303\n#\313\301	#\210\314\315\"\210?\205:\316!*\207" [var eudc-locals server-locals server eudc-server val eudc-variable-default-value unbound eudc-default-set eudc-plist-get plist-put put add-to-list eudc-local-vars eudc-update-variable] 4 (#$ . 5142)])
#@119 Set the most local (server, protocol or default) binding of VAR to VAL.
The current binding of VAR is also set to VAL
(defalias 'eudc-set #[(var val) "\302!\303=\204\304	\"\210\202%\305!\303=\204 \306	\"\210\202%\307	\"\210	L\207" [var val eudc-variable-server-value unbound eudc-server-set eudc-variable-protocol-value eudc-protocol-set eudc-default-set] 3 (#$ . 5717)])
#@87 Return the default binding of VAR.
Return `unbound' if VAR has no EUDC default value.
(defalias 'eudc-variable-default-value #[(var) "\301N\302!\203	\203\303	\304\305#\202\305)\207" [var eudc-locals boundp eudc-plist-get default unbound] 4 (#$ . 6106)])
#@137 Return the value of VAR local to PROTOCOL.
Return `unbound' if VAR has no value local to PROTOCOL.
PROTOCOL defaults to `eudc-protocol'
(defalias 'eudc-variable-protocol-value #[(var &optional protocol) "\301N\305\306!\203	\203\307	\303\"\204\310\202)\311	\303\"\312\n\206'\f\310#*\207" [var eudc-locals protocol-locals protocol eudc-protocol nil boundp eudc-plist-member unbound eudc-plist-get eudc-lax-plist-get] 4 (#$ . 6376)])
#@129 Return the value of VAR local to SERVER.
Return `unbound' if VAR has no value local to SERVER.
SERVER defaults to `eudc-server'
(defalias 'eudc-variable-server-value #[(var &optional server) "\301N\305\306!\203	\203\307	\303\"\204\310\202)\311	\303\"\312\n\206'\f\310#*\207" [var eudc-locals server-locals server eudc-server nil boundp eudc-plist-member unbound eudc-plist-get eudc-lax-plist-get] 4 (#$ . 6828)])
#@235 Set the value of VAR according to its locals.
If the VAR has a server- or protocol-local value corresponding
to the current `eudc-server' and `eudc-protocol' then it is set
accordingly. Otherwise it is set to its EUDC default binding
(defalias 'eudc-update-variable #[(var) "\302\303	!\211\304=\204	L\2020\305	!\211\304=\204\"	L\2020\306	!\211\304=?\2050	L)\207" [val var nil eudc-variable-server-value unbound eudc-variable-protocol-value eudc-variable-default-value] 2 (#$ . 7262)])
#@62 Update all EUDC variables according to their local settings.
(defalias 'eudc-update-local-variables #[nil "\301\302\"\207" [eudc-local-vars mapcar eudc-update-variable] 3 (#$ . 7766) nil])
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\302\"\210\300\306\302\"\210\300\307\302\"\210\300\310\302\"\210\300\311\302\"\207" [eudc-default-set eudc-query-function nil eudc-list-attributes-function eudc-protocol-attributes-translation-alist eudc-bbdb-conversion-alist eudc-switch-to-server-hook eudc-switch-from-server-hook eudc-protocol-has-default-query-attributes eudc-attribute-display-method-alist] 3)
(defalias 'eudc-register-protocol #[(protocol) "	>\204	B\303\304\305\306\307\310\311\312	\"BBB#\210\n>\206$\nB\211\207" [protocol eudc-supported-protocols eudc-known-protocols put eudc-protocol custom-type choice :menu-tag "Protocol" mapcar #[(s) "\301\302\303!E\207" [s string :tag symbol-name] 4]] 9])
#@120 Translate attribute names of QUERY.
The translation is done according to
`eudc-protocol-attributes-translation-alist'.
(defalias 'eudc-translate-query #[(query) "\203	\302\303	\"\207	\207" [eudc-protocol-attributes-translation-alist query mapcar #[(attribute) "@	J\236\211\203\nAAB\202)\207" [attribute eudc-protocol-attributes-translation-alist trans] 3]] 3 (#$ . 8716)])
#@126 Translate a list of attribute names LIST.
The translation is done according to
`eudc-protocol-attributes-translation-alist'.
(defalias 'eudc-translate-attribute-list #[(list) "\203\f\303\304\305\n\")\207\n\207" [eudc-protocol-attributes-translation-alist trans list nil mapcar #[(attribute) "	J\236\211\203\f\nA\207\207" [attribute eudc-protocol-attributes-translation-alist trans] 3]] 3 (#$ . 9106)])
#@99 Choose one from CHOICES using a completion.
BEG and END delimit the text which is to be replaced.
(defalias 'eudc-select #[(choices beg end) "\304\305\306\307\310	\"\"\n|\210c)\207" [replacement choices beg end nil completing-read "Multiple matches found; choose one: " mapcar list] 5 (#$ . 9521)])
#@368 Query the current directory server with QUERY.
QUERY is a list of cons cells (ATTR . VALUE) where ATTR is an attribute
name and VALUE the corresponding value.
If NO-TRANSLATION is non-nil, ATTR is translated according to
`eudc-protocol-attributes-translation-alist'.
RETURN-ATTRIBUTES is a list of attributes to return defaulting to
`eudc-default-return-attributes'.
(defalias 'eudc-query #[(query &optional return-attributes no-translation) "\204\305\306!\210	\203\n\206\f\"\207\307\n!\203#\310!\202/\f<\203.\310\f!\202/\f\"\207" [eudc-query-function no-translation query return-attributes eudc-default-return-attributes error "Don't know how to perform the query" eudc-translate-query eudc-translate-attribute-list] 4 (#$ . 9831)])
#@239 Format a directory attribute name for display.
ATTRIBUTE is looked up in `eudc-user-attribute-names-alist' and replaced
by the corresponding user name if any.  Otherwise it is capitalized and
underscore characters are replaced by spaces.
(defalias 'eudc-format-attribute-name-for-display #[(attribute) "	\236\211\203
\nA\202\303\304\305\306\307!\310\"\311#!)\207" [attribute eudc-user-attribute-names-alist match capitalize mapconcat identity split-string symbol-name "_" " "] 7 (#$ . 10588)])
#@234 Insert the value of the directory FIELD at point.
The directory attribute name in car of FIELD is looked up in
`eudc-attribute-display-method-alist' and the corresponding method,
if any, is called to print the value in cdr of FIELD.
(defalias 'eudc-print-attribute-value #[(field) "\305@\227	\"iA\211\203\306\fA\nD!\210\307c\202>\310\311\n<\203'\n\202=\n;\2033\312\n\307\"\202=\n\204;\313\202=\nC\"+\207" [field eudc-attribute-display-method-alist val col match assoc eval "\n" mapcar #[(val-elem) "j\210	\302\261\207" [col val-elem "\n"] 2] split-string ("")] 6 (#$ . 11095)])
#@188 Print the record field FIELD.
FIELD is a list (ATTR VALUE1 VALUE2 ...) or cons-cell (ATTR . VAL)
COLUMN-WIDTH is the width of the first display column containing the
attribute name ATTR.
(defalias 'eudc-print-record-field #[(field column-width) "`\303\304\305	!\306Q\n@\"c\210\307`\310\311$\210\312	\\j\210\313\n!)\207" [field-beg column-width field format "%" int-to-string "s: " put-text-property face bold 2 eudc-print-attribute-value] 5 (#$ . 11696)])
#@201 Display the record list RECORDS in a formatted buffer.
If RAW-ATTR-NAMES is non-nil, the raw attribute names are displayed
otherwise they are formatted according to `eudc-user-attribute-names-alist'.
(defalias 'eudc-display-records #[(records &optional raw-attr-names) "\306\211\307\306\211\211%&r\310\311!q\210p\312 \210&%\306\211'(\313\211)\313*\314 \210\315\316!\210+\211+,r,q\210\313\211'\314 \210\317c\210\320c\210-\204b\321.\203[\322\202\\\323\261\210\202o\324\325-\"`\326\327\f\"\210\330c\210\331\332\333\334\335$\210\336\337!\210\331\332\333\340\341$\210\342 \210\343 \210	\205\220	b)\344+!\210.	\207" [attribute-name first-record beg width precords inhibit-read-only nil 0 get-buffer-create "*Directory Query Results*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook "Directory Query Result\n" "======================\n\n\n" "No match found.\n" "Try setting `eudc-strict-return-matches' to nil or change `eudc-default-return-attributes'.\n" "" mapcar #[(record) "\301\302\"\207" [record mapcar #[(field) "\203\304	@!\202\305	@!\211GV\203\nG\n	AB\207" [raw-attr-names field attribute-name width symbol-name eudc-format-attribute-name-for-display] 3]] 3] mapc #[(record) "`\303\304	\"\210\305\306`\"\307\n@#\210\nA\310c\207" [beg record records mapc #[(field) "\302	\"\207" [field width eudc-print-record-field] 3] overlay-put make-overlay eudc-record "\n"] 4] "\n" widget-create push-button :notify #[(&rest ignore) "\300 \207" [eudc-query-form] 1] "New query" widget-insert " " #[(&rest ignore) "\300 \207" [kill-this-buffer] 1] "Quit" eudc-mode widget-setup internal-temp-output-buffer-show default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks #2=#:buf standard-output records eudc-strict-return-matches] 7 (#$ . 12161)])
#@67 Process the query form in current buffer and display the results.
(defalias 'eudc-process-form #[nil "\304\211\305\302!\203\n\204\306\307!\202#\310\311\n\"\210\312p!\210\313\314	!\"*\207" [value query-alist eudc-form-widget-list eudc-use-raw-directory-names nil boundp error "Not in a directory query form buffer" mapc #[(wid-field) "\303A!\211\304\230?\205@	B\nB\211\207" [wid-field value query-alist widget-value ""] 3] kill-buffer eudc-display-records eudc-query] 3 (#$ . 14027)])
#@72 Filter RECORD according to `eudc-duplicate-attribute-handling-method'.
(defalias 'eudc-filter-duplicate-attributes #[(record) "\305\211\211\211\203\306\f!<\204\fA\211\204\f\306\f!\204%C\2023\307\310\"\210C\307\311\n\"\210	,\207" [record result duplicates unique rec nil eudc-cdar mapc #[(field) "A<\203\f	B\211\207\nB\211\207" [field duplicates unique] 2] #[(field) ":\203\305	@\nJ\"@\206	@\236A\202\211\203#\306=\203,\307	\f\"\211\202c\310=\203@\307	@\311	!B\f\"\211\202c\312=\203W\307	@\313\314	A\315#B\f\"\211\202c\316=\205c\317	\f\"\211)\207" [eudc-duplicate-attribute-handling-method field eudc-protocol-attributes-translation-alist method result rassq list eudc-add-field-to-records first eudc-cadr concat mapconcat identity "\n" duplicate eudc-distribute-field-on-records] 7]] 5 (#$ . 14531)])
#@63 Eliminate records that do not contain all ATTRS from RECORDS.
(defalias 'eudc-filter-partial-records #[(records attrs) "\301\302\303\304\"\"\207" [records delq nil mapcar #[(rec) "\302\303\304\305\"B!\205\f	\207" [attrs rec eval and mapcar #[(attr) "	\236:\207" [attr rec] 2]] 5]] 5 (#$ . 15387)])
#@79 Add FIELD to each individual record in RECORDS and return the resulting list.
(defalias 'eudc-add-field-to-records #[(field records) "\301\302\"\207" [records mapcar #[(r) "	B\207" [field r] 2]] 3 (#$ . 15695)])
#@144 Duplicate each individual record in RECORDS according to value of FIELD.
Each copy is added a new field containing one of the values of FIELD.
(defalias 'eudc-distribute-field-on-records #[(field records) "\303A	\203	\304	@	A\"\241\210	A\211\204	\305\306A\"\210\n*\207" [field values result nil delete mapc #[(value) "\305!\306\n@B	\"\307	\f\"\211)\207" [records result-list field value result copy-sequence eudc-add-field-to-records append] 3]] 5 (#$ . 15916)])
#@445 Major mode used in buffers displaying the results of directory queries.
There is no sense in calling this command from a buffer other than
one containing the results of a directory query.

These are the special commands of EUDC mode:
    q -- Kill this buffer.
    f -- Display a form to query the current directory server.
    n -- Move to next record.
    p -- Move to previous record.
    b -- Insert record at point into the BBDB database.
(defalias 'eudc-mode #[nil "\303 \210\304\305\306\n!\210\307\310!\210\311\312\n\313\314 $\210\315\316!\207" [major-mode mode-name eudc-mode-map kill-all-local-variables eudc-mode "EUDC" use-local-map (lambda (#1=#:def-tmp-var) (defvar eudc-emacs-menu #1# #2="")) nil easy-menu-do-define eudc-emacs-menu #2# eudc-menu run-mode-hooks eudc-mode-hook] 5 (#$ . 16399) nil])
#@29 Customize the EUDC package.
(defalias 'eudc-customize #[nil "\300\301!\207" [customize-group eudc] 2 (#$ . 17220) nil])
#@142 Set the directory server to SERVER using PROTOCOL.
Unless NO-SAVE is non-nil, the server is saved as the default
server for future sessions.
(defalias 'eudc-set-server #[(server protocol &optional no-save) "	\235\204\306\307\310!P\311\"\204\312\313\"\210\314\315!\210\316 \210\314\317!\210\320\321!\2031\322\323\f\n#\210
?\2058\324 \207" [protocol eudc-supported-protocols eudc-protocol server eudc-server no-save load "eudcb-" symbol-name t error "Unsupported protocol: %s" run-hooks eudc-switch-from-server-hook eudc-update-local-variables eudc-switch-to-server-hook called-interactively-p interactive message "Current directory server is now %s (%s)" eudc-save-options] 4 (#$ . 17347) (list (read-from-minibuffer "Directory Server: ") (intern (completing-read "Protocol: " (mapcar #'(lambda (elt) (cons (symbol-name elt) elt)) eudc-known-protocols))))])
#@111 Get the email field of NAME from the directory server.
If ERROR is non-nil, report an error if there is none.
(defalias 'eudc-get-email #[(name &optional error) "\204\305\306!\210\307\301	BC\310\"\311\211A\204\312!\202\"\304\313!\210\f\2037\n\2032\314\315\n\"\210\2027\304\316	\"\210\n*\207" [eudc-server name email result error call-interactively eudc-set-server eudc-query (email) nil eudc-cdaar "Multiple match--use the query form" message "%s" "No record matching %s"] 4 (#$ . 18224) "sName: \np"])
#@111 Get the phone field of NAME from the directory server.
If ERROR is non-nil, report an error if there is none.
(defalias 'eudc-get-phone #[(name &optional error) "\204\305\306!\210\307\301	BC\310\"\311\211A\204\312!\202\"\304\313!\210\f\2037\n\2032\314\315\n\"\210\2027\304\316	\"\210\n*\207" [eudc-server name phone result error call-interactively eudc-set-server eudc-query (phone) nil eudc-cdaar "Multiple match--use the query form" message "%s" "No record matching %s"] 4 (#$ . 18747) "sName: \np"])
#@170 Return a list of valid attributes for the current server.
When called interactively the list is formatted in a dedicated buffer
otherwise a list of symbols is returned.
(defalias 'eudc-get-attribute-list #[nil "\203\303\304!!\211\205\303\304!\203\305	\306\"\202	)\207\307\310\n\"\207" [eudc-list-attributes-function entries eudc-protocol called-interactively-p interactive eudc-display-records t error "The %s protocol has no support for listing attributes"] 4 (#$ . 19270) nil])
#@46 Use FORMAT to build a EUDC query from WORDS.
(defalias 'eudc-format-query #[(words format) "\306\211\211\211\211
\203]
\203+
\203+
@
@BB
A

A\202\237\211\203Y\307!\310!\n\f\236\211\203M\211A\311	Q\241\210\202R@\fBA\211\2042\f\202t\203k\312\313
\311#\202t\314\312\313
\311#BC-\207" [cell val key query-alist query format nil eudc-caar eudc-cdar " " mapconcat identity name words eudc-protocol-has-default-query-attributes] 6 (#$ . 19767)])
#@84 Extract a list of N-long formats from FORMAT-LIST.
If none try N - 1 and so forth.
(defalias 'eudc-extract-n-word-formats #[(format-list n) "\303\204	\304V\203\305\303\306\307\n\"\"	S\202)\207" [formats n format-list nil 0 delq mapcar #[(format) "	GU\205	\207" [n format] 2]] 5 (#$ . 20252)])
#@734 Query the directory server, and expand the query string before point.
The query string consists of the buffer substring from the point back to
the preceding comma, colon or beginning of line.
The variable `eudc-inline-query-format' controls how to associate the
individual inline query words with directory attribute names.
After querying the server for the given string, the expansion specified by
`eudc-inline-expansion-format' is inserted in the buffer at point.
If REPLACE is non-nil, then this expansion replaces the name in the buffer.
`eudc-expansion-overwrites-query' being non-nil inverts the meaning of REPLACE.
Multiple servers can be tried with the same query until one finds a match,
see `eudc-inline-expansion-servers'
(defalias 'eudc-expand-inline #[(&optional replace) "\306>\203	\204\307\310!\210\202\n\204\311\312!\210`\212\313\314\315 \316#\203)\317\225b\210`)\320\f{\321\"\322\211\322\211	 !\"\322#\323\n!#\324=\203X\n\202\200\325=\203n	!B\326	!B#\"B\202\200\327=\203|	!BC\202\200\311\330\"#$\203\231#G$V\203\231$S#\233\322\241\210\331\332\333\217.\n\207" [eudc-inline-expansion-servers eudc-server eudc-server-hotlist end beg query-words (current-server server-then-hotlist) call-interactively eudc-set-server error "No server in the hotlist" re-search-backward "\\([:,]\\|^\\)[ 	]*" point-at-bol move 0 split-string "[ 	]+" nil copy-sequence hotlist server-then-hotlist delete current-server "Wrong value for `eudc-inline-expansion-servers': %S" signal (byte-code "\306\307\215\211\204\310\311!\210\202\235\2032\312\313	@\314\315\316	A!\"#\211G\317V\203+\nBA\211\204\f\203:
\203B\f\204I
\203I\320\"\210G\321U\204\\\203\\\322=\203i|\210@c\210\202\235\323=\203{\324#\210\202\235\325=\203\222|\210\326\327\330#c\210\202\235\331=\203\235\310\332!\210 !\232\203\255\"#\232\206\264\333!#\334#\207" [response eudc-inline-expansion-format response-string response-strings replace eudc-expansion-overwrites-query found (byte-code "\203F\306\307!\310!\311#\210\312	\nG\"\206?\205\313\211\203?\314\315\n\f@\"\316
A!\"\211\2038\317\320\"\210\fA\211\204!A\211\204\321\207" [servers eudc-inline-query-format query-words eudc-protocol-has-default-query-attributes query-formats eudc-inline-expansion-format eudc-set-server eudc-caar eudc-cdar t eudc-extract-n-word-formats (name) eudc-query eudc-format-query eudc-translate-attribute-list throw found nil response] 5) error "No match" apply format mapcar #[(field) "	@\236A\206	\302\207" [field response ""] 2] eudc-translate-attribute-list 0 kill-ring-save 1 first select eudc-select all mapconcat identity ", " abort "There is more than one match for the query" eudc-set-server t beg end eudc-multiple-match-handling-method eudc-server eudc-former-server eudc-protocol eudc-former-protocol] 8) ((error (byte-code "	\232\203\f\n\232\204\305	\306#\210\304\f@\fA\"\207" [eudc-server eudc-former-server eudc-protocol eudc-former-protocol signal eudc-set-server t] 4))) query-formats response response-string response-strings eudc-former-server eudc-protocol eudc-former-protocol servers eudc-max-servers-to-query] 5 (#$ . 20566) nil])
#@196 Display a form to query the directory server.
If given a non-nil argument GET-FIELDS-FROM-SERVER, the function first
queries the server for the existing fields and displays a corresponding form.
(defalias 'eudc-query-form #[(&optional get-fields-from-server) "\203	\306 \206\n	\307\310!\311\211\312\311\211456\3135!\210\314\315 \210\316 \210\317\320!\210\321\322!\210\321\323!\210\321\3247\206B\325\326!\2107\327#\210\321\330\3318!\327#\2109\203]\332\331\3336!\"\202b\332\3346\"4\335\3364\"\210\321\337\340\341\342\f!\343Q4@\"\"\210`\344\345\346\347#6@
BB6A64A4\335\3506\"\210\321\337!\210\344\351\352\353\354$\210\321\355!\210\344\351\352\356\357$\210\321\355!\210\344\351\352\360\361$\210\nb\210\362:!\210\363 .\207" [get-fields-from-server eudc-query-form-attributes pt inhibit-read-only width widget eudc-get-attribute-list get-buffer-create "*Directory Query Form*" nil 0 switch-to-buffer t erase-buffer kill-all-local-variables make-local-variable eudc-form-widget-list widget-insert "Directory Query Form\n" "====================\n\n" "Current server is: " call-interactively eudc-set-server "\n" "Protocol         : " symbol-name mapcar eudc-translate-attribute-list #[(field) "	\236\203
	\236A\206\302\303!!\207" [field eudc-user-attribute-names-alist capitalize symbol-name] 3] mapc #[(prompt) "G	V\205G\211\207" [prompt width] 2] "\n\n" format "%" int-to-string "s: " widget-create editable-field :size 15 #[(field) "\305\306\307\310\311!\312Q	@\"\"\210\313\314\315\316#\nB\fB	A\211\207" [width prompts widget field eudc-form-widget-list widget-insert "\n\n" format "%" int-to-string "s: " widget-create editable-field :size 15] 6] push-button :notify #[(&rest ignore) "\300 \207" [eudc-process-form] 1] "Query Server" " " #[(&rest ignore) "\300 \207" [eudc-query-form] 1] "Reset Form" #[(&rest ignore) "\300 \207" [kill-this-buffer] 1] "Quit" use-local-map widget-setup prompts buffer fields eudc-server eudc-protocol eudc-use-raw-directory-names widget-keymap] 7 (#$ . 23807) "P"])
#@58 Add SERVER using PROTOCOL to the EUDC `servers' hotlist.
(defalias 'eudc-bookmark-server #[(server protocol) "	B\n\235\203\303\304	#\207	B\nB\305 \210\306 \207" [server protocol eudc-server-hotlist error "%s:%s is already in the hotlist" eudc-install-menu eudc-save-options] 4 (#$ . 25862) "sDirectory server: \nsProtocol: "])
#@51 Add current server to the EUDC `servers' hotlist.
(defalias 'eudc-bookmark-current-server #[nil "\302	\"\207" [eudc-server eudc-protocol eudc-bookmark-server] 3 (#$ . 26201) nil])
#@38 Save options to `eudc-options-file'.
(defalias 'eudc-save-options #[nil "r\306\307\"q\210eb\210p\310\211\211\311\312\215\210ed=\203 \313\314!\210\204(\313\315!\210n\2040\313\316!\210\317 \210\313\320!\210\321
!\210\313\322!\210\321!\210\313\323!\210\313\324!\210\321!\210\313\325!\210\326 -\207" [eudc-options-file set-server-p set-hotlist-p provide-p standard-output eudc-server find-file-noselect t nil found (byte-code "\304\305\306\217\211<\203P@\307=\203\212\310 \210`)`|\210\311\202a@\312=\203<\313!\314=\203<\212\310 \210`)`|\210\311\202a@\315=\203a\313!\316\232\203a\311\202a\203a\n\203a	\203a\317\320\311\"\210)\202" [sexp set-server-p set-hotlist-p provide-p nil (byte-code "\300p!\207" [read] 2) ((end-of-file (byte-code "\300\301\302\"\207" [throw found nil] 3))) eudc-set-server backward-sexp t setq eudc-cadr eudc-server-hotlist provide 'eudc-options-file throw found] 4) princ ";; This file was automatically generated by eudc.el.\n\n" "(provide 'eudc-options-file)\n" "\n" delete-blank-lines "(eudc-set-server " prin1 " '" " t)\n" "(setq eudc-server-hotlist '" ")\n" save-buffer eudc-protocol eudc-server-hotlist] 4 (#$ . 26388) nil])
#@70 Move to next record, in a buffer displaying directory query results.
(defalias 'eudc-move-to-next-record #[nil "\302=\204\n\303\304!\207\305`!\211dW\203	Tb\202\303\306!)\207" [major-mode pt eudc-mode error "Not in a EUDC buffer" next-overlay-change "No more records after point"] 3 (#$ . 27583) nil])
#@74 Move to previous record, in a buffer displaying directory query results.
(defalias 'eudc-move-to-previous-record #[nil "\302=\204\n\303\304!\207\305`!\211eV\203	b\202\303\306!)\207" [major-mode pt eudc-mode error "Not in a EUDC buffer" previous-overlay-change "No more records before point"] 3 (#$ . 27897) nil])
(require 'easymenu)
(defconst eudc-custom-generated-menu (byte-code "\300\301!A\207" [custom-menu-create eudc] 2))
(defconst eudc-tail-menu (byte-code "\301\302\303\304\305\306\307\310\311\312\313B\257\207" [eudc-custom-generated-menu ["---" nil nil] ["Query with Form" eudc-query-form :help "Display a form to query the directory server"] ["Expand Inline Query" eudc-expand-inline :help "Query the directory server, and expand the query string before point"] ["Insert Record into BBDB" eudc-insert-record-at-point-into-bbdb (and (or (featurep 'bbdb) (prog1 (locate-library "bbdb") (message #1=""))) (overlays-at (point)) (overlay-get (car (overlays-at (point))) 'eudc-record)) :help "Insert record at point into the BBDB database"] ["Insert All Records into BBDB" eudc-batch-export-records-to-bbdb (and (eq major-mode 'eudc-mode) (or (featurep 'bbdb) (prog1 (locate-library "bbdb") (message #1#)))) :help "Insert all the records returned by a directory query into BBDB"] ["---" nil nil] ["Get Email" eudc-get-email :help "Get the email field of NAME from the directory server"] ["Get Phone" eudc-get-phone :help "Get the phone field of name from the directory server"] ["List Valid Attribute Names" eudc-get-attribute-list :help "Return a list of valid attributes for the current server"] ["---" nil nil] "Customize"] 12))
(defconst eudc-server-menu '(["---" nil nil] ["Bookmark Current Server" eudc-bookmark-current-server :help "Add current server to the EUDC `servers' hotlist"] ["Edit Server List" eudc-edit-hotlist :help "Edit the hotlist of directory servers in a specialized buffer"] ["New Server" eudc-set-server :help "Set the directory server to SERVER using PROTOCOL"]))
(defalias 'eudc-menu #[nil "\304\305\306\305\307\310\311	\"\n#C#)\207" [command eudc-server-hotlist eudc-server-menu eudc-tail-menu nil append ("Directory Search") ("Server") mapcar #[(servspec) "@A\305\n!\306\307	\310R!\311\f!\204+\f\312\313\314\315	\316\nDE\317\320	F\257M\210\321\322\323	#\f\324\325\326\327\330	E&+\207" [servspec server protocol proto-name command symbol-name intern "eudc-set-server-" "-" fboundp lambda nil (interactive) eudc-set-server quote message "Selected directory server is now %s (%s)" vector format "%s (%s)" :style radio :selected equal eudc-server] 9]] 7])
(defalias 'eudc-install-menu #[nil "\303\304!\203\305\306\307\304\307\310 A\"B#\207\303\311!\203(\310 \311\312\313\304	@	A\"#)\207\303\314!\203G\315\312!\210\316\317\n\320\310 $\210\305\321\307\314\307\310 A\"B#\207\322\323!\207" [global-map menu eudc-mode-map fboundp easy-menu-create-menu define-key [menu-bar tools directory-search] "Directory Search" eudc-menu easy-menu-add-item nil ("tools") easy-menu-create-keymaps (lambda (#1=#:def-tmp-var) (defvar eudc-menu-map #1# #2="Directory Client Menu")) easy-menu-do-define eudc-menu-map #2# [menu-bar tools eudc] error "Unknown version of easymenu"] 7])
(byte-code "\204\302	!\203\303\304!\210\305\301!\204\306	!\210\305\307!\204!\310 \210\302\207" [noninteractive eudc-options-file locate-library message "" featurep load infodock eudc-install-menu] 2)
#@105 Load the Emacs Unified Directory Client.
This does nothing except loading eudc by autoload side-effect.
(defalias 'eudc-load-eudc #[nil "\300\207" [nil] 1 (#$ . 31335) nil])
(byte-code "\302\303\304!\305\306\307\310\311!\312\313\310\314!\257#\210\305\315\307\310\316!\317\313\310\320!\257#\210\305\321	#\210\305\322\307\310\323!\324\313\310\325!\257#\210\305\326\307\310\327!\330\313\310\331!\257#\210\305\332	#\210\305\333\307\310\334!\335\313\310\336!\257#\210\305\337\307\310\340!\341\313\310\342!\257#\210)!\210\343\211JM\210\344\345!\207" [map menu-bar-separator (lambda (#1=#:def-tmp-var) (defvar eudc-tools-menu #1#)) make-sparse-keymap "Directory Search" define-key [phone] menu-item purecopy "Get Phone" eudc-get-phone :help "Get the phone field of name from the directory server" [email] "Get Email" eudc-get-email "Get the email field of NAME from the directory server" [separator-eudc-email] [expand-inline] "Expand Inline Query" eudc-expand-inline "Query the directory server, and expand the query string before point" [query] "Query with Form" eudc-query-form "Display a form to query the directory server" [separator-eudc-query] [new] "New Server" eudc-set-server "Set the directory server to SERVER using PROTOCOL" [load] "Load Hotlist of Servers" eudc-load-eudc "Load the Emacs Unified Directory Client" eudc-tools-menu provide eudc] 10)

MMCT - 2023