PInterfaces Release Notes
First created on: 3/20/92 4:35:27 PM

----------------------------------------------------------¥----------------------------------------------------------

3/20/92 4:35:37 PM

File: Language.h,4
Owner: Don Louv     
Project: MainProjºInterfacesºCIncludesº

File: Packages.h,21
Owner: Don Louv     
Project: MainProjºInterfacesºCIncludesº

File: Script.h,52
Owner: Don Louv     
Project: MainProjºInterfacesºCIncludesº

File: Language.p,4
Owner: Don Louv     
Project: MainProjºInterfacesºPInterfacesº

File: Packages.p,20
Owner: Don Louv     
Project: MainProjºInterfacesºPInterfacesº

File: Script.p,50
Owner: Don Louv     
Project: MainProjºInterfacesºPInterfacesº

File: MenuMgrPatches.c,9
Owner: Don Louv     
Project: MainProjºProcessMgrº

File: MenuMgr.c,8
Owner: Don Louv     
Project: MainProjºToolboxºMenuMgrº

Radar bug: #1025005

> Release notes for this change:

Moving declarations in include files for the New Inside Mac.  And updated 2 files to follow the declarations they need.

> What was tested:

Built CUBE-E.

----------------------------------------------------------¥----------------------------------------------------------
4/8/92 12:02:45 PM

File: ScriptEqu.a,50
Owner: Peter Edberg     
Project: MainProjºInterfacesºAIncludesº

File: Script.h,60
Owner: Peter Edberg     
Project: MainProjºInterfacesºCIncludesº

File: Script.p,58
Owner: Peter Edberg     
Project: MainProjºInterfacesºPInterfacesº

File: ScriptPriv.a,63
Owner: Peter Edberg     
Project: MainProjºInternalºAsmº

File: ScriptPriv.h,23
Owner: Peter Edberg     
Project: MainProjºInternalºCº

Radar bug: #1026516

> Release notes for this change:

Many of the script manager routines that depend on a grafport (to get a font => script code that determines their operation) have an alternate form in which a script code can be passed as a parameter; this is useful when a grafport may not be available. Until now, interfaces for these alternate forms are all private (although they are already being tested for Cube-E). They are now being made public, as various people need them, including N&C and El Kabong applications. The implementation of these routines is the same standard forms; the code that handles the script code parameter is in the Script Manager dispatcher, and it strips this parameter, so by the time we reach the routines themselves, the stack setup is the same as the normal way of calling these routines.

These interfaces are: SCCharByte, SCCharType, SCFindWord, SCTransliterate, SCParseTable, SCLowerText, SCUpperText, SCStripText, SCStripUpperText.


> What was tested:

Full System file build (-e): there is no change in functionality, just moving interfaces. Pasted resulting Script Mgr patches into Cube-E 36++ and ran the system.

----------------------------------------------------------¥----------------------------------------------------------
4/9/92 6:07:55 PM

File: GestaltEqu.a,52
Owner: Jeff Miller     
Project: MainProjºInterfacesºAIncludesº

File: GestaltEqu.h,53
Owner: Jeff Miller     
Project: MainProjºInterfacesºCIncludesº

File: GestaltEqu.p,47
Owner: Jeff Miller     
Project: MainProjºInterfacesºPInterfacesº

File: Sys.r,304
Owner: Jeff Miller     
Project: MainProjºMakeº

File: GestaltFunction.a,42
Owner: Jeff Miller     
Project: MainProjºOSºGestaltº

File: GestaltPatches.a,31
Owner: Jeff Miller     
Project: MainProjºOSºGestaltº

File: PatchIIciROM.a,150
Owner: Jeff Miller     
Project: MainProjºPatchesº

File: ShutDownMgr.a,50
Owner: Jeff Miller     
Project: MainProjºToolboxºShutDownMgrº

File: SoundMgrPatch.a,25
Owner: Jeff Miller     
Project: MainProjºToolboxºSoundMgrº

Radar bug: #1026795

> Release notes for this change:

As we do for the PowerBook 100, we need to change boxFlag on Macintosh LC II machines
from its original value of boxMacLC to boxMacLCII in PatchIIciROM.a.  We also need
to add a new value that can be returned for gestaltMachineType, gestaltMacLCII.  This has
implications
in several areas of the System.  We need to add a new entry in the machine icon table
for Gestalt (the same icon as the LC) and a new string in the machine name STR# in the
System (ÓMacintosh LC IIÓ), both of which show up in the Finder.  We need to make sure
that Gestalt returns the same value for gestaltHasSoftPowerOff and gestaltSerialAttr
as the Mac LC.  In the ShutDown Manager, we need to set the CLUT to 50% gray on a restart
as we do for an LC.  In the Sound Manager, we need to expand the sound primitive vector
table
to include the LC II.


