From: kagel AT quasar DOT bloomberg DOT com Date: Thu, 20 Feb 1997 10:34:12 -0500 Message-Id: <9702201534.AA04299@quasar.bloomberg.com > To: eliz AT is DOT elta DOT co DOT il Cc: gfoot AT mc31 DOT merton DOT ox DOT ac DOT uk, djgpp AT delorie DOT com In-Reply-To: (message from Eli Zaretskii on Wed, 19 Feb 1997 10:13:42 +0200 (IST)) Subject: Re: Forgive my ignorance, but can someone answer a question for me? Reply-To: kagel AT dg1 DOT bloomberg DOT com Errors-To: postmaster AT ns1 Date: Wed, 19 Feb 1997 10:13:42 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is Cc: gfoot AT mc31 DOT merton DOT ox DOT ac DOT uk, djgpp AT delorie DOT com Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Length: 1537 On Tue, 18 Feb 1997 kagel AT quasar DOT bloomberg DOT com wrote: > You know in my Linux installation I mount the DOS drives to /c: and /d:. > Why not just map /c:/... TO c:/..., etc. One problem with this is that `:' is a PATH separator character in Unix (like `;' in DOS and MS-Windows), so this will break some programs. But even without the PATH issue, the code that takes apart and/or constructs filenames in Unix programs has to be taught about the magic meaning of the colon after the initial "/c". So this still doesn't solve the problem. > The real problem is not mapping UNIX style names to DOS but DOS style symantics > to UNIX style filenames. For example C:DIR1/DIR2/file in DOS means file named > 'file1' in the DIR2 subdirectory of the DIR1 subdirectory of the current > directory on C drive. There is no such concept as current directory in UNIX > style filenames. Everything else, IMHO, is easily mapped. Solve this one and > you are on your way. Alas, this cannot be ``solved'' either, not unless you rewrite the Unix programs to be aware of such systems. The problem is that the code of Unix programs simply assumes there's only one root which is the parent of all the other directories (and also a parent of itself, but that's another story); the code is written with this assumption in mind and just plainly breaks when you use it on MSDOS. The only alternative to get this right on MSDOS without rewriting code is to use JOIN (which is tricky, and was also withdrawn by Microsoft from the latest versions of DOS). Yup. In addition, my careful directory structure for mounting DOS FS's on Linux fails for any network aware UNIX programs, like ftp and Emacs (which wants to run ftp to get the files named /c:/... from host 'c'), which keep trying to find a host named 'c' or 'd' when they see the colon! Arg. I had to change my mountings last night to /mnt/dos/[cd] and sym-link /[cd]: to /mnt/dos/[cd] so that I can use the real directories. [I tried sym-linking the /c: mount point to another name but Emacs is just too darn smart and follows the link to the real name and still wants to run ftp to hostname 'c'.] Oh well! -- Art S. Kagel, kagel AT quasar DOT bloomberg DOT com A proverb is no proverb to you 'till life has illustrated it. -- John Keats