* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-09 7:50 Fco.J.Ballesteros
2002-07-09 8:15 ` Lucio De Re
2002-07-09 8:22 ` [9fans] acme question + diffs for kfs, fs and plumbing arisawa
0 siblings, 2 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-09 7:50 UTC (permalink / raw)
To: 9fans
> We need not distinguishing 'a b' from 'a_b' because there are
> no files that contains ' ' in their names.
I'm glad to be at home again ☺
Things are so easy now...
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 7:50 [9fans] acme question + diffs for kfs, fs and plumbing Fco.J.Ballesteros @ 2002-07-09 8:15 ` Lucio De Re 2002-07-09 8:42 ` arisawa 2002-07-09 8:22 ` [9fans] acme question + diffs for kfs, fs and plumbing arisawa 1 sibling, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-09 8:15 UTC (permalink / raw) To: 9fans On Tue, Jul 09, 2002 at 09:50:10AM +0200, Fco.J.Ballesteros wrote: > > > We need not distinguishing 'a b' from 'a_b' because there are > > no files that contains ' ' in their names. > > I'm glad to be at home again ? > Things are so easy now... Wrong! What if files 'a b' and 'a_b' both exist on the foreign system? Back to the drawing board, everyone, the problem needs another, slightly more focussed iteration. ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 8:15 ` Lucio De Re @ 2002-07-09 8:42 ` arisawa 2002-07-09 9:21 ` Lucio De Re 0 siblings, 1 reply; 81+ messages in thread From: arisawa @ 2002-07-09 8:42 UTC (permalink / raw) To: 9fans >What if files 'a b' and 'a_b' both exist on the foreign >system? Check before you copy, otherwise one is lost. This problem is always happen when one to one mapping is absent. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 8:42 ` arisawa @ 2002-07-09 9:21 ` Lucio De Re 2002-07-09 9:43 ` arisawa 0 siblings, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-09 9:21 UTC (permalink / raw) To: 9fans On Tue, Jul 09, 2002 at 05:42:47PM +0900, arisawa@ar.aichi-u.ac.jp wrote: > > >What if files 'a b' and 'a_b' both exist on the foreign > >system? > Check before you copy, otherwise one is lost. > This problem is always happen when one to one mapping is > absent. > Well, for DOS and derivative works, "\" ought to be a perfect translation <evil grin>. For Unix, there doesn't seem to be a natural replacement for space. We could use the suggestion of using URL-style encoding, where % becomes reserved and _any_ special character can be represented as %XX. In fact, is there _any_ service for a foreign filesystem that would defeat such a scheme? Would such a shim need to be an option in "mount"? ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 9:21 ` Lucio De Re @ 2002-07-09 9:43 ` arisawa 2002-07-09 10:36 ` Lucio De Re 0 siblings, 1 reply; 81+ messages in thread From: arisawa @ 2002-07-09 9:43 UTC (permalink / raw) To: 9fans >For Unix, there doesn't seem to be a natural replacement for space. >We could use the suggestion of using URL-style encoding, where % >becomes reserved and _any_ special character can be represented as >%XX. In fact, is there _any_ service for a foreign filesystem that >would defeat such a scheme? URL-style encoding is powerfull enough and that is internet standard. I believe no system defeats such a scheme. I don't know why Plan9 rejects to accept this scheme, if we must (probably we must) deal with outside system, Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 9:43 ` arisawa @ 2002-07-09 10:36 ` Lucio De Re 2002-07-09 10:54 ` matt 0 siblings, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-09 10:36 UTC (permalink / raw) To: 9fans On Tue, Jul 09, 2002 at 06:43:17PM +0900, arisawa@ar.aichi-u.ac.jp wrote: > > >For Unix, there doesn't seem to be a natural replacement for space. > >We could use the suggestion of using URL-style encoding, where % > >becomes reserved and _any_ special character can be represented as > >%XX. In fact, is there _any_ service for a foreign filesystem that > >would defeat such a scheme? > URL-style encoding is powerfull enough and that is internet > standard. > I believe no system defeats such a scheme. > I don't know why Plan9 rejects to accept this scheme, > if we must (probably we must) deal with outside system, > There are only three characters from a foreign system that need translation: "%", "/" and " ". Long filenames are already catered for in 4ed, perhaps we can extend "lnfs" to deal, optionally, with this translation. ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 10:36 ` Lucio De Re @ 2002-07-09 10:54 ` matt 2002-07-09 11:01 ` Liberating the filename (Was: [9fans] acme question + diffs for kfs, fs and plumbing) Lucio De Re 0 siblings, 1 reply; 81+ messages in thread From: matt @ 2002-07-09 10:54 UTC (permalink / raw) To: 9fans > There are only three characters from a foreign system that need > translation: "%", "/" and " ". Long filenames are already catered > for in 4ed, perhaps we can extend "lnfs" to deal, optionally, with > this translation. is # a consideration? It's a valid filename char on FreeBSD ^ permalink raw reply [flat|nested] 81+ messages in thread
* Liberating the filename (Was: [9fans] acme question + diffs for kfs, fs and plumbing) 2002-07-09 10:54 ` matt @ 2002-07-09 11:01 ` Lucio De Re 2002-07-09 11:07 ` arisawa 0 siblings, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-09 11:01 UTC (permalink / raw) To: 9fans On Tue, Jul 09, 2002 at 11:54:21AM +0100, matt wrote: > > is # a consideration? It's a valid filename char on FreeBSD I think it's valid in a Plan 9 filename, but if not, it's easy to expand the list to deal with it. Which reminds me, if we use fpath = (usr lucio fname) as a future description of a filepath, how do we designate the root? fpath = ('' usr lucio fname) perhaps? ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: Liberating the filename (Was: [9fans] acme question + diffs for kfs, fs and plumbing) 2002-07-09 11:01 ` Liberating the filename (Was: [9fans] acme question + diffs for kfs, fs and plumbing) Lucio De Re @ 2002-07-09 11:07 ` arisawa 2002-07-11 14:57 ` Liberating the filename (Was: [9fans] acme question + diffs forkfs, Douglas A. Gwyn 0 siblings, 1 reply; 81+ messages in thread From: arisawa @ 2002-07-09 11:07 UTC (permalink / raw) To: 9fans >Which reminds me, if we use >fpath = (usr lucio fname) >as a future description of a filepath, how do we designate the >root? >fpath = ('' usr lucio fname) >perhaps? No, they should be: fpath = /usr/lucio/fname as it has been. No change is required for rc. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: Liberating the filename (Was: [9fans] acme question + diffs forkfs, 2002-07-09 11:07 ` arisawa @ 2002-07-11 14:57 ` Douglas A. Gwyn 0 siblings, 0 replies; 81+ messages in thread From: Douglas A. Gwyn @ 2002-07-11 14:57 UTC (permalink / raw) To: 9fans arisawa@ar.aichi-u.ac.jp wrote: > [Lucio De Re wrote:] > >Which reminds me, if we use > >fpath = (usr lucio fname) > >as a future description of a filepath, how do we designate the > >root? > >fpath = ('' usr lucio fname) > >perhaps? > No, they should be: > fpath = /usr/lucio/fname > as it has been. > No change is required for rc. Wrong! If we use lists instead of embedded / characters, as stipulated. The '' member (without quotes in the actual list member, which has 0 characters) would certainly be analogous to the current method of differentiating between relative and absolute paths. Is there some way of getting rid of absolute paths? What if first member "bin" or "dev" etc. were bound to "float" to the current dir.? ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 7:50 [9fans] acme question + diffs for kfs, fs and plumbing Fco.J.Ballesteros 2002-07-09 8:15 ` Lucio De Re @ 2002-07-09 8:22 ` arisawa 1 sibling, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-09 8:22 UTC (permalink / raw) To: 9fans I guess that someone (probably nemo) has already fixed acme so that we can enter into '/n/c/My Document/' using mouse. Or already fixed in official update? Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names @ 2002-07-10 18:27 David Gordon Hogan 2002-07-10 20:56 ` arisawa 0 siblings, 1 reply; 81+ messages in thread From: David Gordon Hogan @ 2002-07-10 18:27 UTC (permalink / raw) To: 9fans Isn't this thread dead yet? ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 18:27 [9fans] blanks in file names David Gordon Hogan @ 2002-07-10 20:56 ` arisawa 0 siblings, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-10 20:56 UTC (permalink / raw) To: 9fans >Isn't this thread dead yet? It seems ... So I asked: Is it important? So I said: My preference is just s/ /_/g So I proposed: uq (unquote) Any way, I dislike ' ' in file name. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names
@ 2002-07-10 8:00 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-10 8:00 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 277 bytes --]
Really, I make changes now and then; many times after
trying the resulting binaries I change my mind and
use yesterday + cp to restore the source back to its
previous state. Some other times I bind temporary directories
on top of the sources and make the changes there.
[-- Attachment #2: Type: message/rfc822, Size: 2260 bytes --]
From: Dave <dave@dave.tj>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] blanks in file names
Date: Tue, 09 Jul 2002 11:23:25 -0400 (EDT)
Message-ID: <200207091523.g69FNP431828@dave2.dave.tj>
You're not going to do that every time you make a change to the
filesystem. Besides, that won't undo all the "changes" to all the
new programs that lack complexity because they don't have to reinvent
the wheel.
- Dave
Fco.J.Ballesteros wrote:
>
> >> But above all, I will undo the changes made in this respect to my
> >> local system if you guys or the system designers choose a different way.
> ...
> > Undoing kernel-level changes won't be easy, especially when people start
>
> 9fs dump
> cp blah blah
>
> Sorry, couldn't resist. I just love this system :-)
>
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-10 7:57 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-10 7:57 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 97 bytes --]
There's no reason.
I though of using ☺, but I think it's more
usual in file names than ␣.
[-- Attachment #2: Type: message/rfc822, Size: 2148 bytes --]
From: Dave <dave@dave.tj>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Tue, 09 Jul 2002 11:29:45 -0400 (EDT)
Message-ID: <200207091529.g69FTj832499@dave2.dave.tj>
AFAIK, VFAT uses Unicode for its long file names, so I see no reason
why ⣠shouldn't be allowed there.
- Dave
Fco.J.Ballesteros wrote:
>
> : Wrong! What if files 'a b' and 'a_b' both exist on the foreign
> : system? Back to the drawing board, everyone, the problem needs
> : another, slightly more focussed iteration.
>
> I'm renaming ' ' with ⣠in u9fs
> There's no problem doing that since there's no â£
> in outside file names.
>
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-09 12:24 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-09 12:24 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 242 bytes --]
The rune I was talking about is "open box, visible space"
(0x2423) I'm sorry, but I thought all of us could accept utf mails.
If there's ever such a rune being used in outside
systems, you can always pick a different one (still unused).
[-- Attachment #2: Type: message/rfc822, Size: 1823 bytes --]
From: "matt" <matt@proweb.co.uk>
To: <9fans@cse.psu.edu>
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Tue, 9 Jul 2002 13:05:30 +0100
Message-ID: <022201c22740$ecbec270$6501a8c0@xpire>
>I'm renaming ' ' with â^У in u9fs
>There's no problem doing that since there's no â^У
>in outside file names.
can't see them either but "there is no" could possibly become "oops now
there is"?
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-09 9:37 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-09 9:37 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 117 bytes --]
It's ok if the name contains '?', it's just inconvenient but
it's ok. It's like that inconvenient "'chk" name I had.
[-- Attachment #2: Type: message/rfc822, Size: 2762 bytes --]
From: Lucio De Re <lucio@proxima.alt.za>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Tue, 9 Jul 2002 11:28:57 +0200
Message-ID: <20020709112856.L20312@cackle.proxima.alt.za>
On Tue, Jul 09, 2002 at 10:42:04AM +0200, Fco.J.Ballesteros wrote:
>
> I'm renaming ' ' with ? in u9fs
> There's no problem doing that since there's no ?
> in outside file names.
There could be:
-rw-r--r-- 1 lucio staff 0 Jul 9 11:22 t?uch
produced by "touch t\?uch" on my NetBSD host. This is from
"man 2 intro" on NetBSD 1.5.2:
File Name
Names consisting of up to 255 (MAXNAMELEN) characters may be used
to name an ordinary file, special file, or directory.
These characters may be selected from the set of all ASCII char-
acter excluding 0 (NUL) and the ASCII code for `/' (slash). (The
parity bit, bit 7, must be 0.)
Note that it is generally unwise to use `*', `?', `[' or `]' as
part of file names because of the special meaning attached to
these characters by the shell.
It needn't be up to date, but it's a safe indicator.
++L
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing @ 2002-07-09 8:42 Fco.J.Ballesteros 2002-07-09 9:28 ` Lucio De Re 0 siblings, 1 reply; 81+ messages in thread From: Fco.J.Ballesteros @ 2002-07-09 8:42 UTC (permalink / raw) To: 9fans : Wrong! What if files 'a b' and 'a_b' both exist on the foreign : system? Back to the drawing board, everyone, the problem needs : another, slightly more focussed iteration. I'm renaming ' ' with ␣ in u9fs There's no problem doing that since there's no ␣ in outside file names. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 8:42 Fco.J.Ballesteros @ 2002-07-09 9:28 ` Lucio De Re 2002-07-09 11:23 ` andrey mirtchovski 0 siblings, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-09 9:28 UTC (permalink / raw) To: 9fans On Tue, Jul 09, 2002 at 10:42:04AM +0200, Fco.J.Ballesteros wrote: > > I'm renaming ' ' with ? in u9fs > There's no problem doing that since there's no ? > in outside file names. There could be: -rw-r--r-- 1 lucio staff 0 Jul 9 11:22 t?uch produced by "touch t\?uch" on my NetBSD host. This is from "man 2 intro" on NetBSD 1.5.2: File Name Names consisting of up to 255 (MAXNAMELEN) characters may be used to name an ordinary file, special file, or directory. These characters may be selected from the set of all ASCII char- acter excluding 0 (NUL) and the ASCII code for `/' (slash). (The parity bit, bit 7, must be 0.) Note that it is generally unwise to use `*', `?', `[' or `]' as part of file names because of the special meaning attached to these characters by the shell. It needn't be up to date, but it's a safe indicator. ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 9:28 ` Lucio De Re @ 2002-07-09 11:23 ` andrey mirtchovski 2002-07-09 12:05 ` matt 0 siblings, 1 reply; 81+ messages in thread From: andrey mirtchovski @ 2002-07-09 11:23 UTC (permalink / raw) To: 9fans [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: TEXT/PLAIN; charset=X-UNKNOWN, Size: 1490 bytes --] umm, were you reading this from a unix machine? i think nemo meant that he's replacing ' ' with a non-ascii rune in p9 (maybe your font mistranslated it to '?' in the terminal?)... here's what the original looked like: I'm renaming ' ' with â^У in u9fs There's no problem doing that since there's no â^У in outside file names. andrey (who thinks nemo's solution looks quite ok) On Tue, 9 Jul 2002, Lucio De Re wrote: > On Tue, Jul 09, 2002 at 10:42:04AM +0200, Fco.J.Ballesteros wrote: > > > > I'm renaming ' ' with ? in u9fs > > There's no problem doing that since there's no ? > > in outside file names. > > There could be: > > -rw-r--r-- 1 lucio staff 0 Jul 9 11:22 t?uch > > produced by "touch t\?uch" on my NetBSD host. This is from > "man 2 intro" on NetBSD 1.5.2: > > File Name > Names consisting of up to 255 (MAXNAMELEN) characters may be used > to name an ordinary file, special file, or directory. > > These characters may be selected from the set of all ASCII char- > acter excluding 0 (NUL) and the ASCII code for `/' (slash). (The > parity bit, bit 7, must be 0.) > > Note that it is generally unwise to use `*', `?', `[' or `]' as > part of file names because of the special meaning attached to > these characters by the shell. > > It needn't be up to date, but it's a safe indicator. > > ++L > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 11:23 ` andrey mirtchovski @ 2002-07-09 12:05 ` matt 0 siblings, 0 replies; 81+ messages in thread From: matt @ 2002-07-09 12:05 UTC (permalink / raw) To: 9fans >I'm renaming ' ' with â^У in u9fs >There's no problem doing that since there's no â^У >in outside file names. can't see them either but "there is no" could possibly become "oops now there is"? ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing @ 2002-07-09 8:40 Fco.J.Ballesteros 0 siblings, 0 replies; 81+ messages in thread From: Fco.J.Ballesteros @ 2002-07-09 8:40 UTC (permalink / raw) To: 9fans [-- Attachment #1: Type: text/plain, Size: 88 bytes --] Yes, but did an undo and will never redo it. Had enough blanks for the rest of my life. [-- Attachment #2: Type: message/rfc822, Size: 1381 bytes --] From: arisawa@ar.aichi-u.ac.jp To: 9fans@cse.psu.edu Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing Date: Tue, 9 Jul 2002 17:22:03 +0900 Message-ID: <20020709082218.AB50B199EE@mail.cse.psu.edu> I guess that someone (probably nemo) has already fixed acme so that we can enter into '/n/c/My Document/' using mouse. Or already fixed in official update? Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names @ 2002-07-09 7:54 Fco.J.Ballesteros [not found] ` <Fco.J.Ballesteros@Jul> 0 siblings, 1 reply; 81+ messages in thread From: Fco.J.Ballesteros @ 2002-07-09 7:54 UTC (permalink / raw) To: 9fans >> But above all, I will undo the changes made in this respect to my >> local system if you guys or the system designers choose a different way. ... > Undoing kernel-level changes won't be easy, especially when people start 9fs dump cp blah blah Sorry, couldn't resist. I just love this system :-) ^ permalink raw reply [flat|nested] 81+ messages in thread
[parent not found: <Fco.J.Ballesteros@Jul>]
* Re: [9fans] blanks in file names [not found] ` <Fco.J.Ballesteros@Jul> @ 2002-07-09 15:23 ` Dave 2002-07-09 15:29 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave ` (2 subsequent siblings) 3 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-09 15:23 UTC (permalink / raw) To: 9fans You're not going to do that every time you make a change to the filesystem. Besides, that won't undo all the "changes" to all the new programs that lack complexity because they don't have to reinvent the wheel. - Dave Fco.J.Ballesteros wrote: > > >> But above all, I will undo the changes made in this respect to my > >> local system if you guys or the system designers choose a different way. > ... > > Undoing kernel-level changes won't be easy, especially when people start > > 9fs dump > cp blah blah > > Sorry, couldn't resist. I just love this system :-) > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing [not found] ` <Fco.J.Ballesteros@Jul> 2002-07-09 15:23 ` Dave @ 2002-07-09 15:29 ` Dave 2002-07-10 15:57 ` Dave 2002-07-10 16:02 ` [9fans] blanks in file names Dave 3 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-09 15:29 UTC (permalink / raw) To: 9fans AFAIK, VFAT uses Unicode for its long file names, so I see no reason why ⣠shouldn't be allowed there. - Dave Fco.J.Ballesteros wrote: > > : Wrong! What if files 'a b' and 'a_b' both exist on the foreign > : system? Back to the drawing board, everyone, the problem needs > : another, slightly more focussed iteration. > > I'm renaming ' ' with ⣠in u9fs > There's no problem doing that since there's no ⣠> in outside file names. > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing [not found] ` <Fco.J.Ballesteros@Jul> 2002-07-09 15:23 ` Dave 2002-07-09 15:29 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave @ 2002-07-10 15:57 ` Dave 2002-07-10 16:02 ` [9fans] blanks in file names Dave 3 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-10 15:57 UTC (permalink / raw) To: 9fans ...so clearly, there's no way to distinguish between a file 'a b' and a file 'aâ£b' in a remote filesystem if we replace ' ' with 'â£' upon importing to our system :-( - Dave Fco.J.Ballesteros wrote: > > This is a multi-part message in MIME format. > --upas-gyhymjcadgjxkouzirlpoqbniv > Content-Disposition: inline > Content-Type: text/plain; charset="UTF-8" > Content-Transfer-Encoding: 8bit > > There's no reason. > I though of using âº, but I think it's more > usual in file names than â£. > > --upas-gyhymjcadgjxkouzirlpoqbniv > Content-Type: message/rfc822 > Content-Disposition: inline > > Received: from mail.cse.psu.edu ([130.203.4.6]) by aquamar; Tue Jul 9 17:41:20 MDT 2002 > Received: from psuvax1.cse.psu.edu (psuvax1.cse.psu.edu [130.203.18.6]) > by mail.cse.psu.edu (CSE Mail Server) with ESMTP > id 42B8F19A58; Tue, 9 Jul 2002 11:41:09 -0400 (EDT) > Delivered-To: 9fans@cse.psu.edu > Received: from mta9.srv.hcvlny.cv.net (mta9.srv.hcvlny.cv.net [167.206.5.133]) > by mail.cse.psu.edu (CSE Mail Server) with ESMTP id 3818A19980 > for <9fans@cse.psu.edu>; Tue, 9 Jul 2002 11:40:44 -0400 (EDT) > Received: from dave2.dave.tj (ool-4351482a.dyn.optonline.net [67.81.72.42]) > by mta9.srv.hcvlny.cv.net (iPlanet Messaging Server 5.2 (built Feb 21 2002)) > with ESMTP id <0GYZ00D3UMV2XY@mta9.srv.hcvlny.cv.net> for 9fans@cse.psu.edu; > Tue, 09 Jul 2002 11:25:50 -0400 (EDT) > Received: (from dave@localhost) by dave2.dave.tj (8.10.2/8.10.2) > id g69FTj832499 for 9fans@cse.psu.edu; Tue, 09 Jul 2002 15:29:45 +0000 (GMT) > From: Dave <dave@dave.tj> > Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing > In-reply-to: <adc08ee0f9815311c935f3784f2ed48f@plan9.escet.urjc.es> from > <Fco.J.Ballesteros@Jul> > To: 9fans@cse.psu.edu > Message-id: <200207091529.g69FTj832499@dave2.dave.tj> > MIME-version: 1.0 > X-Mailer: ELM [version 2.5 PL3] > Content-type: text/plain; charset=iso-8859-1 > Content-transfer-encoding: 8BIT > Sender: 9fans-admin@cse.psu.edu > Errors-To: 9fans-admin@cse.psu.edu > X-BeenThere: 9fans@cse.psu.edu > X-Mailman-Version: 2.0.11 > Precedence: bulk > Reply-To: 9fans@cse.psu.edu > List-Id: Fans of the OS Plan 9 from Bell Labs <9fans.cse.psu.edu> > List-Archive: <https://lists.cse.psu.edu/archives/9fans/> > Date: Tue, 09 Jul 2002 11:29:45 -0400 (EDT) > > AFAIK, VFAT uses Unicode for its long file names, so I see no reason > why ⣠shouldn't be allowed there. > > - Dave > > > Fco.J.Ballesteros wrote: > > > > : Wrong! What if files 'a b' and 'a_b' both exist on the foreign > > : system? Back to the drawing board, everyone, the problem needs > > : another, slightly more focussed iteration. > > > > I'm renaming ' ' with ⣠in u9fs > > There's no problem doing that since there's no ⣠> > in outside file names. > > > > --upas-gyhymjcadgjxkouzirlpoqbniv-- > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names [not found] ` <Fco.J.Ballesteros@Jul> ` (2 preceding siblings ...) 2002-07-10 15:57 ` Dave @ 2002-07-10 16:02 ` Dave 2002-07-10 20:59 ` FJ Ballesteros 3 siblings, 1 reply; 81+ messages in thread From: Dave @ 2002-07-10 16:02 UTC (permalink / raw) To: 9fans You're missing the point: With the changes I propose to our kernel, certain programs will be able to have much simpler logic. In addition to undoing the changes in the kernel, you'd have to rewrite the "offending" program - only manual recoding can accomplish that. - Dave Fco.J.Ballesteros wrote: > > This is a multi-part message in MIME format. > --upas-xuojoahyqverhjcrtrjsvosjtu > Content-Disposition: inline > Content-Type: text/plain; charset="US-ASCII" > Content-Transfer-Encoding: 7bit > > Really, I make changes now and then; many times after > trying the resulting binaries I change my mind and > use yesterday + cp to restore the source back to its > previous state. Some other times I bind temporary directories > on top of the sources and make the changes there. > > > --upas-xuojoahyqverhjcrtrjsvosjtu > Content-Type: message/rfc822 > Content-Disposition: inline > > Received: from mail.cse.psu.edu ([130.203.4.6]) by aquamar; Tue Jul 9 17:22:23 MDT 2002 > Received: from psuvax1.cse.psu.edu (psuvax1.cse.psu.edu [130.203.18.6]) > by mail.cse.psu.edu (CSE Mail Server) with ESMTP > id E683A19A1C; Tue, 9 Jul 2002 11:22:09 -0400 (EDT) > Delivered-To: 9fans@cse.psu.edu > Received: from mta1.srv.hcvlny.cv.net (mta1.srv.hcvlny.cv.net [167.206.5.4]) > by mail.cse.psu.edu (CSE Mail Server) with ESMTP id 437E71998C > for <9fans@cse.psu.edu>; Tue, 9 Jul 2002 11:21:03 -0400 (EDT) > Received: from dave2.dave.tj (ool-4351482a.dyn.optonline.net [67.81.72.42]) > by mta1.srv.hcvlny.cv.net > (iPlanet Messaging Server 5.2 HotFix 0.3 (built May 13 2002)) > with ESMTP id <0GYZ00FXXMNYMH@mta1.srv.hcvlny.cv.net> for 9fans@cse.psu.edu; > Tue, 09 Jul 2002 11:21:34 -0400 (EDT) > Received: (from dave@localhost) by dave2.dave.tj (8.10.2/8.10.2) > id g69FNP431828 for 9fans@cse.psu.edu; Tue, 09 Jul 2002 15:23:25 +0000 (GMT) > From: Dave <dave@dave.tj> > Subject: Re: [9fans] blanks in file names > In-reply-to: <c55e55e304beec4b477c71af7fa9c712@plan9.escet.urjc.es> from > <Fco.J.Ballesteros@Jul> > To: 9fans@cse.psu.edu > Message-id: <200207091523.g69FNP431828@dave2.dave.tj> > MIME-version: 1.0 > X-Mailer: ELM [version 2.5 PL3] > Content-type: text/plain; charset=us-ascii > Content-transfer-encoding: 7BIT > Sender: 9fans-admin@cse.psu.edu > Errors-To: 9fans-admin@cse.psu.edu > X-BeenThere: 9fans@cse.psu.edu > X-Mailman-Version: 2.0.11 > Precedence: bulk > Reply-To: 9fans@cse.psu.edu > List-Id: Fans of the OS Plan 9 from Bell Labs <9fans.cse.psu.edu> > List-Archive: <https://lists.cse.psu.edu/archives/9fans/> > Date: Tue, 09 Jul 2002 11:23:25 -0400 (EDT) > > You're not going to do that every time you make a change to the > filesystem. Besides, that won't undo all the "changes" to all the > new programs that lack complexity because they don't have to reinvent > the wheel. > > - Dave > > > Fco.J.Ballesteros wrote: > > > > >> But above all, I will undo the changes made in this respect to my > > >> local system if you guys or the system designers choose a different way. > > ... > > > Undoing kernel-level changes won't be easy, especially when people start > > > > 9fs dump > > cp blah blah > > > > Sorry, couldn't resist. I just love this system :-) > > > > --upas-xuojoahyqverhjcrtrjsvosjtu-- > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 16:02 ` [9fans] blanks in file names Dave @ 2002-07-10 20:59 ` FJ Ballesteros 2002-07-10 21:51 ` Dave 0 siblings, 1 reply; 81+ messages in thread From: FJ Ballesteros @ 2002-07-10 20:59 UTC (permalink / raw) To: 9fans Dave ha escrito: > > You're missing the point: With the changes I propose to our kernel, > certain programs will be able to have much simpler logic. In addition to > undoing the changes in the kernel, you'd have to rewrite the "offending" > program - only manual recoding can accomplish that. > No offending program if there's no native ' ' in file names. Just have to cope with those still seen from the outside world. I have a working trfs that deals with most cases here (still will miss names inside files). I'll send it tomorrow. Changing open just because of this would mean to rethink many tools and nobody knows (because there's no experience with your proposed system) if it would introduce other problems. So I'd vote no. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 20:59 ` FJ Ballesteros @ 2002-07-10 21:51 ` Dave 2002-07-10 22:22 ` Dan Cross 0 siblings, 1 reply; 81+ messages in thread From: Dave @ 2002-07-10 21:51 UTC (permalink / raw) To: 9fans The "offending" program in this case is the program that's so much simpler because it's using the new kernel interface rather than the old one. Nothing has to be rethought because all my proposed changes do is restore the strict seperation between nodes in a filename (something UNIX - and therefore Plan 9 - likes to rely on). There's plenty of experience with other systems working on linked lists (including a huge amount of kernel code in my Linux box that I'm typing from, ATM). Most of the problems with linked lists have been pretty well documented, by now. - Dave FJ Ballesteros wrote: > > > > Dave ha escrito: > > > > You're missing the point: With the changes I propose to our kernel, > > certain programs will be able to have much simpler logic. In addition to > > undoing the changes in the kernel, you'd have to rewrite the "offending" > > program - only manual recoding can accomplish that. > > > > No offending program if there's no native ' ' in file names. Just > have to cope with those still seen from the outside world. > I have a working trfs that deals with most cases here (still will miss > names > inside files). I'll send it tomorrow. > > Changing open just because of this would mean to rethink many tools > and nobody knows (because there's no experience with your proposed > system) > if it would introduce other problems. So I'd vote no. > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 21:51 ` Dave @ 2002-07-10 22:22 ` Dan Cross 2002-07-10 23:01 ` Dave 0 siblings, 1 reply; 81+ messages in thread From: Dan Cross @ 2002-07-10 22:22 UTC (permalink / raw) To: 9fans > The "offending" program in this case is the program that's so much simpler > because it's using the new kernel interface rather than the old one. I don't think it would be simpler; I think it would be more complicated. You're replacing a simple, textual representation of an object with a binary representation; you have to have some way to do canonicalization in the common case, but even that path is thrwat with danger. > Nothing has to be rethought because all my proposed changes do is restore > the strict seperation between nodes in a filename (something UNIX - > and therefore Plan 9 - likes to rely on). But they change an already well-established interface. Have you thought through the implications of this, in all their macabre glory? What you propose--changing the most basic interface for opening a file in a system where everything looks more or less like a file--has huge implications. And all this just to support a strange edge-case, which is adequately solved by substitutions in the filename. Sure, it's not perfect in some weird pathological case, but how often is this going to come up in practice? Remember: Optimize for the common case. > There's plenty of experience with other systems working on linked lists > (including a huge amount of kernel code in my Linux box that I'm typing > from, ATM). Most of the problems with linked lists have been pretty > well documented, by now. It's the huge amount of kernel code that Plan 9 is trying to avoid. Being forced to conform to a lot of external interfaces *will* kill the system. Besides, the point Nemo was trying to make umpteen posts ago was that, yes, you can roll back changes using the dump filesystem, which gives you temporal mobility. He is right. - Dan C. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 22:22 ` Dan Cross @ 2002-07-10 23:01 ` Dave 2002-07-11 2:00 ` Dan Cross 2002-07-11 10:43 ` Ish Rattan 0 siblings, 2 replies; 81+ messages in thread From: Dave @ 2002-07-10 23:01 UTC (permalink / raw) To: 9fans Reply inline: - Dave Dan Cross wrote: > > > The "offending" program in this case is the program that's so much simpler > > because it's using the new kernel interface rather than the old one. > > I don't think it would be simpler; I think it would be more > complicated. You're replacing a simple, textual representation of an > object with a binary representation; you have to have some way to do > canonicalization in the common case, but even that path is thrwat with > danger. Manipulating text with all sorts of dynamic buffers is substantially more complicated than simply replacing a node in a linked list. The canonicalization is all being done by the kernel, or a library. > > > Nothing has to be rethought because all my proposed changes do is restore > > the strict seperation between nodes in a filename (something UNIX - > > and therefore Plan 9 - likes to rely on). > > But they change an already well-established interface. Have you > thought through the implications of this, in all their macabre glory? > What you propose--changing the most basic interface for opening a file > in a system where everything looks more or less like a file--has huge > implications. And all this just to support a strange edge-case, which > is adequately solved by substitutions in the filename. Sure, it's not > perfect in some weird pathological case, but how often is this going to > come up in practice? Remember: Optimize for the common case. Optimization for the common case is good, but creating a system where the uncommon case will cause major mayhem at the system level is evidence of a very unclean approach. (When you consider the reasoning behind the problem (namely, spaces and slashes in filenames kill our ability to seperate nodes easily), it makes perfect sense that our solution isn't very clean. The only clean solution is to restore the ancient UNIX ideal of being able to easily seperate nodes. In other words, either kill spaces altogether and damn interoperability, or promote spaces to full citizenship.) > > > There's plenty of experience with other systems working on linked lists > > (including a huge amount of kernel code in my Linux box that I'm typing > > from, ATM). Most of the problems with linked lists have been pretty > > well documented, by now. > > It's the huge amount of kernel code that Plan 9 is trying to avoid. String manipulation is more complex than linked list manipulation. > > Being forced to conform to a lot of external interfaces *will* kill the > system. I don't dispute that point, but the interface I propose is most unlike any other interface currently known to man (not trying to conform to any external interface). I'm simply pointing out that failing to provide at least a 1-1 mapping with capabilities that are already widely used in external systems that must interoperate with ours *will* kill us. > > Besides, the point Nemo was trying to make umpteen posts ago was that, > yes, you can roll back changes using the dump filesystem, which gives > you temporal mobility. He is right. You can do a lot of things if you're prepared to get involved in the functions that your OS should be doing automatically. Try running an FTP mirror to a busy site that way, though, and you'll quickly discover why automation is a good thing. The worst part about our system is that the "solution" you eventually find for an FTP mirror will be useless on an HTTP proxy. When "solutions" need to be modified for each individual application, you know that the system isn't clean. > > - Dan C. > - Dave C. :-) ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 23:01 ` Dave @ 2002-07-11 2:00 ` Dan Cross 2002-07-11 6:14 ` Dave 2002-07-11 10:43 ` Ish Rattan 1 sibling, 1 reply; 81+ messages in thread From: Dan Cross @ 2002-07-11 2:00 UTC (permalink / raw) To: 9fans > > I don't think it would be simpler; I think it would be more > > complicated. You're replacing a simple, textual representation of an > > object with a binary representation; you have to have some way to do > > canonicalization in the common case, but even that path is thrwat with > > danger. > > Manipulating text with all sorts of dynamic buffers is substantially > more complicated than simply replacing a node in a linked list. > The canonicalization is all being done by the kernel, or a library. How could this possibly be in the kernel? After all, you're talking about changing the interface to open a file; I pass a file name via some mechanism to a user level application that wants to call open on it. What's it supposed to do? Does the shell now pass a linked list as an argument to main somehow? How does the system know that it's a file? Do we have to replace the argument vector with some more complex representation that encapsulates type information (e.g., this argument is a file, this next one is a string, etc)? Does the shell change to represent file names as lists? Does the user suffer the indignation of having to specify a list of path components to represent a file? Or do we provide a canonicalization library for shell arguments, in which case, you have the exact same problem as supporting spaces now, since most programs are going to expect to get file name arguments in the canonical representation? If you do that, who calls it? The shell or the library? I for one am going to be *very* unhappy if I have to type: cat ('' 'usr' 'cross' 'file') Instead of: cat /usr/cross/file Or do you make every program that wants to open a file call a function to canonicalize a filename into the internal format before it calls open? > > But they change an already well-established interface. Have you > > thought through the implications of this, in all their macabre glory? > > What you propose--changing the most basic interface for opening a file > > in a system where everything looks more or less like a file--has huge > > implications. And all this just to support a strange edge-case, which > > is adequately solved by substitutions in the filename. Sure, it's not > > perfect in some weird pathological case, but how often is this going to > > come up in practice? Remember: Optimize for the common case. > > Optimization for the common case is good, but creating a system where the > uncommon case will cause major mayhem at the system level is evidence > of a very unclean approach. (When you consider the reasoning behind > the problem (namely, spaces and slashes in filenames kill our ability > to seperate nodes easily), it makes perfect sense that our solution > isn't very clean. The only clean solution is to restore the ancient > UNIX ideal of being able to easily seperate nodes. In other words, > either kill spaces altogether and damn interoperability, or promote > spaces to full citizenship.) But Plan 9 can handle this. One of the beautiful things about Plan 9 is that it provides a solution that's workable with little effort. The various substitution file systems provide a workable solution without introducing any additional complexity. If you want a total--100% complete--solution, then a `urlifyfs' can be written that uses URL escaping as a canonical representation, or something similar. The system interface doesn't have to be changed, though. *That* is the mark of a clean system design. The Unix `ideal' was eliminated because it was overly complex, without a commensurate gain in functionality. Besides, the inode system didn't really fit in well with the idea of 9p. > > > There's plenty of experience with other systems working on linked lists > > > (including a huge amount of kernel code in my Linux box that I'm typing > > > from, ATM). Most of the problems with linked lists have been pretty > > > well documented, by now. > > > > It's the huge amount of kernel code that Plan 9 is trying to avoid. > > String manipulation is more complex than linked list manipulation. No, it's really not. Consider passing a linked list as an argument to a function you're calling, versus passing an argument vector of strings. How do you do that? Do you muck with all the C startup code to make sure you get the linking and so right in such a way that the list is in a contiguous memory block so it doesn't get stomped by the image read by exec? Do you pass each node in the list to main as a seperate string in the argument vector? If so, how do you tell when a file name ends and another begins? Do we introduce some convention for delineating the beginning and ends of a filename in a list representation, effectively creating a protocol that every program has to follow to take a filename as an argument? Surely the former option is significantly easier.... Consider a possible canonicalization routine that might be used in a substitution FS: char * canonical(char *str) { char *p, *s, *t; if (str == nil || (p = malloc(2 * strlen(str) + 1)) == nil) { return(nil); } for (s = str, t = p; *s != '\0'; s++, t++) { if (isspace(*s)) { *t++ = '+'; /* Or whatever. */ *t = '2'; continue; } *t = *s; } if ((s = realloc(p, strlen(p) + 1)) == nil) { free(p); } return(s); } That's pretty straight-forward; just inserting into a linked list would be just as hard. Doing so in a contiguous memory block would be, I think harder (you'd have to step over the list, keep a count of how much memory you needed, then allocate the list, copy each node and set the links. That's a pain). > > Being forced to conform to a lot of external interfaces *will* kill the > > system. > > I don't dispute that point, but the interface I propose is most unlike > any other interface currently known to man (not trying to conform to any > external interface). I'm simply pointing out that failing to provide > at least a 1-1 mapping with capabilities that are already widely used > in external systems that must interoperate with ours *will* kill us. Well, if you *really* want 100% 1 to 1 mappings, use the URL encoding others have mentioned, or something similar. As it is, it seems that this mostly works; about 80% of what's needed is there. > > Besides, the point Nemo was trying to make umpteen posts ago was that, > > yes, you can roll back changes using the dump filesystem, which gives > > you temporal mobility. He is right. > > You can do a lot of things if you're prepared to get involved in the > functions that your OS should be doing automatically. Try running an FTP > mirror to a busy site that way, though, and you'll quickly discover why > automation is a good thing. The worst part about our system is that the > "solution" you eventually find for an FTP mirror will be useless on an > HTTP proxy. When "solutions" need to be modified for each individual > application, you know that the system isn't clean. Yesterday is a wonderful tool, and can be scripted to do whatever you want. Eg, copying all files that changed on June 14th back to the cache isn't very diffcult. I don't see what running a big FTP mirror has to do with it. netlib is a big FTP site; it runs on Plan 9. Maybe it's not a mirror, but so what? I also don't see how you can't leverage whatever you did for FTP with HTTP. The substitution-style FS gives you a *lot* of flexibility in this area. - Dan C. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 2:00 ` Dan Cross @ 2002-07-11 6:14 ` Dave 2002-07-11 6:38 ` Lucio De Re ` (2 more replies) 0 siblings, 3 replies; 81+ messages in thread From: Dave @ 2002-07-11 6:14 UTC (permalink / raw) To: 9fans Reply inline: - Dave Dan Cross wrote: > > > > I don't think it would be simpler; I think it would be more > > > complicated. You're replacing a simple, textual representation of an > > > object with a binary representation; you have to have some way to do > > > canonicalization in the common case, but even that path is thrwat with > > > danger. > > > > Manipulating text with all sorts of dynamic buffers is substantially > > more complicated than simply replacing a node in a linked list. > > The canonicalization is all being done by the kernel, or a library. > > How could this possibly be in the kernel? After all, you're talking > about changing the interface to open a file; I pass a file name via > some mechanism to a user level application that wants to call open on > it. What's it supposed to do? Does the shell now pass a linked list > as an argument to main somehow? How does the system know that it's a > file? Do we have to replace the argument vector with some more complex > representation that encapsulates type information (e.g., this argument > is a file, this next one is a string, etc)? Does the shell change to > represent file names as lists? Does the user suffer the indignation of > having to specify a list of path components to represent a file? Or do > we provide a canonicalization library for shell arguments, in which > case, you have the exact same problem as supporting spaces now, since > most programs are going to expect to get file name arguments in the > canonical representation? If you do that, who calls it? The shell or > the library? That's an interesting point I didn't quite consider ... we'll have to change the exec interface a lot more than I suspected at first glance. I wasn't planning that until much later, because it'll require very fundamental changes to the shell. (/me hates proposing incremental changes, because they invariably depend on other fundamental changes in order for people to see their utility.) > > I for one am going to be *very* unhappy if I have to type: > > cat ('' 'usr' 'cross' 'file') > > Instead of: > > cat /usr/cross/file > > Or do you make every program that wants to open a file call a function > to canonicalize a filename into the internal format before it calls > open? My image of a shell is a user interface. It should translate all output from programs into a format that's easy for a human to understand, and should offer to translate data entered by the user from an easy-for-a-human-to-input format into the machine format. If you want to print /"usr"/"cross"/"file", you should be able to type something like "cat /usr/cross/file" and have the shell translate that into the collection of lists (/usr/bin/cat and /usr/cross/file) required for the underlying system. The shell should also translate the output of the ls command, for instance, so it prints filenames in an easy-for-humans-to-understand format. The ls command, though, should only print filenames in an easy-for-machine-to-understand format. Basically, the shell is the bidirectional translator between computer-speak and human-speak. That's it's raison d'étre (spelling?). Getting the kernel away from plain text doesn't mean getting the shell away from plain text. The shell can choose to support any method(s) it wants to represent filenames in an "easy-for-machine-to-understand" format, since it'll be converting the filenames into linked lists for the kernel. Utilities like find or ls or whatever output filenames in a format that your shell can read. (I envision an rc file supplied by the shell to let other programs know what formats it supports.) > > > > But they change an already well-established interface. Have you > > > thought through the implications of this, in all their macabre glory? > > > What you propose--changing the most basic interface for opening a file > > > in a system where everything looks more or less like a file--has huge > > > implications. And all this just to support a strange edge-case, which > > > is adequately solved by substitutions in the filename. Sure, it's not > > > perfect in some weird pathological case, but how often is this going to > > > come up in practice? Remember: Optimize for the common case. > > > > Optimization for the common case is good, but creating a system where the > > uncommon case will cause major mayhem at the system level is evidence > > of a very unclean approach. (When you consider the reasoning behind > > the problem (namely, spaces and slashes in filenames kill our ability > > to seperate nodes easily), it makes perfect sense that our solution > > isn't very clean. The only clean solution is to restore the ancient > > UNIX ideal of being able to easily seperate nodes. In other words, > > either kill spaces altogether and damn interoperability, or promote > > spaces to full citizenship.) > > But Plan 9 can handle this. > > One of the beautiful things about Plan 9 is that it provides a solution > that's workable with little effort. The various substitution file > systems provide a workable solution without introducing any additional > complexity. If you want a total--100% complete--solution, then a > `urlifyfs' can be written that uses URL escaping as a canonical > representation, or something similar. The system interface doesn't > have to be changed, though. *That* is the mark of a clean system > design. The only way to have the urlifyfs concept providing a 100% complete solution is to use it as the default filesystem for your own stuff. The reason? imagine downloading a file "blah%apos;" from an FTP server; now, you download a file "blah'" from an FTP server (which your urlifyfs faithfully translates into "blah%apos;" without realizing that it's destroying a different file). Guess what? You've just clobbered your original. Now, if you're going to use urlifyfs for your own stuff on your Plan 9 system, you're going to have to deal with the same shell-interaction issues that my system has to deal with. The only difference is that my system doesn't break if somebody forgets to use urlifyfs on a new filesystem, because my system moves text representation of filenames over to the shell, where it belongs, rather than dumping that burden on a filesystem translation hack. > > The Unix `ideal' was eliminated because it was overly complex, without > a commensurate gain in functionality. Besides, the inode system didn't > really fit in well with the idea of 9p. > > > > > There's plenty of experience with other systems working on linked lists > > > > (including a huge amount of kernel code in my Linux box that I'm typing > > > > from, ATM). Most of the problems with linked lists have been pretty > > > > well documented, by now. > > > > > > It's the huge amount of kernel code that Plan 9 is trying to avoid. > > > > String manipulation is more complex than linked list manipulation. > > No, it's really not. Consider passing a linked list as an argument to > a function you're calling, versus passing an argument vector of > strings. How do you do that? Do you muck with all the C startup code > to make sure you get the linking and so right in such a way that the > list is in a contiguous memory block so it doesn't get stomped by the > image read by exec? Do you pass each node in the list to main as a > seperate string in the argument vector? If so, how do you tell when > a file name ends and another begins? Do we introduce some convention > for delineating the beginning and ends of a filename in a list > representation, effectively creating a protocol that every program has > to follow to take a filename as an argument? Surely the former option > is significantly easier.... This is only true with our current exec family, which has been essentially carried over unchanged from UNIX. It's based on strings, not on lists. IMHO, arguments should be objects. Those objects can be filenames, options with or without arguments of their own, subcommands, just plain strings, etc. This makes arguments a lot more representitive of what they actually are, and eliminates the need for complex argument-handling libraries. Obviously, this whole change can be totally transparent to the user, because his shell is doing the necessary translations back and forth. However, you get an extremely powerful system as the payoff, a system that makes it rather easy to reimplement all our current syscalls as tiny library functions, possibly in an emulation library. > > Consider a possible canonicalization routine that might be used in > a substitution FS: > > char * > canonical(char *str) > { > char *p, *s, *t; > > if (str == nil || (p = malloc(2 * strlen(str) + 1)) == nil) { > return(nil); > } > for (s = str, t = p; *s != '\0'; s++, t++) { > if (isspace(*s)) { > *t++ = '+'; /* Or whatever. */ > *t = '2'; > continue; > } > *t = *s; > } > if ((s = realloc(p, strlen(p) + 1)) == nil) { > free(p); > } > > return(s); > } > > That's pretty straight-forward; just inserting into a linked list > would be just as hard. Doing so in a contiguous memory block would > be, I think harder (you'd have to step over the list, keep a count > of how much memory you needed, then allocate the list, copy each > node and set the links. That's a pain). strlen() is an expensive operation. realloc() sucks in a multithreaded environment. To top it all off, that algorithm doesn't take into account the expansion which is ABSOLUTELY NECESSARY in order to achieve 100% coverage. (If you're not going to achieve a 1-1 mapping, it's silly to even bother with this.) Also, I'd like to mention again that I'm not asking the kernel to allocate memory. The userland program provides a block of memory, and the kernel manipulates that block, returning an error if the block is too small. > > > > Being forced to conform to a lot of external interfaces *will* kill the > > > system. > > > > I don't dispute that point, but the interface I propose is most unlike > > any other interface currently known to man (not trying to conform to any > > external interface). I'm simply pointing out that failing to provide > > at least a 1-1 mapping with capabilities that are already widely used > > in external systems that must interoperate with ours *will* kill us. > > Well, if you *really* want 100% 1 to 1 mappings, use the URL encoding > others have mentioned, or something similar. As it is, it seems that > this mostly works; about 80% of what's needed is there. URL encoding _will_ work if it's implemented right (except for the uncleanliness I mentioned above, and some more problems I mention below). However, using URL encoding makes the resulting system just as ugly as the one I'm proposing from the user's perspective, but much much uglier from a system perspective. > > > > Besides, the point Nemo was trying to make umpteen posts ago was that, > > > yes, you can roll back changes using the dump filesystem, which gives > > > you temporal mobility. He is right. > > > > You can do a lot of things if you're prepared to get involved in the > > functions that your OS should be doing automatically. Try running an FTP > > mirror to a busy site that way, though, and you'll quickly discover why > > automation is a good thing. The worst part about our system is that the > > "solution" you eventually find for an FTP mirror will be useless on an > > HTTP proxy. When "solutions" need to be modified for each individual > > application, you know that the system isn't clean. > > Yesterday is a wonderful tool, and can be scripted to do whatever you > want. Eg, copying all files that changed on June 14th back to the > cache isn't very diffcult. Yesterday can't be used to update the relative references in all the README files in the FTP archives to the urlified versions. > > I don't see what running a big FTP mirror has to do with it. netlib is > a big FTP site; it runs on Plan 9. Maybe it's not a mirror, but so what? Since it's not a mirror, it doesn't have to contend with all the spaceful filenames you find in the non-Plan9 world. > I also don't see how you can't leverage whatever you did for FTP with > HTTP. The substitution-style FS gives you a *lot* of flexibility in this > area. What you did in FTP was scanning the README files for references. What you do in HTTP is updating all the href and src attributes in HTML files (and hope none of the JAVA programs have embedded URLs that you can't change at all), so you don't get broken links everywhere. ...unless you want to implement the transformation/detransformation code in the FTP and HTTP servers, as well ... in which case your system becomes one step worse than my system, because you have transformation/detransformation code in two places on your system :-( > > - Dan C. > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 6:14 ` Dave @ 2002-07-11 6:38 ` Lucio De Re 2002-07-14 18:00 ` Dave 2002-07-11 13:14 ` arisawa 2002-07-11 16:23 ` Dan Cross 2 siblings, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-11 6:38 UTC (permalink / raw) To: 9fans On Thu, Jul 11, 2002 at 02:14:59AM -0400, Dave wrote: > > Reply inline: > You make some valid points, but I think they are well in excess of present requirements. Not to say that a future OS/GUI will not (have to) take them into consideration. You do however confuse URI and HTML and you really shouldn't: > The only way to have the urlifyfs concept providing a 100% complete > solution is to use it as the default filesystem for your own stuff. > The reason? imagine downloading a file "blah%apos;" from an FTP server; > now, you download a file "blah'" from an FTP server (which your urlifyfs > faithfully translates into "blah%apos;" without realizing that it's > destroying a different file). Guess what? You've just clobbered your > original. Now, if you're going to use urlifyfs for your own stuff URI: blah%apos; -> blah%25pos%3b ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 6:38 ` Lucio De Re @ 2002-07-14 18:00 ` Dave 0 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-14 18:00 UTC (permalink / raw) To: 9fans Lucio De Re wrote: > > On Thu, Jul 11, 2002 at 02:14:59AM -0400, Dave wrote: > > > > Reply inline: > > > You make some valid points, but I think they are well in excess of > present requirements. Not to say that a future OS/GUI will not (have > to) take them into consideration. Okay, fair enough ... I'll just wait a few more years until some OS agrees to go out on a limb with me (Release 5, maybe?) ;-) > > You do however confuse URI and HTML and you really shouldn't: > > > > The only way to have the urlifyfs concept providing a 100% complete > > solution is to use it as the default filesystem for your own stuff. > > The reason? imagine downloading a file "blah%apos;" from an FTP server; > > now, you download a file "blah'" from an FTP server (which your urlifyfs > > faithfully translates into "blah%apos;" without realizing that it's > > destroying a different file). Guess what? You've just clobbered your > > original. Now, if you're going to use urlifyfs for your own stuff > > URI: blah%apos; -> blah%25pos%3b Whoopsies ... my brain must've been half mush when I typed that :-( > > ++L > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 6:14 ` Dave 2002-07-11 6:38 ` Lucio De Re @ 2002-07-11 13:14 ` arisawa 2002-07-12 12:28 ` arisawa 2002-07-11 16:23 ` Dan Cross 2 siblings, 1 reply; 81+ messages in thread From: arisawa @ 2002-07-11 13:14 UTC (permalink / raw) To: 9fans Hello, > One of the beautiful things about Plan 9 is that it provides a solution > that's workable with little effort. The various substitution file > systems provide a workable solution without introducing any additional > complexity. If you want a total--100% complete--solution, then a > `urlifyfs' can be written that uses URL escaping as a canonical > representation, or something similar. The system interface doesn't > have to be changed, though. *That* is the mark of a clean system > design. The idea was born from the discussion between Dave and I. Dave proposed '\' escape. Until that time, I had been tied to quoting strategy. %XX looks ugly as Dave says, but it works cleanly. That is the beauty. We must be patient with this ugliness because we are in textual environment. Full GUI environment, I believe Plan9 also have it in future, will remove this ugliness. Thanks Dave. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 13:14 ` arisawa @ 2002-07-12 12:28 ` arisawa 0 siblings, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-12 12:28 UTC (permalink / raw) To: 9fans Hello, I should have added to my previous thread: I think `urlifyfs' or similar stuff is good idea. I didn't have that idea. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 6:14 ` Dave 2002-07-11 6:38 ` Lucio De Re 2002-07-11 13:14 ` arisawa @ 2002-07-11 16:23 ` Dan Cross 2 siblings, 0 replies; 81+ messages in thread From: Dan Cross @ 2002-07-11 16:23 UTC (permalink / raw) To: 9fans I want to let this thread die, but I just have one last thing to say: > Getting the kernel away from plain text doesn't mean getting the shell But.... It took 20 years to get the kernel to plain text. I don't want to go back. - Dan C. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 23:01 ` Dave 2002-07-11 2:00 ` Dan Cross @ 2002-07-11 10:43 ` Ish Rattan 2002-07-14 18:49 ` Dave 1 sibling, 1 reply; 81+ messages in thread From: Ish Rattan @ 2002-07-11 10:43 UTC (permalink / raw) To: 9fans Probably it is time for this thread to go away. An OS design is a reflection of what the designer considers important -- who gives a hoot if it not a clean design. My response: if you do not like it either desgin your "own" OR use one that you consider a clean OS!! -ishwar On Wed, 10 Jul 2002, Dave wrote: > Reply inline: > > - Dave > > Dan Cross wrote: > > > > > The "offending" program in this case is the program that's so much simpler > > > because it's using the new kernel interface rather than the old one. > > > > I don't think it would be simpler; I think it would be more > > complicated. You're replacing a simple, textual representation of an > > object with a binary representation; you have to have some way to do > > canonicalization in the common case, but even that path is thrwat with > > danger. > Manipulating text with all sorts of dynamic buffers is substantially > more complicated than simply replacing a node in a linked list. > The canonicalization is all being done by the kernel, or a library. > > > > > > Nothing has to be rethought because all my proposed changes do is restore > > > the strict seperation between nodes in a filename (something UNIX - > > > and therefore Plan 9 - likes to rely on). > > > > But they change an already well-established interface. Have you > > thought through the implications of this, in all their macabre glory? > > What you propose--changing the most basic interface for opening a file > > in a system where everything looks more or less like a file--has huge > > implications. And all this just to support a strange edge-case, which > > is adequately solved by substitutions in the filename. Sure, it's not > > perfect in some weird pathological case, but how often is this going to > > come up in practice? Remember: Optimize for the common case. > Optimization for the common case is good, but creating a system where the > uncommon case will cause major mayhem at the system level is evidence > of a very unclean approach. (When you consider the reasoning behind > the problem (namely, spaces and slashes in filenames kill our ability > to seperate nodes easily), it makes perfect sense that our solution > isn't very clean. The only clean solution is to restore the ancient > UNIX ideal of being able to easily seperate nodes. In other words, > either kill spaces altogether and damn interoperability, or promote > spaces to full citizenship.) > > > > > > There's plenty of experience with other systems working on linked lists > > > (including a huge amount of kernel code in my Linux box that I'm typing > > > from, ATM). Most of the problems with linked lists have been pretty > > > well documented, by now. > > > > It's the huge amount of kernel code that Plan 9 is trying to avoid. > String manipulation is more complex than linked list manipulation. > > > > > Being forced to conform to a lot of external interfaces *will* kill the > > system. > I don't dispute that point, but the interface I propose is most unlike > any other interface currently known to man (not trying to conform to any > external interface). I'm simply pointing out that failing to provide > at least a 1-1 mapping with capabilities that are already widely used > in external systems that must interoperate with ours *will* kill us. > > > > > Besides, the point Nemo was trying to make umpteen posts ago was that, > > yes, you can roll back changes using the dump filesystem, which gives > > you temporal mobility. He is right. > You can do a lot of things if you're prepared to get involved in the > functions that your OS should be doing automatically. Try running an FTP > mirror to a busy site that way, though, and you'll quickly discover why > automation is a good thing. The worst part about our system is that the > "solution" you eventually find for an FTP mirror will be useless on an > HTTP proxy. When "solutions" need to be modified for each individual > application, you know that the system isn't clean. > > > > > - Dan C. > > > - Dave C. :-) > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-11 10:43 ` Ish Rattan @ 2002-07-14 18:49 ` Dave 0 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-14 18:49 UTC (permalink / raw) To: 9fans Okay, I think we might have enough votes to finally kill the thread ;-) - Dave Ish Rattan wrote: > > Probably it is time for this thread to go away. > > An OS design is a reflection of what the designer considers > important -- who gives a hoot if it not a clean design. My > response: if you do not like it either desgin your "own" OR > use one that you consider a clean OS!! > > -ishwar > > On Wed, 10 Jul 2002, Dave wrote: > > > Reply inline: > > > > - Dave > > > > Dan Cross wrote: > > > > > > > The "offending" program in this case is the program that's so much simpler > > > > because it's using the new kernel interface rather than the old one. > > > > > > I don't think it would be simpler; I think it would be more > > > complicated. You're replacing a simple, textual representation of an > > > object with a binary representation; you have to have some way to do > > > canonicalization in the common case, but even that path is thrwat with > > > danger. > > Manipulating text with all sorts of dynamic buffers is substantially > > more complicated than simply replacing a node in a linked list. > > The canonicalization is all being done by the kernel, or a library. > > > > > > > > > Nothing has to be rethought because all my proposed changes do is restore > > > > the strict seperation between nodes in a filename (something UNIX - > > > > and therefore Plan 9 - likes to rely on). > > > > > > But they change an already well-established interface. Have you > > > thought through the implications of this, in all their macabre glory? > > > What you propose--changing the most basic interface for opening a file > > > in a system where everything looks more or less like a file--has huge > > > implications. And all this just to support a strange edge-case, which > > > is adequately solved by substitutions in the filename. Sure, it's not > > > perfect in some weird pathological case, but how often is this going to > > > come up in practice? Remember: Optimize for the common case. > > Optimization for the common case is good, but creating a system where the > > uncommon case will cause major mayhem at the system level is evidence > > of a very unclean approach. (When you consider the reasoning behind > > the problem (namely, spaces and slashes in filenames kill our ability > > to seperate nodes easily), it makes perfect sense that our solution > > isn't very clean. The only clean solution is to restore the ancient > > UNIX ideal of being able to easily seperate nodes. In other words, > > either kill spaces altogether and damn interoperability, or promote > > spaces to full citizenship.) > > > > > > > > > There's plenty of experience with other systems working on linked lists > > > > (including a huge amount of kernel code in my Linux box that I'm typing > > > > from, ATM). Most of the problems with linked lists have been pretty > > > > well documented, by now. > > > > > > It's the huge amount of kernel code that Plan 9 is trying to avoid. > > String manipulation is more complex than linked list manipulation. > > > > > > > > Being forced to conform to a lot of external interfaces *will* kill the > > > system. > > I don't dispute that point, but the interface I propose is most unlike > > any other interface currently known to man (not trying to conform to any > > external interface). I'm simply pointing out that failing to provide > > at least a 1-1 mapping with capabilities that are already widely used > > in external systems that must interoperate with ours *will* kill us. > > > > > > > > Besides, the point Nemo was trying to make umpteen posts ago was that, > > > yes, you can roll back changes using the dump filesystem, which gives > > > you temporal mobility. He is right. > > You can do a lot of things if you're prepared to get involved in the > > functions that your OS should be doing automatically. Try running an FTP > > mirror to a busy site that way, though, and you'll quickly discover why > > automation is a good thing. The worst part about our system is that the > > "solution" you eventually find for an FTP mirror will be useless on an > > HTTP proxy. When "solutions" need to be modified for each individual > > application, you know that the system isn't clean. > > > > > > > > - Dan C. > > > > > - Dave C. :-) > > > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-09 7:46 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-09 7:46 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 205 bytes --]
Just to clarify, I'm no longer pursuing blanks on Plan 9.
As a matter of fact, I never liked them. Now that I'm happy
to see that Rob does not want them on native files I can just
rename them in u9fs.
[-- Attachment #2: Type: message/rfc822, Size: 1485 bytes --]
From: okamoto@granite.cias.osakafu-u.ac.jp
To: 9fans@cse.psu.edu
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Tue, 9 Jul 2002 09:38:32 +0900
Message-ID: <20020709003915.580A719991@mail.cse.psu.edu>
>I would just like an acme window to be able to hold
>"/a/b x/d/e/f x"
Why, nemo, are you so eager to permit blank as a file name?
Does it come from European language nature?
IMHO: our language, yes Japanese has no such blank as a delimiter
of words, so I have no such interest to that. :-)
Kenji
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-09 0:38 okamoto
0 siblings, 0 replies; 81+ messages in thread
From: okamoto @ 2002-07-09 0:38 UTC (permalink / raw)
To: 9fans
>I would just like an acme window to be able to hold
>"/a/b x/d/e/f x"
Why, nemo, are you so eager to permit blank as a file name?
Does it come from European language nature?
IMHO: our language, yes Japanese has no such blank as a delimiter
of words, so I have no such interest to that. :-)
Kenji
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 16:14 rob pike, esq.
0 siblings, 0 replies; 81+ messages in thread
From: rob pike, esq. @ 2002-07-08 16:14 UTC (permalink / raw)
To: 9fans
> 99% only. You'd still have the problem of names that arrive surreptitiously,
> such as in tar files.
Expanding a bit....
This is why I decided (mea maxima culpa) to admit blanks in file names.
They show up, you don't know where from, and if the basic tools have
ways of coping (as opposed to being graceful and perfect in handling them)
you can get by without mystery error messages caused by the operating
system rejecting them deep down.
I think the setup is sufficient, and sufficient unto the day is the evil thereof.
-rob
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 16:07 rob pike, esq.
2002-07-08 20:58 ` Dave
0 siblings, 1 reply; 81+ messages in thread
From: rob pike, esq. @ 2002-07-08 16:07 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 110 bytes --]
99% only. You'd still have the problem of names that arrive surreptitiously,
such as in tar files.
-rob
[-- Attachment #2: Type: message/rfc822, Size: 3446 bytes --]
[-- Attachment #2.1.1: Type: text/plain, Size: 89 bytes --]
Renaming them would get us quickly up to 100%, with no need
to fix anything. Am I wrong?
[-- Attachment #2.1.2: Type: message/rfc822, Size: 1779 bytes --]
From: "rob pike, esq." <rob@plan9.bell-labs.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Mon, 8 Jul 2002 12:00:09 -0400
Message-ID: <a5b373bbdc70b762911c083da046ca5f@plan9.bell-labs.com>
> Glub! My first view of all this blank thing was just to forbid
> them and maybe rename them just to avoid them (They make things more
> complex for our programs).
I encounter a dozen blank-containing names a day, but only from
interacting with foreign systems. I find the current setup covers about
80% of what I need; fixing a few other simple things would probably
get us to 99%. But upon reflection I don't think it's wise to push for
blanks to be first-class citizens in file names. As long as we continue
to use linguistic rather than graphical interfaces to most of our tools,
that would be a mistake.
-rob
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-08 16:07 rob pike, esq. @ 2002-07-08 20:58 ` Dave 2002-07-08 22:18 ` arisawa 0 siblings, 1 reply; 81+ messages in thread From: Dave @ 2002-07-08 20:58 UTC (permalink / raw) To: 9fans ...not even ... if you s/ /_/g all incoming filenames, you'll have no way of distinguishing 'a b' from 'a_b' ... or am I wrong? - Dave rob pike, esq. wrote: > > This is a multi-part message in MIME format. > --upas-hysbwqswxskaflauqaypshypxy > Content-Disposition: inline > Content-Type: text/plain; charset="US-ASCII" > Content-Transfer-Encoding: 7bit > > 99% only. You'd still have the problem of names that arrive surreptitiously, > such as in tar files. > > -rob > > --upas-hysbwqswxskaflauqaypshypxy > Content-Type: message/rfc822 > Content-Disposition: inline > > Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon Jul 8 12:06:16 EDT 2002 > Received: from mail.cse.psu.edu ([130.203.4.6]) by plan9; Mon Jul 8 12:06:15 EDT 2002 > Received: from psuvax1.cse.psu.edu (psuvax1.cse.psu.edu [130.203.18.6]) > by mail.cse.psu.edu (CSE Mail Server) with ESMTP > id 7F994199BC; Mon, 8 Jul 2002 12:06:08 -0400 (EDT) > Delivered-To: 9fans@cse.psu.edu > Received: from nautilus.escet.urjc.es (nautilus.escet.urjc.es [212.128.4.207]) > by mail.cse.psu.edu (CSE Mail Server) with SMTP id C8D81199B9 > for <9fans@cse.psu.edu>; Mon, 8 Jul 2002 12:05:05 -0400 (EDT) > Message-ID: <8aeb5e383c12f6b44b043e969d203fb5@plan9.escet.urjc.es> > From: Fco.J.Ballesteros <nemo@plan9.escet.urjc.es> > To: 9fans@cse.psu.edu > Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing > MIME-Version: 1.0 > Content-Type: multipart/mixed; > boundary="upas-gtvahntgehtrsxxskbyfbulvvm" > Sender: 9fans-admin@cse.psu.edu > Errors-To: 9fans-admin@cse.psu.edu > X-BeenThere: 9fans@cse.psu.edu > X-Mailman-Version: 2.0.11 > Precedence: bulk > Reply-To: 9fans@cse.psu.edu > List-Id: Fans of the OS Plan 9 from Bell Labs <9fans.cse.psu.edu> > List-Archive: <https://lists.cse.psu.edu/archives/9fans/> > Date: Mon, 8 Jul 2002 18:05:03 +0200 > > This is a multi-part message in MIME format. > --upas-gtvahntgehtrsxxskbyfbulvvm > Content-Disposition: inline > Content-Type: text/plain; charset="US-ASCII" > Content-Transfer-Encoding: 7bit > > Renaming them would get us quickly up to 100%, with no need > to fix anything. Am I wrong? > --upas-gtvahntgehtrsxxskbyfbulvvm > Content-Type: message/rfc822 > Content-Disposition: inline > > Received: from mail.cse.psu.edu ([130.203.4.6]) by aquamar; Mon Jul 8 18:01:23 MDT 2002 > Received: from psuvax1.cse.psu.edu (psuvax1.cse.psu.edu [130.203.16.6]) > by mail.cse.psu.edu (CSE Mail Server) with ESMTP > id 1D95B19995; Mon, 8 Jul 2002 12:01:13 -0400 (EDT) > Delivered-To: 9fans@cse.psu.edu > Received: from plan9.cs.bell-labs.com (ampl.com [204.178.31.2]) > by mail.cse.psu.edu (CSE Mail Server) with SMTP id 7A9F519991 > for <9fans@cse.psu.edu>; Mon, 8 Jul 2002 12:00:11 -0400 (EDT) > Message-ID: <a5b373bbdc70b762911c083da046ca5f@plan9.bell-labs.com> > To: 9fans@cse.psu.edu > Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing > From: "rob pike, esq." <rob@plan9.bell-labs.com> > MIME-Version: 1.0 > Content-Type: text/plain; charset="US-ASCII" > Content-Transfer-Encoding: 7bit > Sender: 9fans-admin@cse.psu.edu > Errors-To: 9fans-admin@cse.psu.edu > X-BeenThere: 9fans@cse.psu.edu > X-Mailman-Version: 2.0.11 > Precedence: bulk > Reply-To: 9fans@cse.psu.edu > List-Id: Fans of the OS Plan 9 from Bell Labs <9fans.cse.psu.edu> > List-Archive: <https://lists.cse.psu.edu/archives/9fans/> > Date: Mon, 8 Jul 2002 12:00:09 -0400 > > > Glub! My first view of all this blank thing was just to forbid > > them and maybe rename them just to avoid them (They make things more > > complex for our programs). > > I encounter a dozen blank-containing names a day, but only from > interacting with foreign systems. I find the current setup covers about > 80% of what I need; fixing a few other simple things would probably > get us to 99%. But upon reflection I don't think it's wise to push for > blanks to be first-class citizens in file names. As long as we continue > to use linguistic rather than graphical interfaces to most of our tools, > that would be a mistake. > > -rob > > --upas-gtvahntgehtrsxxskbyfbulvvm-- > --upas-hysbwqswxskaflauqaypshypxy-- > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-08 20:58 ` Dave @ 2002-07-08 22:18 ` arisawa 0 siblings, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-08 22:18 UTC (permalink / raw) To: 9fans >...not even ... if you s/ /_/g all incoming filenames, you'll have no >way of distinguishing 'a b' from 'a_b' ... or am I wrong? > - Dave You misunderstand something. We need not distinguishing 'a b' from 'a_b' because there are no files that contains ' ' in their names. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 16:05 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-08 16:05 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 89 bytes --]
Renaming them would get us quickly up to 100%, with no need
to fix anything. Am I wrong?
[-- Attachment #2: Type: message/rfc822, Size: 1779 bytes --]
From: "rob pike, esq." <rob@plan9.bell-labs.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Mon, 8 Jul 2002 12:00:09 -0400
Message-ID: <a5b373bbdc70b762911c083da046ca5f@plan9.bell-labs.com>
> Glub! My first view of all this blank thing was just to forbid
> them and maybe rename them just to avoid them (They make things more
> complex for our programs).
I encounter a dozen blank-containing names a day, but only from
interacting with foreign systems. I find the current setup covers about
80% of what I need; fixing a few other simple things would probably
get us to 99%. But upon reflection I don't think it's wise to push for
blanks to be first-class citizens in file names. As long as we continue
to use linguistic rather than graphical interfaces to most of our tools,
that would be a mistake.
-rob
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 16:00 rob pike, esq.
0 siblings, 0 replies; 81+ messages in thread
From: rob pike, esq. @ 2002-07-08 16:00 UTC (permalink / raw)
To: 9fans
> Glub! My first view of all this blank thing was just to forbid
> them and maybe rename them just to avoid them (They make things more
> complex for our programs).
I encounter a dozen blank-containing names a day, but only from
interacting with foreign systems. I find the current setup covers about
80% of what I need; fixing a few other simple things would probably
get us to 99%. But upon reflection I don't think it's wise to push for
blanks to be first-class citizens in file names. As long as we continue
to use linguistic rather than graphical interfaces to most of our tools,
that would be a mistake.
-rob
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 15:51 Fco.J.Ballesteros
0 siblings, 0 replies; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-08 15:51 UTC (permalink / raw)
To: 9fans
[-- Attachment #1: Type: text/plain, Size: 555 bytes --]
Glub! My first view of all this blank thing was just to forbid
them and maybe rename them just to avoid them (They make things more
complex for our programs).
But then I (mis)understood that the plan for the system was to give
them a chance; thus I tried to find a simple way to get them working.
Now that I finally see that the agreement is on
`blanks would mess up things', I think I'll just add them to isfrog and
rename them in u9fs (the only place were I get blanks into the system).
Thanks for your answer and sorry about the mess.
[-- Attachment #2: Type: message/rfc822, Size: 1319 bytes --]
From: "rob pike, esq." <rob@plan9.bell-labs.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing
Date: Mon, 8 Jul 2002 11:42:05 -0400
Message-ID: <7b9a9eaaf34e6773065104024b7696c2@plan9.bell-labs.com>
> So all the effort to handle ' ' was just for foreign files?
Yes. And that is the main reason I don't want to trash the
system to support blanks in file names.
-rob
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 15:42 rob pike, esq.
0 siblings, 0 replies; 81+ messages in thread
From: rob pike, esq. @ 2002-07-08 15:42 UTC (permalink / raw)
To: 9fans
> So all the effort to handle ' ' was just for foreign files?
Yes. And that is the main reason I don't want to trash the
system to support blanks in file names.
-rob
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing @ 2002-07-08 15:18 Fco.J.Ballesteros 0 siblings, 0 replies; 81+ messages in thread From: Fco.J.Ballesteros @ 2002-07-08 15:18 UTC (permalink / raw) To: 9fans [-- Attachment #1: Type: text/plain, Size: 61 bytes --] So all the effort to handle ' ' was just for foreign files? [-- Attachment #2: Type: message/rfc822, Size: 1265 bytes --] From: "rob pike, esq." <rob@plan9.bell-labs.com> To: 9fans@cse.psu.edu Subject: Re: [9fans] acme question + diffs for kfs, fs and plumbing Date: Mon, 8 Jul 2002 11:16:57 -0400 Message-ID: <53a4b2914a2d14090c0f2bc46f48ce8a@plan9.bell-labs.com> You don't want blanks in native files, I promise you. The kfs changes (at least) are ill-advised. -rob ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing @ 2002-07-08 15:16 rob pike, esq. 0 siblings, 0 replies; 81+ messages in thread From: rob pike, esq. @ 2002-07-08 15:16 UTC (permalink / raw) To: 9fans You don't want blanks in native files, I promise you. The kfs changes (at least) are ill-advised. -rob ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing
@ 2002-07-08 15:10 Fco.J.Ballesteros
2002-07-08 15:16 ` Lucio De Re
0 siblings, 1 reply; 81+ messages in thread
From: Fco.J.Ballesteros @ 2002-07-08 15:10 UTC (permalink / raw)
To: 9fans
> I'm not familiar with ACME's innards, but wouldn't it be more
> consistent to have ACME understand the "?" wild character in the
> tag? Of course this has other drawbacks, but it strikes me as a good
> starting point for discussion.
??
I would just like an acme window to be able to hold
"/a/b x/d/e/f x"
in its tag line. Currently, it would stop at the first
blank and eat the rest of the file name. I'm not talking
about metacharacters.
I think that a couple of changes in wind.c could do the effect.
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-08 15:10 Fco.J.Ballesteros @ 2002-07-08 15:16 ` Lucio De Re 0 siblings, 0 replies; 81+ messages in thread From: Lucio De Re @ 2002-07-08 15:16 UTC (permalink / raw) To: 9fans On Mon, Jul 08, 2002 at 05:10:00PM +0200, Fco.J.Ballesteros wrote: > > ?? > > I would just like an acme window to be able to hold > "/a/b x/d/e/f x" > in its tag line. Currently, it would stop at the first > blank and eat the rest of the file name. I'm not talking > about metacharacters. > > I think that a couple of changes in wind.c could do the effect. It would seem more consistent, in the tag _name_ to use quoting <duck!>. I was thinking of presenting the above as /a/b?x/d/e/f?x, but I wasn't considering the tag name, I was thinking of a specification in the tag tail. ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* [9fans] acme question + diffs for kfs, fs and plumbing @ 2002-07-08 14:54 Fco.J.Ballesteros 2002-07-08 15:05 ` Lucio De Re 0 siblings, 1 reply; 81+ messages in thread From: Fco.J.Ballesteros @ 2002-07-08 14:54 UTC (permalink / raw) To: 9fans [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 1113 bytes --] Could we change the acme tag so that the file name is terminated by `|' and not by space? Otherwise I don't know how to let acme edit files that have blanks on their names (It would eat part of the name). Now the diffs. I had to make them to let my system handle blanks on file names; i.e. to - let the plumber config know of blanks - permit blanks in kfs - permit blanks in fs - permit blanks in acme tags (I don't include this one). /sys/lib/plumb/basic: - add space as a valid char for file names. eg. '[ a-zA-Z¡-￿0-9_\-./]+' instead of '[ a-zA-Z¡-￿0-9_\-./]+' Permit blanks in kfs servers: diff /n/dump/2002/0708/sys/src/cmd/disk/kfs/sub.c sub.c 382c382 < if(c <= 040) --- > if(c < 040) diff /n/dump/2002/0708/sys/src/cmd/disk/kfs/9p2.c 9p2.c 795c795 < if((*p & 0xFF) <= 040) --- > if((*p & 0xFF) < 040) Permit blanks in real file servers: diff ./port/9p2.c /sys/src/fs/port/9p2.c 155c155 < if((*p & 0xFF) <= 040) --- > if((*p & 0xFF) < 040) diff ./port/sub.c /sys/src/fs/port/sub.c 496c496 < if(c <= 040) --- > if(c < 040) ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-08 14:54 Fco.J.Ballesteros @ 2002-07-08 15:05 ` Lucio De Re 0 siblings, 0 replies; 81+ messages in thread From: Lucio De Re @ 2002-07-08 15:05 UTC (permalink / raw) To: 9fans On Mon, Jul 08, 2002 at 04:54:24PM +0200, Fco.J.Ballesteros wrote: > > Could we change the acme tag so that the file name is terminated by > `|' and not by space? Otherwise I don't know how to let acme edit > files that have blanks on their names (It would eat part of the name). > I'm not familiar with ACME's innards, but wouldn't it be more consistent to have ACME understand the "?" wild character in the tag? Of course this has other drawbacks, but it strikes me as a good starting point for discussion. ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names @ 2002-07-03 8:00 Fco.J.Ballesteros 2002-07-03 12:00 ` Lucio De Re 0 siblings, 1 reply; 81+ messages in thread From: Fco.J.Ballesteros @ 2002-07-03 8:00 UTC (permalink / raw) To: 9fans rog@vitanuova.com : : /sys/src/cmd/dossrv : /sys/src/cmd/9660srv : /sys/src/cmd/tapefs : /sys/src/cmd/unix/u9fs : /sys/src/cmd/ftpfs : convert "space char" to/from external actual space on create, : walk, wstat, stat and directory reads. One crazy idea I had was to do that translation in the mount driver. That way the server would be happy to think that it uses space, and the client plan 9 program would be happy to see 00A0 or whatever without confussion with the space character. lucio@proxima.alt.za : : What I'm saying, is that I'd like to target a kernel that is entirely : delimiter agnostic and promote each user application in the same : direction as a long-term project. In the interim, constructs that : cast delimiters in stone should be removed wherever possible. IMHO, the problem is mostly the user programs and not the kernel. AFAIK, the kernel is fine if you don't use / and \0 as delimiters (which seems reasonable to me, although some guys might want to use it too). But the tradition that blanks separate arguments is deeply embedded in user programs, perhaps most notably the shell. Assume the kernel has changed to use openv[], what would the shell do to deal with spaces vs 00A0s ? ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-03 8:00 [9fans] blanks in file names Fco.J.Ballesteros @ 2002-07-03 12:00 ` Lucio De Re 2002-07-03 19:39 ` rob pike, esq. 0 siblings, 1 reply; 81+ messages in thread From: Lucio De Re @ 2002-07-03 12:00 UTC (permalink / raw) To: 9fans *** ramble alert! *** On Wed, Jul 03, 2002 at 10:00:55AM +0200, Fco.J.Ballesteros wrote: > > IMHO, the problem is mostly the user programs and not the kernel. > AFAIK, the kernel is fine if you don't use / and \0 as delimiters > (which seems reasonable to me, although some guys might want to use it too). > Yes, it would be convenient for the delimiter to be soft, for example. > But the tradition that blanks separate arguments is deeply embedded in > user programs, perhaps most notably the shell. > I certainly will not argue with this. > Assume the kernel has changed to use openv[], what would the shell > do to deal with spaces vs 00A0s ? > Well, it's not as if I'm the genius here :-) The command line (ignore the shell for a moment as its interpreter) is a very clear expression of the user's intent, in that there is a long tradition behind it and, eqaully important(ly), it is visually unambiguous (within human limits). The feature one often overlooks of spaces is that they can be repeated with no change of semantics or replaced by other whitespace with similar results (cf. sendmail's configuration file and its tab/space madness). So it would seem reasonable to retain the convention unchanged in the familiar contexts and seek alternatives in the new, graphical environments, for example. Is there perhaps an undiscovered technique to express a shell pipeline in a graphical format? If so, can new separator rules be brought to apply, escaping some of the limitations of the traditional approach? Maybe facetiously, I'd like to point out that the space is the absence of a character to the eye, if we used a typescript interface with pixel-dots in the character positions, drag-and-dropping command line parameters would be automatically quoted by the background pixel-dots. That is, until you want a pixel-dot character in an argument. Sigh. Still, a background of single quotes would work and be horrendously ugly, argument completion may become mandatory as the shell now no longer can provide that function as everything is quoted. In short, no, I do not have an answer for Nemo, but it seems to me that bending the conventional interface is not going to work well, we ought to be looking for new answers, not unlike the ingeniousness that brought us Plan 9 in the first place and acme as the most extreme example. ++L ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-03 12:00 ` Lucio De Re @ 2002-07-03 19:39 ` rob pike, esq. 2002-07-07 4:02 ` Dave 0 siblings, 1 reply; 81+ messages in thread From: rob pike, esq. @ 2002-07-03 19:39 UTC (permalink / raw) To: 9fans You guys are all arguing about system stuff but it's the *user interface* that you're really arguing about, and breaking. You are opening a can of worms you will never get closed again. Change space! Change the file delimiter! The shell will never recover. The system will break. I will mourn. -rob ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-03 19:39 ` rob pike, esq. @ 2002-07-07 4:02 ` Dave 2002-07-07 5:17 ` arisawa 2002-07-08 9:48 ` Boyd Roberts 0 siblings, 2 replies; 81+ messages in thread From: Dave @ 2002-07-07 4:02 UTC (permalink / raw) To: 9fans How about representing paths internally as connected structures (linked lists, if you will), each of which identifies a particular node. The method of representation of a given node can be quite flexible (allowing node completion - or as I would term it, cannonization - to be done by the kernel), and user programs could establish their own conventions for dealing with user input and user output (which seems logical to me, since the kernel really isn't intended to be a human user interface, only a program "user" interface). Here's an off-the-top-of-my-head example to illustrate what I mean. I'm sure we can come up with a much better system if we all think about this a bit, and figure out how it can be improved (or how it can be replaced with something even better - the purpose of this example is simply to get us thinking in a particular direction that I believe is quite promising): struct node_t { char* name; size_t name_l; /* the node name, and the length of the name */ /* An error should probably be returned by the kernel if hint is ambiguous. */ char* hint; /* a regexp that can be fed to attempt to "autocomplete" */ size_t inode; /* another unique identifier for a node - should we allow it? */ node_t* next_node; }; /* canonize(2) converts a node_t chain into its canonical form, expanding all * hints into the corresponding names. If there are any possible * canonizations and dst is not NULL, dst is filled with node_t chains * representing all the possible canonizations of the node_t chain given. * PARAMETERS * src is the node_t chain that you're attempting to canonize. It's probably * obtained by parsing the input to our shell, and deciding how to interpret * it. * On calling canonize(2), dst should point to a memory block large enough to * accomodate *dst_l node_t structs. canonize(2) will use the memory block to * store all the nodes of all the node_t chains it creates. * On return from canonize(2), dst_l will be changed to the number of node_t * chains representing possible canonizations (i.e., it's a value-result * parameter), and the first dst_l locations in dst will contain the starting * nodes of the node_t chains representing the possible canonizations. * RETURN VALUE * 0 on success * -1 on failure, with errno set appropriately * Multiple matches is counted as an error condition, since canonize(2) failed * to canonize the node_t chain. * If dst is too small, dst will be filled as much as possible, but an error * will still be returned. * NOTES * Having the self-referencing pointer in node_t refer to the previous node * instead of the next node would allow canonize(2) to save lots of buffer * space in dst for ambiguities that occur deep inside a long node_t chain. * However, I don't believe we should do that, since (a) ambiguities that * occur relatively early in a long node_t chain allow canonize(2) to save * lots of buffer space in dst in the current implementation; and more * importantly, (b) any other routine in the kernel that deals with node_t * chains will have to walk the entire linked list before processing anything * if we implement that change, since the pointer it'll see won't be to the * start of the "pathname," but rather to the end. */ int canonize (const node_t* src, node_t dst[], size_t* dst_l); int new_open (const node_t* path, int flags, int mode); /* The old open(2) can instead become open(3), with a rather trivial * implementation: * int open (const char* path, int flags, int mode) { * split path on unescaped '/' chars; * create a node_t for each of the components obtained above; * link the nodes together into a chain; * return openv(our_node_t_chain,flags,mode); * }; */ /* Here's one final example - the reason I resist the name openv(2): */ int new_execve (const node_t* path, char* const argv[], char* const envp[]); /* The "v" here refers to a different aspect of the function. I don't like * overloading the meaning, because we'd have to call our new execve(2) * execvev(2) or something, and that'd be a little insane, IMHO. That's why I * chose the "new_" prefix. * In reality, I'd much rather see the old open(2) be renamed to old_open(2), * and have the new_open(2) be renamed to just plain open(2), damning backward * compatibility (and likewise with the exec(2) family, as well as the stat(2) * call, etc.). Programs that expect open(2) to be the old open and don't feel * like asking their authors for a rewrite can simply use a runtime library to * rename old_open(2) to open(2) and hide our new open(2) entirely (since * they're obviously not going to use it, anyway). However, I'm afraid this * type of drastic change may catch some people off-guard. */ Dave Cohen <dave@dave.tj> rob pike, esq. wrote: > > You guys are all arguing about system stuff but it's the > *user interface* that you're really arguing about, and > breaking. You are opening a can of worms you will never > get closed again. Change space! Change the file delimiter! > The shell will never recover. The system will break. > I will mourn. > > -rob > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-07 4:02 ` Dave @ 2002-07-07 5:17 ` arisawa [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> 2002-07-08 9:48 ` Boyd Roberts 1 sibling, 1 reply; 81+ messages in thread From: arisawa @ 2002-07-07 5:17 UTC (permalink / raw) To: 9fans If '/' is prohibitted as an element of file name and directory name, then no change to open is required. Let's assume we accept '/' as an element of names, then how do you express path in rc? /bin/awk may be : 1. /bin/awk as it has been. 2. a file named "/bin/awk" in current directory. 3. a file named "bin/awk" in "/" 4. a file named "awk" in "/bin" and "/bin" is in current directory. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
[parent not found: <"arisawa@ar.aichi-u.ac.jp"@Jul>]
* Re: [9fans] blanks in file names [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> @ 2002-07-07 5:38 ` Dave 2002-07-07 6:04 ` arisawa 2002-07-07 16:11 ` Dave ` (5 subsequent siblings) 6 siblings, 1 reply; 81+ messages in thread From: Dave @ 2002-07-07 5:38 UTC (permalink / raw) To: 9fans For userland programs, I'd probably vote to simply escape "interesting" characters that occur within filenames: 1) /bin/awk 2) \/bin\/awk 3) /bin\/awk 4) \/bin/awk We'd still have to annoy sed, awk, sort, etc. with this approach, but I don't think that's too bad. (If we really want, we can establish escape sequences that don't have these chars in them: e.g., \s for slash, \_ for space, etc.) Just my penny pair, Dave Cohen <dave@dave.tj> arisawa@ar.aichi-u.ac.jp wrote: > > If '/' is prohibitted as an element of file name and directory name, > then no change to open is required. > > Let's assume we accept '/' as an element of names, > then how do you express path in rc? > > /bin/awk may be : > 1. /bin/awk as it has been. > 2. a file named "/bin/awk" in current directory. > 3. a file named "bin/awk" in "/" > 4. a file named "awk" in "/bin" and "/bin" is in current directory. > > Kenji Arisawa > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-07 5:38 ` Dave @ 2002-07-07 6:04 ` arisawa 2002-07-07 7:16 ` arisawa 0 siblings, 1 reply; 81+ messages in thread From: arisawa @ 2002-07-07 6:04 UTC (permalink / raw) To: 9fans Another escape may be a % of that is used in URI. % -> %25 / -> %2f space -> %20 and if open can accept these, new_open is not reqired. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-07 6:04 ` arisawa @ 2002-07-07 7:16 ` arisawa 0 siblings, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-07 7:16 UTC (permalink / raw) To: 9fans >new_open is not reqired. I should have added: But I prefer new_open for kernel interface. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> 2002-07-07 5:38 ` Dave @ 2002-07-07 16:11 ` Dave 2002-07-07 16:12 ` Dave ` (4 subsequent siblings) 6 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-07 16:11 UTC (permalink / raw) To: 9fans The idea behind our new open(2) is to create a cleaner representation for paths. If we want, we can patch the old open(2) - which could become a library function open2(3) - to support one or more of the userland naming conventions we were discussing. However, I don't think the kernel should meddle with userland naming conventions; having the kernel deal with binary data in linked lists is by far the cleanest approach proposed thus far, IMHO. It also opens the door to all sorts of neat possibilities for path manipulation without string manipulation. Finally, it gives us the capability of getting away from even the most elementary requirements in a filesystem (like inodes) at some point in the future without extensive code changes. Basically, it's all about flexibility, a long-time strength of the UNIX system which has only been improved upon in Plan 9. - Dave arisawa@ar.aichi-u.ac.jp wrote: > > Another escape may be a % of that is used in URI. > > % -> %25 > / -> %2f > space -> %20 > > and if open can accept these, new_open is not reqired. > > Kenji Arisawa > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> 2002-07-07 5:38 ` Dave 2002-07-07 16:11 ` Dave @ 2002-07-07 16:12 ` Dave 2002-07-09 15:31 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave ` (3 subsequent siblings) 6 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-07 16:12 UTC (permalink / raw) To: 9fans Oops ... I guess I replied a little too early ;-/ - Dave arisawa@ar.aichi-u.ac.jp wrote: > > >new_open is not reqired. > I should have added: > But I prefer new_open for kernel interface. > > Kenji Arisawa > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> ` (2 preceding siblings ...) 2002-07-07 16:12 ` Dave @ 2002-07-09 15:31 ` Dave 2002-07-09 22:15 ` arisawa 2002-07-10 21:58 ` [9fans] blanks in file names Dave ` (2 subsequent siblings) 6 siblings, 1 reply; 81+ messages in thread From: Dave @ 2002-07-09 15:31 UTC (permalink / raw) To: 9fans I think that'll do more to break current conventions than redoing the kernel to allow for analogues of our current conventions. - Dave arisawa@ar.aichi-u.ac.jp wrote: > > >What if files 'a b' and 'a_b' both exist on the foreign > >system? > Check before you copy, otherwise one is lost. > This problem is always happen when one to one mapping is > absent. > > Kenji Arisawa > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] acme question + diffs for kfs, fs and plumbing 2002-07-09 15:31 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave @ 2002-07-09 22:15 ` arisawa 0 siblings, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-09 22:15 UTC (permalink / raw) To: 9fans Copy Restriction: Check before you copy, otherwise some of them may be lost Import Resrinction: Files containg spaces in name is harmful, so they may be lost. Export Restriction: Winland is against freedom, so some of files may be lost. >I think that'll do more to break current conventions than redoing the >kernel to allow for analogues of our current conventions. > > - Dave > > >arisawa@ar.aichi-u.ac.jp wrote: >> >> >What if files 'a b' and 'a_b' both exist on the foreign >> >system? >> Check before you copy, otherwise one is lost. >> This problem is always happen when one to one mapping is >> absent. >> >> Kenji Arisawa >> ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> ` (3 preceding siblings ...) 2002-07-09 15:31 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave @ 2002-07-10 21:58 ` Dave 2002-07-10 22:38 ` arisawa 2002-07-10 22:42 ` [9fans] " Jim Choate 2002-07-11 5:10 ` [9fans] " Dave 2002-07-14 18:32 ` Dave 6 siblings, 2 replies; 81+ messages in thread From: Dave @ 2002-07-10 21:58 UTC (permalink / raw) To: 9fans If I had to vote a priori, blanks would certainly be a no-go for filenames. However, the pressure cooker has already burst, and our chicken is headed straight towards the ceiling. Getting rid of spaces in filenames is not much of an option, if we want to be able to get along in the wide world of non-space-restricted systems. (One simple way to realize that s/ /anything/g isn't a very clean option is to note that different domains are going to require humans to determine how to do the conversion (and its inverse) and in what contexts to do each of the above. Maintaining an FTP mirror, for instance, is not going to be easy at all.) Rethinking our system to fully support blanks, IMHO, is the only way to keep our chicken from splattering all over the kitchen ;-/ - Dave arisawa@ar.aichi-u.ac.jp wrote: > > >Isn't this thread dead yet? > It seems ... > So I asked: Is it important? > So I said: My preference is just s/ /_/g > So I proposed: uq (unquote) > Any way, I dislike ' ' in file name. > > Kenji Arisawa > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-10 21:58 ` [9fans] blanks in file names Dave @ 2002-07-10 22:38 ` arisawa 2002-07-10 22:42 ` [9fans] " Jim Choate 1 sibling, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-10 22:38 UTC (permalink / raw) To: 9fans Dave wrote: >If I had to vote a priori, blanks would certainly be a no-go for >filenames. However, the pressure cooker has already burst, and our >... >keep our chicken from splattering all over the kitchen ;-/ Important or not? That is the problem. If we agree it is important, we must eat spaes. Then my chice is to cook spaces so that stomach is not broken. How to cook? I believe the first discussion should be forcussed to expression of path considering in future needs. I believe you and I share much opinion. Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* [9fans] Re: blanks in file names 2002-07-10 21:58 ` [9fans] blanks in file names Dave 2002-07-10 22:38 ` arisawa @ 2002-07-10 22:42 ` Jim Choate 2002-07-11 5:08 ` Dave 1 sibling, 1 reply; 81+ messages in thread From: Jim Choate @ 2002-07-10 22:42 UTC (permalink / raw) To: 9fans; +Cc: hangar18-general On Wed, 10 Jul 2002, Dave wrote: > If I had to vote a priori, blanks would certainly be a no-go for > filenames. However, the pressure cooker has already burst, and our > chicken is headed straight towards the ceiling. Getting rid of spaces in > filenames is not much of an option, if we want to be able to get along > in the wide world of non-space-restricted systems. Um, strictly speaking for most OS'es (and logically in general) the 'string' that represents the filename canonicaly -should- be (usually) "" delimited. In other words, ls filename.foo should really be, ls "filename.foo" or perhaps, ls "file/"Bill/".foo" The fact that the OS allows one to drop them (assuming you don't use things like blanks in filenames) is really a courtesy of the shell implimentation. That's where it should stay. Why the filesystem would -ever- need the filename for internal operations would, at least to my mind, be a major error in implimentation. Other than in 'friendly name' situations (ie UI related) the system should be oblivious of the filename. If it's a valid character in the character set, it should be allowed in a string (except for logical issues - eg printing some non-printable) should print some sort of symbol allowing one to recognize this. This 'conversion' should also stay strictly in the UI related code. To do otherwise raises a host of issues about side effects and special cases w/ regard to sting handling libraries. To not allow spaces in filenames only makes the world more complicated. It also destroys a layer of generality, and that is -almost always- a BAD thing. With respect to filenames, it's a string of -reasonably- unique (re issues of location and such) 1's and 0's to the OS. It doesn't really 'mean' anything to the OS::File System. It's the User::UI that it matters to. User::UI::OS::File System Leave the problem where it belongs, in the cli/shell. -- ____________________________________________________________________ When I die, I would like to be born again as me. Hugh Hefner ravage@ssz.com www.ssz.com jchoate@open-forge.org www.open-forge.org -------------------------------------------------------------------- ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] Re: blanks in file names 2002-07-10 22:42 ` [9fans] " Jim Choate @ 2002-07-11 5:08 ` Dave 0 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-11 5:08 UTC (permalink / raw) To: 9fans If you're going to rewrite the UI programs (like ls) to print filenames in human-readable format, you'll need to make an option in each program that outputs filenames to make it output the names in human-readable or other-program-readable format ... yucky. . . - Dave Jim Choate wrote: > > > On Wed, 10 Jul 2002, Dave wrote: > > > If I had to vote a priori, blanks would certainly be a no-go for > > filenames. However, the pressure cooker has already burst, and our > > chicken is headed straight towards the ceiling. Getting rid of spaces in > > filenames is not much of an option, if we want to be able to get along > > in the wide world of non-space-restricted systems. > > Um, strictly speaking for most OS'es (and logically in general) the > 'string' that represents the filename canonicaly -should- be (usually) "" > delimited. > > In other words, > > ls filename.foo > > should really be, > > ls "filename.foo" > > or perhaps, > > ls "file/"Bill/".foo" > > The fact that the OS allows one to drop them (assuming you don't use > things like blanks in filenames) is really a courtesy of the shell > implimentation. That's where it should stay. Why the filesystem would > -ever- need the filename for internal operations would, at least to my > mind, be a major error in implimentation. Other than in 'friendly name' > situations (ie UI related) the system should be oblivious of the filename. > > If it's a valid character in the character set, it should be allowed in a > string (except for logical issues - eg printing some non-printable) should > print some sort of symbol allowing one to recognize this. This > 'conversion' should also stay strictly in the UI related code. To do > otherwise raises a host of issues about side effects and special cases w/ > regard to sting handling libraries. To not allow spaces in filenames only > makes the world more complicated. It also destroys a layer of generality, > and that is -almost always- a BAD thing. > > With respect to filenames, it's a string of -reasonably- unique (re issues > of location and such) 1's and 0's to the OS. It doesn't really 'mean' > anything to the OS::File System. It's the User::UI that it matters to. > > User::UI::OS::File System > > Leave the problem where it belongs, in the cli/shell. > > > -- > ____________________________________________________________________ > > When I die, I would like to be born again as me. > > Hugh Hefner > ravage@ssz.com www.ssz.com > jchoate@open-forge.org www.open-forge.org > > -------------------------------------------------------------------- > > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> ` (4 preceding siblings ...) 2002-07-10 21:58 ` [9fans] blanks in file names Dave @ 2002-07-11 5:10 ` Dave 2002-07-14 18:32 ` Dave 6 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-11 5:10 UTC (permalink / raw) To: 9fans Eh, I tire of the discussion ... let's just make a userland fix or whatever ... if it bugs me too much, I'll just patch up the kernel, or something. . . - Dave arisawa@ar.aichi-u.ac.jp wrote: > > Dave wrote: > >If I had to vote a priori, blanks would certainly be a no-go for > >filenames. However, the pressure cooker has already burst, and our > >... > >keep our chicken from splattering all over the kitchen ;-/ > > Important or not? That is the problem. > If we agree it is important, we must eat spaes. > Then my chice is to cook spaces so that stomach is not broken. > How to cook? > I believe the first discussion should be forcussed > to expression of path considering in future needs. > I believe you and I share much opinion. > > Kenji Arisawa > > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> ` (5 preceding siblings ...) 2002-07-11 5:10 ` [9fans] " Dave @ 2002-07-14 18:32 ` Dave 2002-07-14 18:51 ` Jim Choate 2002-07-14 23:27 ` arisawa 6 siblings, 2 replies; 81+ messages in thread From: Dave @ 2002-07-14 18:32 UTC (permalink / raw) To: 9fans /me shudders at the thought that GUIs might someday take over the world :-( - Dave BTW - The point I was trying to make is that if the kernel doesn't use any particular filename-rewriting rule, then user programs and libraries are free to use URL, HTML, quoting, C-style escaping, or any other system that suits the application at hand, without having to rewrite their versions into whatever rewriting rule the kernel decides to use. (I guess you can say I'm "pro choice.") arisawa@ar.aichi-u.ac.jp wrote: > > Hello, > > > One of the beautiful things about Plan 9 is that it provides a > solution > > that's workable with little effort. The various substitution file > > systems provide a workable solution without introducing any > additional > > complexity. If you want a total--100% complete--solution, then a > > `urlifyfs' can be written that uses URL escaping as a canonical > > representation, or something similar. The system interface > doesn't > > have to be changed, though. *That* is the mark of a clean system > > design. > The idea was born from the discussion between Dave and I. > Dave proposed '\' escape. > Until that time, I had been tied to quoting strategy. > %XX looks ugly as Dave says, but it works cleanly. > That is the beauty. > We must be patient with this ugliness because we are in textual > environment. Full GUI environment, I believe Plan9 also have it > in future, will remove this ugliness. > Thanks Dave. > > Kenji Arisawa > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-14 18:32 ` Dave @ 2002-07-14 18:51 ` Jim Choate 2002-07-14 23:27 ` arisawa 1 sibling, 0 replies; 81+ messages in thread From: Jim Choate @ 2002-07-14 18:51 UTC (permalink / raw) To: 9fans On Sun, 14 Jul 2002, Dave wrote: > /me shudders at the thought that GUIs might someday take over the > world :-( I also, it means that mankind will have missed the entire point of computing. -- ____________________________________________________________________ When I die, I would like to be born again as me. Hugh Hefner ravage@ssz.com www.ssz.com jchoate@open-forge.org www.open-forge.org -------------------------------------------------------------------- ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-14 18:32 ` Dave 2002-07-14 18:51 ` Jim Choate @ 2002-07-14 23:27 ` arisawa 1 sibling, 0 replies; 81+ messages in thread From: arisawa @ 2002-07-14 23:27 UTC (permalink / raw) To: 9fans Hello, Dave, you should be aware that you started from wrong place. As I said, your new_open is not required. You speek too much about that is not required. And I am surprised to see: >then user programs and libraries >are free to use URL, HTML, quoting, C-style escaping, >or any other system that suits the application at hand Kenji Arisawa ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-07 4:02 ` Dave 2002-07-07 5:17 ` arisawa @ 2002-07-08 9:48 ` Boyd Roberts 2002-07-08 20:22 ` Dave 2002-07-08 23:05 ` Berry Kercheval 1 sibling, 2 replies; 81+ messages in thread From: Boyd Roberts @ 2002-07-08 9:48 UTC (permalink / raw) To: 9fans Dave wrote: > The method of representation of a given node can be quite flexible > (allowing node completion - or as I would term it, cannonization > - to be done by the kernel), I thought the making of saints wasn't exactly in the kernel's job description. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-08 9:48 ` Boyd Roberts @ 2002-07-08 20:22 ` Dave 2002-07-09 8:24 ` Boyd Roberts 2002-07-08 23:05 ` Berry Kercheval 1 sibling, 1 reply; 81+ messages in thread From: Dave @ 2002-07-08 20:22 UTC (permalink / raw) To: 9fans It's possible that cannonization should still be done by library routines, but I'd vote to let the kernel do it anyway for whatever optimizations it can make (since it's not restricted to the standard syscalls for file handling). - Dave Boyd Roberts wrote: > > Dave wrote: > > The method of representation of a given node can be quite flexible > > (allowing node completion - or as I would term it, cannonization > > - to be done by the kernel), > > I thought the making of saints wasn't exactly in the kernel's job > description. > > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-08 20:22 ` Dave @ 2002-07-09 8:24 ` Boyd Roberts 2002-07-09 15:25 ` Dave 0 siblings, 1 reply; 81+ messages in thread From: Boyd Roberts @ 2002-07-09 8:24 UTC (permalink / raw) To: 9fans Dave wrote: >It's possible that cannonization should still be done by library routines, > Yes, put it in libpope. ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-09 8:24 ` Boyd Roberts @ 2002-07-09 15:25 ` Dave 0 siblings, 0 replies; 81+ messages in thread From: Dave @ 2002-07-09 15:25 UTC (permalink / raw) To: 9fans Whoops ... I misspelled that one. A more appropriate comment for you, though, would have been to put it in libarms ;-P - Dave Boyd Roberts wrote: > > Dave wrote: > > >It's possible that cannonization should still be done by library routines, > > > Yes, put it in libpope. > > ^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [9fans] blanks in file names 2002-07-08 9:48 ` Boyd Roberts 2002-07-08 20:22 ` Dave @ 2002-07-08 23:05 ` Berry Kercheval 1 sibling, 0 replies; 81+ messages in thread From: Berry Kercheval @ 2002-07-08 23:05 UTC (permalink / raw) To: 9fans Boyd Roberts <boyd@strakt.com> writes: > Dave wrote: > > The method of representation of a given node can be quite flexible > > (allowing node completion - or as I would term it, cannonization > > - to be done by the kernel), > > I thought the making of saints wasn't exactly in the kernel's job > description. Naw, making saints is "canonization". Making artillery is a perfectly good kernel task. ^ permalink raw reply [flat|nested] 81+ messages in thread
end of thread, other threads:[~2002-07-14 23:27 UTC | newest] Thread overview: 81+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-07-09 7:50 [9fans] acme question + diffs for kfs, fs and plumbing Fco.J.Ballesteros 2002-07-09 8:15 ` Lucio De Re 2002-07-09 8:42 ` arisawa 2002-07-09 9:21 ` Lucio De Re 2002-07-09 9:43 ` arisawa 2002-07-09 10:36 ` Lucio De Re 2002-07-09 10:54 ` matt 2002-07-09 11:01 ` Liberating the filename (Was: [9fans] acme question + diffs for kfs, fs and plumbing) Lucio De Re 2002-07-09 11:07 ` arisawa 2002-07-11 14:57 ` Liberating the filename (Was: [9fans] acme question + diffs forkfs, Douglas A. Gwyn 2002-07-09 8:22 ` [9fans] acme question + diffs for kfs, fs and plumbing arisawa -- strict thread matches above, loose matches on Subject: below -- 2002-07-10 18:27 [9fans] blanks in file names David Gordon Hogan 2002-07-10 20:56 ` arisawa 2002-07-10 8:00 Fco.J.Ballesteros 2002-07-10 7:57 [9fans] acme question + diffs for kfs, fs and plumbing Fco.J.Ballesteros 2002-07-09 12:24 Fco.J.Ballesteros 2002-07-09 9:37 Fco.J.Ballesteros 2002-07-09 8:42 Fco.J.Ballesteros 2002-07-09 9:28 ` Lucio De Re 2002-07-09 11:23 ` andrey mirtchovski 2002-07-09 12:05 ` matt 2002-07-09 8:40 Fco.J.Ballesteros 2002-07-09 7:54 [9fans] blanks in file names Fco.J.Ballesteros [not found] ` <Fco.J.Ballesteros@Jul> 2002-07-09 15:23 ` Dave 2002-07-09 15:29 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave 2002-07-10 15:57 ` Dave 2002-07-10 16:02 ` [9fans] blanks in file names Dave 2002-07-10 20:59 ` FJ Ballesteros 2002-07-10 21:51 ` Dave 2002-07-10 22:22 ` Dan Cross 2002-07-10 23:01 ` Dave 2002-07-11 2:00 ` Dan Cross 2002-07-11 6:14 ` Dave 2002-07-11 6:38 ` Lucio De Re 2002-07-14 18:00 ` Dave 2002-07-11 13:14 ` arisawa 2002-07-12 12:28 ` arisawa 2002-07-11 16:23 ` Dan Cross 2002-07-11 10:43 ` Ish Rattan 2002-07-14 18:49 ` Dave 2002-07-09 7:46 [9fans] acme question + diffs for kfs, fs and plumbing Fco.J.Ballesteros 2002-07-09 0:38 okamoto 2002-07-08 16:14 rob pike, esq. 2002-07-08 16:07 rob pike, esq. 2002-07-08 20:58 ` Dave 2002-07-08 22:18 ` arisawa 2002-07-08 16:05 Fco.J.Ballesteros 2002-07-08 16:00 rob pike, esq. 2002-07-08 15:51 Fco.J.Ballesteros 2002-07-08 15:42 rob pike, esq. 2002-07-08 15:18 Fco.J.Ballesteros 2002-07-08 15:16 rob pike, esq. 2002-07-08 15:10 Fco.J.Ballesteros 2002-07-08 15:16 ` Lucio De Re 2002-07-08 14:54 Fco.J.Ballesteros 2002-07-08 15:05 ` Lucio De Re 2002-07-03 8:00 [9fans] blanks in file names Fco.J.Ballesteros 2002-07-03 12:00 ` Lucio De Re 2002-07-03 19:39 ` rob pike, esq. 2002-07-07 4:02 ` Dave 2002-07-07 5:17 ` arisawa [not found] ` <"arisawa@ar.aichi-u.ac.jp"@Jul> 2002-07-07 5:38 ` Dave 2002-07-07 6:04 ` arisawa 2002-07-07 7:16 ` arisawa 2002-07-07 16:11 ` Dave 2002-07-07 16:12 ` Dave 2002-07-09 15:31 ` [9fans] acme question + diffs for kfs, fs and plumbing Dave 2002-07-09 22:15 ` arisawa 2002-07-10 21:58 ` [9fans] blanks in file names Dave 2002-07-10 22:38 ` arisawa 2002-07-10 22:42 ` [9fans] " Jim Choate 2002-07-11 5:08 ` Dave 2002-07-11 5:10 ` [9fans] " Dave 2002-07-14 18:32 ` Dave 2002-07-14 18:51 ` Jim Choate 2002-07-14 23:27 ` arisawa 2002-07-08 9:48 ` Boyd Roberts 2002-07-08 20:22 ` Dave 2002-07-09 8:24 ` Boyd Roberts 2002-07-09 15:25 ` Dave 2002-07-08 23:05 ` Berry Kercheval
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).