[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Groff-commit] groff ./ChangeLog ./Makefile.in ./configure ./c...
From: |
Werner LEMBERG |
Subject: |
[Groff-commit] groff ./ChangeLog ./Makefile.in ./configure ./c... |
Date: |
Sat, 31 Dec 2005 08:26:57 +0000 |
CVSROOT: /cvsroot/groff
Module name: groff
Branch:
Changes by: Werner LEMBERG <address@hidden> 05/12/31 08:26:57
Modified files:
. : ChangeLog Makefile.in configure configure.ac
src/include : config.hin
src/roff/groff : groff.cpp groff.man pipeline.h
Log message:
Integrate preconv into the groff binary. Changes based on a patch
from Michail Vidiassov.
* src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
* src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
(SOELIM_INDEX): Updated.
(help, synopsis): Updated.
(main): Add command line options `-k' and `-K enc' to select
encoding.
Add support for GROFF_ENCODING environment variable.
* src/roff/groff/groff.man: Updated and revised.
Start with autoconf support for preconv.
* configure.ac: Call AC_C_BIGENDIAN.
* configure, src/include/config.hin: Regenerated.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/groff/groff/ChangeLog.diff?tr1=1.871&tr2=1.872&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/Makefile.in.diff?tr1=1.89&tr2=1.90&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/configure.diff?tr1=1.72&tr2=1.73&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/configure.ac.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/src/include/config.hin.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/src/roff/groff/groff.cpp.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/src/roff/groff/groff.man.diff?tr1=1.42&tr2=1.43&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/groff/groff/src/roff/groff/pipeline.h.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: groff/ChangeLog
diff -u groff/ChangeLog:1.871 groff/ChangeLog:1.872
--- groff/ChangeLog:1.871 Fri Dec 30 09:31:50 2005
+++ groff/ChangeLog Sat Dec 31 08:26:57 2005
@@ -1,3 +1,25 @@
+2005-12-31 Werner LEMBERG <address@hidden>
+
+ Integrate preconv into the groff binary. Changes based on a patch
+ from Michail Vidiassov.
+
+ * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
+
+ * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
+ (SOELIM_INDEX): Updated.
+ (help, synopsis): Updated.
+ (main): Add command line options `-k' and `-K enc' to select
+ encoding.
+ Add support for GROFF_ENCODING environment variable.
+
+ * src/roff/groff/groff.man: Updated and revised.
+
+
+ Start with autoconf support for preconv.
+
+ * configure.ac: Call AC_C_BIGENDIAN.
+ * configure, src/include/config.hin: Regenerated.
+
2005-12-30 Werner LEMBERG <address@hidden>
New preprocessor `preconv' to convert input encodings to something
Index: groff/Makefile.in
diff -u groff/Makefile.in:1.89 groff/Makefile.in:1.90
--- groff/Makefile.in:1.89 Fri Dec 30 09:31:50 2005
+++ groff/Makefile.in Sat Dec 31 08:26:57 2005
@@ -251,6 +251,9 @@
address@hidden@
# DEFINES should include the following:
+#
+# -DWORDS_BIGENDIAN if your target platform is big-endian
+#
# -DHAVE_MMAP if you have mmap() and <sys/mman.h>
# -DARRAY_DELETE_NEEDS_SIZE if your C++ doesn't understand `delete []'
# -DSYS_SIGLIST_DECLARED if you have sys_siglist[]
Index: groff/configure
diff -u groff/configure:1.72 groff/configure:1.73
--- groff/configure:1.72 Mon Dec 12 07:14:59 2005
+++ groff/configure Sat Dec 31 08:26:57 2005
@@ -8527,6 +8527,243 @@
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+# check endianness
+echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
+if test "${ac_cv_c_bigendian+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # See if sys/param.h defines the BYTE_ORDER macro.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/param.h>
+
+int
+main ()
+{
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_bigendian=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_c_bigendian=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+# It does not; compile a test program.
+if test "$cross_compiling" = yes; then
+ # try to guess the endianness by grepping values into an object file
+ ac_cv_c_bigendian=unknown
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
+short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+int
+main ()
+{
+ _ascii (); _ebcdic ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+ ac_cv_c_bigendian=yes
+fi
+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+fi
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ exit (u.c[sizeof (long int) - 1] == 1);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_bigendian=no
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_bigendian=yes
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext
conftest.$ac_ext
+fi
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+echo "${ECHO_T}$ac_cv_c_bigendian" >&6
+case $ac_cv_c_bigendian in
+ yes)
+
+cat >>confdefs.h <<\_ACEOF
+#define WORDS_BIGENDIAN 1
+_ACEOF
+ ;;
+ no)
+ ;;
+ *)
+ { { echo "$as_me:$LINENO: error: unknown endianness
+presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+echo "$as_me: error: unknown endianness
+presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+ { (exit 1); exit 1; }; } ;;
+esac
+
+
# checks for libraries
echo "$as_me:$LINENO: checking for main in -lc" >&5
echo $ECHO_N "checking for main in -lc... $ECHO_C" >&6
Index: groff/configure.ac
diff -u groff/configure.ac:1.36 groff/configure.ac:1.37
--- groff/configure.ac:1.36 Thu Oct 27 21:30:30 2005
+++ groff/configure.ac Sat Dec 31 08:26:57 2005
@@ -83,6 +83,9 @@
GROFF_TYPE_SIGNAL
GROFF_STRUCT_EXCEPTION
+# check endianness
+AC_C_BIGENDIAN
+
# checks for libraries
GROFF_LIBC
GROFF_LIBM
Index: groff/src/include/config.hin
diff -u groff/src/include/config.hin:1.12 groff/src/include/config.hin:1.13
--- groff/src/include/config.hin:1.12 Sat Apr 30 07:03:14 2005
+++ groff/src/include/config.hin Sat Dec 31 08:26:57 2005
@@ -203,6 +203,10 @@
core image was produced for a process that was terminated by a signal. */
#undef WCOREFLAG
+/* Define to 1 if your processor stores words with the most significant byte
+ first (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
Index: groff/src/roff/groff/groff.cpp
diff -u groff/src/roff/groff/groff.cpp:1.8 groff/src/roff/groff/groff.cpp:1.9
--- groff/src/roff/groff/groff.cpp:1.8 Thu May 26 21:02:01 2005
+++ groff/src/roff/groff/groff.cpp Sat Dec 31 08:26:57 2005
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004
+/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Written by James Clark (address@hidden)
@@ -51,7 +51,8 @@
#endif /* NEED_DECLARATION_PUTENV */
// The number of commands must be in sync with MAX_COMMANDS in pipeline.h
-const int SOELIM_INDEX = 0;
+const int PRECONV_INDEX = 0;
+const int SOELIM_INDEX = PRECONV_INDEX + 1;
const int REFER_INDEX = SOELIM_INDEX + 1;
const int GRAP_INDEX = REFER_INDEX + 1;
const int PIC_INDEX = GRAP_INDEX + 1;
@@ -110,6 +111,7 @@
setbuf(stderr, stderr_buf);
assert(NCOMMANDS <= MAX_COMMANDS);
string Pargs, Largs, Fargs;
+ int Kflag = 0;
int vflag = 0;
int Vflag = 0;
int zflag = 0;
@@ -119,6 +121,7 @@
int safer_flag = 1;
int opt;
const char *command_prefix = getenv("GROFF_COMMAND_PREFIX");
+ const char *encoding = getenv("GROFF_ENCODING");
if (!command_prefix)
command_prefix = PROG_PREFIX;
commands[TROFF_INDEX].set_name(command_prefix, "troff");
@@ -127,9 +130,10 @@
{ "version", no_argument, 0, 'v' },
{ NULL, 0, 0, 0 }
};
- while ((opt = getopt_long(argc, argv,
-
"abcCd:eEf:F:gGhiI:lL:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ",
- long_options, NULL))
+ while ((opt = getopt_long(
+ argc, argv,
+ "abcCd:eEf:F:gGhiI:lkK:L:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ",
+ long_options, NULL))
!= EOF) {
char buf[3];
buf[0] = '-';
@@ -149,6 +153,13 @@
Pargs += optarg;
Pargs += '\0';
break;
+ case 'K':
+ commands[PRECONV_INDEX].append_arg("-e", optarg);
+ Kflag = 1;
+ // fall through
+ case 'k':
+ commands[PRECONV_INDEX].set_name(command_prefix, "preconv");
+ break;
case 't':
commands[TBL_INDEX].set_name(command_prefix, "tbl");
break;
@@ -185,16 +196,15 @@
break;
case 'v':
vflag = 1;
- {
- printf("GNU groff version %s\n", Version_string);
- printf("Copyright (C) 2004 Free Software Foundation, Inc.\n"
- "GNU groff comes with ABSOLUTELY NO WARRANTY.\n"
- "You may redistribute copies of groff and its subprograms\n"
- "under the terms of the GNU General Public License.\n"
- "For more information about these matters, see the file named
COPYING.\n");
- printf("\ncalled subprograms:\n\n");
- fflush(stdout);
- }
+ printf("GNU groff version %s\n", Version_string);
+ printf(
+ "Copyright (C) 2005 Free Software Foundation, Inc.\n"
+ "GNU groff comes with ABSOLUTELY NO WARRANTY.\n"
+ "You may redistribute copies of groff and its subprograms\n"
+ "under the terms of the GNU General Public License.\n"
+ "For more information about these matters, see the file named
COPYING.\n");
+ printf("\ncalled subprograms:\n\n");
+ fflush(stdout);
commands[POST_INDEX].append_arg(buf);
// fall through
case 'C':
@@ -284,6 +294,11 @@
break;
}
}
+ if (encoding) {
+ commands[PRECONV_INDEX].set_name(command_prefix, "preconv");
+ if (!Kflag && *encoding)
+ commands[PRECONV_INDEX].append_arg("-e", encoding);
+ }
if (safer_flag)
commands[PIC_INDEX].append_arg("-S");
else
@@ -309,7 +324,8 @@
}
if (postdriver)
commands[POST_INDEX].set_name(postdriver);
- int gxditview_flag = postdriver && strcmp(xbasename(postdriver), GXDITVIEW)
== 0;
+ int gxditview_flag = postdriver
+ && strcmp(xbasename(postdriver), GXDITVIEW) == 0;
if (gxditview_flag && argc - optind == 1) {
commands[POST_INDEX].append_arg("-title");
commands[POST_INDEX].append_arg(argv[optind]);
@@ -690,9 +706,9 @@
void synopsis(FILE *stream)
{
fprintf(stream,
-"usage: %s [-abceghilpstvzCENRSUVXZ] [-Fdir] [-mname] [-Tdev] [-ffam]\n"
+"usage: %s [-abceghiklpstvzCENRSUVXZ] [-Fdir] [-mname] [-Tdev] [-ffam]\n"
" [-wname] [-Wname] [-Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg]\n"
-" [-Larg] [-Idir] [files...]\n",
+" [-Karg] [-Larg] [-Idir] [files...]\n",
program_name);
}
@@ -701,6 +717,7 @@
synopsis(stdout);
fputs("\n"
"-h\tprint this message\n"
+"-k\tpreprocess with preconv\n"
"-t\tpreprocess with tbl\n"
"-p\tpreprocess with pic\n"
"-e\tpreprocess with eqn\n"
@@ -737,6 +754,7 @@
"-S\tenable safer mode (the default)\n"
"-U\tenable unsafe mode\n"
"-Idir\tsearch dir for soelim, troff, and grops. Implies -s\n"
+"-Karg\tuse arg as input encoding. Implies -k\n"
"\n",
stdout);
exit(0);
Index: groff/src/roff/groff/groff.man
diff -u groff/src/roff/groff/groff.man:1.42 groff/src/roff/groff/groff.man:1.43
--- groff/src/roff/groff/groff.man:1.42 Sun Jul 3 12:18:55 2005
+++ groff/src/roff/groff/groff.man Sat Dec 31 08:26:57 2005
@@ -1,7 +1,7 @@
.ig
groff.man
-Last update: 01 Jul 2005
+Last update: 30 Dec 2005
Copyright (C) 1989, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Rewritten in 2002 by Bernd Warken <address@hidden>
@@ -52,15 +52,15 @@
.\" --------------------------------------------------------------------
.\" Begin of macro definitions
.de c
-.\" this is like a comment request when escape mechanism is off
+. \" this is like a comment request when escape mechanism is off
..
.eo
.
.c --------------------------------------------------------------------
.de TP+
-.br
-.ns
-.TP \$1
+. br
+. ns
+. TP \$1
..
.c --------------------------------------------------------------------
.c Like TP, but if specified indent is more than half
@@ -241,11 +241,12 @@
.
.ad l
.Synopsis groff
-.ShortOpt[] abcegilpstzCEGNRSUVXZ
+.ShortOpt[] abcegiklpstzCEGNRSUVXZ
.ShortOpt[] d cs
.ShortOpt[] f fam
.ShortOpt[] F dir
.ShortOpt[] I dir
+.ShortOpt[] K arg
.ShortOpt[] L arg
.ShortOpt[] m name
.ShortOpt[] M dir
@@ -388,13 +389,35 @@
escapes).
The current directory is always searched first.
This option may be specified more than once;
-the directories will be searched in the order specified.
+the directories are searched in the order specified.
No directory search is performed for files specified using an absolute path.
This option implies the
.ShortOpt s
option.
.
.
+.OptDef k
+Preprocess with
+.BR preconv .
+This is run before any other preprocessor.
+.
+Please refer to
+.BR preconv 's
+manual page for its behaviour if no
+.ShortOpt K
+option is specified.
+.
+.
+.OptDef K "" arg
+Set input encoding used by
+.B preconv
+to
+.IR arg .
+.
+Implies
+.ShortOpt k .
+.
+.
.OptDef l
Send the output to a spooler program for printing.
.
@@ -627,7 +650,7 @@
.BR groff
(as a wrapper program) on the standard output, but do not execute it.
If given more than once,
-the commands will be both printed on the standard error and run.
+the commands are both printed on the standard error and run.
.
.
.OptDef X
@@ -674,7 +697,7 @@
.OptDef z
Suppress output generated by
.BR @address@hidden .
-Only error messages will be printed.
+Only error messages are printed.
.
.
.OptDef Z
@@ -873,35 +896,47 @@
The groff preprocessors are reimplementations of the classical
preprocessors with moderate extensions.
.
-The preprocessors distributed with the
+The standard preprocessors distributed with the
.I groff
package are
.
.TP
.BR @address@hidden (@MAN1EXT@)
for mathematical formul\(ae,
+.
.TP
.BR @address@hidden (@MAN1EXT@)
for including
.BR gremlin (1)
pictures,
+.
.TP
.BR @address@hidden (@MAN1EXT@)
for drawing diagrams,
+.
.TP
.BR address@hidden@refer (@MAN1EXT@)
for bibliographic references,
+.
.TP
.BR address@hidden@soelim (@MAN1EXT@)
for including macro files from standard locations,
.
.P
and
+.
.TP
.BR @address@hidden (@MAN1EXT@)
for tables.
.
.P
+A new preprocessor not available in classical troff is
+.BR \%preconv (@MAN1EXT@)
+which converts various input encodings to something groff can understand.
+.
+It is always run first before any other preprocessor.
+.
+.P
Besides these, there are some internal preprocessors that are
automatically run with some devices.
.
@@ -1062,7 +1097,7 @@
.
In roff, the output targets are called
.IR devices .
-A device can be a piece of hardware, e.g. a printer, or a software
+A device can be a piece of hardware, e.g., a printer, or a software
file format.
.
A device is specified by the option
@@ -1077,7 +1112,7 @@
.
.TP
.B cp1047
-Text output using the EBCDIC code page IBM cp1047 (e.g. OS/390 Unix).
+Text output using the EBCDIC code page IBM cp1047 (e.g., OS/390 Unix).
.
.TP
.B dvi
@@ -1117,6 +1152,7 @@
.BR \%xditview (1x)
and
.BR \%gxditview (@MAN1EXT@).
+.
A variant for a 12\|pt document base font is
.BR \%X75-12 .
.
@@ -1126,6 +1162,7 @@
.BR \%xditview (1x)
and
.BR \%gxditview (@MAN1EXT@).
+.
A variant for a 12\|pt document base font is
.BR \%X100-12 .
.
@@ -1153,12 +1190,14 @@
.TP
.BR \%grolbp (@MAN1EXT@)
for some Canon printers,
+.
.TP
.BR \%grolj4 (@MAN1EXT@)
for printers compatible to the HP LaserJet\~4 and PCL5,
+.
.TP
.BR \%grotty (@MAN1EXT@)
-for text output using various encodings, e.g. on text-oriented
+for text output using various encodings, e.g., on text-oriented
terminals or line-printers.
.
.P
@@ -1176,9 +1215,11 @@
.TP
.BR \%grodvi (@MAN1EXT@)
for the DVI format,
+.
.TP
.BR \%grohtml (@MAN1EXT@)
for HTML format,
+.
.TP
.BR grops (@MAN1EXT@)
for PostScript.
@@ -1204,6 +1245,22 @@
Create font description files for PostScript device.
.
.TP
+.BR \%eqn2graph (@MAN1EXT@)
+Convert an
+.B eqn
+image into a cropped image.
+.
+.TP
+.BR \%gdiffmk (@MAN1EXT@)
+Mark differences between groff, nroff, or troff files.
+.
+.TP
+.BR \%grap2graph (@MAN1EXT@)
+Convert a
+.B grap
+diagram into a cropped bitmap image.
+.
+.TP
.BR \%groffer (@MAN1EXT@)
General viewer program for groff files and man pages.
.
@@ -1216,7 +1273,7 @@
Create font description files for lj4 device.
.
.TP
-.BR \%indxbib (@MAN1EXT@)
+.BR address@hidden@indxbib (@MAN1EXT@)
Make inverted index for bibliographic databases.
.
.TP
@@ -1224,14 +1281,25 @@
Search bibliographic databases.
.
.TP
-.BR \%lookbib (@MAN1EXT@)
+.BR address@hidden@lookbib (@MAN1EXT@)
Interactively search bibliographic databases.
.
.TP
+.BR \%pdfroff (@MAN1EXT@)
+Create PDF documents using
+.BR groff .
+.
+.TP
.BR \%pfbtops (@MAN1EXT@)
Translate a PostScript font in .pfb format to ASCII.
.
.TP
+.BR \%pic2graph (@MAN1EXT@)
+Convert a
+.B pic
+diagram into a cropped image.
+.
+.TP
.BR \%tfmtodit (@MAN1EXT@)
Create font description files for TeX DVI device.
.
@@ -1239,6 +1307,10 @@
.BR \%xditview (1x)
roff viewer distributed with X window.
.
+.TP
+.BR \%xtotroff (@MAN1EXT@)
+Convert X font metrics into GNU troff font metrics.
+.
.
.\" --------------------------------------------------------------------
.SH ENVIRONMENT
@@ -1249,17 +1321,19 @@
.
For example, DOS and Windows use a semicolon instead.
.
+.
.TP
.EnvVar GROFF_BIN_PATH
This search path, followed by
.EnvVar $PATH ,
-will be used for commands that are executed by
+is used for commands that are executed by
.BR groff .
.
If it is not set then the directory where the groff binaries were
installed is prepended to
.EnvVar PATH .
.
+.
.TP
.EnvVar GROFF_COMMAND_PREFIX
When there is a need to run different roff implementations at the same
@@ -1292,7 +1366,7 @@
.I xxx
then
.B groff
-as a wrapper program will internally call
+as a wrapper program internally calls
.IB xxx troff
instead of
.BR troff .
@@ -1315,6 +1389,37 @@
.
.
.TP
+.EnvVar GROFF_ENCODING
+The value of this environment value is passed to the
+.B preconv
+preprocessor to select the encoding of input files.
+.
+Setting this option implies
+.BR groff 's
+command line option
+.ShortOpt k
+(this is,
+.B groff
+actually always calls
+.BR preconv ).
+.
+If set without a value,
+.B groff
+calls
+.B preconv
+without arguments.
+.
+An explicit
+.ShortOpt K
+command line option overrides the value of
+.EnvVar GROFF_ENCODING .
+.
+See
+.BR preconv (@MAN1EXT@)
+for details.
+.
+.
+.TP
.EnvVar GROFF_FONT_PATH
A list of directories in which to search for the
.BI dev name
@@ -1341,11 +1446,11 @@
.
.TP
.EnvVar GROFF_TMPDIR
-The directory in which temporary files will be created.
+The directory in which temporary files are created.
.
If this is not set but the environment variable
.EnvVar TMPDIR
-instead, temporary files will be created in the directory
+instead, temporary files are created in the directory
.EnvVar $TMPDIR .
On MS-DOS and Windows\ 32 platforms, the environment variables
.EnvVar TMP
@@ -1356,7 +1461,7 @@
and
.EnvVar TMPDIR .
.
-Otherwise, temporary files will be created in
+Otherwise, temporary files are created in
.BR /tmp .
The
.BR address@hidden@refer (@MAN1EXT@),
@@ -1422,8 +1527,9 @@
.
.TP
.B troffrc-end
-Final startup file for troff, it is parsed after all macro sets have
-been read.
+Final startup file for troff.
+.
+It is parsed after all macro sets have been read.
.
.
.TP
@@ -1517,7 +1623,7 @@
.\" --------------------------------------------------------------------
.
.P
-On EBCDIC hosts (e.g. OS/390 Unix), output devices
+On EBCDIC hosts (e.g., OS/390 Unix), output devices
.B ascii
and
.B latin1
@@ -1530,7 +1636,7 @@
.P
Report bugs to address@hidden
.
-Include a complete, self-contained example that will allow the bug to
+Include a complete, self-contained example that allows the bug to
be reproduced, and say which version of groff you are using.
.
.
@@ -1621,10 +1727,8 @@
.
The
.IR "groff info file"
-contains all information on the groff system within a single document.
-.
-Beneath the detailed documentation of all aspects, it provides
-examples and background information.
+contains all information on the groff system within a single document,
+providing many examples and background information.
.
See
.BR info (1)
@@ -1658,6 +1762,7 @@
.BR address@hidden@eqn (@MAN1EXT@),
.BR address@hidden@grn (@MAN1EXT@),
.BR address@hidden@pic (@MAN1EXT@),
+.BR \%preconv (@MAN1EXT@),
.BR address@hidden@refer (@MAN1EXT@),
.BR address@hidden@soelim (@MAN1EXT@),
.BR address@hidden@tbl (@MAN1EXT@),
@@ -1677,9 +1782,7 @@
.BR ditroff (@MAN7EXT@).
.
.TP
-The
-.I intermediate output
-language:
+The intermediate output language:
.BR \%groff_out (@MAN7EXT@).
.
.TP
@@ -1711,15 +1814,19 @@
.BR \%addftinfo (@MAN1EXT@),
.BR \%afmtodit (@MAN1EXT@),
.BR \%eqn2graph (@MAN1EXT@),
+.BR \%gdiffmk (@MAN1EXT@),
.BR \%grap2graph (@MAN1EXT@),
.BR \%groffer (@MAN1EXT@),
.BR \%gxditview (@MAN1EXT@),
.BR \%hpftodit (@MAN1EXT@),
.BR address@hidden@indxbib (@MAN1EXT@),
+.BR \%lkbib (@MAN1EXT@),
.BR address@hidden@lookbib (@MAN1EXT@),
+.BR \%pdfroff (@MAN1EXT@),
.BR \%pfbtops (@MAN1EXT@),
.BR \%pic2graph (@MAN1EXT@),
-.BR \%tfmtodit (@MAN1EXT@).
+.BR \%tfmtodit (@MAN1EXT@),
+.BR \%xtotroff (@MAN1EXT@).
.
.cp \n[groff_C]
.
Index: groff/src/roff/groff/pipeline.h
diff -u groff/src/roff/groff/pipeline.h:1.4 groff/src/roff/groff/pipeline.h:1.5
--- groff/src/roff/groff/pipeline.h:1.4 Thu May 26 21:02:01 2005
+++ groff/src/roff/groff/pipeline.h Sat Dec 31 08:26:57 2005
@@ -1,4 +1,4 @@
-/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2002
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2002, 2005
Free Software Foundation, Inc.
Written by James Clark (address@hidden)
@@ -25,7 +25,7 @@
#endif
/* run_pipeline can handle at most this many commands */
-#define MAX_COMMANDS 12
+#define MAX_COMMANDS 13
/* Children exit with this status if execvp fails. */
#define EXEC_FAILED_EXIT_STATUS 0xff
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Groff-commit] groff ./ChangeLog ./Makefile.in ./configure ./c...,
Werner LEMBERG <=