[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