zsh-workers
 help / color / mirror / code / Atom feed
* Re: WORDCHARS, etc.
@ 1999-06-14  9:19 Sven Wischnowsky
  1999-06-14 14:42 ` Peter Stephenson
  0 siblings, 1 reply; 8+ messages in thread
From: Sven Wischnowsky @ 1999-06-14  9:19 UTC (permalink / raw)
  To: zsh-workers


Peter Stephenson wrote:

> OK, here's an attempt at passing arguments to widgets.  I've used
> Wayne's suggestions (incompatible with what was previously implemented),

Oh, damn. I was too slow.

I've prepared a patch for this argument-passing thing, too. I haven't
tried, but I'm sure this will clash with Peter's patch. So I'll just
explain what it does and append it below if some of you want to try
it. Those parts that are considered good things can then be merged
with Peter's.
All this was only considered as an example anyway.

- The zle functions (the C-functions) have been changed to get an
  `char **args' argument and to return an integer. The return value is 
  currently only used to signal some kind of error condition. Of
  course, it is also returned when invokiing widgets via `zle'.
- I've taken {vi-,}history-search-{for,back}ward as examples that use
  the arguments -- they all accept one string which is then searched.
- The read builtin uses `getkey()' when called from a zle widget and
  when reading from stdin.
- Another option for `zle': -R makes the command line be re-displayed.
  It gets an optional argument: a string to display in the status
  line.
- Finally, my suggestion for enhancing aliases. I've used a different
  option character for this and because I couldn't think of a good
  one, I've just taken `X':

    zle -X new-name old-name numeric args...

  Without `numeric' and `args', this is like `-A' only with the
  arguments the other way round (I'm always confused by the order of
  the arguments to `-A'). If they are given, `numeric' gives the value 
  to set the numeric argument to -- if this is the empty string, the
  numeric argument is not changed. Well, and the `args' give the
  strings that are passed to the widget functions. All of these
  arguments are expanded (using singsub()) with the special widget
  parameters in place.


Putting everything together, one could do:

  zle -X search-foo vi-history-search-backward '' foo

to search the last foo (not that useful, I admit)

  zle -X correct _complete_expand-or-complete '' _approximate

a bit more intersting...

  zle -N isearch isearch

  isearch() {
    local key
  
    zle down-history
    zle vi-history-search-backward '' "$searchstr" || zle up-history
    zle -R "find: ${searchstr}_"
    read -k key
    while [[ '#key' -ne 10 ]]; do
      if [[ '#key' -eq 8 || '#key' -eq 127 ]]; then
        searchstr="$searchstr[1,-2]"
        while zle vi-history-search-forward '' "$searchstr"; do ; done
      else
        searchstr="$searchstr$key"
        zle down-history
        zle vi-history-search-backward '' "$searchstr" || zle up-history
      fi
      zle -R "find: ${searchstr}_"
      read -k key
    done
  }

which isn't really good, but shows some of the features...


Currently I like to think about changing the zle code to offer a
(relatively) small and clean set of generic functions that get options 
and arguments (even with a builtin option-parsing mechanism in the
same way as we do it already for builtins). For example, we could have 
a widget `complete' that accepts some options which say if
menucompletion should be used, expansion, listing, and so on. It would 
also accept optional arguments. Without arguments it uses the builtin
completion code and with arguments it takes the first one as the name
of a shell function which is then invoked the way we invoke completion 
widgets. And voila, we could get rid of the (notion of) completion
widgets. The builtin completion widgets we have now would then be
builtin aliases for `complete' with the appropriate options.

Of course, that would be quite a bit of work: find out which functions 
should be offered, with which options and arguments, changing all the
zle functions, adding support for builtin aliases, etc. But I think
shell function widgets would be much more interesting then.


Bye
 Sven

begin 600 patch-zle.gz
M'XL("/B_9#<"`W!A=&-H+7IL90#L/?USVS:R/]-_!>+.)&1$I:*^;,5U6S=V
M6E_]D4F<:]_E^CPT!5D<4Z1"4G:<-O_[VUT`)/@ER8[3WMV[S%@2`7"QV%TL
M=A<+9.Q/)JR]8.V81<G7_PCXUV,>I)$W=>-G'GL3>^6RC7:[7=/4.(Y"]K=%
MR)P^<SK/>\[S?H\YH]%HH]5JU<$IO]!]WAF*%[[_GK5[/7N;M>CS^^\W6)*Z
MJ>^Q7_SQ)4_9S3G`X2D7H'8VV`;[^NG3KS?:LMEUY(\WVEE?)CY;&RU9ZX?I
M1BNOQ`_V]*D;7R;6!OM]@^$_:,,\MLN@MRM^:W8LFXUYDD*)E]@LNH(?'9N%
M\/5QM@A21`&Q'H[L(6O!YQ9AC?\^28`39CZ*KJ`'8\+YW+1V-EI8'O-T$8<,
MJ@#&IVPDXPI7/@;\V32C(SWIG*""]7A0V[1$_6T808L^<1R(%+LAVB?,_,?1
M`9LL0B_UHS"Q&&#+-MKI[9R/^81(S\RGT,]AF+Z$5A8[-P4#<,BJ&=*WTDIR
M`ALR9'F\\%+9K<Z72>!>)CN&`3C13V8FG+,+'D0WA`T.8.#8SHBUX*L[I"$8
M^+;H`"#N$#``$+HSSJ*)ZB6-F.<&`8U)>P-'NU-Z(YER:*CH4'SS$_.BV1R&
M:\A!_`X_ZQ&(8O_2#]V@!@/]E7`QVS$D`HL9CT&,06#A%]"#?YC'/$D0B]);
M)-0[XC75/,$N+OUKCM_IE.=#H)<_,3?PW61'"B];H%@B/]I?`=_\D+-?#O=_
M/#@[/SPY,TSGFV\ZEAR)'("?()-X#&,*;ID_FP<<N^5CA%\&<O+B]/@5OH^0
M'`4IY#?`_=N`$QEAHB-V$KP.!`3Q_/C@Y.V+XU>$2E<!V#\]>7(&:%S#6,9N
M6H`3^$D5RO_LG?Q,('I6L>+H\.3@^/3O!U395_`!W,P-QSA6%P"&O`UL%(.<
M1=<TWDH71WMOSEZ<'C$UVD$9V,P%NL%?P@(W2;TH@)HXYEX*9"P#^_GPZ(A0
M&I;P_?G@X-6;MR]?'OY*U5M%BL0<T6/N>`R8)HO)Q/]0`7UR"F@>'^^=[`L\
MMTO\3:;1(ABS,$I!4H#/`MO9N`+H\(UBK@`TL@R"LTC<"V#M)(KK&8UBV"!K
MC(1M35EK+9,UYEAKR5H9R-[1X=Z;#$A7`J$I0R.*8$;%=>^7997UK/5EM54K
MJZQO%6L*PLH&UIV$M;5,6-G0NI.PMFJ%E6V5$"Y)*]NVUI#6UC)I92-K;6EM
M+9-61XG:.N)*ZV,Z]<-+GR=B053+%Y7>P@)0NZ*?3X'#FIF5%Y76=EE:L\#W
M:Q?XAO;%57ZK9SM=UL*O`2V2N?W1%B;48HYPHOA6F5!D.^6EC;93&(T7\P3,
M(S])>&K^=/CF[/#'D]/7!_MO7[V!];V=V42([&641H2QB1\HHS9KDV%E2T@6
M>_Q8@_4#"(YE"0OJ<Z$@VKE-9DB#S)'VV:>"F=8I&&E(0\<9VH,>:SG.R!YL
M-5$1D8GB>EH6ZQHI&GD)69\[&I&A0+R/J&=F9HA#:AO88I8;J*UB@8U#(CO+
M(,`103;P_6L_=L-+CK85^^,/]@A1`P4;W?"Q(!9VI`C6-G+R[$CC(R<AF$+P
M1QU"'R$VSX5'D9M&H0IIX#O:2S.-*0+E56R15+_VE]&]6MOL!X!VVU5Z3HIN
M^65ESI?+U7#PG]*4NRR'<^U/_#A)PRB\"-SPJNP6E*L5N$812[@;>]-:"9-5
M__$")DDOAGOA>E<W;CS6A:V^P0,('NJ#;J=C=SN@5;N=+;O;Z]9KA'%T$S;+
M9K7VKDQ3$/Z-V(8HUV@&O?@A=<-R#M35WTD_5%]7,[M:\\`Z`I;",&I4%'GW
M-:JB4OG_0.X*V@"LO*7:0M4_G"2ZGL?G9*R`6:T+N\Z7QD:U_/D)*M&HGW*B
M9V8CF>#L[Y+-/Q4MS/<+GZ=@)A>,)LMFCLW0/CI_"08;F&U6R4AJ&SE]-=IJ
MT:[Y(IF"R<7-B\4$F.5=V>QC&H,)AL&CLX-?SP`7RU)",HY"Q$S!H!<0&Z0^
M;W^+/S'^L9J83?1;2;*',5D?Q&+]0@9K'OLDB9Y'B<T2D.CS:2!_T+1K(Q-D
M6T$IJ@-G9J=,[/IE5"=[?8N5,MO6-8K4%NT\J)7(@19:V&PZE^6RE0U_$FM%
M<S%9*8KPN]0_8JYFT[C]@"HAK)THNG+()$IQG^V"3EW0PH":+BM^M*MXA<7`
M*%4`/Z%@YL976-01$*F(S[S9W%3,LYD0+LEZBUH+M?QQ$G.N-51-$'MT>DU9
M@!'O'54+1`P"E,U'OEAT$/P[6?F;E;5KM2R&@-0@U:N6U--9,VRD<$">HG[W
M3!T7'-'\MG%$._G4,@4,(6$@B\9T#H]0"`LCUJFV/$BX$(3/9H%<:#)&W(4%
MXM5F-HCZ!V*%`%9E1\LP-%Z(5LOX(<>[DB>PWE(0G.VR7)%(CLAFQ96#UJCZ
M=4DVO)GZ`0<N5U:S*?K[CNC^/+GRY^>T/:!6+QQTKDI?'I[LGYR2:D?BX3HC
M-A,>BZ4/:BRU!Q"%J1\N<#4UD/;:$J9D>\93%P,\/#:57BUP$94.=".EOJDU
M,,+*!++4B*#-,T""_B;)N!"V2FN$EMM'"++=#MDW4NJ88>`*!.0@>XW&`F5*
MQG<SR<^+,Y.O;6AZS=!6&D,RTOA4X&G=AI=3MW[7*M;&%44U^#=;4#[#)?WO
MDO+?)>6_2\J?O*3\RZXHIN8<:3)F/=1"LPS^?^;Z<\$O_3#TP\MH`HXK#*8^
M.K2D6;UW"6.?^.'X(@I,RU(1CHX4/M09,"0-:#D,AOC65,OE8:577/-JPVB:
M1M'D^E+@B7Y9-N;#=.[F]*[W^OWW9^3X>3A>SL_:!DLYR9&3J&Y1T4E^!D&1
MH02UCI6%BG696'BI@OQ2I(M$E[-8$GR-GOTPX7&*@<F;J&2.E:J:0RN2,KDE
M!18+1LO[W2XF&O4'31E39E5Y\VO20I:(!8**"K'SY*XAJMQ^^U9II%`&G`1`
MUE8-VLRQ)+X]A_`=;M?C"_J-.8A8"%#OCULB$4GYAY2UZ"?!>==]&K:[O\G&
MZ;)6SF\2X_X04]+ZVST-XW$D.&=F<6?-PJ3GI_B0N-=\9\5^1W_HX.YQJS\:
M->XBHY*//#>H$]]R7>.T^SB+QL_4@GI\NG]^_/;H3!"VM#PK$_Z[0A"3/4?L
MVYJ9K(PUD>@DGZK0_G>W`&?-?:#^-M"CQUJ#[A9^U](%HZ2T^ND$R0J;9Y.>
M=5@0O8ZU3+AJ@K*X;$]N5>:=)8VM(+#9\<'9'IDL)1L)UG#4>,T!WLU-2TZ6
M0:=G.]M`@CXEXRGA>RIL8O;DGYTG:M>#-CST1=$+P!4*1`S864-)*:I%,1_[
M:2U!957]V@9D]3W=$?0QSS/WK!9AXE^&?)R[C)I"F\H132^E-6,U>(G+N$,&
M-`&"-5"`E%8F$>:C\#6FRFPU$O\CI\ZPOH4D;&5J:M#MV[T^4'[8LWMBVAO8
M8%<,DA:L[$&;$9GL:>L"])T5ZSM5I)[]A-;P@&2"QS'MT>R6`_I+F"DH7,M.
M/YPOJIP4I<U,U%F8[RG=C16B%1(($,['N%,DDI2G>E+)2IU@<BW9S7!<3@(E
M2SH!5%FM:I"2"4BHZ2R:7Q7F*8EF;L\ENG567J<*'FW9[LH5)NV!>F+O;A%*
ME0*SY['G*7F$1:+;8:TA:(2N4(:&<$Y)E$ORL>[6F5PR_-"+*8O-#5;O130W
MKJ4I+)1R)[3MK&,K-?6R));5V'8%0HWXR-T;F7_F"Z]O'F$2,B5]]4$K`R^V
MMK?Q.\N-OHBY>Z5V2/V)B4ERX/2=3<V/Y\2@!/#DH25"/-FT%J5FYK_KA86=
M:*I%,Q00GE`_0H)*7>&\2>:!>ZMUE)7EW>1%]^GDVH<GL"=XP4$U$QYP#_/]
M9^[<],.L%9CZW[%-3'G<!"MBD\HWT7JV!$4Q@0YLK&UG&[\SBLI0A@]3#W3S
MR>GKX_-7KT^/7YV=OSI]8S-S[,>(D4/0)S=C`G[A70'H7C88/510/QBQ.>R&
MXVD4C#6J%<ISRA6+J]3+Y6!Y;WX([E((IJ>4X[J>RVUJL*@TN2=&U<WQ"D(U
M^^<E?&I:?`8ZM0C4=7GW3E9I,TVNP<`^SY6`F49S^M%JV0RW?FDC&&V=Y&*.
M41L02MQ\GKFI-Y7:>WLXQ+,X(\>1AW$:DACJN%G-8JAKM48:`R&R!1,,S)I1
M-\M8-;(`7TW8KI##H"B[?FJ"L30984FB26='#T&MC#HM)=J]:37JVUWD6K]C
MRRPTBO8]TB)UVH!M5O$!-!FZ$X$K8;VU*76W8-VU/^$@I/7I6X6J)3[EVI9Y
M-9:?QX`?-3BG.0'S`%'^F$4$[TJAFDA:DW?\G;0ZG[-BV$>$B*N!.N.!@F]T
ML`CC0NS:9T(UJ9-9HT'/'K&6T^G@=WXT"[6;4&ZP#$]$?,)JL$<^TTBHUZD/
M8N2L7!-P9T>,V%AED22@H=XEH)5_$XXQI9MW.MMXI`WH-]BV!YUZ?7SMK]Q)
M;6A2GBJ9<R"*LFW.*$&5<$T+2\*!6=+7:AD"0D0*4];3!@U4:<VE)VAD+=3N
M6KXG>NW'?,[=5-J[.IW+H`";,C!`H+Q%VM+F4`65;&:!TY3!P6A]VR@AHD^$
M93BNUE^K,ZB:VOR);&K_"_&I_1<QJO!ND3^%JM5KLXI-I-E\[@TQHNPX3B<[
M;)LI^6Q\]P]N?Z,'MS$;0?0*2A@=<L?I;F4>N6&(XT_/&789(ED36B\R-&S`
MFQ9^1^XUWVU_[XOMVR$;KI<RZ7HIG[*041[P*PF>]IAE95>$+0\#E2KU,-`R
MP(UA(7;P(8W=_*BN.!-W<<OVGKU^Q@[=,&J_#-#DX?$S0YU,ZFSUT6YWG($R
MW`&0U"?YIF!;X-A6ND4>7ZN):F2OK`ZS-#5=?X)X(BG!DP>]<2L";9@DBM%E
M\=71.S'0;1'2<)QAQW:<+-*<QVKOG;)3&DAS,FA#PWND\'S1-#A!K]$VG8YW
MG*TAJH',"%MSDUYLQ%.>Q0-/Z;O*.5LNTY(+)-*K!7I)D*ZAY9<19\?9EN(\
MVOJRXKPD%:VIY5\DT$OEV>D)EZ+K]`HAS;]2G.N/^V(,L73<5Q25C_N*TO6/
M^]:W+Q[W!<'"K6#\&LGE`"<&7:D!XT"JHFRUJ+@EI"TSE-XYZ(7\SD[>'AWA
MA1"M#?:5/\&K/%X>GIZ\/MC;+YPQ&'-PNSX"I5,>SP#J5SP$BHC-@#Y:.JU!
M7^U(&T86[5)45MR[`!_Y2CAC!O_`/4`'=8,L)R95BFU6=,F,J1N.`SZ/^<3_
MP!-3%.+E(3#YP#U%K\MF,_>*LV01<W)=Y=3TD_!)RI)HQF]`XX!;%P3\TI67
M?(CTKT*4^/%C=.V_S5U[]+-IS".'IO1@U%<2"@@@ZHN4,U>[,*"<]J&-[DP<
M)<??6?)'?;7-&C?(8N%+M@K/MC1;U.ZKNF9'4S4FPLTSVO8/W^S]<'2PK^;@
ML$-F[+`SDJ:&D4RCFUER:<*?T!<)[?BHQ\(F4^XUFS<8&:&N!$VLO$\SOPWB
M#_U.!Y'+MC8<Z<.S1GA_Z'<]J%0_(-6-RBZXD;#$EA?T]LB\44@6KS60.P3#
M+DZYUK`[4/K<*![V(\>&!"H#5!AA'DB*9G,I++O(GW96BO<AX<TQPD'XI+*0
M2+.VOUT\FX1Z8(1N,M+?RCRVC(957`1!"C"D`-(%&.8-`:".]3:J^VQ&BIA9
M@63Y/0Z6I5.'HD(WBMI&+)QUHBFH$;R]8-@'&T8C:DG.="V=A6=4<$>XR'C/
M4S+!C1;^(;6AP)<+T&1L=C*:K=,6"H)K>1;TV@W4JT=^>'6$(>2`TB5W28F2
MJC5J_'9#M0KY#6[?!I0@1[H.S*%L0Y=:V0Q/B:4QS'Q3DCET9Y9H+1=4J01:
MPKU;"H*:MEI6-NA/>10\3N=N[,X2+YJ+!`>9GGS%@?^BBJ@E7U`T@G&\>?GB
M7$B0DM=QE$Q)9^4XVRRPB2[D<3H9!DU-)>XJB4T3MQ+QY2.&&H+K.O2`J:H8
M%JFZ0>:2*+WVX6";[OG:ZMF#OA`]6%W$51^D*.G5@)8CJ8=JM[5%N.,31ET*
MRP%05-XI0[>+R!59O[ZL,.^4N@8F2T4HUP(53)$-HIN=@JLK@W"B#)]B.02B
M-<%^!LJFD`@?H6)-,ZTJ1%;N-<,JZ$]\'N,/F3LFXTRA4@,":+@`)CY].L>/
M]\4J%5NB1"<7DQG>L^^8&U/VRWN+/9>R\?>]UWNO7TL+W&9"&D+7$B$LB0`E
M2D5C<1%718*A645Z6\9/!WNO]HZ.3E]D>?0BNPJS<D(Y0^FH<S9K0C'=$C26
M%Q?F8_F\"-/HBH?^1ZY:4)!>'1AVP<X`N2S4"8WXQVX6P<_GH?C&''=%(87:
M>XF4LI\1N:?O<1:+<FQ7BS!-A!+2(M>IC#BE;<W!Y"1S'PH^E?!Z.L^T&JX@
M>'T0T9#6@_*D4IZ&;KRD@H54BZ0@K3K6$A#EQ%F$^41+K641$S\$KPID*N'Y
MI452/A/E:FUWA[2AN(W)>OV&JQIXXL7^!;_BMQ>QSR=!Z6AQM7I9=@Y_+XX1
MP2>L4/#IJQ0LS7PK>'@XZQ<).4K+`G]U.33YJU"XN2\Q98`JD[@^9^>;Q<:!
M?JXEZUEN!/<I^W74Z6NYI#"D[)[$F3L'/8DIQN+!9H^%.?I8G)&I8B570FEC
M/D("+1TF$`W>0L4J-VWQA4*=.T<Q-XFZFWCIU68A8TU8SS2:01>5^,@9:*.1
MUH.?A>M*9FS%PJC=`%,72QWO_?KR].W)/NN+'K>[E!,Z`I.E*2>4'`T_*<B8
M*JL5+*E[T>7`L;')I'3J?S)Y1A6[:H'!&PS'<DZ8F[\(SR9Y#H2REM(>`46+
M<*PY"E`DJ![Z'I<<D?VUOT5+1%'1<T.95Z,)!SCU6*%01VF9*%$;T0H[&G:5
MDYAU)1DLGI'''._VVBPS3-27>)85+D_>'?5Z).@CE>9=S*FZ6/A!ZH<HAJE[
M\8X<8]'-#V\/C\X.3\Q-6OKY[299*/!P+@OH&:-S\+4)^O\X&._OG<SBY.CU
MIK!_++L$ZMJ-.:8;,06*"O`9P+`M`B4,)_V?!-4N@`)MNRF:25!0D#TKK`)`
MZ,71[/CR1T\TEJ!:GP7J]:_87`WPTTZ1WH,!128ZW8YT'X6N=V<7_N7YV$W=
M.6T6Z26*W3P]1T?F/.%ST4@O(2.;<L)(/XD&XC>%,.35AMI:@=Y_X28W82_Y
MZ;DJS>XVR>P[H<3D=DY'C&2TI8T$[0SRMD`_>VD@T-!47W6D6F5UA'*AK8Y,
M^16L(MT-X2@_\<KA*"JJA*.H]`[AJ-KVO>>]41Z.&B"%6H.MIJ2B/`V@=&`@
M*VY>:)-WO=]L894DVMV\`W$Y[[";)Z,+JT:9Y_1&9Z?FE,3*U,\<+Y$#VX"T
MK*Q'G3V&WC]L3;0%R\,4@2?_C)_0.2-*FP^?R+")1HH2AEI-\TU`=(6R?C^R
MNAA9%:^1-],8=5;'K`T5.=;@:C9@36TEPIS#6AUF)I)A/KQ$D4YH4?1$I+RK
M<Q.$%G0JAE*,0^$IY7+&2Z=HAJY_HK`ZOL+9NVKU@Q"]GM@/1>0"[=BW&//\
M#C^>,T7-E;/ER@^"FVD4\$J.>[&F\1",;[/)I7WOLS#260K;[3R-RYQ<4O)\
M(N.XN[OB#&N6M-5N2RW?<^SN`+1\;\ON-MSYB,,01PHKHY/%]2I`/P0SB6*.
M+YAX(*=CW?-HC)(QA%2A=J6RF>`U5YZ7"+Y\"RKK0I/(K.R^VTIU?!0,I#/K
M'I[BPYT+H3>%X2]WB5O.<!LCB*5C?!G1?1&&NA?-+Z-DYGI@+KIA,H\2FG-%
MF[Z^1?,=<YY:QIPM<:K*06="2Z`SA=YSA-CB&41%@99.`=R1$"^`;R#N>JBE
ME'6_J]6$EC7%[.DT0@=]T<503I&9'JYO>?OLH*->5&CA5%O0-A52:R6/EC!G
M?:[8S$MW:H_F$:]&M"O2I<V1/`77],1_)&`UTT=/JT&?G(['Y:U++;7,H)K]
M2Z=N9^U1R"\ML?N)US/0U97.$-59J]L=8NIPGIJ9HN*3<RM5)UP%)FD#WG>2
MF9SMJ6*J402OJO4JQ>AUCPO-T7>M,2CU\J4Z>>EEC$MO8<PXJ;CW".CUE217
M,G<][HMK$QTK'R`R&5OMJ`/FV<%S+"'%9XI+0Y2)(Y`5-Y\TX6JL1%;$!2M(
M:=-,0ZR0S2R1(UGJ#^T^WH(*]GU?GHGYTP?A3\S"?/F*C&B\@H:C^9*/JXI9
M<9L_/\]XA_L<&VYP;#K7=<<>U`&>V@,65%/;S^HSP$N.`-,+Q8L_[X!WK?WQ
M)]@=%1.GQOWX(G9(15>+F3'JDO71ZVS56!^(D+(^[FWQ_5][5][=QHWD_]9\
MBI;R;)$FF>$MTAH[SW&41#L9.\]6CMVLUTN1+:G75'>'W=3A3/:S;QVX&TTV
M*<DSLR]^B4@":#10``J%0M6OL()%>!XE<8'6(KGTD$%P0\\%K`7]8+\%"@K3
M[G/+NVW9\ATE+5'9%GD2J7;388J/6E2&=CDL*"[XUO5CFJ2WW.!)1A68O2ED
M;M<GW//Z&&BHAR(]\RET,,Z:P8HN81'N2)4^&78Q'Z9Y,[@%=G7*'V$!5A-3
MK8Y2@K=S+Y<YGR4"=#%\%CR>4L+AW:$"O(`+/QY_^</72$/QMBOT;/R%BM'7
M=Z:>'7ZWGL.?32V7Q?@H!D.T$@DT8'V8A!B;:-A%,5AN+"!TTAMA#\#52Z0U
MJZD@'^`S:9(6:(]I:^1R0]LN[XH?JU@=#%3R`6_>?H'A?_?Y%E0AIDND,(Z&
MN(=Q1UN<)_;>WE"0:-23UIVBCH8A,15(](&DTAI^-(*_OCE^]<W+$X(^"1[)
MGQ76;'(5+JX741Z2291)2SNGA*(99B+DAI?/-=R[DDG.EEK2AM*Y-BEDEVL,
M+[/S7SKM]KM#UYD>,@222GM$!Z]^KVV2-4MA9/,S-)7?@_TUP5GQ:(81HA[-
M:H]FCQ[5T3YGOKR,(6$/&4:C@_LK_)52U1R.0_#NX`F.T9_Q]U/<\HBUG"9S
M_U74VI$`J99NH?#:P0X(8&9X*5)9O?7K,LE#GU!M913>\5ETAFT(OGWQ]OW)
M\6OK(BL[S_/;TR!+3B7D3I<!9@9#Z5WM?5P:&Y+\)LP-6UJ+2ARO8?_VHQT@
M;*"M6/5C'^CT2MK6Z#S*90PN6^%JY91R&L0?P?5IJ`&_@!.F.$4SJ08#VLSZ
MH[8*>T;L.1?"C/'C28#VB%SK$R3(XZ!]<Z:Q*EQKA!,V1V`ADDPI!=9'%8$$
MSIK>KIOI)9ACQ6WH1`+_-$IWJA.-#52=QUJ4:G564^+O^.W5T3?;4F091\`.
ML\G<2Y=B;NFT@-DSC7.6D;$5_.TRBI?(O(#3G"?Y!\?"&I/,V(;DS'/T^FMI
MS-D?]TC0&QB"GCEUG@7]AYDG*-/!0U<%H#$KHY06L/DWR;,J$#$`-?Z0Q;#U
MT1:>4-8#C-8@CT&/I?2N/:,Y*6]#DO$<;ZLD=U2X(XIG9.OL7`[)5&_/-*Q.
MIRI']@C_9OHJ`Q5"N&7+H(_A^YP[QF;;+/T/#OKFN:6<;`P":1#8D>PV(1RU
MOG!XU*D;]L@X``P&!WAA.QB9B&X*6ZDX/_AX[/9-^'<':_M#%Y&]`[(&'HY-
M!VA17%SA/A@*RX.@KI2AK)A2@*%0?L*WU?O_I51('X%3+,*,W.A*KJI!?'2O
MJBFI<%5-J1M<57O+=Y^V#ZQ@M$,Z)#:'8],>!)G.5803>YK]TCUXUQ2_:!'`
M[\,54)S%JQ@G;RO\M]6J$,**='4@.O&>+V'P!J"^%MO`T)0X=S6&LKK5FF;U
M%=XYH@6>FY]=NS:^Q*MZ)-2D*2!N/M00N;/`5%8Y6?<\7,]=':S@DA7`*4K4
M77H`&PUUGUII%$D?;(RE9QQ10UQU'!W*D?O9BJ7'.*D/N/PNE$F_LP0IXZ[C
MZEF$PC9)($>,FEVQ\<3&:M@Z7M-=P_MI/.3M0BC9U/.NU(<:4=_$*5^Q]S^Z
M:LVR60+=M30Z_4%ST'FH`?ZD<=J$HVW!;L9,+[NS,ZQ]#,N@YU[(9I%)2@)C
M.E8UK2BUZUG9P-;#-S`+<Y).A+&O`[QK9GD;:8CLZU?A#501GX>D`8,:\5E[
M,?H*E*[)&V7O,!JPM<;8LM8@$MRL(5V%.("(H<3J.0<SPL@H;V0SN)7M[+;Y
M7@=OT>6AF=6V[A#>J#;>5&HB8;&=+F!*A;G32"MK;;`^@>XV]8/:)OD%7@9*
M6X`!62[TVL:Q2&\IEH&)<_VOO>UT(+\*D-?7$70%HQ%H"X]W=;5:)G"\V/]M
M_RDW;M@F1M<]4(S.7B,BGH8AT?@:56R*.L8@-.-SBK03&-$'>=PHFL7Z42MC
M779.N2XCNC3OI$&8M5R-#^]C][J*+#Y5-S%]K)QM]RQCEXHN-]7':3%5V./]
MA6K99`Q*^;.3]0"2@3W,%FG-C#M2]ID!([<]?:6!K+1O[(&$.![A12\"40S]
M&+&5(ZWZ#U%F>CGCFL\4ZRH?BLY6/2^>?XK''WK_X79F<.;B;13O\Y1<IIW`
M.W_Y2Z]=;5ZO4",4<\N-F@P(PG47UU=8%FMJ\E?:2?))-)_,9H<>[@=%$+72
MQ_[,K-)+^YIZ(:T9H:MF575+C+ALB'!YVQ'-$=9:"@X,2WG!P"C#M-'ZO1+J
M)#R%NNB2KJFL^^I:ZR'ZUB[OFQP;A%I9,724_4##AUW^).-7TD<K^Z'&\2'[
M:#SK@ZNCC`KBHI_G[LI.;8-*5VWO5(!M%ET$L-J5AS)WU8'-$G7'/\``+[UA
M<]C3)KM%L;)<_K41)_1>PG+PVKW#MOJ`0ZQFLI*&>E+!++J+C&K3L@0SSSM9
M;,2\1BGJ8-&]Q#OC#<@\_[!NXIYBKCGYW0'M4R\O0O85%IR_N@H1'%P#59?/
MF'F5]FASYII*4C-*'YZ:-IH#0@_@M$ZFEAL^72B>`,<VXS+9/.U>P$38G^S3
MNKD``6O_X_[&ED\7J">!2A1\HKANF5Z\,V\3C8L7SM'QXRIJ`3Q44,EKR,"!
MD$8$N#UH=Z5ZU8B?(=A(*4$V%C`=LOQNH8::I-B&2<MHE;O/7+IB4$@;>MHN
M(!!9Q.;GCDG[<'.K-W/`[T?=(QM5,MA>F5EP#S4AZFO=`511#\SL2M/U,F==
M<47J7(*J5/<>5&54OPHM?<2^#>VTVWT$C6WPEY*@7^85M&7*8:1[EQ6<AI9Y
M[>3ER^^.7KQY^_+-T=$KR52@=6$>AR&"0CKAA82)1)7SD[[%-MNE4_VJT.0J
MS)-:V[`%_I@N\VD-?7.;:)NWS.L,[A@2AN5TL@B5`WD^?;],T1:Q-D\7R66:
M7XB@<O?1+?]T89`49[;(1'>RR/3J<Z7L"9@J(SU5NGV"<<"/CJVHN]:X;D6D
M,X'60+!`Z/HN4(@\&0)LR4%_*U;.T&4D=IIU6!A'GIQX>4DYHL4F2)'$0<-'
M)HO%Y+90H*!5W/4T[/C5">W7YKL9Q$O.,DYODE%*<E9[<BWCJ_5Z&#6Q@1;1
MPA#ZMV#_Q;Z"8WB/0%_-H-L,@F[P>Y/S7QGY<0C5$HJ$SG]IY$N`N&;0@_^P
M2`N+3%<6:6"1-T81P548UTN5^-DH032CAK8ZLB%M!)-0;YF0!ZS*)[(>6F:C
M21ICK!S8M)XDB"N5I*F@TN"`J#3L6?C:L$ZG%^'T0P!#?!HNT%Y7&MMIW(>S
M9$%P2NU#0B?Z)7YW&,0B`+6$K$G2UO,$]\48M\N.^M8U3!2M4DIA]3%<+&"@
M:XC'T@SVKA=)?.YKSIX"1J,U4-@KJ9<C`K/IC49%CV0+.,P9%<'LN`D&XY,_
MDE1^%;"3OUDQT0DL2,+Y&.!BV5SGS!54A0-T9P$!*5#Y-3A$=O`QIQ*)0&74
MX3CNFX9&HE56#?*FRVQ%4;*0D&TX3P1Q:6LA.!MTU&%TM*SV[22[>(46[1=Q
M4ZCULYPV%1JT,4<3[8P,K!`O^T(NH89>XR7-11B2UHXP0D=8EJ#U:!K`G"EG
ML5_@,@^>(C,@[N9[>.W3:+S!CL<EW!8+_BQ?4Q?`C[6<<(%^:?.AN:4,.LY@
M,\UJ>[`M[:%YW8RV4\AC$[*/E,O/&ME\9"?$E7YW9$%9F\]9^XA5NWPS;./!
M?B''7P=#%:FB-F+FJHU'KQN"&2F"WLD=Q=.@AK]!:O\J%'5V+-S(&`[.7_M.
M2=6$U&>6PWI3A28I(29347E9[5;UB+EB9YM0<K];]H3``C#BO1QY$^-2GYNJ
M#Z#`C[0G$,,B]P<]:P(1HM6=IH^OAD\R>6`=!:V?K87TQ_Q9/7^09+6]=4/H
MG3Z,!3KH]&6H50FL[=MV&;!SRTW7C^H),AP!>Q9A/`5NM]PU;>C.PQ6`BECP
M(\A<R;1F29T-@28L@9#-:6J`A":(1+JCROW]&2;IR?V_Y4#.QBOP@*RW=`5C
MK&8LQ\1%P#FGF_;L0Y<9*M!]A]&PC">Z[Q!-E!#)C+;+LB"JT=?>.YZ:WQ^]
M^9L-"^HL04+F5+4'#8KAZ()A6MY#Q0J,SDKT<QXLE/^M46V_JPM\3SP>R$)\
MBG'$2IXE^"OX[T?9/D(BPADT#Z<YP<J)ZB2.[KH(7X;H8\J5YIEBT^DMC]AR
M/I=,/G;I.&CV.H@S3@&.<;7]9L%GYO:IP(-(:RBNFR"6":V4AJ!$5-UI'EV%
MJ*2+8N3:TWQ."(HJ@=KME>%9[H/#?QPD\?PV.`T#/+S`P?[Z(HS1)Q3ISR_8
MDPZ`*Z7[!FL?;#S;P)JNG7<L!+JE6@Q1GY&'&4O>6%:;^)N`M),\B<REM&-4
MC]/-V87BI04I:SYHX\HN59J)*ZM3_:"X2QU.L`08M[7S.YK4RG.`$8_8K;7C
MJ>KQL^!_=5T!`=K29'!4D`5VVGXG#^8F1V@QZ**%:"NY2@$LW02\)<2>!LQ#
MK2TP^$7@X]`M=^R!#"YD;LM9M++W!5A=[PU&X5^ICFD133\4=$PBL:!C$ND>
M'=.@1,=4\D3W:=O`$>P=()HJ'O'QB[`'DPBL7[]\_]WQJR,$R[02CU_]]/K-
M5T&7XUT$+]31'X-"(%:PU-1.YLL03^-"T8%Q6GB1?RZPN043%'QN>B;$,<-T
M8GHF+\EL7S<#?=_V=3,RO/=N_!(-!<UI=@@'R:8$SC^WV1)#Q2SQY<9*C^W/
M+8#;&&^SP"D%%04%?`Y_W%>/PY^1X57(+C.,?(M<:'>7HU;^[>C5#RA&8%13
MV3`H=3Y/$$"`RWSSW>LOW3(&S&*^CQL_/)1/3CFF7(DKL,?EUXJ6;MQMDV_$
M!.8#0GRJ*UMNSI<OWG[[XH>3U]\=OSVA\"&[LEOX';^`]*KY]2R1=*EA)][C
M8^^-[I@P^.O*:FA[T;"@JUVY2MY7\556,=\M;6$>4$]E'>8\L#+6S(/./V[,
MR2Y^/1%6E"G2A,!B+Q(X@=C@9&;ZPZV,5J7Y9JSQM?.M:)R>AO-Y8>7KU#6=
MTQUHES3W[?='6K@O::8LLPH?-2'PG1*45)'I!VBY/%\DRS2XQ.6%S3Y?I(<R
M"TVW@R>74Y$U72X.W4"$#\+I++2ML^@F6Y[!7[Z1K8P;:J&EKF=+%5F2]+0E
M:B!=IH<Z"6B'2>>5;"_"FQ1V\<+D,I(WF5V?B&4<_?P]!L!9P3!4B;(>)PLO
M&RUD_K&E_I-LJ3RB5=_H*UUY@UTY0[P%_J4VW!6T65_4O_TR00J[KTC^1VR^
MFD6LVWI7L(I%B.@B8:G0Y<LO@6<):O:2LIZQC'Q:ACK#>DX/D_6P-)L1036-
MJ#R\_M4NH7;6UG/:4\-,JW9GB;AJ0R@3U-+V9.@2F#[O44DQ#VM/1%6T@AF?
M_>SVO?2^+I[*RV+>OR#XQ4P&$%Q@$%#CV(BG2HI"E`43C.V%I[=F\$2@4/0(
MY&B`D,0E!C4*W;%TW/PE2NV7S9';Q"Q+8%E.V->UI;9L8]A-$OE&5='L!(8K
M#-!4AO4RV>06!@6;=\W)DH"8&#-I130?IMS!B$Q+&J-V3YJ8<+4!AL0,8`P6
MMP*5"X_V>CP^MZ(MFK>XEE[36%MT?RNN;TV`$;0VF!_J$(O)G#37\!?5G'.!
M7XEJN3@)%PLHGRB/RLKE=8A&.SK017(].<>>HAGP9![-Q`TSQ5_$^<VPD:VN
MB*O2IL@FH\[(\>L3<X%\[MGRSV4EF`7UUG:-&(1HQVA$)'PFO%ED2ET:5[\7
MU=>0?MXYUK;GF%V/I<20!I>C+G>E9W8%,=3(RW36Q,4?)\%EL@@_#S;[QS-#
MDF:6,,-G[^YZ6>NEI&IS#V[J`7E3CL;2F](Q"P^$?M1]>&.ST$2CLRHG80JP
M,J(&=-IMJP51C!AY4.SXU?N7?_M*QK,,:C0CQ13@$Y+&FZ%)?P.3_M=#2R-,
M2;@6;K@>84"#`=S0K@++!QB63(9./49-4>W)KR)&YG@L@GBWVR,K2B;UX_KT
M4%=)R(?7"'MX?:K(9.X0+2OZVHVEJ<[JA?!L6"#QE!(-?4)^=B?1?$9W`OSS
MZ-?E9)[IWV_I.>H<S2"LCF(U[^QDZ?0#'3D>WY`1$PSO]'(F+US$V6A7W%1"
MD>1&=<K6!KM:=%T.I*0<@R+=U%4<FBZCQ+?[(Q4>$_[QU>F'*$V!N<99[3A&
M[^&P&;Q>YN+;XY2[3A.*E.Q:U$+T*&!%Q*JX&VIB_J[[LKJXN*:5MV!._Y.Y
M!MP*9'AH*4)S9X&__]L2)BBL;X>=.R+VBM=7::@RRLOJMOABXO\98C"TZPU:
M<M(N-0]OP@5=`0-)TR2EQ(MPDGZNK,N@R")$Q`0M9T!!+%-SPE;]BM-'R8XN
MFRB/@?>52:%F<!Y=A;B'PI(7NZO84B^CV6Q.:NX);=<678.?0K'7]KNPV8X)
M`5,%)O]]DSU4@X]EPAP*"4XHST1SU[-$V&_Y1$!YE4CX(1A@E<RL8HD9R6&8
M^KU!I\AQ%]%YT:LSV/$A+1MS1=TBH6$W$2B,9R;^#2:EDYSU.A@MTDVP?L,&
M"XUGUM?OM_O4W'YW6&@N04#LN!.C5""U)\`)[%ET`<E2*4\`5-231(K<&071
M++^=A^Y:8I\&WF/[%&17&,?803,91-T-]_I2QGL-=EX=_80C]Y;H@WTPS]XB
MMNM9W"3+.&\$V)+HN4947B?FKAE6EZ]*A'6)83^C[FGN$'#W+'8"[:85H^RF
M=HC=1ADQ?#%NY3W/NBBWOP>OO_N*".^.CXAW6PC+R8&JAQ25:]AK]^1!A`8\
MQ]U/$B9`N@C)(9E<*\E-PZWJL-L&YJI.I.$0HY'`4)@#LL,NB&<+2A0W9U!:
MWGFINR>2<6!JR[NG6H)F!?HEA^93^!9.8/+A"Y2)0V`V4=_MR_7#\>,S>?A`
M<X"@]5<ZL#`SW^'I"7^$D-UA6S(0L\<$+^X]SUU.SJ,I@5':BAB=O-KI3H0,
M>Q;L!_Z`8$*+8`JOEL=;4;UB,I)=]\DRE:-$_2GJ&V5.N>[`%:T;93G6$76]
ME4K!?1UVE^O3)GT(A)-1MX/!!ANC;GD(NG213,,LPYBF5L00G;P*>-+`Z+BT
MX\+`N\<D[(ZZPR%^4<"3[$DW72ZP<BMP:;8YGJTR?VC)T`^6R*`2"M>Y)CB7
M*5Y2P$,KL*?,V:,PJ^)8QD`XH^[!V(IP4+!L,,2K38-)\.0`(L&&>N&9>C*G
M&K3$A,[:9(H59H?NX9X01+EK'+@5NC;NRPBN9"8HG\5Z)M:HT1$9)Y]R(,8I
M"#\H<=,QS0@XD]S.87YD1H0JEY;\]GRQ%=(\M<U!FN=VMT2[)4&&/03EAD-X
M1V'L"CA^JSPB34MC_D5].S>^X(C\JI3T`GM0.`M.;X,7;X+C29RTO@;I97H1
M+I@I2^Z-YE8!3XH_2U6.E'NO0O@"4N_U)+NP]4'^.Q4&-%YYLR**5/*7)H&0
M,9OE(BVHX&V67<AVC3`D!+1?*/1;\2QA<\\<(QZ1YMKPB.3J)CPE#]@6/(-!
MGX&:\7,L=7CH<:<"M.#NNTB6YQ>\"Y.*AW9<SZ@M@4(NX'WBYP2\M5.^9D)"
MQ5S;139,;VH]1T2([3QUE_$D3>>W7%%-58FKS*E>B?8B+)+.EI:S+[]]__V;
MHQ_K.C(LRGV^<V`1=7@PIGAQC<%8V;E+(@M`HDUH##PA<=TG[TIC1!;9CL9>
M"C/:EY_>^*IR<N-H6$1_=?3SR59$'_8Z+$[WA(@!)+^*`B3&TR!/SL_AW'`:
MYM=AR`P)A'+D1_@5RS#U4=F-*="L*:(IGPM]=G%4KB)\2A#"]FXV,JJ.$L(Y
M%T>'NM4GEXEAOV<=5U?2>L=#:*J3SB<.40M:87GI)QNH2E#".M?IJ\AA;YC@
M\C9,J\[8?*5MKM9AI2]_*"*)RPEYB?$AO,4=BJ$GPME3O!I2'H!(#MK`EEDX
M$T<-7CY7$>81Z`<?R(P;9M/*]$-7'1SMY&9@(WC#6%]%TXMS;DA=&<P*.1`^
M.NHUY-A[T&[VVPC!!Y\E!YRK"+9H'&)G*LK4THLI-E%1\%D:SD)&(5OD5Q&>
M9FN5PDC1&[&F0C,P<37R1F@@;VSQ8D]D%)7H??'6[S@M]$^GEX`9;!G(<(LF
ML@&1TSZ16`ZMT977)SWTK8')UNN,FKVN<7UAX%&*6)8<J=*46SOU.T82M#%Y
M:)5L`#8@^^E!"UL;]-D+0"C(+WAY2QT`@+$P#P\PJ@HY,$@/8AW'?F-@2+]!
MF#=_6R@F:'B4DY@>8ZR+9`$;(_I-)-:62/ZY9C^J`Y&N/_1`$[Y?YII>0)B$
M7BYNU$^!JL1L`]@RN+%QDEL-#IZH"\@L#:?1V2VP<F"GP-7QUGD9X[7`A+MD
M^'A?(;@35H\DG$RA<*:TK[T^(]^B$ELBRL8.**C"OX$NS+C--"1X0#*\V#E&
M7RP4B>OGK%>$6"4^.`MVV":`D-[P0*J_=H@A$32ANJ'$O1O%F6?&[6\5Q*+E
M:99'^;+`48R,K1=4QSR=QIXP454FTQ_SV3N?\1(:3B`].(&,])6]GKEJ_%;-
MWFWW(![?HAB@T_VAT.3K[55W'VW14>Y]+=*Y5;?OEMR?9(?*MG0O(I%^S$$C
M*K3^M@AFYHU1V?+IVI!)-/P93>.FK6QI*M5Q;=IE7:G`OI-AK&!#U%KD%87X
M$E%$^H1B>E#E)M>V[P><C3]P06(K`<)1T,7"%)2IY3CCCC2Z6A+`GM]PR/"-
MM7^"(#<F/=;/9^Q`V6RV\TJ[>$H0N`KLKFG,C<-MQ"$-#KRJVS82<$$KZ84.
MY^%>4:DD9K`.!=@XQ9FX3S`&IV@&(>,_(E24&0VX9-*58CRF<_>.2:>N/82L
MF`'0_I:HIT5HJ2"`9D&67,)>-YM%>13BP78^(>,]V%*X..P@+1ZMSX/@.):F
M!0<(8M3HC]L2"N5)<!WEB*H%^\XBI,"A4C7"M<`N-%MOV>53DHA&4YO]=.&L
M%:A_#C:JBIK70P#`L;P;V/$Q#M)8;;27HP4<*@JTN(#QUAS0V6<&Z*S[QHW>
MAF8UK,:QQ),+%D86$KS0$$U4L#V*&3@VPA^XT4<V/SU)Q'MGBQ2II2H$"RP?
M6YR!5#Q%6EU.TMH>9>X14J%!'C84'C1[.(K];K,W5$**C_O;JHI3K:K`7E?H
M6I*&%(7P-)PGUTX'[;P-=!1&<$/%"X4XV6@@!B,.6HGDLE6P<=W6R6ER%9;T
M@_.JHYRNZL>#]6*174]2##51[(3.6GVCV#1.010I$8W.QQ2/F=R2.2[MW98$
MLS_O$<W*\K84=?Z3#RAK+T*T`KM`P(")7/'`I05S-=?^+K41HW[#0E+MW>)0
M(LS=`CAB+-,9'"58[(<FS,29`G6B(J:YV8)"A%<9X)5O-M@$?-BQ[IOI?=07
MRVI<UAJ+3,.-)69NFM5D?YN!_);2M64E;=S,C>:J$BM=1NOY,^RTFYT^WAYT
M\5/9")2?5[WR;OG&L'[,?&P/9Q":7Y[BO*%C[**P6^P:HLV64I1H04$,A-<C
M?OHD@&-L((ZU*N(!2@CA!'8G:A<*$%&LF\<63A1&J#$<M,T;?&.S3>C245;-
M.#14G90^K-Y:O=E6KUIA7BUC[\Q2R9O.K7Z'YQ;&BO]C;AT:+(.N1'EZG2V2
MRXTGV&#,$VS4_9>:8!Z-KC]BSL9J:Z+*09?VPN%X*/?"G4^CR2[38-^/YOK8
MI^D36XXU:<@FG&('HTM$%!OZ-;ZH06`6F,]0`[<L2">9IQXNS(;9%C5JN[;,
MRS&36@0XJG6O=1'#X"Z!@_XYM8O#T;C9!RG@H--O]GM:6TY$<,7+%=IRG.92
MWUA1G8?%/9H/E5QZ2C%TXL^WT-9@4\DT"[MHC'&E1J?+_#1$[:;3:IWNAS2`
M;);/4!Y\%CR>4L*==#3ME3H:K_SWX_&7/WR-IRW1"F!/R[-?J!A]-:'B=^%W
MZSG\V1P*OT:/*DN0'T[@K5\?O2%,(1DURSF][)A'%WH<`XXWV%)OQPF73FR_
M07NS;*3X)H*+[\A@Q@V5K(\_%&6L>*6Y]@;7P,IRXZ"X9R^C+>1MV>O13>S!
ML(TX;$9\E.T"+--TFYS!0B[.0D[^8Q)N,@G#2I/0IP_8=&;>P]PK,?70X9UI
MQJ%']!AF'`H.X[4SKE5ESOU/$KG1/BEI=3#2M;.H9JGIZ\(N81O[VQM#5TPN
ME#=T3`U6!7TY)*(U@YM&0R[6<0=E+?1"0/-*EKE<O<J.J50)]C>ZA_5K2]9K
M2D+4;M^W*C]4%PBA-UK.7Z@$(K";<?^B;)Y<`YLQ8N>P!X>P8>]W+!-V2_''
M$A:,,E2\D>)O.DGAM=,/Z22.IJYFT\KS*\QLW1:;?Y\:.LQ1EPT'1H.!V7H3
M^]PDSJXD@HKA4S?N-@OHZI5""C%[+@85$ND5XNF,>H3;/QI*]^Z=FM!ZZV9B
M-)V.$4UGO(]R+_*%DE`[,&0BYX61\Q_[]?I687(N,!885H53`:I]1G6AXY"(
MY@&"'5[GU-EVKPAE^>/QB^^_%X.&O@4X:`<'UJ"IW03!>Y<\4-,+O$VJ10SL
MB;^^"%I(B4;0'09/X?MD7_MR%%\*&XAT."5S=7$*[U26=HMWF#)UY9&P8+G"
M/1^,V%MJW):NRFK7C)4K%I\=X$1!LW$RA\/"[#8(+].<+T8VO.3@,Q8<17SV
M&"LO_:L(-7""F7EM_\R<"BJ;5;SQ;E9\%#U`<'[84_8_$T8FJS>(S_;%9!WU
M:;*..VJRBKLN>0AA0SRMO``",A>F7QL%I63L;R\YK:P"/3^+SF#XSH)O7[Q]
M?W+\VD(&SL[S_/8TR))3@9#0)E.EQA@XO@AIQ&XU80YBZ"7Q3%-[;YD72FMI
M%B,;UD^;KQCX126@1YW#HI-Y"1B2O(?%<VR;38G1DN,I!D+)HW@9TM6IN"M=
MTDF=W;TG<<PG:CZ#TVTK\9*6/M2?!6F292!EH,H"GEI<`__&4_-5U%(:B59R
MUL+Y\;GWGI6J3!:KH]66%"HY,Q>%\!.Z"D`\**Q(MM\BJ9WC`1=#V&54^VDH
M/)`.8H)3F>3*[97L(IUFVB$[W5P[;F>I>3IZ]SL&ZISDFJAS:G4C=7_Y[M-.
MVX#/[31[&.NY@]H3NJ.*XNE\.0N#/55%NDCVW.$53B,%B#TS_0'B:DLM)-5O
M*/2L]/N*"NJ+M4@OL$(MZ@,+RY18@G94!)R+ZZL\6.AVWO.6W=6OJ1[/MV20
M[)Q_]6$B03ZB:Q!'CC_H-H?`U`\&S>%8[U)>@CO/<Z(GL.;./0]US7V)UP#T
MCA.`7E$^"W3V`TP%?7.@7^.U)=?9#[A^O6/Z`"MXS6LJ#F!X.9EF98NXD/D`
M@T?O*%O,Q<P'';A/PGGOE_&J*1W&ZY9>&&\Y@&OM&]=L:-9$1<73.X\:KM-C
M-5P'@6`Z)0H15>>V\:B-R5Q*L#O1ZI]MT_+2GN@]'#"]8>MZ*'I;W3)I;64\
M`)U-GF60V4R^?T928"%H5JO(/1+D'A\HM#3K4>^3V]UXE)+=R?K_(SP7N8Q!
M^BZ:RP+IN]V>(KTMI!7%,W[>LYWKD=G9=EC*1*5B_H/(2@6)S!*5"KF?>K"Z
M8K#Z`_\Z*1V/S5=*4;HH"#\/O5X*$I8K_/P#65:W+X9B^-`LRS;\*=TMC.R5
MCBR$N+/UD!AO*40H>(AAN'%'X<8:A(,V(9=TQVUU.XF5W;B&[Y:IQLUF%EFH
MB5[!D%3V6JK/(PJ'9UF=&%9`7QCJV^!IP6:FPE*JJH0GG664!?GD`^(1HI7=
MGKW[[2E=O#TN1/3Q@.X+>AV0187R><=+<=+A,\DK&O.LI/FF%#^\#QZD7F9,
M=Y7V22=[KW/`_LC]MJ7TOR?2+^G6N$!T([D2AU=I(5YI$84)0%N,"`=.9X/Q
MWK!;<KL+#RM(JJ22H]4LN8Z][;<R[JT':&2*/<![F'OJP7221OED'GWT1..R
MLTI[07=.S8T[`YW`]=SOM.5ZOOMP^/>JZGO4X7W*V_Y-RY-[[^O9JSZYD2NZ
MWQXRY7M]Q4EI11O*#NNVB_U"JZQF+P/]I(RSP*T]I'\X1KJ&\%WF0!@\N+..
M\,1*-_+(S1>3.$L39CJVBZ.353H0::<9I%WXOP?_]YOVP/!3>7B9-H,G:2H#
M(9,,U.B/.DH6$MNR0FO9O5':;=Y:;(0#0WPP:&\*$#K$,PH;:!J5]M%@ZA`:
MZ57BI7TTC4K[9!4E'^G!(VD?DGMNZ1YO>)@%0RKUBKMI;SM@,GX=.DZD/:BS
MZTZ(M*O>U[7>U[W+^SKXOB[4V7&[UU&OZXC7I8B&C".)DJ&P_?MXP>%W@:0M
MK(3M!J6;;A]=7`?-P9:,VKX"/5U&\SR*Q>VG^B4O/E6">8?9'C_M#)]V#NP[
M3V]1WW4GA;YHB$_9!^XY>O_>-O%S,DLO4W/_.LVBCTV"VX7]ZSS)8Q&G8R(^
MY=;'CM#/T&/[-)M/L@NCCHM)EI"S"]JSY(LEA7W_\RR\^G.>WY+S]"D"P:'/
M9#ACPW@8"#)O45@*419>&G#Y:)O0#/;H,+I7-Z`55I9K!M''><A@RB+8,4P4
MMJM*$>W4H`D9?CXYA63XH%YRW)J/D(%0ZJ*P0NE&VLWG131M!>74(_]:_B(L
MNV284`97QAI$0&4&P*:`T30V=6L7J$'&+_L?]BE:]R[]6)H_TGV^3:,?O^Z+
M*,GXY-MO3T[^77LOM20T&YIMH5$0#H$>&7LDJ*RH@`K6]F3)O6;P^OV;KWYZ
M\_?7[U^]?@E%U+H58]^1@8OA93^%07:1+.<SZ83)E8KA/[T-XN1:A#58U>8?
M8AB'?!FCI0),WNLPF$6S>#\W(B*<I0N8$V>U+)^%"QC'/?3'@)1P(48?/2.G
M$WB(>XZS)8HG\_^,]U0'SL[FR^Q"5.&P(\;*)\ZE9I0.&.UI/##U:M2&@AN0
M&DIK.MOPZIO0>TVS5Q(<BMR-VEB!0VIK"[2[A8U<QAA"[/C5R=&;%R]/CG\\
MJA,./2SG_#:"MM8>9Q?BJX(\0R_*/$='-N&[D^>WNNN<!4FUR]OT?)&JQVB(
MB;7`(I.KC]X&39B>PLHU8-5P'9]AR&FB(F]1/)5]+>;Y5-)H6B_>!K=V/(WE
MMW@:RB^QVHI2GM-.PTX=ZREA+,(N$;:RRQ!D*E)FP#"GRUS[#;)S4P33ZPSE
MPEF831=1FB>(48S;.SZ>KGA^F@BL\<]]N!:\W:OFCP\ER65#Q<]&L-_>?W<8
MM%J<H,*9.'U,>2S%WM"V#-'L4L)F2KR86QG%MGV;RFX?EE5*@K4HI0L$KAL@
MU`Z;L>7M)C<BJ1/J=1!]@^R8\`I'1"[`70NE?3*>5=(-"S>\4S<ZO*7L$"2M
MXJG'9T1*P=XRW."C3)J*TE`JWDH;$8=>H(V+.P2[/^V8_!:T5'[&5[4[-/',
M]80=%\S%J$MMQL+.N:UB2Z@*=FA7!O%']*T>B(`0._Q6LD;?L9PNF(%5ZIW=
MG/5=LUO'HJLFZ"R<+D(R+-3N?-J)CYM#LUYD+\)?EQ&<.36=A635>J9Z><=J
M%9U4G49[HUA63%B[\"BY8U*%Q@M4ZVBF-:RV5:\"RCO/JU...F!R2Y\S#-".
MY'"EK$GLQK2H5@A'OVE4VEE$QT*DX"+,\!`\26'AP5XF]CE@F@8&+3M/A)=T
MUR8:B5,%6HCOH/E"_+09/)ZA!E"%:9V1O3&>^83ZI]OKD2]ZK]M7^-_$%]";
MJL,^2NU]7J:,AM,4P13A<"P$0QX)^5`;'V)7ICH4_W49+FYK(K0,.^;LW^X'
M7]#?I\$^.D`QP?1:E'(T6M7:JY'GR284X\%"R<0(HS:'1YE"2IB2DDY+2(EZ
M&]6=HO84VD][KK'*B\]M1(Q`2PF5.ZD9FNPH1MRQ>FD(<RU+DI$AE&ABAC!+
MI=!^A#L23S@A5.T]RD!.:LK>Z2.S?%;HJKO#+AWSN@?*?X2W`;$G.+L!'N\@
M==BG"@7F$FW&349'X>6*KMV3((\NV5=`3OQ=.A`:@XM'*UH".FZ/2J(Y=J@7
MWG]*?W'!@`7P013/HBG0&,,7"'ON"3LJBT=!>&"'\O`&W:X#`B*X)C?RH(:G
MZQ2+UPM"@QPF/IZ2ZXH+YM3K#9AZO:%Y2!9/V`A(HN]2&CD\O&\RY(MDMIP6
MZ>!T7M3D)4'E?O<[%(ZET>LCY@I+$4*U9D23^5.+NR#T:J(_>.C&/MEA8*93
M@C5<W$K9IE'<]\GQJ<!E&EKMR*X$L$:/7G\-:W1:MZ$)@7I+6*)X(C?M]FT$
M'>5ZR@(`%::-*4.)>A+?(I0%'.RCW$@F_WL,&Z57`/L0.&J<*(YRH</AKU*!
MP[\\VIN1K;TIEBNJ;M"*EVQY59Q7["`2+Y\25'H3ODR3^?(RAJ_`A2:71'#$
M*Q`[,.$;368MY*(Z#!H*"!^%U(/%\1.KK3U1(U(/WM=PB.L<DOBSZ`P=2[XZ
M^O*';_[$\DV:7]"T17;"$S2_34.<-=,/[!W!\&)C&8=X)*SMS]A%Y<>C]]\<
MG;SY[OAOQR=:911IMY,&C[EJDO+("V00FI!E-85.N5Q<L)=@^_!/_P=;`TJG
$YR\!`/AO
`
end

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: WORDCHARS, etc.
@ 1999-06-15  6:57 Sven Wischnowsky
  0 siblings, 0 replies; 8+ messages in thread
From: Sven Wischnowsky @ 1999-06-15  6:57 UTC (permalink / raw)
  To: zsh-workers


Peter Stephenson wrote:

> > - The read builtin uses `getkey()' when called from a zle widget and
> >   when reading from stdin.
> 
> is that when (called from a zle widget && reading from stdin)? in which
> case that's a good idea.

Yes.

> > - Finally, my suggestion for enhancing aliases. I've used a different
> >   option character for this and because I couldn't think of a good
> >   one, I've just taken `X':
> > 
> >     zle -X new-name old-name numeric args...
> 
> I'm not sure we need both this and zle -A.  And having this the other way
> round from zls -A is just creating more confusion, even if the -A choice
> was non-optimal (though it is in the UNIX tradition of things like mv and
> ln; if -L hadn't been used it would have been more obvious).
> 
> There was some opposition to enhancing aliases anyway, since you can
> always define a function widget.  One reason why I like them is it raises
> the possibility of having builtin widgets implemented as aliases at shell
> startup, which is a non-starter if you need a function.

This is almost the only reason why I would want such (more powerful)
aliases: to have a way to define them built in. If we ever decide to
change widgets to accept arguments and to make some of the builtin
widgets aliases to them at all, we can of course easily hide this
completely from the users. They will still only be able to use `-A'
but internally we use aliases with arguments and document it as `foo
behaves like bar with arguments...' or something like that.

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: WORDCHARS, etc.
@ 1999-06-14 13:12 Sven Wischnowsky
  0 siblings, 0 replies; 8+ messages in thread
From: Sven Wischnowsky @ 1999-06-14 13:12 UTC (permalink / raw)
  To: zsh-workers


Peter Stephenson wrote:

> One problem remains with the $NUMERIC mechanism:  there's no way of
> differentiating between the case where the prefix was given as 1 and where
> no prefix was given.  This is already noticeable in the completion code for
> specifying numbers of correction.  Possibilities are either a separate
> parameter, which is clumsy, or altering NUMERIC in some way:  I would
> prefer that it is still numerically 1 in either case to avoid confusing
> functions, but maybe it could be '+1' if the prefix wasn't set.  That would
> mean making it a string instead of an integer parameter.

I wouldn't like it to be such a string because we can't easily get at
the default value then. How about leaving it unset if no numeric
argument is given? To be able to say ${NUMERIC:-1}.
(I had this idea some time ago but then forgot to ask...)


Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


^ permalink raw reply	[flat|nested] 8+ messages in thread
[parent not found: <199906101042.MAA23616@beta.informatik.hu-berlin.de>]

end of thread, other threads:[~1999-06-15  6:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-06-14  9:19 WORDCHARS, etc Sven Wischnowsky
1999-06-14 14:42 ` Peter Stephenson
  -- strict thread matches above, loose matches on Subject: below --
1999-06-15  6:57 Sven Wischnowsky
1999-06-14 13:12 Sven Wischnowsky
     [not found] <199906101042.MAA23616@beta.informatik.hu-berlin.de>
1999-06-12 15:41 ` Peter Stephenson
1999-06-13  6:53   ` Wayne Davison
1999-06-13 11:17     ` Bart Schaefer
1999-06-14  7:15       ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).