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:46 2003 ;;; from file d:/emacs/ecb/ecb-upgrade.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-upgrade.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'ecb-util) #@1651 Alist of all options which should be upgraded for current ECB-version. There are several reasons why an option should be contained in this alist: a) An old option has just be renamed in current-ECB version but has still the same type of value so the new option should get the value of the old one. b) An old option has changed its type and we try to transform the old-typed value to the new type. c) An old option has be renamed and also changed its type so we try to transform the value of the old option to the type of the new option and set the new option to this transformed value. If an old option has changed its type and we can not savely transform the old-value to the new type then this option should NOT be contained in this alist! Such an option is auto. reset to the current default-value by `ecb-upgrade-not-compatible-options'! Every element of this alist has the following form: The car is the old option symbol and the cdr is a 2-element-list with: 1. elem: The new option symbol (can be equal with the old option symbol, see b) above) 2. elem: A function which converts the value of the old option to the new option. If the type of the options is identical (i.e. only the option name has been changed, see a) above) then this function should be `identity' otherwise a function which gets one argument (the value of the old option) and returns either a corresponding value for the new option with the new correct type or the symbol 'ecb-no-upgrade-conversion if no correct conversion can be performed! Maybe the function `ecb-option-get-value' can be helpful within such a transforming-function. (defconst ecb-upgradable-option-alist '((ecb-compile-window-temporally-enlarge ecb-compile-window-temporally-enlarge ecb-upgrade-compile-window-temporally-enlarge) (ecb-window-sync ecb-window-sync ecb-upgrade-window-sync) (ecb-hide-ecb-windows-hook ecb-hide-ecb-windows-before-hook identity) (ecb-show-ecb-windows-hook ecb-show-ecb-windows-before-hook identity) (ecb-layout-nr ecb-layout-name ecb-upgrade-layout-nr) (ecb-toggle-layout-sequence ecb-toggle-layout-sequence ecb-upgrade-toggle-layout-sequence) (ecb-major-modes-activate ecb-major-modes-activate ecb-upgrade-major-modes-activate) (ecb-cache-directory-contents ecb-cache-directory-contents ecb-upgrade-cache-directory-contents) (ecb-source-file-regexps ecb-source-file-regexps ecb-upgrade-source-file-regexps) (ecb-layout-always-operate-in-edit-window ecb-layout-always-operate-in-edit-window ecb-upgrade-alway-operate-in-edit-window) (ecb-truncate-lines ecb-truncate-lines ecb-upgrade-truncate-lines) (ecb-mode-line-prefixes ecb-mode-line-prefixes ecb-upgrade-mode-line-prefixes) (ecb-mode-line-data ecb-mode-line-data ecb-upgrade-mode-line-data) (ecb-use-speedbar-for-directories ecb-use-speedbar-instead-native-tree-buffer ecb-upgrade-use-speedbar-for-directories)) (#$ . 619)) (defalias 'ecb-upgrade-compile-window-temporally-enlarge #[(old-val) "\301\232\204\f\302\232\203\303\207\204\304\207\305\235\203\207\306\207" [old-val t after-compilation after-display nil (after-selection both) ecb-no-upgrade-conversion] 2]) (defalias 'ecb-upgrade-window-sync #[(old-val) "\301\232\205\n\302\303\304\"\207" [old-val t ecb-option-get-value ecb-window-sync standard-value] 3]) (defalias 'ecb-upgrade-layout-nr2name #[(number) "\302\303 \"A)\207" [number-name-alist number ((nil . "left8") (0 . "left1") (1 . "left2") (2 . "left3") (3 . "left4") (4 . "left5") (5 . "right1") (6 . "left6") (7 . "top1") (8 . "left7") (9 . "left8") (10 . "top2") (11 . "left9") (12 . "left10") (13 . "left11") (14 . "left12") (15 . "left13") (16 . "left14") (17 . "left15") (18 . "leftright1") (19 . "leftright2") (20 . "speedbar1")) assoc] 3]) (defalias 'ecb-upgrade-layout-nr #[(old-val) "\302!\211;\203 \202\303)\207" [old-val name ecb-upgrade-layout-nr2name ecb-no-upgrade-conversion] 3]) (defalias 'ecb-upgrade-toggle-layout-sequence #[(old-val) "\301\302\"\207" [old-val mapcar #[(elem) "\301!\207" [elem ecb-upgrade-layout-nr2name] 2]] 3]) (defalias 'ecb-upgrade-use-speedbar-for-directories #[(old-val) "\205\301\207" [old-val dir] 1]) (defalias 'ecb-upgrade-major-modes-activate #[(old-val) "<\204\207\304!\211\305\211\203/ @\211:\203(\nA\250\203(\n\306\nA!\241\210 A\211\204* )\207" [old-val l elem #1=#:--dolist-temp--47343 copy-tree nil ecb-upgrade-layout-nr2name] 5]) (defalias 'ecb-upgrade-cache-directory-contents #[(old-val) "\301\302\"\207" [old-val mapcar #[(elem) "@A@B\207" [elem] 2]] 3]) (defalias 'ecb-upgrade-source-file-regexps #[(old-val) "\301BC\207" [old-val ".*"] 2]) (defalias 'ecb-upgrade-truncate-lines #[(old-val) "\203\301\207\302\207" [old-val (t t t t) (nil nil nil nil)] 1]) (defalias 'ecb-upgrade-alway-operate-in-edit-window #[(old-val) "\302!\303\304 \"\211)\207" [old-val l copy-tree delete switch-to-buffer-other-window] 4]) (defalias 'ecb-upgrade-mode-line-prefixes #[(old-val) "\301@B\302A@B\303\3048B\305\3068BF\207" [old-val ecb-directories-buffer-name ecb-sources-buffer-name ecb-methods-buffer-name 2 ecb-history-buffer-name 3] 6]) (defalias 'ecb-upgrade-mode-line-data #[(old-val) "\301@\302\232\203\f\303\202@B\304A@\302\232\203\303\202A@B\305\3068\302\232\203-\307\2020\3068B\310\3118BF\207" [old-val ecb-directories-buffer-name selected sel-dir ecb-sources-buffer-name ecb-methods-buffer-name 2 sel-source ecb-history-buffer-name 3] 6]) #@56 Save the ECB-option OPTION with current default value. (defalias 'ecb-option-set-default #[(option) "\301\302\303\"\"\207" [option customize-save-variable ecb-option-get-value standard-value] 5 (#$ . 6073)]) #@1267 Upgrade the old ECB-option OLD-OPTION if the following conditions are ALL true: 1. OLD-OPTION is the key of an element of `ecb-upgradable-option-alist' 2. 'saved-value of OLD-OPTION is not nil 3. Either + the new-option from `ecb-upgradable-option-alist' has the same name as OLD-OPTION and + the type of the value of OLD-OPTION is not compatible with the current type of OLD-OPTION (this prevents from doing an upgrade twice!) or + OLD-OPTION is not a bound and valid option in current ECB and + The related new-option `ecb-upgradable-option-alist' is not already customized, i.e. the 'saved-value of new-option is nil. If all conditions are true then the value of OLD-OPTION is transformed by the transforming-function of the related element of `ecb-upgradable-option-alist' to the correct new type and then the related new option is saved with this new value. Return nil if no upgrade is necessary because at least one of the conditions above is not true. Returns the transformed value of OLD-OPTION or 'ecb-no-upgrade-conversion in form of a list, to distinguish a transformed value nil from the nil-result which indicates that no upgrade was necessary (see above). This means the "real" new value is the car of this result-list! (defalias 'ecb-option-upgrade #[(old-option) "\304 \"A\305\211\205A @\232\203\306!\203(\307!?\205A @\310N?\205A\310N\205A\305\311\312\217\211\313\232\204?\314 @\n\"\210\nC*\207" [old-option ecb-upgradable-option-alist new-value upgrade-elem assoc nil ecb-option-compatible-p boundp saved-value (byte-code "A@\302 \303\"!\207" [upgrade-elem old-option ecb-option-get-value saved-value] 4) ((error 'ecb-no-upgrade-conversion)) ecb-no-upgrade-conversion customize-save-variable] 4 (#$ . 6291)]) #@109 Return not nil only if the type of the value of OPTION is compatible with its current defcustom-definition. (defalias 'ecb-option-compatible-p #[(option) "\301\302!\210\303\304\305N!\306J#\207" [option require cus-edit widget-apply widget-convert custom-type :match] 4 (#$ . 8073)]) #@287 This variable is only set by `ecb-check-not-compatible-options'! It is an alist with car is the symbol of an incompatible option and the cdr is the not compatible value of this option. This option is evaluated by `ecb-upgrade-not-compatible-options' and `ecb-display-upgraded-options'. (defvar ecb-not-compatible-options nil (#$ . 8365)) #@134 Check for all ECB-options if their current value is compatible to the defined type. If not store it in `ecb-not-compatible-options'. (defalias 'ecb-check-not-compatible-options #[nil "\304\304\305\306!\210 \304\211\203+ @\307\310!\210\311\n!\204$\n\211JBB A\211\204+\304\207" [ecb-not-compatible-options ecb-options option #1=#:--dolist-temp--47344 nil mapatoms #[(symbol) "\302\303\304!\"\205\305N\205 B\211\207" [symbol ecb-options string-match "ecb-" symbol-name custom-type] 4] require cus-edit ecb-option-compatible-p] 3 (#$ . 8710)]) #@306 Upgrade all not anymore compatible options of `ecb-not-compatible-options'. If such an option is contained in `ecb-upgradable-option-alist' then try to perform a special upgrade with `ecb-option-upgrade'. If no special upgrade is done then the option is reset to the default-value of current ECB-version. (defalias 'ecb-upgrade-not-compatible-options #[nil "\304\211\203(\n@\305 @!\211\203 @\306\232\203 \307 @!\210)\nA\211\204*\304\207" [ecb-not-compatible-options option #1=#:--dolist-temp--47345 upgrade-result nil ecb-option-upgrade ecb-no-upgrade-conversion ecb-option-set-default] 3 (#$ . 9277)]) (byte-code "\301B\302\301!\204\f\303\303\207" [current-load-list ecb-renamed-options boundp nil] 2) #@430 Upgrade all renamed options of `ecb-upgradable-option-alist' and store every option in `ecb-renamed-options' if at least an upgrade was tried (see `ecb-option-upgrade'). Note: This function upgrades only the renamed but not the incompatible options (i.e. only the type but not the name of the option has changed) of `ecb-upgradable-option-alist' because the latter ones will be upgraded by `ecb-upgrade-not-compatible-options'! (defalias 'ecb-upgrade-renamed-options #[nil "\306 \306\211\2036 @\307\n@\f\"\204/\310\n@!\211\203.\n@\311\n@\312\"\nA@ @FB) A\211\204\n*\306\207" [ecb-renamed-options ecb-upgradable-option-alist option #1=#:--dolist-temp--47346 ecb-not-compatible-options new-value-list nil assoc ecb-option-upgrade ecb-option-get-value saved-value] 5 (#$ . 10003)]) #@69 Display a message-buffer which options have been upgraded or reset. (defalias 'ecb-display-upgraded-options #[nil "\204 \203K\306\220\203\307\310!\210\307\311!\210\312\211\203\213 @\313\n@!\nA\n@J \307\314 P!\210\307\315!\210\307\316 \312\232?\205T \317\232?\205T 9\204S <\205T\320\321 !Q!\210\307\315!\210\307\322\f\312\232?\205y\f\317\232?\205y\f9\204x\f<\205y\320\321\f!Q!\210\307\311!\210+ A\211\204* \203\230\307\323!\210\307\311!\210 \312\211!\203>!@\313\n@!\nA@\313\324\n8!\325\n8\"#\307\326#P!\210\307\315!\210\307\327 \312\232?\205\340 \317\232?\205\340 9\204\337 <\205\340\320\321 !Q!\210\307\315!\210\307\330\"P!\210\307\315!\210\307\331\f\332\232\203\321\324\n8J!\202#\f\312\232?\205\f\317\232?\205\f9\204\f<\205\320\321\f!PP!\210\f\332\232\2030\307\333!\210\307\311!\210,!A\211!\204\241*\307\334!\210\307\311!\210\335 \221\207\336\337!\207" [ecb-not-compatible-options ecb-renamed-options option #1=#:--dolist-temp--47347 new-value old-value "*ECB upgraded options*" princ "The values of the following options are incompatible with current type.\nECB has tried to transform the old-value to the new type. In cases where\nthis was not possible ECB has reset to the current default-value." "\n\n" nil symbol-name "+ Option: " "\n" " Old value: " t "'" prin1-to-string " New value: " "The following options are not longer valid and have now new names. ECB has\ntried to transform the old value to the new option. In cases where this\nwas not possible the current default value is active!" 2 3 "+ Old option: " " Old value: " " New option: " " New value: " ecb-no-upgrade-conversion "\n (The old value couldn't be transformed - this is the current default!)" "If the new values are not what you want please re-customize!" print-help-return-message message "There were no incompatible or renamed options!" option-name #2=#:--dolist-temp--47348 new-option-name old-option-name] 7 (#$ . 10801) nil]) #@292 Check for all ECB-options if the current value is compatible to the type. If not upgrade it to the new type or reset it to the default-value of current ECB. Try also to upgrade renamed options. Displays all upgraded or reset options with their old (before the upgrade/reset) and new values. (defalias 'ecb-upgrade-options #[nil "\300 \210\301 \210\302 \210\303 \207" [ecb-check-not-compatible-options ecb-upgrade-not-compatible-options ecb-upgrade-renamed-options ecb-display-upgraded-options] 1 (#$ . 12782) nil]) (byte-code "\301B\306\302B\307\303B\310\304B\311\305B\312\313B\314 \315B\316\315!\2042\317 \317\207" [current-load-list ecb-required-semantic-version-min ecb-required-semantic-version-max ecb-required-eieio-version-min ecb-required-eieio-version-max ecb-required-speedbar-version-min (1 4 2 0) (1 4 3 9) (0 17 2 0) (0 17 3 9) (0 14 1 1) ecb-required-speedbar-version-max (0 15 3 9) ecb-all-requirements-available boundp nil] 2) #@478 Ensure that we use the right `semantic-version' and right `eieio-version' and offer to download them if not installed. If JUST-CHECK is not nil then 1. Only the version check is done but no download 2. It returns nil if all requirements are correct, otherwise a list which contains the symbol 'semantic if `semantic-version' is incorrect and 'eieio if `eieio-version' is incorrect. If called in non-interactive mode (e.g. in batch-mode) then JUST-CHECK is always true. (defalias 'ecb-check-requirements #[(&optional just-check) "\306\300!\203\n\205. ?\205.\307\n!\307 !\307\f!\307 !\307;!\307?@ABCDEFGHIJKLM\306\311!\203j\312\313 !\n\"\204j\312 \313 !\"\203{\314M\315L\316\260F\317GBG\306\320!\203\225\312\313!\f\"\204\225\312 \313!\"\203\255F\211\205\234\321\322K\315J\316\260F\323GBG\306\324!\203\311\312\313!;\"\204\311\312<\313!\"\203\341F\211\205\320\321\325I\315H\316\260F\326GBGG\204\350\327N\204\362\330 \203\367G\202,G\205,O\203 \331\220\332\333!\210\332\334!\210\332\335!\210\332\336!\210\332\337!\210\332\340!\210\332\341!\221\210\342\343\344F\"!\2042\345\346F\"\202,\347\310!\210\317G\235\204C\350D\202k\351\352P\n $C\353\352CP#\211E\203hC\203h\354C\355ER\202i\356D\323G\235\204x\350A\202\240\351\357P\f $@\353\357@P#\211B\203\235@\203\235\354@\355BR\202\236\356A\326G\235\204\255\350>\202\327\351\360P;<$=\353\360=P#\211?\203\324=\203\324\354=\355?R\202\325\356>\331\220\332\361!\210\332\362M\315L\363\260!\210\332D!\210\332\364!\210\332\365K\315J\363\260!\210\332A!\210\332\364!\210\332\366I\315H\363\260!\210\332>!\210\332\367!\210\332\370!\210\332\371!\210\332\367!\221\210\345\372!.\207" [ecb-version-check ecb-all-requirements-available ecb-required-semantic-version-min ecb-required-semantic-version-max ecb-required-eieio-version-min ecb-required-eieio-version-max boundp ecb-package-version-list2str nil semantic-version ecb-package-version-list< ecb-package-version-str2list "semantic [" ", " "]" semantic eieio-version " and " "eieio [" eieio speedbar-version "speedbar [" speedbar t ecb-noninteractive "*ECB downloading and installing*" princ "Current ECB is installed as regular XEmacs package and not with the\n" "archive available at the ECB-website. So you should use the package-manager\n" "of XEmacs to get the required versions of semantic, eieio, speedbar and to\n" "install them also as regular XEmacs-packages! If you now proceed installing\n" "from the CEDET-website then the new versions will NOT be installed as\n" "regular XEmacs-package(s) but as \"flat\" package(s) parallel to the current\n" "ECB directory!\n\n" ecb-confirm format "ECB requires %s. Download now? " ecb-error "ECB can only be used with %s! Sorry!" message "Correct version already loaded!" ecb-package-get-matching-versions-str "semantic" ecb-package-download "Installed " " in " "Download- or installing-failure!" "eieio" "speedbar" "Current state of the required packages semantic and eieio:\n\n" "- semantic author-version must be [" "]:\n " "\n" "- eieio author-version must be [" "- speedbar author-version must be [" "\n\n" "After adding the new directories to your `load-path' and then restarting\n" "Emacs and ECB the new packages will be used.\n\n" "Please restart Emacs with the required packages!" ecb-required-speedbar-version-min ecb-required-speedbar-version-max speedbar-installed-version-str speedbar-state speedbar-dir eieio-installed-version-str eieio-state eieio-dir semantic-installed-version-str semantic-state semantic-dir version-error failed-result speedbar-required-version-str-max speedbar-required-version-str-min eieio-required-version-str-max eieio-required-version-str-min semantic-required-version-str-max semantic-required-version-str-min just-check ecb-regular-xemacs-package-p ecb-cedet-url] 18 (#$ . 13754)]) (custom-declare-group 'ecb-download nil "Settings for downloading and installing a new ECB from within ECB." :group 'ecb :prefix "ecb-") #@245 *URL where download-able ECB-versions are located. The ECB-archive-file (e.g. ecb-1.70.tar.gz) will be appended to this URL and `ecb-download-ecb' will try to download this archive. Note: Normally this URL should never change but who knows... (custom-declare-variable 'ecb-download-url '"http://ftp1.sourceforge.net/ecb/" '(#$ . -17852) :group 'ecb-download :type 'string) #@1229 *Version type ECB is allowed to download for upgrading. If you want to upgrade to a newer ECB-version via `ecb-download-ecb' or if you must upgrade to newer semantic- and/or eieio-versions (because ECB requires these newer versions) then this option specifies which version-types are allowed. ECB checks on the download-sites of ECB/semantic/eieio which versions are currently available and then downloads always the latest version matching the specified type: 2: Gets the newest version of all stable versions available. 1: Gets the newest version of all stable and beta versions available. 0: Gets the newest version of all stable, beta and alpha versions available. -1: Ask before downloading in the minibuffer for a version (TAB-completion of all available versions is possible). So, 2 means stable, 1 means stable and betas, 0 means stable, betas and alphas and -1 means ask the user for a version. Per default stable and beta-versions are allowed (value 1). This comes also from the fact, that currently speedbar is only available in beta versions which are very stable. But all versions must match the restrictions of the specified min- and max-versions of the required packages. For this see the file README! (custom-declare-variable 'ecb-download-package-version-type '1 '(#$ . -18234) :group 'ecb-download :type '(radio (const :tag "Only stable versions" :value 2) (const :tag "Allow beta versions" :value 1) (const :tag "Allow alpha versions" :value 0) (const :tag "Ask for version" :value -1))) #@320 *Parent directory where downloaded packages are installed. ECB installs a downloaded package in this directory, i.e. the downloaded archive X.tar.gz will be extracted in this directory so afterwards this directory contains a new subdirectory X which contains the downloaded package. This directory must be write-able! (custom-declare-variable 'ecb-download-install-parent-dir '(or (and (file-writable-p ecb-ecb-parent-dir) ecb-ecb-parent-dir) "~") '(#$ . -19759) :group 'ecb-download :type 'directory) #@321 *Should the downloaded archive be deleted after success or failure. Possible values are: - only-after-success: Archive is only deleted after successful installation but not if a failure occurs during the installation process. - always: Archive is also deleted if an error occurs. - nil: Archive will never be deleted. (custom-declare-variable 'ecb-download-delete-archive ''always '(#$ . -20269) :group 'ecb-download :type '(choice :tag "Delete archive" :menu-tag "Delete archive" (const :tag "After successful installation" only-after-success) (const :tag "Always" always) (const :tag "Never" nil))) #@257 *URL where download-able CEDET-libraries are located. ECB will try to download (if necessary) required versions of the libraries needed by ECB: The CEDET libraries semantic, eieio and speedbar. Note: Normally this URL should never change but who knows... (custom-declare-variable 'ecb-cedet-url '"http://ftp1.sourceforge.net/cedet/" '(#$ . -20879) :group 'ecb-download :type 'string) (byte-code "\301B\302\301\207" [current-load-list ecb-download-buffername " *ecb-download*"] 2) (defalias 'ecb-create-shell-argument '(macro . #[(arg) "\301\302\303\304\301\305\306\307\310\311\312\313\314EDFD\315BBBEF\207" [arg if (eq system-type 'windows-nt) progn (require 'executable) (executable-find "cygpath.exe") ecb-trim ecb-subst-char-in-string 10 32 shell-command-to-string concat "cygpath -u " ((ecb-error "Cannot find the cygpath utility!"))] 14])) #@378 Convert the version-str VER-STR to the internal version-list format with the following elements of the version-list: 1. Major-version 2. Minor-version 3. 0 = alpha, 1 = beta, 2 = nothing (e.g. "1.4"), 3 = . (e.g. "1.4.3" 4. Subversion after the alpha, beta or . Return nil if ver-str has not the required syntax: .[.|beta|alpha][] (defalias 'ecb-package-version-str2list #[(ver-str) "\302\303 \"\205O\304\305\306 \"!\304\305\307 \"!\305\310 \"\311\230\203\"\312\202=\305\310 \"\313\230\203/\306\202=\305\310 \"\314\230\203<\310\202=\307\305\315 \"\203M\304\305\315 \"!\202N\312F)\207" [ver-str str string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)\\(beta\\|alpha\\|\\.\\)?\\([0-9]+\\)?$" string-to-number match-string 1 2 3 "alpha" 0 "beta" "." 4] 7 (#$ . 21737)]) #@43 Return non-nil if VER1 is less than VER2. (defalias 'ecb-package-version-list< #[(ver1 ver2) "@A@\3068\3078 @ A@\306 8\307 8 \n\211 W\206d U\2036\n\fW\206d U\203K\n\fU\203K W\206d U\205d\n\fU\205d U\205d\nW.\207" [ver1 ver2 v2-3 v2-2 v2-1 v2-0 2 3 v1-3 v1-2 v1-1 v1-0] 10 (#$ . 22558)]) #@61 Return non nil if VER-STR1 is logically less then VER-STR2. (defalias 'ecb-package-version-string< #[(ver1-str ver2-str) "\304!\304 !\305 \n\"*\207" [ver1-str ver2-str ver2 ver1 ecb-package-version-str2list ecb-package-version-list<] 3 (#$ . 22890)]) #@59 Complementary function to `ecb-package-version-str2list'. (defalias 'ecb-package-version-list2str #[(ver) "\301@!\302\301A@!\3038\304U\203\305\202/\3038\306U\203\"\307\202/\3038\310U\203.\302\202/\311\3038\303U\204?\301\3108!\202@\311\260\207" [ver number-to-string "." 2 0 "alpha" 1 "beta" 3 ""] 7 (#$ . 23150)]) #@424 Get from PACKAGE-URL all available version-numbers of PACKAGE. Remove all version-numbers which are not between MIN-LIST and MAX-LIST and which do not match the setting in `ecb-download-package-version-type'. If `ecb-download-package-version-type' = -1 then let the user choose a version of the remaining version-numbers (default is the newest version) otherwise return autom. the newest version-number as version-string. (defalias 'ecb-package-get-matching-versions-str #[(package package-url min-list max-list) "\306 \"\307\310\311\312\313\n\"\"\314\"\312\315 \"\237\211\203= \316U\2033\317\320\f\311\321\311\211\f\211@@)&\202B\f\211@@)\202B\322\323 #+\207" [package package-url full-version-list sorted-matching-ver-list sorted-matching-ver-str ecb-download-package-version-type ecb-package-get-available-versions sort delete nil mapcar #[(ver-str) "\305!\211\205!\306 \n\"?\205!\306 \"?\205!\f\307 8X\205! )\207" [ver-str ver-list min-list max-list ecb-download-package-version-type ecb-package-version-str2list ecb-package-version-list< 2] 4] ecb-package-version-list< #[(x) "\301!\302D\207" [x ecb-package-version-list2str t] 2] -1 completing-read "Choose a version: " t ecb-error "No matching versions available for %s at %s." x] 9 (#$ . 23488)]) #@1086 Download ECB from the ECB-website and install it. For this the option `ecb-download-url' must be set correct, whereas the default value of this option should always be correct. If `ecb-download-package-version-type' is set to -1 (means asking for a version) then you will be ask in the minibuffer for the version to download. Otherwise ECB downloads autom. the latest version available for the type specified in `ecb-download-package-version-type'. If no newer version than the current one is available no download will be done. For details about downloading and what requirements must be satisfied see function `ecb-package-download' and option `ecb-download-package-version-type'! After successful downloading the new ECB will be installed in a subdirectory of `ecb-download-install-parent-dir'. After adding this new subdirectory to `load-path' and restarting Emacs the new ECB version can be activated by `ecb-activate'. If current running ECB is installed as regular XEmacs-package and not with the archive available at the ECB website then this function asks for proceeding! (defalias 'ecb-download-ecb #[nil "\203\n\303\304!\205\305\304 \n#\207" [ecb-regular-xemacs-package-p ecb-version ecb-download-url ecb-package-display-xemacs-package-info "ecb" ecb-package-download-ecb/semantic] 4 (#$ . 24773) nil]) #@1128 Download semantic from the semantic-website and install it. For this the variable `ecb-cedet-url' must be set correct, whereas the default value of this variable should always be correct. If `ecb-download-package-version-type' is set to -1 (means asking for a version) then you will be ask in the minibuffer for the version to download. Otherwise ECB downloads autom. the latest version available for the type specified in `ecb-download-package-version-type'. If no newer version than the current one is available no download will be done. For details about downloading and what requirements must be satisfied see function `ecb-package-download' and option `ecb-download-package-version-type'! After successful downloading the new semantic will be installed in a subdirectory of `ecb-download-install-parent-dir'. After adding this new subdirectory to `load-path' and restarting Emacs the new semantic version is loaded and is used after next start of ECB. If current running semantic is installed as regular XEmacs-package and not with the archive available at the semantic website then this function asks for proceeding! (defalias 'ecb-download-semantic #[nil "\203\n\303\304!\205\305\304 \n#\207" [ecb-semantic-regular-xemacs-package-p semantic-version ecb-cedet-url ecb-package-display-xemacs-package-info "semantic" ecb-package-download-ecb/semantic] 4 (#$ . 26103) nil]) #@130 Displays a warning if PACKAGE is a standard xemacs-package and ask if to proceed with downloading. Return not nil if proceeding. (defalias 'ecb-package-display-xemacs-package-info #[(package) "\301\220\302\303\304Q!\210\302\305\306Q!\210\302\307\310Q!\210\302\311\312\313\260!\210\302\314!\221\210\315\316\317Q!\207" [package "*ECB downloading and installing*" princ "Current " " is installed as regular XEmacs package and not with the\n" "archive available at the " "-website. So you should use the package-manager\n" "of XEmacs to get the latest version of " "! If you proceed installing from\n" "the " "-website then the new " " is NOT installed as regular XEmacs-\n" "package but as \"flat\" package into `ecb-download-package-version-type'!\n\n" ecb-confirm "Do you want to proceed installing from the " "-website? "] 7 (#$ . 27495)]) #@107 Download PACKAGE from URL. CURR-VERSION must be the current version of current active version of PACKAGE. (defalias 'ecb-package-download-ecb/semantic #[(package curr-version url) "\306 \n\307U\203 \310\202\311 !\312$\313\211 \230\203 \314\315 \"\210\316 #\211\205s\317\320\"\210\321\220\322\323\324Q!\210\322\325\326\327\330!!\331\260!\210\322\332\326\fR!\210\322\333!\210\322\334!\210\322\335\336Q!\210\337\230\203o\322\340!\210\322\341!\210\322\342!\210\322\333!\221*\207" [package url ecb-download-package-version-type curr-version install-dir ver ecb-package-get-matching-versions-str -1 (0 0 0 0) ecb-package-version-str2list (100 99 3 99) nil ecb-error "You tried to download an already installed version %s - Stop!" ecb-package-download message "New %s successfully installed!" "*ECB downloading and installing*" princ "New " " version is installed.\n\n" "+ Current " ": " file-name-directory locate-library "\n" "+ New " "\n\n" "After replacing the current directory with the new one in your `load-path'\n" "and then restarting Emacs the new version of " " is loaded." "ecb" "\n\nIf the value of `ecb-auto-compatibility-check' is not nil then the new version\n" "checks at start-time if there are incompatible options! Please read the\n" "documentation of this option!"] 9 (#$ . 28349)]) #@1335 Download VERSION of PACKAGE from URL and install it in a new subdirectory of `ecb-download-install-parent-dir'. If no failure occurs during this process the full path of the directory is returned in which the new package is installed. Otherwise an error is reported. For correct downloading and installing the utilities "wget", "tar" and "gzip" are needed which are available for Unix and also for windows with cygwin. All utilities must reside in your PATH! If you are behind a firewall and you have to use a proxy you maybe need the following wget-configuration in your "~/.wgetrc"-file: # Define your proxies (where 8080 and 8081 are examples for the portnumbers) http_proxy = http://your.proxy.com:8080 ftp_proxy = http://your.ftpproxy.com:8081 # If you do not want to use proxy at all, set this to off. use_proxy = on ECB will try to download the file: "-.tar.gz". Example: For PACKAGE = "ecb", VERSION = "1.90" and URL = "http://ftp1.sourceforge.net/ecb/" the download-file would be "http://ftp1.sourceforge.net/ecb/ecb-1.90.tar.gz". After successful downloading the new package version will be installed in a new subdirectory of `ecb-download-install-parent-dir'. After adding this new subdirectory to `load-path' and restarting Emacs the new package version can be activated. (defalias 'ecb-package-download #[(package version url) "\306!\211\n\307Q\310\311\312 \n\313@R!\2031\314\315\316\n@\n\313@Q$!\2041 \n\313@R\202\"\317A!\203=\320A!\210\321 !\210\321\322 !!\210\323\324!\210\325B\326=\203W\327\202X\330!\203~\325B\326=\203h\331\202i\332!\203~\325B\326=\203y\333\202z\334!\204\204\335\336!\202\"\337\340\341\nP\342B\326=\203\225\327\202\226\330\311A\311\343\344\345 C\n\313@\346\260&\f\210\212Aq\210\347 eb\210\212\350\351\311\310#)\203\321\350\352 !\353P\311\310#\203\321\354 !\204\323\311)\f\204\355\220\356\315\357\n\"!\210\356\360!\210\356\361!\210\356 !\210\356\362!\210\356\363!\210\356\364!\210\356\365!\210\356\366!\210\356\367C\n\313@\346\260!\210\356\363!\210\356\370!\221\210\320A!\210\f\203F\371\372\n\"\210\373\374 P!\211G\375V\203F\311\376\220\356\315\377\n\"!\210\356\363!\210\356 !\221\210\f\203\355\371\201E\n\"\210\371\201F\n\"\210\373\201GB\326=\203\217\323\324!\210\325\201H!\203\207\201I\201J\201K\201L\373\201M P!#!\202\220\335\201N!\202\220 \201OB\326=\203\310\323\324!\210\325\201H!\203\300\201I\201J\201K\201L\373\201M\322 !P!#!\202\313\335\201N!\202\313\322 !R!\211G\375V\203\355\311\201P\220\356\315\201Q\n\"!\210\356\363!\210\356 !\221\210\f\203\366D\204\f\204 D\201R=\203 \321\322 !!\210\321 !\210\f\203 \n\313@R\202\"\335\201S\n@#,\207" [ecb-download-install-parent-dir download-install-dir package downloaded-filename success process-result file-name-as-directory "-download.tar.gz" t nil file-directory-p "-" ecb-confirm format "%s %s seems to be already installed in directory %s! Force? " get-buffer kill-buffer ecb-delete-file file-name-sans-extension require executable executable-find windows-nt "wget.exe" "wget" "tar.exe" "tar" "gzip.exe" "gzip" ecb-error "Cannot find wget, tar and gzip. These utilities are needed to download and install ECB or required packages." ecb-working-status-call-process 0.1 "Downloading new " "done" "-C" "off" "-O" ".tar.gz" buffer-string search-forward-regexp "200" regexp-quote ".*saved.*" file-exists-p "*ECB-download-failure*" princ "The download of %s has failed cause of the following wget-failure:" "\n" "______________________________________________________________________________\n\n" "\n______________________________________________________________________________" "\n\n" "Please check the wget configuration in \"~/.wgetrc\" and also the values\n" "of the options in the customize group 'ecb-download'." "ECB has tried to download the following URL:\n\n" " " "Maybe this URL does not exist...please check this!\n\n" message "Uncompressing new %s..." shell-command-to-string "gzip -d " 0 "*ECB-uncompressing-failure*" "Uncompressing of %s has failed cause of the following problems:" version ecb-download-buffername system-type url ecb-download-delete-archive "Uncompressing new %s...done" "Unpacking new %s..." "tar -C " "cygpath.exe" ecb-trim ecb-subst-char-in-string 10 32 "cygpath -u " "Cannot find the cygpath utility!" " -xf " "*ECB-unpacking-failure*" "Unpacking of %s has failed cause of the following problems:" always "Downloading or installing failure for %s %s"] 18 (#$ . 29674)]) #@182 Get a list of available versions of PACKAGE download-able at PACKAGE-URL. This is done with the utility "wget", so please see `ecb-package-download' for details about using "wget". (defalias 'ecb-package-get-available-versions #[(package package-url) "\306P\307\310\211\311\312!\210\313 \314=\203\315\202\316!\204$\317\320!\2027\310\211\211\211\2116789:\321;!\203?\322;!\210\323\f!\210-\324\325\326]+\\)\\.tar\\.gz\">" add-to-list match-string 1 auto-mode-alist semantic-after-partial-cache-change-hook semantic-after-toplevel-cache-change-hook kill-buffer-hook ecb-window-sync ecb-download-buffername package package-url] 11 (#$ . 34220)]) (provide 'ecb-upgrade)