[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

questions about ".yy" in pathnames


I have some difficulties understanding the behaviour of pathnames with
a leading dot (.) and I have a feeling that the documentation is
contradictory, due to the fact that semantics have changed with the
"15 March 1996" release of CLISP (for UNIX and AMIGAOS (not documented
but shares code)).

I'm talking about the 1995-05-30 release of CLISP.

CHANGES.LOG (15 March 1996 changes) says
* On Unix, PARSE-NAMESTRING will not interpret a leading `.'
  as a file with a type but no name.  Instead, the file will include the `.'
  in the name.  Pathname syntax is unchanged.
  Thanks to Robert Morris <rtm@uun.org>.

What does "Pathname syntax is unchanged" actually mean w.r.t. such a change?

impnotes.txt/23.1 says
The minimum filename syntax that may be used portably is:
  ".yy"       for a pathname with type yy and no name specified.
Hereby xxx denote 1 to 8 characters, and yy denote 1 to 3 characters, each of
which being either alphanumerical or the underscore #\_.
Other properties of pathname syntax vary between operating systems.

tests/tests.lsp contains
(defun run-test (testname
                 &aux (logname (merge-pathnames #".erg" testname)) log-empty-p)
  (with-open-file (s (merge-pathnames #".tst" testname) :direction :input)

>From CHANGES.LOG, I'd expect that ".foo" now yields a pathname with
name ".foo" and type NIL.  But IMPNOTES.TXT seems to document the old
behaviour and TESTS.LSP looks like it has not been adapted since the
15th of March change and won't manage to generate a pathname with type
"erg" anymore.

Wasn't it a bad idea to switch the behaviour and make it incompatible
with DOS and ACORN?  I heard strong objections about it when I
suggested exactly this back in 1993 or so (precisely because it made
reading ".emacs" files difficult).

So what's true and what can be used in portable code?
	Jo"rg Ho"hle.
Joerg.Hoehle@gmd.de			hoehle@zeus.gmd.de