%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/cedet/ |
Current File : //usr/local/share/emacs/27.2/lisp/cedet/inversion.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@31 Current version of InVersion. (defvar inversion-version "1.3" (#$ . 408)) #@61 An earlier release which is incompatible with this release. (defvar inversion-incompatible-version "0.1alpha1" (#$ . 488)) #@382 List of decoders for version strings. Each decoder is of the form: ( RELEASE-TYPE REGEXP MAX ) RELEASE-TYPE is a symbol specifying something like `beta' or `alpha'. REGEXP is the regular expression to match a version string. MAX is the maximum number of match-numbers in the release number. Decoders must be ordered to decode least stable versions before the more stable ones. (defconst inversion-decoders '((alpha "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.?\\([0-9]*\\)\\s-*\\.?alpha\\([0-9]+\\)?$" 4) (beta "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.?\\([0-9]*\\)\\s-*\\.?beta\\([0-9]+\\)?$" 4) (beta "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.?\\([0-9]*\\)\\s-*\\.?(beta\\([0-9]+\\)?)$" 4) (beta "^[^/]+/\\w+--\\w+--\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)--patch-\\([0-9]+\\)" 4) (beta "^\\w+: v\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)-\\([0-9]+\\)-\\(.*\\)" 5) (prerelease "^\\([0-9]+\\)\\.\\([0-9]+\\)\\s-*\\.?pre\\([0-9]+\\)?$" 3) (full "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.?\\([0-9]+\\)?$" 3) (fullsingle "^\\([0-9]+\\)$" 1) (patch "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.?\\([0-9]+\\)?\\s-*(patch \\([0-9]+\\))" 4) (point "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)$" 3) (point "^\\w+: v\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)-\\(0\\)-\\(.*\\)" 5) (build "^\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\).\\([0-9]+\\)$" 4) (full "^[^/]+/\\w+--\\w+--\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)--version-\\([0-9]+\\)" 4) (full "^\\w+: v\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)" 5)) (#$ . 618)) #@155 Decode VERSION-STRING into an encoded list. Return value is of the form: (RELEASE MAJOR MINOR ...) where RELEASE is a symbol such as `full', or `beta'. (defalias 'inversion-decode-version #[(version-string) "\306\n\203W \204W \307\n@A@\"\203P \306\310\n@8\311\f\f X\203D \f\224\2037 \312\313\f\224\f\225#!\2028 \311\fB\f\fT\211\202! \n@@\f\237B+\202 \nA\211\204 *\207" [inversion-decoders result decoders version-string count num-left nil string-match 2 1 string-to-number substring ver] 6 (#$ . 2089)]) #@41 Return the decoded version for PACKAGE. (defalias 'inversion-package-version #[(package) "\303\304!\305P!J\306\211\204 \307\310\211#\210\311\n!\211\204# \307\312\n#\210 *\207" [package code ver intern-soft symbol-name "-version" nil error "Package %S does not define %S-version" inversion-decode-version "%S-version value (%s) cannot be decoded"] 5 (#$ . 2619)]) #@227 Return the decoded incompatibility version for PACKAGE. The incompatibility version is specified by the programmer of a package when a package is not backward compatible. It is not an indication of new features or bug fixes. (defalias 'inversion-package-incompatibility-version #[(package) "\302\303!\304P!J\211\205 \305 !)\207" [package ver intern-soft symbol-name "-incompatible-version" inversion-decode-version] 4 (#$ . 2996)]) #@29 Convert CODE into a string. (defalias 'inversion-recode #[(code) "@A@\3058\3068\211\307\267\202 \310\211\202 \311\312\313\n\f %,\207" [code p i n r 2 3 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (full 21 point 28)) "" "." format "%s.%s%s%s"] 7 (#$ . 3438)]) #@39 Convert RELEASE-SYMBOL into a number. (defalias 'inversion-release-to-number #[(release-symbol) "\303 \" G\n \235GZ)\207" [release-symbol inversion-decoders ra assoc] 4 (#$ . 3758)]) #@42 Return non-nil if VER1 is equal to VER2. (defalias 'inversion-= #[(ver1 ver2) " \232\207" [ver1 ver2] 2 (#$ . 3949)]) #@43 Return non-nil if VER1 is less than VER2. (defalias 'inversion-< #[(ver1 ver2) "\306@!A@\3078\3108\3118\306 @! A@\307 8\310 8\311 8\n\f \fF \f\nF\232\203T \203T \n\203T \nW\202\273 \232\203y \f\232\203y \f\232\203y \203y \n\203y \nW\202\273 \232\203\227 \f\232\203\227 \f\203\227 \203\227 \fW\202\273 \232\203\256 \203\256 \f\203\256 \fW\202\273 \205\273 \205\273 W.\n\207" [ver1 ver2 v2-4 v2-3 v2-2 v2-1 inversion-release-to-number 2 3 4 v2-0 v1-4 v1-3 v1-2 v1-1 v1-0] 11 (#$ . 4074)]) #@455 Check that a given version meets the minimum requirement. VERSION, INCOMPATIBLE-VERSION and MINIMUM are of similar format to return entries of `inversion-decode-version', or a classic version string. INCOMPATIBLE-VERSION can be nil. RESERVED arguments are kept for a later use. Return: - nil if everything is ok. - `outdated' if VERSION is less than MINIMUM. - `incompatible' if VERSION is not backward compatible with MINIMUM. - t if the check failed. (defalias 'inversion-check-version #[(version incompatible-version minimum &rest reserved) ";\203 \306!\202\f ;\203 \306 !\202 \307\n\"\203% \310\202d \311\n\"\2030 \312\202d \311\n\"\203c \f;\203B \306\f!\202C \f\211\204L \310\202_ \307\n \"\204Z \311\n \"\203^ \305\202_ \310)\202d \313*\207" [version minimum req code incompatible-version incompatible inversion-decode-version inversion-= nil inversion-< outdated t] 4 (#$ . 4633)]) #@457 Test that PACKAGE meets the MINIMUM version requirement. PACKAGE is a symbol, similar to what is passed to `require'. MINIMUM is of similar format to return entries of `inversion-decode-version', or a classic version string. RESERVED arguments are kept for a later user. This depends on the symbols `PACKAGE-version' and optionally `PACKAGE-incompatible-version' being defined in PACKAGE. Return nil if everything is ok. Return an error string otherwise. (defalias 'inversion-test #[(package minimum &rest reserved) "\304\305!\306! \n$\211\204 \307\202* \310\267\202) \311\312 #\202* \311\313 #\202* \314)\207" [package minimum reserved check inversion-check-version inversion-package-version inversion-package-incompatibility-version nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (outdated 25 incompatible 33)) format "You need to upgrade package %s to %s" "Package %s version is not backward compatible with %s" "Inversion version check failed."] 6 (#$ . 5544)]) #@600 Test that PACKAGE at OLDVERSION is still compatible. If something like a save file is loaded at OLDVERSION, this test will identify if OLDVERSION is compatible with the current version of PACKAGE. PACKAGE is a symbol, similar to what is passed to `require'. OLDVERSION is of similar format to return entries of `inversion-decode-version', or a classic version string. RESERVED arguments are kept for a later user. This depends on the symbols `PACKAGE-version' and optionally `PACKAGE-incompatible-version' being defined in PACKAGE. Return nil if everything is ok. Return an error string otherwise. (defalias 'inversion-reverse-test #[(package oldversion &rest reserved) "\304\305!\306! \n$\211\204 \307\202* \310\267\202) \311\312 #\202* \311\313 #\202* \314)\207" [package oldversion reserved check inversion-check-version inversion-package-version inversion-package-incompatibility-version nil #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (outdated 25 incompatible 33)) format "Package %s version %s is not compatible with current version" "Package %s version is not backward compatible with %s" "Inversion version check failed."] 6 (#$ . 6567)]) #@416 Declare that you need PACKAGE with at least VERSION. PACKAGE might be found in FILE. (See `require'.) Throws an error if VERSION is incompatible with what is installed. Optional argument DIRECTORY is a location where new versions of this tool can be located. If there is a versioning problem and DIRECTORY is provided, inversion will offer to download the file. Optional argument RESERVED is saved for later use. (defalias 'inversion-require #[(package version &optional file directory &rest reserved) "\305 \"\210\306\n\"\211\203 \f\203 \307\f\n$\210\202 \310!\210)\207" [package file version err directory require inversion-test inversion-download-package-ask error] 6 (#$ . 7771)]) #@127 Declare that you need either EMACS-VER, XEMACS-VER or SXEMACS-ver. Only checks one based on which kind of Emacs is being run. (defalias 'inversion-require-emacs #[(emacs-ver xemacs-ver sxemacs-ver) "\302\303\"\211\203 \304 !\202 \305)\207" [emacs-ver err inversion-test emacs error t] 4 (#$ . 8475)]) #@59 Regexp template and match data index of a version string. (defconst inversion-find-data '("(def\\(var\\|const\\)\\s-+%s-%s\\s-+\"\\([^\"]+\\)" 2) (#$ . 8786)) #@542 Search for the version and incompatible version of PACKAGE. Does not load PACKAGE nor requires that it has been previously loaded. Search in the directories in `load-path' for a PACKAGE.el library. Visit the file found and search for the declarations of variables or constants `PACKAGE-version' and `PACKAGE-incompatible-version'. The value of these variables must be a version string. Return a pair (VERSION-STRING . INCOMPATIBLE-VERSION-STRING) where INCOMPATIBLE-VERSION-STRING can be nil. Return nil when VERSION-STRING was not found. (defalias 'inversion-find-version #[(package) "\306\307\310\"\311\"\n@\nA@\312 \203R \313\314!rq\210\315\216\316 \312\317\320$\210eb\210\321\307\305#\312\311#\203Q \322\f!Ceb\210\321\307\323#\312\311#\203Q \322\f!\241\210+ ,\207" [package file inversion-find-data tag idx version locate-library format "%s.el" t nil generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] insert-file-contents-literally 0 3000 re-search-forward match-string incompatible-version #1#] 5 (#$ . 8952)]) #@317 Add the PACKAGE path to `load-path' if necessary. MINIMUM is the minimum version requirement of PACKAGE. Optional argument INSTALLDIR is the base directory where PACKAGE is installed. It defaults to `default-directory'/PACKAGE. SUBDIRS are sub-directories to add to `load-path', following the main INSTALLDIR path. (defalias 'inversion-add-to-load-path #[(package minimum &optional installdir &rest subdirs) "\306!\211\203 \307 @ A\n#\205t \310\311 @\n$\205t \206&