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

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

[nongnu] elpa/haskell-tng-mode 411268e 310/385: improve hsinspect error


From: ELPA Syncer
Subject: [nongnu] elpa/haskell-tng-mode 411268e 310/385: improve hsinspect error messages
Date: Tue, 5 Oct 2021 23:59:54 -0400 (EDT)

branch: elpa/haskell-tng-mode
commit 411268e00081140d2bfc524d81db248a56e306ed
Author: Tseen She <ts33n.sh3@gmail.com>
Commit: Tseen She <ts33n.sh3@gmail.com>

    improve hsinspect error messages
---
 haskell-tng-hsinspect.el | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/haskell-tng-hsinspect.el b/haskell-tng-hsinspect.el
index 5c7eabe..79b2ccc 100644
--- a/haskell-tng-hsinspect.el
+++ b/haskell-tng-hsinspect.el
@@ -33,13 +33,13 @@ name of the symbol at point in the minibuffer.
 
 A prefix argument ensures that caches are flushes."
   (interactive "P")
-  (when-let* ((sym (haskell-tng--hsinspect-symbol-at-point))
-              (found (seq-find
-                      (lambda (names) (member sym (seq-map #'cdr names)))
-                      (haskell-tng--hsinspect-imports nil alt))))
-    ;; TODO multiple hits
-    ;; TODO feedback when hsinspect is broken
-    (popup-tip (format "%s" (cdar (last found))))))
+  (if-let* ((sym (haskell-tng--hsinspect-symbol-at-point))
+            (found (seq-find
+                    (lambda (names) (member sym (seq-map #'cdr names)))
+                    (haskell-tng--hsinspect-imports nil alt))))
+      ;; TODO multiple hits
+      (popup-tip (format "%s" (cdar (last found)))))
+  (user-error "Not found"))
 
 ;;;###autoload
 (defun haskell-tng-import-symbol-at-point (&optional alt)
@@ -114,7 +114,7 @@ A prefix argument ensures that caches are flushes."
         (insert-file-contents (expand-file-name ".ghc.flags"))
         (split-string
          (buffer-substring-no-properties (point-min) (point-max))))
-    (user-error "could not find `.ghc.flags': add GhcFlags.Plugin and 
compile.")))
+    (user-error "Could not find `.ghc.flags': add GhcFlags.Plugin and 
compile.")))
 
 (defvar-local haskell-tng--hsinspect-imports nil)
 (defun haskell-tng--hsinspect-imports (&optional no-work flush-cache)
@@ -160,10 +160,11 @@ A prefix argument ensures that caches are flushes."
             (let ((process-environment (cons "GHC_ENVIRONMENT=-" 
process-environment)))
               (apply
                #'call-process
-               (haskell-tng--hsinspect-exe flush-cache)
+               (or (haskell-tng--hsinspect-exe flush-cache)
+                   (user-error "Could not find hsinspect: add to 
build-tool-depends"))
                nil "*hsinspect*" nil
                (append params '("--") ghcflags))))
-        (user-error "`hsinspect' failed. See the *hsinspect* buffer for more 
information")
+        (user-error "Failed, see *hsinspect* buffer for more information")
       (with-current-buffer "*hsinspect*"
         ;; TODO remove this resilience against stdout / stderr noise
         (goto-char (point-max))



reply via email to

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