From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 16 Jun 2009 13:43:31 +0100 From: Ethan Grammatikidis To: 9fans@9fans.net Message-Id: <20090616134331.e7114d5e.eekee57@fastmail.fm> In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [9fans] simple question: multiple rename Topicbox-Message-UUID: 0b9e012c-ead5-11e9-9d60-3106f5b1d025 On Tue, 16 Jun 2009 08:00:44 -0400 erik quanstrom wrote: > > note that this won't work if the filenames contain white space. > > > > (i still regret the fact that white space became allowable in file names) > > using ws in filenames is a fossil-only problem; > kfs, cwfs and ken's fs won't allow it. > > fortunately, fossil is easy to fix > > /n/dump/2009/0616/sys/src/cmd/fossil/9p.c:102,108 - 9p.c:102,108 > } > > for(p = name; *p != '\0'; p++){ > - if((*p & 0xFF) < 040){ > + if((*p & 0xFF) <= 040){ > vtSetError("bad character in file name"); > return 0; > } > > - erik > So what happens when you drawterm from a un*x box or access a VFAT partition? Perhaps 9fat could dynamically translate spaces in filenames to some character illegal in Windows file names and not special to rc, if there is such a character. I don't recall what characters are illegal in Windows filenames but for the purposes of example assume ~ is illegal: On-disk filename: Program Files 9fat represents this to plan 9 processes as: Program~Files To pick an extreme (and fictional) example: on-disk: The Evolution of Conciousness in the Breakdown of the Bicameral Mind.doc translated: The~Evolution~of~Conciousness~in~the~Breakdown~of~the~Bicameral~Mind.doc or The]Evolution]of]Conciousness]in]the]Breakdown]of]the]Bicameral]Mind.doc etc. It would be great if the substitute character could be one not special to regexps. Un*x seems a harder issue since no character is actually illegal, but I notice many ASCII control characters are not at all special to plan 9 or drawterm and are extremely unlikely to be present in a un*x filename. Vertical tab, perhaps; control-K. For that matter this trick could be used for Windows filesystems too, I'm quite sure control-chars are unacceptable there. -- Ethan Grammatikidis The lyf so short, the craft so long to lerne. -- Chaucer