From 826263c6297915d7735bf45b4071cb0a68bdeca8 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 3 Mar 2009 23:02:24 +0000 Subject: [PATCH] scriblib svn: r13932 --- collects/scribblings/quick/exn.ss | 9 -- collects/scribblings/quick/images/exprs.dat | 2 +- collects/scribblings/quick/images/img0.pdf | Bin 2520 -> 2520 bytes collects/scribblings/quick/images/img1.pdf | Bin 2474 -> 2474 bytes collects/scribblings/quick/images/img10.pdf | 14 +- collects/scribblings/quick/images/img11.pdf | Bin 2507 -> 2507 bytes collects/scribblings/quick/images/img12.pdf | Bin 3655 -> 3655 bytes collects/scribblings/quick/images/img13.pdf | Bin 2851 -> 2851 bytes collects/scribblings/quick/images/img14.pdf | 14 +- collects/scribblings/quick/images/img15.pdf | Bin 2843 -> 2843 bytes collects/scribblings/quick/images/img16.pdf | 14 +- collects/scribblings/quick/images/img17.pdf | Bin 2520 -> 2520 bytes collects/scribblings/quick/images/img18.pdf | Bin 2474 -> 2474 bytes collects/scribblings/quick/images/img19.pdf | Bin 2473 -> 2473 bytes collects/scribblings/quick/images/img2.pdf | 14 +- collects/scribblings/quick/images/img20.pdf | Bin 2482 -> 2482 bytes collects/scribblings/quick/images/img21.pdf | Bin 2475 -> 2475 bytes collects/scribblings/quick/images/img22.pdf | Bin 2476 -> 2476 bytes collects/scribblings/quick/images/img23.pdf | Bin 2475 -> 2475 bytes collects/scribblings/quick/images/img24.pdf | Bin 2497 -> 2497 bytes collects/scribblings/quick/images/img25.pdf | 14 +- collects/scribblings/quick/images/img26.pdf | 14 +- collects/scribblings/quick/images/img27.pdf | Bin 4535 -> 4535 bytes collects/scribblings/quick/images/img28.pdf | Bin 4599 -> 4599 bytes collects/scribblings/quick/images/img29.pdf | Bin 12588 -> 12588 bytes collects/scribblings/quick/images/img3.pdf | Bin 2474 -> 2474 bytes collects/scribblings/quick/images/img4.pdf | 14 +- collects/scribblings/quick/images/img5.pdf | Bin 2578 -> 2578 bytes collects/scribblings/quick/images/img6.pdf | Bin 2474 -> 2474 bytes collects/scribblings/quick/images/img7.pdf | Bin 2623 -> 2623 bytes collects/scribblings/quick/images/img8.pdf | Bin 2502 -> 2502 bytes collects/scribblings/quick/images/img9.pdf | Bin 2852 -> 2852 bytes collects/scribblings/quick/info.ss | 3 +- collects/scribblings/quick/mreval.scrbl | 21 --- collects/scribblings/quick/mreval.ss | 148 ++----------------- collects/scriblib/gui-eval.ss | 140 ++++++++++++++++++ collects/scriblib/private/mr-eval-exn.ss | 6 + collects/scriblib/scribblings/gui-eval.scrbl | 31 ++++ collects/scriblib/scribblings/info.ss | 3 + collects/scriblib/scribblings/scriblib.scrbl | 7 + 40 files changed, 247 insertions(+), 221 deletions(-) delete mode 100644 collects/scribblings/quick/exn.ss delete mode 100644 collects/scribblings/quick/mreval.scrbl create mode 100644 collects/scriblib/gui-eval.ss create mode 100644 collects/scriblib/private/mr-eval-exn.ss create mode 100644 collects/scriblib/scribblings/gui-eval.scrbl create mode 100644 collects/scriblib/scribblings/info.ss create mode 100644 collects/scriblib/scribblings/scriblib.scrbl diff --git a/collects/scribblings/quick/exn.ss b/collects/scribblings/quick/exn.ss deleted file mode 100644 index 0489465706..0000000000 --- a/collects/scribblings/quick/exn.ss +++ /dev/null @@ -1,9 +0,0 @@ - -(module exn mzscheme - (require mzlib/serialize) - - (define-serializable-struct mr-exn (message)) - - (provide (struct mr-exn (message)))) - - diff --git a/collects/scribblings/quick/images/exprs.dat b/collects/scribblings/quick/images/exprs.dat index 734a83fb5a..1c405ec3aa 100644 --- a/collects/scribblings/quick/images/exprs.dat +++ b/collects/scribblings/quick/images/exprs.dat @@ -7,7 +7,7 @@ ((1) 0 () 0 () () (c rectangle c 10 c 20)) ((1) 2 (((lib "scribble/struct.ss") . deserialize-info:element-v0) ((lib "scribble/struct.ss") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (u . "images/img1.pdf") 1.0) (c "[image]"))))) ((1) 0 () 0 () () (c circle c 10 c 20)) -((1) 1 (((lib "scribblings/quick/exn.ss") . deserialize-info:mr-exn-v0)) 0 () () (0 "procedure circle: expects 1 argument, given 2: 10 20")) +((1) 1 (((lib "scriblib/private/mr-eval-exn.ss") . deserialize-info:gui-exn-v0)) 0 () () (0 "procedure circle: expects 1 argument, given 2: 10 20")) ((1) 0 () 0 () () (c hc-append c (c circle c 10) c (c rectangle c 10 c 20))) ((1) 2 (((lib "scribble/struct.ss") . deserialize-info:element-v0) ((lib "scribble/struct.ss") . deserialize-info:image-file-v0)) 0 () () (0 #f (c (0 (1 (u . "images/img2.pdf") 1.0) (c "[image]"))))) ((1) 0 () 0 () () (c define c c c (c circle c 10))) diff --git a/collects/scribblings/quick/images/img0.pdf b/collects/scribblings/quick/images/img0.pdf index beff370cc273f8572e3651fb371631265c8a923b..1f1d2322896436facd3afb63742a8cc0e96b3289 100644 GIT binary patch delta 282 zcmca1d_#Cc6*I3{qM=!`xw*NniGi8X#m&*l(#X}#(b34<+{xI~(%8+w*~Hb^&CS5f+||O- M&W4bR$$L4a0k7CZy#N3J delta 282 zcmca1d_#Cc6*I4Sa;mABL8^tWQDU0$g;T3ZfWl9YH8}^>gr}-Y-DC^ NY-dAA#pJ!5(g4p3M+yJ{ diff --git a/collects/scribblings/quick/images/img1.pdf b/collects/scribblings/quick/images/img1.pdf index 5c70242db3c3e7155675c57fe3412743e97a7e4c..b58d655e7fbe9322b41491fb51cfdfeb7667f1cd 100644 GIT binary patch delta 282 zcmZ1_yh?b34>PY>Vq%(UN}9Q@iGi8XHCQ`+cf9blJ3E^=S{fUg N+1U_MF}a^p8UPluMppm; delta 282 zcmZ1_yh?b34>PZMig`+!xtWEoQDU0$HCQ`+cf(2IlGp2I`tz`o8%o zE{P?n8ZK5w1_qV}a21=svxhM{IU6_|8@sugI|3zLEDT*;oDIy3oeZ5!oej;Mj7**E MYzV2C+|MZu08UFr%m4rY diff --git a/collects/scribblings/quick/images/img10.pdf b/collects/scribblings/quick/images/img10.pdf index 077d341243..202004913a 100644 --- a/collects/scribblings/quick/images/img10.pdf +++ b/collects/scribblings/quick/images/img10.pdf @@ -42,10 +42,10 @@ endobj - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -55,8 +55,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -73,7 +73,7 @@ xref 0000000640 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [] +/ID [<5B9C18337FC8389A1DFF2A1017EF4F38><5B9C18337FC8389A1DFF2A1017EF4F38>] >> startxref 2278 diff --git a/collects/scribblings/quick/images/img11.pdf b/collects/scribblings/quick/images/img11.pdf index 10868b4f778bed546ab32834b0beb706b475cec7..04a82e45b59d2140f974e235b4fb7d1fee5df65c 100644 GIT binary patch delta 270 zcmX>td|G%zE;FxLQmTPPVw$#~^f8tWPuhZve#nHpM| zm`yHVkwX)i&60wlGZI5YVsaO&Jcg+J=Bum{Oxnf<#)hV*h9+jZ2IlGp2I`tz`o8%o zE{P?n8ZK5w1_qV}a21;+IKmj6j9ttO4P0G~3@i;T9L)?&on4%q3|tKzEu4)l4cr{f N>}&|Bn7n~g8USbtK`Q_N delta 270 zcmX>td|G%zE;FxrYGRs^iJ672QDU0$WFA)e$upT#F+`On>#~^f8tEFCgcw*_8Jbv` zSWYfrkwX)i&60wlGZI5YVsaO&Jcg+J=Bum{Oxi{UCI*&}&|Bn7n~g8UQ)|LV*AP diff --git a/collects/scribblings/quick/images/img12.pdf b/collects/scribblings/quick/images/img12.pdf index 497a8f0ca532e454560c2d91a45e42a475c6f279..36b9710aa366cb96088374070a756226a6aca65e 100644 GIT binary patch delta 282 zcmX>ub6jS_OLktfq*Mco#58kV69Y4&$?rHNCNJP*pDfCeidBYd@=6XfUSnMY;}Anr zD^o)&6SK*0IONbo#5q&2>UP8sHOCME+rK%GOM*$;*udD()YQ<#OxM6%-M~OylS|(> zKgA`nBvr%3%E-XL(g3bv^Aw&iMkh-%BO`M&Gh<693nL2?OLJEjb4xczH&;hfb3ub6jS_OLkuK)WkF+6Eh24qr^1h$?rHNCNJP*pDfCeidBYd@=6XfUL#!tlMn+- zD?<}26U)hOIONbo#5q&2>UP8sHOCME+rK%GOM*$;$iT$F($K`jQrEy--M~OylS|(> zKgA`nBvr%3%E-XL(g3bv^Aw&iMkf;!BMU=U3j+&RH$w{xb4MpfBTGwTM<-KbGgmhY P17kZILMkTf@JRyz>Pkv` diff --git a/collects/scribblings/quick/images/img13.pdf b/collects/scribblings/quick/images/img13.pdf index c64aca851c7058bfcdb1e0fc4e7d115cd6eb10f0..8266f4fae11ecf0a162218fafe989a1139826ac8 100644 GIT binary patch delta 273 zcmZ21wpeV#Q5Igaq*Mco#58kV69Y4&$$aeclRvVgVi9d(wd6I{H82h_G_^7{v@$W9 ze1cUDP2@9c3KpHsY*rYe5|baX$)k#H=3_T!;xsleHZ(Og1RC$hDT&~1F5nDfj5T#K zaxpb^u{5+WcQdwhGc_=N1ONa4 delta 273 zcmZ21wpeV#Q5IhF)WkF+6Eh24qr^1h$$aeclRvVgVi9d(wd6I@H82S=u(UEXu`;oo ze1cUDP2@9c3KpHsY*rYe5|baX$)k#H=3_T!;xsZaF|af=0UGbeDT&~1F5nDfj5V=v zb2V~wH83!DGqW&paj`UUwKR4!Fm*9@GBq-BbF;G{s3Mlj&W@|NB(bQZq9`?u%gDsi Mf=gA^)!&T^0C5IIOaK4? diff --git a/collects/scribblings/quick/images/img14.pdf b/collects/scribblings/quick/images/img14.pdf index 81007a2929..c2b005af55 100644 --- a/collects/scribblings/quick/images/img14.pdf +++ b/collects/scribblings/quick/images/img14.pdf @@ -42,10 +42,10 @@ endobj - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -55,8 +55,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -73,7 +73,7 @@ xref 0000000577 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [] +/ID [] >> startxref 2215 diff --git a/collects/scribblings/quick/images/img15.pdf b/collects/scribblings/quick/images/img15.pdf index a1d84955586fdb41b99209953e4aa7b0120bf8f2..b1cbc9a98711152399b68e9ba6246d8bc6d34b52 100644 GIT binary patch delta 269 zcmbO&Hd}1NUKU=nWOGX+LvwRo69Y4&$uVs5lV7r=Vu&hDu4OgjHP$sS4ly*fGBva^ zF`s;ZRSr$$HERln&PWUqiOILvHFrV zxFnXOYPeV#85md^z*TI{;0$AQ0s?1eM?*_XBLhPt7h^L+Qv)LtV+&_SG!yfr#8eAiqr^1h$uVs5lV7r=Vu&hDu4OgjHPSUO2{Ev=GBmL= zHJE&WRSr$$HERln&PWUqiOILv5_ZnwT2s8knma7^rJ<>HFrV zxFnXOYPeV#85md^z*TI{;0$AQGIw<~wKQ@ucX2duu`sr9v@mcqv@kJoGjw(_b8 - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -55,8 +55,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -73,7 +73,7 @@ xref 0000000588 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [<69B6A830B23F42EA9BF1DDBF732CBB15><69B6A830B23F42EA9BF1DDBF732CBB15>] +/ID [<1AE0C6090561E21FACDD570510EAE550><1AE0C6090561E21FACDD570510EAE550>] >> startxref 2226 diff --git a/collects/scribblings/quick/images/img17.pdf b/collects/scribblings/quick/images/img17.pdf index 0c819fb7c9b00d81b7ff178218300825fcc3ec0a..c0d1d37f9368dd4a1ea11aec4ce32bbb06a753f8 100644 GIT binary patch delta 282 zcmca1d_#Cc6*I3{vbm*^p}D!PiGi8XB8Mijf+Yp3POiz;tmYUpm?B{NH$P&PVA3`+Ffp(+G%+>MH858PY>vbm*^p}D!PiGi8XHCQ`+cf5^2IlGp2I`tz`o8%o zE{P?n8ZK5w1_qV}a21=svxhM{8CWPZMnu&Q*VycC%QDU0$HCQ`+cfD{xR^ORT3EW6x*0oJ8XFmzSQ?udIl8zy85tS5 N+Sw3NF}a^p8UWZxM~wgg diff --git a/collects/scribblings/quick/images/img19.pdf b/collects/scribblings/quick/images/img19.pdf index 3440feac2032f3594b0824a5a6a88b6c3b5ed3aa..8380ccb19f13543968d7434c48afa46e4efe04a8 100644 GIT binary patch delta 281 zcmZ1}yi$0BH#4tUilJeWd78PdiGi8XZionL8P{I2yRP85=tp7`hpmxELAP N*_abhF}aUZ8UUfvLt6j< delta 281 zcmZ1}yi$0BH#4t!nu&Q*VycC%QDU0$w0W7@Hdz8Mv4lnK>I8n!7sL N*_abhF}aUZ8UWSBMmqoi diff --git a/collects/scribblings/quick/images/img2.pdf b/collects/scribblings/quick/images/img2.pdf index 74c52a3d6d..cb76bc3763 100644 --- a/collects/scribblings/quick/images/img2.pdf +++ b/collects/scribblings/quick/images/img2.pdf @@ -44,10 +44,10 @@ endobj - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -57,8 +57,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -75,7 +75,7 @@ xref 0000000546 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [] +/ID [<390C745AD3529AFF7AA2F07ADD0F632F><390C745AD3529AFF7AA2F07ADD0F632F>] >> startxref 2184 diff --git a/collects/scribblings/quick/images/img20.pdf b/collects/scribblings/quick/images/img20.pdf index 74c34dfdeb427a20da00e8b1599732a33bc6de85..95bb37c2fa4e7ed645fcfdd9f49abb13b793dc85 100644 GIT binary patch delta 273 zcmdlayh(UN2s5u)ilJeWd78PdiGi8X<_riNA~7L&tS zX)6k@f)5S5r*$SRK^D!+LTs{|9Lv4OFnsi`5*io5KR2;S!Z>|uX)6k@f)5S5r*$SRK^D!+LTs{|9Lk%5VUrJ)JXio5KR2;S!Z>|u9z#@q^Hx>~CT(K_V?$F@LlX;K19No)19eR}&|Bm^^_~8UQOYL`VPt delta 270 zcmZ22yjpmJFEg)sTB?Dmp_zrQQDU0$9z#@q^Hx>~CT$}F69Y>_6H`N719No)19eRnu NY@7+Gm^_hF8UXPaL?r+K delta 269 zcmZ1@yheC~A2Y9cTB?Dmp_zrQQDU0$_6H`N719No)19eR9z#@q^Hx>~CT(K_V?$F@LlX;K19No)19eR}&|Bm^^_~8UP#)L>2%5 delta 270 zcmZ22yjpmJFEg)sTB?Dmp_zrQQDU0$9z#@q^Hx>~CT$}F69Y>_6H`N719No)19eRod{B5pGBdAPN@Ai(s=2wYiGi8XWJVVG$^Fc!7@`rp#<~W^A%><_riNA~mXp(1 zQkty7YK|c)F}Zod{B5pGBdAvTB?Dmp_zrQQDU0$WJVVG$^Fc!7@`rpM!E(jAqJLKh9*{~hLh7+ zQkty7YK|c)F}Z_6QC7u*d-CX&3qhTjIjom z&W2{jt}af_ZjL5qmQDud#^#nLZm#AAj&4qdmIih<1XaXx+1YUwmn0UIR1~GAaTyt! Nm~g48y863u0RZ~8LNEXT diff --git a/collects/scribblings/quick/images/img25.pdf b/collects/scribblings/quick/images/img25.pdf index 279cd23403..df7858d076 100644 --- a/collects/scribblings/quick/images/img25.pdf +++ b/collects/scribblings/quick/images/img25.pdf @@ -43,10 +43,10 @@ endobj - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -56,8 +56,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -74,7 +74,7 @@ xref 0000000577 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [<75604C19F8497283D7E44AF2FE91D00A><75604C19F8497283D7E44AF2FE91D00A>] +/ID [] >> startxref 2215 diff --git a/collects/scribblings/quick/images/img26.pdf b/collects/scribblings/quick/images/img26.pdf index 186787dba1..dc8d47295f 100644 --- a/collects/scribblings/quick/images/img26.pdf +++ b/collects/scribblings/quick/images/img26.pdf @@ -42,10 +42,10 @@ endobj - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -55,8 +55,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -73,7 +73,7 @@ xref 0000000622 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [<694B7C614AF7EA90FCDB118411A69C86><694B7C614AF7EA90FCDB118411A69C86>] +/ID [] >> startxref 2260 diff --git a/collects/scribblings/quick/images/img27.pdf b/collects/scribblings/quick/images/img27.pdf index f46ee985a5f304b306bcbbba4181c8cb8e039fbe..d38263bd0c2562c1c6110ac663c6fccd56e52c4c 100644 GIT binary patch delta 282 zcmdn4yj^(%CpWLTp>axzskynXiGi8XWIkSr$p?7YC!2DoVwK^Ve3ILY*I3uUIK}&|Bm^?>N8UW=SL^=Qf delta 282 zcmdn4yj^(%CpWK!NusHNshNeYQDU0$WIkSr$p?7YC!2DoVwK^Ve3ILY*GSjEB*ehd z%Fx8h)N(Qpj~tqaIZp~!-HsTd<`^Pi`!^TzN-${~8JHMY8k(3|>Kd4<8yKi-a_Rf# zr?@1Rq-wZW85tN@8o*U--on3((aFHj&DGM>#nRHyz|_*w*wx6))xgBe)z!qw(9G4% O)XdI?kc!E31f>Cl`b3)m diff --git a/collects/scribblings/quick/images/img28.pdf b/collects/scribblings/quick/images/img28.pdf index d0991d81a47d0fd488b7a788c4a027a7a86abc59..bfa4f6f371fd89da0b0800df0dabc878446f57f0 100644 GIT binary patch delta 278 zcmeya{9Sp2CpWLTVTzeqQkuE0iGi8XWItYsNxbZnOSx0ANpMZ(=%^P_on6!-zj15gq4Nc8-4b0UI4AeEb^nLSF zToOxCHC(KW3=Av{;3_tM;a|q+WM<)LZsO`>V(jSbb=%^P_on6!-yObjdyO-wCy4b0UI4AeEb^nLSF zToOxCHC(KW3=Av{;3_tM;a|q+p#T5? diff --git a/collects/scribblings/quick/images/img3.pdf b/collects/scribblings/quick/images/img3.pdf index 8daf9223a23882d10b2ac06b2a2aec8d3b9705e1..38eda2d263cf5d319b21509f6d50baa0eb9acd37 100644 GIT binary patch delta 282 zcmZ1_yh?b34>PY>Vq%(UN}9Q@iGi8XHCQ`+cfPZMig`+!xtWEoQDU0$HCQ`+cf(2IlGp2I`tz`o8%o zE{P?n8ZK5w1_qV}a21=svxhM{nV6V50 - -PLT Scheme - -Untitledmflatt@Macintosh \(Matthew Flatt\) + +PLT Scheme + +Untitledmflatt@Macintosh \(Matthew Flatt\) @@ -57,8 +57,8 @@ endstream endobj 2 0 obj <>endobj xref @@ -75,7 +75,7 @@ xref 0000000546 00000 n trailer << /Size 10 /Root 1 0 R /Info 2 0 R -/ID [<3B906556814EFBD523E9061C020AD58D><3B906556814EFBD523E9061C020AD58D>] +/ID [] >> startxref 2184 diff --git a/collects/scribblings/quick/images/img5.pdf b/collects/scribblings/quick/images/img5.pdf index 2c60618c197fe7baeb93bca6ae9696b9f320a4d7..ad579eb9f4045317816492c2673e0faea29ae90b 100644 GIT binary patch delta 273 zcmbOvGD&2^7G_?vBop&A6LWK269Y4&$p@KRFht}h7qVFL8tWPuhZve#nHpM|m`>i# zB8MjOh$RJ!&LUPT3{i>67g^;oMCCWjut_j+8XFiJnwlB{t+3^gMDRApbA&O*x|&Uonj4#$Iyt#Gx;Q%-n367g^;oMCCWjut_j+8X1@vSQ?rDt+3^gMDRApbA&O*nmL)6 zxtLoTn7SC6m^rz)8N0Z;S-Lox8#|d8TUrPY>l8JemiMhG1iGi8XHCQ`+cfPZMs-c-hN~(pfQDU0$HCQ`+cfM#BIA diff --git a/collects/scribblings/quick/images/img7.pdf b/collects/scribblings/quick/images/img7.pdf index ca15e67d85f8e719ffb8787eaaf28a2eaf4940a9..f6abd6e42d325b0141029b5a4985001809ccf73f 100644 GIT binary patch delta 317 zcmdllvR`DwLuOvHBop&A6LWK269Y4&$qlUXlX+QEF+`OnFJv*ZFxE9N4ly*fGBva^ zG1WCNw=ytLSExuVuyQU+O)N=u0b*NqBLf3VpgLrwllfUwFpP}E5RsVtk5wK+RDQE3 zn*@`#v4OFnsi`5@UUi_onq2z6`6(bPHC(Jfb{fD{Z0_L*XN+-mF)*;OaB?*>H8C=D zHgYvLbaHZab#ZewH!wAEw6wD^B%~si%g&CgxFoTtq@pM_jmyZ$+<;3})z#mP3jjfh BPW1o) delta 317 zcmdllvR`DwLuOv{R6{e1lvE2{qr^1h$qlUXlX+QEF+`OnFJv*ZFw!+J2{Ev=GBmL= zvCuUzw=ytLSExuVuyQU+O)N=u0b*NqBLf3VT>})QllfUwFpP}E5RsVtk5wK+RDQE3 zn*@`#k%5VUrJ)JfUUi_onq2z6`6(bPHC(Jfb{fD{Z0_L*XN++(Hg&UfwKR4!a&fk> zFf?{DFmW<*GBS6yFmWmd`x&l1~ac&l8JemiMhG1iGi8XDaT*&K8=9IL0*(L3E{Wi67Ul?NbTqYe pGBh$YGj=w2wQw?Way7Lubv8Eu3Yohanm9Sx*%%T~F?ltoGyuS-Jm~-c delta 249 zcmX>md`x&l1~adDs-c-hN~(pfQDU0$DaT*zz7+4yb0FD31E{Wi67Ul?NbhLCe qGd4GJb2V@_FtRW(GcYl8GBtB?b9HetwQzJcwzDxLpknfBPH6zE2S6qO diff --git a/collects/scribblings/quick/images/img9.pdf b/collects/scribblings/quick/images/img9.pdf index 2cf63f4e19cb1fbdedd43c465d821f093a98d9bf..85c0693208eb7638edb20f3e25c58e59aeddedf1 100644 GIT binary patch delta 250 zcmZ1?wnS{hF&194Bop&A6LWK269Y4&$^7i{lRvSfVi9d-wd6I{H82h_G_^7{v@$WB ze3DfTP2>w}3KpF$Y*rYe5|baZ$)k#H=4Ur&;xsleHZ(Og1RC$pDT&~1F60bjbaFN^ qaB?v>bv3m#bvAHxwQzGXH?=S`aW*zHH8wJKHnFoIq+&8Bw=@8gNjtg# delta 250 zcmZ1?wnS{hF&19)R6{e1lvE2{qr^1h$^7i{lRvSfVi9d-wd6I@H82S=u(UEXu`;ok ze3DfTP2>w}3KpF$Y*rYe5|baZ$)k#H=4Ur&;xsZaF|af=0UGbmDT&~1F60bjbaFB^ qGdD1EvNSexH8gTHGIDb>voJF;aWk_tH+C~KaI~`_q+&8Bw=@82?ml?{ diff --git a/collects/scribblings/quick/info.ss b/collects/scribblings/quick/info.ss index ba32a0f325..699ae531b2 100644 --- a/collects/scribblings/quick/info.ss +++ b/collects/scribblings/quick/info.ss @@ -1,4 +1,3 @@ #lang setup/infotab -(define scribblings '(("quick.scrbl" () (getting-started 9)) - ("mreval.scrbl"))) +(define scribblings '(("quick.scrbl" () (getting-started 9)))) diff --git a/collects/scribblings/quick/mreval.scrbl b/collects/scribblings/quick/mreval.scrbl deleted file mode 100644 index 042cb9ccb5..0000000000 --- a/collects/scribblings/quick/mreval.scrbl +++ /dev/null @@ -1,21 +0,0 @@ -#lang scribble/manual -@(require (for-label scribble/eval "mreval.ss")) - -@title{Writing Examples with Pict Results} - -@defmodule[scribblings/quick/mreval]{The -@schememodname[scribblings/quick/mreval] library support example -evaluations with results that are @schememodname[slideshow] picts.} - -@defform[(mr-interaction datum ...)]{ - -Like @scheme[interaction], but using an evaluator that includes -@schememodname[scheme/gui/base] and @schememodname[slideshow]. - -The trick is that @schememodname[scheme/gui] is not generally -available when rendering documentation, because it requires a GUI -context. The picture output is rendered to an image file when the -@envvar{MREVAL} environment variable is set, so run the enclosing -document once with the environment varibale to generate the -images. Future runs (with the environment variable unset) use the -generated image.} diff --git a/collects/scribblings/quick/mreval.ss b/collects/scribblings/quick/mreval.ss index 39c4931c1a..f717181c70 100644 --- a/collects/scribblings/quick/mreval.ss +++ b/collects/scribblings/quick/mreval.ss @@ -1,141 +1,11 @@ +#lang scheme/base -(module mreval mzscheme - (require scribble/eval - scribble/struct - scribble/scheme - mzlib/class - mzlib/file - mzlib/runtime-path - mzlib/serialize - scribblings/quick/exn - scheme/system) - - (define-syntax define-mr - (syntax-rules () - [(_ mr orig) - (begin - (provide mr) - (define-syntax mr - (syntax-rules () - [(_ x (... ...)) - (parameterize ([scribble-eval-handler mr-eval-handler]) - (orig #:eval mr-eval x (... ...)))])))])) - - (define mr-eval (make-base-eval)) - - (define-mr mr-interaction interaction) - (define-mr mr-interaction-eval interaction-eval) - (define-mr mr-interaction-eval-show interaction-eval-show) - (define-mr mr-def+int def+int) - (define-mr mr-defs+int defs+int) - (define-mr mr-schememod+eval schememod+eval) - (define-mr mr-schemeblock+eval schemeblock+eval) - - (define mred? (getenv "MREVAL")) - - (when mred? - (mr-eval '(require scheme/gui/base)) - (mr-eval '(require slideshow))) - - ;; This one needs to be relative, because it ends up in the - ;; exprs.dat file: - (define img-dir "images") ; relative to src dir - - ;; This one can be absolute: - (define exprs-dat-file (build-path "images" - "exprs.dat")) - - (define mr-eval-handler - (if mred? - (let ([eh (scribble-eval-handler)] - [log-file (open-output-file exprs-dat-file 'truncate/replace)]) - (lambda (ev catching-exns? expr) - (write (serialize (if (syntax? expr) (syntax-object->datum expr) expr)) log-file) - (newline log-file) - (flush-output log-file) - (let ([result - (with-handlers ([exn:fail? - (lambda (exn) - (make-mr-exn (exn-message exn)))]) - (eh ev catching-exns? expr))]) - (let ([result (fixup-picts result)]) - (write (serialize result) log-file) - (newline log-file) - (flush-output log-file) - (if (mr-exn? result) - (raise (make-exn:fail - (mr-exn-message result) - (current-continuation-marks))) - result))))) - (let ([log-file (with-handlers ([exn:fail:filesystem? - (lambda (exn) - (open-input-string ""))]) - (open-input-file exprs-dat-file))]) - (lambda (ev catching-exns? expr) - (with-handlers ([exn:fail? (lambda (exn) - (if catching-exns? - (raise exn) - (void)))]) - (let ([v (read log-file)]) - (if (eof-object? v) - (error "expression not in log file") - (let ([v (deserialize v)]) - (if (equal? v (if (syntax? expr) - (syntax-object->datum expr) - expr)) - (let ([v (read log-file)]) - (if (eof-object? v) - (error "expression result missing in log file") - (let ([v (deserialize v)]) - (if (mr-exn? v) - (raise (make-exn:fail - (mr-exn-message v) - (current-continuation-marks))) - v)))) - (error 'mreval - "expression does not match log file: ~e versus: ~e" - expr - v)))))))))) - - (define image-counter 0) - - ;; This path will be marshaled for use on multiple platforms - (define (build-string-path a b) (string-append a "/" b)) - - (define (fixup-picts v) - (cond - [((mr-eval 'pict?) v) - (let ([fn (build-string-path img-dir - (format "img~a.png" image-counter))]) - (set! image-counter (add1 image-counter)) - (let ([dc (let ([pss (make-object (mr-eval 'ps-setup%))]) - (send pss set-mode 'file) - (send pss set-file (path-replace-suffix fn #".ps")) - (parameterize ([(mr-eval 'current-ps-setup) pss]) - (make-object (mr-eval 'post-script-dc%) #f)))]) - (send dc start-doc "Image") - (send dc start-page) - (((mr-eval 'make-pict-drawer) v) dc 0 0) - (send dc end-page) - (send dc end-doc) - (system (format "epstopdf ~a" (path-replace-suffix fn #".ps")))) - (let* ([bm (make-object (mr-eval 'bitmap%) - (inexact->exact (ceiling ((mr-eval 'pict-width) v))) - (inexact->exact (ceiling ((mr-eval 'pict-height) v))))] - [dc (make-object (mr-eval 'bitmap-dc%) bm)]) - (send dc set-smoothing 'aligned) - (send dc clear) - (((mr-eval 'make-pict-drawer) v) dc 0 0) - (send bm save-file fn 'png) - (make-element #f (list (make-element (make-image-file - ;; For HTML output, .pdf is automatically changed to .png. - ;; Be sure to use a string rather than a path, because - ;; it gets recorded in "exprs.dat". - (path->string (path-replace-suffix fn #".pdf")) - 1.0) - (list "[image]"))))))] - [(pair? v) (cons (fixup-picts (car v)) - (fixup-picts (cdr v)))] - [(serializable? v) v] - [else (make-element #f (list (format "~s" v)))]))) +(require scriblib/gui-eval) +(provide (rename-out [gui-interaction mr-interaction] + [gui-interaction-eval mr-interaction-eval] + [gui-schememod+eval mr-schememod+eval] + [gui-schemeblock+eval mr-schemeblock+eval] + [gui-def+int mr-def+int] + [gui-defs+int mr-defs+int] + [gui-interaction-eval-show mr-interaction-eval-show])) diff --git a/collects/scriblib/gui-eval.ss b/collects/scriblib/gui-eval.ss new file mode 100644 index 0000000000..e2ccbcfc06 --- /dev/null +++ b/collects/scriblib/gui-eval.ss @@ -0,0 +1,140 @@ +#lang scheme/base + +(require scribble/eval + scribble/struct + scribble/scheme + scheme/class + scheme/file + scheme/runtime-path + scheme/serialize + "private/mr-eval-exn.ss" + scheme/system) + +(define-syntax define-mr + (syntax-rules () + [(_ mr orig) + (begin + (provide mr) + (define-syntax mr + (syntax-rules () + [(_ x (... ...)) + (parameterize ([scribble-eval-handler gui-eval-handler]) + (orig #:eval gui-eval x (... ...)))])))])) + +(define gui-eval (make-base-eval)) + +(define-mr gui-interaction interaction) +(define-mr gui-interaction-eval interaction-eval) +(define-mr gui-interaction-eval-show interaction-eval-show) +(define-mr gui-def+int def+int) +(define-mr gui-defs+int defs+int) +(define-mr gui-schememod+eval schememod+eval) +(define-mr gui-schemeblock+eval schemeblock+eval) + +(define mred? (getenv "MREVAL")) + +(when mred? + (gui-eval '(require scheme/gui/base)) + (gui-eval '(require slideshow))) + +;; This one needs to be relative, because it ends up in the +;; exprs.dat file: +(define img-dir "images") ; relative to src dir + +;; This one can be absolute: +(define exprs-dat-file (build-path "images" + "exprs.dat")) + +(define gui-eval-handler + (if mred? + (let ([eh (scribble-eval-handler)] + [log-file (open-output-file exprs-dat-file #:exists 'truncate/replace)]) + (lambda (ev catching-exns? expr) + (write (serialize (if (syntax? expr) (syntax->datum expr) expr)) log-file) + (newline log-file) + (flush-output log-file) + (let ([result + (with-handlers ([exn:fail? + (lambda (exn) + (make-gui-exn (exn-message exn)))]) + (eh ev catching-exns? expr))]) + (let ([result (fixup-picts result)]) + (write (serialize result) log-file) + (newline log-file) + (flush-output log-file) + (if (gui-exn? result) + (raise (make-exn:fail + (gui-exn-message result) + (current-continuation-marks))) + result))))) + (let ([log-file (with-handlers ([exn:fail:filesystem? + (lambda (exn) + (open-input-string ""))]) + (open-input-file exprs-dat-file))]) + (lambda (ev catching-exns? expr) + (with-handlers ([exn:fail? (lambda (exn) + (if catching-exns? + (raise exn) + (void)))]) + (let ([v (read log-file)]) + (if (eof-object? v) + (error "expression not in log file") + (let ([v (deserialize v)]) + (if (equal? v (if (syntax? expr) + (syntax->datum expr) + expr)) + (let ([v (read log-file)]) + (if (eof-object? v) + (error "expression result missing in log file") + (let ([v (deserialize v)]) + (if (gui-exn? v) + (raise (make-exn:fail + (gui-exn-message v) + (current-continuation-marks))) + v)))) + (error 'mreval + "expression does not match log file: ~e versus: ~e" + expr + v)))))))))) + +(define image-counter 0) + +;; This path will be marshaled for use on multiple platforms +(define (build-string-path a b) (string-append a "/" b)) + +(define (fixup-picts v) + (cond + [((gui-eval 'pict?) v) + (let ([fn (build-string-path img-dir + (format "img~a.png" image-counter))]) + (set! image-counter (add1 image-counter)) + (let ([dc (let ([pss (make-object (gui-eval 'ps-setup%))]) + (send pss set-mode 'file) + (send pss set-file (path-replace-suffix fn #".ps")) + (parameterize ([(gui-eval 'current-ps-setup) pss]) + (make-object (gui-eval 'post-script-dc%) #f)))]) + (send dc start-doc "Image") + (send dc start-page) + (((gui-eval 'make-pict-drawer) v) dc 0 0) + (send dc end-page) + (send dc end-doc) + (system (format "epstopdf ~a" (path-replace-suffix fn #".ps")))) + (let* ([bm (make-object (gui-eval 'bitmap%) + (inexact->exact (ceiling ((gui-eval 'pict-width) v))) + (inexact->exact (ceiling ((gui-eval 'pict-height) v))))] + [dc (make-object (gui-eval 'bitmap-dc%) bm)]) + (send dc set-smoothing 'aligned) + (send dc clear) + (((gui-eval 'make-pict-drawer) v) dc 0 0) + (send bm save-file fn 'png) + (make-element #f (list (make-element (make-image-file + ;; For HTML output, .pdf is automatically changed to .png. + ;; Be sure to use a string rather than a path, because + ;; it gets recorded in "exprs.dat". + (path->string (path-replace-suffix fn #".pdf")) + 1.0) + (list "[image]"))))))] + [(pair? v) (cons (fixup-picts (car v)) + (fixup-picts (cdr v)))] + [(serializable? v) v] + [else (make-element #f (list (format "~s" v)))])) diff --git a/collects/scriblib/private/mr-eval-exn.ss b/collects/scriblib/private/mr-eval-exn.ss new file mode 100644 index 0000000000..daad531f69 --- /dev/null +++ b/collects/scriblib/private/mr-eval-exn.ss @@ -0,0 +1,6 @@ +#lang scheme/base +(require mzlib/serialize) + +(define-serializable-struct gui-exn (message)) + +(provide (struct-out gui-exn)) diff --git a/collects/scriblib/scribblings/gui-eval.scrbl b/collects/scriblib/scribblings/gui-eval.scrbl new file mode 100644 index 0000000000..84d1e06e5c --- /dev/null +++ b/collects/scriblib/scribblings/gui-eval.scrbl @@ -0,0 +1,31 @@ +#lang scribble/manual +@(require (for-label scribble/eval scriblib/gui-eval)) + +@title[#:tag "gui-eval"]{Writing Examples with Pict Results} + +@defmodule[scriblib/gui-eval]{The +@schememodname[scriblib/gui-eval] library support example +evaluations with results that are @schememodname[slideshow] picts.} + +The trick is that @schememodname[scheme/gui] is not generally +available when rendering documentation, because it requires a GUI +context. The picture output is rendered to an image file when the +@envvar{MREVAL} environment variable is set, so run the enclosing +document once with the environment varibale to generate the +images. Future runs (with the environment variable unset) use the +generated image. + +@deftogether[( +@defform[(gui-interaction datum ...)] +@defform[(gui-interaction-eval datum ...)] +@defform[(gui-interaction-eval-show datum ...)] +@defform[(gui-schemeblock+eval datum ...)] +@defform[(gui-schememod+eval datum ...)] +@defform[(gui-def+int datum ...)] +@defform[(gui-defs+int datum ...)] +)]{ + +Like @scheme[interaction], etc., but actually evaluating the forms +only when the @envvar{MREVAL} environment variable is set, and then in +an evaluator that is initialized with @schememodname[scheme/gui/base] +and @schememodname[slideshow]. } diff --git a/collects/scriblib/scribblings/info.ss b/collects/scriblib/scribblings/info.ss new file mode 100644 index 0000000000..e7e57e0483 --- /dev/null +++ b/collects/scriblib/scribblings/info.ss @@ -0,0 +1,3 @@ +#lang setup/infotab + +(define scribblings '(("scriblib.scrbl" (multi-page)))) diff --git a/collects/scriblib/scribblings/scriblib.scrbl b/collects/scriblib/scribblings/scriblib.scrbl new file mode 100644 index 0000000000..cf0006540e --- /dev/null +++ b/collects/scriblib/scribblings/scriblib.scrbl @@ -0,0 +1,7 @@ +#lang scribble/manual + +@title{@bold{Scriblib}: Extra Scribble Libraries} + +@table-of-contents[] + +@include-section["gui-eval.scrbl"]