From 7d0dc576fd51001d2bafd554a3caee363def4832 Mon Sep 17 00:00:00 2001
From: Brian Gough <bjg@gnu.org>
Date: Wed, 9 Dec 2009 18:04:42 +0000
Subject: [PATCH] replace ascii figures with scalable ps/pdf versions.

use ascii figures in HTML output, to work around deficiency in makeinfo
where images are not copied to target directory.
---
 doc/ref/Makefile.am         |    8 +
 doc/ref/gds.dia             |  Bin 0 -> 1645 bytes
 doc/ref/gds.eps             |  449 ++++++++++++++++++++++++++++++++++++++++++
 doc/ref/gds.pdf             |  Bin 0 -> 2936 bytes
 doc/ref/gds.txt             |   17 ++
 doc/ref/goops-tutorial.texi |   10 +-
 doc/ref/scheme-using.texi   |   40 ++---
 doc/ref/scheme.dia          |  Bin 0 -> 1821 bytes
 doc/ref/scheme.eps          |  457 +++++++++++++++++++++++++++++++++++++++++++
 doc/ref/scheme.pdf          |  Bin 0 -> 2898 bytes
 doc/ref/scheme.txt          |   11 +
 11 files changed, 961 insertions(+), 31 deletions(-)
 create mode 100644 doc/ref/gds.dia
 create mode 100644 doc/ref/gds.eps
 create mode 100644 doc/ref/gds.pdf
 create mode 100644 doc/ref/gds.txt
 create mode 100644 doc/ref/scheme.dia
 create mode 100644 doc/ref/scheme.eps
 create mode 100644 doc/ref/scheme.pdf
 create mode 100644 doc/ref/scheme.txt

diff --git a/doc/ref/Makefile.am b/doc/ref/Makefile.am
index 2f218a5..d58b370 100644
--- a/doc/ref/Makefile.am
+++ b/doc/ref/Makefile.am
@@ -89,8 +89,16 @@ PICTURES = hierarchy.eps \
 	   hierarchy.pdf \
 	   hierarchy.png \
 	   hierarchy.txt \
+	   gds.eps \
+	   gds.pdf \
+	   gds.txt \
+	   scheme.eps \
+	   scheme.pdf \
+	   scheme.txt \
 	   mop.text
 
+noinst_DATA = $(PICTURES)
+
 EXTRA_DIST = ChangeLog-2008 $(PICTURES)
 
 include $(top_srcdir)/am/pre-inst-guile
