unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* patch: commit 5d34402: update non-text versions of figure
@ 2011-12-25  4:07 gregory benison
  2013-01-15 18:19 ` Andy Wingo
  0 siblings, 1 reply; 2+ messages in thread
From: gregory benison @ 2011-12-25  4:07 UTC (permalink / raw)
  To: guile-devel

[-- Attachment #1: Type: text/plain, Size: 712 bytes --]

> commit 5d344028fbf8b3e764549d975b20aa20ae316aa9
> Author: Mark H Weaver <mhw@netris.org>
> Date:   Tue Mar 1 13:46:08 2011 -0500
>
>   Remove incorrect footnote from GOOPS manual
>
>   * doc/ref/goops.texi (Inheritance): Remove footnote which incorrectly
>    stated that <complex> was not shown in the class hierarchy figure.

It seems that <complex> was where it was supposed to be in the text
version of the figure (doc/ref/hierarchy.txt), but not in the other
formats (hierarchy.png, hierarchy.pdf) - so that in the pdf version of
the manual the figure does not match the manual text.

The attached patch brings the pdf and png versions of hierarchy.X in
sync with hierarchy.txt, and with the manual text.

[-- Attachment #2: 0001-doc-ref-hierarchy.png-conform-to-hierarchy.txt-and-m.patch --]
[-- Type: application/octet-stream, Size: 49540 bytes --]

From 59ec49066ae8dd65f1eab3fd0296ca596306d78f Mon Sep 17 00:00:00 2001
From: Greg Benison <gbenison@gmail.com>
Date: Sat, 24 Dec 2011 11:27:12 -0800
Subject: [PATCH] doc/ref/hierarchy.png: conform to hierarchy.txt and manual

hierarchy.png (and .pdf, .eps) were changed to add one node
to the graph, getting them in sync with hierarchy.txt
(and the GOOPS section of the manual).

Also added hierarchy.dot, a file to generate said figure
using graphviz.
---
 doc/ref/hierarchy.dot |   21 ++
 doc/ref/hierarchy.eps |  722 ++++++++++++++++++++++++++++++++++++++++---------
 doc/ref/hierarchy.pdf |  Bin 1722 -> 7286 bytes
 doc/ref/hierarchy.png |  Bin 6251 -> 12468 bytes
 4 files changed, 619 insertions(+), 124 deletions(-)
 create mode 100644 doc/ref/hierarchy.dot

diff --git a/doc/ref/hierarchy.dot b/doc/ref/hierarchy.dot
new file mode 100644
index 0000000..f0d9daf
--- /dev/null
+++ b/doc/ref/hierarchy.dot
@@ -0,0 +1,21 @@
+/*
+ * Process this file with graphviz to produce hierarchy.[png,eps]
+ * e.g. dot hierarchy.dot -Tpng > hierarchy.png
+ */
+digraph hierarchy {
+	graph [rankdir="BT"];
+	node  [shape="none"];
+	F -> D
+	F -> E
+	D -> A
+	E -> A
+	D -> B
+	E -> C
+	A -> "<object>"
+	B -> "<object>"
+	C -> "<object>"
+	"<object>"    -> "<top>"
+	"<pair>"      -> "<top>"
+	"<procedure>" -> "<top>"
+	"<integer>"   -> "<real>" -> "<complex>" -> "<number>" -> "<top>"
+}
diff --git a/doc/ref/hierarchy.eps b/doc/ref/hierarchy.eps
index 7b1a986..d9e896c 100644
--- a/doc/ref/hierarchy.eps
+++ b/doc/ref/hierarchy.eps
@@ -1,127 +1,601 @@
-%!PS-Adobe-2.0 EPSF
-%%Title: /tmp/xfig-fig016295
-%%Creator: fig2dev
-%%CreationDate: Fri Jun 10 23:18:16 1994
-%%For: eg@kaolin (Erick Gallesio)
-%%BoundingBox: 0 0 361 217
-%%Pages: 0
+%!PS-Adobe-3.0
+%%Creator: graphviz version 2.26.3 (20100126.1600)
+%%Title: hierarchy
+%%Pages: (atend)
+%%BoundingBox: (atend)
 %%EndComments
-/$F2psDict 200 dict def 
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/l {lineto} bind def
-/m {moveto} bind def
-/s {stroke} bind def
-/n {newpath} bind def
-/gs {gsave} bind def
-/gr {grestore} bind def
-/clp {closepath} bind def
-/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
-4 -2 roll mul setrgbcolor} bind def
-/col-1 {} def
-/col0 {0 0 0 setrgbcolor} bind def
-/col1 {0 0 1 setrgbcolor} bind def
-/col2 {0 1 0 setrgbcolor} bind def
-/col3 {0 1 1 setrgbcolor} bind def
-/col4 {1 0 0 setrgbcolor} bind def
-/col5 {1 0 1 setrgbcolor} bind def
-/col6 {1 1 0 setrgbcolor} bind def
-/col7 {1 1 1 setrgbcolor} bind def
-	end
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
+save
+%%BeginProlog
+/DotDict 200 dict def
+DotDict begin
+
+/setupLatin1 {
+mark
+/EncodingVector 256 array def
+ EncodingVector 0
+
+ISOLatin1Encoding 0 255 getinterval putinterval
+EncodingVector 45 /hyphen put
+
+% Set up ISO Latin 1 character encoding
+/starnetISO {
+        dup dup findfont dup length dict begin
+        { 1 index /FID ne { def }{ pop pop } ifelse
+        } forall
+        /Encoding EncodingVector def
+        currentdict end definefont
+} def
+/Times-Roman starnetISO def
+/Times-Italic starnetISO def
+/Times-Bold starnetISO def
+/Times-BoldItalic starnetISO def
+/Helvetica starnetISO def
+/Helvetica-Oblique starnetISO def
+/Helvetica-Bold starnetISO def
+/Helvetica-BoldOblique starnetISO def
+/Courier starnetISO def
+/Courier-Oblique starnetISO def
+/Courier-Bold starnetISO def
+/Courier-BoldOblique starnetISO def
+cleartomark
+} bind def
+
+%%BeginResource: procset graphviz 0 0
+/coord-font-family /Times-Roman def
+/default-font-family /Times-Roman def
+/coordfont coord-font-family findfont 8 scalefont def
+
+/InvScaleFactor 1.0 def
+/set_scale {
+       dup 1 exch div /InvScaleFactor exch def
+       scale
+} bind def
+
+% styles
+/solid { [] 0 setdash } bind def
+/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
+/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
+/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
+/bold { 2 setlinewidth } bind def
+/filled { } bind def
+/unfilled { } bind def
+/rounded { } bind def
+/diagonals { } bind def
+
+% hooks for setting color 
+/nodecolor { sethsbcolor } bind def
+/edgecolor { sethsbcolor } bind def
+/graphcolor { sethsbcolor } bind def
+/nopcolor {pop pop pop} bind def
+
+/beginpage {	% i j npages
+	/npages exch def
+	/j exch def
+	/i exch def
+	/str 10 string def
+	npages 1 gt {
+		gsave
+			coordfont setfont
+			0 0 moveto
+			(\() show i str cvs show (,) show j str cvs show (\)) show
+		grestore
+	} if
+} bind def
+
+/set_font {
+	findfont exch
+	scalefont setfont
+} def
+
+% draw text fitted to its expected width
+/alignedtext {			% width text
+	/text exch def
+	/width exch def
+	gsave
+		width 0 gt {
+			[] 0 setdash
+			text stringwidth pop width exch sub text length div 0 text ashow
+		} if
+	grestore
+} def
+
+/boxprim {				% xcorner ycorner xsize ysize
+		4 2 roll
+		moveto
+		2 copy
+		exch 0 rlineto
+		0 exch rlineto
+		pop neg 0 rlineto
+		closepath
+} bind def
+
+/ellipse_path {
+	/ry exch def
+	/rx exch def
+	/y exch def
+	/x exch def
+	matrix currentmatrix
+	newpath
+	x y translate
+	rx ry scale
+	0 0 1 0 360 arc
+	setmatrix
+} bind def
+
+/endpage { showpage } bind def
+/showpage { } def
+
+/layercolorseq
+	[	% layer color sequence - darkest to lightest
+		[0 0 0]
+		[.2 .8 .8]
+		[.4 .8 .8]
+		[.6 .8 .8]
+		[.8 .8 .8]
+	]
+def
+
+/layerlen layercolorseq length def
+
+/setlayer {/maxlayer exch def /curlayer exch def
+	layercolorseq curlayer 1 sub layerlen mod get
+	aload pop sethsbcolor
+	/nodecolor {nopcolor} def
+	/edgecolor {nopcolor} def
+	/graphcolor {nopcolor} def
+} bind def
+
+/onlayer { curlayer ne {invis} if } def
+
+/onlayers {
+	/myupper exch def
+	/mylower exch def
+	curlayer mylower lt
+	curlayer myupper gt
+	or
+	{invis} if
+} def
+
+/curlayer 0 def
+
+%%EndResource
 %%EndProlog
+%%BeginSetup
+14 default-font-family set_font
+1 setmiterlimit
+% /arrowlength 10 def
+% /arrowwidth 5 def
+
+% make sure pdfmark is harmless for PS-interpreters other than Distiller
+/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
+% make '<<' and '>>' safe on PS Level 1 devices
+/languagelevel where {pop languagelevel}{1} ifelse
+2 lt {
+    userdict (<<) cvn ([) cvn load put
+    userdict (>>) cvn ([) cvn load put
+} if
 
-$F2psBegin
-0 setlinecap 0 setlinejoin
--216.0 288.0 translate 0.900 -0.900 scale
-0.500 setlinewidth
-n 309 159 m 309 159 l gs col-1 s gr
-n 246.401 216.889 m 244.000 209.000 l 249.831 214.831 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 244 209 m 274 259 l gs col-1 s gr
-n 298.169 214.831 m 304.000 209.000 l 301.599 216.889 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 304 209 m 274 259 l gs col-1 s gr
-n 255.721 213.778 m 249.000 209.000 l 257.179 210.053 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 249 209 m 364 254 l gs col-1 s gr
-n 370.312 216.376 m 374.000 209.000 l 374.217 217.243 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 374 209 m 364 254 l gs col-1 s gr
-n 283.772 280.725 m 279.000 274.000 l 286.376 277.688 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 279 274 m 314 304 l gs col-1 s gr
-n 351.457 272.333 m 359.000 269.000 l 353.913 275.490 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 359 269 m 314 304 l gs col-1 s gr
-n 300.950 165.789 m 309.000 164.000 l 302.739 169.367 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 309 164 m 249 194 l gs col-1 s gr
-n 307.000 172.000 m 309.000 164.000 l 311.000 172.000 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 309 164 m 309 199 l gs col-1 s gr
-n 315.261 169.367 m 309.000 164.000 l 317.050 165.789 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 309 164 m 379 199 l gs col-1 s gr
-n 406.949 101.701 m 404.000 94.000 l 410.226 99.407 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 404 94 m 439 144 l gs col-1 s gr
-n 410.363 99.245 m 404.000 94.000 l 412.083 95.634 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 404 94 m 509 144 l gs col-1 s gr
-n 411.173 98.068 m 404.000 94.000 l 412.243 94.214 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 404 94 m 584 144 l gs col-1 s gr
-n 396.075 96.277 m 404.000 94.000 l 398.079 99.739 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 404 94 m 309 149 l gs col-1 s gr
-% Polyline
-n 584 229 m 584 204 l gs col-1 s gr
-n 582.000 212.000 m 584.000 204.000 l 586.000 212.000 l gs 2 setlinejoin col-1 s gr
-% Polyline
-n 584 189 m 584 159 l gs col-1 s gr
-n 582.000 167.000 m 584.000 159.000 l 586.000 167.000 l gs 2 setlinejoin col-1 s gr
-/Times-Bold findfont 12.00 scalefont setfont
-239 209 m 
-gs 1 -1 scale (A) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-274 274 m 
-gs 1 -1 scale (D) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-359 269 m 
-gs 1 -1 scale (E) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-304 209 m 
-gs 1 -1 scale (B) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-374 209 m 
-gs 1 -1 scale (C) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-314 319 m 
-gs 1 -1 scale (F) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-289 159 m 
-gs 1 -1 scale (<object>) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-389 89 m 
-gs 1 -1 scale (<top>) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-424 154 m 
-gs 1 -1 scale (<pair>) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-474 154 m 
-gs 1 -1 scale (<procedure>) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-559 154 m 
-gs 1 -1 scale (<number>) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-629 154 m 
-gs 1 -1 scale (...) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-569 199 m 
-gs 1 -1 scale (<real>) col-1 show gr
-/Times-Bold findfont 12.00 scalefont setfont
-559 239 m 
-gs 1 -1 scale (<integer>) col-1 show gr
-$F2psEnd
+%%EndSetup
+setupLatin1
+%%Page: 1 1
+%%PageBoundingBox: 36 36 452 368
+%%PageOrientation: Portrait
+0 0 1 beginpage
+gsave
+36 36 416 332 boxprim clip newpath
+1 1 set_scale 0 rotate 40 41 translate
+% F
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+94.5 13.4 moveto 9 (F) alignedtext
+grestore
+% D
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+57.5 85.4 moveto 11 (D) alignedtext
+grestore
+% F->D
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 89.92 36.17 moveto
+85.94 44.12 81.18 53.63 76.79 62.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 73.55 61.08 moveto
+72.21 71.59 lineto
+79.81 64.21 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 73.55 61.08 moveto
+72.21 71.59 lineto
+79.81 64.21 lineto
+closepath stroke
+grestore
+% E
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+130 85.4 moveto 10 (E) alignedtext
+grestore
+% F->E
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 108.08 36.17 moveto
+112.06 44.12 116.82 53.63 121.21 62.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 118.19 64.21 moveto
+125.79 71.59 lineto
+124.45 61.08 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 118.19 64.21 moveto
+125.79 71.59 lineto
+124.45 61.08 lineto
+closepath stroke
+grestore
+% A
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+93.5 157.4 moveto 11 (A) alignedtext
+grestore
+% D->A
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 72.08 108.17 moveto
+76.06 116.12 80.82 125.63 85.21 134.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 82.19 136.21 moveto
+89.79 143.59 lineto
+88.45 133.08 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 82.19 136.21 moveto
+89.79 143.59 lineto
+88.45 133.08 lineto
+closepath stroke
+grestore
+% B
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+22 157.4 moveto 10 (B) alignedtext
+grestore
+% D->B
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 53.92 108.17 moveto
+49.94 116.12 45.18 125.63 40.79 134.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 37.55 133.08 moveto
+36.21 143.59 lineto
+43.81 136.21 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 37.55 133.08 moveto
+36.21 143.59 lineto
+43.81 136.21 lineto
+closepath stroke
+grestore
+% E->A
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 125.92 108.17 moveto
+121.94 116.12 117.18 125.63 112.79 134.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 109.55 133.08 moveto
+108.21 143.59 lineto
+115.81 136.21 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 109.55 133.08 moveto
+108.21 143.59 lineto
+115.81 136.21 lineto
+closepath stroke
+grestore
+% C
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+166 157.4 moveto 10 (C) alignedtext
+grestore
+% E->C
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 144.08 108.17 moveto
+148.06 116.12 152.82 125.63 157.21 134.43 curveto
+stroke
+0 0 0 edgecolor
+newpath 154.19 136.21 moveto
+161.79 143.59 lineto
+160.45 133.08 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 154.19 136.21 moveto
+161.79 143.59 lineto
+160.45 133.08 lineto
+closepath stroke
+grestore
+% <object>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+73.5 229.4 moveto 51 (<object>) alignedtext
+grestore
+% A-><object>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 99 180.17 moveto
+99 187.87 99 197.03 99 205.58 curveto
+stroke
+0 0 0 edgecolor
+newpath 95.5 205.59 moveto
+99 215.59 lineto
+102.5 205.59 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 95.5 205.59 moveto
+99 215.59 lineto
+102.5 205.59 lineto
+closepath stroke
+grestore
+% B-><object>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 45.17 180.17 moveto
+53.72 188.72 64.06 199.06 73.38 208.38 curveto
+stroke
+0 0 0 edgecolor
+newpath 71.04 210.99 moveto
+80.59 215.59 lineto
+75.99 206.04 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 71.04 210.99 moveto
+80.59 215.59 lineto
+75.99 206.04 lineto
+closepath stroke
+grestore
+% C-><object>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 152.83 180.17 moveto
+144.28 188.72 133.94 199.06 124.62 208.38 curveto
+stroke
+0 0 0 edgecolor
+newpath 122.01 206.04 moveto
+117.41 215.59 lineto
+126.96 210.99 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 122.01 206.04 moveto
+117.41 215.59 lineto
+126.96 210.99 lineto
+closepath stroke
+grestore
+% <top>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+205.5 301.4 moveto 35 (<top>) alignedtext
+grestore
+% <object>-><top>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 130.29 252.17 moveto
+147.52 262.17 168.98 274.63 186.92 285.05 curveto
+stroke
+0 0 0 edgecolor
+newpath 185.53 288.29 moveto
+195.93 290.28 lineto
+189.04 282.23 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 185.53 288.29 moveto
+195.93 290.28 lineto
+189.04 282.23 lineto
+closepath stroke
+grestore
+% <pair>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+158 229.4 moveto 40 (<pair>) alignedtext
+grestore
+% <pair>-><top>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 189.36 252.17 moveto
+194.43 260.29 200.52 270.04 206.12 278.99 curveto
+stroke
+0 0 0 edgecolor
+newpath 203.22 280.96 moveto
+211.49 287.59 lineto
+209.16 277.25 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 203.22 280.96 moveto
+211.49 287.59 lineto
+209.16 277.25 lineto
+closepath stroke
+grestore
+% <procedure>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+231.5 229.4 moveto 73 (<procedure>) alignedtext
+grestore
+% <procedure>-><top>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 256.64 252.17 moveto
+251.57 260.29 245.48 270.04 239.88 278.99 curveto
+stroke
+0 0 0 edgecolor
+newpath 236.84 277.25 moveto
+234.51 287.59 lineto
+242.78 280.96 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 236.84 277.25 moveto
+234.51 287.59 lineto
+242.78 280.96 lineto
+closepath stroke
+grestore
+% <integer>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+339.5 13.4 moveto 57 (<integer>) alignedtext
+grestore
+% <real>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+348.5 85.4 moveto 39 (<real>) alignedtext
+grestore
+% <integer>-><real>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 368 36.17 moveto
+368 43.87 368 53.03 368 61.58 curveto
+stroke
+0 0 0 edgecolor
+newpath 364.5 61.59 moveto
+368 71.59 lineto
+371.5 61.59 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 364.5 61.59 moveto
+368 71.59 lineto
+371.5 61.59 lineto
+closepath stroke
+grestore
+% <complex>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+336 157.4 moveto 64 (<complex>) alignedtext
+grestore
+% <real>-><complex>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 368 108.17 moveto
+368 115.87 368 125.03 368 133.58 curveto
+stroke
+0 0 0 edgecolor
+newpath 364.5 133.59 moveto
+368 143.59 lineto
+371.5 133.59 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 364.5 133.59 moveto
+368 143.59 lineto
+371.5 133.59 lineto
+closepath stroke
+grestore
+% <number>
+gsave
+0 0 0 nodecolor
+14 /Times-Roman set_font
+337.5 229.4 moveto 61 (<number>) alignedtext
+grestore
+% <complex>-><number>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 368 180.17 moveto
+368 187.87 368 197.03 368 205.58 curveto
+stroke
+0 0 0 edgecolor
+newpath 364.5 205.59 moveto
+368 215.59 lineto
+371.5 205.59 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 364.5 205.59 moveto
+368 215.59 lineto
+371.5 205.59 lineto
+closepath stroke
+grestore
+% <number>-><top>
+gsave
+1 setlinewidth
+0 0 0 edgecolor
+newpath 331.41 252.17 moveto
+309.39 263.1 281.45 276.98 259.45 287.9 curveto
+stroke
+0 0 0 edgecolor
+newpath 257.82 284.8 moveto
+250.42 292.38 lineto
+260.94 291.07 lineto
+closepath fill
+1 setlinewidth
+solid
+0 0 0 edgecolor
+newpath 257.82 284.8 moveto
+250.42 292.38 lineto
+260.94 291.07 lineto
+closepath stroke
+grestore
+endpage
+showpage
+grestore
+%%PageTrailer
+%%EndPage: 1
+%%Trailer
+%%Pages: 1
+%%BoundingBox: 36 36 452 368
+end
+restore
+%%EOF
diff --git a/doc/ref/hierarchy.pdf b/doc/ref/hierarchy.pdf
index 3a19ba4eb42df46776412ad700c1665fb393ed62..8c02d7a56dfe138d09cafaacb33975d1b9920807 100644
GIT binary patch
literal 7286
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

delta 1201
zcmexnv5S{OHNeG9*HF)RB8Odl?v&Gc(uO>)-+yuGzCF5Ok;W@V7RFg-x))-j-#6(A
z9p@D~Qn^F(*YCZT_Q>3pI3PE%yicR+$?DQ0*RH1jh|fRUE`RdgU&F>L|BQ3q_im2&
z{gPwZlC=Hv>%~7a_tYB9(y$7Ru4#*2q`TCrc-aJ{FvUq#nMLeB6&fzNuKq2fFHrCI
zOZR}Xx9J3tyy%`e7pr+59S|wn=Bm7BCOZeSQ0zw4>E(>PO=}a=8oXvW&ar7!o~N{Y
z)rUMD&h?#MwxtVt-n-pWu{=0gDWoYX&@oRdU`p<TRUC6XHbtE5+oWB*i;Y#NKSk+d
zamhJO!#(>Z6o($vOI)dI^L%PS@Igx{=ZuH-y_1sXwfRU*N<C?Dv*hwREfb}3#ly?J
zG8g%FO-oCgnR$`(%A@<mi>BPGYPt{?JMX=r+LDxeUu-#6u5q<ssb)GJ$6vAL+~byM
z-nPEG6+>2hUDtZHD|?;e^ffBglCw=NsEa6O-`mY1syP2u_{2|wLYlr^s^XI-yU70$
zG<<MM<VbzfV|n+LFRsQ+?=YL2(xv^ep>s-rkEy^H33;RD?=71SNZNGHOWAg0)t8ew
z(kXhE<MP(`98ulk^NHOrQKZn+zxD2%6E9Tm$ZPc;x@3NG-uA><d!OH#8GfZ?cI@H%
zRoVJsGm?JD%uNa3?`wbSMj7AKAg;Qw=*>TN#3V`|oAFwtwLU+5d)mjHw}hVc^EN--
z6t%0Nvr#ZuH@v$$b-9dkr;eR&{n~vqldQi~ht_9ir36Q(hhDz<`Rw7ezh!Z@M{jEE
z{rdLj(?1pstB>A1{q^s=nwuNlUmj`s`mS>C&cC~Fhb&$sxZ&;1%lF@&U3QX1oSR#4
zYruwed!iiw+U-93HTm`mXX7and(T$<|FUi8>idW5b{gIP_=mk$!$Kl8FQvGoC^a#c
z3&_e(%HlFpFi-%~W(JeDv1qd!n;9w?8JbUi!D7Q_36u-s(s#?xD^V~sm~712Joz}Q
zF{9<=KdiEh29u@O3{*ohb5o0To$_;1^g}8OQo(Au^n**2N<ci2kfEL3<Uf)+^%i=D
zrkY&(&OpmcGV}9X5=&AwT&#=?49pBn3@r=|O)ZQ-^1k^gxTHcdOL9^*^h<IJ^efUb
z({+K^z|hRd5^ijMkp@uAC?&NFXpm!RNd{0LHQgaQF+V3$Jx?J<!?h?gIa|R!F()Ur
zI5R&+Q`6248VnUhscBpW3WkQ0&q+z!8(5kfD;R))LY@K_m|<XOXaNi>R51ffLlX=!
zbF;}B(yAc_<|d}-a)t&*h8SXoSi}s>j4;#zEt`B-T87bZ@-JyQ2aO4=`<;_h=Y29x
m+gB*h9}^R;iA5-u%g&CgxFoTt1nfaWV{=O`RaIAiH!c7S1>Xz+

diff --git a/doc/ref/hierarchy.png b/doc/ref/hierarchy.png
index 46f58b051cd7ef7d57dbf3305c447f79c13bbdc0..e3a516164e0da2f8e0d9681f8044265a847fd3d1 100644
GIT binary patch
literal 12468
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

literal 6251
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
YNo&k>O)1d)`-`CYTu-(3nRVFz0D~=CyZ`_I

-- 
1.7.3.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: patch: commit 5d34402: update non-text versions of figure
  2011-12-25  4:07 patch: commit 5d34402: update non-text versions of figure gregory benison
@ 2013-01-15 18:19 ` Andy Wingo
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Wingo @ 2013-01-15 18:19 UTC (permalink / raw)
  To: gregory benison; +Cc: guile-devel

On Sun 25 Dec 2011 05:07, gregory benison <gbenison@gmail.com> writes:

>> commit 5d344028fbf8b3e764549d975b20aa20ae316aa9
>> Author: Mark H Weaver <mhw@netris.org>
>> Date:   Tue Mar 1 13:46:08 2011 -0500
>>
>>   Remove incorrect footnote from GOOPS manual
>>
>>   * doc/ref/goops.texi (Inheritance): Remove footnote which incorrectly
>>    stated that <complex> was not shown in the class hierarchy figure.
>
> It seems that <complex> was where it was supposed to be in the text
> version of the figure (doc/ref/hierarchy.txt), but not in the other
> formats (hierarchy.png, hierarchy.pdf) - so that in the pdf version of
> the manual the figure does not match the manual text.
>
> The attached patch brings the pdf and png versions of hierarchy.X in
> sync with hierarchy.txt, and with the manual text.

Applied, finally.  Thanks, and apologies for the delay.

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-01-15 18:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-25  4:07 patch: commit 5d34402: update non-text versions of figure gregory benison
2013-01-15 18:19 ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).