DWIM in logical pathname translation?

JP Massar <[email protected]> Sat, 12 Apr 2003 11:43:40 -0700
Newsgroups gmane.lisp.corman
Message-ID <[email protected]>
;; What on earth is going on here?
;; It insists on translating .lsp and .cl file extensions
;; into .lisp file extensions!!

(require 'lp)
(use-package :lp)
(setq *biol-directory* (pathname "C:/Lispcode/biolisp/"))
(progn
   (setf (lp::physical-host-type (pathname-device *biol-directory*)) :win32)
   (let ((dirstring (namestring *biol-directory*)))
     (setf (logical-pathname-translations "biol")
       `(("*.*.*" ,dirstring)
         ("**;*.*.*" ,(concatenate 'string dirstring "**\\"))
         (";**;*.*.*" ,(concatenate 'string dirstring "**\\"))
         ))))
#P"C:\Lispcode\biolisp\"
(("*.*.*" "C:\\Lispcode\\biolisp\\") ("**;*.*.*" 
"C:\\Lispcode\\biolisp\\**\\") (";**;*.*.*" "C:\\Lispcode\\biolisp\\**\\"))

;; Looks OK

(translate-logical-pathname "biol:foo.bar")
"C:\\Lispcode\\biolisp\\foo.bar"
(translate-logical-pathname "biol:code;foo.lisp")
"C:\\Lispcode\\biolisp\\code\\foo.lisp"

;; WTF ????? .lsp -> .lisp, .cl -> .lisp

(translate-logical-pathname "biol:code;foo.lsp")
"C:\\Lispcode\\biolisp\\code\\foo.lisp"
(translate-logical-pathname "biol:code;foo.cl")
"C:\\Lispcode\\biolisp\\code\\foo.lisp"

;; Well, at least it doesn't think .c files are lisp code

(translate-logical-pathname "biol:code;foo.c")
"C:\\Lispcode\\biolisp\\code\\foo.c"

-----------------

Why is it doing this, and how can I fix it?

Thanks!