[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Logical pathname bug?



I define some logical pathnames.
I use them to load some .lisp files.
The files load fine. I can meta-point functions defined in them.
They have pathnames like "hd:ccs:oval:foo.lisp".
When I eval a defun in such a file I get the warning message

;Warning:  FUNCTION LIST-OF-VALUES previously defined in: 
oval-source:eval.lisp
;                  is now being redefined in: root:hd;eval.lisp

Now when I meta point the fn, I get a choice of two pathnames, neither 
of which are
correct, and neither of which are either of the above two. They are:
"eval.lisp {hd;}" and
"eval.lisp {}"

Choosing the first errors with 
> Error: File #4P"root:hd;eval.lisp" does not exist.
> While executing: #<STANDARD-METHOD FRED-INITIALIZE (FRED-MIXIN)>
(it's true that that file doesn't exist, but why did meta-point think it 
did?)

Choosing the second works fine.

The directory in the title bar of a fred window editing the file is 
the correct physical directory.
Inspecting the window shows that its instance variable ccl::my-file-name
is the correct full physical pathname.

I play some tricks with defining logical pathnames. Its likely I'm doing 
something wrong. CLtL2 has done an excellent job of documenting a very 
complex mechanism obscurly. If there are better explanations of logical 
pathnames, please tell me where. But it still sounds like MCL2 is 
inconsistent here.