summaryrefslogtreecommitdiffstats
path: root/contrib/groff/src/roff/grog
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/groff/src/roff/grog')
-rw-r--r--contrib/groff/src/roff/grog/Makefile.sub9
-rw-r--r--contrib/groff/src/roff/grog/grog.man7
-rw-r--r--contrib/groff/src/roff/grog/grog.pl28
-rw-r--r--contrib/groff/src/roff/grog/grog.sh12
4 files changed, 41 insertions, 15 deletions
diff --git a/contrib/groff/src/roff/grog/Makefile.sub b/contrib/groff/src/roff/grog/Makefile.sub
index 85e2ad5..d199ac9 100644
--- a/contrib/groff/src/roff/grog/Makefile.sub
+++ b/contrib/groff/src/roff/grog/Makefile.sub
@@ -3,7 +3,14 @@ CLEANADD=grog
all: grog
-grog: grog.pl grog.sh
+grog: grog.sh
+ rm -f $@
+ sed -e "s|@g@|$(g)|g" \
+ -e "s|@VERSION@|$(version)$(revision)|" \
+ -e $(SH_SCRIPT_SED_CMD) $(srcdir)/grog.sh >$@
+ chmod +x $@
+
+grog.old: grog.pl grog.sh
if test -n "$(PERLPATH)" && test -f "$(PERLPATH)"; then \
rm -f $@; \
sed -e "s|/usr/bin/perl|$(PERLPATH)|" \
diff --git a/contrib/groff/src/roff/grog/grog.man b/contrib/groff/src/roff/grog/grog.man
index 8cd0bb2..e1ab74e 100644
--- a/contrib/groff/src/roff/grog/grog.man
+++ b/contrib/groff/src/roff/grog/grog.man
@@ -1,5 +1,5 @@
.ig
-Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc.
+Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -23,10 +23,10 @@ grog \- guess options for groff command
.B grog
[
.BI \- option
-\|.\|.\|.
+\|.\|.\|.\&
]
[
-.IR files \|.\|.\|.
+.IR files\ \|.\|.\|.\&
]
.SH DESCRIPTION
.B grog
@@ -39,6 +39,7 @@ options
.BR \-man ,
.BR \-me ,
.BR \-mm ,
+.BR \-mom ,
.BR \-ms ,
.BR \-mdoc,
.BR \-mdoc-old,
diff --git a/contrib/groff/src/roff/grog/grog.pl b/contrib/groff/src/roff/grog/grog.pl
index a61106c..07fa7a4 100644
--- a/contrib/groff/src/roff/grog/grog.pl
+++ b/contrib/groff/src/roff/grog/grog.pl
@@ -19,13 +19,9 @@ while ($ARGV[0] =~ /^-./) {
push(@command, $arg);
}
-if (@ARGV) {
- foreach $arg (@ARGV) {
- &process($arg, 0);
- }
-}
-else {
- &process("-", 0);
+@ARGV = ('-') unless @ARGV;
+foreach $arg (@ARGV) {
+ &process($arg, 0);
}
sub process {
@@ -81,10 +77,18 @@ sub process {
}
}
}
- elsif (/^\.R1$sp/ || /^\.\[$sp/) {
+ elsif (/^\.R1$sp/) {
$refer++;
$soelim++ if $level;
}
+ elsif (/^\.\[/) {
+ $refer_open++;
+ $soelim++ if $level;
+ }
+ elsif (/^\.\]/) {
+ $refer_close++;
+ $soelim++ if $level;
+ }
elsif (/^\.[PLI]P$sp/) {
$PP++;
}
@@ -144,6 +148,9 @@ sub process {
}
redo;
}
+ elsif (/^\.(PRINTSTYLE|START)$sp/) {
+ $mom++;
+ }
if (/^\.so$sp/) {
chop;
s/^.so *//;
@@ -166,6 +173,8 @@ sub help {
exit 0;
}
+$refer ||= $refer_open && $refer_close;
+
if ($pic || $tbl || $eqn || $grn || $grap || $refer) {
$s = "-";
$s .= "s" if $soelim;
@@ -185,6 +194,9 @@ if ($me > 0) {
elsif ($SH > 0 && $TH > 0) {
push(@command, "-man");
}
+else ($mom > 0) {
+ push(@command, "-mom");
+}
elsif ($PP > 0) {
push(@command, "-ms");
}
diff --git a/contrib/groff/src/roff/grog/grog.sh b/contrib/groff/src/roff/grog/grog.sh
index ae269af..3999d77 100644
--- a/contrib/groff/src/roff/grog/grog.sh
+++ b/contrib/groff/src/roff/grog/grog.sh
@@ -29,19 +29,21 @@ do
esac
done
-egrep -h "^\.(P|PS|[PLI]P|[pnil]p|sh|Dd|Tp|Dp|De|Cx|Cl|Oo|.* Oo|Oc|.* Oc|TS|EQ|TH|SH|so|\[|R1|GS|G1|PH|SA)$sp" $* \
+egrep -h "^\.(\[|\])|((P|PS|[PLI]P|[pnil]p|sh|Dd|Tp|Dp|De|Cx|Cl|Oo|.* Oo|Oc|.* Oc|TS|EQ|TH|SH|so|\[|R1|GS|G1|PH|SA)$sp)" $* \
| sed -e '/^\.so/s/^.*$/.SO_START\
&\
.SO_END/' \
| $soelim \
-| egrep '^\.(P|PS|[PLI]P|[pnil]p|sh|Dd|Tp|Dp|De|Cx|Cl|Oo|.* Oo|Oc|.* Oc|TS|EQ|TH|SH|\[|R1|GS|G1|PH|SA|SO_START|SO_END)' \
+| egrep '^\.(P|PS|[PLI]P|[pnil]p|sh|Dd|Tp|Dp|De|Cx|Cl|Oo|.* Oo|Oc|.* Oc|TS|EQ|TH|SH|\[|\]|R1|GS|G1|PH|SA|SO_START|SO_END)' \
| awk '
/^\.SO_START$/ { so = 1 }
/^\.SO_END$/ { so = 0 }
/^\.TS/ { tbl++; if (so > 0) soelim++ }
/^\.PS([ 0-9.<].*)?$/ { pic++; if (so > 0) soelim++ }
/^\.EQ/ { eqn++; if (so > 0) soelim++ }
-/^\.(R1|\[)/ { refer++; if (so > 0) soelim++ }
+/^\.R1/ { refer++; if (so > 0) soelim++ }
+/^\.\[/ {refer_start++; if (so > 0) soelim++ }
+/^\.\]/ {refer_end++; if (so > 0) soelim++ }
/^\.GS/ { grn++; if (so > 0) soelim++ }
/^\.G1/ { grap++; pic++; if (so > 0) soelim++ }
/^\.TH/ { TH++ }
@@ -69,11 +71,13 @@ egrep -h "^\.(P|PS|[PLI]P|[pnil]p|sh|Dd|Tp|Dp|De|Cx|Cl|Oo|.* Oo|Oc|.* Oc|TS|EQ|T
Oo--
}
}
+/^\.(PRINTSTYLE|START)/ { mom++ }
END {
if (files ~ /^-/)
files = "-- " files
printf "groff"
+ refer = refer || (refer_start && refer_end)
if (pic > 0 || tbl > 0 || grn > 0 || grap > 0 || eqn > 0 || refer > 0) {
printf " -"
if (soelim > 0) printf "s"
@@ -88,6 +92,8 @@ END {
printf " -me"
else if (SH > 0 && TH > 0)
printf " -man"
+ else if (mom > 0)
+ printf " -mom"
else if (PP > 0)
printf " -ms"
else if (P > 0 || mm > 0)
OpenPOWER on IntegriCloud