[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#665947: [tex-k] cascading config files for dvips(k) and dvipdfmx



Hi Peter, hi Karl, hi all,

On Do, 29 MÀr 2012, Peter Breitenlohner wrote:
>> Ok, will send tomorrow new patches for all three of them.

Here they are,

> very good.  Please also remember to update the documentation.  For dvipsk

Done that, see the diffstat at the head of the individual patches.

Further remarks appreciated. Esp from Karl about inclusion ;-)

Best wishes

Norbert
------------------------------------------------------------------------
Norbert Preining            preining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan                                 TeX Live & Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
------------------------------------------------------------------------
MATCHING GREEN (adj.)
(Of neckties.) Any colour which Nigel Rees rejects as unsuitable for
his trousers or jacket.
			--- Douglas Adams, The Meaning of Liff
 ChangeLog            |    7 +++++++
 contrib/config.proto |    4 ++++
 dvips.texi           |    5 +++++
 resident.c           |    6 ++++++
 4 files changed, 22 insertions(+)

Index: texk/dvipsk/dvips.texi
===================================================================
--- texk/dvipsk/dvips.texi	(revision 25776)
+++ texk/dvipsk/dvips.texi	(working copy)
@@ -1419,6 +1419,11 @@
 @opindex b @r{config command (#copies)}
 Multiple copies.  Same as @samp{-b}, @pxref{Option details}.
 
+@item c @var{name}
+@opindex c @r{include additional config file}
+Include an additional config file as if the additional config file's
+content would be included literally.
+
 @item D @var{dpi}
 @opindex D @r{config command (dpi)}
 Output resolution.  Same as @samp{-D}, @pxref{Option details}.
Index: texk/dvipsk/resident.c
===================================================================
--- texk/dvipsk/resident.c	(revision 25776)
+++ texk/dvipsk/resident.c	(working copy)
@@ -765,6 +765,12 @@
                paperfmt = newstring(PSname);
          }
          break;
+case 'c' :
+         if (sscanf(was_inline+1, "%s", PSname) != 1)
+           bad_config("missing arg to c");
+         else
+           getdefaults(PSname);
+         break;
 default:
          bad_config("strange line");
       }
Index: texk/dvipsk/contrib/config.proto
===================================================================
--- texk/dvipsk/contrib/config.proto	(revision 25776)
+++ texk/dvipsk/contrib/config.proto	(working copy)
@@ -44,3 +44,7 @@
 % You will also want definitions for alternative paper sizes -- A4,
 % legal, and such.  Examples in @file{contrib/papersize.level2} and
 % @file{contrib/papersize.simple}.
+
+%
+% Inclusion of additional configuration files
+%c<filename>
Index: texk/dvipsk/ChangeLog
===================================================================
--- texk/dvipsk/ChangeLog	(revision 25776)
+++ texk/dvipsk/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2012-03-30  Norbert Preining  <preining@logic.at>
+
+	* resident.c: add new directive "c<filename> to config files, allowing
+	to include other config files:
+	* contrib/config.proto: add exmaple "c<filename>" directive
+	* dvips.texi: document "c" config file directive
+	 
 2012-03-15  Peter Breitenlohner  <peb@mppmu.mpg.de>
 
 	* Makefile.am: Fixed a typo (in comment).
 dvipdfmx-20110311-PATCHES/ChangeLog                   |    7 +++
 dvipdfmx-20110311-PATCHES/patch-09-config-i-directive |   39 ++++++++++++++++++
 dvipdfmx-20110311/data/dvipdfmx.cfg                   |    3 +
 dvipdfmx-20110311/src/dvipdfmx.c                      |    8 +++
 4 files changed, 57 insertions(+)

Index: texk/dvipdfmx/dvipdfmx-20110311/data/dvipdfmx.cfg
===================================================================
--- texk/dvipdfmx/dvipdfmx-20110311/data/dvipdfmx.cfg	(revision 25776)
+++ texk/dvipdfmx/dvipdfmx-20110311/data/dvipdfmx.cfg	(working copy)
@@ -198,3 +198,6 @@
 
 %% Put additonal fontmap files here (usually for Type0 fonts)
 f  cid-x.map
+
+%% Include other config files
+%i <filename>
Index: texk/dvipdfmx/dvipdfmx-20110311/src/dvipdfmx.c
===================================================================
--- texk/dvipdfmx/dvipdfmx-20110311/src/dvipdfmx.c	(revision 25776)
+++ texk/dvipdfmx/dvipdfmx-20110311/src/dvipdfmx.c	(working copy)
@@ -102,6 +102,9 @@
 char *dvi_filename = NULL, *pdf_filename = NULL;
 
 static void
