/[cmucl]/src/code/pathname.lisp
ViewVC logotype

Log of /src/code/pathname.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to unicode-utf16-sync-2008-11: (view) (annotate)
Sticky Tag:

Revision 1.86.2.2 - (view) (annotate) - [select for diffs]
Mon May 19 16:55:15 2008 UTC (5 years, 11 months ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12
Branch point for: unicode-utf16-extfmt-branch
Changes since 1.86.2.1: +1 -9 lines
Diff to previous 1.86.2.1 , to branch point 1.86
Remove debugging stuff.

code/c-call.lisp:
o Remove debugging print
o Don't need make-array-unsigned-byte-8.  It was never really needed.
o Update deport-gen not to use make-array-unsigned-byte-8.
o Remove %primitive prints.

code/filesys.lisp:
o Remove %primitive prints.

code/lispinit.lisp:
o Remove %primitive prints.

code/pathname.lisp:
o Remove %primitive prints.

Revision 1.86.2.1 - (view) (annotate) - [select for diffs]
Wed May 14 16:12:04 2008 UTC (5 years, 11 months ago) by rtoy
Branch: unicode-utf16-branch
Changes since 1.86: +9 -1 lines
Diff to previous 1.86
Initial checkin of unicode branch.  This is incomplete.

What works:
o Cross-compile works on sparc and a lisp.core is created.  This core
  is able to build code and appears to use 16-bit strings.

What doesn't:
o The sparc version is not able to rebuild itself.  It hangs when
  trying to create a new lisp.core.
o The x86 version will cross-compile, but worldload fails.  The files
  being loaded have bizarre names.  Probably some deftransform not
  working correctly.

Issues:
o Characters are still essentially 8 bits.  This needs to be fixed.
o All input/output is basically still 8 bits.  Only the low 8 bits of
  a character are output.  For input, characters are assumed to be
  8-bit.
o No external formats or anything is supported.
o Readtable support not done.


Use boot-2008-05-cross-unicode-{sparc,x86}.lisp to cross-compile the
unicode changes.

Untested whether this code can still be compiled without :unicode.

Changes:

code/array.lisp:
o Base-char strings are 16 bits wide, not 8.

code/c-call.lisp:
o Define versions of DEPORT-GEN, %NATURALIZE-C-STRING to "handle"
  unicode strings.

code/debug-info.lisp:
o Adjust READ-VAR-STRING to use 16-bit strings.  (Needed to at least
  to make the disassembler work.)

code/debug.lisp:
o Add address when printing out objects that can't be printed.
  (Generally useful and not just for unicode.)

code/fd-stream.lisp:
o Hack output routines to only use the low 8-bits of the character.
  (This needs significant work!)

code/filesys.lisp:
o Some debugging %primitive prints left in, but commented out, in
  PARSE-UNIX-NAMESTRING.

code/lispinit.lisp:
o Debugging %primitive print's for top-level forms.

code/load.lisp:
o Update FOP-SHORT-CHARACTER for unicode.  But still only output the
  low 8 bits of a character to a fasl/core.  This needs updating.
o Hack routines for symbols to explicitly read in the individual bytes
  of the symbol/package name because READ-N-BYTES isn't working for us
  right now.
o Update FOP-STRING/FOP-SMALL-STRING to read in 16-bit elements for
  strings.  Full 16-bit strings supported.
o Currently only write 8-bit chars for foreign names.  This needs
  fixing.

code/misc.lisp:
o Register :unicode runtime feature.

code/pathname.lisp:
o Debugging %primitive prints left in, but commented out.

code/stream.lisp:
o Replace %primitive byte-blt with REPLACE for now to get the desired
  characters.

code/unix-glibc2.lisp:
o Workaround for unix-current-directory to return 16-bit strings.
  (Not necessary anymore?)
o UNIX-RESOLVE-LINKS doesn't seem to like MAKE-STRING with an
  INITIAL-ELEMENT specified.  Remove initial-element.  (Needs fixing.)

code/unix.lisp:
o Same as for unix-glibc2.lisp

compiler/array-tran.lisp:
o Turn off the MAKE-STRING deftransform.
o Update ARRAY-INFO to create 16-bit arrays for an element-type of
  base-char.

compiler/dump.lisp:
o Only dump 8-bit chars to a fasl for foreign fixups.
o Explicitly dump the characters of symbol name.  DUMP-BYTES not quite
  working for us now?
o Make DUMP-SIMPLE-STRING dump all 16 bits of each character.
o Characters are dumped as the low 8 bits.  Needs fixing.

compiler/generic/new-genesis.lisp:
o STRING-TO-CORE writes 16-bit strings to the core file.
o FOP-SHORT-CHARACTER for unicode added, but we still only write 8
  bits to the core.  (Needs fixing.)
o COLD-LOAD-SYMBOL modified to read 16-bit characters from the fasl
  file to create a symbol.
o FOP-UNINTERNED-SYMBOL-SAVE and FOP-UNINTERNED-SMALL-SYMBOL-SAVE
  reads 16-bit characters for symbol names.
o FOP-STRING/FOP-SMALL-STRING reads 16-bit characters for strings.
o FOP-FOREIGN-FIXUP and FOP-FOREIGN-DATA-FIXUP still only read 8-bit
  characters for foreign names.  (Needs fixing.)

compiler/generic/vm-tran.lisp:
o New deftransforms to support unicode.  Not the most efficient but
  should be workable for now.  Old deftransforms didn't copy enough
  bits.
o Deftransform for concatenate completely disabled.  This needs
  fixing.

compiler/sparc/array.lisp:
o Change simple-string accessor to use halfword accessors instead of
  byte accessors.

compiler/x86/array.lisp:
o Change simple-string accessor to use halfword accessors instead of
  byte accessors.

lisp/Config.linux_gencgc:
o Define -DUNICODE as needed

lisp/Config.sun4_solaris_sunc
o Define -DUNICODE as needed.

lisp/alloc.c:
o alloc_string needs to allocate 16-bit strings

lisp/backtrace.c:
o Tell ldb backtrace how to print out 16-bit strings.  This is a hack!

lisp/gencgc.c:
o Tell GC how long the 16-bit strings are now.

lisp/interr.c:
o Not really needed but make debug_print (aka %primitive print)
  support all objects by calling ldb's print function to print the
  object.

lisp/os-common.c:
o Add hack convert_lisp_string to take a 16-bit Lisp string and create
  a new string containing just the low 8 bits of each Lisp character.
o OS foreign linkage stuff needs 8-bit strings, so we need to convert
  Lisp strings to the desired size.  Very hackish!

lisp/print.c:
o Teach ldb how to print Lisp 16-bit strings.  Currently, just dump
  out each byte of the 16-bit string.  This needs major work!

lisp/purify.c:
o Teach purify about the 16-bit strings.

Revision 1.86 - (view) (annotate) - [select for diffs]
Fri Apr 4 15:11:13 2008 UTC (6 years ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, merge-sse2-packed, merge-with-19f, release-19f-base, release-19f-pre1, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-utf16-base
Branch point for: RELEASE-19F-BRANCH, sse2-branch, sse2-packed-branch, unicode-utf16-branch
Changes since 1.85: +22 -9 lines
Diff to previous 1.85
o Pathname printer was producing an error for (MAKE-PATHNAME :HOST NIL
  :TYPE "foo").  This is because PATHNAME-HOST was signaling an error
  for a host of NIL.  We check for a host of NIL now, and bypass the
  call to PATHNAME-HOST.  This allows the pathname printer to print
  #P(:HOST NIL :TYPE "foo"), as we want.

  (The error comes from host-pathname.  NIL is a valid result of
  host-pathname, so we could change that, but I think that has other
  implications, one of which is (MAKE-PATHNAME :HOST NIL :NAME "foo"
  :TYPE "lisp") gets printed as #P"foo.lisp", which is wrong, since
  that pathname has a unix-host host.)

o Fix merging of version in MAKE-PATHNAME.  CLHS MERGE-PATHNAMES says
  if the pathname name is given, the version is not affected by the
  default pathname.

Revision 1.85 - (view) (annotate) - [select for diffs]
Mon Sep 10 16:25:00 2007 UTC (6 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04
Branch point for: release-19e-branch
Changes since 1.84: +6 -2 lines
Diff to previous 1.84
Apply patch from Walter C. Pelissero, cmucl-imp, 2007-09-05, fixing
bug that #p"..." didn't have a namestring.

Some further changes were also applied to fix the problem that #p"..a"
had directory = (:relative), name = nil, and type "a".  This is now
directory = nil, name = ".", type ="a".

Revision 1.84 - (view) (annotate) - [select for diffs]
Tue Nov 8 17:12:29 2005 UTC (8 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, pre-telent-clx, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, release-19d-branch
Changes since 1.83: +51 -12 lines
Diff to previous 1.83
Add an extension to allow printing pathnames using the syntax
#P(<make-pathname args).  So most pathnames can be printed readably,
even if they have weird components.  But we don't handle search-lists
and patterns very well because we don't have readable syntax for
those.

code/sharpm.lisp:
o Make the #P reader accept lists and apply make-pathname on them to
  create the pathname

code/pathname.lisp:
o If a pathname has no namestring, then try to print out the pathname
  object using #P(foo) syntax, if possible.  If not possible, just
  print out the pathname unreadably, as we used to.
o Put some conditional newlines when printing out unprintable
  pathnames so it wraps a bit better.  (Needs work.)

Revision 1.83 - (view) (annotate) - [select for diffs]
Mon Oct 24 14:55:32 2005 UTC (8 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2005-11
Changes since 1.82: +16 -5 lines
Diff to previous 1.82
Fix ansi-test logical-pathname.error.2 which was failing because
LOGICAL-PATHNAME-NAMESTRING-P wasn't defined anywhere.

o Add LOGICAL-PATHNAME-NAMESTRING-P and adjust LOGICAL-PATHNAME to use
  it.

o Print out identity when printing logical-hosts.  (This unrelated
  change makes it easier to see that the user's BOGUS logical host
  isn't the same as the BOGUS logical host used in
  *LOGICAL-PATHNAME-DEFAULTS*.

Revision 1.82 - (view) (annotate) - [select for diffs]
Fri Sep 30 14:53:52 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19c, release-19c-base, release-19c-pre1, snapshot-2005-10
Branch point for: release-19c-branch
Changes since 1.81: +9 -3 lines
Diff to previous 1.81
For all intents and purposes, pathnames with :version nil and :version
:newest are equivalent in CMUCL.

src/pathname.lisp:
o Make EQUAL compare pathnames such that version nil and :newest are
  equal.

src/hash-new.lisp:
o Adjust sxhash to treat :version nil and :newest the same.  (Version
  :newest is hashed as if it were nil.)

Revision 1.81 - (view) (annotate) - [select for diffs]
Tue Sep 27 21:17:02 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.80: +12 -5 lines
Diff to previous 1.80
o A PATH-DESIGNATOR includes a file-stream, not a plain stream.
o A declarations for the path designators that were missing in
  PATHNAME-MATCH-P and ENOUGH-NAMESTRING.

Revision 1.80 - (view) (annotate) - [select for diffs]
Sun Sep 25 21:42:14 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.79: +24 -23 lines
Diff to previous 1.79
The defaults arg for PARSE-NAMESTRING is a pathname designator, not a
pathname,  Adjust PARSE-NAMESTRING to accept pathname designators.

Revision 1.79 - (view) (annotate) - [select for diffs]
Sat Sep 24 01:26:37 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.78: +2 -2 lines
Diff to previous 1.78
Oops.  ENOUGH-NAMESTRING is supposed to return a namestring, not a
pathname object.

Revision 1.78 - (view) (annotate) - [select for diffs]
Wed Sep 21 20:01:34 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.77: +5 -2 lines
Diff to previous 1.77
code/filesys.lisp:

o Make the #p reader treat ".." as a directory, not a file.
o Make the #p reader treat "<lots of dots>" be a file with that name
  instead of name with one fewer dot and type "".  So #p"..." has
  :name "...", :type nil instead of :name "..", :type "".

code/pathname.lisp:
o Issue a warning if someone wants :name to be ".." or ".".  We allow
  it, but doing so will break print/read consistency.  (Should we make
  such pathnames not readably printable?)

Revision 1.77 - (view) (annotate) - [select for diffs]
Mon Sep 19 21:04:43 2005 UTC (8 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.76: +44 -28 lines
Diff to previous 1.76
o Print out the host name when we're printing out LOGICAL-HOST
  objects.  (Makes it easier to see what the logical host is when
  describe'ing a pathname.)

o Fix some issues with UNPARSE-ENOUGH-NAMESTRING
  o It should return a string, not the pathname object.  (Noted by
    Peter Graves on cmucl-imp, 2005-09-18.)
  o The directory paths must have something more in common than just
    :ABSOLUTE before we produce a relative directory path.  Fixes the
    issue of always returning relative paths even if the directories
    don't match at all.

o In ENOUGH-NAMESTRING, if the host for the pathname isn't the same as
  the host for the defaults, just return the pathname.  I (rtoy) think
  this is right.  It doesn't make sense to do anything if the hosts
  are different.

Revision 1.76 - (view) (annotate) - [select for diffs]
Fri Sep 16 21:27:35 2005 UTC (8 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.75: +3 -1 lines
Diff to previous 1.75
TRANSLATE-PATHNAME should signal an error if (pathname-match-p source
from-wildcard) is not true.  (Noted by Peter Graves.)

Revision 1.75 - (view) (annotate) - [select for diffs]
Tue Sep 13 14:38:44 2005 UTC (8 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.74: +8 -2 lines
Diff to previous 1.74
Pathnames with NIL hosts now use the host from
*default-pathname-defaults* or *unix-host* to get the namestring.
Previously, an error was generated.  This change breaks print/read
consistency for pathnames with NIL hosts.

Revision 1.74 - (view) (annotate) - [select for diffs]
Mon Sep 12 14:38:17 2005 UTC (8 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.73: +19 -3 lines
Diff to previous 1.73
Fix some issues with printing (make-pathname :directory '(:relative)),
which used to print as #p"", and with reading #p".", #p"./".

code/filesys.lisp:
o When parsing a unix namestring, delete any "." elements of the
  directory list.
o If we've parsed a namestring such that the file name is ".", replace
  that with :name NIL and adjust the :directory component
  appropriately, because on Unix, "." can't be the name of a file.
o Make :directory '(:relative) be printed as "./"

code/pathname.lisp:
o If the :directory argument to MAKE-PATHNAME contains strings with
  #\/, print a warning that this is not a valid element.
o Remove all "."'s from a :relative directory component.

Revision 1.73 - (view) (annotate) - [select for diffs]
Wed May 11 13:51:09 2005 UTC (8 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19b-base, release-19b-pre1, release-19b-pre2, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09
Branch point for: release-19b-branch
Changes since 1.72: +16 -2 lines
Diff to previous 1.72
Supply a pathname for simple-file-error in make-pathname when we have
:absolute or :wild-inferiors followed by :up or :back.

Not exactly sure what pathname to use here since we don't accept these
pathnames.  So we use the given pathname with the :up/:back deleted.
And the format strings gives more info about what happened.

Fixes ansi-test MAKE-PATHNAME-ERROR-RELATIVE-WILD-INFERIORS-UP and
friends.

Revision 1.72 - (view) (annotate) - [select for diffs]
Thu Dec 23 16:22:04 2004 UTC (9 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05
Branch point for: ppc_gencgc_branch
Changes since 1.71: +18 -8 lines
Diff to previous 1.71
MAKE-PATHNAME will now accept an explicit :HOST arg of NIL, which will
be used to fill the host slot of a pathname.  Previously, if :HOST
were NIL, the host slot would be filled from the defaults.

Revision 1.71 - (view) (annotate) - [select for diffs]
Fri Oct 22 18:30:32 2004 UTC (9 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-11, snapshot-2004-12
Changes since 1.70: +6 -2 lines
Diff to previous 1.70
o Make NAMESTRING-PARSE-ERROR also be a TYPE-ERROR.  This is a work
  around for the case where an invalid character is passed to
  LOGICAL-PATHNAME, which is supposed to signal a type-error.
o Make sure the result from LOGICAL-PATHNAME is really a
  logical-pathname.  (May not be the best solution.)

This fixes ansi-test logical-pathname.error.3 and
logical-pathname.error.10.

Revision 1.70 - (view) (annotate) - [select for diffs]
Sat Oct 9 14:41:01 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.69: +6 -3 lines
Diff to previous 1.69
Signal a type-error instead of an error when we cannot determine the
file associated with a stream that has no file (like broadcast
streams, etc.).  Fixes ANSI test logical-pathname.error.4 and friends.

Revision 1.69 - (view) (annotate) - [select for diffs]
Thu Sep 9 17:13:43 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-10
Changes since 1.68: +3 -3 lines
Diff to previous 1.68
Signal a print-not-readable condition when a pathname can't be printed
readably, instead of a generic error condition.

Revision 1.68 - (view) (annotate) - [select for diffs]
Tue Sep 7 15:13:51 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.67: +7 -2 lines
Diff to previous 1.67
Print out logical pathnames using #P"..." instead of
#.(logical-pathname "...").

Revision 1.67 - (view) (annotate) - [select for diffs]
Wed Sep 1 02:37:55 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-09
Changes since 1.66: +2 -2 lines
Diff to previous 1.66
Pathnames are supposed to be printed with #P, not #p.  (CLHS
22.1.3.11).

Should logical pathnames also be printed this way instead of
#.(logical-pathname namestring)?

Revision 1.66 - (view) (annotate) - [select for diffs]
Wed Jun 2 14:46:08 2004 UTC (9 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: prm-before-macosx-merge-tag, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08
Changes since 1.65: +2 -2 lines
Diff to previous 1.65
CMUCL intended to support things like [abc] in namestrings, but a typo
prevented it.  Fix the typos.

Revision 1.65 - (view) (annotate) - [select for diffs]
Tue May 18 13:24:42 2004 UTC (9 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-merge-start
Changes since 1.64: +18 -2 lines
Diff to previous 1.64
Upcase path components when given a logical pathname.  Preserves print/read consistency and fixes (I think) an issue with ASDF and logical pathnames

Revision 1.64 - (view) (annotate) - [select for diffs]
Thu Apr 1 16:26:35 2004 UTC (10 years ago) by rtoy
Branch: MAIN
CVS Tags: mod-arith-base, release-19a-base, release-19a-pre1, snapshot-2004-04, snapshot-2004-05
Branch point for: mod-arith-branch, release-19a-branch
Changes since 1.63: +3 -2 lines
Diff to previous 1.63
If it's already a logical pathname host, don't need to check if
it's a search-list, because it can't be, obviously.

Revision 1.63 - (view) (annotate) - [select for diffs]
Sun Jan 18 14:06:40 2004 UTC (10 years, 3 months ago) by toy
Branch: MAIN
Changes since 1.62: +14 -1 lines
Diff to previous 1.62
o MAKE-PATHNAME signals an error for the invalid combinations (CLHS
  19.2.2.4.3):  :absolute or :wild-inferiors immediately followed by
  :back or :up.  (From Paul Dietz's ANSI tests.)

o A continuable error is signaled if you try to clobber a search-list
  host with a logical-pathname host.

Revision 1.62 - (view) (annotate) - [select for diffs]
Tue Jun 10 16:52:36 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
CVS Tags: dynamic-extent-base, lisp-executable-base, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, sparc_gencgc_branch
Changes since 1.61: +2 -2 lines
Diff to previous 1.61
Some changes from Paul Foley:

o Fix a number of spelling errors.
o Add EXT:PURGE-FILES (hmm, should that be renamed to
  purge-backup-files?) to delete old versions of files.
o Opening a file with :if-exists :append shouldn't set the Unix append
  flag, else you can't seek back to a point before you started
  appending. (Actually from Rudi Schlatte.)
o Fix a bug in logical pathname parsing.
o Fix FASL-file versioning so we don't create versioned fasl files.

Revision 1.61 - (view) (annotate) - [select for diffs]
Sat Jun 7 17:56:28 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.60: +3 -2 lines
Diff to previous 1.60
More simple-streams updates from Paul Foley:

o An update to fix Gerd's complaint about :simple-streams being on
  *features*
o Corrects a few bugs
o Renames all the strategy functions
o Gets rid of DEVICE-EXTEND (Duane Rettig tells me it's going away in
  the next ACL release)
o A start on getting stream& composition working.

Revision 1.60 - (view) (annotate) - [select for diffs]
Fri Mar 21 21:36:34 2003 UTC (11 years, 1 month ago) by pmai
Branch: MAIN
CVS Tags: release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: release-18e-branch
Changes since 1.59: +8 -9 lines
Diff to previous 1.59
Applied patch by Raymond Toy to make pathname-host ANSI compliant.

Revision 1.59 - (view) (annotate) - [select for diffs]
Thu Nov 14 13:24:33 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
CVS Tags: cold-pcl-base
Branch point for: cold-pcl
Changes since 1.58: +2 -2 lines
Diff to previous 1.58
Logical pathnames like "lpnhost:name.type" have directory component
:ABSOLUTE instead of NIL, as required by CLHS.  (I think.)

Revision 1.58 - (view) (annotate) - [select for diffs]
Wed Oct 16 14:44:39 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57
Fix for the Entomotomy bug

translate-logical-pathname-fails-on-physical-pathname-namestrings

When translate-logical-pathname is given a physical pathname, it's
supposed to return the given pathname instead of signalling an error.

Revision 1.57 - (view) (annotate) - [select for diffs]
Wed Oct 16 14:01:01 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.56: +63 -5 lines
Diff to previous 1.56
Port over SBCL's fix for the Entomotomy bug

host-namestring-return-value-unusable
logical-pathnames-not-externalizable

host-namestring returns "" for physical pathnames when it used to
return "Unix".  But "Unix" is a valid logical host name and "" is not.

Logical pathnames weren't externalizable.  Make them so.

Revision 1.56 - (view) (annotate) - [select for diffs]
Mon Aug 12 20:56:10 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.55: +2 -2 lines
Diff to previous 1.55
Test for type file-stream instead of stream because a stream may not
have a file-name associated with it, but file-streams do.

(Noted by Christophe Rhodes.)

Revision 1.55 - (view) (annotate) - [select for diffs]
Tue Feb 19 15:51:11 2002 UTC (12 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.54: +5 -2 lines
Diff to previous 1.54
From Lynn Quam.

MERGE-PATHNAMES wasn't merging in the version correctly according the
the spec:

   If pathname does not specify a name, then the version, if not
   provided, will come from default-pathname, just like the other
   components.  If pathname does specify a name, then the version is
   not affected by default-pathname. If this process leaves the
   version missing, the default-version is used.

Revision 1.54 - (view) (annotate) - [select for diffs]
Mon Dec 10 23:02:43 2001 UTC (12 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53
Committed user-supplied fix to Debian Bug#123208, which caused an
error when printing the signalled condition.

Revision 1.53 - (view) (annotate) - [select for diffs]
Mon Jun 18 11:27:35 2001 UTC (12 years, 10 months ago) by pw
Branch: MAIN
Changes since 1.52: +2 -3 lines
Diff to previous 1.52
Oops, backout misplaced prin1 function in previous revision. Sorry folks!

Revision 1.52 - (view) (annotate) - [select for diffs]
Sun May 27 15:17:38 2001 UTC (12 years, 10 months ago) by pw
Branch: MAIN
Changes since 1.51: +3 -2 lines
Diff to previous 1.51
Fix print-function for logical-host so it outputs something meaningful.
This can be improved on still.

Revision 1.51 - (view) (annotate) - [select for diffs]
Fri May 18 13:50:04 2001 UTC (12 years, 11 months ago) by pw
Branch: MAIN
Changes since 1.50: +3 -2 lines
Diff to previous 1.50
Previous revision had missing space resulting in bogus symbol name.

Revision 1.50 - (view) (annotate) - [select for diffs]
Mon May 14 13:13:39 2001 UTC (12 years, 11 months ago) by pw
Branch: MAIN
Changes since 1.49: +17 -9 lines
Diff to previous 1.49
Fix FIND-LOGICAL-HOST to honor optional errorp argument even when
'thing' has invalid LP host syntax (and a colon character).

Revision 1.49 - (view) (annotate) - [select for diffs]
Thu Apr 5 13:40:02 2001 UTC (13 years ago) by pw
Branch: MAIN
Changes since 1.48: +7 -6 lines
Diff to previous 1.48
Fix guard against "/" in pathname name or type to consider that
the argument may be other than a string.

Revision 1.48 - (view) (annotate) - [select for diffs]
Tue Mar 27 20:23:45 2001 UTC (13 years ago) by pw
Branch: MAIN
Changes since 1.47: +9 -4 lines
Diff to previous 1.47
Marco Antoniotti says:

PARSE-NAMESTRING is supposed to accept also a string for the optional
HOST argument.  Right now this is not the case.

The following patch fixes this and seems to do the right thing when
HOST is a defined logical pathname host.

This is better than the current situation (as a matter of fact it is
necessary for some things I am doing), but it is not quite ANSI.
E.g. HOST could also be :UNSPECIFIC, but the current code does not
handle that case.  I did not add code for that, because, contrary to
the LOGICAL HOST case, I believe that the case for :UNSPECIFIC is too
implementation dependent.

Revision 1.47 - (view) (annotate) - [select for diffs]
Fri Mar 23 14:57:48 2001 UTC (13 years ago) by pw
Branch: MAIN
Changes since 1.46: +11 -1 lines
Diff to previous 1.46
Emit a warning if the :name or :type argument to MAKE-PATHNAME for a unix
host contains a directory separator character.

Revision 1.46 - (view) (annotate) - [select for diffs]
Wed Mar 14 13:44:18 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.45: +9 -4 lines
Diff to previous 1.45
Somehow omitted a key component of rev 1.44. This fixes find-logical-host
so it does what was intended.

Revision 1.45 - (view) (annotate) - [select for diffs]
Tue Mar 13 02:10:29 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44
First step in removing some CLtL1/CLtL2 exports from COMMON-LISP package.

Revision 1.44 - (view) (annotate) - [select for diffs]
Sun Mar 11 22:02:24 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.43: +19 -73 lines
Diff to previous 1.43
Add Mike McDonald's revised changes to permit autoloading logical
pathname translations.

Revision 1.43 - (view) (annotate) - [select for diffs]
Thu Mar 8 21:06:12 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.42: +90 -29 lines
Diff to previous 1.42
Fix a few small bugs, remove LPN autoload pending rework. Add
internal utility function FIND-SEARCH-LIST.

Revision 1.42 - (view) (annotate) - [select for diffs]
Thu Feb 22 20:49:43 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.41: +27 -19 lines
Diff to previous 1.41
From Mike McDonald

I've appended the necessary mods inorder to make the autoloading of
logical pathname translations to work. This includes fixing
load-logical-pathname-translations to work the way the manual says it
does.

Revision 1.41 - (view) (annotate) - [select for diffs]
Mon Jul 10 06:31:02 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.40: +6 -6 lines
Diff to previous 1.40
Correct the declared return type of parse-namestring; the second return
value may be nil not just an index.

Revision 1.40 - (view) (annotate) - [select for diffs]
Thu Jul 6 04:37:20 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.39: +4 -4 lines
Diff to previous 1.39
o Correct some of the return types of parse-namestring to be consistent
  with the declared return type; some paths were returning only a single
  value.

o Correct the declared result type of substitute-into to declare both
  return values.

Revision 1.39 - (view) (annotate) - [select for diffs]
Mon Apr 12 12:33:18 1999 UTC (15 years ago) by dtc
Branch: MAIN
Changes since 1.38: +7 -3 lines
Diff to previous 1.38
Fix for %print-pathname to respect *print-escape*, from Sam Steingold.
Likewise in %print-logical-pathname.

Revision 1.38 - (view) (annotate) - [select for diffs]
Sat Apr 10 15:05:06 1999 UTC (15 years ago) by dtc
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37
Fix for the handling of the device field in wild-pathname-p, from
Christophe Rhodes.

Revision 1.37 - (view) (annotate) - [select for diffs]
Thu Feb 11 12:24:30 1999 UTC (15 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.36: +23 -3 lines
Diff to previous 1.36
Rework translate-directories for the case in which either the source
or from directories are Nil. Fix for the case when the source is Nil,
plus better handling of :wild and :wild-inferior within the to directory
when the from directory is Nil.

Revision 1.36 - (view) (annotate) - [select for diffs]
Sat Jan 9 11:20:30 1999 UTC (15 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.35: +34 -4 lines
Diff to previous 1.35
Patches from Raymond Toy:
1. Fix up a comment bug for translate-directories
2. Give a better implementation of enough-namestring

Revision 1.35 - (view) (annotate) - [select for diffs]
Tue Dec 29 17:55:51 1998 UTC (15 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.34: +25 -17 lines
Diff to previous 1.34
Allow "**;*.*.*" to work in logical pathname translations. From
Raymond Toy.

Revision 1.34 - (view) (annotate) - [select for diffs]
Sat Dec 19 16:09:14 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.33: +9 -3 lines
Diff to previous 1.33
Rework errors into simple-file-error's.
Based on patches from Peter Van Eynde.

Revision 1.33 - (view) (annotate) - [select for diffs]
Mon Feb 9 15:19:39 1998 UTC (16 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.32: +3 -3 lines
Diff to previous 1.32
Fix for the collection of :wild and pattern pathname components in
translate-directories; from Markus Krummenacker.

Revision 1.32 - (view) (annotate) - [select for diffs]
Thu Oct 2 18:31:50 1997 UTC (16 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.31: +3 -3 lines
Diff to previous 1.31
Allow a pathname device to be a string; from Raymond Toy.

Revision 1.31 - (view) (annotate) - [select for diffs]
Fri Jun 6 06:48:14 1997 UTC (16 years, 10 months ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.30: +4 -5 lines
Diff to previous 1.30
Fix for parse-namestring when passed a pathname; comparison of a host
string to a host structure was always failing, now compares the host
structures.

Revision 1.30 - (view) (annotate) - [select for diffs]
Tue Feb 11 21:27:31 1997 UTC (17 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.29: +6 -4 lines
Diff to previous 1.29
PARSE-LOGICAL-PATHNAME was returning a directory component
of (:absolute) on something like "HOST:FILE" which caused
problems with MERGE-DIRECTORIES. COMPLETE-FILE on LPs now works.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sun Feb 9 22:49:30 1997 UTC (17 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28
In maybe-diddle-case, when working on a PATTERN object, the original
object was returned wrapped up as the first piece of a new PATTERN.
This was traced to a typo where 'thing' (the original pattern) was
passed to 'function' instead of the lambda arg 'piece'.
Now, (directory "HOST:DIR;NAME*") does something reasonable.

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Feb 5 16:15:56 1997 UTC (17 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.27: +67 -62 lines
Diff to previous 1.27
initial post 1.3.7 merge

Revision 1.27 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:30:44 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.26: +37 -14 lines
Diff to previous 1.26
Werkowskis source kit 1.03.7

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue May 7 13:14:51 1996 UTC (17 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.25: +4 -5 lines
Diff to previous 1.25
Fix parse-namestring of pathnames.

Revision 1.25 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.24: +1 -3 lines
Diff to previous 1.24
Fix headed boilerplate.

Revision 1.24 - (view) (annotate) - [select for diffs]
Mon Aug 30 21:20:05 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.23: +6 -5 lines
Diff to previous 1.23
Update to new DEFINE-CONDITION syntax.

Revision 1.23 - (view) (annotate) - [select for diffs]
Sun Aug 15 14:44:31 1993 UTC (20 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.22: +7 -6 lines
Diff to previous 1.22
Fixed namestring of a stream to not flame out if there is no pathname for
that stream.

Revision 1.22 - (view) (annotate) - [select for diffs]
Wed Aug 4 10:58:18 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.21: +5 -2 lines
Diff to previous 1.21
In %ENUMERATE-SEARCH-LIST, only translate-logical-pathname on logical
pathnames.  In TRANSLATE-LOGICAL-PATHNAME, handle streams explicitly.

Revision 1.21 - (view) (annotate) - [select for diffs]
Wed Aug 4 10:40:25 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.20: +8 -17 lines
Diff to previous 1.20
Fixed things now that FILE-NAME returns a pathname, not a namestring.
Removed value-cell hack from SEARCH-LIST structure.

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Aug 4 09:39:25 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.19: +4 -2 lines
Diff to previous 1.19
Make %ENUMERATE-SEARCH-LIST call TRANSLATE-LOGICAL-PATHNAME.

Revision 1.19 - (view) (annotate) - [select for diffs]
Tue Aug 3 13:26:57 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.18: +3 -1 lines
Diff to previous 1.18
Freeze-type logical-pathname and logical-host.

Revision 1.18 - (view) (annotate) - [select for diffs]
Sat Jul 31 09:08:52 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.17: +3 -4 lines
Diff to previous 1.17
Reverted make-pathname diddle-args case computation, cause it was right before.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sat Jul 31 01:40:26 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.16: +641 -1227 lines
Diff to previous 1.16
Improved integration of logical pathname support with the rest of pathnames.
Generalized TRANSLATE-PATHNAME to work on logical pathnames and
:WILD-INFERIORS, and used this to implement TRANSLATE-LOGICAL-PATHNAME.
Generalized PARSE-NAMESTRING to be able to parse logical namestrings, and use
it to implement LOGICAL-PATHNAME.  Fixed some type declarations that didn't
allow :UNSPECIFIC or :WILD when they should.  Fixed PATH-DESIGNATOR type to
allow complex strings.  Added utilities for canonicalizing logical hosts.
Fixed pattern matching code to consistently accept :WILD and :WILD-INFERIORS.
Changed namestring-parse-error to inherit from PARSE-ERROR, and made logical
namestring parsing use it so that :JUNK-ALLOWED T works.  Mostly rewrote
logical namestring parsing.  Fixed some erroneous simple-string assumptions.
Changed namestring parsing in general to give preference to parsing as a
physical pathname with a search-list, since we can (and must be able to) parse
undefined search-lists, but we can't parse logical pathnames with undefined
hosts.  Reinterpreted the spec for logical pathname parsing somewhat more
liberally.  Changed WILD-PATHNAME-P to recognize :WILD and :WILD-INFERIORS.
Fixed argument order to COMPONENTS-MATCH in PATHNAME-MATCH-P.  Generalized
xxxCOMPONENTxxx matching operations to handle integer and keyword versions,
replacing inline special-casing of versions.  Signal an error if the TO pattern
has more wildcards than the FROM pattern.  Fixed out-of-bounds errors in
MAYBE-MAKE-LOGICAL-PATTERN.  Deleted SAVE-LOGICAL-PATHNAME-TRANSLATIONS.
Simplified search-list hackery in LOAD-LOGICAL-PATHNAME-TRANSLATIONS.
Moved COMPILE-FILE-PATHNAME to compiler/main.

Revision 1.16 - (view) (annotate) - [select for diffs]
Thu Jul 15 18:02:46 1993 UTC (20 years, 9 months ago) by phg
Branch: MAIN
Changes since 1.15: +921 -557 lines
Diff to previous 1.15
Logical pathnames for UNIX filesystems have been added. Note that logical-
namestrings must consist of capital letters, numbers and hyphens, according
to the ANSI specification, and not including lower case letters as listed
in some of the examples in the specification.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Sep 4 15:17:24 1992 UTC (21 years, 7 months ago) by phg
Branch: MAIN
Changes since 1.14: +35 -33 lines
Diff to previous 1.14
Change to the function components-match to permit versions to match on :wild
and :newest for UNIX filesystems (the only kind currently supported by 
CMUCL.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Sep 3 12:58:42 1992 UTC (21 years, 7 months ago) by phg
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13
*** empty log message ***

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Sep 3 12:52:51 1992 UTC (21 years, 7 months ago) by phg
Branch: MAIN
Changes since 1.12: +421 -287 lines
Diff to previous 1.12
Cleanups of logical pathname code which include comments and CMUCL formatting.  
The search mechanism for loading pathname translations uses the CMUCL
extension of search-lists.  The user can add to the library: search-list
using setf.  The file for translations should have the name defined by
the hostname (a string) and with type component "translations".

Revision 1.12 - (view) (annotate) - [select for diffs]
Wed Aug 19 17:45:33 1992 UTC (21 years, 8 months ago) by phg
Branch: MAIN
Changes since 1.11: +896 -61 lines
Diff to previous 1.11
Logical pathname functions added to bring CMUCL up to the ANSI X3J13/92-102
standard.

Revision 1.11 - (view) (annotate) - [select for diffs]
Mon Jun 1 16:24:22 1992 UTC (21 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.10: +17 -12 lines
Diff to previous 1.10
Merged Mile's fix to MAKE-PATHNAME so that it knows the difference between
an arg being NIL and being unsupplied.


Revision 1.10 - (view) (annotate) - [select for diffs]
Fri May 15 17:51:47 1992 UTC (21 years, 11 months ago) by wlott
Branch: MAIN
Changes since 1.9: +5 -5 lines
Diff to previous 1.9
Changed uses of DEFINE-CONDITION to use the new syntax.

Revision 1.9 - (view) (annotate) - [select for diffs]
Tue Mar 10 15:06:59 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.8: +12 -2 lines
Diff to previous 1.8
Added SEARCH-LIST-DEFINED-P, a predicate that tells if the search list is
currently defined.

Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Feb 24 00:52:13 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7
Fixed the ``mumble doesn't start with a search-list'' error message.

Revision 1.7 - (view) (annotate) - [select for diffs]
Wed Feb 19 01:50:17 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.6: +8 -6 lines
Diff to previous 1.6
Allow search-lists to expand into relative pathnames by quietly merging
them with ``default:''.

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Jan 16 18:38:51 1992 UTC (22 years, 3 months ago) by wlott
Branch: MAIN
Changes since 1.5: +3 -2 lines
Diff to previous 1.5
Fixed MERGE-DIRECTORIES to correctly handle the case when the second
directory spec is NIL.  In this case it should just use the first directory
verbatim.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sun Dec 22 01:44:14 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4
Changed WITH-PATHNAME to call PARSE-NAMESTRING on the result of FILE-NAME.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Dec 20 02:07:12 1991 UTC (22 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.3: +8 -2 lines
Diff to previous 1.3
As a temporary hack until we fix purify to know what structures are R/O, added
a VALUE-CELL in the SEARCH-LIST-EXPANSIONS slot.

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Dec 18 22:35:03 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2
Allow NIL components to be matched by :multi-char-wild.

Revision 1.2 - (view) (annotate) - [select for diffs]
Wed Dec 18 11:40:52 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.1: +3 -3 lines
Diff to previous 1.1
Fixed merge-pathnames to actually merge in the defaults.

Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Dec 16 10:29:04 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5