]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc_headers.3
Revert part of the previous diff to fix a regression (another endless loop)
[mandoc.git] / mandoc_headers.3
index ecb730f2941839bf44fdc8049f2666313ca24a19..7fe6d379f864894d41d5fe2318a80a5c206925e8 100644 (file)
@@ -1,4 +1,20 @@
-.Dd December 1, 2014
+.\"    $Id: mandoc_headers.3,v 1.34 2021/08/10 12:55:03 schwarze Exp $
+.\"
+.\" Copyright (c) 2014-2021 Ingo Schwarze <schwarze@openbsd.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: August 10 2021 $
 .Dt MANDOC_HEADERS 3
 .Os
 .Sh NAME
 .Dt MANDOC_HEADERS 3
 .Os
 .Sh NAME
@@ -25,13 +41,13 @@ separate from each other:
 .Pp
 .Bl -dash -offset indent -compact
 .It
 .Pp
 .Bl -dash -offset indent -compact
 .It
-.Xr mdoc 7
+.Xr roff 7
 parser
 .It
 parser
 .It
-.Xr man 7
+.Xr mdoc 7
 parser
 .It
 parser
 .It
-.Xr roff 7
+.Xr man 7
 parser
 .It
 .Xr tbl 7
 parser
 .It
 .Xr tbl 7
@@ -45,6 +61,8 @@ terminal formatters
 HTML formatters
 .It
 search tools
 HTML formatters
 .It
 search tools
+.It
+main programs
 .El
 .Pp
 Note that mere usage of an opaque struct type does
 .El
 .Pp
 Note that mere usage of an opaque struct type does
@@ -56,14 +74,18 @@ any other mandoc header.
 These headers should be included before any other mandoc headers.
 .Bl -tag -width Ds
 .It Qq Pa mandoc_aux.h
 These headers should be included before any other mandoc headers.
 .Bl -tag -width Ds
 .It Qq Pa mandoc_aux.h
+Memory allocation utility functions; can be used everywhere.
+.Pp
 Requires
 .In sys/types.h
 for
 .Vt size_t .
 .Pp
 Requires
 .In sys/types.h
 for
 .Vt size_t .
 .Pp
-Provides the utility functions documented in
+Provides the functions documented in
 .Xr mandoc_malloc 3 .
 .It Qq Pa mandoc_ohash.h
 .Xr mandoc_malloc 3 .
 .It Qq Pa mandoc_ohash.h
+Hashing utility functions; can be used everywhere.
+.Pp
 Requires
 .In stddef.h
 for
 Requires
 .In stddef.h
 for
@@ -78,60 +100,37 @@ Includes
 and provides
 .Fn mandoc_ohash_init .
 .It Qq Pa mandoc.h
 and provides
 .Fn mandoc_ohash_init .
 .It Qq Pa mandoc.h
+Error handling, escape sequence, and character utilities;
+can be used everywhere.
+.Pp
 Requires
 .In sys/types.h
 for
 Requires
 .In sys/types.h
 for
-.Vt size_t .
+.Vt size_t
+and
+.In stdio.h
+for
+.Vt FILE .
 .Pp
 Provides
 .Vt enum mandoc_esc ,
 .Vt enum mandocerr ,
 .Vt enum mandoclevel ,
 .Pp
 Provides
 .Vt enum mandoc_esc ,
 .Vt enum mandocerr ,
 .Vt enum mandoclevel ,
-.Vt enum tbl_cellt ,
-.Vt enum tbl_datt ,
-.Vt enum tbl_spant ,
-.Vt enum eqn_boxt ,
-.Vt enum eqn_fontt ,
-.Vt enum eqn_pilet ,
-.Vt enum eqn_post ,
-.Vt struct tbl_opts ,
-.Vt struct tbl_cell ,
-.Vt struct tbl_row ,
-.Vt struct tbl_dat ,
-.Vt struct tbl_span ,
-.Vt struct eqn_box ,
-.Vt struct eqn ,
-the function prototype typedef
-.Fn mandocmsg ,
 the function
 .Xr mandoc_escape 3 ,
 the functions described in
 .Xr mchars_alloc 3 ,
 the function
 .Xr mandoc_escape 3 ,
 the functions described in
 .Xr mchars_alloc 3 ,
