Function: ede-expand-filename-impl

ede-expand-filename-impl is a byte-compiled function defined in files.el.gz.

Signature

(ede-expand-filename-impl ARG &rest ARGS)

Implementations

(ede-expand-filename-impl (PROJ ede-linux-project) NAME) in `ede/linux.el'.

Undocumented

(ede-expand-filename-impl (PROJ ede-cpp-root-project) NAME) in `ede/cpp-root.el'.

Undocumented

(ede-expand-filename-impl (THIS ede-project) FILENAME &optional FORCE) in `ede/files.el'.

Return a fully qualified file name based on project THIS. FILENAME should be just a filename which occurs in a directory controlled by this project. Optional argument FORCE forces the default filename to be provided even if it doesn't exist.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/ede/files.el.gz
(cl-defmethod ede-expand-filename-impl ((this ede-project) filename &optional _force)
  "Return a fully qualified file name based on project THIS.
FILENAME should be just a filename which occurs in a directory controlled
by this project.
Optional argument FORCE forces the default filename to be provided even if it
doesn't exist."
  (let ((loc (ede-get-locator-object this))
	;; (path (ede-project-root-directory this))
	;; (proj (oref this subproj))
	(found nil))
    ;; find it Locally.
    (setq found (or (ede-expand-filename-local this filename)
		    (ede-expand-filename-impl-via-subproj this filename)))
    ;; Use an external locate tool.
    (when (not found)
      (require 'ede/locate)
      (setq found (car (ede-locate-file-in-project loc filename))))
    ;; Return it
    found))