summaryrefslogtreecommitdiffstats
path: root/mdoc_term.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2020-01-19 18:02:00 +0000
committerIngo Schwarze <schwarze@openbsd.org>2020-01-19 18:02:00 +0000
commitc52cbdd1ba579d2163f2000582c15c6002df18e9 (patch)
tree6b9836bd7f87a1c917fca71747149eecdf66d7ac /mdoc_term.c
parent997afdc8d9bfb322c69f12820e5299a5cbca4fba (diff)
downloadmandoc-c52cbdd1ba579d2163f2000582c15c6002df18e9.tar.gz
Introduce a new mdoc(7) macro .Tg ("tag") to explicitly mark a place
as defining a term. Please only use it when automatic tagging does not work. Manual page authors will not be required to add the new macro; using it remains optional. HTML output is still rudimentary in this version and will be polished later. Thanks to kn@ for reminding me that i have been considering since BSDCan 2014 whether something like this might be useful. Given that possibilities of making automatic tagging better are running out and there are still several situations where automatic tagging cannot do the job, i think the time is now ripe. Feedback and no objection from millert@; OK espie@ inoguchi@ kn@.
Diffstat (limited to 'mdoc_term.c')
-rw-r--r--mdoc_term.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/mdoc_term.c b/mdoc_term.c
index 44de128b..a7e90bd2 100644
--- a/mdoc_term.c
+++ b/mdoc_term.c
@@ -1,7 +1,7 @@
/* $Id$ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2010, 2012-2019 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2010, 2012-2020 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2013 Franco Fichtner <franco@lastsummer.de>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -119,6 +119,7 @@ static int termp_pp_pre(DECL_ARGS);
static int termp_ss_pre(DECL_ARGS);
static int termp_sy_pre(DECL_ARGS);
static int termp_tag_pre(DECL_ARGS);
+static int termp_tg_pre(DECL_ARGS);
static int termp_under_pre(DECL_ARGS);
static int termp_vt_pre(DECL_ARGS);
static int termp_xr_pre(DECL_ARGS);
@@ -245,6 +246,7 @@ static const struct mdoc_term_act mdoc_term_acts[MDOC_MAX - MDOC_Dd] = {
{ NULL, termp____post }, /* %Q */
{ NULL, termp____post }, /* %U */
{ NULL, NULL }, /* Ta */
+ { termp_tg_pre, NULL }, /* Tg */
};
static int fn_prio;
@@ -2082,6 +2084,13 @@ termp_tag_pre(DECL_ARGS)
}
static int
+termp_tg_pre(DECL_ARGS)
+{
+ tag_put(n->child->string, -2, p->line);
+ return 0;
+}
+
+static int
termp_abort_pre(DECL_ARGS)
{
abort();