[cxml-devel] Handling doctype declarations for system-ids?

David Lichteblau david at lichteblau.com
Mon Mar 20 16:29:02 UTC 2006


Quoting Marco Antoniotti (marcoxa at cs.nyu.edu):
> Just to be nitpicking.  Merging *d-p-d* (which I assume to be 
> *DEFAULT-PATHNAME-DEFAULTS*) isn't guaranteed to work.  *d-p-d* can be 
> a relative pathname.  Wouldn't that cause the same problem?

Well, ISTR that CMUCL starts with an empty *default-pathname-defaults*,
so I recognize that CMUCL users might indeed still have this problem
even with the patch.

And since the spec is terribly vague on this issue (like most issues
relating to pathnames), the implementation choice made by CMUCL
maintainers is technically correct.

However,
  - the spec does say that *default-pathname-defaults* is "typically in
    the working directory that was current when Common Lisp was started up".
  - it's the only approximation of the concept of a "working directory"
    I am aware of in portable Common Lisp and many Lisps implement it
    like that.
  - if the implementation chooses not to set it to the working
    directory, users can easily fix that by setting or binding it
    themselves.  (Or, of course, by passing an absolute pathname to
    cxml:parse-file in the first place...)

So using it seems like a reasonable compromise to me, and improves the
situation on some Lisps while not making it worse on the others.

If there is a better way to fix this I'm open to suggestions.


d.



More information about the cxml-devel mailing list