From 48af41221fbe020e8450a03ff592db7e31ecfec4 Mon Sep 17 00:00:00 2001 From: wiz Date: Fri, 30 Jul 2004 14:44:08 +0000 Subject: Import groff-1.19.1. Changes since 1.19: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Groff ----- o The argument of the command line option `-I' is now also passed to troff and grops, specifying a directory to search for files on the command line, files named in `so' and `psbb' requests, and files named in \X'ps: file' and \X'ps: import' escapes. o If option `-V' is used more than once, the commands will be both printed on standard error and run. Troff ----- o Two new read-only, string-valued registers `.m' and `.M' return the name of the current drawing and background color, respectively. o New read-only register `.U' which is set to 1 if in safer mode and set to 0 if in unsafe mode. o An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added. Example use: groff -Tdvi -mlatin5 my_file > my_file.dvi Note that some output devices don't support all glyphs of this encoding. o If the `return' request is called with an argument, it exits twice, namely the current macro and the macro one level higher. This is used to define a wrapper macro for `return' in trace.tmac. o For completeness, two new requests have been added: `dei1' and `ami1'. They are equivalent to `dei' and `ami', respectively, but the macros are executed with compatibility mode off (similar to `de1' and `am1'). o New command line option `-I' to specify a directory for files (both those on the command line and those named in `psbb' requests). This is also handled by the groff wrapper program. o Since version 1.19 you can say `.vs 0'. Older versions emit a warning and convert this to `.vs \n[.V]'. This hasn't been documented properly. Note that `.vs 0' isn't saved in a diversion since it doesn't result in vertical motion. Pic ___ o Dashed and dotted ellipses have been implemented. Tbl --- o New key character `x' to make tbl call a user-defined macro on a table cell. Patch by Heinz-Jürgen Oertel . Grohtml ------- o New option `-j' to emit output splitted into multiple files. Grops ----- o New command line option `-I' to specify a directory to search for files on the command line and files named in \X'ps: import' and \X'ps: file' escapes. This is also handled by the groff wrapper program. o The default value for the `broken' keyword in the DESC file is now 0. Grolj4 ------ o A new man page `lj4_font(5)' documents how fonts are accessed with grolj4. o The built-in fonts for LJ4 and newer PCL 5 devices have been completely revised, mainly to access as much glyphs as possible. The provided metric files should be compatible with recent PCL 5 printers also. Additionally, font description files have been added for the Arial and Times New Roman family, the MS symbol, and Wingdings fonts. Hpftodit -------- o Completely revised to handle HP TrueType metric files also. See the hpftodit manual page for more details. Macro Packages -------------- o www.tmac: New macro `JOBNAME' to split output into multiple files. o In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY section. --- gnu/dist/groff/src/libs/libgroff/tmpfile.cpp | 34 +++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'gnu/dist/groff/src/libs/libgroff/tmpfile.cpp') diff --git a/gnu/dist/groff/src/libs/libgroff/tmpfile.cpp b/gnu/dist/groff/src/libs/libgroff/tmpfile.cpp index cb2294b95ea..dac8d82102e 100644 --- a/gnu/dist/groff/src/libs/libgroff/tmpfile.cpp +++ b/gnu/dist/groff/src/libs/libgroff/tmpfile.cpp @@ -1,7 +1,7 @@ -/* $NetBSD: tmpfile.cpp,v 1.1.1.1 2003/06/30 17:52:06 wiz Exp $ */ +/* $NetBSD: tmpfile.cpp,v 1.1.1.2 2004/07/30 14:44:52 wiz Exp $ */ // -*- C++ -*- -/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001 +/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2003 Free Software Foundation, Inc. Written by James Clark (jjc@jclark.com) @@ -35,6 +35,13 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define GROFF_TMPDIR_ENVVAR "GROFF_TMPDIR" // otherwise if this is set, create temporary files there #define TMPDIR_ENVVAR "TMPDIR" +// otherwise, on MS-DOS or MS-Windows ... +#if defined(__MSDOS__) || defined(_WIN32) +// if either of these is set, create temporary files there +// (giving priority to WIN32_TMPDIR_ENVVAR) +#define WIN32_TMPDIR_ENVVAR "TMP" +#define MSDOS_TMPDIR_ENVVAR "TEMP" +#endif // otherwise if P_tmpdir is defined, create temporary files there #ifdef P_tmpdir # define DEFAULT_TMPDIR P_tmpdir @@ -57,12 +64,23 @@ struct temp_init { temp_init::temp_init() { - const char *tem = getenv(GROFF_TMPDIR_ENVVAR); - if (!tem) { - tem = getenv(TMPDIR_ENVVAR); - if (!tem) - tem = DEFAULT_TMPDIR; - } + // First, choose a location for creating temporary files... + const char *tem; + // using the first match for any of the environment specs in listed order. + if ( + (tem = getenv(GROFF_TMPDIR_ENVVAR)) == NULL + && (tem = getenv(TMPDIR_ENVVAR)) == NULL +#if defined(__MSDOS__) || defined(_WIN32) + // If we didn't find a match for either of the above + // (which are preferred, regardless of the host operating system), + // and we are hosted on either MS-Windows or MS-DOS, + // then try the Microsoft conventions. + && (tem = getenv(WIN32_TMPDIR_ENVVAR)) == NULL + && (tem = getenv(MSDOS_TMPDIR_ENVVAR)) == NULL +#endif + ) + // If we didn't find an environment spec fall back to this default. + tem = DEFAULT_TMPDIR; size_t tem_len = strlen(tem); const char *tem_end = tem + tem_len - 1; int need_slash = strchr(DIR_SEPS, *tem_end) == NULL ? 1 : 0; -- cgit