TRACE inconsistently prints package prefixes
Bug #1856768 reported by
Paul F. Dietz
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
New
|
Undecided
|
Unassigned |
Bug Description
* (defpackage :foo (:use :cl))
#<PACKAGE "FOO">
* (in-package :foo)
#<PACKAGE "FOO">
* (defun bar (&rest args) args)
BAR
* (bar 'a 'b 'c)
(A B C)
* (trace bar)
(BAR)
* (bar 'a 'b 'c)
0: (FOO::BAR FOO::A FOO::B FOO::C)
0: BAR returned (A B C)
(A B C)
Why is the traced function being printed with FOO:: prefixes on symbols in the call? This becomes seriously annoying when tracing a function in a package with a large name. The package prefixes aren't showing up in the return trace output either.
To post a comment you must log in.
my two cents: what is even more annoying is when you have a complex system that loads/creates a large number of packages, and the trace output is a function of which symbols the current *package* happens to have imported, and you fail to notice that one of the symbols are not what they seem to be.
this was by far the biggest single time-waster for me when debugging common lisp.