;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; 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\300\304!\210\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [require eieio-opt ede/config ede/shell semantic/db defalias ede-generic-config-p eieio-make-class-predicate ede-generic-config ede-generic-config--eieio-childp eieio-make-child-predicate ede-generic-config-child-p make-obsolete "use (cl-typep ... \\='ede-generic-config) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-extra-config ede-extra-config-build ede-extra-config-program ede-extra-config-c) ((file-header-line :initform ";; EDE Generic Project Configuration")) (:documentation "User Configuration object for a generic project.")] 6) #@57 Create a new object of class type `ede-generic-config'. (defalias 'ede-generic-config #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-config] 4 (#$ . 1181)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-config compiler-macro ede-generic-config--anon-cmacro] 4) (defalias 'ede-generic-config--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]) #@184 Return a Generic Project object if there is a match. Return nil if there isn't one. Argument DIR is the directory it is created for. ROOTPROJ is nil, since there is only one project. (defalias 'ede-generic-load #[(dir &optional rootproj) "\211\204\n\304\305!\210\n\306 \307\"\310\306 \307\"!\311\312\313\n!!\314\315\316\317 !\320\321\306 \322\" \"& *\207" [ede-constructing alobj dir rootdir error "Cannot load generic project without the autoload instance" eieio-oref class-sym symbol-name :name file-name-nondirectory directory-file-name :version "1.0" :directory file-name-as-directory :file expand-file-name proj-file] 14 (#$ . 1716)]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-target-p eieio-make-class-predicate ede-generic-target ede-generic-target--eieio-childp eieio-make-child-predicate ede-generic-target-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-target-with-config ede-target-with-config-build ede-target-with-config-program) ((shortname :initform #1="" :type string :allocation :class :documentation "Something prepended to the target name.") (extension :initform #1# :type string :allocation :class :documentation "Regular expression representing the extension used for this target.\nsubclasses of this base target will override the default value.")) (:documentation "Baseclass for all targets belonging to the generic ede system." :abstract t)] 6) #@62 You cannot create a new object of type `ede-generic-target'. (defalias 'ede-generic-target #[(&rest _) "\300\301!\207" [error "Class ede-generic-target is abstract"] 2 (#$ . 3318)]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-project-p eieio-make-class-predicate ede-generic-project ede-generic-project--eieio-childp eieio-make-child-predicate ede-generic-project-child-p make-obsolete "use (cl-typep ... \\='ede-generic-project) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-project-with-config ede-project-with-config-build ede-project-with-config-program ede-project-with-config-c ede-project-with-config-java) ((config-class :initform ede-generic-config) (config-file-basename :initform "EDEConfig.el") (buildfile :initform "" :type string :allocation :class :documentation "The file name that identifies a project of this type.\nThe class allocated value is replace by different sub classes.")) (:documentation "The baseclass for all generic EDE project types." :abstract t)] 6) #@63 You cannot create a new object of type `ede-generic-project'. (defalias 'ede-generic-project #[(&rest _) "\300\301!\207" [error "Class ede-generic-project is abstract"] 2 (#$ . 4466)]) (byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\314\315\316\317!\"\210\314\320\321\317!\"\210\314\322\320\"\210\323\322\324\325#\210\326\317\327\320#\330\317\331\332\333$\207" [cl-generic-define-method initialize-instance nil ((this ede-generic-project) &rest fields) t #[(#1=#:cl--cnm this &rest fields) " \210\302 \303\"?\205\304 \305\306#\207" [#1# this slot-boundp targets eieio-oset :targets nil] 4 "Make sure the targets slot is bound.\n\n(fn THIS &rest FIELDS)"] ede-project-root ((this ede-generic-project)) #[(this) "\207" [this] 1 "Return my root."] ede-find-subproject-for-directory ((proj ede-generic-project) dir) #[(proj dir) "\207" [proj] 1 "Return PROJ, for handling all subdirs below DIR."] defalias ede-generic-target-c-cpp-p eieio-make-class-predicate ede-generic-target-c-cpp ede-generic-target-c-cpp--eieio-childp eieio-make-child-predicate ede-generic-target-c-cpp-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target-c-cpp) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-target ede-target-with-config-c) ((shortname :initform "C/C++") (extension :initform "\\([ch]\\(pp\\|xx\\|\\+\\+\\)?\\|cc\\|hh\\|CC?\\)")) (:documentation "EDE Generic Project target for C and C++ code.\nAll directories need at least one target.")] 6) #@63 Create a new object of class type `ede-generic-target-c-cpp'. (defalias 'ede-generic-target-c-cpp #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-target-c-cpp] 4 (#$ . 6017)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-target-c-cpp compiler-macro ede-generic-target-c-cpp--anon-cmacro] 4) (defalias 'ede-generic-target-c-cpp--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!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-target-el-p eieio-make-class-predicate ede-generic-target-el ede-generic-target-el--eieio-childp eieio-make-child-predicate ede-generic-target-el-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target-el) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-target) ((shortname :initform "ELisp") (extension :initform "el")) (:documentation "EDE Generic Project target for Emacs Lisp code.\nAll directories need at least one target.")] 6) #@60 Create a new object of class type `ede-generic-target-el'. (defalias 'ede-generic-target-el #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-target-el] 4 (#$ . 7238)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-target-el compiler-macro ede-generic-target-el--anon-cmacro] 4) (defalias 'ede-generic-target-el--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!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-target-fortran-p eieio-make-class-predicate ede-generic-target-fortran ede-generic-target-fortran--eieio-childp eieio-make-child-predicate ede-generic-target-fortran-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target-fortran) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-target) ((shortname :initform "Fortran") (extension :initform "[fF]9[05]\\|[fF]\\|for")) (:documentation "EDE Generic Project target for Fortran code.\nAll directories need at least one target.")] 6) #@65 Create a new object of class type `ede-generic-target-fortran'. (defalias 'ede-generic-target-fortran #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-target-fortran] 4 (#$ . 8485)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-target-fortran compiler-macro ede-generic-target-fortran--anon-cmacro] 4) (defalias 'ede-generic-target-fortran--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!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-target-texi-p eieio-make-class-predicate ede-generic-target-texi ede-generic-target-texi--eieio-childp eieio-make-child-predicate ede-generic-target-texi-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target-texi) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-target) ((shortname :initform "Texinfo") (extension :initform "texi")) (:documentation "EDE Generic Project target for texinfo code.\nAll directories need at least one target.")] 6) #@62 Create a new object of class type `ede-generic-target-texi'. (defalias 'ede-generic-target-texi #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-target-texi] 4 (#$ . 9729)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-target-texi compiler-macro ede-generic-target-texi--anon-cmacro] 4) (defalias 'ede-generic-target-texi--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!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-target-java-p eieio-make-class-predicate ede-generic-target-java ede-generic-target-java--eieio-childp eieio-make-child-predicate ede-generic-target-java-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target-java) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-target ede-target-with-config-java) ((shortname :initform "Java") (extension :initform "java")) (:documentation "EDE Generic Project target for texinfo code.\nAll directories need at least one target.")] 6) #@62 Create a new object of class type `ede-generic-target-java'. (defalias 'ede-generic-target-java #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-target-java] 4 (#$ . 10980)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-target-java compiler-macro ede-generic-target-java--anon-cmacro] 4) (defalias 'ede-generic-target-java--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!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-target-misc-p eieio-make-class-predicate ede-generic-target-misc ede-generic-target-misc--eieio-childp eieio-make-child-predicate ede-generic-target-misc-child-p make-obsolete "use (cl-typep ... \\='ede-generic-target-misc) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-target) ((shortname :initform "Misc") (extension :initform "")) (:documentation "EDE Generic Project target for Misc files.\nAll directories need at least one target.")] 6) #@62 Create a new object of class type `ede-generic-target-misc'. (defalias 'ede-generic-target-misc #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-target-misc] 4 (#$ . 12198)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-target-misc compiler-macro ede-generic-target-misc--anon-cmacro] 4) (defalias 'ede-generic-target-misc--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]) #@69 Find a target that is a CLASS and is in DIR in the list of TARGETS. (defalias 'ede-generic-find-matching-target #[(class dir targets) "\306 \306\211\203& @\307\n\f\"\203\310\n\311\" \230\203\n A\211\204\n*)\207" [match targets T --dolist-tail-- class dir nil object-of-class-p eieio-oref path] 4 (#$ . 12763)]) (cl-generic-define-method 'ede-find-target nil '((proj ede-generic-project) buffer) nil #[(proj buffer) "\306\307!!\310\311\312\"\313\314\f\305\"\313 \203Y\n\313 \211!\203X!@ \315 @!\"\316\"\317\"\211#\320\230\204N\321\322#\323Q \"\203N\"*!A\211!\204'* \204_\324\325  #\211\204\202\326 \327\316 \330\"\331\332\313&\333\f\334#\210.\207" [buffer ext classes cls proj targets file-name-extension buffer-file-name eieio-build-class-alist ede-generic-target t nil eieio-oref intern eieio-oref-default extension "" string-match "\\`\\(?:" "\\)\\'" ede-generic-target-misc ede-generic-find-matching-target make-instance :name shortname :path :source object-add-to-list :targets default-directory dir ans C --dolist-tail-- classsym extreg] 9 "Find an EDE target in PROJ for BUFFER.\nIf one doesn't exist, create a new one for this directory."]) #@438 Add a new EDE Autoload instance for identifying a generic project. INTERNAL-NAME is obsolete and ignored. EXTERNAL-NAME is a human readable name to describe the project; it must be unique among all autoloaded projects. PROJECTFILE is a file name that identifies a project of this type to EDE, such as a Makefile, or SConstruct file. CLASS is the EIEIO class that is used to track this project. It should subclass `ede-generic-project'. (defalias 'ede-generic-new-autoloader #[(_internal-name external-name projectfile class) "\303\304\305\306\307\310 \311\312\313\314\315\n\316\312\317\320&\321\"\207" [external-name projectfile class ede-add-project-autoload ede-project-autoload :name :file ede/generic :proj-file :root-only nil :load-type ede-generic-load :class-sym :new-p :safe-p t generic] 18 (#$ . 13977)]) #@33 Enable generic project loaders. (defalias 'ede-enable-generic-projects #[nil "\300\301\302\303\304$\210\300\305\306\307\310$\210\300\311\312\313\314$\210\300\315\316\317\320$\210\300\321\322\323\320$\210\300\324\325\326\320$\210\300\327\330\331\320$\210\300\332\333\334\320$\210\300\335\336\337\320$\210\300\340\341\342\320$\207" [ede-generic-new-autoloader "generic-makefile" "Generic Make" "Makefile" ede-generic-makefile-project "generic-scons" "Generic SCons" "SConstruct" ede-generic-scons-project "generic-cmake" "Generic CMake" "CMakeLists" ede-generic-cmake-project "generic-git" "Generic Git" ".git" ede-generic-vc-project "generic-bzr" "Generic Bazaar" ".bzr" "generic-hg" "Generic Mercurial" ".hg" "generic-svn" "Generic Subversions" ".svn" "generic-cvs" "Generic CVS" "CVS" "generic-mtn" "Generic Monotone" "_MTN" "generic-projectile" "Generic .projectile" ".projectile"] 5 (#$ . 14800) nil]) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias ede-generic-makefile-project-p eieio-make-class-predicate ede-generic-makefile-project ede-generic-makefile-project--eieio-childp eieio-make-child-predicate ede-generic-makefile-project-child-p make-obsolete "use (cl-typep ... \\='ede-generic-makefile-project) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-project) ((buildfile :initform "Makefile")) (:documentation "Generic Project for makefiles.")] 6) #@67 Create a new object of class type `ede-generic-makefile-project'. (defalias 'ede-generic-makefile-project #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-makefile-project] 4 (#$ . 16314)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-makefile-project compiler-macro ede-generic-makefile-project--anon-cmacro] 4) (defalias 'ede-generic-makefile-project--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\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [cl-generic-define-method ede-generic-setup-configuration nil ((proj ede-generic-makefile-project) config) #[(proj config) "\301\302\303#\210\301\304\305#\207" [config eieio-oset build-command "make -k" debug-command "gdb "] 4 "Setup a configuration for Make."] defalias ede-generic-scons-project-p eieio-make-class-predicate ede-generic-scons-project ede-generic-scons-project--eieio-childp eieio-make-child-predicate ede-generic-scons-project-child-p make-obsolete "use (cl-typep ... \\='ede-generic-scons-project) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-project) ((buildfile :initform "SConstruct")) (:documentation "Generic Project for scons.")] 6) #@64 Create a new object of class type `ede-generic-scons-project'. (defalias 'ede-generic-scons-project #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-scons-project] 4 (#$ . 17787)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-scons-project compiler-macro ede-generic-scons-project--anon-cmacro] 4) (defalias 'ede-generic-scons-project--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\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\323\324$\207" [cl-generic-define-method ede-generic-setup-configuration nil ((proj ede-generic-scons-project) config) #[(proj config) "\301\302\303#\210\301\304\305#\207" [config eieio-oset build-command "scons" debug-command "gdb "] 4 "Setup a configuration for SCONS."] defalias ede-generic-cmake-project-p eieio-make-class-predicate ede-generic-cmake-project ede-generic-cmake-project--eieio-childp eieio-make-child-predicate ede-generic-cmake-project-child-p make-obsolete "use (cl-typep ... \\='ede-generic-cmake-project) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-project) ((buildfile :initform "CMakeLists")) (:documentation "Generic Project for cmake.")] 6) #@64 Create a new object of class type `ede-generic-cmake-project'. (defalias 'ede-generic-cmake-project #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-cmake-project] 4 (#$ . 19238)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-cmake-project compiler-macro ede-generic-cmake-project--anon-cmacro] 4) (defalias 'ede-generic-cmake-project--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\305\306\307\310!\"\210\305\311\312\310!\"\210\305\313\311\"\210\314\313\315\316#\210\317\310\320\311#\321\310\322\302\323$\207" [cl-generic-define-method ede-generic-setup-configuration nil ((proj ede-generic-cmake-project) config) #[(proj config) "\301\302\303#\210\301\304\305#\207" [config eieio-oset build-command "cmake" debug-command "gdb "] 4 "Setup a configuration for CMake."] defalias ede-generic-vc-project-p eieio-make-class-predicate ede-generic-vc-project ede-generic-vc-project--eieio-childp eieio-make-child-predicate ede-generic-vc-project-child-p make-obsolete "use (cl-typep ... \\='ede-generic-vc-project) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-generic-project) (:documentation "Generic project found via Version Control files.")] 6) #@61 Create a new object of class type `ede-generic-vc-project'. (defalias 'ede-generic-vc-project #[(&rest slots) "\301\302\303#\207" [slots apply make-instance ede-generic-vc-project] 4 (#$ . 20659)]) (byte-code "\300\301\302\303#\300\207" [function-put ede-generic-vc-project compiler-macro ede-generic-vc-project--anon-cmacro] 4) (defalias 'ede-generic-vc-project--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\305\306!\207" [cl-generic-define-method ede-generic-setup-configuration nil ((proj ede-generic-vc-project) config) #[(proj config) "\300\207" ["Setup a configuration for projects identified by revision control."] 1] provide ede/generic] 6)