From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6712 invoked from network); 13 Oct 1997 13:14:05 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 13 Oct 1997 13:14:05 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id JAA24912; Mon, 13 Oct 1997 09:07:03 -0400 (EDT) Resent-Date: Mon, 13 Oct 1997 09:07:03 -0400 (EDT) Message-Id: <199710131307.PAA28866@hydra.ifh.de> To: zsh-workers@math.gatech.edu (Zsh hackers list), zsh@peak.org Subject: PATCH: zsh 3.1.2+: implementation of keyboard macros Date: Mon, 13 Oct 1997 15:07:35 +0200 From: Peter Stephenson Resent-Message-ID: <"qDm7q.0.B56.spXGq"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3581 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Here's an implementation of keyboard macros for zsh 3.1, providing ^X(, ^X) and ^Xe, as well as `bindkey -k' which maps the macro to a key sequence. It's quite possible I've missed something from Zefram which would stop parts of this applying properly. I can't answer the question whether we need this, or can make do with `bindkey -s'; unfortunately it's not possible to turn this into an add-on module as it has to interact with the low-level routine to read a key. It does do one thing better than `bindkey -s' at the moment: a numerical prefix repeats the macro instead of just applying to the first command in the string. One glitch is that I've forgotten how to get yodl to make ( or ) inside ()'s, so the documentation currently says `' and `'. begin 644 macros.dif.gz M'XL(`*H;0C0``]5;;7/;-A+^[/P*V#>32C;%B'J7W+3C)DZ;JQUG8J5OF9R/ M(B&+8XI422``$G;CMW,UY,C&YQ#Y8["Z>!4!Z?W^?/$^#)[_E MJR>+;10749*[MZE[M=XY31/RSVU"2(]T)[/A=#88$F\Z'3_J=#HV':9P%A3$ MZ\._V7`\Z_6YPK[^@_=DVG6F0\)N$0]O1P2N.H\(^1`5=-TJBM8B2L(K>MLF M[\BUG[7231&E2=XF[PD\[*S;[2]OG+69-$HZ>9%%R66;N*[[`/WU)X"=D04D8745"0#`H=>`V@!UPL&)%+5@HC?V\P.$M4C\+ MR=H/LI3D19K1T%4M;O#I2<2U"7H6Y+E+R,LE`9\:S:.?DBBV!>QH0,B#><=;U9OU^?E[RY-B4'."6][CU3R;=)9T7C#DSE8A^VO''*SHADM!3@Z'%*PS3*:%!6` MR[*N0H!V29JM_3B^)7X<^3ED',0!<:!YFWO\@`#1A/1#*R_\K.A<+<(."TL9 M9(`T'Y'6OW[Y.J;+HK/QP81O0+!-%ND6LZJ\8NEP%,<8,(A+>D5SLDV**$8C M:1*J>(!",AJD6(F%%"'9)F>`-/P760533+TLP1EF'V1#D` M^`OP=9J`;;[(]4U&KZ-TFXN$SFCA`QS&8YX2?[/!?F!0B/@!4AB0`(:U=0@. MB%A\S-(V:1HR!F>]IF$$K!'?RDDI(JG[0(FCX1R,8A9=KCX?QF,QT-K,!9O! M#S(XM3Q!!['I#28`##B>;'.8C+?WA'(._7!X099^GD>7"<]='U#*?`(L#$K% MM`2*@.&+)N<)C]@>HU]HLR]>)CG-"N8.6;.6S*8R@\7X;-Y`PVIQ2!/!CE&R MV18P7A*QI+R%]`UY^A:W&\RW2\@K'.!\%6&RW:)[MCBM;U913)5$]4E";V2* M10D^!R(/@`*TA)5I"!&$+%R@!3@X`$R3@,)_R!PB]CQ14SX"J]]"J%>HN\S2 M-5,I;8"P_HPYXB*!73971^ MGD$IB.F3Z"8*+VF1NS',:%E`6%'H8E$8>+/!N"H@5BU-!6K.>-;WFNM(;^CT MNU41P5M/5I"]!;V,D@2,[:3+#B0'S+G;/8>4XG0IA`[IUMHC]^F-.1O:6S+X M>G.4HLH!V;,DQQZ/,0I!)O*2X0?^)BJ@.GVDG1M(7M902E`@F\74SSIY`$NE M!-O@+;]SR&\GQQ>GQZ_>/CM]3?Y@=S\>'[\^?_OBQ9IV9VXYYW=AV4-R\!S!J,J+(.>,R@+^UZ8WB3<:2D8#R8'*^@1I2A,,R[B MO9Z\?'5\>O;3<=UB"O[*.U@(;X![I=U,*H6*IWAKH-I:8R&3;2%2&A%A,Z!1 M/3S8`@+/9PF.HDHN>)0N^8,TT]-+:!EMK6U$\K$&,NVLRZB^,YTH:Z@A+*&J M_,\1;9%1_PJP\(9=BYZ0%-9^=M41$YDU*5`B!`]-(5A;0H8+U[(;Q:<&[6,+ ME!A^+3(_R3=I3CO!"C(96I42)J@UPQZT9DP@F@&O`9%"C>Q`(8)&Y3W<"H>6 M%%2L8,["-N-AQ*5IF<0UF7F#9N+R)@YL6:M="MP.9.#FK2;JZL*R]\+&7\7% M\[JX;<$2F64"\23345#6!"'YSH;#2:^.A7)<9@">G0P96)T1`R\ MF7`E@H5U.53M@8YI0ZHA6#75J:0PM=3AT\<6^WK5E^QJ3"RV=SIFJ*I+Z*G%SS8J]44G>B1C6N9PKZ82.BJI$=%:G>*9L M\CQHZZ*:NJ1^75WPOZK.1$+=+`E,6:\+H*H*[!'T)EW'FZBG3),^"*9*%-T& M"I__D?Q/`*`2?KP/>=.3TN@H?]+I=$(S4 M7+(7`Z-K6UEHJ`JNO2P8@-8"T50?7&N!L"$:I:*A4KAFJ3"A]*)1KQGN/46C MCF4M'_=4#[=6/FR8)I8=PSZ-M9+RF8K2&\#Z<=A7-\)]$&A\I)45HR^MP)CU MQ;44F)J^66JLE<;52HV)H18=L^:X]:)CJIOEQU9]W'KY,6#JA4EJ*$A"I5YN;,6F;*R7DWHQ^;GUY?MCHY9H1S6?QS+KB'X\\_#=!>_- M?K1B*QKUPQG%498B82T1:G.M`MCX7S96.=Y@^*J)A;J;B%M5TALW-.)I^!?6 M\P),(5B-7A^:1";1UFE6=EBQJ<:E\K'.EC6N%,UJ;%CC0K.A9+L:UXF&.I\U MLQF^5%R9-#:<]2>S8:].8ZRU\0:R!ZW']YP,M4$[VGX`<_I4@45+P9Q?\C<3A M#FB5+R=F9!G[EWCB#GP,6*TV1RC5T>-D']GJ@J$P=?Z66+X@8*?U]`,%.T&H MJV/O7#FFR>$.*L/%9;'"%S45JD5+VKRA?L$Z35*7O2#$MQ#8*7_$WV(K(.`9 M:+S)TB+%%S7,(\RM_^`Q)]^?G'UW='+Q^LW9_&S^Z^OC*TJ09PJB]C86$,5L]-AXKN'N>?N;W60-":>5!9D+9 M6QH4<>O\A_G\5UB3/3L_GA\YY'&^*HK;*%FF;A&E[4.AQAQ^4%FISG+DW)T= M+O'#L-7*R-=/2;=-OB7'9R_(C+1@CK6YBX*@S3`9$/ANFR6DUCX(#FWQMJX! MO*'3[RFOQ_H]#P0EQ>U<1\'J$D,B+S9%=G#P'MP(O6,W+#3B-\VR)(5':1Q> ML.M#&%KCD*L1\[$!(!^<,C;1"79@M[\W=OK]GF(_+&/ZU3J&YZAX#\[Y,9== M('.5EH+5PN+J(4LO>`")&&W\S%^W]N:G9V_G>^UR7((R^?M8:-H]%`06+8'" MR`]'/QU?G!^?'#^;"]PX92]&\V*]C0M[&@Y@W@YZ`_7=V,09](=E3!`'RG&Q MS7'!`;V^>GMR4F;%=812**Z75!HDLH5_%\4_DFJQ,93YN%N-0DU'5O1S^GNK M2CKVR0!W"B`%ZU!YQI%B\O@QB?)EE.5%G.!-0)Z">],E!D!,UQVXA64.NM=K M<$-O!*-6JN^@/W8&@[[FACNU:V9:B0]%#MA^N4T"\8`->$<+%[_`LLK&L+." M%5),N93F8F18T/`+C.N(K-,0UGIK_XJ2?"L^A@FV60Y/HSSYJB!YNJ;\JZ,H MCNFE'_.2ML,8*TI@$JU#!(':C7[)@:.@T(6+-&82NR/PW:C04W/) M/(^7:;H,A:G83:NX=HOKBRTLP6"(F&MDOTRY-F?%KB1&])W6GC]D!*VS/AK, M,XCW?.`YI,5S^^+HS?<7O8LY#($P:QRF#C^8F0[A_S\NKMNP=&0EBLE MA>XDQ0K2JIEQGS(/WY+2C1#>\<09#IS!J#PM^U\Z<%>M@QCP70'Q0,^"QM_O MVIJ!#_2U-7E',&G'"D$/)EUG,*F"(2BL9;!TFZQIX2]O6RUYS_=9<>R04ZBT M%V^.CTY.SIZUS1H$,Q4&?FQ#6T\[CKC M2;>0-M90)UR9TC M;`.L:Q\V"^RIP&("O`<<,F987$__L6$!^^[Q=@(+!.6]M"L&DT[VG$:L.[Z6 M'4\&SKC:,O]E7VO3\+_F^BOI^_\7U^\;NZUM$<4YWV[-5UOV/7YO1#QOUAV5 MVR=SNR5TM/T6^U#8N^?HL#_M.X-N.;>NTRA\I'$.2I">/I5[F!;*>:PA018E M,3%2$(^T4+/E(NNG)_/J8?WPE8;L25O13)`2YZQ">. ME'UF++Z:CF^5KR492`U!+AK92<`FQ35RE)`26WR5SQ M]CNJB&?+`=_S2AM%.P3^"(69MDHCG7(%VL$ILY00YOM^RY&D/5D31`UO./S)LMI1]O5$X9MM.O-HV(TE%1GA+# M$^AP92C:R+[5;U6@F1B<:N#'C"JF<9_V]G6OV@=W4.60!#5LDNW**5)VCB[8 M?TIZ%M]6*7UP@!$,M)E=3\!RT\:YJ\I!PZ!JIC3A:6>^-3AV=,S/C:QY03!'SLK&CGN-1JA'.K73&!I5SM8T+,4VU2'4ZP!GS--)U9F1K.8 MX4S5_`<"W9]*A$52*F>FRNPJNY)3JR)OK@9^#5;I!KAGB90#];O`;^1C6$?@ MH42J>H0[6N_)F&%J?TT3@6?U\]=OY^?\*(`IP!KAN[??S]@1,G+P1YJE'4&, M_//T/3$=Z#K8W&H.529/W;=WC9EAS0#S'9P]#9082=6OA]Q3TN^@50$3'XS(YV/_'0*7?4?6KC]_Y,Y "``!D ` end -- Peter Stephenson Tel: +49 33762 77366 WWW: http://www.ifh.de/~pws/ Fax: +49 33762 77413 Deutsches Elektronen-Synchrotron --- Institut fuer Hochenergiephysik Zeuthen DESY-IfH, Platanenallee 6, 15738 Zeuthen, Germany.