summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwlemb <wlemb>2003-05-15 15:40:04 +0000
committerwlemb <wlemb>2003-05-15 15:40:04 +0000
commita1872d49e6bc8afffc8f22176cf05b6fc218e179 (patch)
tree98f1b35cfe96541913b69b4bb60117ba435edc74
parent0524bed6419dd40ed49306925fd377f06aa01efa (diff)
downloadgroff-a1872d49e6bc8afffc8f22176cf05b6fc218e179.tar.gz
* src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
correctly. * tmac/groff_mdoc.man: Slight improvements.
-rw-r--r--ChangeLog9
-rw-r--r--PROBLEMS3
-rw-r--r--src/utils/pfbtops/pfbtops.c16
-rw-r--r--tmac/groff_mdoc.man5
4 files changed, 29 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 43cfe26a..48c26264 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-05-15 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
+ correctly.
+
+2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/groff_mdoc.man: Slight improvements.
+
2003-05-03 Werner LEMBERG <wl@gnu.org>
* tmac/doc-common (doc-header): Emit vertical space of 1v instead of
diff --git a/PROBLEMS b/PROBLEMS
index f679c3a3..c287a9c9 100644
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -790,6 +790,7 @@ Makefile. If that doesn't solve the problem, define INT_MIN as
----------------------------------------------------------------------
-* When compiling on MacOS X, groff compiles but does not run well.
+* When compiling on MacOS X, groff compiles but does not run well,
+ especially `eqn', causing many `can't break line' messages.
Use ./configure CXX=g++2 then make as usual.
diff --git a/src/utils/pfbtops/pfbtops.c b/src/utils/pfbtops/pfbtops.c
index 821d9019..094d9ddf 100644
--- a/src/utils/pfbtops/pfbtops.c
+++ b/src/utils/pfbtops/pfbtops.c
@@ -67,19 +67,27 @@ static void get_text(int n)
else if (c == '\\' && in_string) {
count++;
putchar(c);
+ if (n-- == 0)
+ break;
c = getchar();
/* don't split octal character representations */
if (c >= '0' && c <= '7') {
count++;
putchar(c);
+ if (n-- == 0)
+ break;
c = getchar();
if (c >= '0' && c <= '7') {
count++;
putchar(c);
+ if (n-- == 0)
+ break;
c = getchar();
if (c >= '0' && c <= '7') {
count++;
putchar(c);
+ if (n-- == 0)
+ break;
c = getchar();
}
}
@@ -88,9 +96,13 @@ static void get_text(int n)
if (c == EOF)
error("end of file in text packet");
else if (c == '\r') {
+ if (n-- == 0)
+ break;
c1 = getchar();
- if (c1 != '\n')
+ if (c1 != '\n') {
ungetc(c1, stdin);
+ n++;
+ }
c = '\n';
}
if (c == '\n') {
@@ -112,6 +124,8 @@ static void get_text(int n)
/* split at the next whitespace character */
while (c != ' ' && c != '\t' && c != '\f') {
putchar(c);
+ if (n-- == 0)
+ break;
c = getchar();
}
count = 0;
diff --git a/tmac/groff_mdoc.man b/tmac/groff_mdoc.man
index e39df7a2..be6c0cfd 100644
--- a/tmac/groff_mdoc.man
+++ b/tmac/groff_mdoc.man
@@ -3925,14 +3925,15 @@ displayed with a
device like
.Sq latin1
or
-.Sq unicode
+.Sq unicode ,
to make the manual more efficient for viewing on-line.
This behaviour can be changed (e.g.\& to create a hardcopy of the
.Tn TTY
output) by setting the register
.Ql cR
to zero while calling
-.Xr groff :
+.Xr groff 1 ,
+resulting in multiple pages instead of a single, very long page:
.Pp
.Dl groff -Tlatin1 -rcR=0 -mdoc foo.man > foo.txt
.Pp