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

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

[nongnu] elpa/haskell-mode b45ede0ab7 2/5: removed trailing stop positio


From: ELPA Syncer
Subject: [nongnu] elpa/haskell-mode b45ede0ab7 2/5: removed trailing stop position
Date: Thu, 13 Jul 2023 04:00:17 -0400 (EDT)

branch: elpa/haskell-mode
commit b45ede0ab73a21b802e54d43f128f8e22e9aafee
Author: Matija Obid <matija.obid@posteo.net>
Commit: Matija Obid <matija.obid@posteo.net>

    removed trailing stop position
---
 haskell-debug.el | 52 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 20 deletions(-)

diff --git a/haskell-debug.el b/haskell-debug.el
index 3e73c06379..baacf75db2 100644
--- a/haskell-debug.el
+++ b/haskell-debug.el
@@ -253,11 +253,12 @@
    (let* ((breakpoints (haskell-debug-get-breakpoints))
           (context (haskell-debug-get-context))
           (string
-           (haskell-process-queue-sync-request
-            (haskell-debug-process)
-            (if expr
-                (concat ":step " expr)
-              ":step"))))
+           (haskell-debug-trim-break-location
+            (haskell-process-queue-sync-request
+             (haskell-debug-process)
+             (if expr
+                 (concat ":step " expr)
+               ":step")))))
      (cond
       ((string= string "not stopped at a breakpoint\n")
        (if haskell-debug-bindings-cache
@@ -310,11 +311,18 @@
   (format "*debug:%s*"
           (haskell-session-name session)))
 
+(defun haskell-debug-trim-break-location (string)
+  "Remove trailing location of current break from output STRING if exists."
+  (if-let ((i (string-match "^\\(... \\)?\\[[^]]+\\] $" string)))
+      (substring string 0 i)
+    string))
+
 (defun haskell-debug-get-breakpoints ()
   "Get the list of breakpoints currently set."
-  (let ((string (haskell-process-queue-sync-request
-                 (haskell-debug-process)
-                 ":show breaks")))
+  (let ((string (haskell-debug-trim-break-location
+                 (haskell-process-queue-sync-request
+                  (haskell-debug-process)
+                  ":show breaks"))))
     (if (string= string "No active breakpoints.\n")
         (list)
       (mapcar #'haskell-debug-parse-break-point
@@ -322,9 +330,10 @@
 
 (defun haskell-debug-get-modules ()
   "Get the list of modules currently set."
-  (let ((string (haskell-process-queue-sync-request
-                 (haskell-debug-process)
-                 ":show modules")))
+  (let ((string (haskell-debug-trim-break-location
+                 (haskell-process-queue-sync-request
+                  (haskell-debug-process)
+                  ":show modules"))))
     (if (string= string "")
         (list)
       (mapcar #'haskell-debug-parse-module
@@ -332,18 +341,20 @@
 
 (defun haskell-debug-get-context ()
   "Get the current context."
-  (let ((string (haskell-process-queue-sync-request
-                 (haskell-debug-process)
-                 ":show context")))
+  (let ((string (haskell-debug-trim-break-location
+                 (haskell-process-queue-sync-request
+                  (haskell-debug-process)
+                  ":show context"))))
     (if (string= string "")
         nil
       (haskell-debug-parse-context string))))
 
 (defun haskell-debug-get-history ()
   "Get the step history."
-  (let ((string (haskell-process-queue-sync-request
-                 (haskell-debug-process)
-                 ":history")))
+  (let ((string (haskell-debug-trim-break-location
+                 (haskell-process-queue-sync-request
+                  (haskell-debug-process)
+                  ":history"))))
     (if (or (string= string "")
             (string= string "Not stopped at a breakpoint\n"))
         nil
@@ -657,9 +668,10 @@ variances in source span notation."
 
 (defun haskell-debug-navigate (direction)
   "Navigate in DIRECTION \"back\" or \"forward\"."
-  (let ((string (haskell-process-queue-sync-request
-                 (haskell-debug-process)
-                 (concat ":" direction))))
+  (let ((string (haskell-debug-trim-break-location
+                 (haskell-process-queue-sync-request
+                  (haskell-debug-process)
+                  (concat ":" direction)))))
     (let ((bindings (haskell-debug-parse-logged string)))
       (setq haskell-debug-bindings-cache
             bindings)



reply via email to

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