-and the functions
-.Fn mparse_*
-described in
-.Xr mandoc 3 .
-.Pp
-Uses the opaque type
-.Vt struct mparse
-from
-.Pa read.c
-for function prototypes.
-Uses the type
-.Vt struct roff_man
-from
-.Pa roff.h
-as an opaque type for function prototypes.
+and the
+.Fn mandoc_msg*
+functions.
 .It Qq Pa roff.h
 .It Qq Pa roff.h
-Requires
-.Qq Pa mandoc_ohash.h
-for
-.Vt struct ohash .
+Common data types for all syntax trees and related functions;
+can be used everywhere.
 .Pp
 Provides
 .Pp
 Provides
+.Vt enum mandoc_os ,
 .Vt enum mdoc_endbody ,
 .Vt enum roff_macroset ,
 .Vt enum mdoc_endbody ,
 .Vt enum roff_macroset ,
-.Vt enum roff_next ,
 .Vt enum roff_sec ,
 .Vt enum roff_tok ,
 .Vt enum roff_type ,
 .Vt enum roff_sec ,
 .Vt enum roff_tok ,
 .Vt enum roff_type ,
@@ -140,20 +139,127 @@ Provides
 .Vt struct roff_node ,
 the constant array
 .Va roff_name
 .Vt struct roff_node ,
 the constant array
 .Va roff_name
-and the functions
-.Fn deroff ,
-.Fn roffhash_alloc ,
-.Fn roffhash_find ,
-and
-.Fn roffhash_free .
+and the function
+.Fn deroff .
 .Pp
 Uses pointers to the types
 .Pp
 Uses pointers to the types
+.Vt struct ohash
+from
+.Qq Pa mandoc_ohash.h ,
 .Vt struct mdoc_arg
 and
 .Vt union mdoc_data
 from
 .Vt struct mdoc_arg
 and
 .Vt union mdoc_data
 from
-.Pa mdoc.h
+.Qq Pa mdoc.h ,
+.Vt struct tbl_span
+from
+.Qq Pa tbl.h ,
+and
+.Vt struct eqn_box
+from
+.Qq Pa eqn.h
 as opaque struct members.
 as opaque struct members.
+.It Qq Pa tbl.h
+Data structures for the
+.Xr tbl 7
+parse tree; can be used everywhere.
+.Pp
+Requires
+.In sys/types.h
+for
+.Vt size_t
+and
+.Qq Pa mandoc.h
+for
+.Vt enum mandoc_esc .
+.Pp
+Provides
+.Vt enum tbl_cellt ,
+.Vt enum tbl_datt ,
+.Vt enum tbl_spant ,
+.Vt struct tbl_opts ,
+.Vt struct tbl_cell ,
+.Vt struct tbl_row ,
+.Vt struct tbl_dat ,
+and
+.Vt struct tbl_span .
+.It Qq Pa eqn.h
+Data structures for the
+.Xr eqn 7
+parse tree; can be used everywhere.
+.Pp
+Requires
+.In sys/types.h
+for
+.Vt size_t .
+.Pp
+Provides
+.Vt enum eqn_boxt ,
+.Vt enum eqn_fontt ,
+.Vt enum eqn_post ,
+and
+.Vt struct eqn_box .
+.It Qq Pa mandoc_parse.h
+Top level parser interface, for use in the main program
+and in the main parser, but not in formatters.
+.Pp
+Requires
+.Qq Pa mandoc.h
+for
+.Vt enum mandocerr
+and
+.Vt enum mandoclevel
+and
+.Qq Pa roff.h
+for
+.Vt enum mandoc_os .
+.Pp
+Uses the opaque type
+.Vt struct mparse
+from
+.Pa read.c
+for function prototypes.
+Uses
+.Vt struct roff_meta
+from
+.Qq Pa roff.h
+as an opaque type for function prototypes.
+.It Qq Pa mandoc_xr.h
+Cross reference validation; intended for use in the main program
+and in parsers, but not in formatters.
+.Pp
+Provides
+.Vt struct mandoc_xr
+and the functions
+.Fn mandoc_xr_reset ,
+.Fn mandoc_xr_add ,
+.Fn mandoc_xr_get ,
+and
+.Fn mandoc_xr_free .
+.It Qq Pa tag.h
+Internal interfaces to tag syntax tree nodes,
+for use by validation modules only.
+.Pp
+Requires
+.In limits.h
+for
+.Dv INT_MAX .
+.Pp
+Provides the functions
+.Fn tag_alloc ,
+.Fn tag_put ,
+.Fn tag_check ,
+and
+.Fn tag_free
+and some
+.Dv TAG_*
+constants.
+.Pp
+Uses the type
+.Vt struct roff_node
+from
+.Qq Pa roff.h
+as an opaque type for function prototypes.
 .El
 .Pp
 The following two require
 .El
 .Pp
 The following two require
