From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 109 invoked from network); 27 Mar 1997 17:14:56 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by coral.primenet.com.au with SMTP; 27 Mar 1997 17:14:56 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id LAA08286; Thu, 27 Mar 1997 11:51:45 -0500 (EST) Resent-Date: Thu, 27 Mar 1997 11:51:45 -0500 (EST) Date: Thu, 27 Mar 1997 16:54:30 GMT From: Zefram Message-Id: <25049.199703271654@stone.dcs.warwick.ac.uk> Subject: sched as a module X-Patch: 234 Resent-Message-ID: <"_WK8Z2.0.P12.XMgEp"@euclid> To: zsh-workers@math.gatech.edu Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3037 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu -----BEGIN PGP SIGNED MESSAGE----- This patch moves the sched builtin into a new module. The interesting part of this is that this entails the creation of another hook for module functions: a list of functions to be called by preprompt(). A couple of features are also added to the linked list code, to make it easy for code to insert a node into a list and later remove the same node. I put the module into Src/Modules/. If we are to have a Src/Builtins/ directory, it is trivial to move. Also, for the record, the code of the bin_sched() function is not changed at all by this patch. (Moving it takes up about a third of the size of the patch.) -zefram begin 644 sched_module.gz M'XL("`/2.3,"`W-C:&5D7VUO9'5L90#5/&MWVS:RYWYT?P7L-(DHT+*HEVVY MR3V)X[3>Z]>-G;W=[N[)4A1DL:%(+1^VY=3__7@[<`F"G[_3Z[=WOZN4/?F=.<]]VG`ZC!L0D&[H,GK>_8VPBPJQV-19L M*((T\L9NS$ZC818(R^P4=^YD&HBJKI$?B"3OX$5'XHW%L&I$DKII5?M]Z04B M'%*/1=/0\Y]$PT_TQFJ&=8!A3HEAE0-RICF=:J;9BF&;+!5W?A@-Q>)<%^92 MQ:D:T*">$YQ5(KRT@FV,>7XX%'8R^.2%/9:[$)C0*@ MSX`BB29$1CATXR'SH@F,'2;,O7']P!T`F)NP0>8'@"KI2PV`V9'TOSX[4X3_ M"=-#X>T,QCJA>:$UCB=F[DL&\S.!%=BZH3UD&)>[R@KOEI<4U_ZAYCG\%HZ)0 M:$YI/MK%J`8#Y@C`Y8_NH:N&OV(QJMTG8\U>R_H;]8<$@+-"@,NQ"`+V5B$^ M5`*2L`WXAZ\285H[9NG8#S^S6R!_'&7!$.B\`;+SZ0PC+T-(T(HH9&-`WEA< M^\BPQRS]>?A\Y3?W'K7R%P1E&*NO".1Z?N"G,W;KX\J0*P$7$ZX:RZ"4&$Z$OIGG+?/#5,2`"203$89<0,DL M@?',\64NCV[Y^2R#[T@&PHD MK*8M1#X[4##KOY8`J5FN`M%!!@#P2@#M5I9B4+9J:?^])@"G>1E[.TH9&EZQ M,'JLN=^''V9QU`^P-9([93EW+M*Q47QLI)91?(;TC+(&'U'1A"H^@)U!A^#_Q0<"L\?^<`>7/1L%$<3;-=T*.8U)-OH MA2-62]B+%S3;5^SE]DN+N+"1A#![-XU\Z.;,L11-&SA@,PD5%**XOW7C$%A< MVR+\6S;;RA+W&M9M%..:%ZGHJZ6Z_0.2]>QU`X#./IZSM'3=TP26"M@M1HX8^U_3H4=ZD<(LF1 MDX2NE;,,HU0:9]#.&5B3-/9%LM[,\.WRM9(&^4S]]\DH%J)&C3`5B>5>MP&5 M_KV(1O/LL'(!J9R@U9$.LM%?.\V_Z]=*6:'2.`O2(*8?%*T%PSDW6)SS`E=9SCQ82J]@G8'_ MP>;:B[3@ZWT:CZ@1B;$A&@>A/'?9\P%[+MCSS_WGI_WGER"0=%*,F<:PQD:U MK>?M(7N>P,_?PBVDQ&8229GO#Y4<92)(A.0)V0I35X2\+%J+32V-PTAY%.['`^.E&DB)?!VU`<31G%GV`#A$')`5Q?^*' MZ#JBT2@1:6X'F9?%,0(K9.>A)Z>$8QC.28Y#-&$V&8@X86,77CX0L&I`9V/7 M2P6D.PB*XW!Z(+T;$9/5M:D1R,O025XC&D4!4)?XX/IGS!T.T7M%%?1(2>,B MN8?EG4:!M+TV>P&KU&D6M@G8M@ELZ[]<;:`&KG23N5#C]:S39!T*?I]7HPV@ M)8VP%KQ[S.JLW6LVX1%\*NO-KT*M-M)+Q@(Y#>:-HXQ@U251@'I`I(#&#,', M33+0GD*J9!$;B.5J#&/Q)V2F#DD9VRR:8K@-8?`,FH(@N@4Q#D">Z-Y1Z2'L MBK74R3G_PWW)P"K^8_J2U=`\NHU)`QNF\!?SY$.PHZA/H&3N*"6[(8Q!B,?% M"5V'42R&E>KQQU0-%4\@'3";XLL;\\O4_'+Q\M^A3M2^Q)^D;!M`)^!\)I\@ M<86IJ2^@!:1W10L9"ZF5YJ1?R4G]]IN.I6!2FK(QX^`86^I-\%RIUH4>&X$< M31NT0\`61!,5$S=>-/7A0.:U:?`=O!**$IFLT`HF:!YP&G2(\$C"D0ML!7 MX"U#WR7@+3>1/P1E130`:[%/M1HV692`J3T.2-?@U[[,=76*>!U$`S=(&N/% M%+'5@A2QT\Q3Q`I02A%;>_U.]99GJ]FS6XYC;+100WZV@`PY^OGJZ,,9.P&- M.L'0%((U,+C>9R*<([_(/5,JAW8Z01U$E=$+1T6Y:*E1-:<0$DPIPN4X?A[] M-!828A0F!PA"(DFCU`W8,]1BKS#>MZZ?$MH(W@7R=*6M-LG&O,X/@68/U+,Z M2V[;[69+Y\B8!--^*"@UH$XD/@-AGF="7#&&WZ1-,GN6"T]&2#+>_#4:)&PJ MPB%2*9<:_"MC*B6G2K/5*S5.C%`#TJYD)]B)=QCXRS2"U9YD@R3U4[D=I2B5 MNK1+DRII$EB1<8I[?*:"M)C3Z;?5MEV[T*5*8+GAT.YW>Y6L;+>`E:U]<[OA MBW056RB;*`QFX#S>'I^]_W3UEXNC\XNK2_:;_'[ZYL?CPZ/__?CF)&^ZN+PX M.CQ^`Z-I2[04\5;#_;"6W$:6P2-2/`; M?9$_6\/1TH%H&C2Q94H&,)?/--ZA_D\?CJX^?CC37A%_`[[M$C[M3A4=]-6< M2FEHF128=#4=<]Q8C0)"*./U]#T?C'.X/+H"<:S&,O9'RTC!KJ7$H$I)U=@K M*R2D+&G5UI>T:[U<%^?AI%';[W?WJ[=$>SV[LYNO:#6->Y@R^"'T26D\S*:U MK2VRO;K/#]%?.0?FC@VNQ=P[Y9BF4S#EZ)QP#\IBUR+%EEJ.;3)#@%*_[)8; MM$BST[:[YI9NM].B!FV2&?H@-``)1M)$LFP=8CX)AAG:(![`"`"- M44&7-MR+_5S.R["\RW",P>+@[@W^C0W6T)8S@Y8%)!W%T1.1POX7V&G%N#UV4)[ M#X94Z\>>W=LU[/UQF(@8$G&&IR^8@[AF^*0R!#??P`$8[6-H[W.3?#OM^"(> M'$K'.+E'0RPV.;@S'(R=MHP'ZD,WQ?WP+X`$/SE,.ID:"@??4![0H7>K-I4: MZ!;4-CW88N5P#49;BR.V7Y-7D6BKNH$TZ(7?59WJG8I,O:>`;P)@"/2G)?2: M:@F)R2-"(5N6@#UH]A:R(5&@;$*YTY/ODN&:VK/W\I#E*02J6?GD0K5Q53U6 MLACO/KC-Y\-*,?M6ZT MO9U$D`5"5C(R0\+F;A\M;F^C9&HK0,D3`_023]QJV:U=([F`K[D?4P=R_0UU M;KVC3^@BZ*2CN/Y&WB>/YK#'`Z`=R$;"?#DTXXXT[<;A%E(5#M0<1 MX#9'HZ02M0`C8#KL(9]DAMG6`2X,1A#(?P((0HOX4JO7:VK;J&YL&%F@]^#$ M78*K60=SO-+6ZZ["7+=9R^GC#UKVO=Q^W2VU['O]5KLZU8=TKEM8=OR:U^S^D,Z_EGYSP^V1L[CFTL=8/?MJ8%':=G.@Y,!GS]_KM M)9ZHV[1;NJJ$D8R'8J0-:>B"(D#Z!+(^4X\'BU"J8`HU0KH2:17GP?(5S^J7 MZK$"&:B`)Q(\:JQ?R,<*H%^C@3Z*_%,TJ`"X<8-,2(`_XZ/,,>5DN\MSS-:^ M8[?V>V9]59,:BACZU/7BB$X12[6>%)J1]4[RH/D95KF$`C>C\\#K9_LOUGSL M_+-=^]F200ST@OCUP&QA9+9Z:/%.`>MH!GW$@QH!R6/55S(W-6%#B!1RW;^T6=C49R\>'X[.K3__UT='9X].G/1Q_>GE\>;=2< M'W[H6,N@+H]/+TXD4'#B0V_G2+'[ULR.U?IXY>I\5;&,:1X%..%'>>_N= M\FZ6#B]/W<]4]=7PPZ(ZGYNX\G1Y<&JD1C M2C2B1.%)D/^S=T<71 MV3LPYL<@C/?G']CQV>45S/#X[$<#;,5EB-5W(4S+(@GSYJY"=/#$9\VK$"VG MHR]#[-0QKZNS[X^'W].3_*K>P;;7J1PUQE'=!Q5LPU](Y>CD[![/:/#8ZY>B MF%H/.(RFL]B_'J>LYEE(?FL;Y\`NW"Q@[]T`.#Z4D&^"@!%D@E5!(KX!`@U$ M%R*>^$F"QV;P:BQ?&R&5&2$12011/JWL9^FX%O<:TAZJ-8)_9'JE8@" MWQ,0JV#E2!S-W""=L9'`&S+@C[)$V,")ZB/9K)\:>AC;C:@ZAA@@&)A M-$IOL>A$>3P#B,9B0<*-B!-R352!A85->A`5N80SB6J:Q=,(7ZU*UU6*0S5; M6`Q')$DNAE$*]!M%55A=@Y4TA`B+XC#!!KY,QR#*Z52``N%F$C`7D&"MVCPI M)I./J=Y1W%!UVQ@'F7)"EI&8DS'XW1L11%-B\8]QE$TIE_+Q_%&1$N'\2$=F MLKS5C\$481&Q?J+"#3?`)@]F':;X#)!@;1/QSPP:H%=B&[H3]QJ+W&(_P:`6 M9:VJVK)$++*7ZO1!DTH77&R)"Z>'.WFEJ6F&5L^M*(%RAS=^`@**1FJ:>#X> M@5X.Y,4"/$C.((66!)<4>/W7J8H6CZH60*\H\2W4!6:(>N\+*LG&HO4\T\4Z MQ\"?^"G5S$N)MMRL51LBVY[)')!5?%"(EK!?]#,:!#XU_*. M".B7>BEN,8$5"-W0$TK$23:=1C&H6#:%Q!OY),(Q]JLR7LR1:(UZA"PQY*2* M')ZIVP!LBT*"K5)3[K^W)/#2T)IZU\DV97*]$(/S53$X7S,&Y^O&X!QC<#VA MKY=&<":)!A9Z*TLC%$H:@K<.^+?>.N`Y2RIN'?"Y6P=\_M8!K[IUP->^=>N`/]&M`SY?,\AQ8Y`_Q:T#_@VW#GCY MU@'_%VX=+)W9LMU67G7K@*]YZT`*J*ABXVK7TU2F1]\ZX'.W#OC"K0/YVG_E MU@&OO'7`E]\ZX-]PZX`_^M:!%M8"1ZMN'?!'W3K@C[MUP+_MU@$W;QU4:<-3 MW3K@C[MUP*MO'?`GN'7`G^;6`7^:6P?\T;<.^.I;![RBM)Q_:ZWV4NLT68>" MW^?5Z]PZX.5;!_Q);AWPI[MUP)_HU@%?O'7`E]\Z^`.IQK?>.OB]U8G:E_B3 M;[UUP%??.N!SMP[X\EL'_*EN'?"Y6P>\^M8!K[YU4/B)I[UUP+]RZX!_TZT# M7G7K@*]UZX`ON77`G_K6`5]RZX#/W3K@VCNO*"XXD)7TM!VA"^R5>U.NVG`E M15Y$=1E:9>Q@1Y-:4%\#=U!W_].R)1-']Y M3$T[?&4/=FE#0&?O[.WY^17^7S<&491*'%;M5/V?24Q]1