From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20637 invoked from network); 28 Dec 1996 00:43:51 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by coral.primenet.com.au with SMTP; 28 Dec 1996 00:43:51 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id TAA01610; Fri, 27 Dec 1996 19:31:44 -0500 (EST) Resent-Date: Fri, 27 Dec 1996 19:31:44 -0500 (EST) From: Zoltan Hidvegi Message-Id: <199612272302.AAA01453@hzoli.ppp.cs.elte.hu> Subject: Option reorganisation, Part IV. To: zsh-workers@math.gatech.edu (Zsh hacking and development) Date: Sat, 28 Dec 1996 00:02:25 +0100 (MET) X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"yWdfS3.0.5P.mf6no"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2651 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Here is the next step in using hashtable for options. This depends on Zefram's previous rewite in article 2612. After this patch the optns array is no longer used. Loops over this array are replaced with scanhashtable and scanmatchtable calls. After this patch it'll be quite easy to add new options dynamically. This patch also decreases the memory used by zsh a little bit. Only init.c, main.c and options.c needs to be recompiled for this patch, so you can continue using your old modules. Zoltan begin 644 opt4.patch.gz M'XL(`*11Q#(``^T\:W?:2+*?F5_1]NZ,P8$$\"N)D^S!6+%98_`%G'&<9#(R M"*,Q2%Q))'$2[V^_5?V0^B5,)C.S>^Y9[ZQCJ:NJN^M=I98V-S=)/QH^"N>) M'P;QPV&A]N3)[J-:_5%]E]1VG^[4GE;W"EL/:_"_^@^52B4/>H_4ZT^WJT]W M=G_85'_PFFP]+N]L$WI)2)Q$BV%"@$K@SCSR!6[AS[$;3SKAR".!]RG9+Q0> M;=*_B!^0"0R1X<2%/S\5'`&\P\1 M-_8#CW3/!N^;_>-"H5@CSYX1Y_2\W1@X>*ND09V84" MYS<6`0KE"UP5&'J23N5.?33OR&+_3U<725%L M>B)IB$5!,M6P:8:D$W^N2MBL?V>W7-O;$N8O4^ET.S(A6`CYB?PKHZ_/"O"X M'1U8:+JZ<;[G0O73=E42K1^3R)MZ'UP0?!(2;[:8NG2`"EMAZYG3;#7:0."Q M3"">A(OI"#3X`VC(E4=B+R%7MYR05RPQ0O!?G`#AH6040D45)?>XEH\7TRE3 MDU3K%D'L7P?>B`$S?4?0V/.(>Q5^X*!W9`CNF*EQ_(:NO'7IO"//T\F^=,[; M[3*IWI7%C75W.O4^S<,H62^30D$=^>C>QE,W3N91.)M3`',\";U@9.+.YW![ MXL-P=&N.+I)PR)",^U/`L2+,O&!A'4!>C?PHM@[.W7/&7VXB\M@U>"0O&[V75N0.O>%P:FXD'GG#26A=E,+%X0@=W@?7(B/0Z-B; M^L&-96@:7H'S3W8MU_HMA/_@81J;TAF$4>4-3T?A],`IS M*)[\M@AN?$_2:GW7JO*D&-,PG,=6-N4@_.\B3-B>[D4(P%U<`Z=6(`]DW6EL M%_RE"@E<^.2;[/$^><,\M8*X"B;OC=+%5"V#*_-N/`T_@C=+HG":HP#C13!$ M3^I&UY^]"+1P-6U.EV8:S49S#`QQ.79]]&/VI4&<+!!L%7F?&5M7&4U]B1P=N@:<;+>;F9K/A>.XR MEZ,/!R$JA,E`'$.J0^]JZE+O8`Q#V/7'9G"9+.:KJ#A;%_5M=M.T0'OAV)@. M\D8/B"3^!R\EPQ,&.Q3H#(2RQ&K=AK;>Q!#Q(_?6OD0;.$LOYA',:,4Y4?9% MM6-VY5\OPH4IO^ERZ>-P9>0U2C'DZ8ESKL0[H2!7YP;4&-;JP)!*85'>)T"$1A+W; MMZXJ8Q#.W&0XR?,)AIR#,!&J;Y%+7DA00&9@/4/JC7CN)^\-LIH([,^_,;<- MJDP+TM@ MP_D.5]5`FNFI_JRJ#\_\P&(I="B&U09FT*1C23@)+;E@-(3DVPU&-!&UC&:) M@#80YPD?TA?ODVM);:(9F'HDK=$JDW@R!@BZJ!CL=B4YQA,UJ-X##.J1C/Q@ MB5"%%P.[`[>YFC(!3I2HB9;*F'B"F6`\G_IV53`I@J^84G?M8H63NU@*!BFL M]WF:A0!5L6+(ZKS;J]"-1A-W>*,K%M1W7I+#O_ZQHVP#+/,JC$U-^I1$KLCJ MY?MB4=KJLQX&U)%=5I)R=F,QB1V=W6JY]F1'M'3^\G*]6'OV;*?T704[DM@M M?7/)KO9$6HT^);2GK<4-1$F*EZ42'%MK0C_5E[0 M*AXXD6ZC5+)U"T3EKK;.]-Z!N&&TP[*N%NT/L,Z`Z`CP;H#<`BA0+%(%;2\0 M$)5S<=;M#:@Z9=!&6T#"^+GQNM]N]`=GO>[IF0V1]PNTB1!MT'4ZARJ&VD50 M<<[.`/RX!6B]URH6[RZHX.>#;O/0@&/=!@.R#60-6-:`,&!/G@YI]U7CGT6T0-@[:SJN&IHMR2T:%/V[TG7:K*-S(TT!7J/M#!SJ=IV^%2]MZ5CP6IV?N[U##8VW>M2] M='L]ISFP0=)JV08L\HD4WNP(6>1"39'`[W^>=TY:CLUC&8TBJX`U0NUN]ZQO M)Y-FC2N0^9_S[D!GM-Q5RM&VE`KB'(&4%0JBTY2#?$F18>I&6YTY[3LI['>` M^QE^V MNS\WNYU!KZMJE]'?NL^_O#SO-`^WCCH&?E8W*^Q&#&&L!@[KF!GPA]U!WX#E-5V^V[U,5]@_/]#\>]96LW`$ MO-QQ\_2P;V`H`5W',$*ZTGS+0<(\0_VD!<%I09/VA0[UM(T*ZBLDB&X'1? MJM!RIU&:CU<[N/Q6!W*A!GB!5TX>JM1^M%?`984,V"HDN)K]25W)G'VGI*`. M;O1ZC=<&`;5/:25R0KD'O^$"_-I9#]:ED-&ZEPH/J6F='K2.SKOG?0,KUT[: M-CN1&IT2BLBQ$67P^DR3K=K\S&$3VV&[VVRTV1YU&K0C6K`+N]T]:G6R]D"& M)'=)59YT.T>XVG^"3U1PS.9IAG3:.(*TE<9JPX\J755EJM-&"XJZ7J?5.=(P M1*]5`^^=&!Y4;;^J\%!T6<-(VI6U\^RTVVF!EU%11)MVJ?G##1"0NL"T;7M_ M\M_IGC8&S6,-/9$=E*R&G>Y`=U'+4C+! M6>.K1OOS9X%8WFJPGP`0S@>=[7:7FMV*SB] MIG-QUN@7W0;?0.CQO-$P6//P_( MRT?9,P%8RGFG[ZB;39\.*&H-/ON@VU?7)IX7*(`7@YZ>M+-=V[EVWM>WS,^7 MX1$S;#CO_]'];.E,IVAH0\Z2=K0?;9(;/$<*7AZM10I,:9J@;<]!3@S"856)3*#2L99>BT8,UC M]CW/^7:8^,\YDN(UX/W,#G9J&Y(][&KSV[?;K"G-D*R:-OD,U2[ M;+XW*61%(O:`U)B4F";!*JNP,")Z:^7L?HW>5P.X-%S'X4K6^2W3AU6U)T_* M]:KQM.J;-P,IYXQ0Q_?OW)%-7/6=[7)]MRK$Q7%O*6G)]V6/]C0!W?S.[52- MC53UM>,=%$)];[= M?^>L^Q#Z(^*.1N*E@??%HLRX,K*K5-K7$(:1YR9>>OI^2O%P1`'MX[Z:(0'_;D8RG)*GA&$NY]D607[#/94QGKZRB6A)C'850,0)PT>+8N MG7VPCV"?(+5"MM\B>S8;O'N(5V42&/BQ_]D+QT6F(*5'RN6;ZKO2/@DJ%2M= M!$@)9]=4]^@T=XH2\^U+-'0-+F>Z*S,EW7[E!2`C@XOI+=24PN:!@%L/K+"X+C=+V0=6?_SRGQN!%^R:8!U7C+5-G`$-Z%B"H+*8<)A^( M,XY/"%7'M)1(L7`G8NH4P!ZZO!,R>'#/B8JG&]"-P&[`;"I4+ MY`4IS!+.1)XG=I)+B78/.%1&Z4[Q2=QOP`U#I:@#6,QD%1%>)@QX<*,SHND6 M^5")?!YB;W]89-9+-L.@E*XMJ+R@>HH:MDASX,A+%E'`B=ZE.5X?8B24)NAC M(:=Q%U/Q9DG,':OJS4AZR(69,4ND(<5YG]DSOGERRS9D"5!98/PYC&Y(N$BH M)Z":0U:+-7*O.ZG6_K^[DW^#-^%7 M2U:K.A9VM63!O\/%:#HF*0-$>%+4'`5-!_:I4\""&/YX\`!/B!661D4!CW^D MCB6'/&0!WTM?]Y?4)M96LR:KA2AKG,A^U!_C'K)SNH#IU*)O4V*X_P8'S^K1WLB8N(@ M_+%2K\;Z;(PBFY/E(.0?8-WC\3IY"O\&ZW01!5R!3A'HU5>E%S!R0#;=U%VV M+3SE^/RYV)Z"_`N1]B3M%%%^LT38-" M>#X]WNHG2`99ZH^\R!ME!W*)3$RQFLQ"O#NH>QQ>/,33.7K5V$*A7QP+K',;`!&`&)4XK;'ZS!N))6\S"3F MY2IUGZ6LZH9+`"@3VC;&%HJ6``(*_+[R@_=LO)CV6E2/'*FX8?03TD M.R7%-;H][MUDQ.(:W2*NO<#3[*J(]4P4D(=NUZOE[9U=.0]=Q3@?4,AXZ`99 M;B?%T:KX+W-O9")Y.AJ3'TH;D6.__C/46^7>=: M6HV:F?0PQ9:@E\E]KL#Z08OJ=GFG5A=QNU#`/['WP@%[>I;Q`G[A3VX*-/Q$^\3LWCJ*C2S=DQ]:M2"_5:$5DN:NU MBJT&8MO>E=,M6>1W::^?JH>7EDY-#L7GBUF6 MCO4'R^QE]:SMLSV19Y*FTCM01+(]B'TJ.0[3X9R:R51;7G_DUTUI,);)*H73 M"D2UXJEPIU900B(ZUR&^0'*"P8EZN8B.9??&8\[?W\DWK6C3RS7&3HYCEFP2 MMZEKR:G6>+FF,REC[IW"$"7^M$:@+?[XEK[\)G7:^-N#._5:>6=K2TZ;#"/3 M;>G>:/6-/8/,P]DB.`@?QJ9A>+.8%Z6V`&B#%(++@A5L"<(_KL0'^T>0P/GL M93'C3JGD<#5D,6<4_(#F,&G7DFW*Z.-H/339?\8E$<.@P`FH/G`AB%ZS&!R_FWR;^K]SF>/)PHW]1[\G1G^^GV8_Y-O9WTFWI6R*VG MVW7[$0Y(0&JU]$S`#]D!!\P\F\>-7I^L_^WOOVP62\^_?KE[\^[79R_^\:_] MG]X&;Q/R]NW;C;?KZ\Q>JG>T^TSU`>;,-;DCQ6W;"0F[1;0O#]YUK)V+0.>R)@ZR4;!W1P MA*;@6R4[.W2$2T%_NV3ES5*VV.UG=Z=2\^LU"[476)6*?:I1>`M<^U2C>W!")@/1J1DE>Q&_A MU166R`*.'W0OE;AY[F[!/G?Y!QJ%6YJY?B!_O7,'O_59!;^T8WSK4P?=0\=4 MVWI:W