From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gatech.edu (gatech.edu [130.207.244.244]) by werple.mira.net.au (8.6.12/8.6.9) with SMTP id IAA10096 for ; Wed, 5 Jul 1995 08:21:25 +1000 Received: from math (math.skiles.gatech.edu) by gatech.edu with SMTP id AA15049 (5.65c/Gatech-10.0-IDA for ); Tue, 4 Jul 1995 18:22:41 -0400 Received: by math (5.x/SMI-SVR4) id AA18424; Tue, 4 Jul 1995 18:19:36 -0400 Resent-Date: Tue, 4 Jul 1995 23:20:30 +0100 (BST) Old-Return-Path: From: Zefram Message-Id: <26323.199507042220@stone.dcs.warwick.ac.uk> Subject: Completion patch To: zsh-workers@math.gatech.edu (Z Shell workers mailing list) Date: Tue, 4 Jul 1995 23:20:30 +0100 (BST) X-Loop: zefram@dcs.warwick.ac.uk X-Stardate: [-31]5929.65 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-Id: <"NHWWY2.0.oV4.tvR-l"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/145 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu -----BEGIN PGP SIGNED MESSAGE----- The patch below is a reorganisation of some of the completion code, to make it work out the completion list anew only when something has actually changed. For example, if you list the possible completions and then start menu-completing, it will not now recreate the list when starting to menu complete. This is a big advantage when using slow completions. Some of the code is also made a little clearer (in my opinion). This change is a necessary prerequisite for keeping the completion list visible when menu completing over the end of the line (and into the list), which presently clears bits of the list as required. I intend to work on this task next. The changes to zle_bindings.c increase the number of editor commands that will not stop a menu completion. I take the view that any command that doesn't perform an actual editing action should be allowed. This set of commands now also won't invalidate a completion list, so ZLE_MENUCMP is now a bit of a misnomer. If you apply this patch without first applying the recent patch that reorganised the input/history code (message 140), there may be some fuzz required, but it will apply (AFAIK). -zefram begin 600 comp.diffs.gz M'XL("#:]^2\ VYE=P#L/&EWVT:2GYE?T9P/-DF1-B_=J\Q3',7QC'P\6][, M;#9/ X)-"B,0@ %0M!Q[?_O6T=WH!IOR&4?)KEZ>@VY47W57=8&=3D>\R,/[ M;V)Y/HF2:93,BWOAO32>-AZGB?C;,A9B)/K;!^/10;\O!OO[V]_T>CW/F,;9 M4C+\6 Q'!X/AP6"/X3ON'[;%]FYW9R2H*>COU[],92Q+V0LO@OPO7<$M;'3% M?YV>G']_?G@\;/UT:LTGYI1V*@M MUM3@T3PJ>T$^7RYD0NM@AVZK08\>/CH3;^GY^/E#>[%TE?3"H*C6@PYL\XK] M.N@%;#S-KQ6@:GG@XBB1>'87'GO3W(RB\S_]SQ/ @=[=Z:,G)]@%\R$MF1;P MU/NSTD(]>9:^O93Q26T%R6%S!$;W.8FK_'HR8N3YV?6 M%@F$]JCA\=D]!L/D;A,Y_,8*0^T#&*+._F%ZO>R=9D' M29&E!4MY@6-T#W4P-*H3Q:2./KF=3.K7";\=N_K7^[_(N!LP<1M8V*=W!X-^ M=S#8<15O-1WNTIF..MS%E\D4,): $%Q*W*YI0W,-,F6 E!'U\LGW3RWT+I,( M&1$.;]E T^G:0=$I9 M:,PZVN(/@MF-7L4MP[.7HW< [SN[+D=?1:!+036&E81<1:K'DA '_ J'R*#L M ;\&CEI( M ^/SVHF*Y:0HHW))*A_ 3',=-_V9!H; M"'AVK>KJ(@HO+).ZR0]6Z_ JB,A_'C_Y>^U]+TLS!0-/7C"Y",*B-PG"RU60 M3[4JHU[=6<5H=:6N$%5GZ]\?47[&^IU1YN6UW=WN8&^TQFN7$7A(RBF^BK#% M7C%.^?='IZ:)C:T%6DN[&WVE%MN'R= ?YZ@+9>%I2H%;@'.K#MXCR1 M<]MF0M.UED].'E:*P'5*LA2DKO)_J:D=X!KM9VEN8_8J4AU>K/K0L(:!S2RL M\%]GX3\)_C>Z+K>/&E[IV ,%L[_M2H?RAGH3" 34"YS9<_,@K"6@C$@#*$! M>.T?'[TX>W%R_/S!C]:^-TZN#KUQ;O7^AJD5H<'#TV%EST17_"[-]1M^L2GL MG,HBS*.)1$<8PKQ(SF)*/:ENZ%6==84)07,O0D>#'J-U#X/X5VM=;)#6]3,] M:CN2.7_T_TCZ.Z?P,O68A%$B??&8K![,!BNWU@PO'-;,3S8'AQL;V^^K1@/Q]WQ:*#U M30-W&\U$JQ4'10D*6=PQX61;-(]$ZTW8^W86!_/">7/G#GF8P"-MG*413*?8 M;K4/[4GQ2N429WES7F5?VN)7H%:C@0#-M>D5G6@%RD\MLC:!XYRJ0QR)/JWS M_CD("H?"!N6T &\^>HU3KP_BY+PSIME:@^(\%.TNQ(/=%7?;>" DBT:M$NE; MB]H*GU%R%<31-,"$9%&J%6X/4FW9@/.%E]=*.FR.'QR,1@?;HW7IT"-JMWG] M_L%P<,-MWEYW9T]+!_Q7E$$9A8"I4JQ 1Y<"W2F5#:+TJ3 H=-!2@"8:=EX8T /2D"UF2U><)EGH,' M)-)$PE:@*RK4W"U\C=WE10!;# H!>H9A)$^EP@>!.DH@*[;OB+SF41\UV$J*B^ * M1$20#K(D1* R(FQMX1!K,H+$MX?\:GVVXB)=,<[ [XB#)+#PPF)31@LI<@P& MO$O0!#B6EE#T@&&HKP3\/TF3WAN9IVI1P+39.:P0" AH@*L2T5I%@&ID.NWX MM!7]'?1$A1IPZ$7T:+C='8V&QEK;-S888H#*;L .)[(D5KX($O'O95&*F939 M7;KIR.2"UVWDLESB.NRAO%,>$RI[Q8'BZ$@H%4 FPG3K7K&%[ ]9HE6JT>L8Q2/PIG+E\M90'2J;2(/EL, M[^%<#YX^?G9^"J[Y.3ZQS06G1#3,R0P1R<;CO.J-LOIU])G]/85]Y*NHD&*> M:F4) E+R5K6Z([5X[UYM=\W.UI9"FI^C;D:DV0-.C/J/592(4,MJO6VI1FOU M:7I> (/$LJ7U:YM9;G=O!PAA[,;7(<1MP'A@*>*OAW*?+ P'^WO=X;"J_KA* MH^DW.$%E UIL'"%X0RT9HT$B=9F ']VVZ/8 1H1E+,(0#O'DY>GIH19\])9F M,Y@ AA:S ?XS[-*IP6OMBI1?1L4,!AI)YU4S\("*J9H0!@97T%&6V#O ?V"> M3EJ8!7O5@F 1CLC[2%<3? (?) T1,BRH'"@J]4K+I(CF"5A;7C*-S71D(H1X MG8)#$A[H)A'EH>$'L,S:CJ.B1-IKQ7D>)>?U0GG.UQ< GF>PGV5-MR MQ6NV5T L&3+-E?EFSF\M8#@!8R!#>Z\D M34*I!%EA5OL@'.B::6_6,^I8QW&LX@- %2XU7U[SZJL@*0MDH$)*H]2 O:/Y MA3YI34OQLFC^#-9^4L114'H@;HU0K?"KL/"H\LQ@7:Z'JYAVEJ>+-8V"]66@ M;O0D\)>D*[T,-D&R>D-_I\BY1<\""AV(N [3V"+@P6DVB^3)<*D8T*BUK-(TTV MC5::5"OMG_N_5+M>C]K5SM>Y\)F7X90[#.=,I)S*J2-)8$,J_H.(7/]?8Z1Y M-% TQJF7F>+/1ID'Q07$W4:N&V$L@YS\YB.(9 K00ZV7+TX@X*=('SRZ17J) MF8$ME1G00,>G/QW_\\7I\8NS9\^!N3DQL%C&Q/@#D."W;VE,0[1 B]XXH(D# M]'Z6F#@B$9PMRA:>JVM.U;7@$ =F[X;\98@SILNR=?;@Y;.N.'OP^.7I&3[! MO. WQDE8,BEFLQAT7 NPN"S;MG806F4#6.C2Y-LTJ54@<@U=*W[TR8]""70>E5J?<$!SCP7PA#P2)!?)E@@9@H4@B5 M)E'I)C!@PC"=2N*=PN@1F.:1Y2JA_HEAS>FU"*Z"* XFL10M$[]!U-;NDIJ" MV69+0!UN9YK*(KE;H@((DFMXF\QAVN,X!6:E<,J>'I.?98#%,=3-:659("-S M1@J<-UF&,,%/D@3Q:"& MG44K_(0^B0;L'LQ&BM>81M"*"ASV-TN!(3AQ,0%V1&H6VG%P3D-I "0IS =[ MAA.PMK:BY/L=>@*TP[^.O74\!F5Y\;&CK"\]:PL,@S_,>[O1F3*.VXWN'GEY MG^7WC^IEC>2/2K2+6^4X\.CWQ0HQ:T/C8:*6S&W M,FYEJL6@& C/^,6,7\RB''Q0?#!/>B_P^,IZ-@+8M 0P(LV-9*/AG.X#J029 M#"]8U"BWBL4T,@M4(A6MJ)H&_LB"!B8EGS+E04JH'D=<((N$:195+$+LK!UN MI5>K^=BM+5*5:T7C -H[*")P '.)Z(1=QV!%ZP]' N>+^4I)[*[CM M.W"H+P5:5:VG"TL4/@=_?DVX/0!-N..4;ANC,TW1<5(F1P7(@HJ'^3;C&I@, MHMTJZ:YAT*_Z1C,JV*42%+>TL_%=,6<&;:5YE8I*D:.!=[-[[7H&"HSYV[=@ MTGO? B EH*3HB +/!B'(2F&' MEL#A&)$%1(OJ/*:2P1942\C L=BR8DGN+#Q]=(^+SH05>[;%?XB^2N\A(+D$+Q_&ZE 01O8 ME"L?$#(,U3YU&' 1%"LTSF^/Q(_'+\Y?O/SAAT?_@#E^=B;X!>#O_G?_K@>K MWZ>&H3"GH^]8,QE&06RSW;_^YRYY"O\ZNKN9X?YJ$K:CG5U ]:Y)V/YA4,U^ MBP?9A[K?BW/S=B/JFYCL^AKX][/^/ECA<7]@6V&*,F%_=K"YEOQ41-%JA-*< MZ _6%"!JOD507(H[XL$#4S]#N.0P7]U6-#J%Q8P-M8.^X4R^M+1&]?M?/*!O?0>CR#^'(^=3R7> MK<\*\A?[9V7]C\@(4*B:SBT05@&U,N6\'HI.AC((_S:/Q M.TIKV611>'HIL M:\NXD"6>,@K%7]GUW1(#<< 3N?YQ"R8 F]IA!QEGBJ?2Z3EYM0SBHBW^RD3? M1L]]>S"TB?Y99^[<[D-[";^[/^K"/_M6+9BN>4-O/4FGLA7D\Z)+S@JF;[03 M8FKTS(4(UKX5P17*3/$SB<\O7&IGFC9O-S(GF$L+=74]W-L!W;/G%#U][)8Z M7W!/7K3M[8YACWLF7].(DBS-U)6WS/5]P)L8@^]"FE+.6+X&A[ $EE$>S/W. M#Q0V)^D*=<=L"8: :HD+<"NUY4+N2_/+UBS%CYUX$7(CU4KJH'CZ+"W*"G:@ M<;H_!E=F?[QG[.NG[U?\UAOV(GQ_M,L'L'RQ8Y6)*%>@=*\SSE,$<1044H>H MC>ERD8$%OB@Q-=^BE_#8%67-EWXH-UX@@;I?17!*K?/I;L7RC]45)COS,#I* MK*ESN3!N0O/TU&PO(?$(X;^+)227A@^F3>2=C=5\DZR^80$+R'-ZT[ M*A/G>Z-295BCU.]O=\'A'=L>V)=$L&4WDU28^RAE0&?\_UIB2"ZR\KJEBYF4 MP:PR"C.3_(7N>HJ#.JV,RDP_TXL 4^VS8,(-RI0$LAH2FP&QG3"J3D/7^(&N MDS0WO)3%!AS9U\8\!B\2"-@<1T_L7&9QEU7.!&- 'YD;TO;A;\X-?O';[B-W M.)\?.X-5UM7S)MNX8*;'W'Z2KV\-C:RES9JZ;&"&-9<6BVL>(/W7POL<%?B_ M3G.ZP6V:''052V#:C1-N&.! Y(/7$'=K*8>9SK?.4X$?Q@C.QNIZ@C!-RBA9 M2GVG"%& 75*B "O=WS,O*=C+MK6 =]?Q=+T5[$TN8K%FLI3PU*- M534L^BR9E)>TLVI7?A/R$44KE@Y292H>970C7A3M=2T+>\MV+0OW?&@M2_,3 M:EF:'U7+POOQU;*$H&!+'0@4YHQ=:UBMM*7Y4:4MS;72%J&HQ]>#-U2S] R= M3#5+SZIFZ0FK-,:"#;'( P]^)PS/P9]:7-,XO*&LC87L:CI?A>!B.=^'W+.B./["-9L.M8K ZF"VK MCK@.$=8U2%F:W.L;<2J2*@Z7[F]-2>H9ENJ2Y&F[J;[$%W$Y2^/ MTRDM*G]JI\N&H@JLH=YCE;E*,Y3A=S%;5YP[JD\$ B]@Z$_HWS.PO$* KP$M8 MTN(%.AFKRMR<@F_PA$HWTRG7:;#=QL0$+LD*VY3[Z&^GZ$,O^IK(.(_DKU=? MMVK-#HIW+LD6!?2%79?K&R-E.FU^UA/C>@W]?5E5F.5*3,\07=F'[[ >SDHS MJ,OE]>Q"@#-860-E%#KM)&3SVJKLTM$F#ZJ-:>:VH.Q:0_EW1?1&IC-M8]KN M7<,QJ?OLFLNDZ,.9R+;$E &'-70!BN.3'A)Y\%Z;NN&?-GT(#E3?VJJ.T)[+ M$M1/0 ":PIW +JAA9V6PLPL?\--<'<;0GE8/EC,DE?B.*6LK/P%5"!_GM M% 'C#^#A#2SZE4D>?R5BQU^2S%Y%-AB-@>S;YN*J06,FF:U"::[0F?5!)!(4OQE4ZGN$'FAPK\Y>V6,[,H\G32<-PF4M7$8:RRZZ44OB@5%(= M3\9R5JK"!HSS+0W%AG'3)Q+-ZKLZ7VA9B^W3^A?475'YFG7M5@LXZ0:KI;XP M1V_2?,I+49U0\=_+LZ?XRPDZSJSE-"W-MY[/7"_[JVG!VHUK5=?!I8\T4Y!J3JI_#V,T M0%LZK"H /X0%.?RY@?7XNP:OU2T^PNS6_3F/V;6\.;2L&\GM-[E-S78U\ZJR MWJY#^(>@J5_-;.^!FMD9.S\HXZ0=;Q2XJG@)QVDBG".4OH,SF3P]4!P"%Z[*FHRQ=JO[17=ES-+IAS,8E\_/B[1P]?/GWY@B)WV!YR; N<;HSC21:987'%FNG MKNK#ZX;60E111 $),_Z3I[C.=RF#HGW P[H.7.Q[\;V_7TILV$(3O_15;)(01 M1C*!V(DX]E15O;2''I*H4H HEHQQLT8O%#+#@@F,9SNAI['>'962VB5-ZFY1SB;TO2TZ' M$\R5V*$!%=?M^U4VNFU'N>+=BI (#](MP,J)]S:>#45"V:)(XQ"ACO#&'];C M7%['.YPY!N!J<+XH!MUP&)Y&1I"L#6+=\!\*^8O?Y%M"I&Z)XV$Y]Z*VS)P MHTN"\M;B[F.P[2MY"Y*>OH:D39422?MV?N&L980"H)B0!9\6#SN98W/F+2). M1650[&>6K79@E)6I!_?G^!M843#.'?+#\0"I1RM)8BRQFTN%P[%$',P##0WO M$Z^&!>^I##QXW]W,[LB\V2AMFD*Z.\9?*9QR*N"8X]>L3%8)F42F,3FQVV7B M):";6/4'3J95VR1X;I.*X^1T1(N2UBHK<';**X[1.W'=R[P:LU=7_BG=3:NM M\A*ZSVZP4[I8T^,!^F(#X4%AH.!%2C EUF7C(F9A&3:T<0JNOAB$BZ8WP?1? M/W__Y,K["I4(F Y/RPT&0DRL5QI)=;D2'K[;LHU.-51WUDLIKV?YO"JN8I/S M+J.?L*(+-=KD18WV3T3&G&?CC>&1,VD[%:V8(\(#5\RI$D^^?]4%^(G5G/]L M"]G43;,[&-.K:T1^"NO9=CV>B:#DHVB]T,7^LH/:?V"J*=NFAY3X2X54TU.^Q>E07(0IQG^$^RD")(B.&MHG@'