X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fxref.lisp;h=7801e4e5d926de1ecd63e75bf81faa8c5b881f85;hb=7f1e94ae961a198e00daf281eb1dc858e5b2dcc7;hp=2e8966f49cbc0ef9bb9d32a8745af22436675a7f;hpb=fa68810289c5be55f47f6cbd5324a5d91c20e865;p=sbcl.git diff --git a/src/compiler/xref.lisp b/src/compiler/xref.lisp index 2e8966f..7801e4e 100644 --- a/src/compiler/xref.lisp +++ b/src/compiler/xref.lisp @@ -31,17 +31,17 @@ ;; Properly record the deferred macroexpansion and source ;; transform information that's been stored in the block. (dolist (xref-data (block-xrefs block)) - (record-xref (car xref-data) - (cadr xref-data) - ;; We use the debug-name of the functional - ;; as an identifier. This works quite nicely, - ;; except for (fast/slow)-methods with non-symbol, - ;; non-number eql specializers, for which - ;; the debug-name doesn't map exactly - ;; to the fdefinition of the method. - functional - nil - (cddr xref-data))))) + (destructuring-bind (kind what path) xref-data + (record-xref kind what + ;; We use the debug-name of the functional + ;; as an identifier. This works quite nicely, + ;; except for (fast/slow)-methods with non-symbol, + ;; non-number eql specializers, for which + ;; the debug-name doesn't map exactly + ;; to the fdefinition of the method. + functional + nil + path))))) (call-with-block-external-functionals block #'handle-node))))) (defun call-with-block-external-functionals (block fun)