diff --git a/doc/ref/gds.dia b/doc/ref/gds.dia
new file mode 100644
index 0000000000000000000000000000000000000000..b134d0438c82f1cbdfb77cb68e854ee5a074fce7
GIT binary patch
diff --git a/doc/ref/gds.eps b/doc/ref/gds.eps
new file mode 100644
index 0000000..e37b6a4
--- /dev/null
+++ b/doc/ref/gds.eps
@@ -0,0 +1,449 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/bjg/guile/doc/ref/gds.dia
+%%Creator: Dia v0.95-1
+%%CreationDate: Tue Dec  8 14:11:12 2009
+%%For: bjg
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 949 421
+%%BeginSetup
+%%EndSetup
+%%EndComments
+%%BeginProlog
+[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E
+/F /G /H /I /J /K /L /M /N /O
+/P /Q /R /S /T /U /V /W /X /Y
+/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
+/d /e /f /g /h /i /j /k /l /m
+/n /o /p /q /r /s /t /u /v /w
+/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
+/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
+/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
+/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
+/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
+/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
+/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
+/cp {closepath} bind def
+/c {curveto} bind def
+/f {fill} bind def
+/a {arc} bind def
+/ef {eofill} bind def
+/ex {exch} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth pop} bind def
+/tr {translate} bind def
+
+/ellipsedict 8 dict def
+ellipsedict /mtrx matrix put
+/ellipse
+{ ellipsedict begin
+   /endangle exch def
+   /startangle exch def
+   /yrad exch def
+   /xrad exch def
+   /y exch def
+   /x exch def   /savematrix mtrx currentmatrix def
+   x y tr xrad yrad sc
+   0 0 1 startangle endangle arc
+   savematrix setmatrix
+   end
+} def
+
+/mergeprocs {
+dup length
+3 -1 roll
+dup
+length
+dup
+5 1 roll
+3 -1 roll
+add
+array cvx
+dup
+3 -1 roll
+0 exch
+putinterval
+dup
+4 2 roll
+putinterval
+} bind def
+/Times-Roman-latin1
+    /Times-Roman findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Italic-latin1
+    /Times-Italic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Bold-latin1
+    /Times-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-BoldItalic-latin1
+    /Times-BoldItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Book-latin1
+    /AvantGarde-Book findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-BookOblique-latin1
+    /AvantGarde-BookOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Demi-latin1
+    /AvantGarde-Demi findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-DemiOblique-latin1
+    /AvantGarde-DemiOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Light-latin1
+    /Bookman-Light findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-LightItalic-latin1
+    /Bookman-LightItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Demi-latin1
+    /Bookman-Demi findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-DemiItalic-latin1
+    /Bookman-DemiItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-latin1
+    /Courier findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Oblique-latin1
+    /Courier-Oblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Bold-latin1
+    /Courier-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-BoldOblique-latin1
+    /Courier-BoldOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-latin1
+    /Helvetica findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Oblique-latin1
+    /Helvetica-Oblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Bold-latin1
+    /Helvetica-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-BoldOblique-latin1
+    /Helvetica-BoldOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-latin1
+    /Helvetica-Narrow findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Oblique-latin1
+    /Helvetica-Narrow-Oblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Bold-latin1
+    /Helvetica-Narrow-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-BoldOblique-latin1
+    /Helvetica-Narrow-BoldOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Roman-latin1
+    /NewCenturySchoolbook-Roman findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Italic-latin1
+    /NewCenturySchoolbook-Italic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Bold-latin1
+    /NewCenturySchoolbook-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-BoldItalic-latin1
+    /NewCenturySchoolbook-BoldItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Roman-latin1
+    /Palatino-Roman findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Italic-latin1
+    /Palatino-Italic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Bold-latin1
+    /Palatino-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-BoldItalic-latin1
+    /Palatino-BoldItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Symbol-latin1
+    /Symbol findfont
+definefont pop
+/ZapfChancery-MediumItalic-latin1
+    /ZapfChancery-MediumItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/ZapfDingbats-latin1
+    /ZapfDingbats findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+28.346000 -28.346000 scale
+-0.061670 -17.866043 translate
+%%EndProlog
+
+
+0.010000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+1.000000 1.000000 1.000000 srgb
+n 0.061670 3.016800 m 33.507821 3.016800 l s
+n 0.061670 17.866043 m 33.507821 17.866043 l s
+n 0.061670 3.016800 0.000000 0.000000 180.000000 270.000000 ellipse s
+n 33.507821 3.016800 0.000000 0.000000 270.000000 360.000000 ellipse s
+n 0.061670 3.016800 m 0.061670 17.866043 l s
+n 33.507821 3.016800 m 33.507821 17.866043 l s
+n 0.061670 17.866043 0.000000 0.000000 90.000000 180.000000 ellipse s
+n 33.507821 17.866043 0.000000 0.000000 0.000000 90.000000 ellipse s
+n 2.176250 4.300000 m 2.176250 9.100000 l 9.400000 9.100000 l 9.400000 4.300000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 2.176250 4.300000 m 2.176250 9.100000 l 9.400000 9.100000 l 9.400000 4.300000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(Program #1) dup sw 2 div 5.788125 ex sub 6.050000 m gs 1 -1 sc sh gr
+1.000000 1.000000 1.000000 srgb
+n 3.425000 6.650000 m 3.425000 8.550000 l 7.975000 8.550000 l 7.975000 6.650000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 3.425000 6.650000 m 3.425000 8.550000 l 7.975000 8.550000 l 7.975000 6.650000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(GDS Client) dup sw 2 div 5.700000 ex sub 7.750000 m gs 1 -1 sc sh gr
+1.000000 1.000000 1.000000 srgb
+n 2.400000 11.600000 m 2.400000 17.050000 l 9.550000 17.050000 l 9.550000 11.600000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 2.400000 11.600000 m 2.400000 17.050000 l 9.550000 17.050000 l 9.550000 11.600000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(Program #2) dup sw 2 div 5.975000 ex sub 13.275000 m gs 1 -1 sc sh gr
+1.000000 1.000000 1.000000 srgb
+n 3.750000 14.250000 m 3.750000 16.150000 l 8.550000 16.150000 l 8.550000 14.250000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 3.750000 14.250000 m 3.750000 16.150000 l 8.550000 16.150000 l 8.550000 14.250000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(GDS Client) dup sw 2 div 6.150000 ex sub 15.350000 m gs 1 -1 sc sh gr
+1.000000 1.000000 1.000000 srgb
+n 16.175000 8.575000 m 16.175000 11.275000 l 20.975000 11.275000 l 20.975000 8.575000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 16.175000 8.575000 m 16.175000 11.275000 l 20.975000 11.275000 l 20.975000 8.575000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(GDS Server) dup sw 2 div 18.575000 ex sub 10.075000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 8.550000 15.200000 m 16.175000 9.925000 l s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 7.975000 7.600000 m 16.175000 9.925000 l s
+/Helvetica-latin1 ff 0.560000 scf sf
+(TCP) 11.350000 12.300000 m gs 1 -1 sc sh gr
+/Helvetica-latin1 ff 0.560000 scf sf
+(TCP) 11.400000 8.150000 m gs 1 -1 sc sh gr
+1.000000 1.000000 1.000000 srgb
+n 22.850100 6.025000 m 22.850100 12.000000 l 30.900100 12.000000 l 30.900100 6.025000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 22.850100 6.025000 m 22.850100 12.000000 l 30.900100 12.000000 l 30.900100 6.025000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(Emacs) dup sw 2 div 26.875100 ex sub 7.162500 m gs 1 -1 sc sh gr
+1.000000 1.000000 1.000000 srgb
+n 23.935100 8.850000 m 23.935100 10.900000 l 29.500100 10.900000 l 29.500100 8.850000 l f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 23.935100 8.850000 m 23.935100 10.900000 l 29.500100 10.900000 l 29.500100 8.850000 l cp s
+/Helvetica-latin1 ff 0.560000 scf sf
+(GDS Interface) dup sw 2 div 26.717600 ex sub 10.025000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 20.975000 9.925000 m 23.935100 9.875000 l s
+showpage
diff --git a/doc/ref/gds.pdf b/doc/ref/gds.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..9af4ab2d94d1a4f62511d00b0159252c32f27768
GIT binary patch
diff --git a/doc/ref/gds.txt b/doc/ref/gds.txt
new file mode 100644
index 0000000..4e32ecb
--- /dev/null
+++ b/doc/ref/gds.txt
@@ -0,0 +1,17 @@
++----------------+
+| Program #1     |
+|                |
+| +------------+ |
+| | GDS Client |-_
+| +------------+ |-_                       +-------------------+
++----------------+  -_TCP                  | Emacs             |
+                      -_                   |                   |
+                        -_+------------+   | +---------------+ |
+                         _| GDS Server |-----| GDS Interface | |
++----------------+     _- +------------+   | +---------------+ |
+| Program #2     |   _-                    +-------------------+
+|                | _- TCP
+| +------------+ _-
+| | GDS Client |-|
+| +------------+ |
++----------------+
diff --git a/doc/ref/goops-tutorial.texi b/doc/ref/goops-tutorial.texi
index 600be77..569920a 100644
--- a/doc/ref/goops-tutorial.texi
+++ b/doc/ref/goops-tutorial.texi
@@ -466,13 +466,17 @@ super class of all standard Scheme types.
 
 @example
 @group
-@image{hierarchy}
-@center @emph{Fig 1: A class hierarchy}
 @iftex
+@center @image{hierarchy,5in}
+@end iftex
+@ifnottex
+@verbatiminclude hierarchy.txt
+@end ifnottex
+
+@emph{Fig 1: A class hierarchy}
 @emph{(@code{<complex>} which is the direct subclass of @code{<number>}
 and the direct superclass of @code{<real>} has been omitted in this
 figure.)}
-@end iftex
 @end group
 @end example
 
diff --git a/doc/ref/scheme-using.texi b/doc/ref/scheme-using.texi
index a8a2568..2e0a68f 100644
--- a/doc/ref/scheme-using.texi
+++ b/doc/ref/scheme-using.texi
@@ -371,19 +371,14 @@ to each other, with the arrows indicating ``builds on'' or
 ``extends''.  For example, the Quack library builds on cmuscheme,
 which in turn builds on the standard scheme mode.
 
+@iftex
+@center @image{scheme,5in}
+@end iftex
+@ifnottex
 @example
-            scheme
-               ^
-               |
-         .-----+-----.
-         |           |
-     cmuscheme    xscheme
-         ^
-         |
-   .-----+-----.
-   |           |
- Quack        GDS
+@verbatiminclude scheme.txt
 @end example
+@end ifnottex
 
 @dfn{scheme}, written by Bill Rozas and Dave Love, is Emacs's standard
 mode for Scheme code files.  It provides Scheme-sensitive syntax
@@ -550,25 +545,14 @@ program that wants to use GDS in any way.
 The following diagram shows how these components are connected to each
 other.
 
+@iftex
+@center @image{gds,5in}
+@end iftex
+@ifnottex
 @example
-+----------------+
-| Program #1     |
-|                |
-| +------------+ |
-| | GDS Client |-_
-| +------------+ |-_                       +-------------------+
-+----------------+  -_TCP                  | Emacs             |
-                      -_                   |                   |
-                        -_+------------+   | +---------------+ |
-                         _| GDS Server |-----| GDS Interface | |
-+----------------+     _- +------------+   | +---------------+ |
-| Program #2     |   _-                    +-------------------+
-|                | _- TCP
-| +------------+ _-
-| | GDS Client |-|
-| +------------+ |
-+----------------+
+@verbatiminclude gds.txt
 @end example
+@end ifnottex
 
 @cindex TCP, use of
 The data exchanged between client and server components, and between
diff --git a/doc/ref/scheme.dia b/doc/ref/scheme.dia
new file mode 100644
index 0000000000000000000000000000000000000000..30f9cc2bfa73977c5e138b40e0583a1a91c0b21a
GIT binary patch
diff --git a/doc/ref/scheme.eps b/doc/ref/scheme.eps
new file mode 100644
index 0000000..9481b9c
--- /dev/null
+++ b/doc/ref/scheme.eps
@@ -0,0 +1,457 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/bjg/guile/doc/ref/scheme.dia
+%%Creator: Dia v0.95-1
+%%CreationDate: Tue Dec  8 14:22:51 2009
+%%For: bjg
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 576 445
+%%BeginSetup
+%%EndSetup
+%%EndComments
+%%BeginProlog
+[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E
+/F /G /H /I /J /K /L /M /N /O
+/P /Q /R /S /T /U /V /W /X /Y
+/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
+/d /e /f /g /h /i /j /k /l /m
+/n /o /p /q /r /s /t /u /v /w
+/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
+/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
+/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
+/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
+/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
+/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
+/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
+/cp {closepath} bind def
+/c {curveto} bind def
+/f {fill} bind def
+/a {arc} bind def
+/ef {eofill} bind def
+/ex {exch} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth pop} bind def
+/tr {translate} bind def
+
+/ellipsedict 8 dict def
+ellipsedict /mtrx matrix put
+/ellipse
+{ ellipsedict begin
+   /endangle exch def
+   /startangle exch def
+   /yrad exch def
+   /xrad exch def
+   /y exch def
+   /x exch def   /savematrix mtrx currentmatrix def
+   x y tr xrad yrad sc
+   0 0 1 startangle endangle arc
+   savematrix setmatrix
+   end
+} def
+
+/mergeprocs {
+dup length
+3 -1 roll
+dup
+length
+dup
+5 1 roll
+3 -1 roll
+add
+array cvx
+dup
+3 -1 roll
+0 exch
+putinterval
+dup
+4 2 roll
+putinterval
+} bind def
+/Times-Roman-latin1
+    /Times-Roman findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Italic-latin1
+    /Times-Italic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Bold-latin1
+    /Times-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-BoldItalic-latin1
+    /Times-BoldItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Book-latin1
+    /AvantGarde-Book findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-BookOblique-latin1
+    /AvantGarde-BookOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Demi-latin1
+    /AvantGarde-Demi findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-DemiOblique-latin1
+    /AvantGarde-DemiOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Light-latin1
+    /Bookman-Light findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-LightItalic-latin1
+    /Bookman-LightItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Demi-latin1
+    /Bookman-Demi findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-DemiItalic-latin1
+    /Bookman-DemiItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-latin1
+    /Courier findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Oblique-latin1
+    /Courier-Oblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Bold-latin1
+    /Courier-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-BoldOblique-latin1
+    /Courier-BoldOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-latin1
+    /Helvetica findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Oblique-latin1
+    /Helvetica-Oblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Bold-latin1
+    /Helvetica-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-BoldOblique-latin1
+    /Helvetica-BoldOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-latin1
+    /Helvetica-Narrow findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Oblique-latin1
+    /Helvetica-Narrow-Oblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Bold-latin1
+    /Helvetica-Narrow-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-BoldOblique-latin1
+    /Helvetica-Narrow-BoldOblique findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Roman-latin1
+    /NewCenturySchoolbook-Roman findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Italic-latin1
+    /NewCenturySchoolbook-Italic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Bold-latin1
+    /NewCenturySchoolbook-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-BoldItalic-latin1
+    /NewCenturySchoolbook-BoldItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Roman-latin1
+    /Palatino-Roman findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Italic-latin1
+    /Palatino-Italic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Bold-latin1
+    /Palatino-Bold findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-BoldItalic-latin1
+    /Palatino-BoldItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Symbol-latin1
+    /Symbol findfont
+definefont pop
+/ZapfChancery-MediumItalic-latin1
+    /ZapfChancery-MediumItalic findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/ZapfDingbats-latin1
+    /ZapfDingbats findfont
+    dup length dict begin
+	{1 index /FID ne {def} {pop pop} ifelse} forall
+	/Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+28.346000 -28.346000 scale
+-17.174517 -10.811080 translate
+%%EndProlog
+
+
+0.010000 slw
+[] 0 sd
+[] 0 sd
+0 slj
+1.000000 1.000000 1.000000 srgb
+n 17.174517 -4.886690 m 37.468481 -4.886690 l s
+n 17.174517 10.811080 m 37.468481 10.811080 l s
+n 17.174517 -4.886690 0.000000 0.000000 180.000000 270.000000 ellipse s
+n 37.468481 -4.886690 0.000000 0.000000 270.000000 360.000000 ellipse s
+n 17.174517 -4.886690 m 17.174517 10.811080 l s
+n 37.468481 -4.886690 m 37.468481 10.811080 l s
+n 17.174517 10.811080 0.000000 0.000000 90.000000 180.000000 ellipse s
+n 37.468481 10.811080 0.000000 0.000000 0.000000 90.000000 ellipse s
+0.100000 slw
+[] 0 sd
+n 20.050000 7.950000 m 20.050000 9.350000 l 23.050000 9.350000 l 23.050000 7.950000 l f
+0.000000 0.000000 0.000000 srgb
+n 20.050000 7.950000 m 20.050000 9.350000 l 23.050000 9.350000 l 23.050000 7.950000 l cp s
+/Helvetica-Bold-latin1 ff 0.700000 scf sf
+(Quack) dup sw 2 div 21.550000 ex sub 8.950000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 25.900000 7.950000 m 25.900000 9.350000 l 28.050000 9.350000 l 28.050000 7.950000 l f
+0.000000 0.000000 0.000000 srgb
+n 25.900000 7.950000 m 25.900000 9.350000 l 28.050000 9.350000 l 28.050000 7.950000 l cp s
+/Helvetica-Bold-latin1 ff 0.700000 scf sf
+(GDS) dup sw 2 div 26.975000 ex sub 8.950000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 21.450000 2.200000 m 21.450000 3.600000 l 26.800000 3.600000 l 26.800000 2.200000 l f
+0.000000 0.000000 0.000000 srgb
+n 21.450000 2.200000 m 21.450000 3.600000 l 26.800000 3.600000 l 26.800000 2.200000 l cp s
+/Helvetica-Bold-latin1 ff 0.700000 scf sf
+(cmuscheme) dup sw 2 div 24.125000 ex sub 3.200000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+0 slj
+0 slc
+n 24.357500 4.511803 m 24.357500 5.775000 l 27.098800 5.775000 l 27.098800 7.950000 l s
+0 slj
+1.000000 1.000000 1.000000 srgb
+n 24.757500 4.511803 m 24.357500 3.711803 l 23.957500 4.511803 l ef
+0.100000 slw
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 24.757500 4.511803 m 24.357500 3.711803 l 23.957500 4.511803 l cp s
+/Courier-latin1 ff 0.560000 scf sf
+0.100000 slw
+[] 0 sd
+0 slj
+0 slc
+n 24.357500 4.511803 m 24.357500 5.775000 l 21.698800 5.775000 l 21.698800 7.950000 l s
+0 slj
+1.000000 1.000000 1.000000 srgb
+n 24.757500 4.511803 m 24.357500 3.711803 l 23.957500 4.511803 l ef
+0.100000 slw
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 24.757500 4.511803 m 24.357500 3.711803 l 23.957500 4.511803 l cp s
+/Courier-latin1 ff 0.560000 scf sf
+0.100000 slw
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 30.300000 2.200000 m 30.300000 3.600000 l 34.400000 3.600000 l 34.400000 2.200000 l f
+0.000000 0.000000 0.000000 srgb
+n 30.300000 2.200000 m 30.300000 3.600000 l 34.400000 3.600000 l 34.400000 2.200000 l cp s
+/Helvetica-Bold-latin1 ff 0.700000 scf sf
+(xscheme) dup sw 2 div 32.350000 ex sub 3.200000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+1.000000 1.000000 1.000000 srgb
+n 27.400000 -3.500000 m 27.400000 -2.100000 l 31.050000 -2.100000 l 31.050000 -3.500000 l f
+0.000000 0.000000 0.000000 srgb
+n 27.400000 -3.500000 m 27.400000 -2.100000 l 31.050000 -2.100000 l 31.050000 -3.500000 l cp s
+/Helvetica-Bold-latin1 ff 0.700000 scf sf
+(scheme) dup sw 2 div 29.225000 ex sub -2.500000 m gs 1 -1 sc sh gr
+0.100000 slw
+[] 0 sd
+0 slj
+0 slc
+n 29.368800 -1.188197 m 29.368800 0.050000 l 32.526300 0.050000 l 32.526300 2.200000 l s
+0 slj
+1.000000 1.000000 1.000000 srgb
+n 29.768800 -1.188197 m 29.368800 -1.988197 l 28.968800 -1.188197 l ef
+0.100000 slw
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 29.768800 -1.188197 m 29.368800 -1.988197 l 28.968800 -1.188197 l cp s
+/Courier-latin1 ff 0.560000 scf sf
+0.100000 slw
+[] 0 sd
+0 slj
+0 slc
+n 29.368800 -1.188197 m 29.368800 0.050000 l 24.357500 0.050000 l 24.357500 2.200000 l s
+0 slj
+1.000000 1.000000 1.000000 srgb
+n 29.768800 -1.188197 m 29.368800 -1.988197 l 28.968800 -1.188197 l ef
+0.100000 slw
+[] 0 sd
+0 slj
+0.000000 0.000000 0.000000 srgb
+n 29.768800 -1.188197 m 29.368800 -1.988197 l 28.968800 -1.188197 l cp s
+/Courier-latin1 ff 0.560000 scf sf
+/Helvetica-latin1 ff 0.560000 scf sf
+showpage
diff --git a/doc/ref/scheme.pdf b/doc/ref/scheme.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..fff74f4320d29b9caba83ba12eb6211ea4e1d8dd
GIT binary patch
diff --git a/doc/ref/scheme.txt b/doc/ref/scheme.txt
new file mode 100644
index 0000000..64ae052
--- /dev/null
+++ b/doc/ref/scheme.txt
@@ -0,0 +1,11 @@
+            scheme
+               ^
+               |
+         .-----+-----.
+         |           |
+     cmuscheme    xscheme
+         ^
+         |
+   .-----+-----.
+   |           |
+ Quack        GDS
-- 
1.5.4.3

