summaryrefslogtreecommitdiff
path: root/src/preproc
diff options
context:
space:
mode:
authorwl <wl>2008-10-10 17:03:27 +0000
committerwl <wl>2008-10-10 17:03:27 +0000
commitdbcbcd884a6456023cfcb3ef388058de5941683a (patch)
tree90711d35f88d7f6e13aae2bceccf240dae5d301c /src/preproc
parenta76cd01e84e7f8a3f75a72bab5650545f67e5992 (diff)
downloadgroff-dbcbcd884a6456023cfcb3ef388058de5941683a.tar.gz
* man/roff.man, doc/groff.texinfo: Improve the history part. This
is based on input from Tom Van Vleck <thvv@multicians.org>. * src/preproc/eqn/sqrt.cpp (sqrt_box::compute_metrics): Assure that value of `rst' register is not zero, as can happen for the HTML output device. Otherwise, there are too many loops, and we get a stack overflow because of recursion.
Diffstat (limited to 'src/preproc')
-rw-r--r--src/preproc/eqn/sqrt.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/preproc/eqn/sqrt.cpp b/src/preproc/eqn/sqrt.cpp
index b340bd4e..26e72eb9 100644
--- a/src/preproc/eqn/sqrt.cpp
+++ b/src/preproc/eqn/sqrt.cpp
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2003, 2007
+/* Copyright (C) 1989, 1990, 1991, 1992, 2002, 2003, 2007, 2008
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -93,7 +93,8 @@ int sqrt_box::compute_metrics(int style)
printf(".de " TEMP_MACRO "\n"
".nr " SQRT_WIDTH_FORMAT
" 0\\w" DELIMITER_CHAR "\\*[" SQRT_STRING_FORMAT "]" DELIMITER_CHAR "\n"
- ".if \\\\n[rst]-\\\\n[rsb]-%dM<\\n[" TEMP_REG "]"
+ ".if \\\\n[rst]"
+ "&(\\\\n[rst]-\\\\n[rsb]-%dM<\\n[" TEMP_REG "])"
"&(\\\\n[.ps]<\\n[" MAX_SIZE_REG "]) \\{"
".ps +1\n"
"." TEMP_MACRO "\n"