Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
;ELC
;;; Compiled by leavens@LEAVENS on Mon Sep 15 16:19:47 2003
;;; from file d:/emacs/ecb/ecb-util.el
;;; in Emacs version 21.3.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
(< (aref emacs-version (1- (length emacs-version))) ?A)
(or (and (boundp 'epoch::version) epoch::version)
(string-lessp emacs-version "19.29")))
(error "`ecb-util.el' was compiled for Emacs 19.29 or later"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\302B\306\307 \"\304B\n?\205 \310V\305B\311\312B\313
!\n\302\207" [current-load-list emacs-version ecb-running-xemacs emacs-major-version ecb-running-emacs-21 ecb-directory-sep-char string-match "XEmacs\\|Lucid" 20 47 ecb-directory-sep-string char-to-string] 3)
#@50 A directory where ECB can store temporary files.
(defconst ecb-temp-dir (byte-code "\301\302\303!\206 \302\304!\206 \302\305!\206 \306=\203 \307\202 \310!\207" [system-type file-name-as-directory getenv "TMPDIR" "TMP" "TEMP" windows-nt "c:/temp/" "/tmp/"] 3) (#$ . 879))
(byte-code "\301B\306\307\310\311!!!\302B\310\312!\205 \306\307\310\312!!!\303B\306 \313P!\305B\f\205A \314\306 \315P!!\205A \314\306 \316P!!\317B\f\205_ \n\205_ \314\306\n\315P!!\205_ \314\306\n\316P!!\f\203\207 \320\321M\210\322\323\324\"\210\322\325\326\"\210\322\327\330\"\210\331\332M\210\333\334M\210\335\336M\210\202\252 \322\320\337\"\210\322\323\340\"\210\322\325\341\"\210\322\327\342\"\210\322\331\343\"\210\322\333\344\"\210\322\335\345\"\210\301\207" [current-load-list ecb-ecb-dir ecb-semantic-dir ecb-ecb-parent-dir ecb-running-xemacs ecb-regular-xemacs-package-p expand-file-name file-name-directory locate-library "ecb" "semantic" "../" file-exists-p "_pkg.el" "auto-autoloads.el" ecb-semantic-regular-xemacs-package-p ecb-subst-char-in-string #[(fromchar tochar string &optional inplace) "G \203\n \202
\306!\307V\203( S\nH\f=\203 \n
I\210\202 \n*\207" [string inplace newstr i fromchar tochar copy-sequence 0] 3 "Replace FROMCHAR with TOCHAR in STRING each time it occurs.\nUnless optional argument INPLACE is non-nil, return a new string."] defalias ecb-frame-parameter frame-property ecb-line-beginning-pos point-at-bol ecb-line-end-pos point-at-eol ecb-frame-char-width #[(&optional frame) "\301!\302!\245\207" [frame frame-pixel-width frame-width] 3] ecb-frame-char-height #[(&optional frame) "\301!\302!\245\207" [frame frame-pixel-height frame-height] 3] ecb-window-edges #[(&optional window) "\302!\211@\303 \245 A@\304 \245\305 8\303 \245\306 8\304 \245F)\207" [window pix-edges window-pixel-edges ecb-frame-char-width ecb-frame-char-height 2 3] 6] subst-char-in-string frame-parameter line-beginning-position line-end-position frame-char-width frame-char-height window-edges] 4)
#@433 Return a list of windows on FRAME, beginning with WINDOW. The
windows-objects in the result-list are in the same canonical windows-ordering
of `next-window'. If omitted, WINDOW defaults to the selected window. FRAME and
WINDOW default to the selected ones. Optional second arg MINIBUF t means count
the minibuffer window even if not active. If MINIBUF is neither t nor nil it
means not to count the minibuffer even if it is active.
(defalias 'ecb-window-list #[(&optional frame minibuf window) "\206 \304 \206
\305 \306! =\204 \307\310!\210\305 \311\312\216\313\213+\207" [window frame list current-frame selected-window selected-frame window-frame error "Window must be on frame." nil ((select-frame current-frame)) ((byte-code "\304!\210\305 !\210\306\307\n\310#\210\237 B\211\207" [frame window minibuf list select-frame select-window walk-windows #[(cur-window) " =?\205\f \nB\211\207" [window cur-window list] 2] selected] 4))] 2 (#$ . 2906)])
#@444 These functions are always adviced if ECB is active. Each element of the
list is a cons-cell where the car is the function-symbol and the cdr the
advice-class (before, around or after). If a function should be adviced with
more than one class (e.g. with a before and an after-advice) then for every
class a cons must be added to this list.
Every basic advice of ECB must be registered in this constant but can be
implemented in another file!
(defconst ecb-basic-adviced-functions (byte-code "\203 \301\207\302\207" [ecb-running-xemacs ((delete-frame . around) (compilation-set-window-height . around) (shrink-window-if-larger-than-buffer . around) (pop-to-buffer . around) (scroll-other-window . around) (custom-save-all . around) (count-windows . around) (narrow-to-region . before) (narrow-to-defun . before) (narrow-to-page . before) (widen . before) (scroll-all-mode . after)) ((delete-frame . around) (compilation-set-window-height . around) (resize-temp-buffer-window . around) (shrink-window-if-larger-than-buffer . around) (mouse-drag-vertical-line . around) (mouse-drag-mode-line . around) (pop-to-buffer . around) (enlarge-window . around) (shrink-window . around) (tmm-menubar . around) (scroll-other-window . around) (custom-save-all . around) (narrow-to-region . before) (narrow-to-defun . before) (narrow-to-page . before) (widen . before) (count-windows . around) (scroll-all-mode . after))] 1) (#$ . 3880))
#@103 Enable all advices of ADVICE-LIST. ADVICE-LIST must have the format of
`ecb-basic-adviced-functions'.
(defalias 'ecb-enable-advices #[(advice-list) "\303\211\203 \n@\304 @ A\305#\210\306 @!\210\nA\211\204 *\303\207" [advice-list elem #1=#:--dolist-temp--47349 nil ad-enable-advice ecb ad-activate] 5 (#$ . 5313)])
#@104 Disable all advices of ADVICE-LIST. ADVICE-LIST must have the format of
`ecb-basic-adviced-functions'.
(defalias 'ecb-disable-advices #[(advice-list) "\303\211\203 \n@\304 @ A\305#\210\306 @!\210\nA\211\204 *\303\207" [advice-list elem #1=#:--dolist-temp--47350 nil ad-disable-advice ecb ad-activate] 5 (#$ . 5641)])
#@291 Evaluates BODY with all adviced basic-functions of ECB deactivated (means
with their original definition). Restores always the previous state of the ECB
adviced basic-functions, means after evaluating BODY it activates the advices
of exactly the functions in `ecb-basic-adviced-functions'!
(defalias 'ecb-with-original-basic-functions '(macro . #[(&rest body) "\301\302\303BB\304BB\207" [body unwind-protect progn (ecb-disable-advices ecb-basic-adviced-functions) ((ecb-enable-advices ecb-basic-adviced-functions))] 4 (#$ . 5972)]))
(ad-add-advice 'custom-save-all '(ecb nil t (advice lambda nil "Save the customized options completely in the background, i.e. the\nfile-buffer where the value is saved (see option `custom-file') is not parsed\nby semantic and also killed afterwards." (if ecb-minor-mode (let ((ecb-window-sync nil) (kill-buffer-hook nil) (semantic-after-toplevel-cache-change-hook nil) (semantic-after-partial-cache-change-hook nil)) ad-do-it (ignore-errors (kill-buffer (find-file-noselect (cond (ecb-running-xemacs custom-file) (ecb-running-emacs-21 (custom-file)) (t (or custom-file user-init-file))))))) ad-do-it))) 'around nil)
(defalias 'ecb-remove-assoc #[(key list) "\301\302\303\304\"\"\207" [list delete nil mapcar #[(elem) "@ \232?\205 \207" [elem key] 2]] 5])
(defalias 'ecb-add-assoc #[(key-value list) " B\207" [key-value list] 2])
(defalias 'ecb-find-assoc-value #[(key list) "\302 \"A\207" [key list assoc] 3])
(defalias 'ecb-find-assoc #[(key list) "\302 \"\207" [key list assoc] 3])
#@127 Return true if PREDICATE is true of any element of SEQ or SEQs.
If so, return the true (non-nil) value returned by PREDICATE.
(defalias 'ecb-some #[(cl-pred cl-seq &rest cl-rest) "\204 <\204
\304\305\215\207\306 \203 \211A@!\211\203 \n)\207" [cl-rest cl-seq cl-x cl-pred cl-some (byte-code "\302\303\304\305 %\210\304\207" [cl-seq cl-rest apply map nil #[(&rest cl-x) "\303 \"\211\205
\304\305\n\")\207" [cl-pred cl-x cl-res apply throw cl-some] 4]] 6) nil] 3 (#$ . 7505)])
#@127 Return a copy of a list, which may be a dotted list.
The elements of the list are not copied, just the list structure itself.
(defalias 'ecb-copy-list #[(list) ":\203 \302:\203 \211A@ B\202 \237 \241\210)\207@\207" [list res nil] 3 (#$ . 8001)])
#@257 Combine LIST1 and LIST2 using a set-difference operation.
The result list contains all items that appear in LIST1 but not LIST2.
This is a non-destructive function; it makes a copy of the data if necessary
to avoid corrupting the original LIST1 and LIST2.
(defalias 'ecb-set-difference #[(list1 list2) "\203 \204\n \207\303\2034 @\247\203 \304\305@ #\202# @ >\204+ @\nB\211A@\210\202\f \n)\207" [list1 list2 res nil apply ecb-member] 4 (#$ . 8266)])
#@90 Find the first occurrence of ITEM in LIST.
Return the sublist of LIST whose car is ITEM.
(defalias 'ecb-member #[(item list) "\247\203 \250\204 \235\207 >\207" [item list] 2 (#$ . 8736)])
#@66 Return non-nil if running non-interactively, i.e. in batch mode.
(defalias 'ecb-noninteractive #[nil "\203 \301 \207 \207" [ecb-running-xemacs noninteractive] 1 (#$ . 8937)])
#@375 Normalizes path- and filenames for ECB. If FILENAME is not nil its pure
filename (i.e. without directory part) will be concatenated to PATH. The
result will never end with the directory-separator! If SUBSTITUTE-ENV-VARS is
not nil then in both PATH and FILENAME env-var substitution is done. If the
`system-type' is 'cygwin32 then the path is converted to win32-path-style!
(defalias 'ecb-fix-filename #[(path &optional filename substitute-env-vars) ";\205e \306\n\203 \307\232\203 \310!\202 \311\f\203$ \312 !\202% !\211G\313V\203A \211GSH
U\203A \314 GSO\202B \211;\205c G\313V\205S \315\f\203_ \312!\202a !PP)\207" [path norm-path ecb-running-xemacs system-type substitute-env-vars ecb-directory-sep-char nil cygwin32 mswindows-cygwin-to-win32-path expand-file-name substitute-in-file-name 1 0 file-name-nondirectory filename ecb-directory-sep-string] 6 (#$ . 9121)])
#@59 Works exactly like `message' but does not log the message
(defalias 'ecb-nolog-message #[(&rest args) "\203 @\204
\305\202 A\204 @\202 \306\307\"\n\2033 \203, \310\311 \"\210\202H \312\311!\210\202H \305\211 \203C \313\314 \"\210\202G \313\305!\210* )\207" [args msg ecb-running-xemacs message-truncate-lines message-log-max nil apply format display-message no-log clear-message message "%s"] 3 (#$ . 10022)])
(defalias 'ecb-confirm #[(text) "\301!\207" [text yes-or-no-p] 2])
(defalias 'ecb-delete-file #[(file) "\302!\303 !\205
\304 !)\207" [file exp-file expand-file-name file-exists-p delete-file] 2])
#@295 Enlarge the given window.
If VAL is nil then WINDOW is enlarged so that it is 1/2 of the current frame.
If VAL is a positive integer then WINDOW is enlarged so that its new height is
VAL lines. If VAL is > 0 and < 1 then WINDOW is enlarged so that its new
height is that fraction of the frame.
(defalias 'ecb-enlarge-window #[(window &optional val) "\2037 \305!\2037 \203 \306 \307 S\"\202 \307 S\310\245\211\311!Z\312 \313\216\314!\210\315V\2055 \316!,\207\317\320!\207" [window val norm-val enlargement save-selected-window-window window-live-p ecb-normalize-number frame-height 2 window-height selected-window ((byte-code "\301!\203\n \302!\210\301\207" [save-selected-window-window window-live-p select-window] 2)) select-window 0 enlarge-window error "Window is not alive!"] 4 (#$ . 10653)])
#@443 Prints PROMPT and returns a string which must be one of CHOICES.
CHOICES is either a list of strings whereas the first choice is the default
(which is returned if the user simply types RET) or nil (then only a simple
RET quits the query and returns nil). If OTHER-PROMPT is not nil and a string
then the choice "other" is added to CHOICES and after selecting this choice
the user is prompted with OTHER-PROMPT to insert any arbitrary string.
(defalias 'ecb-query-string #[(prompt choices &optional other-prompt) "\203\f \306 \307C\"\202
\211@\310
\311\n\203! \312\313\n\314#\202\" \315\316R\317\320\n\"\321\244\322
\n\310\323\324%\211\324\230\203? \202K \f\307\230\203K \325\326P!\f+\207" [other-prompt choices new-choices default answer prompt append "other" nil " [" mapconcat #[(x) "\207" [x] 1] ", " "RET" "] " mapcar #[(x) "\301D\207" [x t] 2] ('("" t)) completing-read t "" read-string ": "] 7 (#$ . 11471)])
#@168 Normalize VALUE in the following manner and return:
* VALUE > -1.0 and < +1.0 and REF-VALUE a number: `floor' of VALUE * REF-VALUE
* all other cases: `floor' of VALUE
(defalias 'ecb-normalize-number #[(value &optional ref-value) "\302\303W\203 \304V\203 \247\203 _\202 !\207" [value ref-value floor 1.0 -1.0] 3 (#$ . 12408)])
#@285 Make buffer BUFFER current but do not display it. Evaluate BODY in buffer
BUFFER (not read-only an evaluation-time of BODY) and make afterwards BUFFER
read-only. Note: All this is done with `save-excursion' so after BODY that
buffer is current which was it before calling this macro.
(defalias 'ecb-with-readonly-buffer '(macro . #[(buffer &rest body) "\302\303D\304\305D\306\307\310 BB\311BBE\312BBB\207" [buffer body if buffer-live-p save-excursion set-buffer unwind-protect progn (setq buffer-read-only nil) ((setq buffer-read-only t)) ((ecb-error "Try to set a not existing buffer."))] 8 (#$ . 12751)]))
(put 'ecb-with-readonly-buffer 'lisp-indent-function 1)
#@623 Evaluate BODY if the following conditions are all true:
- The symbol BUFFER-NAME-SYMBOL is bound
- The value of BUFFER-NAME-SYMBOL is a name of a living buffer B
- The buffer B is visible and displayed in a window of the `ecb-frame'
- ECB is active
- The current frame is the `ecb-frame'
- The window of buffer B is not the `ecb-edit-window'.
If one of these conditions is false then nothing will be done.
During the evaluation of BODY the following local variables are bound:
- visible-buffer: The buffer-object which name is the value of
BUFFER-NAME-SYMBOL.
- visible-window: The window which displays visible-buffer
(defalias 'ecb-do-if-buffer-visible-in-ecb-frame '(macro . #[(buffer-name-symbol &rest body) "\302\303\304\305\306D\307\310DDE\311\310DDED\312B\313\314 BBE\207" [buffer-name-symbol body let* visible-buffer if and boundp stringp symbol-value get-buffer ((visible-window (if (bufferp visible-buffer) (get-buffer-window visible-buffer)))) when (and ecb-minor-mode (equal (selected-frame) ecb-frame) visible-window (window-live-p visible-window) (not (equal visible-window ecb-edit-window)))] 8 (#$ . 13424)]))
(put 'ecb-do-if-buffer-visible-in-ecb-frame 'lisp-indent-function 1)
#@146 Ask in the minibuffer for a number with prompt-string PROMPT. Optional
INIT-VALUE can be either a number or a string-representation of a number.
(defalias 'ecb-read-number #[(prompt &optional init-value) "\247\203 \304!\202- ;\203, \305\230\203 \202- \306!\307U\204&