X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fntrace.lisp;h=bca29e39c08f3bb05ff7bf3f41e12428d4078202;hb=104ee7ee303efa16e415f5e75df635ac54dba733;hp=d4e2158ff3341a741a8a9b63aa9d0d457d9ae032;hpb=d40a76606c86722b0aef8179155f9f2840739b72;p=sbcl.git diff --git a/src/code/ntrace.lisp b/src/code/ntrace.lisp index d4e2158..bca29e3 100644 --- a/src/code/ntrace.lisp +++ b/src/code/ntrace.lisp @@ -36,7 +36,7 @@ ;;;; internal state ;;; a hash table that maps each traced function to the TRACE-INFO. The -;;; entry for a closure is the shared function-entry object. +;;; entry for a closure is the shared function entry object. (defvar *traced-funs* (make-hash-table :test 'eq)) ;;; A TRACE-INFO object represents all the information we need to @@ -162,8 +162,8 @@ ((nil) exp) (:encapsulated `(flet ((sb-debug:arg (n) - (declare (special argument-list)) - (elt argument-list n))) + (declare (special arg-list)) + (elt arg-list n))) (declare (ignorable #'sb-debug:arg)) ,exp)))) (fun (coerce `(lambda () ,bod) 'function))) @@ -254,8 +254,12 @@ (fresh-line) (print-trace-indentation) (if (trace-info-encapsulated info) - (locally (declare (special basic-definition argument-list)) - (prin1 `(,(trace-info-what info) ,@argument-list))) + ;; FIXME: These special variables should be given + ;; *FOO*-style names, and probably declared globally + ;; with DEFVAR. + (locally + (declare (special basic-definition arg-list)) + (prin1 `(,(trace-info-what info) ,@arg-list))) (print-frame-call frame)) (terpri) (trace-print frame (trace-info-print info))) @@ -310,11 +314,11 @@ (let ((frame (sb-di:frame-down (sb-di:top-frame)))) (funcall start frame nil) (let ((*traced-entries* *traced-entries*)) - (declare (special basic-definition argument-list)) + (declare (special basic-definition arg-list)) (funcall cookie frame nil) (let ((vals (multiple-value-list - (apply basic-definition argument-list)))) + (apply basic-definition arg-list)))) (funcall (trace-end-breakpoint-fun info) frame nil vals nil) (values-list vals))))))