[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Groff-commit] groff/contrib/groffer ChangeLog Makefile.sub ve...
From: |
Bernd Warken |
Subject: |
[Groff-commit] groff/contrib/groffer ChangeLog Makefile.sub ve... |
Date: |
Sat, 11 Nov 2006 22:18:57 +0000 |
CVSROOT: /cvsroot/groff
Module name: groff
Changes by: Bernd Warken <bwarken> 06/11/11 22:18:57
Modified files:
contrib/groffer: ChangeLog Makefile.sub version.sh
contrib/groffer/perl: groffer.pl roff2.pl
contrib/groffer/shell: roff2.sh
Log message:
Update groffer-1.1.1
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/groffer/ChangeLog?cvsroot=groff&r1=1.51&r2=1.52
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/groffer/Makefile.sub?cvsroot=groff&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/groffer/version.sh?cvsroot=groff&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/groffer/perl/groffer.pl?cvsroot=groff&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/groffer/perl/roff2.pl?cvsroot=groff&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/groffer/shell/roff2.sh?cvsroot=groff&r1=1.1&r2=1.2
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/groff/groff/contrib/groffer/ChangeLog,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- ChangeLog 9 Nov 2006 00:11:30 -0000 1.51
+++ ChangeLog 11 Nov 2006 22:18:56 -0000 1.52
@@ -1,4 +1,13 @@
-2006-11-07 Bernd Warken
+2006-11-11 Bernd Warken
+ ________________________________________________________________
+ * release of groffer 1.1.1
+
+ * perl/roff2.pl, shell/roff2.sh: Create a new working mode without
+ `groffer' for `roff2*'.
+
+ * perl/groffer.pl: Fix test of temporary directory.
+
+2006-11-09 Bernd Warken
________________________________________________________________
* release of groffer 1.1.0
@@ -101,74 +110,77 @@
In the following, all files in the groffer directory tree are
mentioned.
- * ChangeLog: This file. It contains information for groffer
- versions >= 1.0.0 with shell and Perl kinds. For older groffer
- versions, see shell/ChangeLog.0 which contains information for the
+ * ChangeLog: This file. It contains information for `groffer'
+ versions >= 1.0.0 with shell and Perl kinds. For older `groffer'
+ versions, see `shell/ChangeLog.0' which contains information for the
shell only versions of groffer 0.*.
- * Makefile.sub: The old Makefile.sub was extended to support the
- shell and the Perl version of groffer at the same time. If the
- test of perl_test.pl succeeds the groffer Perl version will be
+ * Makefile.sub: The old `Makefile.sub' was extended to support the
+ shell and the Perl version of `groffer' at the same time. If the
+ test of `perl_test.pl' succeeds the `groffer' Perl version will be
installed, otherwise the shell version is used.
- * perl_test.pl: This is used by Makefile.sub and installed with
- the Perl version of groffer. It is a test of the installed perl
+ * perl_test.pl: This is used by `Makefile.sub' and installed with
+ the Perl version of `groffer'. It is a test of the installed perl
version. The installed Perl version should be greater or equal
than the version that is required by this file.
* version.sh: This is the old file kept from the shell version of
- groffer. It stores the groffer version, the date of the last
- update, and the groff version. It is used and installed for the
- shell and Perl version of groffer.
+ `groffer'. It stores the `groffer' version, the date of the last
+ update, and the `groff' version. It is used and installed for the
+ shell and Perl version of `groffer'.
- * README: This is the old README file extended by information on
- the shell and Perl kinds of groffer.
+ * README: This is the old `README' file extended by information on
+ the shell and Perl kinds of `groffer'.
- * perl/: Subdirectory for the Perl version of groffer.
+ * perl/: Subdirectory for the Perl version of `groffer'.
- * perl/groffer.pl: This is the groffer script of the Perl
+ * perl/groffer.pl: This is the `groffer' script of the Perl
version, a Perl source file that handles the complete groffer
functionality.
* perl/man.pl: This is the collection of functions that are
- related to man pages, apropos, and whatis. It is loaded by
- perl/groffer.pl.
+ related to man pages, `apropos', and `whatis'. It is loaded by
+ `perl/groffer.pl'.
* perl/func.pl: This is the collection of miscellaneous functions.
- It is loaded by perl/groffer.pl.
+ It is loaded by `perl/groffer.pl'.
* perl/split_env.sh: A shell script that is used by
- perl/groffer.pl to split a large shell environment variable to a
+ `perl/groffer.pl' to split a large shell environment variable to a
Perl array.
* perl/groffer.man: This is the man page of the Perl version of
- groffer. It is derived from groffer.man of the shell version. It
- will only be installed when the Makefile.sub chooses to install
- the Perl version of groffer instead of the shell version.
+ `groffer'. It is derived from `groffer.man' of the shell version.
+ It will only be installed when the `Makefile.sub' chooses to
+ install the Perl version of 'groffer' instead of the shell
+ version.
* perl/README_PERL: This file contains information of the Perl
compatibility and details that are special to the Perl version.
- * shell/: Subdirectory for the shell version of groffer.
+ * shell/: Subdirectory for the shell version of `groffer'.
- * shell/ChangeLog.0: The former ChangeLog file of the groffer
+ * shell/ChangeLog.0: The former `ChangeLog' file of the groffer
versions 0.* was moved to this file. It contains information of
the shell only version of groffer 0.*.
- * shell/groffer.sh: This is the old groffer.sh file of the shell
+ * shell/groffer.sh: This is the old `groffer.sh' file of the shell
version.
- * shell/groffer2.sh: This is the old groffer2.sh file of the shell
- version.
+ * shell/groffer2.sh: This is the old `groffer2.sh' file of the
+ shell version.
* shell/groffer.man: This is the old man page groffer.man of the
shell version. The shell version keeps its own man page. It will
- only be installed when the Makefile.sub chooses to install the
+ only be installed when the `Makefile.sub' chooses to install the
shell version instead of the Perl version.
- * shell/README_SH: This is the old README_SH file of the shell
+ * shell/README_SH: This is the old `README_SH' file of the shell
version containing information of the shell compatibility.
+ The former part of the ChangeLog file is in `shell/ChangeLog.0'.
+
2006-10-01 Bernd Warken
________________________________________________________________
License
Index: Makefile.sub
===================================================================
RCS file: /cvsroot/groff/groff/contrib/groffer/Makefile.sub,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- Makefile.sub 9 Nov 2006 00:11:30 -0000 1.24
+++ Makefile.sub 11 Nov 2006 22:18:56 -0000 1.25
@@ -73,8 +73,10 @@
-e "s|@VERSION@|$(version)$(revision)|g" \
-e "$(SH_SCRIPT_SED_CMD)" \
$(srcdir)/perl/groffer.pl >$@; \
- cp $(srcdir)/perl/groffer.man groffer.man; \
- for f in $(ROFF2PROGS); do cp $(srcdir)/perl/roff2.pl $$f; done; \
+ $(INSTALL_SCRIPT) $(srcdir)/perl/groffer.man groffer.man; \
+ for f in $(ROFF2PROGS); do \
+ $(INSTALL_SCRIPT) $(srcdir)/perl/roff2.pl $$f; \
+ done; \
else \
: >HAVE_SHELL; \
echo "Using shell version of groffer."; \
@@ -85,8 +87,10 @@
-e "s|@VERSION@|$(version)$(revision)|g" \
-e "$(SH_SCRIPT_SED_CMD)" \
$(srcdir)/shell/groffer.sh >$@; \
- cp $(srcdir)/shell/groffer.man groffer.man; \
- for f in $(ROFF2PROGS); do cp $(srcdir)/shell/roff2.sh $$f; done; \
+ $(INSTALL_SCRIPT) $(srcdir)/shell/groffer.man groffer.man; \
+ for f in $(ROFF2PROGS); do \
+ $(INSTALL_SCRIPT) $(srcdir)/shell/roff2.sh $$f; \
+ done; \
fi
chmod +x $@
chmod +x $(ROFF2PROGS)
Index: version.sh
===================================================================
RCS file: /cvsroot/groff/groff/contrib/groffer/version.sh,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- version.sh 9 Nov 2006 00:11:30 -0000 1.13
+++ version.sh 11 Nov 2006 22:18:56 -0000 1.14
@@ -32,8 +32,8 @@
export _PROGRAM_VERSION;
export _LAST_UPDATE;
-_PROGRAM_VERSION='1.1.0';
-_LAST_UPDATE='7 Nov 2006';
+_PROGRAM_VERSION='1.1.1';
+_LAST_UPDATE='11 Nov 2006';
# this setting of the groff version is only used before make is run,
# otherwise @VERSION@ will set it, see groffer.sh.
Index: perl/groffer.pl
===================================================================
RCS file: /cvsroot/groff/groff/contrib/groffer/perl/groffer.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- perl/groffer.pl 9 Nov 2006 00:11:31 -0000 1.5
+++ perl/groffer.pl 11 Nov 2006 22:18:56 -0000 1.6
@@ -8,7 +8,7 @@
# Copyright (C) 2006 Free Software Foundation, Inc.
# Written by Bernd Warken.
-# Last update: 7 Nov 2006
+# Last update: 11 Nov 2006
# This file is part of `groffer', which is part of `groff'.
@@ -1386,7 +1386,7 @@
my $template = 'groffer_' . "$$" . '_XXXX';
foreach ($ENV{'GROFF_TMPDIR'}, $ENV{'TMPDIR'}, $ENV{'TMP'}, $ENV{'TEMP'},
$ENV{'TEMPDIR'}, File::Spec->catfile($ENV{'HOME'}, 'tmp')) {
- if ($_) {
+ if ($_ && -d $_ && -w $_) {
if ($Debug{'KEEP'}) {
eval { $tmpdir = tempdir( $template, DIR => "$_" ); };
} else {
Index: perl/roff2.pl
===================================================================
RCS file: /cvsroot/groff/groff/contrib/groffer/perl/roff2.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- perl/roff2.pl 9 Nov 2006 00:11:31 -0000 1.1
+++ perl/roff2.pl 11 Nov 2006 22:18:57 -0000 1.2
@@ -8,7 +8,7 @@
# Copyright (C) 2006 Free Software Foundation, Inc.
# Written by Bernd Warken.
-# Last update: 7 Nov 2006
+# Last update: 10 Nov 2006
# This file is part of `groffer', which is part of `groff'.
@@ -36,6 +36,10 @@
use warnings;
use File::Spec;
+# temporary dir and files
+use File::Temp qw/ tempfile /;
+
+my $Dev_Null = File::Spec->devnull();
my $Mode;
my $Name;
{
@@ -46,22 +50,178 @@
}
$Mode = $Name;
$Mode =~ s/^roff2//;
-foreach (@ARGV) {
+
+my $Groff_Version = `groff --version 2>$Dev_Null`;
+die "$Name error: groff does not work;" if $?;
+my $Groffer_Version = `groffer --version 2>$Dev_Null`;
+my $Has_Groffer = ! $?;
+
+if ($Has_Groffer) {
+ foreach (@ARGV) {
+ last if $_ eq '--';
+ next if $_ eq '-';
if ($_ eq '-v' || '--version' =~ m|^$_|) {
- print $Name, ' in ', `groffer --version`;
+ print $Name, ' in ', $Groffer_Version;
exit 0;
}
if ($_ eq '-h' || '--help' =~ m|^$_|) {
+ &usage_with_groffer();
+ exit 0;
+ }
+ }
+ system('groffer', '--to-stdout', "--$Mode", @ARGV);
+ exit $?;
+} else {
+ my @filespec;
+ my $double_minus;
+ foreach (@ARGV) {
+ if ($double_minus) {
+ push @filespec, $_;
+ next;
+ }
+ if ($_ eq '--') {
+ $double_minus = 1;
+ next;
+ }
+ if ($_ eq '-') {
+ push @filespec, '-';
+ next;
+ }
+ if ($_ eq '-v' || '--version' =~ m|^$_|) {
+ print $Name, ' in ', $Groff_Version;
+ exit 0;
+ }
+ if ($_ eq '-h' || '--help' =~ m|^$_|) {
+ &usage_without_groffer();
+ exit 0;
+ }
+ if ($_ =~ /^-/) {
+ &error_no_groffer();
+ &error_no_options();
+ next;
+ }
+ if (-f && -r) {
+ push @filespec, $_;
+ } else {
+ &error_no_groffer();
+ print STDERR "$_ is not an existing, readable file.\n";
+ }
+ }
+
+ @filespec = ('-') unless @filespec;
+ my $has_stdin;
+ foreach (@filespec) {
+ if ($_ eq '-') {
+ $has_stdin =1;
+ last;
+ }
+ }
+
+ if ($has_stdin) {
+ my $tempdir;
+ foreach ($ENV{'GROFF_TMPDIR'}, $ENV{'TMPDIR'}, $ENV{'TMP'},
+ $ENV{'TEMP'}, $ENV{'TEMPDIR'},
+ File::Spec->catfile($ENV{'HOME'}, 'tmp')) {
+ if ($_ && -d $_ && -w $_) {
+ $tempdir = $_;
+ last;
+ }
+ }
+ my $template = $Name . '_XXXX';
+ my ($fh, $stdin);
+ if ($tempdir) {
+ ($fh, $stdin) = tempfile($template, UNLINK => 1, DIR => $tempdir) ||
+ die "$Name: could not create temporary file;";
+ } else {
+ ($fh, $stdin) = tempfile($template, UNLINK => 1) ||
+ die "$Name: could not create temporary file;";
+ }
+ open $fh, ">$stdin";
+ print $fh $_ foreach <STDIN>;
+
+ foreach (@filespec) {
+ $_ = $stdin if $_ eq '-';
+ }
+ } # if $has_stdin
+
+ my $grog;
+ my $groff_options = "-T$Mode";
+ $groff_options = '-TX75-12 -Z' if $Mode eq 'x';
+ $groff_options = '-Tlatin1' if $Mode eq 'text';
+ if ($Mode eq 'pdf') {
+ my $ps2pdf;
+ my @path = File::Spec->path();
+ foreach (@path) {
+ my $file = File::Spec->catfile($_, 'ps2pdf');
+ if (-f $file && -x $file) {
+ $ps2pdf = "$file -";
+ last;
+ }
+ }
+ unless ($ps2pdf) {
+ foreach (@path) {
+ my $file = File::Spec->catfile($_, 'gs');
+ if (-f $file && -x $file) {
+ $ps2pdf = $file . ' -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite ' .
+ '-sOutputFile=- -c save pop -f -';
+ last;
+ }
+ }
+ }
+ die "$Name: $ps2pdf;
+ $grog = `grog -Tps @filespec`;
+ chomp $grog;
+ system("$grog | $ps2pdf");
+ exit $?;
+ } else {
+ $grog = `grog $groff_options @filespec`;
+ chomp $grog;
+ system($grog);
+ exit $?;
+ }
+}
+
+my $error_no_groffer;
+sub error_no_groffer {
+ return 1 if $error_no_groffer;
+ $error_no_groffer = 1;
+ print STDERR "$Name: groffer is not available.\n";
+}
+
+my $error_no_options;
+sub error_no_options {
+ return 1 if $error_no_options;
+ $error_no_groffer = 1;
+ print STDERR "$Name: groffer options are not allowed.\n";
+}
+
+sub usage_with_groffer {
print <<EOF;
usage: $Name [option]... [--] [filespec]...
-where the optional `filespec's are either the names of existing,
-readable files or `-' for standard input or a search pattern for man
-pages. The optional `option's are arbitrary options of `groffer'; the
-options override the behavior of this program.
+-h | --help print usage information
+-v | --version print version information
+
+All other options are arbitrary options of `groffer'; the options
+override the behavior of this program.
+
+`filespec's are the same as in `groffer': either the names of
+existing, readable files or `-' for standard input or a search pattern
+for man pages. No `filespec' assumes standard input automatically.
EOF
- exit 0;
- }
}
-system('groffer', '--to-stdout', "--$Mode", @ARGV);
+sub usage_without_groffer {
+ print <<EOF;
+usage: $Name [option]... [--] [filespec]...
+
+-h | --help print usage information
+-v | --version print version information
+
+No other options are allowed because `groffer' is not available.
+
+The only `filespec's allowed are the names of existing, readable files
+or `-' for standard input. No `filespec' assumes standard input
+automatically.
+EOF
+}
Index: shell/roff2.sh
===================================================================
RCS file: /cvsroot/groff/groff/contrib/groffer/shell/roff2.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- shell/roff2.sh 9 Nov 2006 00:11:31 -0000 1.1
+++ shell/roff2.sh 11 Nov 2006 22:18:57 -0000 1.2
@@ -8,7 +8,7 @@
# Copyright (C) 2006 Free Software Foundation, Inc.
# Written by Bernd Warken
-# Last update: 7 Nov 2006
+# Last update: 11 Nov 2006
# This file is part of `groffer', which is part of `groff'.
@@ -61,6 +61,83 @@
} # echo2()
+error_no_groffer='no';
+error_no_groffer() {
+ if test _"$error_no_groffer" = _yes
+ then
+ return;
+ fi;
+ error_no_groffer='yes';
+ echo2 "$name: groffer is not available.";
+}
+
+
+error_no_options='no';
+error_no_options() {
+ if test _"$error_no_options" = _yes
+ then
+ return;
+ fi;
+ error_no_groffer='yes';
+ echo2 "$name: groffer options are not allowed.";
+}
+
+
+usage_with_groffer() {
+ cat <<EOF
+usage: $Name [option]... [--] [filespec]...
+
+-h | --help print usage information
+-v | --version print version information
+
+All other options are arbitrary options of "groffer"; the options
+override the behavior of this program.
+
+"filespec"s are the same as in "groffer": either the names of
+existing, readable files or "-" for standard input or a search pattern
+for man pages. No "filespec" assumes standard input automatically.
+EOF
+}
+
+usage_without_groffer() {
+ cat <<EOF
+usage: $Name [option]... [--] [filespec]...
+
+-h | --help print usage information
+-v | --version print version information
+
+No other options are allowed because "groffer" is not available.
+
+The only "filespec"s allowed are the names of existing, readable files
+or "-" for standard input. No "filespec" assumes standard input
+automatically.
+EOF
+}
+
+
+where_is_prog() {
+ for p in `echo $PATH|sed "s/:/ /g"`
+ do
+ f="${p}/$1";
+ if test -f "$f" && test -x "$f"
+ then
+ echo1 "$f";
+ return;
+ fi;
+ done;
+}
+
+
+########################################################################
+
+export NULL_DEV;
+if test -c /dev/null
+then
+ NULL_DEV='/dev/null';
+else
+ NULL_DEV='NUL';
+fi;
+
name="$(echo1 "$0" | sed 's|^.*//*\([^/]*\)$|\1|')";
case "$name" in
@@ -73,27 +150,193 @@
;;
esac;
-for i
-do
+groff_version="$(groff --version 2>$NULL_DEV)";
+if test $? -gt 0
+then
+ echo2 "$name error: groff does not work.";
+ exit 1;
+fi;
+groffer_version="$(groffer --version 2>$NULL_DEV)";
+if test $? -gt 0
+then
+ has_groffer='no';
+else
+ has_groffer='yes';
+fi;
+
+if test _"${has_groffer}" = _yes
+then
+ for i
+ do
case $i in
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- cat <<EOF
-$name in `groffer --version`
-EOF
+ echo1 "$name in $groffer_version";
exit 0;
;;
-h|--h|--he|--hel|--help)
- cat <<EOF
-usage: $name [option]... [--] [filespec]...
-
-where the optional "filespec"s are either the names of existing,
-readable files or "-" for standard input or a search pattern for man
-pages. The optional "option"s are arbitrary options of "groffer"; the
-options override the behavior of this program.
-EOF
+ usage_with_groffer;
exit 0;
;;
esac;
-done
+ done;
+ groffer --to-stdout --$mode "$@";
+else # not has_groffer
+ reset=no;
+ double_minus=no;
+ for i
+ do
+ if test _"${reset}" = _no
+ then
+ set --;
+ reset=yes;
+ fi;
+ if test _"${double_minus}" = _yes
+ then
+ set -- "$@" "$i";
+ continue;
+ fi;
+ case "$i" in
+ --)
+ double_minus=yes;
+ continue;
+ ;;
+ -)
+ set -- "$@" '-';
+ continue;
+ ;;
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo1 "$name in $groff_version";
+ exit 0;
+ ;;
+ -h|--h|--he|--hel|--help)
+ usage_without_groffer;
+ exit 0;
+ ;;
+ -*)
+ error_no_groffer;
+ error_no_options;
+ ;;
+ *)
+ if test -f "$i" && test -r "$i"
+ then
+ set -- "$@" "$i";
+ else
+ error_no_groffer;
+ echo2 "$i is not an existing, readable file.";
+ fi;
+ continue;
+ ;;
+ esac;
+ done; # for i
+
+ if test $# -eq 0
+ then
+ set -- '-';
+ fi;
+ has_stdin=no;
+ for i
+ do
+ case "$i" in
+ -)
+ has_stdin=yes;
+ break;
+ ;;
+ esac;
+ done;
-groffer --to-stdout --$mode "$@";
\ No newline at end of file
+ if test _$has_stdin = _yes
+ then
+ umask 0077;
+ tempdir='';
+ for d in "${GROFF_TMPDIR}" "${TMPDIR}" "${TMP}" "${TEMP}" \
+ "${TEMPDIR}" "${HOME}"'/tmp' '/tmp' "${HOME}" '.'
+ do
+ if test _"$d" = _ || ! test -d "$d" || ! test -w "$d"
+ then
+ continue;
+ fi;
+ case "$d" in
+ */)
+ tempdir="$d";
+ ;;
+ *)
+ tempdir="$d"'/';
+ ;;
+ esac;
+ done;
+ if test _$tempdir = _
+ then
+ echo2 "${name}: could not find a temporary directory."
+ exit 1;
+ fi;
+ stdin=${tempdir}${name}_$$;
+ if test -e "$stdin"
+ then
+ rm -f "$stdin";
+ n=0;
+ f="${stdin}_$n";
+ while test -e "$f"
+ do
+ rm -f "$f";
+ if ! test -e "$f"
+ then
+ break;
+ fi;
+ n="$(expr $n + 1)";
+ f="${stdin}_$n";
+ done;
+ stdin="$f";
+ fi;
+ reset=no;
+ for i
+ do
+ if test _"${reset}" = _no
+ then
+ set --;
+ reset=yes;
+ fi;
+ case "$i" in
+ -)
+ set -- "$@" "$stdin";
+ ;;
+ *)
+ set -- "$@" "$i";
+ ;;
+ esac;
+ done;
+ cat>"$stdin";
+ fi; # if has_stdin
+
+ case "$mode" in
+ x)
+ groff_options='-TX75-12 -Z';
+ ;;
+ text)
+ groff_options='-Tlatin1';
+ ;;
+ pdf)
+ ps2pdf="$(where_is_prog ps2pdf)";
+ if test _"$ps2pdf" = _
+ then
+ ps2pdf="$(where_is_prog gs)";
+ if test _"$ps2pdf" = _
+ then
+ echo2 "$name: cannot transform to pdf format.";
+ exit 1;
+ fi;
+ ps2pdf="$ps2pdf -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite '-sOutputFile=-
-c save pop -f -";
+ else
+ ps2pdf="$ps2pdf -";
+ fi;
+ grog="$(grog -Tps "$@")";
+ eval $grog | ${ps2pdf};
+ exit $?;
+ ;;
+ *)
+ groff_options="-T$mode";
+ ;;
+ esac;
+ grog="$(grog $groff_options "$@")";
+ eval $grog;
+ exit $?;
+fi; # not has_groffer