emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals-release/gnat-compiler 49774d33dc: * gnat-alire.el (crea


From: Stephen Leake
Subject: [elpa] externals-release/gnat-compiler 49774d33dc: * gnat-alire.el (create-alire-prj): Better error message on missing alire.toml
Date: Tue, 24 Jan 2023 08:18:17 -0500 (EST)

branch: externals-release/gnat-compiler
commit 49774d33dc26ee75944a7380180cd748881e3a3f
Author: Stephen Leake <stephen_leake@stephe-leake.org>
Commit: Stephen Leake <stephen_leake@stephe-leake.org>

    * gnat-alire.el (create-alire-prj): Better error message on missing 
alire.toml
    
    * NEWS: Version 1.0.2.
    * gnat-compiler.el:
---
 NEWS             |  5 +++++
 gnat-alire.el    | 53 ++++++++++++++++++++++++++++-------------------------
 gnat-compiler.el |  2 +-
 3 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/NEWS b/NEWS
index 87fbbcd962..46d88237f6 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,11 @@ Please send gnat-compiler bug reports to 
bug-gnu-emacs@gnu.org, with
 'gnat-compiler' in the subject. If possible, use M-x report-emacs-bug.
 
 
+* gnat compiler 1.0.2
+24 Jan 2023
+
+** Improve error message in create-alire-prj.
+
 * gnat compiler 1.0.1
 
 ** Rename create-alire-project to create-alire-prj.
diff --git a/gnat-alire.el b/gnat-alire.el
index fac90efe71..6be083e2c5 100644
--- a/gnat-alire.el
+++ b/gnat-alire.el
@@ -98,31 +98,34 @@
   ;; it is only used for casing. We get GPR_PROJECT_PATH from the
   ;; Alire environment.
   "Return an initial wisi project for the current Alire workspace."
-  (let* ((default-directory (locate-dominating-file default-directory 
"alire.toml"))
-        (abs-gpr-file (expand-file-name gpr-file))
-        (project (make-alire-prj :name name
-                                  :compile-env compile-env
-                                  :file-env file-env
-                                  :xref-label xref-label)))
-
-    (alire-get-env project)
-
-    ;; We need a gnat-compiler to set compilation-search-path; this
-    ;; must run after alire-get-env because it uses GPR_PROJECT_PATH.
-    (setf (wisi-prj-compiler project)
-         (create-gnat-compiler
-          :gpr-file abs-gpr-file
-          :run-buffer-name (gnat-run-buffer-name abs-gpr-file)))
-
-    (when (null xref-label)
-      (user-error "create-alire-prj: no xref backend specified; add 
:xref-label"))
-    (setf (wisi-prj-xref project)
-         (funcall (intern (format "create-%s-xref" (symbol-name xref-label)))))
-
-    (wisi-compiler-parse-one (wisi-prj-compiler project) project "gpr_file" 
abs-gpr-file)
-    (wisi-xref-parse-one     (wisi-prj-xref project)     project "gpr_file" 
abs-gpr-file)
-
-    project))
+  (let ((temp (locate-dominating-file default-directory "alire.toml")))
+    (when (null temp)
+      (user-error "no alire.toml found in or above %s" default-directory))
+    (let* ((default-directory temp)
+          (abs-gpr-file (expand-file-name gpr-file))
+          (project (make-alire-prj :name name
+                                    :compile-env compile-env
+                                    :file-env file-env
+                                    :xref-label xref-label)))
+
+      (alire-get-env project)
+
+      ;; We need a gnat-compiler to set compilation-search-path; this
+      ;; must run after alire-get-env because it uses GPR_PROJECT_PATH.
+      (setf (wisi-prj-compiler project)
+           (create-gnat-compiler
+            :gpr-file abs-gpr-file
+            :run-buffer-name (gnat-run-buffer-name abs-gpr-file)))
+
+      (when (null xref-label)
+        (user-error "create-alire-prj: no xref backend specified; add 
:xref-label"))
+      (setf (wisi-prj-xref project)
+           (funcall (intern (format "create-%s-xref" (symbol-name 
xref-label)))))
+
+      (wisi-compiler-parse-one (wisi-prj-compiler project) project "gpr_file" 
abs-gpr-file)
+      (wisi-xref-parse-one     (wisi-prj-xref project)     project "gpr_file" 
abs-gpr-file)
+
+      project)))
 
 (cl-defmethod wisi-prj-default ((project alire-prj))
   (let* ((gpr-file (gnat-compiler-gpr-file (wisi-prj-compiler project)))
diff --git a/gnat-compiler.el b/gnat-compiler.el
index 9b9f6d1ffe..2326b68650 100644
--- a/gnat-compiler.el
+++ b/gnat-compiler.el
@@ -6,7 +6,7 @@
 ;;
 ;; Author: Stephen Leake <stephen_leake@member.fsf.org>
 ;; Maintainer: Stephen Leake <stephen_leake@member.fsf.org>
-;; Version: 1.0.1
+;; Version: 1.0.2
 ;; package-requires: ((emacs "25.3") (wisi "4.2.0"))
 ;;
 ;; This file is part of GNU Emacs.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]