aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/term.h
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-06-04 22:44:15 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-06-04 22:44:15 +0000
commit4a4657f9f40ea60d08ecfb7c12fc46e29440ff58 (patch)
treebf7ff7d4e63bcc15048ba4c11abf99b9146c1e76 /term.h
parentab795e726e781905db61f736dacb3fbb0e35a301 (diff)
downloadmandoc-4a4657f9f40ea60d08ecfb7c12fc46e29440ff58.tar.gz
mandoc-4a4657f9f40ea60d08ecfb7c12fc46e29440ff58.tar.zst
mandoc-4a4657f9f40ea60d08ecfb7c12fc46e29440ff58.zip
Implement the roff(7) .mc (right margin character) request.
The Tcl/Tk manual pages use this extensively. Delete the TERM_MAXMARGIN hack, it breaks .mc inside .nf; instead, implement a proper TERMP_BRNEVER flag.
Diffstat (limited to 'term.h')
-rw-r--r--term.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/term.h b/term.h
index ac5f5858..d618002b 100644
--- a/term.h
+++ b/term.h
@@ -1,4 +1,4 @@
-/* $Id: term.h,v 1.122 2017/06/04 18:50:35 schwarze Exp $ */
+/* $Id: term.h,v 1.123 2017/06/04 22:44:15 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011-2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -36,8 +36,6 @@ enum termfont {
TERMFONT__MAX
};
-#define TERM_MAXMARGIN 100000 /* FIXME */
-
struct eqn;
struct roff_meta;
struct roff_node;
@@ -87,6 +85,10 @@ struct termp {
#define TERMP_NOSPLIT (1 << 13) /* Do not break line before .An. */
#define TERMP_SPLIT (1 << 14) /* Break line before .An. */
#define TERMP_NONEWLINE (1 << 15) /* No line break in nofill mode. */
+#define TERMP_BRNEVER (1 << 16) /* Don't even break at maxrmargin. */
+#define TERMP_NOBUF (1 << 17) /* Bypass output buffer. */
+#define TERMP_NEWMC (1 << 18) /* No .mc printed yet. */
+#define TERMP_ENDMC (1 << 19) /* Next break ends .mc mode. */
int *buf; /* Output buffer. */
enum termenc enc; /* Type of encoding. */
enum termfont fontl; /* Last font set. */
@@ -105,6 +107,7 @@ struct termp {
int (*hspan)(const struct termp *,
const struct roffsu *);
const void *argf; /* arg for headf/footf */
+ const char *mc; /* Margin character. */
struct termp_ps *ps;
};