Path: utzoo!attcan!uunet!husc6!bloom-beacon!bu-cs!dartvax!eleazar.dartmouth.edu!earleh From: earleh@eleazar.dartmouth.edu (Earle R. Horton) Newsgroups: comp.sys.mac.programmer Subject: Re: Change in System Tools 6.0 Menu Manager behavior. Keywords: menuWidth -> -1, PopUpMenuSelect Message-ID: <9549@dartvax.Dartmouth.EDU> Date: 26 Jul 88 17:40:53 GMT References: <9365@dartvax.Dartmouth.EDU> <14581@apple.Apple.COM> Sender: news@dartvax.Dartmouth.EDU Reply-To: earleh@eleazar.dartmouth.edu (Earle R. Horton) Organization: Dartmouth College, Hanover, NH Lines: 40 In article <14581@apple.Apple.COM> tecot@apple.apple.com.UUCP (Ed Tecot) writes: >In article <9365@dartvax.Dartmouth.EDU> earleh@eleazar.dartmouth.edu (Earle R. Horton) writes: >>..., and why is this new behavior not documented anywhere? > >... Since there were >relatively few applications which use custom pop-ups, this problem was not >discovered until too late. It is not documented, and as such is considered >antisocial behavior by this programmer. It has been fixed in 6.0.1. Thank you, Ed, for an honest explanation. There are many, many structure members and parameters which are used by "relatively few applications," but which appear in Inside Macintosh to be "public" and therefore subject to consistent handling across operating system releases. The effects of such actions are in a sense permanent, too. Even though the problem may be fixed in 6.0.1, one has no guarantees that his customers will not be using 6.0 at some future time. The programmer therefore must assume worst case, i.e. that the operating system WILL change the value of menuWidth to -1 at ALL times. Otherwise he cannot assure consistent program behavior if he is using pop-ups and needs to know their size. I asked a question in my original posting which someone at Apple may care to answer: How many other undocumented cases are there where the system modifies shared variables or variables which actually "belong" to the application, and not to the system? Is Apple in the habit of making such behavior public when they discover it, or only where they get caught? Do persons in authority at Apple frown on such behavior, or is it an established technique there? I am not banging on Apple here, but the degree of complication of the Macintosh programmer interface seems to demand some extra degree of assurance that things will not change unless they are well documented, perhaps even beforehand. If too many things like this happen, and there is too little official explanation, then programming for the Macintosh could become even more of a guessing game than it is now, hardly a cheery prospect. Earle R. Horton. H.B. 8000, Dartmouth College, Hanover, NH 03755