Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!umich!samsung!munnari.oz.au!metro!ipso!runxtsa!applix From: applix@runxtsa.runx.oz.au (Andrew Morton) Newsgroups: comp.sys.att Subject: An MGR modification & bug list Keywords: MGR Message-ID: <879@runxtsa.runx.oz.au> Date: 7 Apr 90 18:35:15 GMT Organization: RUNX Unix Timeshare. Sydney, Australia. Lines: 221 Last week I mentioned a small change I have made to MGR which enables the user to directly click on a word on the display and have that word sent down stdin as if it had been typed, rather than going through the steps of selecting 'cut' from the system menu, sweeping out text and selecting 'paste'. It has been suggested that I distribute the mods, so here they are! Problem with this addition is there needs to be a way of distinguishing this usage of one of the mouse buttons (I picked the system button) from the normal usage. My version of MGR runs on an Applix 1616 68000 system (the Australian Applix, not the US one), running an OS written by myself. This system provides a mechanism by which a process can poll the state of the keyboard shift and ALT keys. I used this to distiguish between the old and the new use of the mouse button, so the new point & click feature is invoked by holding down the shift or ALT key while clicking. I'll leave it up to someone else to work out what to do about this on other systems: the function shift_or_alt_pressed() should somehow return true when this new feature is being used. I ported MGR to the 1616 about 8 months ago. It was a big job: my OS is not Unix and the hardware ain't got Sun written on it. The dreaded select() system call took some thinking about: the first pass used pipes for the IPC stuff. That went OK but I now use installable character device drivers for performance reasons. The 1616 video is 960x512x1 and the video memory addressing scheme is not linear. I ended up rewriting the bitblit code from scratch in assembler. I put a complete TVI950 -> MGR escape code translator into the front of MGR so that existing 1616 applications work correctly. I discovered a few bugs in MGR during the development and I will include here the bug list I sent to Stephen Uhler at the time, as it may interest others who worked from the original comp.sources.unix distribution. It was instructive putting an MGR interface in the 1616 word processor: pull down file & command menus, mouse cursor positioning, sweeping blocks, vertical scroll bar, resize events, all remarkably simple to add. A bouquet for sau@bellcore.com: a great piece of code, many appreciative users! To keep the size down I have compressed and uuencoded the patches and bug reports. -------------- begin 0 mgrcut.Z M'YV0"D (%)@$1)@V!LW("9.&#(B":,+8*0/BSALY:\HXI(.&XI@W9"C2>?,& M1)LZ8]" ,',1!)DT9LR : DG#)V4"D:"$$/QC&P*1.& M* @X=>@(A5,Q#4<0'"FR9,/FS9TT;LZ B.B&S!V)8,_H4!!P( @C:>3,H6,T M*P@W9>Z &!,518JC=.K$7*L@B1N7;[Z(B3K2C5\0*,@D7DRGL8LQ*0A+*:,T MS)@R:]V*!O%"!6*#)LNXJ;.RI9N27\MZ-=K2,YTT$ZO*UJOB1=O1 F%"C@VB M1P^#8V[GYL-'=_'C**XD<4+DR140*O["2/$;^)[NP-T*1V$;-T43)IP;1ZZ\ M#/?PWME>L8HF-/S2I\.D7MU:SEW88$EV!VW^E9=;; )BYQM^02P!11,Z@.!$ M7GM%!9A@,O4&GFCC$;>>@>>E-P<:,-'QQ45?A,&&B7#(4<8<1)'AUWOP[>$6 M?E/D,5<9"%'6F%$CECB3?T$P0<53+L*HD8(;PL<7'2C$D,(.30[41Y4"E<&& M4QV"]1Q[YH' G'K024>===AI1V-XW\$WVG@@@H >F6!.M*:; GU7V&&2*892 M1GE<9E]X+G;VV4YO7/7&&'S)X:(;G\TQDTQ//O;5595NQY9A%4+Y%PI/7L:= M @E0T5%%:+RQU$IU0'K;&X=MU=4=AP,"^.W6AL\^>>32>,2A;%O!KLAU4=;%@=" M#$8)3*O,(#,,@LV2^NH0S)+BRAFQ+!^L:LU>A6S:7!+?%M9>JAKTJ\U,MBS5 MM'C K#0(#I\,=+*'49VQRR#@850>6XMAU5-OS&%5&K""O9-5TU(UME1H?!32 MUA&-"'5(59OK(ZQI,Q:W0@.;],9$7RP[%$5WSP2S46R I:5JZEKLWQ@+ZSSM M31W]')%_!6N.'1PNR[%UHX^^/+K-5M>DJQ&YO CHO%M/&_.YDE]&J3 M5XOZE?GK*HST!1UAB#$'\]B9D08>MDO/ELXN!B;' M86FTT89&:=BD91[)RJ2O7N/^)]4<$4]L1O:K6FNP3"@( 7'&%!T4F($-83C# M'/Z2GBM\80I."((4C! $(3"A"%_:#G=P5[XZG \%VZ$2J? #EK>I* UZ\,C M:B*'<<4M7.,2GERJAA]3U:]^L.J)3.RR& 7*[2)I$%?$V+ 7%\S!!:QYR5Q: M2!FX'49#(X!)6=Y71D#"IH0 M!"Q(P3I3P,Y14%@&GZ! !5S$7@JFM,4NRD!F* !C$,<(@C**Y8PJ2N,:V_C& M*\1Q:72T(Q[]N$LBPP M(54"%"JS@;+$90=-*/^:)=,$H&")*)&*:N@@!_BI(#LF(:4:W99".P(U.2 8 M:E'_8AHD/'"515#F,E,HL'_N%$B1[.A3A9JZ/% 5!%;%)CQQQQ+_H" -,DLE M5G^*/3D8= ?) @$/KCE7IMGU+RO@ZS 1AE.\IF$%*]A@ KZ%N_'8M* YY:0G MT;"%-'1!3NF!JP^.O=(NVP]2F+*FI5=P-=6.NU%M1DM7;*^'.N%>*YTH"!"P8QBUC P!M]Q# M*L9.H0A4:,(3JG#=) SA"4Y @0D<1Y0O/$FK@SO,<9;%./*6X:=C<)%JC.)> MHXSW#8\SFYS]W$IXM@=M K7XYSV>L.#KWS=0%_\ M$J7"^<4P4?HK)Z"QH*!V9A M"O_E&''>[\:WE ?YB_G/I&? M"8 9(-V+!Q"T #(#Q<-V0!#8*52A"5\0 A&D0.AW_7-X+L##'O_R L&VTK;N M41?6]%RF1P_+!9C^RP\<+;Q/AQH$$>KF-Z53T0+.;]*DL30*0BU"<.T+.OSU M,Z!1D(=!%_K0B5YTHP=::CJXP*Q[C+5<X"OQ*A[37.@%I)_1QF*Z:%\C@OVA/G0%]=X[/A-O6W+7RS>SN>UCL+ MM)Q/ $G@L+W>+M-%85C#?Q-@W,8"<%QW -4>12L&Y"N_IRI 0>;3_I?C<*ZG MXXD[#^9N.= >GRG7/ZY,$2^QH+3U\9&OVI>ECSO\.('D^+[(J L6VG"S/>[' MP7?A!H S(8"3YU8--C-X)7Z0@72!17>'\6>WE"R(!7RBY7FD!FF2!G6D1UQR MA'JSIGK&YWL@\&#*@P:N%B!>L5LV=GLAF'L@J%O&UWL99'[!)WQH5WS+ASO5 MAWX[V'S.!V:X(GWF=W[)MX,JD':()3/?%V[-UWR]MWG81X @HP#X 05-(3S) M(A5>PG\)< F 8*A9A0)"#)YM5= LX,&@U@U)G>R%FI2&&XD:(*QAX*SIX(+5GL@P&&X M*((N*(/+EX2ILX3>!P*CUGH1@@+Y)Q?"" )#\ 5.\ 1#@ 02I%50"$ =N' , MYW!$-">^QUF>!5H$Z#W@8SF&B!=^*(C_U8-'6#R<.#.?J#-_I&7\=XJSF(JB MQXK81$RPI%6PB *R"'BAUVBV6(S4F%([IN([_U7SY^#WA M8SO_2%1K98K$V(H3^8J4=Y&@)VFZ:'EPY8M1$UB_2($F6391&9'&*%.QM'RJ65,8B94>F7"]*)): Y:Y69/N88'A MEF>_J9;-*)/$^98=*96Q9'QT*0=VV7K.^9/0&932V9=%"9C+!X2.N9W^^!0 M:9TXQIZZ.5>&EYI5*9]7N5NR>9_OJ"IS8%CCV&?MJ9+]J9XMZ6!I"9,#RI8% MRI^[A:"5E)-UR9P.FI<0*C#1:1336:&!&82@0ICPB)]1DYCKL9CXB)W+]9CO MQ90V8TDPP6[N9G$9 MA7%T0&\;UW$D1:A+DG*:,P=&D7) Z7)0DS!& 91:%6\;*Q*C,L>Z$])8GQ8V\7VU," M2SZ<@4"'XB\)BZ@W*U\E.S$^2VY'9SE"&VZ2&&XB0R%.BR$*6XJXBN8!#%66P83X3*2\E8RX2N"YX4-T3@O,@<)U"R.!@<-,8B41R\@@E?$T62 M-AWQDB;V22\#A1?#,GW_V2=L.U0H4 1HZ 3?E*Y&4 1$,&)@46)?P$;3L:1> MAA\_L'\LTR?I=6;JDF:'T:0)PT?)!7W2IP#?PKJCIYB>]:QW.:5<( >=-2;U MZ%DK];O-$;QY2@>?127)I0"F0A$]5"L*8!S2.[UL,07"\TF^\F$; A$201%_ MRB^GU1$%4D@Q]# *HW$2%(@'94E)F= ME!/B2Q'U\[XQ<;]I,&=@T5:?XT1CL3%:T1+YRQHZX4((I(5V013)0;]TQBS[ M2R)!41 'X3N'*F]B,1(NP!:C\02'H1_'@Q<+042O(3Q&P;VYD3XMLCA+8A=P ML#$F["N'S8C?%)AH0!(L3Y'<<5+(L4",Q'KX[;00G)Q M4 =R>!0>1!&IHA= @09#;*?O$H;"<\1W02%S$%^JLA3^H1.%PK0B<2IBD ?" MTP(G)$9+LC]S\07#+#!A0ET3?_81"5(T:M+!5) M0E3W^RIN<$0@, 7A'#MB<<43_+"KS",D/ <*P!.*?,QDX9DZ$ .[ M;!I7X,N+K!\3452G_#LP<;]S%!:K8CK-M#9G[#048;]!(1DOH@#>DQLMX39] M)CQS ;T)P"E_^@7S(R@]!4/NHFIL! 78@10>="C'41W@])>J!5DO]Y3S)UJ^ M"FT)%*P-] 5T>(99]:RB54!SD0=+\1>$JVH/) 7UQARBE013\$!#( 5%4 3A MA=6*MU!Z_9\AP-=^#=B"#7A_<=CA9D!,E1>J1ZU@_-A\\-:!]A>=66P(A6FZ M9@:3?6J0C3L%)'B=/3P(I5L]Y9_(F$@@ 53UM42U%- *(E(*UJ;V+]M #_= MO!>OD],*C5\\;=OC8P07$1@1(SSIECW$#0(YD ,E0&>C$W0SM#_T9-!$Q,4= MX11(305 M P=\^S0^4\"2DLL*L!0P4A$7H4LZ(1GTS=%4G-!R8]%9K-'L;1!G_"LR<-)# M7"5/0"GX)1<40<@%K7KZ<'0,OLLY) ME1'CC1 2P1 (I$\9'AY!@#XNH\+S^S048Q.U/.$<81/C#3]#%1?O8^ 8,2EQ M>\2.$@9YH G,R+)C1TG4+\ZK!)P\ ;FHA,SO(<$2P9)(LE1Y1DJ0>8A41+# M["ODZX^D7!)K<]\'C,EU4.@1\3(%%41U8&$[DX57ON)0XS+<[NU>DA4*$ 8% M6^Q)U;*H4LJV+#%FL>(A,#Y"P"Y>\KR$<50$7_ &?_ ( MKP)[,C<.&P8MPA3S/0:#TL<,7S>)_%Z9H0!'12J4"#J0<4 )5'9Y5I!.4 0. M) 1(L&AK@3LNT/(M3Y!.\01,0 2)EO)A+E,N__)!4+#CW1K0$QMJH0 ^D&-4 MA)F:*?0=!B.>"4;GP#S<;X6PA'C(L%>+A;ZP7@.$Y3D?>LQ0Q< (A708HU2HE=!LG%"-&\=\?\=!E$,M#E6X!/!M4/D#P_U&=& M4D !5",'$([(DHDBLB8\Z)M-O9B@3:(*F1. HD5@F M\#1-)!08!DZ)"J023\^&2(KZ(1ED!T_81&SL!-"2SO+?A* ?(8(N(F#H"H<0 M\$:@F&I392KCK0VBP",D!?)!"A$#[.B$,;?,7@1%N( G0"/4#)N0_$K=86 : M@*SQ0;XUR 8+WL*S5% M^R$);/$%LE7&4P"A3YDI@+TB$%C7DL$0>,E0^224 MI;+^8$Q@ 2*@= D%-U#GO,)A*%TMA8\TO\[4!Y7>!U$!@G#4",((00C+E*%" MA(JP533"=,:-?D DK#4Z<,+]0,SD%$Z H>HL]4,_Z*,EH3UZ1JSC,.+MN_&_ MM5$_UH>O2 L$[HBPA39(#-?@IBA@N4'.3!&' .9ZQ_OB;[=.!M0 &P#<)(;[ M\ ^K!:2A &E( WS'>[M[DF*&T9'EHB68X&&P"ZLEA:D[H7,MS@W @1_Z07/L MEEQX*F2%5T I%B,L/+IK4 3%9; S "N, >-&T9D;7X #BU!<9 %^ .DW B M5D39<1&]VFK9B'_!(PX]GQ(2(\OMHRR!! ">OA1@$KE##DP*+J)M206\@./: M RW3'O$E#< !IW$&,MP;'(A/C?)=/YG2\2Q1ZS$!'P,/W SP)(VD5/0-D/@ M$^$'\W$8XL:+V$173'$ #B]DUJ2-F! H7P L!@$H4 26ST YB^8%IVR9J9@ M\F!$I"9:47[8,QB !V+"D# (>,"#&9MAB/U*0S%\C&V05&"'!'!_I 6U #K) M@1TF ":Q18J>V5MY": JJ@10(2>.PU;LB@4)+(I%TT 6_TU4:79I<;K('ZA7 MKL[:8X.+% !=W&8.:[^P_) MG+=C1J!P SRR!0DD@2. !$+;9-,F1F'5)(&*\F'^DVBC(S#2T3 >-'4&*AP9 MV"T-!9VH$W8B6]C,(\HQ.02Q4"8?Q!=3(3-Q)KWCT"6>GDR"#< !," &.*N7YC;BAD\@91/M,KR['680$$*+"PO@< M-N![HP=P MFL1F;, OJ$'TR">?XGHLB&.@\IW#^@@?49C7*"W[L8"5A?]H8H9 %8 "^RO? MD8&!I_"" P#Q/,=!"&"7*Q#8PDL+H!EE(T9^ 5:#0?[,C4PAIP8]= >_DRDW M9:?4/J"2PWP3%RU@I*FEEBS25+W+WE$<^R2T)WL(;$0ZO#"3'HQ 1 MKEASE ^2"] F M -VTFV\/"#H%[C:) B 9> %14VCR"(,@!JC87\@*P"S*$9%>ARUX M!RS2#T]0 5"UN0@8Y$!0F7"1RV5X,JYPXC 9V4P-;:"2H9T1L^L W")L*\K- M?6B+AKCWO)Y&$TCHEX$Y8HQ"@AJ6WL02Z\B7)$Z@-;:%Y) M)2'"(F)I+)U ,-,(DH*%#)7N-BXZ'ZR($/GP>+ %TD<1J -(KX_"&8H 2!N;(&4! MA)0F'M)$ND@;Z2.-I(3T!U!223,J?B.2"*'"PR%\LV;B%5H .2,/4@'.S04] M]N"@(J!$%5DN'IZIP=<4%,"T !P7]# TRD=Y%&JH:C@4/ &E+,[*-L/:YR*S MG*H!JY"]\A(=%3S;&D7M?\8M-*8 \IR)DB-&$1;W.KF0/>F(5 H5YY*9]LB#, MPOSG66H +.03GG%%?('5