summaryrefslogtreecommitdiffstats
path: root/regress/tbl/macro/req.in
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2022-04-30 18:51:36 +0000
committerIngo Schwarze <schwarze@openbsd.org>2022-04-30 18:51:36 +0000
commit9aa6ef8197493fef732a3c196a9405dac78ef349 (patch)
tree709d709b80e078ae5cca7a600e77225e8106ccc9 /regress/tbl/macro/req.in
parent556f141936dddcdc663288d71ccf7b1a85ec1afe (diff)
downloadmandoc-9aa6ef8197493fef732a3c196a9405dac78ef349.tar.gz
Provide a new function roff_req_or_macro() to parse and handle a request
or macro, including context-dependent error handling inside tbl(7) code and inside .ce/.rj blocks. Use it both in the top level roff(7) parser and inside conditional blocks. This fixes an assertion failure triggered by ".if 1 .ce" inside tbl(7) code, found by tb@ using afl(1). As a side benefit for readability, only one place remains in the code that calls the main handler functions for the various roff(7) requests. This patch also improves column numbers in some error messages and various comments.
Diffstat (limited to 'regress/tbl/macro/req.in')
-rw-r--r--regress/tbl/macro/req.in30
1 files changed, 30 insertions, 0 deletions
diff --git a/regress/tbl/macro/req.in b/regress/tbl/macro/req.in
new file mode 100644
index 00000000..30e1fe98
--- /dev/null
+++ b/regress/tbl/macro/req.in
@@ -0,0 +1,30 @@
+.\" $OpenBSD: req.in,v 1.1 2022/04/30 18:46:16 schwarze Exp $
+.TH TBL-MACRO-REQ 1 "April 30, 2022"
+.SH NAME
+tbl-macro-req \- requests generating nodes in a table
+.SH DESCRIPTION
+initial text
+.TS
+box tab(:);
+l | l .
+a:b:stray
+_
+c:T{
+d
+e
+T}
+.ce
+f:T{
+g
+.br
+h
+T}
+.if 1 .ce
+i:T{
+j
+.if 1 .br
+k
+T}
+.TE
+.PP
+final text