branch: externals/gnat-compiler commit 98a036fd6b7ee0814dc69b15afc3a706103b6b8f Author: Stephen Leake <stephen_le...@stephe-leake.org> Commit: Stephen Leake <stephen_le...@stephe-leake.org>
* gnat-alire.el (alire-get-env): Handle comments in alr printenv output * gnat-compiler.el (gnat-find-als): Fix bug, improve error message. --- gnat-alire.el | 26 +++++++++++++++----------- gnat-compiler.el | 13 +++++++------ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/gnat-alire.el b/gnat-alire.el index 9ca951f041..b9b9dadcce 100644 --- a/gnat-alire.el +++ b/gnat-alire.el @@ -48,18 +48,22 @@ ((= 0 status) (goto-char (point-min)) (while (not (eobp)) - (looking-at "export \\(.*\\)=\"\\(.*\\)\"$") - (setf (wisi-prj-file-env project) - (append (wisi-prj-file-env project) - (list (concat (match-string-no-properties 1) "=" (match-string-no-properties 2))))) + ;; Sometimes alr puts comments in this output: + ;; Note: Running post_fetch actions for xmlada=23.0.0... + ;; checking build system type... x86_64-pc-linux-gnu + (when (looking-at "export \\(.*\\)=\"\\(.*\\)\"$") + (setf (wisi-prj-file-env project) + (append (wisi-prj-file-env project) + (list (concat (match-string-no-properties 1) "=" (match-string-no-properties 2))))) - (let ((name (match-string-no-properties 1)) - (value (match-string-no-properties 2))) - (when (string= name "ADA_PROJECT_PATH") - (setq ada-project-path value)) - (when (string= name "GPR_PROJECT_PATH") - (setq gpr-project-path value))) - (forward-line 1) + (let ((name (match-string-no-properties 1)) + (value (match-string-no-properties 2))) + (when (string= name "ADA_PROJECT_PATH") + (setq ada-project-path value)) + (when (string= name "GPR_PROJECT_PATH") + (setq gpr-project-path value))) + ) + (forward-line 1) )) (t diff --git a/gnat-compiler.el b/gnat-compiler.el index 81c00611b8..9496393a4c 100644 --- a/gnat-compiler.el +++ b/gnat-compiler.el @@ -783,11 +783,12 @@ to AdaCore ada_language_server in `exec-path', then in a gnat installation found in `exec-path'. If NO-ERROR, return nil if server executable not found; otherwise signal user-error." (if gnat-lsp-server-exec - (setq gnat-lsp-server-exec (locate-file gnat-lsp-server-exec exec-path exec-suffixes)) - (if (file-readable-p gnat-lsp-server-exec) - gnat-lsp-server-exec - (user-error "gnat-lsp-server-exec '%s' not a readable file" - gnat-lsp-server-exec)) + (progn + (setq gnat-lsp-server-exec (locate-file gnat-lsp-server-exec exec-path exec-suffixes)) + (if (file-readable-p gnat-lsp-server-exec) + gnat-lsp-server-exec + (user-error "gnat-lsp-server-exec '%s' not a readable file" + gnat-lsp-server-exec))) ;; else look for AdaCore ada_language_server ;; @@ -806,7 +807,7 @@ server executable not found; otherwise signal user-error." (if guess guess (unless no-error - (user-error "ada_language_server not found"))))))) + (user-error "ada_language_server not found; set gnat-lsp-server-exec?"))))))) ;;;;; wisi compiler generic methods