diff options
Diffstat (limited to 'contrib/groff/src/roff/grog')
-rw-r--r-- | contrib/groff/src/roff/grog/Makefile.sub | 9 | ||||
-rw-r--r-- | contrib/groff/src/roff/grog/grog.man | 7 | ||||
-rw-r--r-- | contrib/groff/src/roff/grog/grog.pl | 28 | ||||
-rw-r--r-- | contrib/groff/src/roff/grog/grog.sh | 12 |
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) |