diff options
| author | Alan Mackenzie | 2020-05-03 11:25:19 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2020-05-03 11:25:19 +0000 |
| commit | e90b7b9ef2af00fb206052bc4458d7e692e5d413 (patch) | |
| tree | 72c33d589634d00bcae5247f0f8e08b2fbff3eeb | |
| parent | 0a3731feef351f6af47bed1458aefb6cb481b5f9 (diff) | |
| download | emacs-e90b7b9ef2af00fb206052bc4458d7e692e5d413.tar.gz emacs-e90b7b9ef2af00fb206052bc4458d7e692e5d413.zip | |
Revert "Mark breakpoints in edebug with highlights". This fixes bug #40992
Do not merge to master.
This reverts commit e8b3a15cb6ff187ce08afcb43bd9a0b7907268ca.
| -rw-r--r-- | lisp/emacs-lisp/edebug.el | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index e6aed3a1202..dd1a17eb515 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el | |||
| @@ -2755,7 +2755,6 @@ See `edebug-behavior-alist' for implementations.") | |||
| 2755 | (edebug-stop)) | 2755 | (edebug-stop)) |
| 2756 | 2756 | ||
| 2757 | (edebug-overlay-arrow) | 2757 | (edebug-overlay-arrow) |
| 2758 | (edebug--overlay-breakpoints edebug-function) | ||
| 2759 | 2758 | ||
| 2760 | (unwind-protect | 2759 | (unwind-protect |
| 2761 | (if (or edebug-stop | 2760 | (if (or edebug-stop |
| @@ -3230,45 +3229,7 @@ the breakpoint." | |||
| 3230 | 3229 | ||
| 3231 | (setcar (cdr edebug-data) edebug-breakpoints) | 3230 | (setcar (cdr edebug-data) edebug-breakpoints) |
| 3232 | (goto-char position) | 3231 | (goto-char position) |
| 3233 | (edebug--overlay-breakpoints edebug-def-name))))) | 3232 | )))) |
| 3234 | |||
| 3235 | (define-fringe-bitmap 'edebug-breakpoint | ||
| 3236 | "\x3c\x7e\xff\xff\xff\xff\x7e\x3c") | ||
| 3237 | |||
| 3238 | (defun edebug--overlay-breakpoints (function) | ||
| 3239 | (let* ((data (get function 'edebug)) | ||
| 3240 | (start (nth 0 data)) | ||
| 3241 | (breakpoints (nth 1 data)) | ||
| 3242 | (offsets (nth 2 data))) | ||
| 3243 | ;; First remove all old breakpoint overlays. | ||
| 3244 | (edebug--overlay-breakpoints-remove | ||
| 3245 | start (+ start (aref offsets (1- (length offsets))))) | ||
| 3246 | ;; Then make overlays for the breakpoints (but only when we are in | ||
| 3247 | ;; edebug mode). | ||
| 3248 | (when edebug-active | ||
| 3249 | (dolist (breakpoint breakpoints) | ||
| 3250 | (let* ((pos (+ start (aref offsets (car breakpoint)))) | ||
| 3251 | (overlay (make-overlay pos (1+ pos))) | ||
| 3252 | (face (if (nth 4 breakpoint) | ||
| 3253 | (progn | ||
| 3254 | (overlay-put overlay | ||
| 3255 | 'help-echo "Disabled breakpoint") | ||
| 3256 | (overlay-put overlay | ||
| 3257 | 'face 'edebug-disabled-breakpoint)) | ||
| 3258 | (overlay-put overlay 'help-echo "Breakpoint") | ||
| 3259 | (overlay-put overlay 'face 'edebug-enabled-breakpoint)))) | ||
| 3260 | (overlay-put overlay 'edebug t) | ||
| 3261 | (let ((fringe (make-overlay pos pos))) | ||
| 3262 | (overlay-put fringe 'edebug t) | ||
| 3263 | (overlay-put fringe 'before-string | ||
| 3264 | (propertize | ||
| 3265 | "x" 'display | ||
| 3266 | `(left-fringe edebug-breakpoint ,face))))))))) | ||
| 3267 | |||
| 3268 | (defun edebug--overlay-breakpoints-remove (start end) | ||
| 3269 | (dolist (overlay (overlays-in start end)) | ||
| 3270 | (when (overlay-get overlay 'edebug) | ||
| 3271 | (delete-overlay overlay)))) | ||
| 3272 | 3233 | ||
| 3273 | (defun edebug-set-breakpoint (arg) | 3234 | (defun edebug-set-breakpoint (arg) |
| 3274 | "Set the breakpoint of nearest sexp. | 3235 | "Set the breakpoint of nearest sexp. |