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

Bug report with logical pathname translations

There appears to be a small error in MCL 2.0p2, with regard to logical
pathnames.  A small example:

	> (setf (logical-pathname-translations "test")
		'(("*.*.*" "realhost:")) )
	(("*.*.*" "realhost:"))
	> (translate-logical-pathname "test:fred.lisp")
	> (translate-logical-pathname "test:sub;fred.lisp")

The second translation, using the logical subdirectory "sub", should have
failed.  This becomes crucial when the original translations for the logical
host "test" have different translations for subdirectories.  The mechanism
only uses the first one that matches, and since this top-level pattern
erroneously matches, the more specific patterns later are never reached.

(Which of course leads to an easy workaround for the bug: put the most
specific translations first in the list.  But that shouldn't be required.
"sub;*.*.*" is _not_ an instance of "*.*.*" for logical host "test".)

	-- Don
Don Geddis (Geddis@CS.Stanford.Edu)