[armedbear] #391: "bad place for a wild pathname" on EXT:PROBE-DIRECTORY for NAME containing #\*
armedbear
armedbear-devel at common-lisp.net
Fri Nov 25 11:26:53 UTC 2016
#391: "bad place for a wild pathname" on EXT:PROBE-DIRECTORY for NAME containing
#\*
---------------------------+-----------------------------------------------
Reporter: mevenson | Owner:
Type: defect | Status: new
Priority: major | Milestone: 1.5.0
Component: | Version:
interpreter |
Resolution: | Keywords: cl:probe-file ext:probe-directory
Parent Tickets: |
---------------------------+-----------------------------------------------
Comment (by mevenson):
Replying to [comment:1 mevenson]:
> From discussion in #lisp, it seems that PROBE-FILE cannot accept
pathname designators which contain wildcards, so the #\* character should
be treated as a literal #\* in our PROBE-{FILE,DIRECTORY} implementations.
The problem lies in that ABCL "overloads" the meaning of #\* characters in
PATHNAME objects as both designating a wildcard for a string of zero or
more characters, as well as a literal #\* object.
Surveying alisp, sbcl, and ccl reveal different strategies for dealing
with this.
For alisp, #p"foo*" is not WILD-PATHNAME-P true.
sbcl replaces pathnames with wildcards with explicit objects
{{{
CL-USER> (describe #p"/tmp/foo*")
#P"/tmp/foo*"
[structure-object]
Slots with :INSTANCE allocation:
HOST = #<SB-IMPL::UNIX-HOST {1000FDEC23}>
DEVICE = NIL
DIRECTORY = (:ABSOLUTE "tmp")
NAME = #<SB-IMPL::PATTERN "foo" :MULTI-CHAR-WILD>
TYPE = NIL
VERSION = :NEWEST
; No value
}}}
Lots of factors to consider here. Need to summarize issues more
succinctly.
--
Ticket URL: <http://abcl.org/trac/ticket/391#comment:4>
armedbear <http://abcl.org>
armedbear
More information about the armedbear-ticket
mailing list