Function: ede-with-projectfile

ede-with-projectfile is a macro defined in base.el.gz.

Signature

(ede-with-projectfile OBJ &rest FORMS)

Documentation

For the project in which OBJ resides, execute FORMS.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/ede/base.el.gz
;;; Important macros for doing commands.
;;
(defmacro ede-with-projectfile (obj &rest forms)
  "For the project in which OBJ resides, execute FORMS."
  (declare (indent 1) (debug t))
  (unless (symbolp obj)
    (message "Beware! ede-with-projectfile's first arg is copied: %S" obj))
  `(let* ((pf (if (obj-of-class-p ,obj 'ede-target)
                  (ede-target-parent ,obj)
                ,obj))
          (dbka (get-file-buffer (oref pf file))))
     (with-current-buffer
         (if (not dbka) (find-file-noselect (oref pf file))
           dbka)
       ,@forms
       (if (not dbka) (kill-buffer (current-buffer))))))