From: Vladimir Zolotykh
Subject: logical pathnames: where's the type?
Date: 
Message-ID: <20060208170906.5aa09614.gsmith@eurocom.od.ua>
Hi

The question is about logical pathnames. In the following simple session
I can't understand what I see in the line marked [***]

       cl-user(1):  (setf (logical-pathname-translations "mailer") '(("*.*.*" "*.text.*")))
       (("*.*.*" "*.text.*"))
       cl-user(2):  (translate-logical-pathname "mailer:predict-message")
       #P"predict-message.text"
       cl-user(3):  (setf (logical-pathname-translations "mailer") '(("*.*.*" "sys:;*.text.*")))
       (("*.*.*" "sys:;*.text.*"))
       cl-user(4):  (translate-logical-pathname "mailer:predict-message")
[***]  #P"/usr/local/acl80/predict-message"
       cl-user(5): 

Why in the line [***] I don't see the ".text" extension? Would you
mind telling me where is my mistake?

To be honest, I still can't grasp the syntax of logical
pathnames. Every time when I need them I experience remarkable
difficulties. Something that I think should work doesn't and again
something that I think shouldn't -- works. For example, if I need
MAILER:FOO (logical) to be translated to ./FOO.text (physical) what
should I write? What's the difference between MAILER:FOO and
MAILER:;FOO, etc. These questions aren't meant to be answered. I
mentioned them only to illustrate my difficulties in understanding
logical pathnames. And to me processing wildcards is very confusing.

Using ACL 8.0 on x86f box 

-- 
Vladimir Zolotykh

From: Raymond Toy
Subject: Re: logical pathnames: where's the type?
Date: 
Message-ID: <sxdzml1n2gj.fsf@rtp.ericsson.se>
>>>>> "Vladimir" == Vladimir Zolotykh <······@eurocom.od.ua> writes:


    Vladimir>        cl-user(1):  (setf (logical-pathname-translations "mailer") '(("*.*.*" "*.text.*")))
    Vladimir>        (("*.*.*" "*.text.*"))
    Vladimir>        cl-user(2):  (translate-logical-pathname "mailer:predict-message")
    Vladimir>        #P"predict-message.text"
    Vladimir>        cl-user(3):  (setf (logical-pathname-translations "mailer") '(("*.*.*" "sys:;*.text.*")))
    Vladimir>        (("*.*.*" "sys:;*.text.*"))
    Vladimir>        cl-user(4):  (translate-logical-pathname "mailer:predict-message")
    Vladimir> [***]  #P"/usr/local/acl80/predict-message"
    Vladimir>        cl-user(5): 

    Vladimir> Why in the line [***] I don't see the ".text" extension? Would you
    Vladimir> mind telling me where is my mistake?

What's the translation for sys?  That might help to figure this out.

    Vladimir> To be honest, I still can't grasp the syntax of logical
    Vladimir> pathnames. Every time when I need them I experience remarkable
    Vladimir> difficulties. Something that I think should work doesn't and again
    Vladimir> something that I think shouldn't -- works. For example, if I need
    Vladimir> MAILER:FOO (logical) to be translated to ./FOO.text (physical) what
    Vladimir> should I write? What's the difference between MAILER:FOO and

Logical pathnames are case-insensitive (mostly), so if you want
MAILER:FOO to translate to FOO.text, you probably need an explicit
translation for it.  Something like

    (("FOO" "FOO.text"))

    Vladimir> MAILER:;FOO, etc. These questions aren't meant to be answered. I

The mailer:;foo is a relative name.  I think these are usually used
when merging logical pathnames together.  But I'm not really very good
with logical pathnames.

Ray
From: Vladimir Zolotykh
Subject: Re: logical pathnames: where's the type?
Date: 
Message-ID: <20060209141828.2a4c16de.gsmith@eurocom.od.ua>
On Wed, 08 Feb 2006 13:13:32 -0500
Raymond Toy <···········@ericsson.com> wrote:

> >>>>> "Vladimir" == Vladimir Zolotykh <······@eurocom.od.ua> writes:
> 
> 
>     Vladimir>        cl-user(1):  (setf (logical-pathname-translations "mailer") '(("*.*.*" "*.text.*")))
>     Vladimir>        (("*.*.*" "*.text.*"))
>     Vladimir>        cl-user(2):  (translate-logical-pathname "mailer:predict-message")
>     Vladimir>        #P"predict-message.text"
>     Vladimir>        cl-user(3):  (setf (logical-pathname-translations "mailer") '(("*.*.*" "sys:;*.text.*")))
>     Vladimir>        (("*.*.*" "sys:;*.text.*"))
>     Vladimir>        cl-user(4):  (translate-logical-pathname "mailer:predict-message")
>     Vladimir> [***]  #P"/usr/local/acl80/predict-message"
>     Vladimir>        cl-user(5): 
> 
>     Vladimir> Why in the line [***] I don't see the ".text" extension? Would you
>     Vladimir> mind telling me where is my mistake?
> 
> What's the translation for sys?  That might help to figure this out.
((#P";**;*.*" #P"/usr/local/acl80/" #S(excl::cached-translation-info :host nil :device nil :directory nil :name nil :type nil :version nil))
 (#P"**;*.*" #P"/usr/local/acl80/" #S(excl::cached-translation-info :host nil :device nil :directory nil :name nil :type nil :version nil)))
You're right. It does help. Thanks
> 
>     Vladimir> To be honest, I still can't grasp the syntax of logical
>     Vladimir> pathnames. Every time when I need them I experience remarkable
>     Vladimir> difficulties. Something that I think should work doesn't and again
>     Vladimir> something that I think shouldn't -- works. For example, if I need
>     Vladimir> MAILER:FOO (logical) to be translated to ./FOO.text (physical) what
>     Vladimir> should I write? What's the difference between MAILER:FOO and
> 
> Logical pathnames are case-insensitive (mostly), so if you want
> MAILER:FOO to translate to FOO.text, you probably need an explicit
> translation for it.  Something like
> 
>     (("FOO" "FOO.text"))
> 
>     Vladimir> MAILER:;FOO, etc. These questions aren't meant to be answered. I
> 
> The mailer:;foo is a relative name.  I think these are usually used
> when merging logical pathnames together.  But I'm not really very good
> with logical pathnames.
> 
> Ray


-- 
Vladimir Zolotykh