Changeset 148


Ignore:
Timestamp:
Dec 20, 2003, 2:45:41 AM (21 years ago)
Author:
Gary Byers
Message:

Alanr's fix to closure-inspector.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lib/describe.lisp

    r78 r148  
    11391139  ((n-closed :accessor closure-n-closed)))
    11401140
     1141
     1142
    11411143(defmethod inspector-class ((f function)) 'function-inspector)
    11421144(defmethod inspector-class ((f compiled-lexical-closure)) 'closure-inspector)
     
    11601162      (t (disassembly-line-n f (- n 3))))))
    11611163
     1164(defmethod compute-line-count ((f closure-inspector))
     1165  (let* ((o (inspector-object f))
     1166        (nclosed (nth-value 8 (function-args (ccl::closure-function o)))))
     1167      (setf (closure-n-closed f) nclosed)
     1168      (+ (call-next-method)
     1169         1                              ; the function we close over
     1170         1                              ; "Closed over values"
     1171         nclosed
     1172         (if (disasm-p f) 1 0)))))      ; "Disassembly"
     1173
    11621174(defmethod line-n ((f closure-inspector) n)
    11631175  (let ((o (inspector-object f))
     
    11681180             (values (ccl::closure-function o) "Inner lfun: " :static))
    11691181            ((eql (decf n) 0)
    1170              (values 0 "Closed over values" :comment #'prin1-comment))
     1182             (values nclosed "Closed over values" :comment #'prin1-comment))
    11711183            ((< (decf n) nclosed)
    11721184             (let* ((value (ccl::%svref o (1+ (- nclosed n))))
Note: See TracChangeset for help on using the changeset viewer.