nicholaA@moravian.EDU (05/12/89)
What follows is Matt Deatherage's message to me about ProDOS 8's handling of lower-case text as of p8 1.8 and System Disk 5.0. ------- Forwarded Message Date: Wed, 10 May 89 21:16:44 PDT From: Matt Deatherage <mattd@apple.com> To: mattd@apple.com, nicholaA%moravian.edu@RELAY.CS.NET Subject: Re: AppleFest The two bytes VERSION and MINVERSION in each directory entry have never been used by ProDOS 8; these are now used to flag lower-case letters in a similar method to the way AppleWorks uses the auxtype to keep lower-case in document names. The only time ProDOS 8 used those fields was in opening subdirectories; P8 v1.8 (on 5.0) no longer does this. So anyone using lower-case letters in subdirectory names will require the use of ProDOS 8 1.8 in the 8-bit world to read them. --Matt ------- End of Forwarded Message Ok, this brings me to my next question: What does the 5.0 ProDOS FST do when you request to create any file with the name "Help" as opposed to "HELP", which might already exist in that directory? Does the FST disallow that file creation, reporting ProDOS/GSOS err $47 -- Duplicate Pathname? Or, does the FST allow you to create "Help" even though "HELP" exists? Assuming that the VERSION and MINVERSION fields use 1's to flag lowercase, the actual directory entry would contain "HELP" and v/MINv of %0111000000000000 (lo/hi) -- so, if this second file is created, what's to tell ProDOS/8 that the files are different if it doesn't read the v/MINv fields to check for lowercase? Or does it? (from replies by Dave Lyons, it sounds like the former rather than the latter). andy shrinkit@moravian.edu
dlyons@Apple.COM (David Lyons) (05/16/89)
In article <8905121007.AA05776@batman.moravian.edu> nicholaA@moravian.EDU writes: >Ok, this brings me to my next question: What does the 5.0 ProDOS FST do when >you request to create any file with the name "Help" as opposed to "HELP", which >might already exist in that directory? [...] > >andy >shrinkit@moravian.edu Experiment in progress.... It seems that you just get a file-already-exists error, and the old capitalization is retained. Not sure if this is the most reasonable behavior or not, but I'll bring it up with the appropriate people. --Dave Lyons, Apple Computer, Inc. | DAL Systems AppleLink--Apple Edition: DAVE.LYONS | P.O. Box 875 AppleLink--Personal Edition: Dave Lyons | Cupertino, CA 95015-0875 GEnie: D.LYONS2 or DAVE.LYONS CompuServe: 72177,3233 Internet/BITNET: dlyons@apple.com UUCP: ...!ames!apple!dlyons My opinions are my own, not Apple's.
mdavis@pro-sol.cts.com (Morgan Davis) (05/19/89)
Network Comment: to #7251 by pnet01!crash!apple.com!dlyons > you just get a file-already-exists error, and the old capitalization > is retained. Not sure if this is the most reasonable behavious or > not... Mac HFS won't allow two files to share the same name (regardless of upper or lower case). If you have a file called "OOGA" and try to create a new file called "Ooga", the Mac will complain. I guess the GS/OS designers are just following what the Mac does.
dlyons@Apple.COM (David Lyons) (05/19/89)
In article <8905182336.AA05791@crash.cts.com> pnet01!pro-sol!mdavis@nosc.mil writes: >Network Comment: to #7251 by pnet01!crash!apple.com!dlyons > >> you just get a file-already-exists error, and the old capitalization >> is retained. Not sure if this is the most reasonable behavious or >> not... > >Mac HFS won't allow two files to share the same name (regardless of upper or >lower case). If you have a file called "OOGA" and try to create a new file >called "Ooga", the Mac will complain. I guess the GS/OS designers are just >following what the Mac does. The ProDOS FST won't let you have two filenames that are identical except for case either. The thing I was trying to get at is this: If a file called SNORKLE already exists and I try to Save As "Snorkle" from my favorite word processor, one of two things will happen. (1) The word processor will DESTROY the old file Snorkle, which will destroy SNORKLE. Then it will CREATE the new file Snorkle, OPEN it, WRITE to it, and CLOSE it. Fine. We now have a file called Snorkle. (2) The word processor will try to CREATE the file Snorkle, but it will get the error "duplicate filename" from GS/OS, since the file SNORKLE already exists (with a different capitalization). It will OPEN the file, WRITE to it, SET_EOF on it (to truncate in case the old file was longer), and finally CLOSE it. Fine. We now have a file called SNORKLE. Weird, eh? I don't know what to do about it, other than recommend that applications DESTROY and reCREATE files if they want to allow the user to change the capitalization by saving over it. --Dave Lyons, Apple Computer, Inc. | DAL Systems AppleLink--Apple Edition: DAVE.LYONS | P.O. Box 875 AppleLink--Personal Edition: Dave Lyons | Cupertino, CA 95015-0875 GEnie: D.LYONS2 or DAVE.LYONS CompuServe: 72177,3233 Internet/BITNET: dlyons@apple.com UUCP: ...!ames!apple!dlyons My opinions are my own, not Apple's.
mattd@Apple.COM (Matt Deatherage) (05/22/89)
In article <8905182336.AA05791> pnet01!pro-sol!mdavis@nosc.mil writes: >Network Comment: to #7251 by pnet01!crash!apple.com!dlyons > >> you just get a file-already-exists error, and the old capitalization >> is retained. Not sure if this is the most reasonable behavious or >> not... > >Mac HFS won't allow two files to share the same name (regardless of upper or >lower case). If you have a file called "OOGA" and try to create a new file >called "Ooga", the Mac will complain. I guess the GS/OS designers are just >following what the Mac does. Cheap shot, Morgan. The ProDOS FST will not allow files with the same names but different capitalization because ProDOS 8 does not know about lower-case file names. The file names in the directory are all upper-case, like they always have been, and the "version/minversion" bytes have been redefined to be case bits. If the FST allowed the same file name, P8 would find two files in the directory with the same name, as far as it's concerned. It would then either return "duplicate file name" errors where inappropriate, or would never find the second one in the directory entry. Not to mention that since there is no P8 "GetDirEntry" call, anyone who accepts file name input in upper and lower case has to translate it to upper case before searching the directories (under ProDOS 8), so storing the names in lower case in the directory entry would similarly cause them to be mostly inaccessible. The case bits/no duplicates is a close-to-happy compromise which allows ProDOS 8 to use the files while allowing the ProDOS FST to keep the names in upper and lower case (which is an FST-specific option that can be turned off, if your program wants to do so). Expanding the file system in this way isn' always possible (see the discussion on forked files). ----------------------------------------------------------------------------- Matt Deatherage, Apple Computer, Inc. | "The opinions expressed in this tome Send PERSONAL mail ONLY (please) to: | should not be construed to imply that AppleLink PE: Matt DTS GEnie: AIIDTS | Apple Computer, Inc., or any of its CompuServe: 76703,3030 | subsidiaries, in whole or in part, Usenet: mattd@apple.com | have any opinion on any subject." UUCP: (other stuff)!ames!apple!mattd | "So there." -----------------------------------------------------------------------------
mdavis@pro-sol.cts.com (Morgan Davis) (05/23/89)
Network Comment: to #7413 by pnet01!crash!apple.com!dlyons > I don't know what to do about it, other than recommend that applications > DESTROY and reCREATE files if they want to allow the user to change > the capitalization by saving over it. Perhaps the GS/OS GET_INFO/SET_INFO calls should be expanded to include the capitalization bits field. Either that, or applications should do this: o Open/Write o Set EOF o Close o Rename This should cut back on the amount of disk access that a DESTROY/CREATE procedure would incur. This assumes, of course, that using CHANGE_PATH will allow you to change capitalization bits. As we know, using: RENAME SAMPLE,Sample will currently give you a "FILE EXISTS" error. But hopefully GS/OS will allow this case so that you can change the upper/lower case settings. --Morgan UUCP: crash!pnet01!pro-sol!mdavis ProLine: mdavis@pro-sol ARPA: crash!pnet01!pro-sol!mdavis@nosc.mil MCI Mail: 137-6036 INET: mdavis@pro-sol.cts.com APE, BIX: mdavis
dlyons@Apple.COM (David Lyons) (05/24/89)
In article <8905231516.AA13625@crash.cts.com> pnet01!pro-sol!mdavis@nosc.mil writes: [...] >This assumes, of course, that using CHANGE_PATH will allow you to change >capitalization bits. As we know, using: > > RENAME SAMPLE,Sample > >will currently give you a "FILE EXISTS" error. But hopefully GS/OS will allow >this case so that you can change the upper/lower case settings. Yes, I believe this works fine under the ProDOS FST on 5.0. --Dave Lyons, Apple Computer, Inc. | DAL Systems AppleLink--Apple Edition: DAVE.LYONS | P.O. Box 875 AppleLink--Personal Edition: Dave Lyons | Cupertino, CA 95015-0875 GEnie: D.LYONS2 or DAVE.LYONS CompuServe: 72177,3233 Internet/BITNET: dlyons@apple.com UUCP: ...!ames!apple!dlyons My opinions are my own, not Apple's.