Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ll-xn!mit-eddie!uw-beaver!teknowledge-vaxc!dplatt From: dplatt@teknowledge-vaxc.ARPA (Dave Platt) Newsgroups: comp.sys.mac Subject: Re: what's different between sys 4.1 and 4.0? Message-ID: <12681@teknowledge-vaxc.ARPA> Date: Tue, 12-May-87 18:39:18 EDT Article-I.D.: teknowle.12681 Posted: Tue May 12 18:39:18 1987 Date-Received: Fri, 15-May-87 04:02:19 EDT References: <949@batcomputer.tn.cornell.edu> <12500010@acf4.UUCP> Organization: Teknowledge, Inc., Palo Alto CA Lines: 55 In-reply-to: spector@acf4.UUCP's message of 12 May 87 14:38:00 GMT Posting-Front-End: GNU Emacs 18.41.3 of Tue Apr 7 1987 on teknowledge-vaxc (berkeley-unix) In article <12500010@scf4.UUCP>, David HM Spector writes, > Huh? Wha..? Wait a minute.... My complaint is that Apple decided to > break the new system by usurping a system global.... Many, many > programs that followed the user interface guidelines and Apple's > recommendations to the letter have been broken. (e.g., UW, keyboard > drivers, some da's, many games, etc) David, I don't think this is actually the case. Here's the scoop I clipped out of a couple of recent articles: > From: dwb@apple.UUCP (Dave W. Berry) > > I had the problem of programs bombing on exit also. Specifically > it was UW 3.4. It turns out that somewhere in the Megamax libraries > they use BasicGlobs (0x2b6). This was a previously unused (but reserved) > low memory global which is now being used by the operating system. And also... > From: dgold@apple.UUCP (David Goldsmith) > > Well, er, ah, hmmm, it seems that there was this low memory global called > BasicGlob, which was reserved for use by the system, and System 4.1 is now > using it (it's been renamed ExpandMem), but, er, uh, ahem, it seems that > MacTerminal (against our own rules), was USING BasicGlob. So it is > incompatible with System 4.1. As I recall, Apple has been fairly good about warning developers that "currently unused" means "reserved for future use, DO NOT USE or your application WILL BREAK at some indeterminate point in the future". At least, I've seen this warning in the technotes concerning future compatibility; I can't recall whether it also appears in Inside Mac (and if not, it certainly should). In any case, I don't think it's fair to say that Apple "usurped" a system global; that global really "belonged" to the system in the first place, and shouldn't have been used either by MacTerminal or by MegaMax. These applications did not "follow... Apple's recommendations to the letter", as you suggest; they broke an important rule, and are now paying the advertised price. Mind you, I do tend to agree that Apple punted the compatibility ball this time... not because they changed their system (they did it within the rules that they had set up), but because they didn't adequately verify the new version against the existing application base. By "didn't adequately", I mean that they were either unaware that an Apple-brand application wouldn't run, and/or weren't willing to bite the bullet and prepare a simultaneous release of a repaired version. In either case, it was a bad move on Apple's part, and they should certainly do their utmost to repair the damage ASAP by fixing MacTerminal. Ditto with the developers of the MegaMax compiler and libraries; ethically, at least, they probably owe their customers a no-cost library upgrade, effective yesterday. [Fascinating... I just noticed that all four people in this particular thread are named "Dave" or "David". Obviously a conspiracy!]