From 3e52e0ab328c0ccbc2f2535d23c10fded3872e03 Mon Sep 17 00:00:00 2001 From: emarsden <emarsden> Date: Wed, 10 Nov 2004 18:38:59 +0000 Subject: [PATCH] Fix to the source-form reporting in the disassembler: - an off-by-one error - top-level-form may be a string --- compiler/disassem.lisp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/compiler/disassem.lisp b/compiler/disassem.lisp index e0591e383..8b948e992 100644 --- a/compiler/disassem.lisp +++ b/compiler/disassem.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/disassem.lisp,v 1.44 2004/01/09 04:42:57 toy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/disassem.lisp,v 1.45 2004/11/10 18:38:59 emarsden Exp $") ;;; ;;; ********************************************************************** ;;; @@ -2643,11 +2643,10 @@ (defstruct (source-form-cache (:conc-name sfcache-)) (debug-source nil :type (or null di:debug-source)) (top-level-form-index -1 :type fixnum) - (top-level-form nil :type list) + (top-level-form nil :type (or list string)) (form-number-mapping-table nil :type (or null (vector list))) (last-location-retrieved nil :type (or null di:code-location)) - (last-form-retrieved -1 :type fixnum) - ) + (last-form-retrieved -1 :type fixnum)) (defun get-top-level-form (debug-source tlf-index) (let ((name (di:debug-source-name debug-source))) @@ -2717,7 +2716,7 @@ (sfcache-form-number-mapping-table cache) mapping-table)) (cond ((null top-level-form) nil) - ((> form-number (length mapping-table)) + ((>= form-number (length mapping-table)) (warn "Bogus form-number in form! The source file has probably ~@ been changed too much to cope with") (when cache -- GitLab