From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8789 invoked from network); 12 Oct 2000 11:47:30 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 12 Oct 2000 11:47:30 -0000 Received: (qmail 5136 invoked by alias); 12 Oct 2000 11:46:47 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12981 Received: (qmail 5124 invoked from network); 12 Oct 2000 11:46:47 -0000 X-Envelope-Sender-Is: Andrej.Borsenkow@mow.siemens.ru (at relayer david.siemens.de) From: "Andrej Borsenkow" To: "ZSH workers mailing list" Subject: File completion under Cygwin again Date: Thu, 12 Oct 2000 15:46:44 +0400 Message-ID: <000f01c03442$180e9a70$21c9ca95@mow.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 It seems, that there is some demand for Zsh under Cygwin (and I got private mail asking for binary distribution). For this reason I list problems/wishes I am aware about now; it would really be nice if some of these were fixed in 4.0. 1. drive:/path completion. This is an absolute path on under Cygwin. Currently, Zsh treats it as relative to current directory. 2. UNC path completion - //server/share/path - here actually subtopics a) server name completion b) share name completion c) path completion a) is unlikely and I am currently unaware of any easy way to implement b), but c) is quite possible. Current problem is, globbing on the first two levels fails and Zsh finds no match. 3. (related to 2) currently we can either squeeze all slashes or nothing. Under Cygwin initial `//' is significant and must not be squeezed irrespectively of squeeze-slashes settings. 4. Windows is using case-insensitive file system, so some way to make file name completion case-insensitive is needed. It is _not_ the same as simply set global matcher - it is applied to _every_ completion, and this is not always appropriate. 5. (related to 4) things are complicated by the fact, that you can mount case-sensitive file system (e.g. off SAMBA server), so, if we could say "names with this prefix are case sensitive and with this not" ... 6. drive:path completion (x:path) This is *not* the same as 1. It is relative path that is interpreted as "relative to current directory of drive x). Unfortunately, this seems to be broken in current cygwin, but for the record ... 7. Backslash handling. So, that I do not forget it myself :-) Of these, 1, 2c and 3 are needed to allow easy use under Cygwin. 2a and 2b can already be emulated by fake-path style (assuming, that initial double slashes are not lost). Evrything else is nice to have and can wait if somebody else request it. Even if only 1-3 are implemnted, Zsh will be far ahead of bash as interactive shell. Just to mention - Cygwin provides utility (and API) to convert file names between Unix and Windows. May be, it can be used here (at least, it solves problem of backslashes, because Unix names always have slashes). -andrej Have a nice DOS! B >>