@@ -186,40 +292,35 @@ and the functions
 described in
 .Xr mandoc 3 .
 .Pp
 described in
 .Xr mandoc 3 .
 .Pp
-Uses the type
+Uses the types
+.Vt struct roff_node
+from
+.Qq Pa roff.h
+and
 .Vt struct roff_man
 from
 .Vt struct roff_man
 from
-.Pa roff.h
-as an opaque type for function prototypes.
+.Qq Pa roff_int.h
+as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
 .Pp
 When this header is included, the same file should not include
-.Pa libman.h
-or
-.Pa libroff.h .
+internals of different parsers.
 .It Qq Pa man.h
 Provides the functions
 .Fn man_*
 described in
 .Xr mandoc 3 .
 .Pp
 .It Qq Pa man.h
 Provides the functions
 .Fn man_*
 described in
 .Xr mandoc 3 .
 .Pp
-Uses the opaque type
-.Vt struct mparse
-from
-.Pa read.c
-for function prototypes.
 Uses the type
 .Vt struct roff_man
 from
 Uses the type
 .Vt struct roff_man
 from
-.Pa roff.h
+.Qq Pa roff.h
 as an opaque type for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as an opaque type for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa libmdoc.h
-or
-.Pa libroff.h .
+internals of different parsers.
 .El
 .Ss Parser internals
 .El
 .Ss Parser internals
-The following headers require inclusion of a parser interface header
+Most of the following headers require inclusion of a parser interface header
 before they can be included.
 All parser interface headers should precede all parser internal headers.
 When any parser internal headers are included, the same file should
 before they can be included.
 All parser interface headers should precede all parser internal headers.
 When any parser internal headers are included, the same file should
@@ -236,61 +337,65 @@ for
 .Vt enum mandocerr .
 .Pp
 Provides
 .Vt enum mandocerr .
 .Pp
 Provides
-.Vt enum rofferr ,
 .Vt struct buf ,
 utility functions needed by multiple parsers,
 and the top-level functions to call the parsers.
 .Pp
 .Vt struct buf ,
 utility functions needed by multiple parsers,
 and the top-level functions to call the parsers.
 .Pp
-Uses the opaque types
-.Vt struct mparse
-from
-.Pa read.c
-and
+Uses the opaque type
 .Vt struct roff
 from
 .Pa roff.c
 for function prototypes.
 .Vt struct roff
 from
 .Pa roff.c
 for function prototypes.
-Uses the types
-.Vt struct tbl_span
-and
-.Vt struct eqn
-from
-.Pa mandoc.h
-and
+Uses the type
 .Vt struct roff_man
 from
 .Vt struct roff_man
 from
-.Pa roff.h
-as opaque types for function prototypes.
+.Qq Pa roff.h
+as an opaque type for function prototypes.
 .It Qq Pa roff_int.h
 .It Qq Pa roff_int.h
