;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\301\311\312&\207" [require ede custom-declare-variable ede-locate-setup-options funcall function #[0 "\300\207" [(ede-locate-base)] 1 ""] "List of locate objects to try out by default.\nListed in order of preference.  If the first item cannot be used in\na particular project, then the next one is tried.\nIt is always assumed that `ede-locate-base' is at end of the list." :group :type (repeat (choice (const :tag "None" ede-locate-base) (const :tag "locate" ede-locate-locate) (const :tag "GNU Global" ede-locate-global) (const :tag "ID Utils" ede-locate-idutils) (const :tag "CScope" ede-locate-cscope)))] 8)#@154 Enable an EDE locate feature on PROJECT.
Attempt to guess which project locate style to use
based on `ede-locate-setup-options'.

(fn &optional PROJECT)
(defalias 'ede-enable-locate-on-project #[256 "\211\206 \301 \302!\303\2036 \211\2046 \304@\"\203/ \305\306!\203+ \307\310\311@\"!\203/ @\262A\262\202 \211\204G \305\312!\203D \313\314!\210\315\262\316\317\320\321\322	$#\210\305\312!\205] \313\323\"\207" [ede-locate-setup-options ede-toplevel ede-project-root-directory nil ede-locate-ok-in-project called-interactively-p any y-or-n-p format "Set project locator to %s? " interactive message "Setting locator to ede-locate-base" ede-locate-base eieio-oset locate-obj make-instance "Loc" :root "Setting locator to %s"] 13 (#$ . 753) 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-locate-base-p eieio-make-class-predicate ede-locate-base ede-locate-base--eieio-childp eieio-make-child-predicate ede-locate-base-child-p make-obsolete "use (cl-typep ... 'ede-locate-base) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((root :initarg :root :documentation "The root of these locate searches.") (file :documentation "The last file searched for with EDE locate.") (lastanswer :documentation "The last answer provided by the locator.") (hash :documentation "Hash table of previously found files.")) (:documentation "Baseclass for LOCATE feature in EDE.")] 6)#@72 Create a new object of class type `ede-locate-base'.

