summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorJoachim Schrod <jschrod@acm.org>2007-07-03 17:33:14 +0000
committerJoachim Schrod <jschrod@acm.org>2007-07-03 17:33:14 +0000
commit95373b09c88da7661e3af62adaf5c6884eaf7dbb (patch)
treec3860eb1a30a7438472e2596056e207ef460c272 /Build
parent289e9ab75592f0d42a0a40aa94edcd78cf236751 (diff)
Add special dvips-syntax, to specify what shall be done with
psfile specials, since they are incompatible to dvips. git-svn-id: svn://tug.org/texlive/trunk@4540 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/dviljk/ChangeLog4
-rw-r--r--Build/source/texk/dviljk/dvi2xx.c19
-rw-r--r--Build/source/texk/dviljk/dvi2xx.h5
3 files changed, 24 insertions, 4 deletions
diff --git a/Build/source/texk/dviljk/ChangeLog b/Build/source/texk/dviljk/ChangeLog
index da2f4b18468..78d467af42d 100644
--- a/Build/source/texk/dviljk/ChangeLog
+++ b/Build/source/texk/dviljk/ChangeLog
@@ -12,6 +12,10 @@
Add special comment, to include meta-information in a DVI file.
For compatibility with other drivers, allow "comment" without
equal sign and value.
+ Add special dvips-syntax, to specify what shall be done with
+ psfile specials, since they are incompatible to dvips. Supported
+ values: "ignore" and "dvilj". Later, support for "dvips" should be
+ added.
(CopyFile, CopyHPFile): Implement TEX_HUSH option `readable.'
diff --git a/Build/source/texk/dviljk/dvi2xx.c b/Build/source/texk/dviljk/dvi2xx.c
index c790c25b7ae..d44400909fe 100644
--- a/Build/source/texk/dviljk/dvi2xx.c
+++ b/Build/source/texk/dviljk/dvi2xx.c
@@ -3734,6 +3734,7 @@ typedef enum {
COMMENT,
HPFILE,
HPFILE_VERBATIM,
+ PSFILE_SYNTAX,
PSFILE,
LLX,
LLY,
@@ -3754,6 +3755,7 @@ KeyDesc KeyTab[] = {
{ COMMENT, "comment", String},
{ HPFILE, "hpfile", String},
{ HPFILE_VERBATIM, "hpfile-verbatim", String},
+ { PSFILE_SYNTAX, "psfile-syntax", String },
{ PSFILE, "psfile", String },
{ LLX, "llx", Integer},
{ LLY, "lly", Integer},
@@ -4096,13 +4098,26 @@ int n;
file_type = VerbFile;
break;
+ case PSFILE_SYNTAX:
+ if ( EQ(k.Val, "ignore") )
+ PSFileSyntaxTyp = Ignore;
+ else if ( EQ(k.Val, "dvilj") )
+ PSFileSyntaxTyp = PSFile_dvilj;
+ else
+ Warning("Ignored invalid value '%s' for psfile-syntax", k.Val);
+ break;
+
case PSFILE:
if ( include_file ) {
Warning("More than one \\special file name given. %s ignored", include_file);
free(include_file);
}
- include_file = xstrdup(k.Val);
- file_type = PSFile;
+ if ( PSFileSyntaxTyp != Ignore ) {
+ include_file = xstrdup(k.Val);
+ file_type = PSFile;
+ } else {
+ include_file = NULL;
+ }
break;
case LLX: llx = k.v.i; break;
diff --git a/Build/source/texk/dviljk/dvi2xx.h b/Build/source/texk/dviljk/dvi2xx.h
index dcfe4d95902..80396410f7f 100644
--- a/Build/source/texk/dviljk/dvi2xx.h
+++ b/Build/source/texk/dviljk/dvi2xx.h
@@ -356,7 +356,7 @@ extern int seekchar();
/********************** Special Data Structures ***********************/
/**********************************************************************/
-typedef enum { None, String, Integer /*, Number, Dimension*/ } ValTyp;
+typedef enum { None, String, Integer /*, Number, Dimension*/ } ValTyp;
typedef struct {
char *Key; /* the keyword string */
char *Val; /* the value string */
@@ -545,7 +545,8 @@ char *filename; /* DVI file name */
char *rootname; /* DVI filename without extension */
char *HeaderFileName = ""; /* file name & path of Headerfile */
char *EmitFileName = ""; /* file name & path for output */
-char tmp_dir[STRSIZE] = ""; /* temporary directory for auxilliary files */
+char tmp_dir[STRSIZE] = ""; /* temporary directory for auxiliary files */
+enum { Ignore, PSFile_dvilj /*, PSFile_dvips */ } PSFileSyntaxTyp = PSFile_dvilj;
#ifdef IBM3812
bool FirstAlternate = _FALSE; /* first page from alternate casette ? */
#endif