> What was tested:

On an LC II, verified that boxFlag was set correctly, verified that the right icon and
machine string appear in About This MacintoshÉ, verified that the CLUT was set to 50%
gray on restart, verified that sound input worked.  DidnÕt check the returned values for
gestaltHasSoftPowerOff and gestaltSerialAttr, though.
----------------------------------------------------------¥----------------------------------------------------------
4/21/92 4:40:34 PM

File: Traps.a,75
Owner: Dean Yu     
Project: MainProjºInterfacesºAIncludesº

File: Resources.h,12
Owner: Dean Yu     
Project: MainProjºInterfacesºCIncludesº

File: Resources.p,8
Owner: Dean Yu     
Project: MainProjºInterfacesºPInterfacesº

File: ResourceMgrExtensions.a,45
Owner: Dean Yu     
Project: MainProjºToolboxºResourceMgrº

Radar bug: #1018901

> Release notes for this change:

With the Fonts folder, a font family can be split across several files.  This is a new
behaviour, and
programs that assume that a ÔFONDÕ will contain information about all the fonts belonging
to that
font family will be in for a surprise.  Provide a new call, GetNextFOND, which will take
a handle to
a ÔFONDÕ resource as a parameter, and it will return the next ÔFONDÕ resource in the
resource chain
belonging to the same family.  The LaserWriter driver is currently the only client of
this call.

> What was tested:

The bug states that MacWrite IIÕs ReadMe file does not print correctly under Cube-E.
This was due
to the fact that the LaserWriter driver was looking for a style mapping table in the
first Gevena
ÔFONDÕ it found.  This is the one in the system file, which does not have a style mapping
table.
Because it does not find a style mapping table, it tries to download a bitmapped font.
Instead, the
LaserWriter driver should look for another Geneva ÔFONDÕ.
The LaserWriter driver has been changed to call the new routine GetNextFOND to look for
another
ÔFONDÕ for the same family if the ÔFONDÕ it has does not have a style mapping table.
With this fix,
MacWrite II can print itÕs ReadMe document without any problems, whereas it would print
in
Courier without the fix.
GetNextFOND also has code which checks to see if the ÔFONDÕ is in an override map.  If it
is,
GetNextFOND will search for the map after the first non-override map after the override
map, so
that the same ÔFONDÕ resource will not be returned all the time.  To test this, I placed
a copy of
the Geneve ÔFONDÕ, and the ÔNFNTÕs in the System into a Gibbly and tried to print the
ReadMe file.
This also printed correctly.

----------------------------------------------------------¥----------------------------------------------------------
5/27/92 6:43:18 PM

File: DictionaryEqu.a,1
Owner: hae-sung Kim     
Project: MainProjºInterfacesºAIncludesº

File: SysErr.a,36
Owner: hae-sung Kim     
Project: MainProjºInterfacesºAIncludesº

File: Traps.a,77
Owner: hae-sung Kim     
Project: MainProjºInterfacesºAIncludesº

File: Dictionary.h,1
Owner: hae-sung Kim     
Project: MainProjºInterfacesºCIncludesº

File: Errors.h,19
Owner: hae-sung Kim     
Project: MainProjºInterfacesºCIncludesº

File: Dictionary.p,1
Owner: hae-sung Kim     
Project: MainProjºInterfacesºPInterfacesº

File: Errors.p,21
Owner: hae-sung Kim     
Project: MainProjºInterfacesºPInterfacesº

Radar bug: #1030902

> Release notes for this change:

Make new interface files for Dictionary manager.  Add Dictionary manager error numbers.

> What was tested:

Compiled each interface file.

----------------------------------------------------------¥----------------------------------------------------------
5/27/92 10:41:56 PM

File: GestaltEqu.a,54
Owner: Kip Olson     
Project: MainProjºInterfacesºAIncludesº

File: GestaltEqu.h,55
Owner: Kip Olson     
Project: MainProjºInterfacesºCIncludesº

File: GestaltEqu.p,49
Owner: Kip Olson     
Project: MainProjºInterfacesºPInterfacesº

File: UniversalEqu.a,25
Owner: Kip Olson     
Project: MainProjºInternalºAsmº

File: SinHighLevel.c,35
Owner: Kip Olson     
Project: MainProjºToolboxºSoundMgrº

File: SoundMgrLowLevel.a,31
Owner: Kip Olson     
Project: MainProjºToolboxºSoundMgrº

File: SoundMgrPriv.c,64
Owner: Kip Olson     
Project: MainProjºToolboxºSoundMgrº

Radar bug: #1030293

> Release notes for this change:

Some CPUÕs cannot play and record at the same time (like the Mac LC, LC II and Vail). A
bit was added to Gestalt called ÒgestaltPlayAndRecordÓ which tells you if a machine can
play and record simultaneously. If the bit is not set, the SndRecord() dialog knows that
it should turn off recording before playing the sound just recorded. Also,
SndNewChannel() knows not to allow a channel to be opened while recording on an LC.

