[comp.sys.mac.programmer] Don't take my low-mem globals away!

oster@dewey.soe.berkeley.edu (David Phillip Oster) (11/02/88)

I write a lot of software. I am distressed and annoyed that the latest
word from Apple is "don't use low memory globals because they are going
away." Given the current state of the toolbox, it is not possible to write
high quality applications without accessing the low memory globals.
Here is the list of the low-memory globals I've already had to use to get 
my programs done:

CaretTime	- so I can blink my cursors at the rate the user
		requested.
CurApRefNum
CurApName	- so an application can find out what the user has renamed
		it to.
CurDirStore	- so my SFPGetFile() filter procedure can tell the user if
		the file he's about to open will fit in memory.
CurrentA5	- so an interrupt routine can get access to its
		applications's global variables.
DeskPattern	- so an application can draw windows with backgrounds like
		the desktop.
DoubleTime	- so an application can time mouse clicks to see if it
		should treat them as double clicks.
EventQueue
FinderName
FractEnable
GrayRgn
HiliteMode	- so a color program can use the user's hiliting color.
JGNEFilter
MBarHook
MenuCInfo
MenuHook
MenuList
PaintWhite
SdVolume
SFSaveDisk	- so my SFPPutFile() filter procedure can tell the user
		 whether the file he's about to save will fit on this
		disk.
UTableBase	- so I can find out if my device driver is already alive
		without starting it, if it isn't.
VIA		- the Impulse audio digitzer drivers need to access the
		serial ports directly.

Now, some of these probably have procedural interfaces I don't know about,
just as TickCount() returns the value of Ticks, and GetMBarHeight()
returns the value of MBarHeight. 

Here is a short Quiz:
1.) Do any of the above have such procedural interfaces, that I just don't
know about?
2.) Can you think of legitamate reasons why an application might need to
read each of these globals? (I've filled in some reasons, to give you a
start.)
3.) Apple, when are you going to give me procedural interfaces to all of these?
I'll stop accessing the variables directly as soon as you give me a
sanctioned way to access them.

Please reply by mail, and I'll create a digest and post it.

--- David Phillip Oster            --When you asked me to live in sin with you
Arpa: oster@dewey.soe.berkeley.edu --I didn't know you meant sloth.
Uucp: {uwvax,decvax}!ucbvax!oster%dewey.soe.berkeley.edu