]> git.cameronkatri.com Git - mandoc.git/commitdiff
provide stubs to ignore .ds, .rm and .tr,
authorIngo Schwarze <schwarze@openbsd.org>
Mon, 24 May 2010 22:25:58 +0000 (22:25 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Mon, 24 May 2010 22:25:58 +0000 (22:25 +0000)
which occur in the standard pod2man preamble;
from OpenBSD;
"sounds good" joerg@, "can be checked in" kristaps@

roff.7
roff.c

diff --git a/roff.7 b/roff.7
index 4c582588532132a287f94878c78808e653b251e6..64621c8376fcb627f2985febadac6feaa06a2097 100644 (file)
--- a/roff.7
+++ b/roff.7
@@ -1,4 +1,4 @@
-.\"    $Id: roff.7,v 1.5 2010/05/17 02:38:13 kristaps Exp $
+.\"    $Id: roff.7,v 1.6 2010/05/24 22:25:58 schwarze Exp $
 .\"
 .\" Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv>
 .\"
@@ -14,7 +14,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: May 17 2010 $
+.Dd $Mdocdate: May 24 2010 $
 .Dt ROFF 7
 .Os
 .Sh NAME
@@ -90,6 +90,12 @@ The syntax of this macro is the same as that of
 .Sx \&ig ,
 except that a leading argument must be specified.
 It is ignored, as are its children.
+.Ss \&ds
+Define a string.
+This macro is intended to have two arguments,
+the name of the string to define and its content.
+Currently, it is ignored including its arguments,
+and the number of arguments is not checked.
 .Ss \&de1
 The syntax of this macro is the same as that of
 .Sx \&ig ,
@@ -235,6 +241,18 @@ the subsequent invocation of
 .Sx \&if
 will first signify the end of comment, then be invoked as a macro.
 This behaviour really shouldn't be counted upon.
+.Ss \&rm
+Remove a request, macro or string.
+This macro is intended to have one argument,
+the name of the request, macro or string to be undefined.
+Currently, it is ignored including its arguments,
+and the number of arguments is not checked.
+.Ss \&tr
+Output character translation.
+This macro is intended to have one argument, 
+consisting of an even number of characters.
+Currently, it is ignored including its arguments,
+and the number of arguments is not checked.
 .Sh COMPATIBILITY
 This section documents compatibility between mandoc and other other
 troff implementations, at this time limited to GNU troff
diff --git a/roff.c b/roff.c
index 7c8512d9111a7ffde3a31c1bc23ef5b9d6b16337..3057cb8c689f8cd5d2403b0c317e1ebd39917d36 100644 (file)
--- a/roff.c
+++ b/roff.c
@@ -1,4 +1,4 @@
-/*     $Id: roff.c,v 1.82 2010/05/17 02:01:05 kristaps Exp $ */
+/*     $Id: roff.c,v 1.83 2010/05/24 22:25:58 schwarze Exp $ */
 /*
  * Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv>
  *
@@ -38,10 +38,13 @@ enum        rofft {
        ROFF_de,
        ROFF_dei,
        ROFF_de1,
+       ROFF_ds,
        ROFF_el,
        ROFF_ie,
        ROFF_if,
        ROFF_ig,
+       ROFF_rm,
+       ROFF_tr,
        ROFF_cblock,
        ROFF_ccond,
        ROFF_MAX
@@ -98,6 +101,7 @@ static       enum rofferr     roff_ccond(ROFF_ARGS);
 static enum rofferr     roff_cond(ROFF_ARGS);
 static enum rofferr     roff_cond_text(ROFF_ARGS);
 static enum rofferr     roff_cond_sub(ROFF_ARGS);
+static enum rofferr     roff_line(ROFF_ARGS);
 
 const  struct roffmac   roffs[ROFF_MAX] = {
        { "am", roff_block, roff_block_text, roff_block_sub, 0 },
@@ -106,10 +110,13 @@ const     struct roffmac   roffs[ROFF_MAX] = {
        { "de", roff_block, roff_block_text, roff_block_sub, 0 },
        { "dei", roff_block, roff_block_text, roff_block_sub, 0 },
        { "de1", roff_block, roff_block_text, roff_block_sub, 0 },
+       { "ds", roff_line, NULL, NULL, 0 },
        { "el", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT },
        { "ie", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT },
        { "if", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT },
        { "ig", roff_block, roff_block_text, roff_block_sub, 0 },
+       { "rm", roff_line, NULL, NULL, 0 },
+       { "tr", roff_line, NULL, NULL, 0 },
        { ".", roff_cblock, NULL, NULL, 0 },
        { "\\}", roff_ccond, NULL, NULL, 0 },
 };
@@ -703,3 +710,12 @@ roff_cond(ROFF_ARGS)
        *offs = pos;
        return(ROFF_RERUN);
 }
+
+
+/* ARGSUSED */
+static enum rofferr
+roff_line(ROFF_ARGS)
+{
+
+       return(ROFF_IGN);
+}