aboutsummaryrefslogtreecommitdiffstats
path: root/z19.c
diff options
context:
space:
mode:
authorJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 20:37:27 +0000
committerJeffrey H. Kingston <jeff@it.usyd.edu.au>2010-09-14 20:37:27 +0000
commit7db8921aac3a0e1223af269ec7092bdd91a7c7a2 (patch)
tree4336d04fbb26c26d23f6d5a3d572b474dd1f70af /z19.c
parenta9f9ae0efa326dc2edc7f2d92ce270f5fdc15b60 (diff)
downloadlout-7db8921aac3a0e1223af269ec7092bdd91a7c7a2.tar.gz
Lout 3.24.
git-svn-id: http://svn.savannah.nongnu.org/svn/lout/trunk@17 9365b830-b601-4143-9ba8-b4a8e2c3339c
Diffstat (limited to 'z19.c')
-rw-r--r--z19.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/z19.c b/z19.c
index 8d33501..6deaf27 100644
--- a/z19.c
+++ b/z19.c
@@ -1,6 +1,6 @@
/*@z19.c:Galley Attaching:DetachGalley()@*************************************/
/* */
-/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.23) */
+/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.24) */
/* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */
/* */
/* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */
@@ -662,11 +662,21 @@ int AttachGalley(OBJECT hd, OBJECT *inners, OBJECT *suspend_pt)
/* otherwise we must reject, and warn the user */
if( !scaled )
- {
+ { char num1[20], num2[20];
debug3(DGA, D, " reject: vsize %s,%s in %s; y=",
EchoLength(back(y, dim)), EchoLength(fwd(y, dim)),
EchoConstraint(&c));
ifdebug(DGA, D, DebugObject(y));
+ if( size(y, dim) > 0 )
+ { sprintf(num1, "%.1fc", (float) size(y, dim) / CM);
+ sprintf(num2, "%.1fc", (float) bfc(c) / CM);
+ if( dim == ROWM )
+ Error(19, 12, "%s object too high for %s space; will try elsewhere",
+ WARN, &fpos(y), num1, num2);
+ else
+ Error(19, 13, "%s object too wide for %s space; will try elsewhere",
+ WARN, &fpos(y), num1, num2);
+ }
goto REJECT;
}
@@ -760,7 +770,7 @@ int AttachGalley(OBJECT hd, OBJECT *inners, OBJECT *suspend_pt)
}
if( !scaled )
- {
+ { char num1[20], num2[20];
limiter(hd) = why;
debug3(DGA, D, " set limiter(%s) = %d %s", SymName(actual(hd)),
(int) limiter(hd), EchoObject(limiter(hd)));
@@ -768,6 +778,16 @@ int AttachGalley(OBJECT hd, OBJECT *inners, OBJECT *suspend_pt)
EchoLength(back(z, dim)), EchoLength(fwd(z, dim)),
EchoConstraint(&c));
ifdebug(DGA, D, DebugObject(y));
+ if( size(z, dim) > 0 )
+ { sprintf(num1, "%.1fc", (float) size(z, dim) / CM);
+ sprintf(num2, "%.1fc", (float) bfc(c) / CM);
+ if( dim == ROWM )
+ Error(19, 14, "%s object too high for %s space; will try elsewhere",
+ WARN, &fpos(y), num1, num2);
+ else
+ Error(19, 15, "%s object too wide for %s space; will try elsewhere",
+ WARN, &fpos(y), num1, num2);
+ }
goto REJECT;
}
}