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.netwrote:
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/