[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/dape 6e43daf5de 5/5: Incorrect implantation of breakpoi
|
From: |
ELPA Syncer |
|
Subject: |
[elpa] externals/dape 6e43daf5de 5/5: Incorrect implantation of breakpoints only one per line is allowed |
|
Date: |
Wed, 17 Jan 2024 12:57:56 -0500 (EST) |
branch: externals/dape
commit 6e43daf5def92a9db292ebf718f2733ac8752f49
Author: Daniel Pettersson <daniel@dpettersson.net>
Commit: Daniel Pettersson <daniel@dpettersson.net>
Incorrect implantation of breakpoints only one per line is allowed
This is sad news. The combination of log and breakpoint might be
useful but nevertheless it's not supported.
---
dape.el | 59 +++++++++++++++++++++++++++++++----------------------------
1 file changed, 31 insertions(+), 28 deletions(-)
diff --git a/dape.el b/dape.el
index 68fb89c9cf..805528817c 100644
--- a/dape.el
+++ b/dape.el
@@ -1890,13 +1890,14 @@ CONN is inferred for interactive invocations."
(dape--kill-buffers)))
(defun dape-breakpoint-toggle ()
- "Add or remove breakpoint at current line.
-Will remove log or expression breakpoint at line added with
-`dape-breakpoint-log' and/or `dape-breakpoint-expression'."
+ "Add or remove breakpoint at current line."
(interactive)
- (if (dape--breakpoints-at-point '(dape-log-message dape-expr-message))
- (dape-breakpoint-remove-at-point '(dape-log-message dape-expr-message))
+ (cond
+ ((not (dape--breakpoints-at-point '(dape-log-message dape-expr-message)))
+ (dape-breakpoint-remove-at-point 'skip-update)
(dape--breakpoint-place))
+ (t
+ (dape-breakpoint-remove-at-point)))
(when-let ((conn (dape--live-connection t)))
(dape--update-stack-pointers conn t t)))
@@ -1912,12 +1913,14 @@ Expressions within `{}` are interpolated."
(overlay-get ov 'dape-log-message))
(dape--breakpoints-at-point))))
(overlay-get prev-log-breakpoint 'dape-log-message)))))
- (when-let ((prev-log-breakpoint (seq-find (lambda (ov)
- (overlay-get ov
'dape-log-message))
- (dape--breakpoints-at-point))))
- (dape--breakpoint-remove prev-log-breakpoint))
- (unless (string-empty-p log-message)
+ (cond
+ ((string-empty-p log-message)
+ (dape-breakpoint-remove-at-point))
+ (t
+ (dape-breakpoint-remove-at-point 'skip-update)
(dape--breakpoint-place log-message)))
+ (when-let ((conn (dape--live-connection t)))
+ (dape--update-stack-pointers conn t t)))
(defun dape-breakpoint-expression (expr-message)
"Add expression breakpoint at current line.
@@ -1930,32 +1933,32 @@ When EXPR-MESSAGE is evaluated as true threads will
pause at current line."
(overlay-get ov 'dape-expr-message))
(dape--breakpoints-at-point))))
(overlay-get prev-expr-breakpoint 'dape-expr-message)))))
- (when-let ((prev-expr-breakpoint
- (seq-find (lambda (ov)
- (overlay-get ov 'dape-expr-message))
- (dape--breakpoints-at-point))))
- (dape--breakpoint-remove prev-expr-breakpoint))
- (unless (string-empty-p expr-message)
+ (cond
+ ((string-empty-p expr-message)
+ (dape-breakpoint-remove-at-point))
+ (t
+ (dape-breakpoint-remove-at-point 'skip-update)
(dape--breakpoint-place nil expr-message)))
+ (when-let ((conn (dape--live-connection t)))
+ (dape--update-stack-pointers conn t t)))
-(defun dape-breakpoint-remove-at-point (&optional skip-types)
+(defun dape-breakpoint-remove-at-point (&optional skip-update)
"Remove breakpoint, log breakpoint and expression at current line.
-SKIP-TYPES is a list of overlay properties to skip removal of."
+When SKIP-UPDATE is non nil, does not notify adapter about removal."
(interactive)
- (dolist (breakpoint (dape--breakpoints-at-point skip-types))
- (dape--breakpoint-remove breakpoint)))
+ (dolist (breakpoint (dape--breakpoints-at-point))
+ (dape--breakpoint-remove breakpoint skip-update)))
(defun dape-breakpoint-remove-all ()
"Remove all breakpoints."
(interactive)
- (let ((buffers-breakpoints (seq-group-by 'overlay-buffer
- dape--breakpoints)))
- (dolist (buffer-breakpoints buffers-breakpoints)
- (pcase-let ((`(,buffer . ,breakpoints) buffer-breakpoints))
- (dolist (breakpoint breakpoints)
- (dape--breakpoint-remove breakpoint t))
- (when-let ((conn (dape--live-connection t)))
- (dape--set-breakpoints-in-buffer conn buffer)))))
+ (let ((buffers-breakpoints
+ (seq-group-by 'overlay-buffer dape--breakpoints)))
+ (pcase-dolist (`(,buffer . ,breakpoints) buffers-breakpoints)
+ (dolist (breakpoint breakpoints)
+ (dape--breakpoint-remove breakpoint t))
+ (when-let ((conn (dape--live-connection t)))
+ (dape--set-breakpoints-in-buffer conn buffer))))
(when-let ((conn (dape--live-connection t)))
(dape--update-stack-pointers conn t t)))