%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/net/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/net/eudc.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!\210\303\304!\204\300\305!\210\303\306!\204\307\306\310\"\210\300\311!\207" [require wid-edit cl-lib 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\"\210\303\304\305#\210\303\306\305#\210\303\307\310#\210\303\311\312#\210\303\313\314#\210\303\315\316#\210\211\207" [widget-keymap make-sparse-keymap set-keymap-parent define-key "q" kill-current-buffer "x" "f" eudc-query-form "b" eudc-try-bbdb-insert "n" eudc-move-to-next-record "p" eudc-move-to-previous-record] 5))
(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)
#@49 Return non-nil if BBDB version is 3 or greater.
(defalias 'eudc--using-bbdb-3-or-newer-p #[0 "\301\232\206
\302\303\304!@\"\207" [bbdb-version "@PACKAGE_VERSION@" version<= "3" split-string] 4 (#$ . 1375)])
#@67 Return t if PROP has a value specified in PLIST.

(fn PLIST PROP)
(defalias 'eudc-plist-member #[514 "G\300\246\301U\204
\302\303!\210\3042+\203)\211@=\203!\305\304\306\"\210AA\262\202\3070\207" [2 0 error "Malformed plist" found throw t nil] 5 (#$ . 1591)])
#@287 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.

(fn PLIST PROP &optional DEFAULT)
(defalias 'eudc-plist-get #[770 "\300\"\203\f\301\"\207\207" [eudc-plist-member plist-get] 6 (#$ . 1868)])
#@363 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.

(fn PLIST PROP &optional DEFAULT)
(defalias 'eudc-lax-plist-get #[770 "G\300\246\301U\204
\302\303!\210\3042-\203+@\232\203#\305\304A@\"\210AA\262\202\2110\207" [2 0 error "Malformed plist" found throw] 6 (#$ . 2273)])
#@103 Replace all matches in STR for REGEXP with NEWTEXT.
Value is the new string.

(fn STR REGEXP NEWTEXT)
(defalias 'eudc-replace-in-string #[771 "\300\301\302\211\303#\211\262\203'\262\301\225\262\304#Q\262\202\304\"P\207" ["" 0 nil string-match substring] 12 (#$ . 2840)])
#@60 Return non-nil if VAR has server-local bindings.

(fn VAR)
(defalias 'eudc-server-local-variable-p #[257 "\300\301N\302\"\207" [eudc-plist-member eudc-locals server] 4 (#$ . 3141)])
#@62 Return non-nil if VAR has protocol-local bindings.

(fn VAR)
(defalias 'eudc-protocol-local-variable-p #[257 "\300\301N\302\"\207" [eudc-plist-member eudc-locals protocol] 4 (#$ . 3330)])
#@100 Set the EUDC default value of VAR to VAL.
The current binding of VAR is not changed.

(fn VAR VAL)
(defalias 'eudc-default-set #[514 "\301\302\303\302N\304##\210\235\203\207B\211\207" [eudc-local-vars put eudc-locals plist-put default] 9 (#$ . 3526)])
#@217 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.

(fn VAR VAL &optional PROTOCOL)
(defalias 'eudc-protocol-set #[770 "\302!\303=\203\304\211J\"\210\305N\306\307\"\310\206#\262\310\307#\262\311\305#\210	\235\2039	\210\202=	B?\205E\312!\207" [eudc-protocol eudc-local-vars eudc-variable-default-value unbound eudc-default-set eudc-locals eudc-plist-get protocol plist-put put eudc-update-variable] 9 (#$ . 3797)])
#@207 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.

(fn VAR VAL &optional SERVER)
(defalias 'eudc-server-set #[770 "\302!\303=\203\304\211J\"\210\305N\306\307\"\310\206#\262\310\307#\262\311\305#\210	\235\2039	\210\202=	B?\205E\312!\207" [eudc-server eudc-local-vars eudc-variable-default-value unbound eudc-default-set eudc-locals eudc-plist-get server plist-put put eudc-update-variable] 9 (#$ . 4377)])
#@134 Set the most local (server, protocol or default) binding of VAR to VAL.
The current binding of VAR is also set to VAL.

(fn VAR VAL)
(defalias 'eudc-set #[514 "\300!\301=\204\302\"\210\202%\303!\301=\204 \304\"\210\202%\305\"\210L\207" [eudc-variable-server-value unbound eudc-server-set eudc-variable-protocol-value eudc-protocol-set eudc-default-set] 5 (#$ . 4941)])
#@97 Return the default binding of VAR.
Return `unbound' if VAR has no EUDC default value.

(fn VAR)
(defalias 'eudc-variable-default-value #[257 "\211\300N\301!\203\211\203\302\303\304#\202\304\207" [eudc-locals boundp eudc-plist-get default unbound] 6 (#$ . 5331)])
#@167 Return the value of VAR local to PROTOCOL.
Return `unbound' if VAR has no value local to PROTOCOL.
PROTOCOL defaults to `eudc-protocol'.

(fn VAR &optional PROTOCOL)
(defalias 'eudc-variable-protocol-value #[513 "\301N\302\303!\203\203\304\305\"\204\306\202(\307\305\"\262\310\206&\306#\207" [eudc-protocol eudc-locals nil boundp eudc-plist-member protocol unbound eudc-plist-get eudc-lax-plist-get] 8 (#$ . 5609)])
#@157 Return the value of VAR local to SERVER.
Return `unbound' if VAR has no value local to SERVER.
SERVER defaults to `eudc-server'.

(fn VAR &optional SERVER)
(defalias 'eudc-variable-server-value #[513 "\301N\302\303!\203\203\304\305\"\204\306\202(\307\305\"\262\310\206&\306#\207" [eudc-server eudc-locals nil boundp eudc-plist-member server unbound eudc-plist-get eudc-lax-plist-get] 8 (#$ . 6049)])
#@247 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.

(fn VAR)
(defalias 'eudc-update-variable #[257 "\300\301!\211\262\302=\204L\2022\303!\211\262\302=\204#L\2022\304!\211\262\302=?\2052L\207" [nil eudc-variable-server-value unbound eudc-variable-protocol-value eudc-variable-default-value] 4 (#$ . 6473)])
#@62 Update all EUDC variables according to their local settings.
(defalias 'eudc-update-local-variables #[0 "\301\302\"\207" [eudc-local-vars mapcar eudc-update-variable] 3 (#$ . 6988) 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)
#@17 

(fn PROTOCOL)
(defalias 'eudc-register-protocol #[257 "\211>\204\211B\302\303\304\305\306\307\310\311\"BBB#\210\211	>\206$\211	B\211\207" [eudc-supported-protocols eudc-known-protocols put eudc-protocol custom-type choice :menu-tag "Protocol" mapcar #[257 "\300\301\302!E\207" [string :tag symbol-name] 5 "\n\n(fn S)"]] 10 (#$ . 7621)])
#@132 Translate attribute names of QUERY.
The translation is done according to
`eudc-protocol-attributes-translation-alist'.

(fn QUERY)
(defalias 'eudc-translate-query #[257 "\203	\301\302\"\207\207" [eudc-protocol-attributes-translation-alist mapcar #[257 "\211@J\236\211\203\211AAB\202\207" [eudc-protocol-attributes-translation-alist] 4 "\n\n(fn ATTRIBUTE)"]] 4 (#$ . 7976)])
#@137 Translate a list of attribute names LIST.
The translation is done according to
`eudc-protocol-attributes-translation-alist'.

(fn LIST)
(defalias 'eudc-translate-attribute-list #[257 "\203\301C\302\303\304\305\306\307!\310\"\311\312%\"\207\207" [eudc-protocol-attributes-translation-alist nil mapcar make-byte-code 257 "\300	J\236\240\210\300\242\203\300\242A\207\207" vconcat vector [eudc-protocol-attributes-translation-alist] 4 "\n\n(fn ATTRIBUTE)"] 9 (#$ . 8367)])
#@121 Choose one from CHOICES using a completion.
BEG and END delimit the text which is to be replaced.

(fn CHOICES BEG END)
(defalias 'eudc-select #[771 "\300\301\302\303\304\"\"\262|\210\211c\207" [nil completing-read "Multiple matches found; choose one: " mapcar list] 9 (#$ . 8852)])
#@423 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'.

(fn QUERY &optional RETURN-ATTRIBUTES NO-TRANSLATION)
(defalias 'eudc-query #[769 "\204\302\303!\210\211\203\206	\"\207\304!\203#\305!\202/	<\203.\305	!\202/	\"\207" [eudc-query-function eudc-default-return-attributes error "Don't know how to perform the query" eudc-translate-query eudc-translate-attribute-list] 7 (#$ . 9147)])
#@255 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.

(fn ATTRIBUTE)
(defalias 'eudc-format-attribute-name-for-display #[257 "\211\236\211\203\f\211A\202\301\302\303\304\305!\306\"\307#!\207" [eudc-user-attribute-names-alist capitalize mapconcat identity split-string symbol-name "_" " "] 8 (#$ . 9870)])
#@246 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.

(fn FIELD)
(defalias 'eudc-print-attribute-value #[257 "\301@\227\"iA\203\302AD!\210\303c\202G\304\305\306\307\310\311!\312\"\313\314%<\2030\202F;\203<\315\303\"\202F\204D\316\202FC\"\207" [eudc-attribute-display-method-alist assoc eval "\n" mapc make-byte-code 257 "\300j\210\211\301\261\207" vconcat vector ["\n"] 3 "\n\n(fn VAL-ELEM)" split-string ("")] 11 (#$ . 10373)])
#@213 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.

(fn FIELD COLUMN-WIDTH)
(defalias 'eudc-print-record-field #[514 "`\300\301\302!\303Q@\"c\210\304`\305\306$\210\307\\j\210\310!\207" [format "%" int-to-string "s: " put-text-property face bold 2 eudc-print-attribute-value] 8 (#$ . 11013)])
#@240 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'.

(fn RECORDS &optional RAW-ATTR-NAMES)
(defalias 'eudc-display-records #[513 "C\306\211\307C\306C\306\211C	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\242\204X\321/\203Q\322\202R\323\261\210\202\211\324\325\326\327\330\331\f\n#\332\"\333\334%\n\242\"\262`\262\335\325\326\336\330\331\f\f#\337\"\340\334%\"\210\341c\210\342\343\344\345\346$\210\347\350!\210\342\343\344\351\352$\210\353 \210\354 \210\205\252b)\355!\210)\266\202)\266\206\207" [inhibit-read-only default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks 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 make-byte-code 257 "\303\304\305\306\307\310\300\301\302#\311\"\312\313%\"\207" vconcat vector [mapcar make-byte-code 257 "\302\300\203\f\303@!\202\304@!\240\210\302\242G\301\242V\203!\301\302\242G\240\210\302\242AB\207" vconcat vector [symbol-name eudc-format-attribute-name-for-display] 4 "\n\n(fn FIELD)"] 10 "\n\n(fn RECORD)" mapc "\302`\240\210\303\304\305\306\307\310\301!\311\"\312\313%\"\210\314\315\302\242`\"\316\300\242@#\210\300\211\242A\240\210\317c\207" [mapc make-byte-code 257 "\301\300\242\"\207" vconcat vector [eudc-print-record-field] 4 "\n\n(fn FIELD)" overlay-put make-overlay eudc-record "\n"] 8 "\n" widget-create push-button :notify #[128 "\300 \207" [eudc-query-form] 2 "\n\n(fn &rest IGNORE)"] "New query" widget-insert " " #[128 "\300 \207" [kill-this-buffer] 2 "\n\n(fn &rest IGNORE)"] "Quit" eudc-mode widget-setup internal-temp-output-buffer-show standard-output eudc-strict-return-matches] 21 (#$ . 11453)])
#@67 Process the query form in current buffer and display the results.
(defalias 'eudc-process-form #[0 "\302C\302C\303\300!\203\204\304\305!\2022\306\307\310\311\312\313\"\314\"\315\316%\"\210\317p!\210\320\321\242!	\"\207" [eudc-form-widget-list eudc-use-raw-directory-names nil boundp error "Not in a directory query form buffer" mapc make-byte-code 257 "\301\302A!\240\210\301\242\303\230?\205\300@\301\242B\300\242B\240\207" vconcat vector [widget-value ""] 4 "\n\n(fn WID-FIELD)" kill-buffer eudc-display-records eudc-query] 10 (#$ . 13586)])
#@85 Filter RECORD according to `eudc-duplicate-attribute-handling-method'.

(fn RECORD)
(defalias 'eudc-filter-duplicate-attributes #[257 "\211\300C\300C\300C\203@A<\204A\262\202@A\204$C\202R\301\302\303\304\305\306\"\307\"\310\311%\"\210\211\242C\240\210\301\302\303\312\305\306!\313\"\314\311%\242\"\210\211\242\207" [nil mapc make-byte-code 257 "\211A<\203
\301\301\242B\240\207\300\300\242B\240\207" vconcat vector [] 4 "\n\n(fn FIELD)" "	:\203\303@\nJ\"@\206\211@	\236A\202	\211\203\"\211\304=\203,\300\305\300\242\"\240\202o\211\306\267\202^\300\305@A@B\300\242\"\240\202o\300\305@\307\310A\311#B\300\242\"\240\202o\300\312\300\242\"\240\202o\211\203h\211\304=\205o\300\305\300\242\"\240\207" [eudc-duplicate-attribute-handling-method eudc-protocol-attributes-translation-alist rassq list eudc-add-field-to-records #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (first 50 concat 65 duplicate 84)) mapconcat identity "\n" eudc-distribute-field-on-records] 9] 13 (#$ . 14152)])
#@83 Eliminate records that do not contain all ATTRS from RECORDS.

(fn RECORDS ATTRS)
(defalias 'eudc-filter-partial-records #[514 "\300\301\302\303\304\305\306\307!\310\"\311\312%\"\"\207" [delq nil mapcar make-byte-code 257 "\301\302\303\304\305\306!\307\"\310\311%\300\"\205\211\207" vconcat vector [cl-every make-byte-code 257 "\211\300\236:\207" vconcat vector [] 3 "\n\n(fn ATTR)"] 8 "\n\n(fn REC)"] 11 (#$ . 15225)])
#@99 Add FIELD to each individual record in RECORDS and return the resulting list.

(fn FIELD RECORDS)
(defalias 'eudc-add-field-to-records #[514 "\300\301\302\303\304\305!\306\"\307\310%\"\207" [mapcar make-byte-code 257 "\300B\207" vconcat vector [] 3 "\n\n(fn R)"] 9 (#$ . 15658)])
#@164 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.

(fn FIELD RECORDS)
(defalias 'eudc-distribute-field-on-records #[514 "\300\301A!\211\203\211@\302@B\"\244\262A\266\202\202\210\211\207" [nil delete-dups eudc-add-field-to-records] 8 (#$ . 15949)])
(defvar eudc-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [eudc-mode-hook variable-documentation put "Hook run after entering EUDC mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp eudc-mode-map definition-name eudc-mode] 4)
(defvar eudc-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [eudc-mode-abbrev-table eudc-mode-map variable-documentation put purecopy "Keymap for `eudc-mode'." boundp eudc-mode-syntax-table definition-name eudc-mode (lambda (#1=#:def-tmp-var) (defvar eudc-mode-syntax-table #1#)) make-syntax-table "Syntax table for `eudc-mode'." (lambda (#1#) (defvar eudc-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `eudc-mode'." derived-mode-parent special-mode] 5)
#@634 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.

In addition to any hooks its parent mode `special-mode' might have run,
this mode runs the hook `eudc-mode-hook', as the final or penultimate step
during initialization.

\{eudc-mode-map}
(defalias 'eudc-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
!=\204R\326
\325!C#\210\327!\210\330\f!\210
!\331\332!\210\333\334\335\336 $\210)\337\340!\207" [delay-mode-hooks major-mode mode-name eudc-mode-map eudc-mode-syntax-table eudc-mode-abbrev-table make-local-variable t special-mode eudc-mode "EUDC" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table (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 local-abbrev-table] 5 (#$ . 17419) nil])
#@29 Customize the EUDC package.
(defalias 'eudc-customize #[0 "\300\301!\207" [customize-group eudc] 2 (#$ . 18917) nil])
#@182 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.

(fn SERVER PROTOCOL &optional NO-SAVE)
(defalias 'eudc-set-server #[770 "\203\235\204\303\304\305!P\306\"\204\307\310\"\210\311\312!\210\313 \210\311\314!\210\315\316!\2035\317\320\n	#\210\211?\205<\321 \207" [eudc-supported-protocols eudc-protocol eudc-server 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] 7 (#$ . 19042) (byte-code "\301\302!\303\304\305\306\307\"\"!D\207" [eudc-known-protocols read-from-minibuffer "Directory Server: " intern completing-read "Protocol: " mapcar #[257 "\300!B\207" [symbol-name] 3 "\n\n(fn ELT)"]] 7)])
#@138 Get the email field of NAME from the directory server.
If ERROR is non-nil, report an error if there is none.

(fn NAME &optional ERROR)
(defalias 'eudc-get-email #[513 "\204\301\302!\210\303\304BC\305\"\306A\204@@A\262\202\"\307\310!\210\2037\211\2032\311\312\"\210\2027\307\313\"\210\207" [eudc-server call-interactively eudc-set-server eudc-query name (email) nil error "Multiple match--use the query form" message "%s" "No record matching %s"] 7 (#$ . 19963) "sName: \np"])
#@138 Get the phone field of NAME from the directory server.
If ERROR is non-nil, report an error if there is none.

(fn NAME &optional ERROR)
(defalias 'eudc-get-phone #[513 "\204\301\302!\210\303\304BC\305\"\306A\204@@A\262\202\"\307\310!\210\2037\211\2032\311\312\"\210\2027\307\313\"\210\207" [eudc-server call-interactively eudc-set-server eudc-query name (phone) nil error "Multiple match--use the query form" message "%s" "No record matching %s"] 7 (#$ . 20464) "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 #[0 "\203\302\303!!\211\205\302\303!\203\304\305\"\202\211\207\306\307	\"\207" [eudc-list-attributes-function eudc-protocol called-interactively-p interactive eudc-display-records t error "The %s protocol has no support for listing attributes"] 4 (#$ . 20965) nil])
#@65 Use FORMAT to build a EUDC query from WORDS.

(fn WORDS FORMAT)
(defalias 'eudc-format-query #[514 "\301\211\211\211\211\203[\203(\203(@@BB\262A\262A\262\202	\203W@@\262@A\262\236\262\211\203J\211A\302Q\241\210\202P@B\262A\262\202(\202q\203h\303\304\302#\202q\305\303\304	\302#BC\207" [eudc-protocol-has-default-query-attributes nil " " mapconcat identity name] 12 (#$ . 21452)])
#@104 Extract a list of N-long formats from FORMAT-LIST.
If none try N - 1 and so forth.

(fn FORMAT-LIST N)
(defalias 'eudc-extract-n-word-formats #[514 "\211C\300\211\204-\242\301V\203-\302\300\303\304\305\306\307\310	!\311\"\312\313%\"\"\262\211\242S\240\210\202\211\262\207" [nil 0 delq mapcar make-byte-code 257 "\300\242GU\205	\211\207" vconcat vector [] 3 "\n\n(fn FORMAT)"] 13 (#$ . 21884)])
#@759 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'.

(fn &optional REPLACE)
(defalias 'eudc-expand-inline #[256 "`\212\302\303\304 \305#\203\306\225b\210`)\307\310\"\311\"\312!\211\204%\313\314!\202\217\203-\2035\204:\203:\315\"\210\211G\316U\204K	\203K	\317=\203U|\210\211@c\202\217	\320\267\202w\321#\202\217|\210\322\323\324#c\202\217\313\325!\202\217\211G\316U\204\210	\203\210	\317=\205\217|\210\211@c\207" [eudc-expansion-overwrites-query eudc-multiple-match-handling-method re-search-backward "\\([:,]\\|^\\)[ 	]*" point-at-bol move 0 split-string buffer-substring-no-properties "[ 	]+" eudc-query-with-words error "No match" kill-ring-save 1 first #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (select 91 all 100 abort 113)) eudc-select mapconcat identity ", " "There is more than one match for the query"] 9 (#$ . 22298) nil])
#@506 Query the directory server, and return the matching responses.
The variable `eudc-inline-query-format' controls how to associate the
individual QUERY-WORDS with directory attribute names.
After querying the server for the given string, the expansion specified by
`eudc-inline-expansion-format' is applied to the matches before returning them.inserted in the buffer at point.
Multiple servers can be tried with the same query until one finds a match,
see `eudc-inline-expansion-servers'.

(fn QUERY-WORDS)
(defalias 'eudc-query-with-words #[257 "\306\267\202+	\2040\307\310!\210\2020	\2040\n\2040\307\310!\210\2020\n\2040\311\312!\210\2020\311\313\"\210\314	\315\267\202[\n\202\\	\203P	B\316	B\317\n!\"B\202\\\n\202\\	BC\202\\\314\f\203n\211G\fV\203n\fS\233\314\241\210\320\321\322\323\324\"\325\"\326$\216\3272\317\211\211\203\314\211@\310@A\330#\210\331
G\"\206\240'?\205\240\332\262\203\305\333\334@\"\335(A!\"\211\203\275\336\327\"\210\210A\262\202\242A\266\202\202\202\210\3140\314\211\203\211@\337\340(@\341\320\342\343\323\324	!\344\"\345\346%\335(A!\"#\211G\321V\203\375\211B\262\210A\266\202\202\321\210\262)\207" [eudc-inline-expansion-servers eudc-server eudc-server-hotlist eudc-protocol eudc-max-servers-to-query eudc-inline-query-format #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (current-server 6 server-then-hotlist 17 hotlist 32)) call-interactively eudc-set-server error "No server in the hotlist" "Wrong value for `eudc-inline-expansion-servers': %S" nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (hotlist 57 server-then-hotlist 61 current-server 84)) delete copy-sequence make-byte-code 0 "\n\300\232\203\f\301\232\206\304\300\301\305#\207" vconcat vector [eudc-server eudc-protocol eudc-set-server t] 4 found t eudc-extract-n-word-formats (name) eudc-query eudc-format-query eudc-translate-attribute-list throw apply format mapcar 257 "\211\300\236A\206\301\207" [""] 3 "\n\n(fn FIELD)" eudc-protocol-has-default-query-attributes eudc-inline-expansion-format] 19 (#$ . 23901)])
#@235 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.

(fn &optional GET-FIELDS-FROM-SERVER)
(defalias 'eudc-query-form #[256 "\211\203	\306 \206\n\307\310!\311C\311C\312C\311\313!\210\314\315 \210\316 \210\317\305!\210\320\321!\210\320\322!\210\320\323\n\2067\324\325!\210\n\326#\210\320\327\330!\326#\210\f\203Q\331\330\332	!\"\202V\331\333\"\240\210\334\335\336\337\340\341!\342\"\343\344%\242\"\210\320\345\346\347\350\242!\351Q\242@\"\"\210`\262\352\353\354\355#\240\210@\242B
BA\262\211\242A\240\210\334\335\336\356\340\341			#\357\"\360\361%\"\210\320\345!\210\352\362\363\364\365$\210\320\366!\210\352\362\363\367\370$\210\320\366!\210\352\362\363\371\372$\210\211b\210\373=!\210\374 )\207" [eudc-query-form-attributes inhibit-read-only eudc-server eudc-protocol eudc-use-raw-directory-names eudc-form-widget-list 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 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 #[257 "\211\236A\206\f\301\302!!\207" [eudc-user-attribute-names-alist capitalize symbol-name] 4 "\n\n(fn FIELD)"] mapc make-byte-code 257 "\211G\300\242V\205\f\300G\240\207" vconcat vector [] 3 "\n\n(fn PROMPT)" "\n\n" format "%" int-to-string "s: " widget-create editable-field :size 15 "\304\305\306\307\310\302\242!\311Q\300\242@\"\"\210\301\312\313\314\315#\240\210\211\301\242BB\300\211\242A\240\207" [eudc-form-widget-list widget-insert "\n\n" format "%" int-to-string "s: " widget-create editable-field :size 15] 7 "\n\n(fn FIELD)" push-button :notify #[128 "\300 \207" [eudc-process-form] 2 "\n\n(fn &rest IGNORE)"] "Query Server" " " #[128 "\300 \207" [eudc-query-form] 2 "\n\n(fn &rest IGNORE)"] "Reset Form" #[128 "\300 \207" [kill-this-buffer] 2 "\n\n(fn &rest IGNORE)"] "Quit" use-local-map widget-setup widget-keymap] 16 (#$ . 26061) "P"])
#@80 Add SERVER using PROTOCOL to the EUDC `servers' hotlist.

(fn SERVER PROTOCOL)
(defalias 'eudc-bookmark-server #[514 "B\235\203\301\302#\207BB\303 \210\304 \207" [eudc-server-hotlist error "%s:%s is already in the hotlist" eudc-install-menu eudc-save-options] 6 (#$ . 28275) "sDirectory server: \nsProtocol: "])
#@51 Add current server to the EUDC `servers' hotlist.
(defalias 'eudc-bookmark-current-server #[0 "\302	\"\207" [eudc-server eudc-protocol eudc-bookmark-server] 3 (#$ . 28604) nil])
#@38 Save options to `eudc-options-file'.
(defalias 'eudc-save-options #[0 "r\305\306\"q\210eb\210p\307\211\211\3102\207\3111\312p!0\202$\210\313\310\307\"\211<\203r\211@\314=\203?\212\315 \210`)`|\210\306\262\202\203\211@\316=\203]\211A@\304=\203]\212\315 \210`)`|\210\306\262\202\203\211@\317=\203\203\211A@\320\232\203\203\306\262\202\203\203\203\203\203\203\203\313\310\306\"\210\210\202\210ed=\203\222\321\322!\210\204\232\321\323!\210n\204\242\321\324!\210\325 \210\321\326!\210\327\n!\210\321\330!\210\327!\210\321\331!\210\321\332!\210\327\f!\210\321\333!\210\334 )\266\204)\207" [eudc-options-file standard-output eudc-server eudc-protocol eudc-server-hotlist find-file-noselect t nil found (end-of-file) read throw eudc-set-server backward-sexp setq provide 'eudc-options-file 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] 8 (#$ . 28789) nil])
#@70 Move to next record, in a buffer displaying directory query results.
(defalias 'eudc-move-to-next-record #[0 "\300\301!\204\n\302\303!\207\304`!\211dW\203\211Tb\202\302\305!\207" [derived-mode-p eudc-mode error "Not in a EUDC buffer" next-overlay-change "No more records after point"] 3 (#$ . 29840) nil])
#@74 Move to previous record, in a buffer displaying directory query results.
(defalias 'eudc-move-to-previous-record #[0 "\300\301!\204\n\302\303!\207\304`!\211eV\203\211b\202\302\305!\207" [derived-mode-p eudc-mode error "Not in a EUDC buffer" previous-overlay-change "No more records before point"] 3 (#$ . 30157) 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 (derived-mode-p '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 #[0 "\303C\304\305\304\306\307\310\311\312\313\314\n!\315\"\316\317%\"	#C\n#\207" [eudc-server-hotlist eudc-server-menu eudc-tail-menu nil append ("Directory Servers") ("Server") mapcar make-byte-code 257 "\211@A\301!\300\302\303\304R!\240\210\305\300\242!\2040\300\242\306\307\310\311\312DE\313\314	F\257M\210\315\316\317#\300\242\320\321\322\323\324\nE&\207" vconcat vector [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] 13 "\n\n(fn SERVSPEC)"] 12])
(defalias 'eudc-install-menu #[0 "\301\302\303\304\303\305 A\"B#\207" [global-map define-key [menu-bar tools directory-search] "Directory Servers" easy-menu-create-menu eudc-menu] 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 #[0 "\300\207" [nil] 1 (#$ . 33226) nil])
(defvar eudc-tools-menu (byte-code "\301\302!\303\304\305\306\307!\310\311\306\312!\257#\210\303\313\305\306\314!\315\311\306\316!\257#\210\303\317#\210\303\320\305\306\321!\322\311\306\323!\257#\210\303\324\305\306\325!\326\311\306\327!\257#\210\303\330#\210\303\331\305\306\332!\333\311\306\334!\257#\210\303\335\305\306\336!\337\311\306\340!\257#\210\211\207" [menu-bar-separator make-sparse-keymap "Directory Servers" 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"] 10))
(byte-code "\300\211JM\210\301\302!\207" [eudc-tools-menu provide eudc] 2)

Zerion Mini Shell 1.0