%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/ede/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/cedet/ede/files.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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'ede)
#@51 Set to t to simulate systems w/out inode support.
(defvar ede--disable-inode nil (#$ . 423))
#@159 Find FILE in project.  FILE can be specified without a directory.
There is no completion at the prompt.  FILE is searched for within
the current EDE project.
(defalias 'ede-find-file #[(file) "\303 \304	\"\211\204\305\306	\307!#\210\310\n!*\207" [proj file fname ede-current-project ede-expand-filename error "Could not find %s in %s" ede-project-root-directory find-file] 6 (#$ . 523) "sFile: "])
#@53 Flush the file locate hash for the current project.
(defalias 'ede-flush-project-hash #[nil "\301\302!\210\303\304 !\211\205\305!)\207" [loc require ede/locate ede-get-locator-object ede-current-project ede-locate-flush-hash] 3 (#$ . 933) nil])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\207" [cl-generic-define-method ede-project-root nil ((this ede-project-placeholder)) #[(this) "\301\302\"\207" [this eieio-oref rootproject] 3 "If a project knows its root, return it here.\nAllows for one-project-object-for-a-tree type systems."] ede-project-root-directory ((this ede-project-placeholder) &optional file) #[(this &optional file) "\302!\206\303\304\305\306\"!!)\207" [this root ede-project-root file-name-directory expand-file-name eieio-oref file] 5 "If a project knows its root, return it here.\nAllows for one-project-object-for-a-tree type systems.\nOptional FILE is the file to test.  It is ignored in preference\nof the anchor file for the project."]] 6)
#@39 A hash of directory names and inodes.
(defvar ede-inode-directory-hash (make-hash-table :test 'equal) (#$ . 1939))
#@56 Add to the EDE project hash DIR associated with INODE.
(defalias 'ede--put-inode-dir-hash #[(dir inode) "\303\304!\205
\304	\n#\210	\207" [dir inode ede-inode-directory-hash fboundp puthash] 4 (#$ . 2060)])
#@53 Get the EDE project hash DIR associated with INODE.
(defalias 'ede--get-inode-dir-hash #[(dir) "\302\303!\205\n\303	\"\207" [dir ede-inode-directory-hash fboundp gethash] 3 (#$ . 2275)])
#@41 Return the inode for the directory DIR.
(defalias 'ede--inode-for-dir #[(dir) "\304\305!!\211\206#\n\203\306\307\"\202#\310!\306\3118\262\"))\207" [dir hashnode ede--disable-inode fattr ede--get-inode-dir-hash expand-file-name ede--put-inode-dir-hash 0 file-attributes 10] 6 (#$ . 2470)])
(cl-generic-define-method 'ede--project-inode nil '((proj ede-project-placeholder)) nil #[(proj) "\301\302\"\203\f\303\302\"\207\304\302\305\303\306\"!#\207" [proj slot-boundp dirinode eieio-oref eieio-oset ede--inode-for-dir directory] 7 "Get the inode of the directory project PROJ is in."])
#@93 Return an already open toplevel project that is managing INODE.
Does not check subprojects.
(defalias 'ede--inode-get-toplevel-open-project #[(inode) "\247\203\304U\203:\2051	\305\211\203/\n\204/\306@!\232\203(@A\211\204\n*\207" [inode ede-projects found all 0 nil ede--project-inode] 4 (#$ . 3077)])
#@170 Return an already open project that is managing DIR.
Optional ROOTRETURN specifies a symbol to set to the root project.
If DIR is the root project, then it is the same.
(defalias 'ede-directory-get-open-project #[(dir &optional rootreturn) "\306!\307\310!!\311	!\312
\204\204\313\n!\203(L\210\203J
\203<\n\310\314\315\"!\230?\202B	\316!\232?\203J\317\n\"\f,\207" [dir inode ft proj ans ede--disable-inode ede--inode-for-dir file-name-as-directory expand-file-name ede--inode-get-toplevel-open-project nil ede-directory-get-toplevel-open-project eieio-oref directory ede--project-inode ede-find-subproject-for-directory rootreturn] 5 (#$ . 3406)])
#@128 Return an already open toplevel project that is managing DIR.
If optional EXACT is non-nil, only return exact matches for DIR.
(defalias 'ede-directory-get-toplevel-open-project #[(dir &optional exact) "\306\307!!	\310\211\f\203\277\204\277\307\311\f@\312\"!\211
\230\203)\f@\202\267\204V\313\314\315!P
\"\203V\n\204D\f@\202\267\311\n\312\"GGW\203\267\f@\202\267\204~\316\f@!\317!\320\321\"?\205t\232*\203~\f@\202\267\204\267\322
!\322!\313\314\315!P\"*\203\267\n\204\246\f@\202\267\307\311\n\312\"!GGW\203\267\f@)\fA\211\204\206\304\n,\207" [dir ede-projects shortans ans all ft file-name-as-directory expand-file-name nil eieio-oref directory string-match "^" regexp-quote ede--project-inode ede--inode-for-dir eql 0 file-truename pd exact ede--disable-inode inode pin ptd ftn] 5 (#$ . 4089)])
(cl-generic-define-method 'ede-find-subproject-for-directory nil '((proj ede-project-placeholder) dir) nil #[(proj dir) "\203\306\307	!\310\f\311\"\210*\207\306\312	!\310\f\313\"\210*\207" [ede--disable-inode dir fulldir ans proj inode nil file-truename ede-map-subprojects #[(SP) "?\205	\304\305\n\306\"!\230\203\n\211\207\307\n\"\207" [ans fulldir SP dir file-truename eieio-oref directory ede-find-subproject-for-directory] 5] ede--inode-for-dir #[(SP) "?\205\304	!\n\232\203	\211\207\305	\"\211\207" [ans SP inode dir ede--project-inode ede-find-subproject-for-directory] 3]] 3 "Find a subproject of PROJ that corresponds to DIR."])
#@55 A hash of directory names and associated EDE objects.
(defvar ede-project-directory-hash (make-hash-table :test 'equal) (#$ . 5623))
#@137 Flush the project directory hash.
Do this only when developing new projects that are incorrectly putting
'nomatch tokens into the hash.
(defalias 'ede-flush-directory-hash #[nil "\303\304\305\"\306	!\211\205\307\n!)\207" [ede-project-directory-hash ede-object loc make-hash-table :test equal ede-get-locator-object ede-locate-flush-hash] 4 (#$ . 5763) nil])
#@100 Reset the directory hash for DIR.
Do this whenever a new project is created, as opposed to loaded.
(defalias 'ede-project-directory-remove-hash #[(dir) "\303!\304\305!\205\305\306!	\"\210\307\310!P\311\312	\")\207" [dir ede-project-directory-hash match expand-file-name fboundp remhash file-name-as-directory "^" regexp-quote maphash #[(K O) "\303	\"\205\304	\n\"\207" [match K ede-project-directory-hash string-match remhash] 3]] 3 (#$ . 6132)])
#@73 If there is an already loaded project for DIR, return it from the hash.
(defalias 'ede--directory-project-from-hash #[(dir) "\302\303!\205\304!\303	\305#\207" [dir ede-project-directory-hash fboundp gethash expand-file-name nil] 4 (#$ . 6595)])
#@55 Add to the EDE project hash DIR associated with DESC.
(defalias 'ede--directory-project-add-description-to-hash #[(dir desc) "\303\304!\205\305!\304	\n#\210	\207" [dir desc ede-project-directory-hash fboundp puthash expand-file-name] 4 (#$ . 6851)])
#@394 Return a project description object if DIR is in a project.
Optional argument FORCE means to ignore a hash-hit of `nomatch'.
This depends on an up to date `ede-project-class-files' variable.
Any directory that contains the file .ede-ignore will always
return nil.

Consider using `ede-directory-project-cons' instead if the next
question you want to ask is where the root of found project is.
(defalias 'ede-directory-project-p #[(dir &optional force) "\303	\"\211A)\207" [dir force detect ede-directory-project-cons] 4 (#$ . 7113)])
#@158 Return a project CONS (ROOTDIR . AUTOLOAD) for DIR.
If there is no project in DIR, return nil.
Optional FORCE means to ignore the hash of known directories.
(defalias 'ede-directory-project-cons #[(dir &optional force) "\306\307\310\"!?\205L\307!\311	!\211\312=\203 \204 \313\202K\n\203.\n\312=\204.\n\202K\314	!\211A\211\203@\315\316
\317\"!\210\320	\f\206G\312\"\210\f**\207" [dir dirtest match force detect autoloader file-exists-p expand-file-name ".ede-ignore" ede--directory-project-from-hash nomatch nil ede-detect-directory-for-project require eieio-oref file ede--directory-project-add-description-to-hash] 5 (#$ . 7656)])
#@102 Starting with DIR, find the toplevel project directory.
If DIR is not part of a project, return nil.
(defalias 'ede-toplevel-project #[(dir) "\304	\n\230\203\203\305\306\"\2020\307	!\211\203\"\305\306\"\2020\310	!\211\203/@\2020\304)\207" [ans dir default-directory ede-object-root-project nil eieio-oref directory ede-directory-get-toplevel-open-project ede-detect-directory-for-project] 3 (#$ . 8311)])
(byte-code "\300\301\302\"\210\303\304\305\306\305\307%\210\303\304\305\310\305\311%\207" [defalias ede-toplevel-project-or-nil ede-toplevel-project cl-generic-define-method ede-convert-path nil ((this ede-project) path) #[(this path) "\306!\307	!\310\311!\n\"\203\312\n\313\225\"\2027\314!\314\n!\310\311
!\f\"\2032\312\f\313\225\"\2026\315\316\n\"**\207" [this path fp pp fptf pptf ede-project-root-directory expand-file-name string-match regexp-quote substring 0 file-truename error "Cannot convert relativize path %s"] 3 "Convert path in a standard way for a given project.\nDefault to making it project relative.\nArgument THIS is the project to convert PATH to."] ((this ede-target) path &optional project) #[(this path &optional project) "\206\306	!\211\2032\307\n\"\310	\303\"\206\311\312\313\314\f!P
\"\203-\315
\fG\"\202.
*\2026\316\317	\")\207" [project this proj path lp p ede-target-parent ede-convert-path eieio-oref "" string-match "^" regexp-quote substring error "Parentless target %s"] 5 "Convert path in a standard way for a given project.\nDefault to making it project relative.\nArgument THIS is the project to convert PATH to.\nOptional PROJECT is the project that THIS belongs to.  Associating\na target to a project is expensive, so using this can speed things up."]] 6)
#@111 Get the locator object for project PROJ.
Get it from the toplevel project.  If it doesn't have one, make one.
(defalias 'ede-get-locator-object #[(proj) "\302!\211\205\303	\304\"\204\305	!\210\306	\304\")\207" [proj top ede-toplevel slot-boundp locate-obj ede-enable-locate-on-project eieio-oref] 4 (#$ . 10059)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\300\313\302\314\302\315%\210\300\301\302\316\302\317%\207" [cl-generic-define-method ede-expand-filename nil ((this ede-project) filename &optional force) #[(this filename &optional force) "\306\307!\210\310!\311	\n\"\312\203\313=\204\202L\313=\203*
\314=\203L\315\n\"\211\203A\316	\n#\210\202K
\204K\316	\n\313#\210)
\203`\f\204`\317!\320\n\")\f+\207" [this loc filename ha ans force require ede/locate ede-get-locator-object ede-locate-file-in-hash nil nomatch newfile ede-expand-filename-impl ede-locate-add-file-to-hash ede-project-root-directory expand-file-name calc dir] 5 "Return a fully qualified file name based on project THIS.\nFILENAME should be just a filename which occurs in a directory controlled\nby this project.\nOptional argument FORCE forces the default filename to be provided even if it\ndoesn't exist.\nIf FORCE equals `newfile', then the cache is ignored and a new file in THIS\nis returned."] ede-expand-filename-impl ((this ede-project) filename &optional force) #[(this filename &optional force) "\306!\307!\310\311\"\312\313
\"\206\314
\"\211\204)\315\316!\210\317\f
\"@	,\207" [this found proj path loc filename ede-get-locator-object ede-project-root-directory eieio-oref subproj nil ede-expand-filename-local ede-expand-filename-impl-via-subproj require ede/locate ede-locate-file-in-project] 6 "Return a fully qualified file name based on project THIS.\nFILENAME should be just a filename which occurs in a directory controlled\nby this project.\nOptional argument FORCE forces the default filename to be provided even if it\ndoesn't exist."] ede-expand-filename-local ((this ede-project) filename) #[(this filename) "\303!\304\305\n	\"!\203\305\n	\"\202%\304\305\306\nP	\"!\205%\305\306\nP	\")\207" [this path filename ede-project-root-directory file-exists-p expand-file-name "include/"] 4 "Expand filename locally to project THIS with filesystem tests."] ede-expand-filename-impl-via-subproj ((this ede-project) filename) #[(this filename) "\305!C\306	\204(\n\203(\n@\307\nA\310\311\"\"\205#\312\f\")\202	*\207" [this found proj thisproj filename ede-toplevel nil append eieio-oref subproj ede-expand-filename-local] 5 "Return a fully qualified file name based on project THIS.\nFILENAME should be just a filename which occurs in a directory controlled\nby this project."] ((this ede-target) filename &optional force) #[(this filename &optional force) "\303\304!	\n#\207" [this filename force ede-expand-filename ede-target-parent] 4 "Return a fully qualified file name based on target THIS.\nFILENAME should be a filename which occurs in a directory in which THIS works.\nOptional argument FORCE forces the default filename to be provided even if it\ndoesn't exist."]] 6)
#@87 Return a dir that is up one directory.
Argument DIR is the directory to trim upwards.
(defalias 'ede-up-directory #[(dir) "\303!\304	!\n\230?\205\n*\207" [dir fad fnd directory-file-name file-name-directory] 2 (#$ . 13265)])
(provide 'ede/files)

Zerion Mini Shell 1.0