[Bug-openmcl] pathnames

Gary Byers gb at clozure.com
Wed Jan 21 13:47:24 MST 2004



On Wed, 21 Jan 2004, bryan o'connor wrote:

> [an implied "as i understand it" for all of this below]
>
> the issue with (make-pathname) setting :UNSPECIFIC for host
> and version arises when using merge-pathnames.
>
> (pathname-version (merge-pathnames (make-pathname) #p"foo" :NEWEST))
> returns :UNSPECIFIC with openmcl and :NEWEST on sbcl.
>
> the standard says that make-pathname will fill in any non-
> specified fields with values from *default-pathname-defaults*
> and NIL otherwise.
>
> *default-pathname-defaults* doesn't specify anything for
> host and version.. while not technically wrong, i think it's
> problematic in that it doesn't do what the user would expect.
>
> two solutions are adding :UNSPECIFIC to *default-pathname-defaults*
> (which means adding slots to %pathname or changing it to type
> %logical-pathname) or changing (make-pathname) to set NIL slots
> instead.
>

The third approach is "throw out the pathname code and start over".
Not as easy as it sounds (or necessarily a good idea), but it often
seems attractive.

> adding the slots to to %pathname could help with the :WILD
> failures with pathname-host and pathname-version.

It probably would be right to do this on general principles; I'm
sure that someone once thought that leaving the fields out would
be a Big Space Saving Win.  Uh, no ...

>
> like most of the other remaining failures, there don't really
> seem to be bugs -- more like "nitpicks".  i think we've
> cleaned up most of the major bugs.

I don't know if you caught this, but (prior to sometime last night):

(defun foo (x)
  (ash x 27))

would complain that (SIGNED-BYTE 1) isn't a valid type specifier.
It is, but the compiler's notion of how wide something has to be
so that the result of shifting it left N bits will fit in a fixnum
was based on how big fixnums were in 68K MCL as of about 1988.
Apparently, noone's shifted anything by exactly 27 bit in the last
15 years.

>
> 				...bryan
>
> _______________________________________________
> Bug-openmcl mailing list
> Bug-openmcl at clozure.com
> http://clozure.com/mailman/listinfo/bug-openmcl
>
>


More information about the Bug-openmcl mailing list