(fn &rest SLOTS)
(defalias 'ede-locate-base #[128 "\300\301\302#\207" [apply make-instance ede-locate-base] 5 (#$ . 2282)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-locate-base compiler-macro ede-locate-base--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'ede-locate-base--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 2583)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\300\317\302\320\302\321%\210\300\322\302\323\302\324%\210\300\325\302\326\302\327%\210\300\330\302\331\302\332%\210\333\334\335\336!\"\210\333\337\340\336!\"\210\333\341\337\"\210\342\341\343\344#\210\345\336\346\337#\347\336\350\302\351$\207" [cl-generic-define-method initialize-instance nil ((loc ede-locate-base) &rest _fields) curried #[257 "\300!\210\301\302\303\"\207" [cl--generic-isnot-nnm-p nil make-closure #[128 "\301\302\300#\303\304#\207" [V0 make-closure #[128 "\302\301\206 \300\"\207" [V0 V1 apply] 4 "\n\n(fn &rest ARGS)"] apply #[642 " \210\300!\207" [ede-locate-flush-hash] 5 "\n\n(fn CL--CNM LOC &rest FIELDS)"]] 6 "Make sure we have a hash table.\n\n(fn LOC &rest FIELDS)"]] 5 "\n\n(fn CL--NM)"] ede-locate-ok-in-project ((_loc (subclass ede-locate-base)) _root) #[514 "\300\207" [t] 3 "Is it ok to use this project type under ROOT.\n\n(fn LOC ROOT)"] ede-locate-flush-hash ((loc ede-locate-base)) #[257 "\300\301\302\303\304\"#\207" [eieio-oset hash make-hash-table :test equal] 7 "For LOC, flush hash table and start from scratch.\n\n(fn LOC)"] ede-locate-file-in-hash ((loc ede-locate-base) filestring) #[514 "\300\301\302\"\"\207" [gethash eieio-oref hash] 7 "For LOC, is the file FILESTRING in our hash table?\n\n(fn LOC FILESTRING)"] ede-locate-add-file-to-hash ((loc ede-locate-base) filestring fullfilename) #[771 "\300\301\302\"#\207" [puthash eieio-oref hash] 9 "For LOC, add FILESTR to the hash with FULLFILENAME.\n\n(fn LOC FILESTRING FULLFILENAME)"] ede-locate-file-in-project ((loc ede-locate-base) filesubstring) #[514 "\300\"\301\302#\210\301\303#\210\207" [ede-locate-file-in-project-impl eieio-oset file lastanswer] 7 "Locate with LOC occurrences of FILESUBSTRING.\nSearches are done under the current root of the EDE project\nthat created this EDE locate object.\n\n(fn LOC FILESUBSTRING)"] ede-locate-file-in-project-impl ((_loc ede-locate-base) _filesubstring) #[514 "\300\207" [nil] 3 "Locate with LOC occurrences of FILESUBSTRING.\nSearches are done under the current root of the EDE project\nthat created this EDE locate object.\n\n(fn LOC FILESUBSTRING)"] ede-locate-create/update-root-database ((loc (subclass ede-locate-base)) _root) #[514 "\300\301\302!\"\207" [error "Cannot create/update a database of type %S" eieio-object-name] 6 "Create or update the database for the current project.\nYou cannot create projects for the baseclass.\n\n(fn LOC ROOT)"] defalias ede-locate-locate-p eieio-make-class-predicate ede-locate-locate ede-locate-locate--eieio-childp eieio-make-child-predicate ede-locate-locate-child-p make-obsolete "use (cl-typep ... 'ede-locate-locate) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-locate-base) (:documentation "EDE Locator using the locate command.\nConfigure the Emacs `locate-command' variable to also\nconfigure the use of EDE locate.")] 6)#@74 Create a new object of class type `ede-locate-locate'.

(fn &rest SLOTS)
(defalias 'ede-locate-locate #[128 "\300\301\302#\207" [apply make-instance ede-locate-locate] 5 (#$ . 5846)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-locate-locate compiler-macro ede-locate-locate--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'ede-locate-locate--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 6157)])
(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\302\326$\207" [cl-generic-define-method ede-locate-ok-in-project nil ((_loc (subclass ede-locate-locate)) _root) #[514 "\300\301!\206	 \302\303!\207" [featurep locate locate-library "locate"] 4 "Is it ok to use this project type under ROOT.\n\n(fn LOC ROOT)"] ede-locate-file-in-project-impl ((loc ede-locate-locate) filesubstring) #[514 "\302\303\304\"!\305Q\306\307!rq\210\211\310 )\210\311	\312\312%\210rq\210\313\314 \315\316#)\207" [default-directory locate-command directory-file-name eieio-oref root "*/" get-buffer-create "*LOCATE*" erase-buffer call-process nil split-string buffer-string "\n" t] 11 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.\nSearches are done under the current root of the EDE project\nthat created this EDE locate object.\n\n(fn LOC FILESUBSTRING)"] defalias ede-locate-global-p eieio-make-class-predicate ede-locate-global ede-locate-global--eieio-childp eieio-make-child-predicate ede-locate-global-child-p make-obsolete "use (cl-typep ... 'ede-locate-global) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-locate-base) (:documentation "EDE Locator using GNU Global.\nConfigure EDE's use of GNU Global through the cedet-global.el\nvariable `cedet-global-command'.")] 6)#@74 Create a new object of class type `ede-locate-global'.

(fn &rest SLOTS)
(defalias 'ede-locate-global #[128 "\300\301\302#\207" [apply make-instance ede-locate-global] 5 (#$ . 7859)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-locate-global compiler-macro ede-locate-global--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'ede-locate-global--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 8170)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\317\320\321\322!\"\210\317\323\324\322!\"\210\317\325\323\"\210\326\325\327\330#\210\331\322\332\323#\333\322\334\302\335$\207" [cl-generic-define-method initialize-instance nil ((loc ede-locate-global) &rest _slots) curried #[257 "\300!\210\301\302\303\"\207" [cl--generic-isnot-nnm-p nil make-closure #[128 "\301\302\300#\303\304#\207" [V0 make-closure #[128 "\302\301\206 \300\"\207" [V0 V1 apply] 4 "\n\n(fn &rest ARGS)"] apply #[642 "\301\302!\210 \210\303 \210\304\305\"\306 \211?\205 \307\310\304\305\"\")\207" [default-directory require cedet-global cedet-gnu-global-version-check eieio-oref root cedet-gnu-global-root error "No GNU Global project found for %s"] 9 "\n\n(fn CL--CNM LOC &rest SLOTS)"]] 6 "Make sure that we can use GNU Global.\n\n(fn LOC &rest SLOTS)"]] 5 "\n\n(fn CL--NM)"] ede-locate-ok-in-project ((_loc (subclass ede-locate-global)) root) #[514 "\301\302!\210\303 \210\211\304 )\207" [default-directory require cedet-global cedet-gnu-global-version-check cedet-gnu-global-root] 4 "Is it ok to use this project type under ROOT.\n\n(fn LOC ROOT)"] ede-locate-file-in-project-impl ((loc ede-locate-global) filesubstring) #[514 "\301\302!\210\303\304\"\305!)\207" [default-directory require cedet-global eieio-oref root cedet-gnu-global-expand-filename] 5 "Locate occurrences of FILESUBSTRING in LOC, using GNU Global.\n\n(fn LOC FILESUBSTRING)"] ede-locate-create/update-root-database ((_loc (subclass ede-locate-global)) root) #[514 "\300!\207" [cedet-gnu-global-create/update-database] 4 "Create or update the GNU Global database for the current project.\n\n(fn LOC ROOT)"] defalias ede-locate-idutils-p eieio-make-class-predicate ede-locate-idutils ede-locate-idutils--eieio-childp eieio-make-child-predicate ede-locate-idutils-child-p make-obsolete "use (cl-typep ... 'ede-locate-idutils) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-locate-base) (:documentation "EDE Locator using IDUtils.\nConfigure EDE's use of IDUtils through the cedet-idutils.el\nfile name searching variable `cedet-idutils-file-command'.")] 6)#@75 Create a new object of class type `ede-locate-idutils'.

(fn &rest SLOTS)
(defalias 'ede-locate-idutils #[128 "\300\301\302#\207" [apply make-instance ede-locate-idutils] 5 (#$ . 10650)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-locate-idutils compiler-macro ede-locate-idutils--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'ede-locate-idutils--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 10967)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\317\320\321\322!\"\210\317\323\324\322!\"\210\317\325\323\"\210\326\325\327\330#\210\331\322\332\323#\333\322\334\302\335$\207" [cl-generic-define-method initialize-instance nil ((loc ede-locate-idutils) &rest _slots) curried #[257 "\300!\210\301\302\303\"\207" [cl--generic-isnot-nnm-p nil make-closure #[128 "\301\302\300#\303\304#\207" [V0 make-closure #[128 "\302\301\206 \300\"\207" [V0 V1 apply] 4 "\n\n(fn &rest ARGS)"] apply #[642 " \210\300\301!\210\302 \210\303\304\305\"!?\205 \306\307\304\305\"\"\207" [require cedet-idutils cedet-idutils-version-check cedet-idutils-support-for-directory eieio-oref root error "Cannot use IDUtils in %s"] 8 "\n\n(fn CL--CNM LOC &rest SLOTS)"]] 6 "Make sure that we can use IDUtils.\n\n(fn LOC &rest SLOTS)"]] 5 "\n\n(fn CL--NM)"] ede-locate-ok-in-project ((_loc (subclass ede-locate-idutils)) root) #[514 "\300\301!\210\302 \210\303!\205 \211\207" [require cedet-idutils cedet-idutils-version-check cedet-idutils-support-for-directory] 4 "Is it ok to use this project type under ROOT.\n\n(fn LOC ROOT)"] ede-locate-file-in-project-impl ((loc ede-locate-idutils) filesubstring) #[514 "\301\302!\210\303\304\"\305!)\207" [default-directory require cedet-idutils eieio-oref root cedet-idutils-expand-filename] 5 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.\nSearches are done under the current root of the EDE project\nthat created this EDE locate object.\n\n(fn LOC FILESUBSTRING)"] ede-locate-create/update-root-database ((_loc (subclass ede-locate-idutils)) root) #[514 "\300!\207" [cedet-idutils-create/update-database] 4 "Create or update the GNU Global database for the current project.\n\n(fn LOC ROOT)"] defalias ede-locate-cscope-p eieio-make-class-predicate ede-locate-cscope ede-locate-cscope--eieio-childp eieio-make-child-predicate ede-locate-cscope-child-p make-obsolete "use (cl-typep ... 'ede-locate-cscope) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (ede-locate-base) (:documentation "EDE Locator using Cscope.\nConfigure EDE's use of Cscope through the cedet-cscope.el\nfile name searching variable `cedet-cscope-command'.")] 6)#@74 Create a new object of class type `ede-locate-cscope'.

(fn &rest SLOTS)
(defalias 'ede-locate-cscope #[128 "\300\301\302#\207" [apply make-instance ede-locate-cscope] 5 (#$ . 13509)])
(byte-code "\300\301\302\303#\300\207" [function-put ede-locate-cscope compiler-macro ede-locate-cscope--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'ede-locate-cscope--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 13821)])
(byte-code "\300\301\302\303\304\305%\210\300\306\302\307\302\310%\210\300\311\302\312\302\313%\210\300\314\302\315\302\316%\210\317\320!\207" [cl-generic-define-method initialize-instance nil ((loc ede-locate-cscope) &rest _slots) curried #[257 "\300!\210\301\302\303\"\207" [cl--generic-isnot-nnm-p nil make-closure #[128 "\301\302\300#\303\304#\207" [V0 make-closure #[128 "\302\301\206 \300\"\207" [V0 V1 apply] 4 "\n\n(fn &rest ARGS)"] apply #[642 " \210\300\301!\210\302 \210\303\304\305\"!?\205 \306\307\304\305\"\"\207" [require cedet-cscope cedet-cscope-version-check cedet-cscope-support-for-directory eieio-oref root error "Cannot use Cscope in %s"] 8 "\n\n(fn CL--CNM LOC &rest SLOTS)"]] 6 "Make sure that we can use Cscope.\n\n(fn LOC &rest SLOTS)"]] 5 "\n\n(fn CL--NM)"] ede-locate-ok-in-project ((_loc (subclass ede-locate-cscope)) root) #[514 "\300\301!\210\302 \210\303!\205 \211\207" [require cedet-cscope cedet-cscope-version-check cedet-cscope-support-for-directory] 4 "Is it ok to use this project type under ROOT.\n\n(fn LOC ROOT)"] ede-locate-file-in-project-impl ((loc ede-locate-cscope) filesubstring) #[514 "\301\302\"\303\304!\210\305!)\207" [default-directory eieio-oref root require cedet-cscope cedet-cscope-expand-filename] 5 "Locate with LOC occurrences of FILESUBSTRING under PROJECTROOT.\nSearches are done under the current root of the EDE project\nthat created this EDE locate object.\n\n(fn LOC FILESUBSTRING)"] ede-locate-create/update-root-database ((_loc (subclass ede-locate-cscope)) root) #[514 "\300\301!\210\302!\207" [require cedet-cscope cedet-cscope-create/update-database] 4 "Create or update the Cscope database for the current project.\n\n(fn LOC ROOT)"] provide ede/locate] 6)
