Hello Luis;

Thanks for the query, and sorry for the delay.  Here is a cut-and-paste of what passes for a test-case.  Basically, I have an old symbolic link hanging about, which has ":0" at the end (the X11 display number?), and which further happens to be a symbolic link to yet another old file - they are presumably created by Linux' DCOP (although I am not familiar with the details)...  SBCL returns a (long) list of pathnames that includes both the symlink (with the ":0" in the pathname) and the pointed-to file.

-jm


[jm@jm7 ~]$ lx86cl64
Welcome to Clozure Common Lisp Version 1.9-r15870 (LinuxX8664)!
? (ql:quickload :osicat)
To load "osicat":
Load 1 ASDF system:
osicat
; Loading "osicat"

(:OSICAT)
? (osicat:list-directory #P"/home/jm")
> Error: ".DCOPserver_jm4_" is not a defined logical host
> While executing: CCL::PATHNAME-HOST-SSTR, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > :b
(2B1F9EEA9710) : 0 (PATHNAME-HOST-SSTR ".DCOPserver_jm4_:0" 0 18 NIL) 365
(2B1F9EEA9768) : 1 (STRING-TO-PATHNAME ".DCOPserver_jm4_:0" 0 18 NIL #P"") 789
(2B1F9EEA9830) : 2 (MERGE-PATHNAMES ".DCOPserver_jm4_:0" #P"" :NEWEST) 213
(2B1F9EEA9888) : 3 (TRANSLATED-NAMESTRING ".DCOPserver_jm4_:0") 37
(2B1F9EEA98A0) : 4 (NATIVE-TRANSLATED-NAMESTRING ".DCOPserver_jm4_:0") 85
(2B1F9EEA98D8) : 5 (GET-FILE-KIND ".DCOPserver_jm4_:0" T) 45
(2B1F9EEA98F8) : 6 (FUNCALL #'#<(:INTERNAL OSICAT::ONE-ITER OSICAT::CALL-WITH-DIRECTORY-ITERATOR)>) 205
(2B1F9EEA9918) : 7 (FUNCALL #'#<(:INTERNAL OSICAT:LIST-DIRECTORY)> #<COMPILED-LEXICAL-CLOSURE (:INTERNAL OSICAT::ONE-ITER OSICAT::CALL-WITH-DIRECTORY-ITERATOR) #x302001C8A24F>) 197
(2B1F9EEA9958) : 8 (CALL-WITH-DIRECTORY-ITERATOR #P"/home/jm/" #<COMPILED-LEXICAL-CLOSURE (:INTERNAL OSICAT:LIST-DIRECTORY) #x302001C8A4FF>) 493
(2B1F9EEA99E8) : 9 (LIST-DIRECTORY #P"/home/jm" :BARE-PATHNAMES NIL) 285
(2B1F9EEA9A20) : 10 (CALL-CHECK-REGS OSICAT:LIST-DIRECTORY #P"/home/jm") 221
(2B1F9EEA9A58) : 11 (TOPLEVEL-EVAL (OSICAT:LIST-DIRECTORY #P"/home/jm") NIL) 709
(2B1F9EEA9AF8) : 12 (READ-LOOP :INPUT-STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #x3020006B541D> :OUTPUT-STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #x3020006B52BD> :BREAK-LEVEL 0 :PROMPT-FUNCTION #<Compiled-function (:INTERNAL CCL::READ-LOOP) (Non-Global) #x30000052D2BF>) 2309
(2B1F9EEA9D58) : 13 (RUN-READ-LOOP :BREAK-LEVEL 0) 157
(2B1F9EEA9D80) : 14 (TOPLEVEL-LOOP) 101
(2B1F9EEA9DA8) : 15 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT-SYSTEM T)))>) 101
(2B1F9EEA9DC8) : 16 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 645
(2B1F9EEA9E60) : 17 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1) [Active] #x3020006B439D> (#<COMPILED-LEXICAL-CLOSURE # #x3020006B3ECF>)) 709
(2B1F9EEA9EF0) : 18 (FUNCALL #'#<(:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS)))> #<TTY-LISTENER listener(1) [Active] #x3020006B439D> (#<COMPILED-LEXICAL-CLOSURE # #x3020006B3ECF>)) 573
(2B1F9EEA9F98) : 19 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 277
1 > :q
? (quit)
[jm@jm7 ~]$ ls -lh .*DCOPserver_jm4*
-rw-r--r--. 1 jm users 50 Jan 9 2009 .DCOPserver_jm4__0
lrwxrwxrwx. 1 jm users 27 Sep 6 2008 .DCOPserver_jm4_:0 -> /home/jm/.DCOPserver_jm4__0
[jm@jm7 ~]$








On Mon, Jan 6, 2014 at 7:34 PM, Luís Oliveira <loliveira@common-lisp.net> wrote:
On Tue, Dec 31, 2013 at 1:11 AM, John Morrison
<jm@symbolic-simulation.com> wrote:
> ? (merge-pathnames "foo:bar" #P"" :newest)
>> Error: "foo" is not a defined logical host

One could use make-pathname instead:

(make-pathname :name "foo:bar" :type nil)
=> #P"foo:bar"

How does this issue relate to osicat? Do you have a test case?

Cheers,

--
Luís Oliveira
http://kerno.org/~luis/