[net.micro.mac] Keeper...

harrow@exodus.DEC (Jeff Harrow, NCSE LKG1-3/F16 DTN=226-7445) (03/29/86)

I'm running  Keeper  on  a 512K Mac with HD20 (and **LOVE** it!).  
However, I recently  attempted  to use ResEdit to modify the LAYO 
resource in the Finder  and,  when I told ResEdit to OPEN Finder, 
it displayed an alert box with Error=108 (out of heap space).

ResEdit DID open Finder, but  several  resources  (including  the 
LAYO) were NOT visible in the list.

I rebooted the Mac WITHOUT Keeper, and ResEdit worked fine.

Well, seems that all I had  to  do was increase the heap size and 
all would be OK.  Right?

I used FEdit V3.5 and modified the  boot  block  to  increase the 
heap  size (and validated that it had been  changed),  yet,  even 
when  making  the  heap  VERY large and rebooting (with  Keeper), 
ResEdit still came up with the error.

Does anyone know the "error" (sic) of my ways?

Jeff

darin@ut-dillo.UUCP (Darin Adler) (04/02/86)

In article <1980@decwrl.DEC.COM>, harrow@exodus.DEC (Jeff Harrow) writes:
> I'm running Keeper ... ResEdit ... (out of heap space) ... increase the
> heap size ... modified the boot block to increase the heap size ...
			     ^^^^ ^^^^^
> Does anyone know the "error" (sic) of my ways?

First of all, there are (usually) two heaps in the Macintosh.  One, the
system heap, is used for system data structures, ROM patches, Chicago font,
and a number of other things.  The other, the application heap, is used for
everything else (in other words, everything created by applications).  When
ResEdit gives you error -108 (out of heap space), it means that it is out of
application heap space.

The first boot block contains a constant which determines the size of the
system heap.  The larger the system heap is, the *smaller* the application
heap is, thus enlarging the heap size in the boot blocks makes it *more*
likely to get an "out of heap space" error.

Incidentally, while Keeper is running, there are actually three heaps in
memory.  Each time you launch an application from the Finder (with Keeper
installed), Keeper calls _CompactMem to move the contents of the Finder's
application heap to the bottom of the heap.  There is then only one block of
free memory, at the very top of the Finder's heap.  Keeper then goes on to
create a new heap in this free block and puts the new application there.
When the application returns to the Finder, Keeper restores the Finder's
original heap and resumes execution, right after the _Launch instruction in
the Finder.

Keeper was written by Steve Capps, one of the co-authors of the Finder.

By the way, Keeper does not work with SkipFinder or with WayStation.  In
addition, you will never see a MiniFinder (unless you open it explicitly)
once you run Keeper.  But, with an instant Finder, all three of these are
obselete!
-- 
Darin Adler	{gatech,harvard,seismo}!ut-sally!ut-dillo!darin

"...'cause they don't go for what's in the book and that makes 'em bad..."
								Frank Zappa