Logical pathname namestring syntax incompletely supported
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
New
|
Undecided
|
Unassigned |
Bug Description
Given this fragment of the LPN namestring syntax BNF in 19.3.1,
logical-pathname::= [host host-marker]
I believe the name portion of a logical pathname namestring ought to be optional.
However, SBCL doesn't parse LPNs lacking name portions [1].
The attached patch suffices to support this syntax in the LPN namestring parser and constructor.
Uname and features below [2].
[1) Transcript of error.
sh ./run-sbcl.sh --no-userinit --no-sysinit
This is SBCL 1.4.10.
More information about SBCL is available at <http://
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (logical-pathname "sys:a;.c.newest")
debugger invoked on a SIMPLE-TYPE-ERROR in thread
#<THREAD "main thread" RUNNING {10005505B3}>:
"sys:a;.c.newest" is not a valid logical namestring:
parse error in namestring: expecting a file name, got #\..
sys:a;.c.newest
^
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [ABORT] Exit debugger, returning to top level.
((FLET SB-IMPL::OOPS :IN LOGICAL-PATHNAME) #<SB-KERNEL:
[2] uname and *FEATURES*
Darwin m5.localdomain 14.5.0 Darwin Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; root:xnu-
* *features*
(:X86-64 :64-BIT :64-BIT-REGISTERS :ALIEN-CALLBACKS :ANSI-CL :ASH-RIGHT-VOPS
:BSD :C-STACK-
:COMPACT-
:CYCLE-COUNTER :DARWIN :DARWIN9-OR-BETTER :FLOAT-EQL-VOPS
:FP-AND-
:IMMOBILE-SPACE :INLINE-CONSTANTS :INODE64 :INTEGER-EQL-VOP :LINKAGE-TABLE
:LITTLE-ENDIAN :MACH-EXCEPTION
:MULTIPLY-
:OS-PROVIDES-
:PACKAGE-
:RELOCATABLE-HEAP :SB-DOC :SB-EVAL :SB-LDB :SB-PACKAGE-LOCKS :SB-SIMD-PACK
:SB-SOURCE-
:STACK-
:STACK-
:UD2-BREAKPOINTS :UNBIND-N-VOP :UNDEFINED-
:UNWIND-