> What was tested:

Tested on a Mac LC, IIsi
----------------------------------------------------------¥----------------------------------------------------------
6/2/92 9:21:18 PM

File: GestaltEqu.a,55
Owner: Jeff Miller     
Project: MainProjºInterfacesºAIncludesº

File: GestaltEqu.h,56
Owner: Jeff Miller     
Project: MainProjºInterfacesºCIncludesº

File: GestaltEqu.p,50
Owner: Jeff Miller     
Project: MainProjºInterfacesºPInterfacesº

File: InternalOnlyEqu.a,22
Owner: Jeff Miller     
Project: MainProjºInternalºAsmº

File: Sys.r,317
Owner: Jeff Miller     
Project: MainProjºMakeº

File: GestaltPatches.a,33
Owner: Jeff Miller     
Project: MainProjºOSºGestaltº

File: PatchIIciROM.a,153
Owner: Jeff Miller     
Project: MainProjºPatchesº

File: ShutDownMgr.a,51
Owner: Jeff Miller     
Project: MainProjºToolboxºShutDownMgrº

File: SoundMgrLowLevel.a,32
Owner: Jeff Miller     
Project: MainProjºToolboxºSoundMgrº

File: SoundMgrPatch.a,27
Owner: Jeff Miller     
Project: MainProjºToolboxºSoundMgrº

Radar bug: #1031451

> Release notes for this change:

As we do for the PowerBook 140, we need to change boxFlag on PowerBook 145 machines from
its original value of boxPowerBook170 to boxPowerBook145 in PatchIIciROM.a.  We also need
to add a new value that can be returned for gestaltMachineType, gestaltPowerBook145.
This has implications in several areas of the System.  We need to add a new entry in the
machine icon table for Gestalt (the same icon as the PowerBook 140) and a new string in
the machine name STR# in the System (ÓPowerBook 140.Ó for now, until we announce the
machine (the period at the end will let you tell the difference in the meantime)), both
of which show up in the Finder.  In the ShutDown Manager, we need to close the video
driver at shutdown or restart as we do for the 140 and 170. In the Sound Manager, we need
to expand the sound primitive vector table to include the 145, and fool the Gestalt
attribute table into thinking a 145 is really a 140.

> What was tested:

On a PowerBook 145, verified that boxFlag was set correctly, verified that the right icon
and machine string appear in About This MacintoshÉ, verified that playing a sound and
sound input worked.
----------------------------------------------------------¥----------------------------------------------------------
7/15/92 8:17:43 PM

File: ToolUtils.a,25     
Owner: Susan M. Bartalo     
Project: MainProjºInterfacesºAIncludesº

File: TextEdit.h,22     
Owner: Susan M. Bartalo     
Project: MainProjºInterfacesºCIncludesº

File: TextEdit.p,19     
Owner: Susan M. Bartalo     
Project: MainProjºInterfacesºPInterfacesº

File: TextEditPriv.a,16     
Owner: Susan M. Bartalo     
Project: MainProjºInternalºAsmº

File: TextEdit.a,49     
Owner: Susan M. Bartalo     
Project: MainProjºToolboxºTextEditº

File: TextEditPatchIIciROM.a,50     
Owner: Susan M. Bartalo     
Project: MainProjºToolboxºTextEditº

Radar bug: ##

> Release notes for this change:

Move DoText selectors from the private interface file TextEditPriv.a to the public
interface files so the whole darn world can use the selectors instead of hard-coded
constants! Renamed teMark to teHighlight and teLoc to teCaret.

> What was tested:

No testing necessary since just changed the names.
----------------------------------------------------------¥----------------------------------------------------------
7/23/92 2:07:16 PM

File: GestaltEqu.p,53
Owner: Dean Yu     
Project: MainProjºInterfacesºPInterfacesº

File: SysObj.Make,474
Owner: Dean Yu     
Project: MainProjºMakeº

Radar bug: 

> Release notes for this change:

Pascal doesnÕt deal with register based calls without glue very well.  A recent change to
make Gestalt inline in Pascal just doesnÕt cut it, since the caller is still passing the
parameters to Gestalt on the stack, thusly possibly trashing the caller.  Remove the
inline.

> What was tested:

This caused the machine to crash if you turned on balloon help, and pointed at an empty
spot in the menu bar.  Making the Help Manager use Gestalt glue again gets rid of the
problem.

----------------------------------------------------------¥----------------------------------------------------------
7/31/92 11:46:17 AM

File: TextServices.p,6
Owner: Kenny S. Tung     
Project: MainProjºInterfacesºPInterfacesº

Radar bug: #1037621

> Release notes for this change:

