%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/cedet/ede/ |
Current File : //usr/local/share/emacs/27.2/lisp/cedet/ede/auto.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\300\303!\210\304\305\306\307!\"\210\304\310\311\307!\"\210\304\312\310\"\210\313\312\314\315#\210\316\307\317\310#\320\307\321\322\323$\207" [require eieio cl-generic eieio-base defalias ede-project-autoload-dirmatch-p eieio-make-class-predicate ede-project-autoload-dirmatch ede-project-autoload-dirmatch--eieio-childp eieio-make-child-predicate ede-project-autoload-dirmatch-child-p make-obsolete "use (cl-typep ... \\='ede-project-autoload-dirmatch) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((fromconfig :initarg :fromconfig :initform nil :documentation "A config file within which the match pattern lives.") (configregex :initarg :configregex :initform nil :documentation "A regexp to identify the dirmatch pattern.") (configregexidx :initarg :configregexidx :initform nil :documentation "An index into the match-data of `configregex'.") (subdir-only :initarg :subdir-only :initform t :documentation "Non-nil means an exact match to the found directory is a non-match.\nThis implies projects exist only in subdirectories of the configuration path.\nIf `:subdir-only' is nil, then the directory from the configuration file is the project.") (configdatastash :documentation "Save discovered match string.")) (:documentation "Support complex matches for projects that live in named directories.\nFor most cases, a simple string is sufficient. If, however, a project\nlocation is varied dependent on other complex criteria, this class\ncan be used to define that match without loading the specific project\ninto memory.")] 6) #@68 Create a new object of class type `ede-project-autoload-dirmatch'. (defalias 'ede-project-autoload-dirmatch #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-project-autoload-dirmatch] 4 (#$ . 2017)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-project-autoload-dirmatch compiler-macro ede-project-autoload-dirmatch--anon-cmacro] 4) (defalias 'ede-project-autoload-dirmatch--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) (byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\310\311\312\313!\"\210\310\314\315\313!\"\210\310\316\314\"\210\317\316\320\321#\210\322\313\323\314#\324\313\325\326\327$\207" [cl-generic-define-method ede-dirmatch-installed nil ((dirmatch ede-project-autoload-dirmatch)) #[(dirmatch) "\302\303\"\211;\203 \304 !\202 \305\306!)\207" [dirmatch fc eieio-oref fromconfig file-exists-p error "Unknown dirmatch type."] 4 "Return non-nil if the tool DIRMATCH might match is installed on the system."] ede-do-dirmatch ((dirmatch ede-project-autoload-dirmatch) file) #[(dirmatch file) "\306\307\"\211;\203\236 \310 !\205\241 \311\312\"\205 \306\312\"\211\204u \311\312\"\204u r\313 !\314\315 !)\211q\210\212eb\210\316\306\317\"\314\320#\203P \321\306\322\"\206N \323!)\204Y \324 !\210+\n\203u \306\325\"\203i \326\n!\327\330\n!P\331\312\n#\210\326\332!!\n\205\232 \333\n\332!\"\205\232 \306\325\"?\206\232 \323\225GU?)\202\241 \334\335!)\207" [dirmatch fc matchstring buff find-file-hook readbuff eieio-oref fromconfig file-exists-p slot-boundp configdatastash get-file-buffer nil find-file-noselect re-search-forward configregex t match-string configregexidx 0 kill-buffer subdir-only file-name-as-directory "^" regexp-quote eieio-oset expand-file-name string-match error "Unknown dirmatch object match style." file] 5 "Does DIRMATCH match the filename FILE."] defalias ede-project-autoload-p eieio-make-class-predicate ede-project-autoload ede-project-autoload--eieio-childp eieio-make-child-predicate ede-project-autoload-child-p make-obsolete "use (cl-typep ... \\='ede-project-autoload) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (eieio-named) ((name :initarg :name :documentation "Name of this project type") (file :initarg :file :documentation "The lisp file belonging to this class.") (proj-file :initarg :proj-file :documentation "Name of a project file of this type.") (root-only :initarg :root-only :initform t :documentation "Non-nil if project detection only finds proj-file @ project root.") (proj-root-dirmatch :initarg :proj-root-dirmatch :initform nil :type (or null string ede-project-autoload-dirmatch) :documentation "To avoid loading a project, check if the directory matches this.\nSpecifying this matcher object will allow EDE to perform a complex\ncheck without loading the project.\n\nNOTE: If you use dirmatch, you may need to set :root-only to nil.\nWhile it may be a root based project, all subdirs will happen to return\ntrue for the dirmatch, so for scanning purposes, set it to nil.") (proj-root :initarg :proj-root :type function :documentation "A function symbol to call for the project root.\nThis function takes no arguments, and returns the current directories\nroot, if available. Leave blank to use the EDE directory walking\nroutine instead.") (initializers :initarg :initializers :initform nil :documentation "Initializers passed to the project object.\nThese are used so there can be multiple types of projects\nassociated with a single object class, based on the initializers used.") (load-type :initarg :load-type :documentation "Fn symbol used to load this project file.") (class-sym :initarg :class-sym :documentation "Symbol representing the project class to use.") (generic-p :initform nil :documentation "Generic projects are added to the project list at the end.\nThe add routine will set this to non-nil so that future non-generic placement will\nbe successful.") (new-p :initarg :new-p :initform t :documentation "Non-nil if this is an option when a user creates a project.") (safe-p :initarg :safe-p :initform t :documentation "Non-nil if the project load files are \"safe\".\nAn unsafe project is one that loads project variables via Emacs\nLisp code. A safe project is one that loads project variables by\nscanning files without loading Lisp code from them.")) (:documentation "Class representing minimal knowledge set to run preliminary EDE functions.\nWhen more advanced functionality is needed from a project type, that projects\ntype is required and the load function used.")] 6) #@59 Create a new object of class type `ede-project-autoload'. (defalias 'ede-project-autoload #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-project-autoload] 4 (#$ . 6740)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-project-autoload compiler-macro ede-project-autoload--anon-cmacro] 4) (defalias 'ede-project-autoload--anon-cmacro #[(whole &rest slots) "@;\204 \207\302\303\304@ @# @\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5]) #@72 List of vectors defining how to determine what type of projects exist. (defvar ede-project-class-files (byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\310&\300\301\316\303\304\305\306\307\310\317\320\311\312\313\314\315\310&\300\301\321\303\322\305\323\307\310\311\324\313\325\326\310\315\327&E\207" [ede-project-autoload :name "Make" :file ede/proj :proj-file "Project.ede" :root-only nil :load-type ede-proj-load :class-sym ede-proj-project :safe-p "Automake" :initializers (:makefile-type Makefile\.am) "automake" ede/project-am "Makefile.am" project-am-load project-am-makefile :new-p t] 19) (#$ . 7286)) (put 'ede-project-class-files 'risky-local-variable t) #@52 Display all the project types registered with EDE. (defalias 'ede-show-supported-projects #[nil "\305\306!\211q\210\307\310 \210\n\307\211\203' \f@\311\312\"c\210\313 \210\fA\211\204 *\314!)\207" [b buffer-read-only ede-project-class-files prj --dolist-tail-- get-buffer-create "*EDE Autodetect Projects*" nil erase-buffer eieio-oref name newline display-buffer] 4 (#$ . 7980) nil]) #@381 Add PROJAUTO, an EDE autoload definition to `ede-project-class-files'. Optional argument FLAG indicates how this autoload should be added. Possible values are: `generic' - A generic project type. Keep this at the very end. `unique' - A unique project type for a specific project. Keep at the very front of the list so more generic projects don't get priority. (defalias 'ede-add-project-autoload #[(projauto &optional flag) "\306 \307\"\211\203 \306@\307\"\n\230\204 A\211\204 \203&