I'm using CLISP 2.47+ from CVS built on 2008-10-28, including Sam's
fixes for bug #[ 2198109 ].
LOAD-LOGICAL-PATHNAME-TRANSLATIONS is still not working for
CMUCL-style host definition files when a case-sensitive filesystem is
used, for instance one of the most important Unix filesystems.
The same test case of bug report #[ 2198109 ], which
works fine with CLISP 2.46, can be used.
The problem is in the two MAKE-PATHNAMEs in lines 530 and 532 of
defs1.lisp, CVS version 1.72. They receive the STRING-UPCASEd version of host
name and return a pathname with file name in upper case. Therefore
DIRECTORY returns NIL.
The following is an excerpt of a Slime session:
CL-USER> (trace make-pathname)
WARNING: TRACE: redefining function MAKE-PATHNAME in top-level, was defined in C
;; Tracing function MAKE-PATHNAME.
(MAKE-PATHNAME)
CL-USER> (trace directory)
WARNING: TRACE: redefining function DIRECTORY in top-level, was defined in C
;; Tracing function DIRECTORY.
(DIRECTORY)
CL-USER> (load-logical-pathname-translations "test-case")
1. Trace: (MAKE-PATHNAME ':NAME '"TEST-CASE" ':DEFAULTS '#P"/home/aurelio/lisp/loghosts/")
1. Trace: MAKE-PATHNAME ==> #P"/home/aurelio/lisp/loghosts/TEST-CASE"
1. Trace: (DIRECTORY '#P"/home/aurelio/lisp/loghosts/TEST-CASE")
1. Trace: DIRECTORY ==> NIL
1. Trace: (MAKE-PATHNAME ':NAME '"TEST-CASE" ':TYPE '"host" ':DEFAULTS '#P"/home/aurelio/lisp/loghosts/")
1. Trace: MAKE-PATHNAME ==> #P"/home/aurelio/lisp/loghosts/TEST-CASE.host"
1. Trace: (DIRECTORY '#P"/home/aurelio/lisp/loghosts/TEST-CASE.host")
1. Trace: DIRECTORY ==> NIL
No translations for logical host "TEST-CASE" found
[Condition of type SIMPLE-ERROR]
Restarts:
0: [ABORT] Return to SLIME's top level.
1: [CLOSE-CONNECTION] Close SLIME connection
Backtrace:
0: [378] frame binding variables (~ = dynamically):
| ~ SWANK::*SLDB-STEPPING-P* <--> NIL
[...]
16: [324] EVAL frame for form (ERROR (SYSTEM::TEXT "No translations for logical host ~S found") SYSTEM::..
17: <1/322> #<SPECIAL-OPERATOR UNLESS>
[320] EVAL frame for form
(UNLESS (GETHASH SYSTEM::HOST SYSTEM::..
18: [316] frame binding environments
BLOCK_ENV <--> NIL
19: [314] block frame #<ADDRESS #xB7B534E8> for LOAD-LOGICAL-PATHNAME-TRANSLATIONS
Next environment: N..
20: <1/312> #<SPECIAL-OPERATOR BLOCK>
[310] EVAL frame for form
(BLOCK LOAD-LOGICAL-PATHNAME-TRANSLATIO..
21: [306] frame binding environments
VAR_ENV <--> NIL
FUN_ENV <--> NIL
BLOCK_ENV <--> NIL
GO_ENV..
22: [300] frame binding variables #<ADDRESS #xB7B534B0> binds (~ = dynamically):
| SYSTEM::HOST <--> ..
23: [294] APPLY frame for call (LOAD-LOGICAL-PATHNAME-TRANSLATIONS '"test-case")
24: <1/290>
#<FUNCTION LOAD-LOGICAL-PATHNAME-TRANSLATIONS (SYSTEM::HOST) (DECLARE (SYSTEM::IN-DEFUN LOA..
25: [289] EVAL frame for form (LOAD-LOGICAL-PATHNAME-TRANSLATIONS "test-case")
yes, the file name MUST be exactly the same as the name of the host being defined (and the hosts are upcase).
please rename your file to /home/aurelio/lisp/loghosts/TEST-CASE and try again.
This bug report is now marked as "pending"/"invalid".
This means that we think that the problem you report
is not a problem with CLISP.
Unless you - the reporter - act within 2 weeks,
the bug will be permanently closed.
Sorry about the inconvenience -
we hope your silence means that
you agree that this is not a bug in CLISP.
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).