gbranden pushed a commit to branch master
in repository groff.
commit 68ca283c26f4437f9c85d1e609c67189a5b28a0e
Author: G. Branden Robinson <[email protected]>
AuthorDate: Wed May 6 09:31:45 2026 -0500
[groff]: Make `-I` stop implying `-g` and `-s`.
To date, specifying `-I` has been the only way (employing only groff(1))
as a pipeline manager, a usage we strongly encourage) to get an `-M`
option of the same meaning to grn.
However, we didn't know, simply from the user's specification of `-I`,
that they meant to pass a `-M` option to grn. Maybe they meant it for
soelim(1). Maybe they don't need preprocessors at all.
With grn(1) now accepting `-I`, groff(1) no longer needs to synthesize
`-g` and `-s` to cover these bases. If the user demands these the
grn(1) and soelim(1) preprocessors, they can specify their options,
consistently with other groff preprocessors support a command-line
option.
* src/roff/groff/groff.cpp (main) <I>: Do it.
* contrib/hdtbl/hdtbl.am ($(HDTBLPROCESSEDEXAMPLEFILES):
* doc/doc.am (doc/webpage.html, doc/webpage.ps): Drop now-unnecessary
dependencies on "grn" and "soelim".
* src/roff/groff/groff.1.man (groff-specific options) <I>:
* NEWS: Document it.
Fixes <https://savannah.gnu.org/bugs/?68277>.
---
ChangeLog | 29 +++++++++++++++++++++++++++++
NEWS | 4 ++++
contrib/hdtbl/ChangeLog | 5 +++++
contrib/hdtbl/hdtbl.am | 5 +----
doc/doc.am | 7 -------
src/roff/groff/groff.1.man | 13 +++----------
src/roff/groff/groff.cpp | 2 --
7 files changed, 42 insertions(+), 23 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e9ed97d03..e5a9afd72 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2026-05-06 G. Branden Robinson <[email protected]>
+
+ [groff]: Make `-I` stop implying `-g` and `-s`.
+
+ To date, specifying `-I` has been the only way (employing only
+ groff(1)) as a pipeline manager, a usage we strongly encourage)
+ to get an `-M` option of the same meaning to grn.
+
+ However, we didn't know, simply from the user's specification of
+ `-I`, that they meant to pass a `-M` option to grn. Maybe they
+ meant it for soelim(1). Maybe they don't need preprocessors at
+ all.
+
+ With grn(1) now accepting `-I`, groff(1) no longer needs to
+ synthesize `-g` and `-s` to cover these bases. If the user
+ demands these the grn(1) and soelim(1) preprocessors, they can
+ specify their options, consistently with other groff
+ preprocessors support a command-line option.
+
+ * src/roff/groff/groff.cpp (main) <I>: Do it.
+
+ * doc/doc.am (doc/webpage.html, doc/webpage.ps): Drop
+ now-unnecessary dependencies on "grn" and "soelim".
+
+ * src/roff/groff/groff.1.man (groff-specific options) <I>:
+ * NEWS: Document it.
+
+ Fixes <https://savannah.gnu.org/bugs/?68277>.
+
2026-05-06 G. Branden Robinson <[email protected]>
[grn]: Rename `-M` option to `-I`, better paralleling troff(1).
diff --git a/NEWS b/NEWS
index e6d977529..5e5398cfd 100644
--- a/NEWS
+++ b/NEWS
@@ -81,6 +81,10 @@ groff
* groff now passes `-I` options as-is to grn(1), instead of translating
the option name to `-M`.
+* groff's `-I` option no longer implies `-g` or `-s`; if your document
+ needs to be piped through grn(1) and/or soelim(1), specify the
+ foregoing options as appropriate.
+
Macro packages
--------------
diff --git a/contrib/hdtbl/ChangeLog b/contrib/hdtbl/ChangeLog
index 5702ac312..57b35e7f0 100644
--- a/contrib/hdtbl/ChangeLog
+++ b/contrib/hdtbl/ChangeLog
@@ -1,3 +1,8 @@
+2026-05-06 G. Branden Robinson <[email protected]>
+
+ * hdtbl.am ($(HDTBLPROCESSEDEXAMPLEFILES): Drop now-unnecessary
+ dependencies on "grn" and "soelim". See Savannah #68277.
+
2026-03-22 G. Branden Robinson <[email protected]>
* examples/fonts_n.in:
diff --git a/contrib/hdtbl/hdtbl.am b/contrib/hdtbl/hdtbl.am
index 1b57a57fd..0e8336123 100644
--- a/contrib/hdtbl/hdtbl.am
+++ b/contrib/hdtbl/hdtbl.am
@@ -124,10 +124,8 @@ SUFFIXES += .roff.in .ps
&& sed -e "s|[@]fontdir[@]|$(fontdir)|" \
-e "s|[@]EGREP[@]|$(EGREP)|" $< >$@
-# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
-# soelim even though the documents don't require them.
$(HDTBLPROCESSEDEXAMPLEFILES): $(HDTBLTMACFILES) $(DOC_GNU_EPS) groff \
- troff eqn pic tbl grops grn soelim font/devps/stamp \
+ troff eqn pic tbl grops font/devps/stamp \
contrib/hdtbl/examples/common.roff
uninstall_groffdirs: uninstall-hdtbl-hook
@@ -136,7 +134,6 @@ uninstall-hdtbl-hook:
rmdir $(DESTDIR)$(hdtblexampledir); \
fi
-
# Local Variables:
# mode: makefile-automake
# fill-column: 72
diff --git a/doc/doc.am b/doc/doc.am
index ad3b55ddd..c70235382 100644
--- a/doc/doc.am
+++ b/doc/doc.am
@@ -387,9 +387,6 @@ doc/pic.ps: $(doc_srcdir)/pic.ms $(TMAC_PACKAGE_MS) eqn pic
tbl
$(GROFF_V)$(MKDIR_P) `dirname $@` \
&& $(DOC_GROFF) -pet -Tps -ms $(doc_srcdir)/pic.ms >$@
-# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
-# soelim even though the document doesn't require them.
-doc/webpage.ps: grn soelim
doc/webpage.ps: $(DOC_GNU_EPS) tmac/pspic.tmac tmac/www.tmac tbl
doc/webpage.ps: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
$(GROFF_V)$(MKDIR_P) `dirname $@` \
@@ -415,11 +412,7 @@ doc/pic.html: $(doc_srcdir)/pic.ms $(TMAC_PACKAGE_MS)
$(doc_srcdir)/pic.ms > pic.html.tmp
$(AM_V_at)mv [email protected] $@
-# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
-# soelim even though the document doesn't require them.
-#
# XXX: See XXX comment before "pic.html" target above.
-doc/webpage.html: grn soelim
doc/webpage.html: $(DOC_GNU_EPS) tmac/www.tmac tbl
doc/webpage.html: $(doc_srcdir)/groff.css
doc/webpage.html: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
diff --git a/src/roff/groff/groff.1.man b/src/roff/groff/groff.1.man
index 2a41cba3d..c0cc26011 100644
--- a/src/roff/groff/groff.1.man
+++ b/src/roff/groff/groff.1.man
@@ -280,23 +280,16 @@ implies
Works as
.IR @g@troff 's
option
-(see below),
-but also implies
-.B \-g
-and
-.BR \-s .
+(see below).
.
.I groff
passes
.B \-I
options and their arguments to
+.MR @g@grn @MAN1EXT@ ,
.MR @g@soelim @MAN1EXT@ ,
.MR @g@troff @MAN1EXT@ ,
-and output drivers;
-with the option letter changed to
-.BR \-M ,
-it passes the same arguments to
-.MR @g@grn @MAN1EXT@ .
+and output drivers.
.
.
.TP
diff --git a/src/roff/groff/groff.cpp b/src/roff/groff/groff.cpp
index 45853eb3c..dd8f6a26d 100644
--- a/src/roff/groff/groff.cpp
+++ b/src/roff/groff/groff.cpp
@@ -188,9 +188,7 @@ int main(int argc, char **argv)
iflag = 1;
break;
case 'I':
- commands[GRN_INDEX].set_name(command_prefix, "grn");
commands[GRN_INDEX].append_arg(buf, optarg);
- commands[SOELIM_INDEX].set_name(command_prefix, "soelim");
commands[SOELIM_INDEX].append_arg(buf, optarg);
// .psbb may need to search for files
commands[TROFF_INDEX].append_arg(buf, optarg);
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit