Front page | perl.perl5.changes.mac |
Postings from September 2001
PERFORCE change 11816 for review
From:
Chris Nandor
Date:
September 1, 2001 18:08
Subject:
PERFORCE change 11816 for review
Message ID:
p05100307b7b73686dc1d@[10.0.1.177]
Change 11816 by pudge@pudge-mobile on 2001/09/01 22:15:09
Misc. patches: fix tests script; add Mac::LowMem; quiet
warnings in Config.pm with -W; increase default and
minimum RAM; bump version number.
Affected files ...
... //depot/maint-5.6/macperl/macos/MPVersion.r#3 edit
... //depot/maint-5.6/macperl/macos/MacPerlTests.cmd#4 edit
... //depot/maint-5.6/macperl/macos/Makefile.mk#6 edit
... //depot/maint-5.6/macperl/macos/configpm#2 edit
... //depot/maint-5.6/macperl/macos/lib/Mac/LowMem.pm#1 add
... //depot/maint-5.6/macperl/macos/macperl/MacPerl.r#2 edit
Differences ...
==== //depot/maint-5.6/macperl/macos/MPVersion.r#3 (text) ====
Index: perl/macos/MPVersion.r
--- perl/macos/MPVersion.r.~1~ Sat Sep 1 16:30:06 2001
+++ perl/macos/MPVersion.r Sat Sep 1 16:30:06 2001
@@ -5,6 +5,9 @@
* as specified in the README file.
*
* $Log: MPVersion.r,v $
+ * Revision 1.5 2001/07/20 23:54:49 pudge
+ * Sync with perforce changes 11420,11424.
+ *
* Revision 1.4 2001/07/08 05:07:14 pudge
* Version update 5.6.1a3
*
@@ -20,9 +23,9 @@
*
*/
-#define MPDate "2001-07-20"
-#define MPVersionStr "5.6.1a4"
+#define MPDate "2001-09-01"
+#define MPVersionStr "5.6.1a5"
#define MPRevision 0x05
#define MPVersion 0x61
-#define MPBuild 0x04
+#define MPBuild 0x05
#define MPState alpha
==== //depot/maint-5.6/macperl/macos/MacPerlTests.cmd#4 (text) ====
Index: perl/macos/MacPerlTests.cmd
--- perl/macos/MacPerlTests.cmd.~1~ Sat Sep 1 16:30:06 2001
+++ perl/macos/MacPerlTests.cmd Sat Sep 1 16:30:06 2001
@@ -137,8 +137,8 @@
::macos:perl -I::lib :lib:db-recno.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :lib:dirhand.t" >> ::macos:MacPerlTests.out
::macos:perl -I::lib :lib:dirhand.t >> ::macos:MacPerlTests.out
-# echo "::macos:perl -I::lib :lib:dosglob.t" >> ::macos:MacPerlTests.out
-# ::macos:perl -I::lib :lib:dosglob.t >> ::macos:MacPerlTests.out
+echo "::macos:perl -I::lib :lib:dosglob.t" >> ::macos:MacPerlTests.out
+::macos:perl -I::lib :lib:dosglob.t >> ::macos:MacPerlTests.out
# echo "::macos:perl -I::lib :lib:dprof.t" >> ::macos:MacPerlTests.out
# ::macos:perl -I::lib :lib:dprof.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :lib:dumper-ovl.t" >> ::macos:MacPerlTests.out
@@ -175,14 +175,14 @@
::macos:perl -I::lib :lib:filespec.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :lib:findbin.t" >> ::macos:MacPerlTests.out
::macos:perl -I::lib :lib:findbin.t >> ::macos:MacPerlTests.out
-# echo "::macos:perl -I::lib :lib:ftmp-mktemp.t" >> ::macos:MacPerlTests.out
-# ::macos:perl -I::lib :lib:ftmp-mktemp.t >> ::macos:MacPerlTests.out
-# echo "::macos:perl -I::lib :lib:ftmp-posix.t" >> ::macos:MacPerlTests.out
-# ::macos:perl -I::lib :lib:ftmp-posix.t >> ::macos:MacPerlTests.out
-# echo "::macos:perl -I::lib :lib:ftmp-security.t" >> ::macos:MacPerlTests.out
-# ::macos:perl -I::lib :lib:ftmp-security.t >> ::macos:MacPerlTests.out
-# echo "::macos:perl -I::lib :lib:ftmp-tempfile.t" >> ::macos:MacPerlTests.out
-# ::macos:perl -I::lib :lib:ftmp-tempfile.t >> ::macos:MacPerlTests.out
+echo "::macos:perl -I::lib :lib:ftmp-mktemp.t" >> ::macos:MacPerlTests.out
+::macos:perl -I::lib :lib:ftmp-mktemp.t >> ::macos:MacPerlTests.out
+echo "::macos:perl -I::lib :lib:ftmp-posix.t" >> ::macos:MacPerlTests.out
+::macos:perl -I::lib :lib:ftmp-posix.t >> ::macos:MacPerlTests.out
+echo "::macos:perl -I::lib :lib:ftmp-security.t" >> ::macos:MacPerlTests.out
+::macos:perl -I::lib :lib:ftmp-security.t >> ::macos:MacPerlTests.out
+echo "::macos:perl -I::lib :lib:ftmp-tempfile.t" >> ::macos:MacPerlTests.out
+::macos:perl -I::lib :lib:ftmp-tempfile.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :lib:gdbm.t" >> ::macos:MacPerlTests.out
::macos:perl -I::lib :lib:gdbm.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :lib:getopt.t" >> ::macos:MacPerlTests.out
@@ -405,8 +405,8 @@
::macos:perl -I::lib :op:local.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :op:lop.t" >> ::macos:MacPerlTests.out
::macos:perl -I::lib :op:lop.t >> ::macos:MacPerlTests.out
-# echo "::macos:perl -I::lib :op:magic.t" >> ::macos:MacPerlTests.out
-# ::macos:perl -I::lib :op:magic.t >> ::macos:MacPerlTests.out
+echo "::macos:perl -I::lib :op:magic.t" >> ::macos:MacPerlTests.out
+::macos:perl -I::lib :op:magic.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :op:method.t" >> ::macos:MacPerlTests.out
::macos:perl -I::lib :op:method.t >> ::macos:MacPerlTests.out
echo "::macos:perl -I::lib :op:misc.t" >> ::macos:MacPerlTests.out
@@ -571,22 +571,13 @@
echo "These tests are known to fail. Run if you want to, but beware"
echo "because crashes are possible."
echo ""
-echo "# DOS::Glob doesn't work ... do we care?"
-echo "::macos:perl -I::lib :lib:dosglob.t >> ::macos:MacPerlTests.out"
-echo ""
echo "# Devel::DProf seems to work, but test needs major work :/"
echo "::macos:perl -I::lib :lib:dprof.t >> ::macos:MacPerlTests.out"
echo ""
-echo "# I have no idea about these ..."
-echo "::macos:perl -I::lib :lib:ftmp-mktemp.t >> ::macos:MacPerlTests.out"
-echo "::macos:perl -I::lib :lib:ftmp-posix.t >> ::macos:MacPerlTests.out"
-echo "::macos:perl -I::lib :lib:ftmp-security.t >> ::macos:MacPerlTests.out"
-echo "::macos:perl -I::lib :lib:ftmp-tempfile.t >> ::macos:MacPerlTests.out"
-echo ""
-echo "# system() fails to return a good value"
+echo "# fails all tests (system() fails to return a good value)"
echo "::macos:perl -I::lib :op:die_exit.t >> ::macos:MacPerlTests.out"
echo ""
-echo "# I dunno here"
+echo "# fails test 16 (system() fails to return a good value)"
echo "::macos:perl -I::lib :op:magic.t >> ::macos:MacPerlTests.out"
echo ""
echo "# fails tests 129, 130, 142, 161 (known problem in sfio)"
@@ -594,3 +585,7 @@
echo ""
echo "# fails tests 329 (known problem in sysopen warning)"
echo "::macos:perl -I::lib :pragma:warnings.t >> ::macos:MacPerlTests.out"
+echo ""
+echo "# :op:misc.t, :op:runlevel.t, :pragma:strict.t, :pragma:subs.t, and"
+echo "# :pragma:warnings.t all produce a lot of errors because of error"
+echo "# output format; not sure what to do about them"
==== //depot/maint-5.6/macperl/macos/Makefile.mk#6 (text) ====
Index: perl/macos/Makefile.mk
--- perl/macos/Makefile.mk.~1~ Sat Sep 1 16:30:06 2001
+++ perl/macos/Makefile.mk Sat Sep 1 16:30:06 2001
@@ -128,7 +128,7 @@
Dynamic_Ext_Xtr =
Static_Lib_Mac = \
ExtUtils:MM_MacOS ExtUtils:Miniperl Config Errno \
- Mac:Hooks Mac:Pane \
+ Mac:Hooks Mac:Pane Mac::LowMem \
Mac:AppleEvents:Simple Mac:BuildTools Mac:Apps:Launch
########
==== //depot/maint-5.6/macperl/macos/configpm#2 (text) ====
Index: perl/macos/configpm
--- perl/macos/configpm.~1~ Sat Sep 1 16:30:06 2001
+++ perl/macos/configpm Sat Sep 1 16:30:06 2001
@@ -282,9 +282,9 @@
my %preconfig;
{
local $^W;
- my $inst = $ENV{MACPERL} . "site_perl:";
- my $arch = $MacPerl::Architecture;
- my $cc = $MacPerl::Compiler;
+ my $inst = ($ENV{MACPERL} || "") . "site_perl:";
+ my $arch = $MacPerl::Architecture || "";
+ my $cc = $MacPerl::Compiler || "";
%extra = (
installsitelib => $inst,
==== //depot/maint-5.6/macperl/macos/macperl/MacPerl.r#2 (text) ====
Index: perl/macos/macperl/MacPerl.r
--- perl/macos/macperl/MacPerl.r.~1~ Sat Sep 1 16:30:06 2001
+++ perl/macos/macperl/MacPerl.r Sat Sep 1 16:30:06 2001
@@ -273,8 +273,10 @@
reserved,
reserved,
reserved,
- 3840 * 1024,
- 1536 * 1024
+/* 3840 * 1024,
+ 1536 * 1024 */
+ 10 * 1024 * 1024,
+ 2 * 1024 * 1024
};
type 'MrPS' as 'SIZE';
==== //depot/maint-5.6/macperl/macos/lib/Mac/LowMem.pm#1 (text) ====
Index: perl/macos/lib/Mac/LowMem.pm
--- perl/macos/lib/Mac/LowMem.pm.~1~ Sat Sep 1 16:30:06 2001
+++ perl/macos/lib/Mac/LowMem.pm Sat Sep 1 16:30:06 2001
@@ -0,0 +1,1214 @@
+=head1 NAME
+
+MacOS Low Memory Globals.
+
+Provide the MacPerl interface to the low memory global variables.
+
+Access to Inside Macintosh is essential for proper use of these functions.
+Explanations of terms, processes and procedures are provided there.
+Any attempt to use these functions without guidance can cause severe errors in
+your machine, including corruption of data. B<You have been warned.>
+
+=head1 SYNOPSIS
+
+ use Mac::LowMem;
+ use Mac::QuickDraw;
+
+ LMSetMBarHeight(55);
+
+ $l = LMGetMouseLocation();
+
+ print $l, "\n", $l->h, " ", $l->v, "\n";
+
+=head1 DESCRIPTION
+
+The following routines make it possible to get and set low memory variables.
+
+=cut
+
+use strict;
+
+package Mac::LowMem;
+
+BEGIN {
+ use Exporter ();
+ use Mac::Memory();
+ use Carp;
+
+ use vars qw(@ISA @EXPORT $AUTOLOAD);
+
+ @ISA = qw(Exporter);
+ @EXPORT = qw(
+ LMGetScrVRes
+ LMGetScrHRes
+ LMGetMemTop
+ LMGetBufPtr
+ LMGetHeapEnd
+ LMGetTheZone
+ LMGetUTableBase
+ LMGetCPUFlag
+ LMGetApplLimit
+ LMGetSysEvtMask
+ LMGetRndSeed
+ LMGetSEvtEnb
+ LMGetTicks
+ LMGetKeyThresh
+ LMGetKeyRepThresh
+ LMGetVIA
+ LMGetSCCRd
+ LMGetSCCWr
+ LMGetSPValid
+ LMGetSPATalkA
+ LMGetSPATalkB
+ LMGetSPConfig
+ LMGetSPPortA
+ LMGetSPPortB
+ LMGetSPAlarm
+ LMGetSPFont
+ LMGetSPKbd
+ LMGetSPPrint
+ LMGetSPVolCtl
+ LMGetSPClikCaret
+ LMGetSPMisc2
+ LMGetTime
+ LMGetBootDrive
+ LMGetSFSaveDisk
+ LMGetKbdLast
+ LMGetKbdType
+ LMGetMemErr
+ LMGetSdVolume
+ LMGetSoundPtr
+ LMGetSoundBase
+ LMGetSoundLevel
+ LMGetCurPitch
+ LMGetROM85
+ LMGetPortBUse
+ LMGetSysZone
+ LMGetApplZone
+ LMGetROMBase
+ LMGetRAMBase
+ LMGetDSAlertTab
+ LMGetABusVars
+ LMGetABusDCE
+ LMGetDoubleTime
+ LMGetCaretTime
+ LMGetScrDmpEnb
+ LMGetBufTgFNum
+ LMGetBufTgFFlg
+ LMGetBufTgFBkNum
+ LMGetBufTgDate
+ LMGetLo3Bytes
+ LMGetMinStack
+ LMGetDefltStack
+ LMGetGZRootHnd
+ LMGetGZMoveHnd
+ LMGetFCBSPtr
+ LMGetDefVCBPtr
+ LMGetCurDirStore
+ LMGetFSFCBLen
+ LMGetScrnBase
+ LMGetMainDevice
+ LMGetDeviceList
+ LMGetQDColors
+ LMGetCrsrBusy
+ LMGetWidthListHand
+ LMGetJournalRef
+ LMGetCrsrThresh
+ LMGetCurApRefNum
+ LMGetCurrentA5
+ LMGetCurStackBase
+ LMGetCurJTOffset
+ LMGetCurPageOption
+ LMGetHiliteMode
+ LMGetPrintErr
+ LMGetScrapSize
+ LMGetScrapHandle
+ LMGetScrapCount
+ LMGetScrapState
+ LMGetROMFont0
+ LMGetApFontID
+ LMGetWindowList
+ LMGetSaveUpdate
+ LMGetPaintWhite
+ LMGetWMgrPort
+ LMGetGrayRgn
+ LMGetGhostWindow
+ LMGetAuxWinHead
+ LMGetCurActivate
+ LMGetCurDeactive
+ LMGetOldStructure
+ LMGetOldContent
+ LMGetSaveVisRgn
+ LMGetOneOne
+ LMGetMinusOne
+ LMGetTopMenuItem
+ LMGetAtMenuBottom
+ LMGetMenuList
+ LMGetMBarEnable
+ LMGetMenuFlash
+ LMGetTheMenu
+ LMGetTopMapHndl
+ LMGetSysMapHndl
+ LMGetSysMap
+ LMGetCurMap
+ LMGetResLoad
+ LMGetResErr
+ LMGetFScaleDisable
+ LMGetANumber
+ LMGetACount
+ LMGetTEScrpLength
+ LMGetTEScrpHandle
+ LMGetAppParmHandle
+ LMGetDSErrCode
+ LMGetDlgFont
+ LMGetWidthPtr
+ LMGetATalkHk2
+ LMGetHWCfgFlags
+ LMGetWidthTabHandle
+ LMGetLastSPExtra
+ LMGetMenuDisable
+ LMGetROMMapInsert
+ LMGetTmpResLoad
+ LMGetIntlSpec
+ LMGetWordRedraw
+ LMGetSysFontFam
+ LMGetSysFontSize
+ LMGetMBarHeight
+ LMGetTESysJust
+ LMGetLastFOND
+ LMGetFractEnable
+ LMGetMMU32Bit
+ LMGetTheGDevice
+ LMGetDeskCPat
+ LMGetTimeDBRA
+ LMGetTimeSCCDB
+ LMGetSynListHandle
+ LMGetMenuCInfo
+ LMGetTimeSCSIDB
+ LMGetCursorNew
+ LMGetMouseButtonState
+ LMGetMouseTemp
+ LMGetRawMouseLocation
+ LMGetMouseLocation
+ LMGetHighHeapMark
+ LMGetStackLowPoint
+ LMGetROMMapHandle
+ LMGetUnitTableEntryCount
+ LMGetDiskFormatingHFSDefaults
+ LMGetPortAInfo
+
+ LMSetScrVRes
+ LMSetScrHRes
+ LMSetMemTop
+ LMSetBufPtr
+ LMSetHeapEnd
+ LMSetTheZone
+ LMSetUTableBase
+ LMSetCPUFlag
+ LMSetApplLimit
+ LMSetSysEvtMask
+ LMSetRndSeed
+ LMSetSEvtEnb
+ LMSetTicks
+ LMSetKeyThresh
+ LMSetKeyRepThresh
+ LMSetVIA
+ LMSetSCCRd
+ LMSetSCCWr
+ LMSetSPValid
+ LMSetSPATalkA
+ LMSetSPATalkB
+ LMSetSPConfig
+ LMSetSPPortA
+ LMSetSPPortB
+ LMSetSPAlarm
+ LMSetSPFont
+ LMSetSPKbd
+ LMSetSPPrint
+ LMSetSPVolCtl
+ LMSetSPClikCaret
+ LMSetSPMisc2
+ LMSetTime
+ LMSetBootDrive
+ LMSetSFSaveDisk
+ LMSetKbdLast
+ LMSetKbdType
+ LMSetMemErr
+ LMSetSdVolume
+ LMSetSoundPtr
+ LMSetSoundBase
+ LMSetSoundLevel
+ LMSetCurPitch
+ LMSetROM85
+ LMSetPortBUse
+ LMSetSysZone
+ LMSetApplZone
+ LMSetROMBase
+ LMSetRAMBase
+ LMSetDSAlertTab
+ LMSetABusVars
+ LMSetABusDCE
+ LMSetDoubleTime
+ LMSetCaretTime
+ LMSetScrDmpEnb
+ LMSetBufTgFNum
+ LMSetBufTgFFlg
+ LMSetBufTgFBkNum
+ LMSetBufTgDate
+ LMSetLo3Bytes
+ LMSetMinStack
+ LMSetDefltStack
+ LMSetGZRootHnd
+ LMSetGZMoveHnd
+ LMSetFCBSPtr
+ LMSetDefVCBPtr
+ LMSetCurDirStore
+ LMSetFSFCBLen
+ LMSetScrnBase
+ LMSetMainDevice
+ LMSetDeviceList
+ LMSetQDColors
+ LMSetCrsrBusy
+ LMSetWidthListHand
+ LMSetJournalRef
+ LMSetCrsrThresh
+ LMSetCurApRefNum
+ LMSetCurrentA5
+ LMSetCurStackBase
+ LMSetCurJTOffset
+ LMSetCurPageOption
+ LMSetHiliteMode
+ LMSetPrintErr
+ LMSetScrapSize
+ LMSetScrapHandle
+ LMSetScrapCount
+ LMSetScrapState
+ LMSetROMFont0
+ LMSetApFontID
+ LMSetSaveUpdate
+ LMSetPaintWhite
+ LMSetWMgrPort
+ LMSetWindowList
+ LMSetGhostWindow
+ LMSetAuxWinHead
+ LMSetCurActivate
+ LMSetCurDeactive
+ LMSetOldStructure
+ LMSetOldContent
+ LMSetGrayRgn
+ LMSetSaveVisRgn
+ LMSetOneOne
+ LMSetMinusOne
+ LMSetTopMenuItem
+ LMSetAtMenuBottom
+ LMSetMenuList
+ LMSetMBarEnable
+ LMSetMenuFlash
+ LMSetTheMenu
+ LMSetTopMapHndl
+ LMSetSysMapHndl
+ LMSetSysMap
+ LMSetCurMap
+ LMSetResLoad
+ LMSetResErr
+ LMSetFScaleDisable
+ LMSetANumber
+ LMSetACount
+ LMSetTEScrpLength
+ LMSetTEScrpHandle
+ LMSetAppParmHandle
+ LMSetDSErrCode
+ LMSetDlgFont
+ LMSetWidthPtr
+ LMSetATalkHk2
+ LMSetHWCfgFlags
+ LMSetWidthTabHandle
+ LMSetLastSPExtra
+ LMSetMenuDisable
+ LMSetROMMapInsert
+ LMSetTmpResLoad
+ LMSetIntlSpec
+ LMSetWordRedraw
+ LMSetSysFontFam
+ LMSetSysFontSize
+ LMSetMBarHeight
+ LMSetTESysJust
+ LMSetLastFOND
+ LMSetFractEnable
+ LMSetMMU32Bit
+ LMSetTheGDevice
+ LMSetDeskCPat
+ LMSetTimeDBRA
+ LMSetTimeSCCDB
+ LMSetSynListHandle
+ LMSetMenuCInfo
+ LMSetTimeSCSIDB
+ LMSetCursorNew
+ LMSetMouseButtonState
+ LMSetMouseTemp
+ LMSetRawMouseLocation
+ LMSetMouseLocation
+ LMSetHighHeapMark
+ LMSetStackLowPoint
+ LMSetROMMapHandle
+ LMSetUnitTableEntryCount
+ LMSetDiskFormatingHFSDefaults
+ LMSetPortAInfo
+ );
+}
+
+# The empty line below is needed to simplify the algorithm
+
+my $sGlobals = <<END_GLOBALS;
+
+ABusDCE 0x02DC 4 L
+ABusVars 0x02D8 4 L
+ACount 0x0A9A 2 s
+ANumber 0x0A98 2 s
+ATalkHk2 0x0B18 4 L
+ApFontID 0x0984 2 s
+AppParmHandle 0x0AEC 4 L Handle
+ApplLimit 0x0130 4 L
+ApplZone 0x02AA 4 L THz
+AtMenuBottom 0x0A0C 2 s
+AuxWinHead 0x0CD0 4 L AuxWinHandle
+BootDrive 0x0210 2 s
+BufPtr 0x010C 4 L
+BufTgDate 0x0304 4 l
+BufTgFBkNum 0x0302 2 s
+BufTgFFlg 0x0300 2 s
+BufTgFNum 0x02FC 4 l
+CPUFlag 0x012F 1 C
+CaretTime 0x02F4 4 L
+CrsrBusy 0x08CD 1 C
+CrsrThresh 0x08EC 2 s
+CurActivate 0x0A64 4 L GrafPtr
+CurApRefNum 0x0900 2 s
+CurDeactive 0x0A68 4 L GrafPtr
+CurDirStore 0x0398 4 l
+CurJTOffset 0x0934 2 s
+CurMap 0x0A5A 2 s
+CurPageOption 0x0936 2 s
+CurPitch 0x0280 2 s
+CurStackBase 0x0908 4 L
+CurrentA5 0x0904 4 L
+CursorNew 0x08CE 1 c
+DSAlertTab 0x02BA 4 L
+DSErrCode 0x0AF0 2 s
+DefVCBPtr 0x0352 4 L
+DefltStack 0x0322 4 l
+DeskCPat 0x0CD8 4 L PixPatHandle
+DeviceList 0x08A8 4 L GDHandle
+DiskFormatingHFSDefaults 0x039E 4 L
+DlgFont 0x0AFA 2 s
+DoubleTime 0x02F0 4 L
+FCBSPtr 0x034E 4 L
+FSFCBLen 0x03F6 2 s
+FScaleDisable 0x0A63 1 C
+FractEnable 0x0BF4 1 C
+GZMoveHnd 0x0330 4 L Handle
+GZRootHnd 0x0328 4 L Handle
+GhostWindow 0x0A84 4 L GrafPtr
+GrayRgn 0x09EE 4 L RgnHandle
+HWCfgFlags 0x0B22 2 s
+HeapEnd 0x0114 4 L
+HighHeapMark 0x0BAE 4 L
+HiliteMode 0x0938 1 C
+IntlSpec 0x0BA0 4 L
+JournalRef 0x08E8 2 s
+KbdLast 0x0218 1 C
+KbdType 0x021E 1 C
+KeyRepThresh 0x0190 2 s
+KeyThresh 0x018E 2 s
+LastFOND 0x0BC2 4 L Handle
+LastSPExtra 0x0B4C 4 l
+Lo3Bytes 0x031A 4 l
+MBarEnable 0x0A20 2 s
+MBarHeight 0x0BAA 2 s
+MMU32Bit 0x0CB2 1 C
+MainDevice 0x08A4 4 L GDHandle
+MemErr 0x0220 2 s
+MemTop 0x0108 4 L
+MenuCInfo 0x0D50 4 L MCTableHandle
+MenuDisable 0x0B54 4 l
+MenuFlash 0x0A24 2 s
+MenuList 0x0A1C 4 L Handle
+MinStack 0x031E 4 l
+MinusOne 0x0A06 4 l
+MouseButtonState 0x0172 1 C
+MouseLocation 0x0830 8 - Point
+MouseTemp 0x0828 8 - Point
+OldContent 0x09EA 4 L RgnHandle
+OldStructure 0x09E6 4 L RgnHandle
+OneOne 0x0A02 4 l
+PaintWhite 0x09DC 2 s
+PortAInfo 0x0290 1 C
+PortBUse 0x0291 1 C
+PrintErr 0x0944 2 s
+QDColors 0x08B0 4 L Handle
+RAMBase 0x02B2 4 L
+ROM85 0x028E 2 s
+ROMBase 0x02AE 4 L
+ROMFont0 0x0980 4 L Handle
+ROMMapHandle 0x0B06 4 L Handle
+ROMMapInsert 0x0B9E 1 C
+RawMouseLocation 0x082C 8 - Point
+ResErr 0x0A60 2 s
+ResLoad 0x0A5E 1 C
+RndSeed 0x0156 4 l
+SCCRd 0x01D8 4 L
+SCCWr 0x01DC 4 L
+SEvtEnb 0x015C 1 C
+SFSaveDisk 0x0214 2 s
+SPATalkA 0x01F9 1 C
+SPATalkB 0x01FA 1 C
+SPAlarm 0x0200 4 l
+SPClikCaret 0x0209 1 C
+SPConfig 0x01FB 1 C
+SPFont 0x0204 2 s
+SPKbd 0x0206 1 C
+SPMisc2 0x020B 1 C
+SPPortA 0x01FC 2 s
+SPPortB 0x01FE 2 s
+SPPrint 0x0207 1 C
+SPValid 0x01F8 1 C
+SPVolCtl 0x0208 1 C
+SaveUpdate 0x09DA 2 s
+SaveVisRgn 0x09F2 4 L RgnHandle
+ScrDmpEnb 0x02F8 1 C
+ScrHRes 0x0104 2 s
+ScrVRes 0x0102 2 s
+ScrapCount 0x0968 2 s
+ScrapHandle 0x0964 4 L Handle
+ScrapSize 0x0960 4 l
+ScrapState 0x096A 2 s
+ScrnBase 0x0824 4 L
+SdVolume 0x0260 1 C
+SoundBase 0x0266 4 L
+SoundLevel 0x027F 1 C
+SoundPtr 0x0262 4 L
+StackLowPoint 0x0110 4 L
+SynListHandle 0x0D32 4 L Handle
+SysEvtMask 0x0144 2 s
+SysFontFam 0x0BA6 2 s
+SysFontSize 0x0BA8 2 s
+SysMap 0x0A58 2 s
+SysMapHndl 0x0A54 4 L Handle
+SysZone 0x02A6 4 L THz
+TEScrpHandle 0x0AB4 4 L Handle
+TEScrpLength 0x0AB0 2 S
+TESysJust 0x0BAC 2 s
+TheGDevice 0x0CC8 4 L GDHandle
+TheMenu 0x0A26 2 s
+TheZone 0x0118 4 L THz
+Ticks 0x016A 4 L
+Time 0x020C 4 l
+TimeDBRA 0x0D00 2 s
+TimeSCCDB 0x0D02 2 s
+TimeSCSIDB 0x0B24 2 s
+TmpResLoad 0x0B9F 1 C
+TopMapHndl 0x0A50 4 L Handle
+TopMenuItem 0x0A0A 2 s
+UTableBase 0x011C 4 L
+UnitTableEntryCount 0x01D2 2 s
+VIA 0x01D4 4 L
+WMgrPort 0x09DE 4 L GrafPtr
+WidthListHand 0x08E4 4 L Handle
+WidthPtr 0x0B10 4 L
+WidthTabHandle 0x0B2A 4 L Handle
+WindowList 0x09D6 4 L GrafPtr
+WordRedraw 0x0BA5 1 C
+END_GLOBALS
+
+sub _Getter {
+ my($addr, $size, $format, $package) = @_;
+ my ($data) = bless(\$addr, "Ptr")->get(0, $size);
+ $data = unpack($format, $data) unless $format eq "-";
+ return $package ? bless(\$data, $package) : $data;
+}
+
+sub _Setter {
+ my($addr, $format, $package, $data) = @_;
+ $data = $$data if $package;
+ $data = pack($format, $data) unless $format eq "-";
+ bless(\$addr, "Ptr")->set(0, $data);
+}
+
+AUTOLOAD {
+ {
+ my ($gs, $var) = ($AUTOLOAD =~ /LM([GS])et(\w+)/);
+ my ($start) = index($sGlobals, "\n$var");
+ croak "$AUTOLOAD not defined" if ($start == -1);
+ ++$start;
+ my ($def) =
+ substr($sGlobals, $start, index($sGlobals, "\n", $start)-$start);
+ my ($name, $addr, $size, $format, $package) = split(" ", $def);
+ if ($gs eq "G") {
+ eval<<END_GETTER;
+sub $AUTOLOAD {
+ _Getter($addr, $size, "$format", "$package");
+}
+END_GETTER
+ } else {
+ eval<<END_SETTER;
+sub $AUTOLOAD {
+ _Setter($addr, "$format", "$package", \$_[0]);
+}
+END_SETTER
+ }
+ goto &$AUTOLOAD;
+ }
+}
+
+__END__
+
+=head2 Getting Variable Values
+
+=over 4
+
+=item LMGetScrVRes
+
+=item LMGetScrHRes
+
+=item LMGetMemTop
+
+=item LMGetBufPtr
+
+=item LMGetHeapEnd
+
+=item LMGetTheZone
+
+=item LMGetUTableBase
+
+=item LMGetCPUFlag
+
+=item LMGetApplLimit
+
+=item LMGetSysEvtMask
+
+=item LMGetRndSeed
+
+=item LMGetSEvtEnb
+
+=item LMGetTicks
+
+=item LMGetKeyThresh
+
+=item LMGetKeyRepThresh
+
+=item LMGetVIA
+
+=item LMGetSCCRd
+
+=item LMGetSCCWr
+
+=item LMGetSPValid
+
+=item LMGetSPATalkA
+
+=item LMGetSPATalkB
+
+=item LMGetSPConfig
+
+=item LMGetSPPortA
+
+=item LMGetSPPortB
+
+=item LMGetSPAlarm
+
+=item LMGetSPFont
+
+=item LMGetSPKbd
+
+=item LMGetSPPrint
+
+=item LMGetSPVolCtl
+
+=item LMGetSPClikCaret
+
+=item LMGetSPMisc2
+
+=item LMGetTime
+
+=item LMGetBootDrive
+
+=item LMGetSFSaveDisk
+
+=item LMGetKbdLast
+
+=item LMGetKbdType
+
+=item LMGetMemErr
+
+=item LMGetSdVolume
+
+=item LMGetSoundPtr
+
+=item LMGetSoundBase
+
+=item LMGetSoundLevel
+
+=item LMGetCurPitch
+
+=item LMGetROM85
+
+=item LMGetPortBUse
+
+=item LMGetSysZone
+
+=item LMGetApplZone
+
+=item LMGetROMBase
+
+=item LMGetRAMBase
+
+=item LMGetDSAlertTab
+
+=item LMGetABusVars
+
+=item LMGetABusDCE
+
+=item LMGetDoubleTime
+
+=item LMGetCaretTime
+
+=item LMGetScrDmpEnb
+
+=item LMGetBufTgFNum
+
+=item LMGetBufTgFFlg
+
+=item LMGetBufTgFBkNum
+
+=item LMGetBufTgDate
+
+=item LMGetLo3Bytes
+
+=item LMGetMinStack
+
+=item LMGetDefltStack
+
+=item LMGetGZRootHnd
+
+=item LMGetGZMoveHnd
+
+=item LMGetFCBSPtr
+
+=item LMGetDefVCBPtr
+
+=item LMGetCurDirStore
+
+=item LMGetFSFCBLen
+
+=item LMGetScrnBase
+
+=item LMGetMainDevice
+
+=item LMGetDeviceList
+
+=item LMGetQDColors
+
+=item LMGetCrsrBusy
+
+=item LMGetWidthListHand
+
+=item LMGetJournalRef
+
+=item LMGetCrsrThresh
+
+=item LMGetCurApRefNum
+
+=item LMGetCurrentA5
+
+=item LMGetCurStackBase
+
+=item LMGetCurJTOffset
+
+=item LMGetCurPageOption
+
+=item LMGetHiliteMode
+
+=item LMGetPrintErr
+
+=item LMGetScrapSize
+
+=item LMGetScrapHandle
+
+=item LMGetScrapCount
+
+=item LMGetScrapState
+
+=item LMGetROMFont0
+
+=item LMGetApFontID
+
+=item LMGetWindowList
+
+=item LMGetSaveUpdate
+
+=item LMGetPaintWhite
+
+=item LMGetWMgrPort
+
+=item LMGetGrayRgn
+
+=item LMGetGhostWindow
+
+=item LMGetAuxWinHead
+
+=item LMGetCurActivate
+
+=item LMGetCurDeactive
+
+=item LMGetOldStructure
+
+=item LMGetOldContent
+
+=item LMGetSaveVisRgn
+
+=item LMGetOneOne
+
+=item LMGetMinusOne
+
+=item LMGetTopMenuItem
+
+=item LMGetAtMenuBottom
+
+=item LMGetMenuList
+
+=item LMGetMBarEnable
+
+=item LMGetMenuFlash
+
+=item LMGetTheMenu
+
+=item LMGetTopMapHndl
+
+=item LMGetSysMapHndl
+
+=item LMGetSysMap
+
+=item LMGetCurMap
+
+=item LMGetResLoad
+
+=item LMGetResErr
+
+=item LMGetFScaleDisable
+
+=item LMGetANumber
+
+=item LMGetACount
+
+=item LMGetTEScrpLength
+
+=item LMGetTEScrpHandle
+
+=item LMGetAppParmHandle
+
+=item LMGetDSErrCode
+
+=item LMGetDlgFont
+
+=item LMGetWidthPtr
+
+=item LMGetATalkHk2
+
+=item LMGetHWCfgFlags
+
+=item LMGetWidthTabHandle
+
+=item LMGetLastSPExtra
+
+=item LMGetMenuDisable
+
+=item LMGetROMMapInsert
+
+=item LMGetTmpResLoad
+
+=item LMGetIntlSpec
+
+=item LMGetWordRedraw
+
+=item LMGetSysFontFam
+
+=item LMGetSysFontSize
+
+=item LMGetMBarHeight
+
+=item LMGetTESysJust
+
+=item LMGetLastFOND
+
+=item LMGetFractEnable
+
+=item LMGetMMU32Bit
+
+=item LMGetTheGDevice
+
+=item LMGetDeskCPat
+
+=item LMGetTimeDBRA
+
+=item LMGetTimeSCCDB
+
+=item LMGetSynListHandle
+
+=item LMGetMenuCInfo
+
+=item LMGetTimeSCSIDB
+
+=item LMGetCursorNew
+
+=item LMGetMouseButtonState
+
+=item LMGetMouseTemp
+
+=item LMGetRawMouseLocation
+
+=item LMGetMouseLocation
+
+=item LMGetHighHeapMark
+
+=item LMGetStackLowPoint
+
+=item LMGetROMMapHandle
+
+=item LMGetUnitTableEntryCount
+
+=item LMGetDiskFormatingHFSDefaults
+
+=item LMGetPortAInfo
+
+=back
+
+=head2 Changing Variable Values
+
+=over 4
+
+=item LMSetScrVRes
+
+=item LMSetScrHRes
+
+=item LMSetMemTop
+
+=item LMSetBufPtr
+
+=item LMSetHeapEnd
+
+=item LMSetTheZone
+
+=item LMSetUTableBase
+
+=item LMSetCPUFlag
+
+=item LMSetApplLimit
+
+=item LMSetSysEvtMask
+
+=item LMSetRndSeed
+
+=item LMSetSEvtEnb
+
+=item LMSetTicks
+
+=item LMSetKeyThresh
+
+=item LMSetKeyRepThresh
+
+=item LMSetVIA
+
+=item LMSetSCCRd
+
+=item LMSetSCCWr
+
+=item LMSetSPValid
+
+=item LMSetSPATalkA
+
+=item LMSetSPATalkB
+
+=item LMSetSPConfig
+
+=item LMSetSPPortA
+
+=item LMSetSPPortB
+
+=item LMSetSPAlarm
+
+=item LMSetSPFont
+
+=item LMSetSPKbd
+
+=item LMSetSPPrint
+
+=item LMSetSPVolCtl
+
+=item LMSetSPClikCaret
+
+=item LMSetSPMisc2
+
+=item LMSetTime
+
+=item LMSetBootDrive
+
+=item LMSetSFSaveDisk
+
+=item LMSetKbdLast
+
+=item LMSetKbdType
+
+=item LMSetMemErr
+
+=item LMSetSdVolume
+
+=item LMSetSoundPtr
+
+=item LMSetSoundBase
+
+=item LMSetSoundLevel
+
+=item LMSetCurPitch
+
+=item LMSetROM85
+
+=item LMSetPortBUse
+
+=item LMSetSysZone
+
+=item LMSetApplZone
+
+=item LMSetROMBase
+
+=item LMSetRAMBase
+
+=item LMSetDSAlertTab
+
+=item LMSetABusVars
+
+=item LMSetABusDCE
+
+=item LMSetDoubleTime
+
+=item LMSetCaretTime
+
+=item LMSetScrDmpEnb
+
+=item LMSetBufTgFNum
+
+=item LMSetBufTgFFlg
+
+=item LMSetBufTgFBkNum
+
+=item LMSetBufTgDate
+
+=item LMSetLo3Bytes
+
+=item LMSetMinStack
+
+=item LMSetDefltStack
+
+=item LMSetGZRootHnd
+
+=item LMSetGZMoveHnd
+
+=item LMSetFCBSPtr
+
+=item LMSetDefVCBPtr
+
+=item LMSetCurDirStore
+
+=item LMSetFSFCBLen
+
+=item LMSetScrnBase
+
+=item LMSetMainDevice
+
+=item LMSetDeviceList
+
+=item LMSetQDColors
+
+=item LMSetCrsrBusy
+
+=item LMSetWidthListHand
+
+=item LMSetJournalRef
+
+=item LMSetCrsrThresh
+
+=item LMSetCurApRefNum
+
+=item LMSetCurrentA5
+
+=item LMSetCurStackBase
+
+=item LMSetCurJTOffset
+
+=item LMSetCurPageOption
+
+=item LMSetHiliteMode
+
+=item LMSetPrintErr
+
+=item LMSetScrapSize
+
+=item LMSetScrapHandle
+
+=item LMSetScrapCount
+
+=item LMSetScrapState
+
+=item LMSetROMFont0
+
+=item LMSetApFontID
+
+=item LMSetSaveUpdate
+
+=item LMSetPaintWhite
+
+=item LMSetWMgrPort
+
+=item LMSetWindowList
+
+=item LMSetGhostWindow
+
+=item LMSetAuxWinHead
+
+=item LMSetCurActivate
+
+=item LMSetCurDeactive
+
+=item LMSetOldStructure
+
+=item LMSetOldContent
+
+=item LMSetGrayRgn
+
+=item LMSetSaveVisRgn
+
+=item LMSetOneOne
+
+=item LMSetMinusOne
+
+=item LMSetTopMenuItem
+
+=item LMSetAtMenuBottom
+
+=item LMSetMenuList
+
+=item LMSetMBarEnable
+
+=item LMSetMenuFlash
+
+=item LMSetTheMenu
+
+=item LMSetTopMapHndl
+
+=item LMSetSysMapHndl
+
+=item LMSetSysMap
+
+=item LMSetCurMap
+
+=item LMSetResLoad
+
+=item LMSetResErr
+
+=item LMSetFScaleDisable
+
+=item LMSetANumber
+
+=item LMSetACount
+
+=item LMSetTEScrpLength
+
+=item LMSetTEScrpHandle
+
+=item LMSetAppParmHandle
+
+=item LMSetDSErrCode
+
+=item LMSetDlgFont
+
+=item LMSetWidthPtr
+
+=item LMSetATalkHk2
+
+=item LMSetHWCfgFlags
+
+=item LMSetWidthTabHandle
+
+=item LMSetLastSPExtra
+
+=item LMSetMenuDisable
+
+=item LMSetROMMapInsert
+
+=item LMSetTmpResLoad
+
+=item LMSetIntlSpec
+
+=item LMSetWordRedraw
+
+=item LMSetSysFontFam
+
+=item LMSetSysFontSize
+
+=item LMSetMBarHeight
+
+=item LMSetTESysJust
+
+=item LMSetLastFOND
+
+=item LMSetFractEnable
+
+=item LMSetMMU32Bit
+
+=item LMSetTheGDevice
+
+=item LMSetDeskCPat
+
+=item LMSetTimeDBRA
+
+=item LMSetTimeSCCDB
+
+=item LMSetSynListHandle
+
+=item LMSetMenuCInfo
+
+=item LMSetTimeSCSIDB
+
+=item LMSetCursorNew
+
+=item LMSetMouseButtonState
+
+=item LMSetMouseTemp
+
+=item LMSetRawMouseLocation
+
+=item LMSetMouseLocation
+
+=item LMSetHighHeapMark
+
+=item LMSetStackLowPoint
+
+=item LMSetROMMapHandle
+
+=item LMSetUnitTableEntryCount
+
+=item LMSetDiskFormatingHFSDefaults
+
+=item LMSetPortAInfo
+
+=back
+
+=head1 BUGS/LIMITATIONS
+
+=head1 FILES
+
+=head1 AUTHOR(S)
+
+Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch>
+
+=cut
+
End of Patch.
-
PERFORCE change 11816 for review
by Chris Nandor