+read_config_file (const char *config);
+
+static void
 set_default_pdf_filename(void)
 {
   const char *dvi_base;
@@ -562,6 +565,11 @@
       case 'E':
         compat_mode = 1;
         break;
+      case 'i':
+        CHECK_ARG(1, "subsidiary config file");
+        read_config_file(argv[1]);
+        POP_ARG();
+        break;
       case 'e':
 	if (compat_mode) {
 	  WARN("dvipdfm \"-e\" option not supported.");
Index: texk/dvipdfmx/dvipdfmx-20110311-PATCHES/ChangeLog
===================================================================
--- texk/dvipdfmx/dvipdfmx-20110311-PATCHES/ChangeLog	(revision 25776)
+++ texk/dvipdfmx/dvipdfmx-20110311-PATCHES/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2012-03-30  Norbert Preining  <preining@logic.at>
+
+	* patch-09-config-i-directive (new): support for "i" config file
+	reading directive
+	* dvipdfmx.c: add support for reading additional config files
+	* data/dvipdfmx.cfg: document the inclusion in sample config file
+
 2012-03-29  Peter Breitenlohner  <peb@mppmu.mpg.de>
 
 	* patch-08-extern (new): Remove extern decls from *.c files.
Index: texk/dvipdfmx/dvipdfmx-20110311-PATCHES/patch-09-config-i-directive
===================================================================
--- texk/dvipdfmx/dvipdfmx-20110311-PATCHES/patch-09-config-i-directive	(revision 0)
+++ texk/dvipdfmx/dvipdfmx-20110311-PATCHES/patch-09-config-i-directive	(revision 0)
@@ -0,0 +1,39 @@
+	Support including subsidiary config files with i <filename> directive
+
+Index: dvipdfmx-20110311/data/dvipdfmx.cfg
+===================================================================
+--- dvipdfmx-20110311/data/dvipdfmx.cfg	(revision 25776)
++++ dvipdfmx-20110311/data/dvipdfmx.cfg	(working copy)
+@@ -198,3 +198,6 @@
+ 
+ %% Put additonal fontmap files here (usually for Type0 fonts)
+ f  cid-x.map
++
++%% Include other config files
++%i <filename>
+Index: dvipdfmx-20110311/src/dvipdfmx.c
+===================================================================
+--- dvipdfmx-20110311/src/dvipdfmx.c	(revision 25776)
++++ dvipdfmx-20110311/src/dvipdfmx.c	(working copy)
+@@ -102,6 +102,9 @@
+ char *dvi_filename = NULL, *pdf_filename = NULL;
+ 
+ static void
++read_config_file (const char *config);
++
++static void
+ set_default_pdf_filename(void)
+ {
+   const char *dvi_base;
+@@ -562,6 +565,11 @@
+       case 'E':
+         compat_mode = 1;
+         break;
++      case 'i':
++        CHECK_ARG(1, "subsidiary config file");
++        read_config_file(argv[1]);
++        POP_ARG();
++        break;
+       case 'e':
+ 	if (compat_mode) {
+ 	  WARN("dvipdfm \"-e\" option not supported.");
 ChangeLog.TL             |    5 +++++
 data/config/dvipdfmx.cfg |    2 ++
 src/dvipdfmx.c           |    8 ++++++++
 3 files changed, 15 insertions(+)

Index: texk/xdvipdfmx/src/dvipdfmx.c
===================================================================
--- texk/xdvipdfmx/src/dvipdfmx.c	(revision 25776)
+++ texk/xdvipdfmx/src/dvipdfmx.c	(working copy)
@@ -107,6 +107,9 @@
 char *dvi_filename = NULL, *pdf_filename = NULL;
 
 static void
+read_config_file (const char *config);
+
+static void
 set_default_pdf_filename(void)
 {
   const char *dvi_base;
@@ -455,6 +458,11 @@
           pdf_load_fontmap_file(argv[1], FONTMAP_RMODE_REPLACE);
         POP_ARG();
         break;
+      case 'i':
+        CHECK_ARG(1, "subsidiary config file");
+        read_config_file(argv[1]);
+        POP_ARG();
+        break;
       case 'e':
         WARN("dvipdfm \"-e\" option not supported.");
         break;
Index: texk/xdvipdfmx/ChangeLog.TL
===================================================================
--- texk/xdvipdfmx/ChangeLog.TL	(revision 25776)
+++ texk/xdvipdfmx/ChangeLog.TL	(working copy)
@@ -1,6 +1,11 @@
 ChangeLog.TL: TeX Live (TL) changes for xdvipdfmx
 =================================================
 
+2012-03-30  Norbert Preining  <preining@logic.at>
+
+	* src/dvipdfmx.c: add support for reading additional config files
+	* data/config/dvipdfmx.cfg: document inclusion in sample config file
+
 2012-03-29  Peter Breitenlohner  <peb@mppmu.mpg.de>
 
 	Remove extern decls from *.c files.
Index: texk/xdvipdfmx/data/config/dvipdfmx.cfg
===================================================================
--- texk/xdvipdfmx/data/config/dvipdfmx.cfg	(revision 25776)
+++ texk/xdvipdfmx/data/config/dvipdfmx.cfg	(working copy)
@@ -183,3 +183,5 @@
 %% Put additonal fontmap files here
 f  cid-x.map
 
+%% Include additional config files
+%i <filename>

Reply to: