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 ()