Added two constants: keyAEPinRange ÔpnrgÕ and typeTextRange ÔtxrnÕ.

> What was tested:

No functionality change
----------------------------------------------------------¥----------------------------------------------------------
10/16/92 10:45:01 AM

File: Traps.a,78     
Owner: Dean Yu     
Project: MainProjºInterfacesºAIncludesº

File: Memory.h,21     
Owner: Dean Yu     
Project: MainProjºInterfacesºCIncludesº

File: Traps.h,16     
Owner: Dean Yu     
Project: MainProjºInterfacesºCIncludesº

File: Memory.p,10     
Owner: Dean Yu     
Project: MainProjºInterfacesºPInterfacesº

File: Traps.p,15     
Owner: Dean Yu     
Project: MainProjºInterfacesºPInterfacesº

File: OSTraps.a,16     
Owner: Dean Yu     
Project: MainProjºLibsºInterfaceSrcsº

Radar bug: 

> Release notes for this change:

Added interface for BlockMoveData.

> What was tested:

Made sure all builds still do.
----------------------------------------------------------¥----------------------------------------------------------
3/30/93 10:41:32 AM

File: Traps.a,12     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºAIncludesº

File: Traps.h,6     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºCIncludesº

File: Traps.p,5     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºPInterfacesº

Radar bug: 

> Release notes for this change:

Add Display Manager trap to various header files.

> What was tested:

Build ROM and run with it.  Built RISC but donÕt have a Flash card for PDM to test it.
----------------------------------------------------------¥----------------------------------------------------------
8/4/93 4:06:42 PM

File: Displays.a,6     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºAIncludesº

File: GestaltEqu.a,19     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºAIncludesº

File: Displays.h,6     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºCIncludesº

File: GestaltEqu.h,18     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºCIncludesº

File: GestaltEqu.p,10     
Owner: Ian Hendry     
Project: SuperMarioProjºInterfacesºPInterfacesº

File: DisplaysPriv.a,6     
Owner: Ian Hendry     
Project: SuperMarioProjºInternalºAsmº

File: DisplaysPriv.h,8     
Owner: Ian Hendry     
Project: SuperMarioProjºInternalºCº

File: DisplayMgr.a,7     
Owner: Ian Hendry     
Project: SuperMarioProjºToolboxºDisplayMgrº

File: DisplayMgr.c,12     
Owner: Ian Hendry     
Project: SuperMarioProjºToolboxºDisplayMgrº

File: DisplayMgr.make,5     
Owner: Ian Hendry     
Project: SuperMarioProjºToolboxºDisplayMgrº

File: DisplayMgrUtils.c,6     
Owner: Ian Hendry     
Project: SuperMarioProjºToolboxºDisplayMgrº

Radar bug: #1101633,1098397,1101795,1101636,1102280

> Release notes for this change:

Fixed a number of compatibility bugs (1101633,1098397,1101795,1101636,1102280).

I investigated a number of strategies for compatibility when the main display
changed to a different monitor.  The problem was that there were alway incompatibilities
with some applications and/or performance penalties.

New Implementation:
Exchange the contents the old main device and the new main device so that cached handles
still behave correctly.  There is no performance penalty and (so far) no application
incompatibilities beyond those introduced by the change in size.  I dicussed all these
solutions with Kon Othmer and we both feel this is the base strategy.  The only problem
is that this implementation breaks the connection between a phsyical monitor and its
gDevice.

Rejected implementations:
ÊÊ(1) changing the lo-mem MainDevice field (apps cache this value),
ÊÊ(2) introducing a dummy device in the device list that MainDevice points to and
shadowing and disabling the real main device such that caching MainDevice handle works
(some apps had problems and performance suffered because QD always take the multidevice
case, and boot code assumes that all devices in the device list are active screen devices
and therefore ÔscrnÕ resources are invalid if it finds an extra device),
ÊÊ(3) introducing a dummy device BEFORE the device list and pointed MainDevice at it.
Fixed the boot problems and the performance hit, but broke applications that assume
MainDevice is in device list (including MicroSoft Excel).

Added compatibility model.  Conditionally compiled fixes in a separate file with some
guildlines for making sure these fixes can be turned off.  The CloseView compatilbility
fix is the only one in use.

WARNING:
WARNING:  As of this check in, you must use either Pre-Display Manager Monitors CP or
WARNING:  Psychic TV A4 Monitors CP.  The API changed slightly to clean up the interface
WARNING:  and intermediate versions will crash.
WARNING:


> What was tested:

Built and tested extension with Reality sources.  Margarita regressed most of the
existing bugs and things seemed to work.  I updated SuperMario from reality and built and
tested resolution flipping and new version of monitors on PDM.  Everything seems fine.

----------------------------------------------------------¥----------------------------------------------------------
