Function: edebug--overlay-breakpoints
edebug--overlay-breakpoints is a byte-compiled function defined in
edebug.el.gz.
Signature
(edebug--overlay-breakpoints FUNCTION)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
(defun edebug--overlay-breakpoints (function)
(let* ((data (edebug-get-edebug-or-ghost function))
(start (nth 0 data))
(breakpoints (nth 1 data))
(offsets (nth 2 data)))
;; First remove all old breakpoint overlays.
(edebug--overlay-breakpoints-remove
start (+ start (aref offsets (1- (length offsets)))))
;; Then make overlays for the breakpoints (but only when we are in
;; edebug mode).
(when edebug-active
(dolist (breakpoint breakpoints)
(let* ((pos (+ start (aref offsets (car breakpoint))))
(overlay (make-overlay pos (1+ pos)))
(face (if (nth 4 breakpoint)
(progn
(overlay-put overlay
'help-echo "Disabled breakpoint")
(overlay-put overlay
'face 'edebug-disabled-breakpoint))
(overlay-put overlay 'help-echo "Breakpoint")
(overlay-put overlay 'face 'edebug-enabled-breakpoint))))
(overlay-put overlay 'edebug t)
(let ((fringe (make-overlay pos pos)))
(overlay-put fringe 'edebug t)
(overlay-put fringe 'before-string
(propertize
"x" 'display
`(left-fringe edebug-breakpoint ,face)))))))))