#70 closed defect (fixed)

Source location error with a logical pathname default

Reported by: rtoy Owned by: somebody
Priority: major Milestone:
Component: Core Version: 2013-01
Keywords: Cc:

Description

When ticket:69 is fixed, the same code will then generated the following error:

Parse error in namestring: Illegal character for logical pathname:
  #\/
  /tmp/bar.lisp
  ^
   [Condition of type LISP::NAMESTRING-PARSE-ERROR]

Restarts:
  0: [ABORT] Return to Top-Level.

Debug  (type H for help)

(LISP::LOGICAL-CHUNKIFY "/tmp/foo.lisp" 0 13)
Source: Error finding source: Parse error in namestring: Illegal character for logical pathname:
  #\/
  target:code/pathname.lisp
             ^
0] 

The first error message is ok. The error about finding the source happens again because the source information is stored as a namestring which the debugger uses to open the source file. However, it's merged with the logical pathname in *default-pathname-defaults*, causing another error because the search-list namestring is treated as a logical pathname namestring.

Change History (1)

comment:1 Changed 21 months ago by toy.raymond@…

  • Resolution set to fixed
  • Status changed from new to closed

commit ab191d0f0c6c3744688042d14f754c3e35a4a793 Author: Raymond Toy <toy.raymond@…> Date: Wed Jan 23 20:20:18 2013 -0800

Fix ticket:70 by binding *d-p-d* to #p"".

This allows logical pathnames (which always have a host to parse against) and search-lists (which don't have an explicit pathname to parse against) to be parsed correctly. See the comment for some possible issues.

Note: See TracTickets for help on using tickets.