liberte@M.CS.UIUC.EDU (Daniel LaLiberte) (02/15/89)
If you tried breakpointing with edebug, you'ld have noticed
it was broken. Thanks to Eric Raible (raible@orville.nas.nasa.gov)
for catching it. Here is the fix relative to version 1.3.
Dan LaLiberte
uiucdcs!liberte
liberte@cs.uiuc.edu
liberte%a.cs.uiuc.edu@uiucvmd.bitnet
===
*** /tmp/,RCSt1015774 Tue Feb 14 23:00:06 1989
--- edebug.el Tue Feb 14 22:59:29 1989
***************
*** 35,41
;;; liberte@cs.uiuc.edu
;;; liberte%a.cs.uiuc.edu@uiucvmd.bitnet
! ;;; $Header: edebug.el,v 1.3 89/01/30 00:26:09 liberte Exp $
;;; $Log: edebug.el,v $
;;; Revision 1.3 89/01/30 00:26:09 liberte
;;; More bug fixes for cond and let.
--- 35,41 -----
;;; liberte@cs.uiuc.edu
;;; liberte%a.cs.uiuc.edu@uiucvmd.bitnet
! ;;; $Header: edebug.el,v 1.4 89/02/14 22:58:34 liberte Exp $
;;; $Log: edebug.el,v $
;;; Revision 1.4 89/02/14 22:58:34 liberte
;;; Fix broken breakpointing.
***************
*** 37,42
;;; $Header: edebug.el,v 1.3 89/01/30 00:26:09 liberte Exp $
;;; $Log: edebug.el,v $
;;; Revision 1.3 89/01/30 00:26:09 liberte
;;; More bug fixes for cond and let.
;;; Another parsing fix backquote.
--- 37,46 -----
;;; $Header: edebug.el,v 1.4 89/02/14 22:58:34 liberte Exp $
;;; $Log: edebug.el,v $
+ ;;; Revision 1.4 89/02/14 22:58:34 liberte
+ ;;; Fix broken breakpointing.
+ ;;; Temporarily widen elisp buffer during edebug.
+ ;;;
;;; Revision 1.3 89/01/30 00:26:09 liberte
;;; More bug fixes for cond and let.
;;; Another parsing fix backquote.
***************
*** 578,584
(save-excursion
(unwind-protect
! (progn
(setq edebug-outside-window-configuration
(current-window-configuration))
(setq edebug-depth (1+ edebug-depth))
--- 582,588 -----
(save-excursion
(unwind-protect
! (save-restriction
(setq edebug-outside-window-configuration
(current-window-configuration))
(setq edebug-depth (1+ edebug-depth))
***************
*** 629,634
;; a substitute for pop-to-buffer might be simpler
(pop-to-buffer edebug-buffer)
(set-buffer edebug-buffer)
(goto-char edebug-point)
;; adjust window to fit as much as possible
--- 633,639 -----
;; a substitute for pop-to-buffer might be simpler
(pop-to-buffer edebug-buffer)
(set-buffer edebug-buffer)
+ (widen)
(goto-char edebug-point)
;; adjust window to fit as much as possible
***************
*** 669,675
(current-window-configuration))
(unwind-protect
(recursive-edit)
! (set-buffer edebug-buffer)) ; may have changed buffers
)))
)
--- 674,681 -----
(current-window-configuration))
(unwind-protect
(recursive-edit)
! ;; may have changed buffers, so set it back first
! (set-buffer edebug-buffer))
)))
)
***************
*** 738,745
(setq edebug-func-mark (car edebug-data))
(setq edebug-breakpoints (car (cdr edebug-data)))
! (let ((point-vector (car (cdr (cdr edebug-data))))
! (pnt (point))
len i)
;; assume that the marks are in order
(setq len (length mark-vector))
--- 744,751 -----
(setq edebug-func-mark (car edebug-data))
(setq edebug-breakpoints (car (cdr edebug-data)))
! (let ((offset-vector (car (cdr (cdr edebug-data))))
! (offset (- (point) edebug-func-mark))
len i)
;; assume that the offsets are in order
(setq len (length offset-vector))
***************
*** 741,748
(let ((point-vector (car (cdr (cdr edebug-data))))
(pnt (point))
len i)
! ;; assume that the marks are in order
! (setq len (length mark-vector))
(setq i 0)
(while (and (< i len) (> pnt (aref point-vector i)))
(setq i (1+ i)))
--- 747,754 -----
(let ((offset-vector (car (cdr (cdr edebug-data))))
(offset (- (point) edebug-func-mark))
len i)
! ;; assume that the offsets are in order
! (setq len (length offset-vector))
(setq i 0)
(while (and (< i len) (> offset (aref offset-vector i)))
(setq i (1+ i)))
***************
*** 744,750
;; assume that the marks are in order
(setq len (length mark-vector))
(setq i 0)
! (while (and (< i len) (> pnt (aref point-vector i)))
(setq i (1+ i)))
(if (<= pnt (aref point-vector i))
(progn ; found it
--- 750,756 -----
;; assume that the offsets are in order
(setq len (length offset-vector))
(setq i 0)
! (while (and (< i len) (> offset (aref offset-vector i)))
(setq i (1+ i)))
(if (and (< i len)
(<= offset (aref offset-vector i)))
***************
*** 746,752
(setq i 0)
(while (and (< i len) (> pnt (aref point-vector i)))
(setq i (1+ i)))
! (if (<= pnt (aref point-vector i))
(progn ; found it
(setq edebug-breakpoints (delq i edebug-breakpoints))
(if flag
--- 752,759 -----
(setq i 0)
(while (and (< i len) (> offset (aref offset-vector i)))
(setq i (1+ i)))
! (if (and (< i len)
! (<= offset (aref offset-vector i)))
(progn ; found it
(setq edebug-breakpoints (delq i edebug-breakpoints))
(if flag
***************
*** 752,759
(if flag
(progn
(setq edebug-breakpoints (cons i edebug-breakpoints))
! (message "Breakpoint set."))
! (message "Breakpoint cleared."))
(setq edebug-data
(list edebug-func-mark edebug-breakpoints point-vector))
--- 759,766 -----
(if flag
(progn
(setq edebug-breakpoints (cons i edebug-breakpoints))
! (message "Breakpoint set in %s." defun-name))
! (message "Breakpoint cleared %s." defun-name))
(setq edebug-data
(list edebug-func-mark edebug-breakpoints offset-vector))
***************
*** 756,762
(message "Breakpoint cleared."))
(setq edebug-data
! (list edebug-func-mark edebug-breakpoints point-vector))
(put defun-name 'edebug edebug-data)
(goto-char (aref point-vector i))
))
--- 763,769 -----
(message "Breakpoint cleared %s." defun-name))
(setq edebug-data
! (list edebug-func-mark edebug-breakpoints offset-vector))
(put defun-name 'edebug edebug-data)
(goto-char (+ edebug-func-mark (aref offset-vector i)))
)
***************
*** 758,765
(setq edebug-data
(list edebug-func-mark edebug-breakpoints point-vector))
(put defun-name 'edebug edebug-data)
! (goto-char (aref point-vector i))
! ))
)))
(defun edebug-set-breakpoint ()
--- 765,775 -----
(setq edebug-data
(list edebug-func-mark edebug-breakpoints offset-vector))
(put defun-name 'edebug edebug-data)
! (goto-char (+ edebug-func-mark (aref offset-vector i)))
! )
! (message "Point is not at the beginning of an expression in %s."
! defun-name)
! )
)))
(defun edebug-set-breakpoint ()