+Parser internals shared by multiple parsers.
+Can be used in all parsers, but not in main programs or formatters.
+.Pp
 Requires
 .Qq Pa roff.h
 for
 Requires
 .Qq Pa roff.h
 for
-.Vt enum roff_type .
+.Vt enum roff_type
+and
+.Vt enum roff_tok .
 .Pp
 .Pp
-Provides functions named
+Provides
+.Vt enum roff_next ,
+.Vt struct roff_man ,
+functions named
 .Fn roff_*
 .Fn roff_*
-to handle roff nodes and the two special functions
+to handle roff nodes,
+.Fn roffhash_alloc ,
+.Fn roffhash_find ,
+.Fn roffhash_free ,
+and
+.Fn roff_validate ,
+and the two special functions
 .Fn man_breakscope
 and
 .Fn mdoc_argv_free
 because the latter two are needed by
 .Fn man_breakscope
 and
 .Fn mdoc_argv_free
 because the latter two are needed by
-.Qq Pa roff.c .
+.Pa roff.c .
 .Pp
 Uses the types
 .Pp
 Uses the types
-.Vt struct eqn
-and
-.Vt struct tbl_span
+.Vt struct ohash
 from
 from
-.Pa mandoc.h ,
-.Vt struct roff_man
-and
+.Qq Pa mandoc_ohash.h ,
 .Vt struct roff_node
 .Vt struct roff_node
+and
+.Vt struct roff_meta
+from
+.Qq Pa roff.h ,
+.Vt struct roff
 from
 from
-.Pa roff.h ,
+.Pa roff.c ,
 and
 .Vt struct mdoc_arg
 from
 and
 .Vt struct mdoc_arg
 from
-.Pa mdoc.h
+.Qq Pa mdoc.h
 as opaque types for function prototypes.
 .It Qq Pa libmdoc.h
 Requires
 as opaque types for function prototypes.
 .It Qq Pa libmdoc.h
 Requires
@@ -298,11 +403,7 @@ Requires
 for
 .Vt enum roff_tok
 and
 for
 .Vt enum roff_tok
 and
-.Qq Pa mdoc.h
-for
-.Vt enum mdoc_*
-and
-.Vt struct mdoc_* .
+.Vt enum roff_sec .
 .Pp
 Provides
 .Vt enum margserr ,
 .Pp
 Provides
 .Vt enum margserr ,
@@ -312,23 +413,21 @@ and many functions internal to the
 .Xr mdoc 7
 parser.
 .Pp
 .Xr mdoc 7
 parser.
 .Pp
-Uses the opaque type
-.Vt struct mparse
-from
-.Pa read.c .
 Uses the types
 Uses the types
+.Vt struct roff_node
+from
+.Qq Pa roff.h ,
 .Vt struct roff_man
 .Vt struct roff_man
+from
+.Qq Pa roff_int.h ,
 and
 and
-.Vt struct roff_node
+.Vt struct mdoc_arg
 from
 from
-.Pa roff.h
+.Qq Pa mdoc.h
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa man.h ,
-.Pa libman.h ,
-or
-.Pa libroff.h .
+interfaces of different parsers.
 .It Qq Pa libman.h
 Requires
 .Qq Pa roff.h
 .It Qq Pa libman.h
 Requires
 .Qq Pa roff.h
@@ -342,55 +441,109 @@ and some functions internal to the
 parser.
 .Pp
 Uses the types
 parser.
 .Pp
 Uses the types
-.Vt struct roff_man
-and
 .Vt struct roff_node
 from
 .Vt struct roff_node
 from
-.Pa roff.h
+.Qq Pa roff.h
+and
+.Vt struct roff_man
+from
+.Qq Pa roff_int.h
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa mdoc.h ,
-.Pa libmdoc.h ,
-or
-.Pa libroff.h .
-.It Qq Pa libroff.h
+interfaces of different parsers.
+.It Qq Pa eqn_parse.h
+External interface of the
+.Xr eqn 7
+parser, for use in the
+.Xr roff 7
+and
+.Xr eqn 7
+parsers only.
+.Pp
 Requires
 .In sys/types.h
 for
 Requires
 .In sys/types.h
 for
