[Emacs-ada-mode] ADA_PROJECT_PATH

Simon Wright simon at pushface.org
Thu May 28 12:24:34 PDT 2009


ada-mode-2008-10-12 sets ADA_PROJECT_PATH in 2 places after parsing  
the output of 'gnat list -v -P' (I think!).

The trouble is, it doesn't seem to do that good a job (I end up with  
an empty string). The result is that when I fire off a build (gnat  
make -P) it can't find the necessary project files.

In any case if ADA_PROJECT_PATH needed to be set up for 'gnat list -P'  
to work then it's pretty likely it was correct already!

I've diked out the places where ADA_PROJECT_PATH is set and so far it  
seems to be working fine for me.

--S

--- ada-xref.el-orig	2008-12-27 18:15:31.000000000 +0000
+++ ada-xref.el	2009-05-28 20:08:58.000000000 +0100
@@ -906,10 +906,7 @@
  	(let ((sep (plist-get project 'ada_project_path_sep)))
  	  (setq ada_project_path (reverse ada_project_path))
  	  (setq ada_project_path (mapconcat 'identity ada_project_path sep))
-	  (set 'project (plist-put project 'ada_project_path  
ada_project_path))
-	  ;; env var needed now for ada-gnat-parse-gpr
-	  (setenv "ADA_PROJECT_PATH" ada_project_path)))
-
+	  (set 'project (plist-put project 'ada_project_path  
ada_project_path))))
      (if debug_post_cmd (set 'project (plist-put project  
'debug_post_cmd (reverse debug_post_cmd))))
      (if debug_pre_cmd (set 'project (plist-put project  
'debug_pre_cmd (reverse debug_pre_cmd))))
      (if casing (set 'project (plist-put project 'casing (reverse  
casing))))
@@ -954,11 +951,6 @@
  	  (setq ada-case-exception-file casing)
  	  (ada-case-read-exceptions))))

-  (let ((ada_project_path (ada-xref-get-project-field  
'ada_project_path)))
-    (if ada_project_path
-	;; FIXME: use ada-get-absolute-dir, mapconcat here
-	(setenv "ADA_PROJECT_PATH" ada_project_path)))
-
    (setq compilation-search-path (ada-xref-get-src-dir-field))

    (setq ada-search-directories-internal




More information about the Emacs-ada-mode mailing list