summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwl <wl>2008-10-04 05:15:16 +0000
committerwl <wl>2008-10-04 05:15:16 +0000
commitd0e0edd48d0e73b69fb8ba8b29b102f2bde88d13 (patch)
tree086033f4fa2cda14cb5d31c92d5b57e95815a86b /src
parent52ee433e2e6ff26dd3153ad4fb238c9a37e04841 (diff)
downloadgroff-d0e0edd48d0e73b69fb8ba8b29b102f2bde88d13.tar.gz
* src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and
\O[5] non-transparent w.r.t. beginning-of-line recognition (similar to the other \O variants).
Diffstat (limited to 'src')
-rw-r--r--src/roff/troff/input.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 304f4b2c..55f4a770 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -109,8 +109,8 @@ int is_html = 0;
int begin_level = 0; // number of nested \O escapes
int have_input = 0; // whether \f, \F, \D'F...', \H, \m, \M,
- // \R, \s, or \S has been processed in
- // token::next()
+ // \O[345], \R, \s, or \S has been processed
+ // in token::next()
int old_have_input = 0; // value of have_input right before \n
int tcommand_flag = 0;
int unsafe_flag = 0; // safer by default
@@ -5496,9 +5496,11 @@ static node *do_suppress(symbol nm)
return new suppress_node(1, 1);
break;
case '3':
+ have_input = 1;
begin_level++;
break;
case '4':
+ have_input = 1;
begin_level--;
break;
case '5':
@@ -5524,6 +5526,8 @@ static node *do_suppress(symbol nm)
image_no++;
if (begin_level == 0)
return new suppress_node(symbol(s), position, image_no);
+ else
+ have_input = 1;
}
break;
default: