summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man.75
-rw-r--r--man.c2
-rw-r--r--man.h3
-rw-r--r--man_action.c1
-rw-r--r--man_html.c2
-rw-r--r--man_macro.c1
-rw-r--r--man_term.c3
-rw-r--r--man_validate.c1
8 files changed, 16 insertions, 2 deletions
diff --git a/man.7 b/man.7
index 3e4ac1c9..d3d102af 100644
--- a/man.7
+++ b/man.7
@@ -290,6 +290,7 @@ If a next-line macro is proceded by a block macro, it is ignored.
.It Sx \&I Ta n Ta next-line
.It Sx \&IB Ta n Ta current
.It Sx \&IR Ta n Ta current
+.It Sx \&PD Ta n Ta current
.It Sx \&R Ta n Ta next-line
.It Sx \&RB Ta n Ta current
.It Sx \&RI Ta n Ta current
@@ -308,6 +309,7 @@ If a next-line macro is proceded by a block macro, it is ignored.
.
.Pp
The
+.Sx \&PD ,
.Sx \&RS ,
.Sx \&RE ,
.Sx \&UC ,
@@ -370,6 +372,7 @@ No closure refers to an explicit block closing macro.
If a block macro is next-line scoped, it may only be followed by in-line
macros (excluding
.Sx \&DT ,
+.Sx \&PD ,
.Sx \&TH ,
.Sx \&UC ,
.Sx \&br ,
@@ -525,6 +528,8 @@ If
.Va width
is specified, it's saved for later paragraph left-margins; if
unspecified, the saved or default width is used.
+.Ss \&PD
+Has no effect. Included for compatibility.
.Ss \&UC
Has no effect. Included for compatibility.
.Ss \&br
diff --git a/man.c b/man.c
index c303dd6c..e51ba768 100644
--- a/man.c
+++ b/man.c
@@ -56,7 +56,7 @@ const char *const __man_macronames[MAN_MAX] = {
"R", "B", "I", "IR",
"RI", "na", "i", "sp",
"nf", "fi", "r", "RE",
- "RS", "DT", "UC"
+ "RS", "DT", "UC", "PD"
};
const char * const *man_macronames = __man_macronames;
diff --git a/man.h b/man.h
index f1ba698c..d264f4a0 100644
--- a/man.h
+++ b/man.h
@@ -50,7 +50,8 @@
#define MAN_RS 28
#define MAN_DT 29
#define MAN_UC 30
-#define MAN_MAX 31
+#define MAN_PD 31
+#define MAN_MAX 32
enum man_type {
MAN_TEXT,
diff --git a/man_action.c b/man_action.c
index 1d197766..6e608310 100644
--- a/man_action.c
+++ b/man_action.c
@@ -63,6 +63,7 @@ const struct actions man_actions[MAN_MAX] = {
{ NULL }, /* RS */
{ NULL }, /* DT */
{ NULL }, /* UC */
+ { NULL }, /* PD */
};
static time_t man_atotime(const char *);
diff --git a/man_html.c b/man_html.c
index 82170e9f..113d00b2 100644
--- a/man_html.c
+++ b/man_html.c
@@ -30,6 +30,7 @@
#include "main.h"
/* TODO: preserve ident widths. */
+/* FIXME: have PD set the default vspace width. */
#define INDENT 5
#define HALFINDENT 3
@@ -104,6 +105,7 @@ static const struct htmlman mans[MAN_MAX] = {
{ man_RS_pre, NULL }, /* RS */
{ man_ign_pre, NULL }, /* DT */
{ man_ign_pre, NULL }, /* UC */
+ { man_ign_pre, NULL }, /* PD */
};
diff --git a/man_macro.c b/man_macro.c
index 9e1760ab..9c290e45 100644
--- a/man_macro.c
+++ b/man_macro.c
@@ -67,6 +67,7 @@ const struct man_macro __man_macros[MAN_MAX] = {
{ blk_imp, MAN_EXPLICIT }, /* RS */
{ in_line_eoln, 0 }, /* DT */
{ in_line_eoln, 0 }, /* UC */
+ { in_line_eoln, 0 }, /* PD */
};
const struct man_macro * const man_macros = __man_macros;
diff --git a/man_term.c b/man_term.c
index 76e07ecc..4dc1d858 100644
--- a/man_term.c
+++ b/man_term.c
@@ -32,6 +32,8 @@
#define INDENT 7
#define HALFINDENT 3
+/* FIXME: have PD set the default vspace width. */
+
struct mtermp {
int fl;
#define MANT_LITERAL (1 << 0)
@@ -141,6 +143,7 @@ static const struct termact termacts[MAN_MAX] = {
{ pre_RS, post_RS }, /* RS */
{ pre_ign, NULL }, /* DT */
{ pre_ign, NULL }, /* UC */
+ { pre_ign, NULL }, /* PD */
};
diff --git a/man_validate.c b/man_validate.c
index 8b292336..85a6f387 100644
--- a/man_validate.c
+++ b/man_validate.c
@@ -86,6 +86,7 @@ static const struct man_valid man_valids[MAN_MAX] = {
{ NULL, posts_part }, /* RS */
{ NULL, NULL }, /* DT */
{ NULL, NULL }, /* UC */
+ { NULL, NULL }, /* PD */
};