From: Bruno H. <ha...@il...> - 2000-08-17 14:24:20
|
Marco Antoniotti writes: > In LispWorks and Allegro > > (load "C:\\MyDirectory\\MyFile.FOO") > > works like a charm even if C: is (obviously) not defined as a logical > pathname. OTOH, logicla pathnames work as expected. I.e. you do not > need to spray your code with calls to LOGICAL-PATHNAME. :) Until I got Sam's reply, I didn't understand why you started talking about logical pathnames here. If a Windows user uses single letter followed by a colon at the beginning of a pathname she ALWAYS means a physical drive. I stand by the claim that the implicit test-if-has-the-syntax-of-a-logical-pathname, although mandated by ANSI CL, is counter-intuitive and dangerous. Bruno |
From: Sam S. <sd...@gn...> - 2000-08-17 14:55:52
|
> * In message <147...@ho...> > * On the subject of "Re: [clisp-list] fix for clisp startup problem on Win98" > * Sent on Thu, 17 Aug 2000 16:22:42 +0200 (CEST) > * Honorable Bruno Haible <ha...@il...> writes: > > Marco Antoniotti writes: > > > In LispWorks and Allegro > > > > (load "C:\\MyDirectory\\MyFile.FOO") > > > > works like a charm even if C: is (obviously) not defined as a logical > > pathname. OTOH, logicla pathnames work as expected. I.e. you do not > > need to spray your code with calls to LOGICAL-PATHNAME. :) > > Until I got Sam's reply, I didn't understand why you started talking > about logical pathnames here. If a Windows user uses single letter > followed by a colon at the beginning of a pathname she ALWAYS means a > physical drive. not necessarily. :-( the difference between genius and stupid is that genius is limited. > I stand by the claim that the implicit > test-if-has-the-syntax-of-a-logical-pathname, although mandated by > ANSI CL, is counter-intuitive and dangerous. While I do agree with you here, I still think that we should give this when invoked with -a. -- Sam Steingold (http://www.podval.org/~sds) Micros**t is not the answer. Micros**t is a question, and the answer is Linux, (http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation. When we write programs that "learn", it turns out we do and they don't. |
From: Bruno H. <ha...@il...> - 2000-08-17 15:00:56
|
Sam writes: > While I do agree with you here, I still think that we should give this > when invoked with -a. Yes. I'll agree if you implement it. On my priority list it's not in a high position. Bruno |
From: Sam S. <sd...@gn...> - 2000-08-17 16:06:56
|
> * In message <147...@ho...> > * On the subject of "Re: [clisp-list] fix for clisp startup problem on Win98" > * Sent on Thu, 17 Aug 2000 16:59:55 +0200 (CEST) > * Honorable Bruno Haible <ha...@il...> writes: > > Sam writes: > > > While I do agree with you here, I still think that we should give this > > when invoked with -a. > > Yes. I'll agree if you implement it. On my priority list it's not > in a high position. this would be a fairly large change: -------------------------------------------------------------------- Function PATHNAME Syntax: pathname pathspec => pathname Arguments and Values: pathspec---a pathname designator. pathname---a pathname. Description: Returns the pathname denoted by pathspec. If the pathspec designator is a stream, the stream can be either open or closed; in both cases, the pathname returned corresponds to the filename used to open the file. pathname returns the same pathname for a file stream after it is closed as it did when it was open. If the pathspec designator is a file stream created by opening a logical pathname, a logical pathname is returned. -------------------------------------------------------------------- thus we will have to allow logical pathnames as strm_file_name in Streams... -- Sam Steingold (http://www.podval.org/~sds) Micros**t is not the answer. Micros**t is a question, and the answer is Linux, (http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation. UNIX is as friendly to you as you are to it. Windows is hostile no matter what. |
From: Bruno H. <ha...@il...> - 2000-08-17 17:20:45
|
Sam writes: > If the pathspec designator is a file stream created by opening a logical > pathname, a logical pathname is returned. > -------------------------------------------------------------------- > > thus we will have to allow logical pathnames as strm_file_name in > Streams... This is already allowed. (strm_file_name is used mainly for printing the stream. The real low-level functions use strm_file_truename.) Only the code which fills in strm_file_name must be fixed. (Not trivial either.) The main patch will be in parse-namestring. Bruno |
From: Sam S. <sd...@gn...> - 2000-08-18 00:02:54
|
> * In message <147...@ho...> > * On the subject of "Re: [clisp-list] fix for clisp startup problem on Win98" > * Sent on Thu, 17 Aug 2000 19:19:37 +0200 (CEST) > * Honorable Bruno Haible <ha...@il...> writes: > > This is already allowed. (strm_file_name is used mainly for printing > the stream. The real low-level functions use strm_file_truename.) Only > the code which fills in strm_file_name must be fixed. (Not trivial > either.) I cannot figure it out. strm_file_name is filled only in make_file_stream, which is called only by open_file; which calls assure_dir_exists. the latter is defined many times over, once for each filesystem. I am scared of this stiff :-( > The main patch will be in parse-namestring. I just did it. It appears to work. -- Sam Steingold (http://www.podval.org/~sds) Micros**t is not the answer. Micros**t is a question, and the answer is Linux, (http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation. Whom computers would destroy, they must first drive mad. |
From: Bruno H. <ha...@il...> - 2000-08-18 15:26:08
|
Sam writes: > > Only > > the code which fills in strm_file_name must be fixed. (Not trivial > > either.) > > I cannot figure it out. strm_file_name is filled only in > make_file_stream, which is called only by open_file; which calls > assure_dir_exists. the latter is defined many times over, once for each > filesystem. I am scared of this stiff :-( ok, I did it now. > > The main patch will be in parse-namestring. > > I just did it. > It appears to work. Thanks. Mostly well done. I think your patch had a minor bug: (parse-namestring "SYS:FOOBAR" "BLA") must give an error. I removed the STACK_3=host; assignment to restore the error. Bruno |