MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.188.149.185
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/cedet/ede/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/cedet/ede/files.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:04 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/ede/files.el
;;; in Emacs version 24.3.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.

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


(require 'ede)
#@53 Set to 't' to simulate systems w/out inode support.
(defvar ede--disable-inode nil (#$ . 573))
#@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) "\302\303 \"\211\204\304\305\306\303 !#\210\307	!)\207" [file fname ede-expand-filename ede-current-project error "Could not find %s in %s" ede-project-root-directory find-file] 6 (#$ . 675) "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 (#$ . 1081) nil])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\313\302\313\314\"\"\210\304\313\305\306\315$\210\300\316\302\316\317\"\"\210\304\316\305\306\320$\207" [eieio--defalias ede-project-root eieio--defgeneric-init-form #1="If a project knows its root, return it here.\nAllows for one-project-object-for-a-tree type systems." eieio--defmethod nil ede-project-placeholder #[(this) "\301\302\"\207" [this eieio-oref rootproject] 3 #1#] ede-project-root-directory #2="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." #[(this &optional file) "\301\302\303\304\"!!\207" [this file-name-directory expand-file-name eieio-oref file] 5 #2#] ede--project-inode #3="Get the inode of the directory project PROJ is in." #[(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 #3#] ede-find-subproject-for-directory #4="Find a subproject of PROJ that corresponds to DIR." #[(proj dir) "\203\305\306\n\307\"\210	)\207\305\310!\306\n\311\"\210	*\207" [ede--disable-inode ans proj dir inode nil ede-map-subprojects #[(SP) "?\205\303	!\304\n\305\"\230\203\n\211\207\306\n	\"\207" [ans dir SP file-truename eieio-oref :directory ede-find-subproject-for-directory] 4] 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 #4#]] 5)
#@39 A hash of directory names and inodes.
(defvar ede-inode-directory-hash (make-hash-table :test 'equal) (#$ . 2993))
#@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 (#$ . 3114)])
#@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 (#$ . 3329)])
#@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\"))\207" [dir hashnode ede--disable-inode fattr ede--get-inode-dir-hash expand-file-name ede--put-inode-dir-hash 0 file-attributes 10] 5 (#$ . 3524)])
#@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\313\n!
\203\"
L\210\2038\2043	\314!\232\2048\315\n\"\f,\207" [dir inode ft proj ans rootreturn ede--inode-for-dir file-name-as-directory expand-file-name ede--inode-get-toplevel-open-project nil ede-directory-get-toplevel-open-project ede--project-inode ede-find-subproject-for-directory ede--disable-inode] 3 (#$ . 3827)])
#@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 (#$ . 4451)])
#@63 Return an already open toplevel project that is managing DIR.
(defalias 'ede-directory-get-toplevel-open-project #[(dir) "\306\307!!	\310\203\n\204\311@\312\"\211\f\230\203$@\202w\313\314\315
!P\f\"\2035@\202w\316@!\317!\320\321\"?\205N\232*\203X@\202w\322\f!\322\311@\312\"!\313\314\315!P\"*\203w@)A\211\204\n+\207" [dir ede-projects ans all ft pd 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 inode pin ptd ftn] 6 (#$ . 4779)])
#@55 A hash of directory names and associated EDE objects.
(defvar ede-project-directory-hash (make-hash-table :test 'equal) (#$ . 5375))
#@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 (#$ . 5515) 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!\205\304\305!	\"\210\306\307!P\310\311	\")\207" [dir ede-project-directory-hash match 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 (#$ . 5884)])
#@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\303	\304#\207" [dir ede-project-directory-hash fboundp gethash nil] 4 (#$ . 6323)])
#@55 Add to the EDE project hash DIR associated with DESC.
(defalias 'ede-directory-project-add-description-to-hash #[(dir desc) "\303\304!\205
\304	\n#\210	\207" [dir desc ede-project-directory-hash fboundp puthash] 4 (#$ . 6554)])
#@262 Return a project description object if DIR has 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.
(defalias 'ede-directory-project-p #[(dir &optional force) "\306\307\310\"!?\205f\307!\311	!\211\312=\203 \204 \313\202e\n\203.\n\312=\204.\n\202e\f\313\211\203Z
\204Z\314@	\"\203Q\315\316@\317\"!\210@A\211\2047\320	
\206a\312\"\210
**\207" [dir dirtest match force ede-project-class-files ret file-exists-p expand-file-name ".ede-ignore" ede-directory-project-from-hash nomatch nil ede-dir-to-projectfile require eieio-oref file ede-directory-project-add-description-to-hash types] 5 (#$ . 6791)])
#@141 Starting with DIR, find the toplevel project directory, or return nil.
nil is returned if the current directory is not a part of a project.
(defalias 'ede-toplevel-project-or-nil #[(dir) "\302!\211\203\303	\304\"\202\305!\205\306!)\207" [dir ans ede-directory-get-toplevel-open-project eieio-oref :directory ede-directory-project-p ede-toplevel-project] 4 (#$ . 7589)])
#@57 Starting with DIR, find the toplevel project directory.
(defalias 'ede-toplevel-project #[(dir) "	\230\203\n\203\306\n\307\"\207\310!\311!\211\2030\203)\312\f\306\313\"\"\2030\306\f\307\"\202|\314!\211\310!\315\203H\316!\f\204v\203v\203v\317
!\211\203h\310!\203H\316!\211\203L\f\206{
,*\207" [dir default-directory ede-object-root-project thisdir ans toppath eieio-oref :directory ede-directory-project-p ede-directory-get-toplevel-open-project object-of-class-p :class-sym expand-file-name nil ede-project-root-directory ede-up-directory newpath proj] 6 (#$ . 7975)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\301\302\301\310\"\"\210\304\301\305\311\312$\207" [eieio--defalias ede-convert-path eieio--defgeneric-init-form #1="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." eieio--defmethod nil ede-project #[(this path) "\306!\307	!\310\311!\n\"\203\n\312\225\313O\2027\314!\314\n!\310\311
!\f\"\2032\f\312\225\313O\2026\315\316\n\"**\207" [this path fp pp fptf pptf ede-project-root-directory expand-file-name string-match regexp-quote 0 nil file-truename error "Cannot convert relativize path %s"] 3 #1#] #2="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." ede-target #[(this path &optional project) "\206\306	!\211\2032\307\n\"\310	\303\"\206\311\312\313\314\f!P
\"\203-
\fG\315O\202.
*\2026\316\317	\")\207" [project this proj path lp p ede-target-parent ede-convert-path eieio-oref "" string-match "^" regexp-quote nil error "Parentless target %s"] 5 #2#]] 5)
#@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 (#$ . 9886)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\300\310\302\310\311\"\"\210\304\310\305\306\312$\210\300\313\302\313\314\"\"\210\304\313\305\306\315$\210\300\316\302\316\317\"\"\210\304\316\305\306\320$\210\300\301\302\301\321\"\"\210\304\301\305\322\323$\207" [eieio--defalias ede-expand-filename eieio--defgeneric-init-form #1="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." eieio--defmethod nil ede-project #[(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 #1#] ede-expand-filename-impl #2="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." #[(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 #2#] ede-expand-filename-local #3="Expand filename locally to project THIS with filesystem tests." #[(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 #3#] ede-expand-filename-impl-via-subproj #4="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 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 #4#] #5="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." ede-target #[(this filename &optional force) "\303\304!	\n#\207" [this filename force ede-expand-filename ede-target-parent] 4 #5#]] 5)
#@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 (#$ . 13107)])
(provide 'ede/files)

MMCT - 2023