groff-commit
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]