-.Vt size_t ,
+.Vt size_t .
+.Pp
+Provides
+.Vt struct eqn_node
+and the functions
+.Fn eqn_alloc ,
+.Fn eqn_box_new ,
+.Fn eqn_box_free ,
+.Fn eqn_free ,
+.Fn eqn_parse ,
+.Fn eqn_read ,
+and
+.Fn eqn_reset .
+.Pp
+Uses the type
+.Vt struct eqn_box
+from
 .Qq Pa mandoc.h
 .Qq Pa mandoc.h
-for
-.Vt struct tbl_*
+as an opaque type for function prototypes.
+Uses the types
+.Vt struct roff_node
+from
+.Qq Pa roff.h
 and
 and
-.Vt struct eqn ,
+.Vt struct eqn_def
+from
+.Pa eqn.c
+as opaque struct members.
+.Pp
+When this header is included, the same file should not include
+internals of different parsers.
+.It Qq Pa tbl_parse.h
+External interface of the
+.Xr tbl 7
+parser, for use in the
+.Xr roff 7
+and
+.Xr tbl 7
+parsers only.
+.Pp
+Provides the functions documented in
+.Xr tbl 3 .
+.Pp
+Uses the types
+.Vt struct tbl_span
+from
+.Qq Pa tbl.h
 and
 and
-.Qq Pa libmandoc.h
+.Vt struct tbl_node
+from
+.Qq Pa tbl_int.h
+as opaque types for function prototypes.
+.Pp
+When this header is included, the same file should not include
+internals of different parsers.
+.It Qq Pa tbl_int.h
+Internal interfaces of the
+.Xr tbl 7
+parser, for use inside the
+.Xr tbl 7
+parser only.
+.Pp
+Requires
+.Qq Pa tbl.h
 for
 for
-.Vt enum rofferr .
+.Vt struct tbl_opts .
 .Pp
 Provides
 .Vt enum tbl_part ,
 .Vt struct tbl_node ,
 .Pp
 Provides
 .Vt enum tbl_part ,
 .Vt struct tbl_node ,
-.Vt struct eqn_def ,
-.Vt struct eqn_node ,
-and many functions internal to the
-.Xr tbl 7
+and the functions
+.Fn tbl_option ,
+.Fn tbl_layout ,
+.Fn tbl_data ,
+.Fn tbl_cdata ,
 and
 and
-.Xr eqn 7
-parsers.
-.Pp
-Uses the opaque type
-.Vt struct mparse
-from
-.Pa read.c .
+.Fn tbl_reset .
 .Pp
 When this header is included, the same file should not include
 .Pp
 When this header is included, the same file should not include
-.Pa man.h ,
-.Pa mdoc.h ,
-.Pa libman.h ,
-or
-.Pa libmdoc.h .
+interfaces of different parsers.
 .El
 .Ss Formatter interface
 These headers should be included after any parser interface headers.
 .El
 .Ss Formatter interface
 These headers should be included after any parser interface headers.
@@ -414,11 +567,11 @@ and
 Uses
 .Vt struct tbl_span
 from
 Uses
 .Vt struct tbl_span
 from
-.Pa mandoc.h
+.Qq Pa mandoc.h
 as an opaque type for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as an opaque type for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa mansearch.h .
+.Qq Pa mansearch.h .
 .It Qq Pa term.h
 Requires
 .In sys/types.h
 .It Qq Pa term.h
 Requires
 .In sys/types.h
@@ -447,27 +600,60 @@ from
 Uses
 .Vt struct tbl_span
 and
 Uses
 .Vt struct tbl_span
 and
-.Vt struct eqn
+.Vt struct eqn_box
 from
 from
-.Pa mandoc.h
+.Qq Pa mandoc.h
 and
 .Vt struct roff_meta
 and
 .Vt struct roff_node
 from
 and
 .Vt struct roff_meta
 and
 .Vt struct roff_node
 from
