Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

sched as a module



-----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
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
M5O53@xxx@<+\^@9!.OND9DV<3CRI41.J`QAJU$2K=%.VF?0_`Y>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?&<S8=>R&5&2$12011/JWL9^FX%O<:TAZJ-8)_9'JE8@"
MWQ,0JV#E2!S-W""=L9'`&S+@C[)$V,")Z<S&)>B/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@xxxx,4"/$C.((66!)<4>/W7J8H6CZH60*\H\2W4!6:(>N\+*LG&HO4\T\4Z
MQ\"?^"G5S<E5B;5TJ(S%L)SZB8@AA@/V*.JI5-%/0\QS2$-)?CY6L,1:2U5A
MH6:UTF"MN+@P(;F&)!O$$>$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->^=<!+
MMPYH3D]XZX`OWCK@*VX=\*I;!T23>>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<GEO+S$@69A0ISWQFL[*D)(\A_!'%R9(35A%PY/G2POI[DKH(_I6Z
M"+Y0%P%D&!9F53T$7UT/P9?50_!'U$/PQ6((9;'TVGO0.3NEO^K4?_JI$*!1
M```XBO:#A:19'YJRT!@.8[X85=E@Q4WD>:9>Q@1Y-:4%\#=U!W_].R)1-']Y
M3$T[?&4/=FE#0&?O[.WY^17^7S<&491*'%;M5/V?24Q]1<T#NZ/__QTU,,V4
MYDO:<N;+K]:.^EI7WRVK*C@NG3N;91G`'I-YUHJU^\P?X6Z,/%A9F-WAR=&;
MLX\7.$$/0OXPFZZ:X_(U:&X1Z-6T*N/2^3H^?FO&21;7FG<0&43]:_-+[@9\
3J\Q6<1WWC4;?_3](6NMIA4T`````
`
end

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: ascii

iQCVAwUBMznTvXD/+HJTpU/hAQErwQP+ODpRG4CILHdpP8bCNN9PT+4FCK5h6I6i
ttQnoh71ynEN4bnDOQxhKvG+qo91Ntir/FPM0NcplDRA7mmysSPDkx11jKjrozuL
JtUnvhg8sTA6yD0tSYsH2jsvLnFa1bkMYT0BEStu1vYRnK/hr3KmGb0+5tb4akBH
PD6tv3rtTFs=
=fDZ+
-----END PGP SIGNATURE-----



Messages sorted by: Reverse Date, Date, Thread, Author