From 46567b348a49ca970bdce5b224331414270ac1c5 Mon Sep 17 00:00:00 2001 From: Joseph Tesfaye Date: Mon, 3 Mar 2025 00:51:16 +0900 Subject: [PATCH] Fix error in `dap--buffers-w-breakpoints` when a debug session ends The error `(wrong-type-argument markerp nil)` occurs when a debug session finishes and a buffer containing breakpoints was killed beforehand. The fix is to add a `nil`-check. --- dap-mode.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dap-mode.el b/dap-mode.el index 4c4a09c..de60d90 100644 --- a/dap-mode.el +++ b/dap-mode.el @@ -867,8 +867,9 @@ will be reversed." "Get only the buffers featuring at least one breakpoint" ;; extract the list of buffers featuring a breakpoint from their first breakpoint marker ;; (as stored in the LSP metadata) - (--map (marker-buffer (plist-get (car it) :marker)) - (ht-values (dap--get-breakpoints)))) + (delq nil (--map (when-let ((marker (plist-get (car it) :marker))) + (marker-buffer marker)) + (ht-values (dap--get-breakpoints))))) (defun dap--refresh-breakpoints () "Refresh breakpoints for DEBUG-SESSION."