Function: dape--breakpoint-delete-overlay
dape--breakpoint-delete-overlay is a natively compiled function
defined in dape.el.
Signature
(dape--breakpoint-delete-overlay BREAKPOINT)
Documentation
Delete overlay of BREAKPOINT and restore margin if needed.
Source Code
;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape--breakpoint-delete-overlay (breakpoint)
"Delete overlay of BREAKPOINT and restore margin if needed."
(let ((overlay (dape--source-breakpoint-location breakpoint)))
(when-let* ((buffer (dape--breakpoint-buffer breakpoint)))
(with-current-buffer buffer
(when (and
;; If margin has been touched
dape--original-margin
;; ...and no breakpoints left in margin
(not (cl-some (lambda (bp)
(let ((type (dape--source-breakpoint-type bp)))
(or (not type) (eq 'until type))))
(dape--breakpoints-in-buffer))))
;; ...the margin should be reset
(setq-local left-margin-width dape--original-margin
dape--original-margin nil)
(when-let* ((window (get-buffer-window buffer)))
(set-window-margins window
left-margin-width right-margin-width)
(redisplay t)))))
(when (overlayp overlay)
(delete-overlay overlay))
(setf (dape--source-breakpoint-location breakpoint) nil)))