Function: vhdl-import-project

vhdl-import-project is an interactive and byte-compiled function defined in vhdl-mode.el.gz.

Signature

(vhdl-import-project FILE-NAME &optional AUTO NOT-MAKE-CURRENT)

Documentation

Read project setup and set current project.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/vhdl-mode.el.gz
(defun vhdl-import-project (file-name &optional auto not-make-current)
  "Read project setup and set current project."
  (interactive
   (let ((name (vhdl-resolve-env-variable
		(vhdl-replace-string
		 (cons "\\(.*\\) \\(.*\\)" (car vhdl-project-file-name))
		 (concat "" " " (user-login-name))))))
     (list (read-file-name
	    "Read project file: " (when (file-name-absolute-p name) "") nil t
	    (file-name-directory name)))))
  (when (file-exists-p file-name)
    (condition-case ()
	(let ((current-project vhdl-project))
	  (load-file file-name)
	  (when (/= (length (vhdl-aget vhdl-project-alist vhdl-project)) 10)
	    (vhdl-adelete 'vhdl-project-alist vhdl-project)
	    (error ""))
	  (if not-make-current
	      (setq vhdl-project current-project)
	    (setq vhdl-compiler
                  (caar (nth 4 (vhdl-aget vhdl-project-alist vhdl-project)))))
	  (vhdl-update-mode-menu)
	  (vhdl-speedbar-refresh)
	  (unless not-make-current
	    (message "Current VHDL project: \"%s\"; compiler: \"%s\"%s"
		     vhdl-project vhdl-compiler (if auto " (auto-loaded)" ""))))
      (error (vhdl-warning
	      (format "ERROR:  Invalid project setup file: \"%s\"" file-name))))))