[comp.binaries.mac] Macintosh Technical Notes - 279 'LDEF' Madness

bytebug@dhw68k.cts.com (Roger L. Long) (08/04/90)

[6/90 Macintosh Technical Notes - 279 'LDEF' Madness]

Written by: Byron "scapegoat" Han & Alex Kazim		       June 1990

This  Technical  Note  uncovers  a  problem  with  writing  Pascal  list
definition procedures and two (yes, count 'em, two) different methods to
work around it.

---
(This file must be converted with BinHex 4.0)

:#941-MFj,R0TG!"6593K8dP8)3#3""6V!*!%4hY6593K!!%!!"6VFNaKG3%!N!J
#%e41,M)h15j-4%9')%eKC'jPFh-j-&`L!!68r!""%-S!34$+!*!("4@+!!5PNJ"
"%")!"06mrrm"!2rr9dp54%e"3d%"!++!-@kLShXU!*!')Yi!N!B8C3!!Ga8!N!E
86J!-!1J#)!!!!J!5rP[iMer"K#,F!)!c-@%)C!$3C,5S$!!B!!-5!N!b8L3!!GS
%S2JAlTmi!IN%'"P`T!#+!3i&L#4*8L4+P3m6NK&T-)"4SLFH2$4SXUP)"3!b")$
8&)K6SPHc*M4)N!!V9J!DZ!#`#U##6JS!-!6!p8mH!(CY!qMkYdmK`i9"m`,!@pB
#!!KEHCaX#m!$BEMbj0)9HIFI!")L)CYNbX&6!@J*0A!5))#`BEH)jCTdI(HVZ3&
&'b38#)""3V5V%lS'!,YJ!jfXCe1!5YYfE!#md@SB)H0'$KdJ3*aJ3U5)N4-JQS3
KikE-R$N*hTJ")50J`Z$"!8bJpkD1N!"B31U&L"D%a`FGm$"lEfd3,3jpAa,3Qh3
SdS-QE-a4`L,b!&02'Dr8B8md$b44caXX2%"&,!m`J3F)p&KMJceaT'I!-fZmFFB
(UJ%JJ@b[RF6!@5EU"X!#pG53!1!*8c`34(cc19#I3YB!X-8![J$33"0"(*(%%&!
F'8%!rp4KQd'j[HEL#"R13Fmc40$cK4&1dI00%24miN4#@Q*4c`02e2-#&6LbPN"
#ILfK&A$d''%#2IeJ)d'"Va!KaKY-6$!2+'%k8Fm64G$c4a&UlU!!2BEN%-UJp"`
M#+55b[2*$MM1pbB!IP'4A(*352(%%%838B88485A"a0Tc%%(#Q`dBGdFBCa4"R*
*1%&&%8F8)F81),!a44PXP$%'(FJ*mF366"34K"2%XL'&XXb#F1fbe3k","[)HFX
''cZSjLDFYZ''BQm"0""5P,d0iKJ!1G4$Ka`K`'$2#hR-miTqr"B"3cmS'"112A@
)d3m-N!$#)!mBp'M`!4i2,2''(Rqd!FmR5Y`c"36cI*!!`cbI`0$QZV@eqjZ,6hc
KmXX`abccc$6AE2201$GJ,XS!r""!0b'*P)!!"a!Y!!4(*ihddNSVlGYm,US-GBU
De,-%a94`-!XIDMcJK"33H&c-2@%JBB!$4GLM`JGY2(#((,$FFqmFpX"4M`'-U+(
!KC&FF`10D!Ic54e"!$)'*#rF!B8mMq5"3B&M6`(#!p@`A@$LAk53!%!Il-R`3"X
5e)+*!&$F8mF6DaK3K-H3!-JKccXP`SY@!MmcPG$344I0p1j0l`j!&$qM*R3!M"L
YqjaAd3kd582c$KMb6@%`TjC1d22%cJ"mkTI8XMrGI3*8S&%'#%LmmFBDX5HN)l[
TYrCD!$R!+LX)C*4K4KTZT%&('Qqi!3)FFRM$'-T!KMV)`6SJ3-&bQ[-F%"a`$Z@
4``$RN!!#%)6KJ2p,Jl)3U"d3b#S-EL"$#m,!K[k0E`a[U"m)k)#'-0$"Jh"39KV
-N!#(&BS2"')S3`[Y`$mjJ+#$B5K@V&k)JM5iS!`ZB!%)d2#'1i"!If9S`a`XL%%
bb#%-Gr!I#-Q`a$5F!3eXm#)Dk%"!*CD"$Q0`339"N!#&mS"J$#!%`GZJD%2VM!q
!!L5J!4')2`YfmBXY5*BGN!"9,"#HS3kj'YmEI0M(-&`RLQ*J3ai#D8K%kNU*@ka
M$AFi[ML@`3hhUL%FhS#r&pj"IfLS)`M-m)Ca04&rChJM#F2SKPLLd!f$"#Arh+#
$%Th)IEhK`'cm)J)A9B!iaY&"!KES(1K)KcUhDN!9jL1"(5Q[+EJcfY+JKmhJ-Fp
i6Z-Q8GSA0A+Q5(P"ZadiYbR1fhP6D1Xm@M[GZ6aijLkFl@c"1a1bJAJqVjhF3eN
!'1#%0j!!dBBZ9+@eX2@r#iDK$@FX!b1R'%4CbD%1bpSM#-j`3"G+&+(qBk8"FCJ
(-NkaMmQU*3Z9#%%3j-'0EDM$r1$J5)VqMj5Jr#JGh["%1VJJ18RBcN[V)%Fjd*'
&i`[Mr1Th[rcYVhrr#q!!#iM"4KDbPTC-DKV@-$iS1"+1E&!L8Kf),8-QkkDP*1!
+H5U''Ljd@8qF)JVKS%%ZPT+R&3f$'FUJa"+#9C)JD%-+CjL'-%6bMQ`)``"GS"S
2m-`"`a52LkS4f@f8Ff8T#LJ`CaHqmF'U1ZeE(eSdUjX!@1)+iY1L&Z%!Kc$#mDR
qqqX8QH#%-Ya"V$H8h`ZPiiC%qM#'FQ#P(+6BdbNfdAridepK`kJ(&qibUMeFUbc
("8Z&$T&qpNXZE+1D4kU1lj3X9'J5R0U%1F35SYG*j%p"80#$XM#KFm$I!&@ThH@
QSERElH"BPIT#-V`"J@i`+(C*+%G8@Y!004cJZ+C)KM3FF&Q5a'e5Mj@XCI9e@h6
SUlM#@L`LZ$!-6c#$'HC`4Nb'X--ICX)R'hT&L**4$K6&i"cU`0ShN!#BLc[&iIL
m'1!$FV'YePeUGThkA$a19D0h51f!D4P,m+Cb[q29AhR2Hb[eUXB-200!C$hJSN4
%0K)ZXNGNqq'LI``c!!3SV3(1[)$50Z$-'#JYPq%8!"18PK"RCX4PTmBqc2CQ!Cd
&`46`ae8jK(C(T(fI'!+0am1f)Di)IH&BG4XG%2V@Jh5SJiLRH)B,LL'46`3P6j&
+BKBr0+)`AQpR$bKF[XT4bIZp,P2V#e8Mka'$pp,J&(-meaU19F&X)1Zbc,TM8I[
4V`6ZYB64QP-Ij[MAha)f(BLp4%IkF3`YG-0m1jM$kUD3!!a+6()DX#e,Q5)`MY1
aiUe!)0%!qK#U0X!"$1EGJNrI1,#+432qV'0LZli`9N,N+Q"cV+[UA2'J345$60N
Y"hIr8)[MqL&5IGL'I1pl$ScP-f`#F"VE&B3DmdaHm'a(1f%B,q4ED8!Rq$b!3rG
Ci`$)4"!mQ)BfY,D6Mfa$*#HC@+b#@Rc6qDK`JpcI)5ZheP+ppIKbA)CFrV!1NVi
KX+90l9'QeBG$Kc*jc4[B+ZY+PL&0`iA'fZKNYD'A#IQPLqB3f6hXZAXAU)F0''5
%0l4"$rH!K*E`%)iM6#!BR@+0D*Z5k0jFmj[hC'Fl4c#UaM[qm8"Y!K5H)!94ZBS
jcQQIpU*#V#P-H`aV!)%4@Mbq@41jIjT(Pa+BJ)3YRKAbMLp#&+VJH"c!([E%DRd
)cjTMrY,[`m*H*"Q`YhNI-#I&+ljpFQ42qmDch[9P@!%0F&qX6jiK["dN`iH*Mbl
MHhMD)4la'@r2I-FIIpSUGX-+C!"jBQP(r*,QUIDRcAe3!5!)60L`mQ-rHr0r(m5
EGNEVehM%-RA[C8V@TQpdN!"kp[F$6)"KqpGijHGm'bCpbNFX$aCrp(0&6S3r$1J
AUdGK$"@"%cJU$iJY&RKla")$28"L&8C'i!B#-0!$!IC#,SJY"&4rIK%&6'!VkI9
eqeH#bF%%)VJX!pKq-YJ$8CCK)-##4-#"5L3$2B!%D4"'C+4%-p!$3e"#*2D")m%
%AY9LJkB(id0qrHGm2SJVZV*q,@"l"!J#M-GY*F9"fd&6T2GLFk#$!)!F%3Kj3L!
&3H!#NT-F3!!$ICJFa2**,lC%%P8'HLJ"a2*")A4"A!4dp@0SRS)ZI(L)M8F%3q!
#9p"iKXL*a')'LA8'8h3(`UH(dmH*RIL*3Y"ic04!&lK#H4"$HJJ%V[L+S#L+VNJ
XQ'F%C!9""M4I58!%HRJ$ZcJURYL,Sc++KdJXJ`4MZq5&)P#)bmJ%[E)%M4F%0X!
#)`!$H[J$bjJF6I!%9P!%cYL$APF'+1#0+F!#4$#+a+)V86Fqk+@'M[JEQlG'bcJ
%NZH-F-J'5cKPmLL1MR%ZpUF%j3J#3Z!%kML))!!%-8#+)&#$SDCF*(4IcJ99qCK
)HXL0jAL1kHJ#6*!!(1()!LHi,1pS!bP!,+05MiKd46QeG#d8G3!(F%hh53f3!*!
!Yi-Z(d#4beJ&6X!%)TNFhZL&M&H15L"jMYF%Vm*!ASJ"$9Pj8k#(lH+6Qr8L-6)
M05)%*`-!JlFpjQ4i2i00rK4bP""S++4#CR"&C`"4S,44-`P#C)4!"rKU+aCV3YC
84qFrYZCG+f48H-P6[DC3%'L(TlD)1CCAHr8rL69!Q)4$#pGZLd3rrc9&'#P!Bf"
!'DGf+A)&NF8&,V)9$1!D!i@DTiNmCF!-A$!#VF%)!#!##G'6--F&-aGI0TFX2J4
"E!"ec`9`19BrBj!!@,Kf3iSS"k+%8aSi9$lN9A-!9XS4M0#4BcQN5UcN5UG85fJ
(QVd""*&P"'r(-eM3H+9b+UQb+Ud#PET&+fQB5,cL+m!L,095K0RL,0!L,G3#!PB
3"&*3,"L'("M@,Gm5,Yp5,LEbNrDR6!EK&cf`H8HjM'c`Iq&(BN`iSFM(5b$3+lm
5,-05,,T("XQ#(,S9SXRbNPkBP6#A#Z%$F!I%3rG'R-ECNIl6B,Kb@,Yf3p!TR5K
NFe8S8G9!89"RGmie"Qrd"R#3!!IHYKeMPB(80RpK3#a$GC&PS&E2&JCF*8XBK*%
j*PJ04N1U0(91@NYR4912C&IqmeBqj8Xm)`U4G3SZ8J2iN3$e%!6,F!2'3#MP%!)
2-!)K%`2cm!!4dJ4RFJ@$mJ"AF!3Rm!0Rm!"6B!)j)!pI8JSam!"$N!!&J0%pD&%
09f"8qe0,3Y5AY!DB5HGGFK9(eaP%4N9ZQA4!Gd#*e98'H!"F'U4YRA4L!"G%(&8
'#F9#e6@F2!99363&,Q4!fPG$qI0&2T8F9f"J3@5&G("@BU!r2l3G039*NN4*2[G
eCr#EVNDYF13r1qNrUHT"HM8qC["399K$XNUVRc4I1r8'M+@9ilQ92eN&YC-$!(!
!q`S!A"!!l,!NS!!!JM#`M'#`S3!!PK!3"H!66j!!X*S!!!J`(lq6%!1,#3B"&Ic
+Vrr+$L`JXE44!&43FpB4%K5J'KL`!Jl3!3SJ(@0`9h1!"Jd`X*N!X4,l$qiJ%P&
JX3#!#5U!!4+L,'L3!$r5f9l@3E-$H`N*Zl!'d,!*)3!2#`!4L`!0)4*X`,1BS"S
5X!,am!%E3!3l@8,!"3*8),4%5f"63'1M*!GdJ,3!F!RmUK-#!!)pNcdp%`$C-,#
0J,!+bl!1Dl08q`iLX3&BUaS`J!)!F!-")!X"!!pZUl4pfl4r+l8hk`mL`4SAUaS
*N!!#)K!!U2#iHKZk!#![h6%%1(1kU*Zk1B-p$,!MAU#kX"ZlXMZl,i-pi@%5C@!
0S!#E$1!+XbN5X`%!V3N(X*N"p*!!%DTJ%+lK'QA!$IJ!Q`'!"Df4[1iM2@@3!!h
8!,e$33,81aN3!"J"-!%68"$L@a#VQCVQUjUZ)3!-)!JUiVlS'lrRq`"+JEiYa`#
$S,j%X3!,8"$m5a5VHEmkNli%(!$d5m!#d!#&8-$c@lqVbEk%8-!(E-!1[,i-S"V
SZaAr'`!Eh-(pbm%Il-(q'm)N2-)Q$-)R,-)S[-)Uh-)Pc-,pDjVVqfB5A-'f85)
&,-)bV#)Bh-!)M,m-(,cb+m6RZjSSGm4)R-4+[-4-h%jPd!e3%!)(S4'dZ4HV)"*
2$!BIJ3&N%!"#)"+!-8e26!4db`#B`3"6B$YP),cC!!p52!#k-*ZYS"2MZmCPS!e
[&"!8!3*cl$ji),c-3!k`13"8d"UVB$X4A!EE`!Z`53#+m,XSNXKjZ`)JF5*!F-M
Z3aAA#`1$M!k'E$ZF!-Jid-LX!-PT!3#KI,hi3-N$F,adJ-QZ33YXM!#$r"&D!-X
!!!b!6!Z0l-N-J-[-`-Did-M(qmX'S46B`-D`!*Y15`'XS"1ZF3jX$!l-M"E'$!!
a!!$c),cD!!(-$!)"!!A#dlU3!0'Da$$)h2$*@`%$E)`-X%N"0M#E3@!3#a!!l(c
(L%#h!S!*!1!&mr`L!E!$h%`#L#X!8J!!4[$2"F%PeiX+X'N!XM#EX"`!$+d02$$
)d)c**K!!"ed'cX!0X(N!J"!!,M$1!I$(VHR1%ZZlepbkLG`-SbbaFAc0$c!9`SX
0+Sd!aN!Ecd`IRb#m-1$3%UX0kMc29e`'f$$-%QX11Q(5l-$'4!#E#Q!1kYbkq!$
8L#$9EN(6!S!3C3!$Q#$9PQX"2EdLGG`-F2JLeSc*-#!!(`$8br`Li-`'X!be3+h
8"J!1Rr`2T5!!@b#mh%!0qJ`R2Dd8"G'mp%$*!-[6d!`!0GfD'-#l9(h0'3!!'a!
!VCR@$1!@X$$1!%!$Q-d-+2$3)(I0#3%%Q,d0l!#E$C!!cL,`crf,fUh*!`9Y!J$
!!V!0!%X3fT4!Y`eJZ5k3!0Y@N!$D5L5@(dX#Z4d'U3d1G1X!8!!!9*!!ff`3fSB
SPU3`%VPp"k%0"Xhpe%L3!0Z#J0RDB(Z163-!`!5jh3LBR3d!3,F2!!J!S!5jME&
)c3VZh4(46Fm!-!VLc3&d#`'1KC[kl3UBh3fFm0pk!!#!U0qj81#Jm0r"6!5j63b
BM3hX3,F4!"JFN!$Ecl$HM)$K(b[KqUd0khhJ!"!"&1%$Z9d1"8i)'1klmUhIm&$
JQ)$K9bd%ZEd2"Bi+G#X"1R$EX"d!"L$H$0$M@"EM!,dNemX,23i,RahN("$D`0$
Mj!$G3Ai#"@lIiS%$!0#Ip"`!-S$CcJ!2G$X"MJ!!+K$N25$Ha6d"Z!!!`IhP5,$
HT&$Q92hDAjl'CG!-0)#i"1!-B+(3!H!&Q-d0M,b[$L$4bM[Sk`d0X#N!pU$18U%
'Q0d-88dEdUX+*Md)"8i*lk`#kPc6Mb$H"%$*&)!@cJc0!H!*"Fi(lcbaep`!!C!
![0F,$,"C!H`X"m*6%,G3i!6`d&3K!K2Gkkhj[#IK&pGFcm1`hVaF&VlV"N'3!"$
el!`9[VZJ`J&G,ZMCN!$Df4X36bhXLllY5!d&d%X5P"d!,2l%@3dUIT!!bbEY$`8
1#+apaTMm!!+J!+'0#j6F!,lV!@8Y!&*a[GM!fU+JcL3J!#8JhQ3!QaI`aq"3edP
3i*!!%0*d808#J+p2c!M3bmkQ,3$+rF4i%0,X,1c3l2%&6JH+,CXDX!SPh`B&6Va
4B3S!i!3Xrl4j81"X%0)($HkY)3!hhlc)S0JbE`4Ah21&81N33-NAi!-!J!1BA"#
JrKX"`23*-E%&8FJ*J4!&J3JLSI8#8-8(N4!$N!$SBLrf"rfdXT(1hj%3&@$EDem
@"EmZ&L!(`*X3&f!(2T%3'##pkb)#hK!!dU!%!!!&e!!!!:
---