-.Pa roff.h
+.Qq Pa roff.h
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa html.h
+.Qq Pa html.h
 or
 or
-.Pa mansearch.h .
-.It Qq Pa html.h
+.Qq Pa mansearch.h .
+.It Qq Pa tag_term.h
 Requires
 .In sys/types.h
 for
 .Vt size_t
 and
 Requires
 .In sys/types.h
 for
 .Vt size_t
 and
+.In stdio.h
+for
+.Vt FILE .
+.Pp
+Provides an interface to generate
+.Xr ctags 1
+files for the
+.Ic :t
+functionality mentioned in
+.Xr man 1 .
+.Pp
+Uses the type
+.Vt struct roff_node
+from
+.Qq Pa roff.h
+as an opaque type for function prototypes.
+.Pp
+When this header is included, the same file should not include
+.Qq Pa html.h
+or
+.Qq Pa mansearch.h .
+.It Qq Pa html.h
+Requires
+.In sys/types.h
+for
+.Vt size_t ,
+.Qq Pa mandoc.h
+for
+.Vt enum mandoc_esc ,
+.Qq Pa roff.h
+for
+.Vt enum roff_tok ,
+and
 .Qq Pa out.h
 for
 .Vt struct roffsu
 .Qq Pa out.h
 for
 .Vt struct roffsu
@@ -488,38 +674,27 @@ and many HTML formatting functions.
 Uses
 .Vt struct tbl_span
 and
 Uses
 .Vt struct tbl_span
 and
-.Vt struct eqn
+.Vt struct eqn_box
 from
 from
-.Pa mandoc.h
+.Qq Pa mandoc.h
 and
 .Vt struct roff_node
 from
 and
 .Vt struct roff_node
 from
-.Pa roff.h
+.Qq Pa roff.h
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as opaque types for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa term.h
+.Qq Pa term.h ,
+.Qq Pa tab_term.h ,
 or
 or
-.Pa mansearch.h .
-.It Qq Pa tag.h
-Requires
-.In sys/types.h
-for
-.Vt size_t .
-.Pp
-Provides an interface to generate
-.Xr ctags 1
-files for the
-.Ic :t
-functionality mentioned in
-.Xr man 1 .
+.Qq Pa mansearch.h .
 .It Qq Pa main.h
 Provides the top level steering functions for all formatters.
 .Pp
 Uses the type
 .It Qq Pa main.h
 Provides the top level steering functions for all formatters.
 .Pp
 Uses the type
-.Vt struct roff_man
+.Vt struct roff_meta
 from
 from
-.Pa roff.h
+.Qq Pa roff.h
 as an opaque type for function prototypes.
 .It Qq Pa manconf.h
 Requires
 as an opaque type for function prototypes.
 .It Qq Pa manconf.h
 Requires
@@ -534,8 +709,9 @@ Provides
 and the functions
 .Fn manconf_parse ,
 .Fn manconf_output ,
 and the functions
 .Fn manconf_parse ,
 .Fn manconf_output ,
+.Fn manconf_free ,
 and
 and
-.Fn manconf_free .
+.Fn manpath_base .
 .It Qq Pa mansearch.h
 Requires
 .In sys/types.h
 .It Qq Pa mansearch.h
 Requires
 .In sys/types.h
@@ -558,12 +734,13 @@ and
 Uses
 .Vt struct manpaths
 from
 Uses
 .Vt struct manpaths
 from
-.Pa manconf.h
+.Qq Pa manconf.h
 as an opaque type for function prototypes.
 .Pp
 When this header is included, the same file should not include
 as an opaque type for function prototypes.
 .Pp
 When this header is included, the same file should not include
-.Pa out.h ,
-.Pa term.h ,
+.Qq Pa out.h ,
+.Qq Pa term.h ,
+.Qq Pa tab_term.h ,
 or
 or
-.Pa html.h .
+.Qq Pa html.h .
 .El
 .El