summaryrefslogtreecommitdiffstats
path: root/office/texlive/patches/20180625.diff
blob: 583d99486da860b2b3b8f7ebde9dfd0272f5f715 (plain)
diff -ur ./texk/dvipdfm-x/ChangeLog ../b18/texk/dvipdfm-x/ChangeLog
--- ./texk/dvipdfm-x/ChangeLog	2018-03-03 11:27:37.000000000 +0100
+++ ../b18/texk/dvipdfm-x/ChangeLog	2018-06-25 22:07:46.343277185 +0200
@@ -1,3 +1,16 @@
+2018-05-06  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
+
+	* tt_cmap.c: Revert a part of changes in 2017-12-09,
+	which breaks to give tounicode entries for ligatures.
+	http://tug.org/pipermail/tex-live/2018-May/041608.html.
+	* configure.ac: Version 20180506.
+
+ 2018-04-28  Stefan Br\"uns  <stefan.bruens@rwth-aachen.de>
+
+	* pngimage.c: Fix a bug which causes a segfault with 1/2/4-bit
+	transparent indexed PNGs.
+	* configure.ac: Version 20180428.
+
 2018-03-03  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
 
 	* xbb.c: Remove unused lines.
diff -ur ./texk/dvipdfm-x/configure ../b18/texk/dvipdfm-x/configure
--- ./texk/dvipdfm-x/configure	2018-02-17 09:41:35.000000000 +0100
+++ ../b18/texk/dvipdfm-x/configure	2018-06-25 22:07:47.183276612 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20180217.
+# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20180506.
 #
 # Report bugs to <tex-k@tug.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='dvipdfm-x (TeX Live)'
 PACKAGE_TARNAME='dvipdfm-x--tex-live-'
-PACKAGE_VERSION='20180217'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20180217'
+PACKAGE_VERSION='20180506'
+PACKAGE_STRING='dvipdfm-x (TeX Live) 20180506'
 PACKAGE_BUGREPORT='tex-k@tug.org'
 PACKAGE_URL=''
 
@@ -1350,7 +1350,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures dvipdfm-x (TeX Live) 20180217 to adapt to many kinds of systems.
+\`configure' configures dvipdfm-x (TeX Live) 20180506 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1421,7 +1421,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20180217:";;
+     short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20180506:";;
    esac
   cat <<\_ACEOF
 
@@ -1551,7 +1551,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-dvipdfm-x (TeX Live) configure 20180217
+dvipdfm-x (TeX Live) configure 20180506
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2390,7 +2390,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by dvipdfm-x (TeX Live) $as_me 20180217, which was
+It was created by dvipdfm-x (TeX Live) $as_me 20180506, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -8075,7 +8075,7 @@
 
 # Define the identity of the package.
  PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20180217'
+ VERSION='20180506'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14744,7 +14744,7 @@
 Report bugs to <bug-libtool@gnu.org>."
 
 lt_cl_version="\
-dvipdfm-x (TeX Live) config.lt 20180217
+dvipdfm-x (TeX Live) config.lt 20180506
 configured by $0, generated by GNU Autoconf 2.69.
 
 Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16624,7 +16624,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by dvipdfm-x (TeX Live) $as_me 20180217, which was
+This file was extended by dvipdfm-x (TeX Live) $as_me 20180506, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16694,7 +16694,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-dvipdfm-x (TeX Live) config.status 20180217
+dvipdfm-x (TeX Live) config.status 20180506
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -ur ./texk/dvipdfm-x/configure.ac ../b18/texk/dvipdfm-x/configure.ac
--- ./texk/dvipdfm-x/configure.ac	2018-02-28 00:14:55.000000000 +0100
+++ ../b18/texk/dvipdfm-x/configure.ac	2018-06-25 22:07:47.183276612 +0200
@@ -7,7 +7,7 @@
 dnl   gives unlimited permission to copy and/or distribute it,
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20180217], [tex-k@tug.org])
+AC_INIT([dvipdfm-x (TeX Live)], [20180506], [tex-k@tug.org])
 AC_PREREQ([2.65])
 AC_CONFIG_SRCDIR([agl.c])
 AC_CONFIG_AUX_DIR([../../build-aux])
diff -ur ./texk/dvipdfm-x/pngimage.c ../b18/texk/dvipdfm-x/pngimage.c
--- ./texk/dvipdfm-x/pngimage.c	2018-02-17 09:41:35.000000000 +0100
+++ ../b18/texk/dvipdfm-x/pngimage.c	2018-06-25 22:07:49.306275165 +0200
@@ -964,12 +964,16 @@
   png_bytep   trans;
   int         num_trans;
   png_uint_32 i;
+  png_byte    bpc, mask, shift;
 
   if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ||
       !png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL)) {
     WARN("%s: PNG does not have valid tRNS chunk but tRNS is requested.", PNG_DEBUG_STR);
     return NULL;
   }
+  bpc   = png_get_bit_depth(png_ptr, info_ptr);
+  mask  = 0xff >> (8 - bpc);
+  shift = 8 - bpc;
 
   smask = pdf_new_stream(STREAM_COMPRESS);
   dict  = pdf_stream_dict(smask);
@@ -981,7 +985,8 @@
   pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray"));
   pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8));
   for (i = 0; i < width*height; i++) {
-    png_byte idx = image_data_ptr[i];
+    /* data is packed for 1/2/4 bpc formats, msb first */
+    png_byte idx = (image_data_ptr[bpc * i / 8] >> (shift - bpc * i % 8)) & mask;
     smask_data_ptr[i] = (idx < num_trans) ? trans[idx] : 0xff;
   }
   pdf_add_stream(smask, (char *)smask_data_ptr, width*height);
diff -ur ./texk/dvipdfm-x/tt_cmap.c ../b18/texk/dvipdfm-x/tt_cmap.c
--- ./texk/dvipdfm-x/tt_cmap.c	2017-12-09 15:07:09.000000000 +0100
+++ ../b18/texk/dvipdfm-x/tt_cmap.c	2018-06-25 22:07:49.617274953 +0200
@@ -1,6 +1,6 @@
 /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
 
-    Copyright (C) 2007-2017 by Jin-Hwan Cho and Shunsaku Hirata,
+    Copyright (C) 2007-2018 by Jin-Hwan Cho and Shunsaku Hirata,
     the dvipdfmx project team.
     
     This program is free software; you can redistribute it and/or modify
@@ -928,19 +928,12 @@
         }
 #undef MAX_UNICODES
         if (unicode_count == -1) {
-#if defined(LIBDPX)
           if(verbose > VERBOSE_LEVEL_MIN) {
             if (name)
               MESG("No Unicode mapping available: GID=%u, name=%s\n", gid, name);
             else
               MESG("No Unicode mapping available: GID=%u\n", gid);
           }
-#else
-          if (name)
-            MESG("No Unicode mapping available: GID=%u, name=%s\n", gid, name);
-          else
-            MESG("No Unicode mapping available: GID=%u\n", gid);
-#endif /* LIBDPX */
         } else {
           /* the Unicode characters go into wbuf[2] and following, in UTF16BE */
           /* we rely on WBUF_SIZE being more than adequate for MAX_UNICODES  */
@@ -1021,13 +1014,7 @@
 {
   USHORT count = 0;
   USHORT cid = cffont ? cff_charsets_lookup_inverse(cffont, gid) : gid;
-
-  /* Skip PUA characters and alphabetic presentation forms, allowing
-   * handle_subst_glyphs() as it might find better mapping. Fixes the
-   * mapping of ligatures encoded in PUA in fonts like Linux Libertine
-   * and old Adobe fonts.
-   */
-  if (is_used_char2(used_chars, cid) && !is_PUA_or_presentation(ch)) {
+  if (is_used_char2(used_chars, cid)) {
     int len;
     unsigned char *p = wbuf + 2;
 
@@ -1038,11 +1025,18 @@
     len = UC_UTF16BE_encode_char((int32_t) ch, &p, wbuf + WBUF_SIZE);
     CMap_add_bfchar(cmap, wbuf, 2, wbuf + 2, len);
 
-    /* Avoid duplicate entry
-     * There are problem when two Unicode code is mapped to
-     * single glyph...
+    /* Skip PUA characters and alphabetic presentation forms, allowing
+     * handle_subst_glyphs() as it might find better mapping. Fixes the
+     * mapping of ligatures encoded in PUA in fonts like Linux Libertine
+     * and old Adobe fonts.
      */
-    used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
+    if (!is_PUA_or_presentation(ch)) {
+      /* Avoid duplicate entry
+       * There are problem when two Unicode code is mapped to
+       * single glyph...
+       */
+      used_chars[cid / 8] &= ~(1 << (7 - (cid % 8)));
+    }
   }
 
   return count;
diff -ur ./texk/web2c/ptexdir/ChangeLog ../b18/texk/web2c/ptexdir/ChangeLog
--- ./texk/web2c/ptexdir/ChangeLog	2018-02-05 13:35:05.000000000 +0100
+++ ../b18/texk/web2c/ptexdir/ChangeLog	2018-06-25 22:08:39.566240911 +0200
@@ -1,3 +1,16 @@
+2018-05-06  Hironori Kitagawa  <h_kitagawa2001@yahoo.co.jp>
+
+	* kanji.c: More strict check kanji token.
+
+2018-04-14  Hironori Kitagawa  <h_kitagawa2001@yahoo.co.jp>
+
+	* ptex-base.ch: Fix issue GitHub:texjporg/tex-jp-build#57
+	  that discontinuous KINSOKU/INHIBIT table cannot be
+	  searched properly.
+	  (regression caused by a commmit of 2017-09-11)
+	* tests/free_pena.tex, tests/free_ixsp.tex: Added.
+	* ptex_version.h: pTeX version p3.8.1.
+
 2018-02-05  Hironobu Yamashita  <h.y.acetaminophen@gmail.com>
 
 	* ptex-base.ch: Set subtype for JFM glue in math list.
diff -ur ./texk/web2c/ptexdir/kanji.c ../b18/texk/web2c/ptexdir/kanji.c
--- ./texk/web2c/ptexdir/kanji.c	2016-11-25 19:24:38.000000000 +0100
+++ ../b18/texk/web2c/ptexdir/kanji.c	2018-06-25 22:08:39.675240837 +0200
@@ -4,6 +4,7 @@
  */
 
 #include "kanji.h"
+#define CS_TOKEN_FLAG   0xFFFF
 
 #if !defined(WIN32)
 int sjisterminal;
@@ -12,7 +13,8 @@
 /* TOKEN */
 boolean check_kanji(integer c)
 {
-    return is_char_kanji(c);
+    if (c >= CS_TOKEN_FLAG) return false;
+    else return is_char_kanji(c);
 }
 
 boolean is_char_ascii(integer c)
diff -ur ./texk/web2c/ptexdir/ptex-base.ch ../b18/texk/web2c/ptexdir/ptex-base.ch
--- ./texk/web2c/ptexdir/ptex-base.ch	2018-02-05 13:35:05.000000000 +0100
+++ ../b18/texk/web2c/ptexdir/ptex-base.ch	2018-06-25 22:08:39.677240836 +0200
@@ -58,6 +58,7 @@
 %                  pTeX p3.7.1.
 % (2017-09-07) HK  pTeX p3.7.2 More restrictions on direction change commands.
 % (2018-01-21) HK  Added \ptexversion primitive and co. pTeX p3.8.
+% (2018-04-14) HK  pTeX p3.8.1 Bug fix for discontinuous KINSOKU table.
 %
 
 @x
@@ -73,8 +74,8 @@
 @y
 @d pTeX_version=3
 @d pTeX_minor_version=8
-@d pTeX_revision==".0"
-@d pTeX_version_string=='-p3.8.0' {current \pTeX\ version}
+@d pTeX_revision==".1"
+@d pTeX_version_string=='-p3.8.1' {current \pTeX\ version}
 @#
 @d pTeX_banner=='This is pTeX, Version 3.14159265',pTeX_version_string
 @d pTeX_banner_k==pTeX_banner
@@ -6397,6 +6398,8 @@
 @d inhibit_both=0     {disable to insert space before 2byte-char and after it}
 @d inhibit_previous=1 {disable to insert space before 2byte-char}
 @d inhibit_after=2    {disable to insert space after 2byte-char}
+@d inhibit_none=3     {enable to insert space before/after 2byte-char}
+@d inhibit_unused=4   {unused entry}
 @d no_entry=1000
 @d new_pos=0
 @d cur_pos=1
@@ -6427,14 +6430,15 @@
 begin s:=calc_pos(c); p:=s;
 if n=new_pos then
   begin repeat
-  if (inhibit_xsp_code(p)=0)or(inhibit_xsp_code(p)=c) then goto done;
+  if (inhibit_xsp_type(p)=inhibit_unused)or(inhibit_xsp_code(p)=0)
+    or(inhibit_xsp_code(p)=c) then goto done;
   incr(p); if p>255 then p:=0;
   until s=p; p:=no_entry;
   end
 else
   begin repeat
-  if inhibit_xsp_code(p)=0 then goto done1;
-  if inhibit_xsp_code(p)=c then goto done;
+  if inhibit_xsp_code(p)=0 then goto done1
+  else if (inhibit_xsp_type(p)<>inhibit_unused)and(inhibit_xsp_code(p)=c) then goto done;
   incr(p); if p>255 then p:=0;
   until s=p;
 done1: p:=no_entry;
@@ -6447,9 +6451,10 @@
 begin p:=cur_chr; scan_int; n:=cur_val; scan_optional_equals; scan_int;
 if is_char_kanji(n) then
   begin j:=get_inhibit_pos(tokanji(n),new_pos);
-  if (j<>no_entry)and(cur_val>inhibit_after)and(global or cur_level=level_one) then
-    begin n:=0; cur_val:=0 end
-    { remove the entry from inhibit table }
+  if (j<>no_entry)and(cur_val>inhibit_after) then
+    begin if global or(cur_level=level_one) then cur_val:=inhibit_unused
+      { remove the entry from inhibit table }
+	else cur_val:=inhibit_none; end
   else if j=no_entry then
     begin print_err("Inhibit table is full!!");
     help1("I'm skipping this control sequences.");@/
@@ -6466,7 +6471,7 @@
 
 @ @<Fetch inhibit type from some table@>=
 begin scan_int; q:=get_inhibit_pos(tokanji(cur_val),cur_pos);
-cur_val_level:=int_val; cur_val:=3;
+cur_val_level:=int_val; cur_val:=inhibit_none;
 if q<>no_entry then cur_val:=inhibit_xsp_type(q);
 end
 
@@ -6476,6 +6481,7 @@
 
 @d pre_break_penalty_code=1
 @d post_break_penalty_code=2
+@d kinsoku_unused_code=3
 
 @<Put each...@>=
 primitive("prebreakpenalty",assign_kinsoku,pre_break_penalty_code);
@@ -6502,15 +6508,16 @@
 gubed
 if n=new_pos then
   begin repeat
-  if (kinsoku_type(p)=0)or(kinsoku_code(p)=c) then goto done;
+  if (kinsoku_type(p)=0)or(kinsoku_type(p)=kinsoku_unused_code)
+    or(kinsoku_code(p)=c) then goto done;
   incr(p); if p>255 then p:=0;
   until s=p;
   p:=no_entry;
   end
 else
   begin repeat
-  if kinsoku_type(p)=0 then goto done1;
-  if kinsoku_code(p)=c then goto done;
+  if kinsoku_type(p)=0 then goto done1
+  else if (kinsoku_type(p)<>kinsoku_unused_code)and(kinsoku_code(p)=c) then goto done;
   incr(p); if p>255 then p:=0;
   until s=p;
 done1: p:=no_entry;
@@ -6523,8 +6530,8 @@
 begin p:=cur_chr; scan_int; n:=cur_val; scan_optional_equals; scan_int;
 if is_char_ascii(n) or is_char_kanji(n) then
   begin j:=get_kinsoku_pos(tokanji(n),new_pos);
-  if (j<>no_entry)and(cur_val=0)and(global or cur_level=level_one) then
-    define(kinsoku_base+j,0,0) { remove the entry from KINSOKU table }
+  if (j<>no_entry)and(cur_val=0)and(global or(cur_level=level_one)) then
+    define(kinsoku_base+j,kinsoku_unused_code,0) { remove the entry from KINSOKU table }
   else begin
     if j=no_entry then begin
       print_err("KINSOKU table is full!!");
diff -ur ./texk/web2c/ptexdir/ptex_version.h ../b18/texk/web2c/ptexdir/ptex_version.h
--- ./texk/web2c/ptexdir/ptex_version.h	2018-01-21 04:48:06.000000000 +0100
+++ ../b18/texk/web2c/ptexdir/ptex_version.h	2018-06-25 22:08:39.678240835 +0200
@@ -1 +1 @@
-#define PTEX_VERSION "p3.8.0"
+#define PTEX_VERSION "p3.8.1"
diff -ur ./texk/web2c/uptexdir/kanji.c ../b18/texk/web2c/uptexdir/kanji.c
--- ./texk/web2c/uptexdir/kanji.c	2018-02-25 01:31:25.000000000 +0100
+++ ../b18/texk/web2c/uptexdir/kanji.c	2018-06-25 22:08:41.864239345 +0200
@@ -18,7 +18,7 @@
 /* TOKEN */
 boolean check_kanji (integer c)
 {
-    if (c > CS_TOKEN_FLAG) return false;
+    if (c >= CS_TOKEN_FLAG) return false;
     else if (!(XXHi(c)>=KCAT_KANJI && XXHi(c)<=KCAT_HANGUL)) return false;
     else return is_char_kanji(c);
 }
diff -ur ./utils/README ../b18/utils/README
--- ./utils/README	2018-04-08 22:08:33.000000000 +0200
+++ ../b18/utils/README	2018-06-25 22:08:45.738236705 +0200
@@ -1,4 +1,4 @@
-$Id: README 47384 2018-04-08 20:08:33Z karl $
+$Id: README 47642 2018-05-08 16:06:43Z karl $
 Public domain.  Originally written 2005 by Karl Berry.
 
 Extra utilities we (optionally) compile for TeX Live.
@@ -16,7 +16,7 @@
 
 lacheck - maintained here, by us
 
-m-tx 0.63 - checked 09jan18
+m-tx 0.63a - checked 29apr18
   http://ctan.org/pkg/m-tx/
 
 pmx 2.8.4 - checked 14feb18
diff -ur ./utils/m-tx/ChangeLog ../b18/utils/m-tx/ChangeLog
--- ./utils/m-tx/ChangeLog	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/ChangeLog	2018-06-25 22:08:49.771233956 +0200
@@ -1,3 +1,7 @@
+2018-04-29  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
+
+	* Import m-tx 0.63a.
+
 2018-01-09  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
 
 	* Import m-tx 0.63.
diff -ur ./utils/m-tx/TLpatches/ChangeLog ../b18/utils/m-tx/TLpatches/ChangeLog
--- ./utils/m-tx/TLpatches/ChangeLog	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/TLpatches/ChangeLog	2018-06-25 22:08:49.772233956 +0200
@@ -1,3 +1,7 @@
+2018-04-29  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
+
+	* patch-01-write-bin: Update for 0.63a.
+
 2018-01-09  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
 
 	* patch-01-write-bin: Update for 0.63.
diff -ur ./utils/m-tx/TLpatches/TL-Changes ../b18/utils/m-tx/TLpatches/TL-Changes
--- ./utils/m-tx/TLpatches/TL-Changes	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/TLpatches/TL-Changes	2018-06-25 22:08:49.772233956 +0200
@@ -1,4 +1,4 @@
-Changes applied to the mtx-0.63 tree as obtained from:
+Changes applied to the mtx-0.63a tree as obtained from:
 	http://www.ctan.org/tex-archive/support/m-tx/
 
 Remove:
diff -ur ./utils/m-tx/TLpatches/patch-01-write-bin ../b18/utils/m-tx/TLpatches/patch-01-write-bin
--- ./utils/m-tx/TLpatches/patch-01-write-bin	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/TLpatches/patch-01-write-bin	2018-06-25 22:08:49.772233956 +0200
@@ -1,6 +1,21 @@
-diff -ur mtx-0.63.orig/globals.c mtx-0.63/globals.c
---- mtx-0.63.orig/globals.c	Tue Jan 09 01:39:42 2018
-+++ mtx-0.63/globals.c	Tue Jan 09 08:46:40 2018
+diff -ur mtx-0.63a/files.c mtx-src/files.c
+--- mtx-0.63a/files.c	Tue Jan 09 01:39:42 2018
++++ mtx-src/files.c	Wed Apr 25 18:07:12 2018
+@@ -289,9 +289,9 @@
+   pushFile(infilename);
+   strcpy(outfile_NAME, outfilename);
+   if (outfile != NULL)
+-    outfile = freopen(outfile_NAME, "w", outfile);
++    outfile = freopen(outfile_NAME, "wb", outfile);
+   else
+-    outfile = fopen(outfile_NAME, "w");
++    outfile = fopen(outfile_NAME, "wb");
+   _SETIO(outfile != NULL, FileNotFound);
+   strcpy(stylefile_NAME, stylefilename);
+   if (stylefile != NULL)
+diff -ur mtx-0.63a/globals.c mtx-src/globals.c
+--- mtx-0.63a/globals.c	Tue Jan 09 01:39:42 2018
++++ mtx-src/globals.c	Wed Apr 25 18:07:37 2018
 @@ -230,7 +230,7 @@
      if (outfile != NULL)
        fclose(outfile);
diff -ur ./utils/m-tx/configure ../b18/utils/m-tx/configure
--- ./utils/m-tx/configure	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/configure	2018-06-25 22:08:49.879233883 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for m-tx (TeX Live) 0.63.
+# Generated by GNU Autoconf 2.69 for m-tx (TeX Live) 0.63a.
 #
 # Report bugs to <tex-k@tug.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='m-tx (TeX Live)'
 PACKAGE_TARNAME='m-tx--tex-live-'
-PACKAGE_VERSION='0.63'
-PACKAGE_STRING='m-tx (TeX Live) 0.63'
+PACKAGE_VERSION='0.63a'
+PACKAGE_STRING='m-tx (TeX Live) 0.63a'
 PACKAGE_BUGREPORT='tex-k@tug.org'
 PACKAGE_URL=''
 
@@ -1275,7 +1275,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures m-tx (TeX Live) 0.63 to adapt to many kinds of systems.
+\`configure' configures m-tx (TeX Live) 0.63a to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1341,7 +1341,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of m-tx (TeX Live) 0.63:";;
+     short | recursive ) echo "Configuration of m-tx (TeX Live) 0.63a:";;
    esac
   cat <<\_ACEOF
 
@@ -1438,7 +1438,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-m-tx (TeX Live) configure 0.63
+m-tx (TeX Live) configure 0.63a
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1861,7 +1861,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by m-tx (TeX Live) $as_me 0.63, which was
+It was created by m-tx (TeX Live) $as_me 0.63a, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3784,7 +3784,7 @@
 
 # Define the identity of the package.
  PACKAGE='m-tx--tex-live-'
- VERSION='0.63'
+ VERSION='0.63a'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5868,7 +5868,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by m-tx (TeX Live) $as_me 0.63, which was
+This file was extended by m-tx (TeX Live) $as_me 0.63a, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5925,7 +5925,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-m-tx (TeX Live) config.status 0.63
+m-tx (TeX Live) config.status 0.63a
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -ur ./utils/m-tx/mtx-src/Corrections ../b18/utils/m-tx/mtx-src/Corrections
--- ./utils/m-tx/mtx-src/Corrections	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/Corrections	2018-06-25 22:08:49.880233882 +0200
@@ -3,6 +3,12 @@
    
 Newest items at top. You might also want to look at file `MAINTENANCE`.
 
+Version 0.63a
+-------------
+
+Commented out apparently spurious begin...end block in preambleDefaults 
+in preamble.pas.  (RDT)
+
 Version 0.63
 ------------
 
diff -ur ./utils/m-tx/mtx-src/files.c ../b18/utils/m-tx/mtx-src/files.c
--- ./utils/m-tx/mtx-src/files.c	2016-11-25 19:24:43.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/files.c	2018-06-25 22:08:49.882233881 +0200
@@ -289,9 +289,9 @@
   pushFile(infilename);
   strcpy(outfile_NAME, outfilename);
   if (outfile != NULL)
-    outfile = freopen(outfile_NAME, "w", outfile);
+    outfile = freopen(outfile_NAME, "wb", outfile);
   else
-    outfile = fopen(outfile_NAME, "w");
+    outfile = fopen(outfile_NAME, "wb");
   _SETIO(outfile != NULL, FileNotFound);
   strcpy(stylefile_NAME, stylefilename);
   if (stylefile != NULL)
diff -ur ./utils/m-tx/mtx-src/libp2c/p2clib.c ../b18/utils/m-tx/mtx-src/libp2c/p2clib.c
--- ./utils/m-tx/mtx-src/libp2c/p2clib.c	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/libp2c/p2clib.c	2018-06-25 22:08:49.883233880 +0200
@@ -73,8 +73,8 @@
 {
     register char *dd = (char *)d, *ss = (char *)s;
     if (dd < ss || dd - ss >= n) {
-#if defined(bcopy) && defined(memcpy)
-        my_memcpy(dd, ss, n);
+#if defined(bcopy) && defined(memcpy) 
+        Anyptr my_memcpy(Anyptr d, Const Anyptr s, size_t n);
 #else
 	memcpy(dd, ss, n);
 #endif
diff -ur ./utils/m-tx/mtx-src/preamble.c ../b18/utils/m-tx/mtx-src/preamble.c
--- ./utils/m-tx/mtx-src/preamble.c	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/preamble.c	2018-06-25 22:08:49.953233832 +0200
@@ -801,8 +801,8 @@
     stave_size[i] = unspec;
   for (i = 0; i <= maxstaves; i++)
     nspace[i] = unspec;
-  nspace[i] = unspec;
-  stave_size[i-1] = unspec;
+  /* next line seems to be spurious.  0.63a RDT */
+  /* begin  nspace[i]:=unspec;  stave_size[i]:=unspec;  end; */
   n_pages = 1;
   n_systems = 1;
   readStyles();
diff -ur ./utils/m-tx/mtx-src/preamble.pas ../b18/utils/m-tx/mtx-src/preamble.pas
--- ./utils/m-tx/mtx-src/preamble.pas	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/preamble.pas	2018-06-25 22:08:49.953233832 +0200
@@ -501,7 +501,8 @@
   for i:=1 to maxvoices do setVocal(i,false);
   for i:=1 to maxstaves do stave_size[i]:=unspec;
   for i:=0 to maxstaves do nspace[i]:=unspec;
-  begin  nspace[i]:=unspec;  stave_size[i]:=unspec;  end;
+  { next line seems to be spurious.  0.63a RDT }
+  { begin  nspace[i]:=unspec;  stave_size[i]:=unspec;  end; }  
   n_pages:=1; n_systems:=1;
   readStyles; old_known_styles := known_styles;
   for i:=1 to lines_in_paragraph do omit_line[i]:=false;
diff -ur ./utils/m-tx/mtx-src/prepmx.c ../b18/utils/m-tx/mtx-src/prepmx.c
--- ./utils/m-tx/mtx-src/prepmx.c	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/prepmx.c	2018-06-25 22:08:49.954233832 +0200
@@ -66,8 +66,8 @@
 
 /** M-Tx preprocessor to PMX     Dirk Laurie */
 
-#define version         "0.63"
-#define version_date    "<7 January 2018>"
+#define version         "0.63a"
+#define version_date    "<8 April 2018>"
 
 /** See file "Corrections" for updates */
 
@@ -758,7 +758,7 @@
 Static void topOfPMXfile(void)
 {
   Char STR2[24];
-  Char STR3[32];
+  Char STR3[30];
 
   putLine("---");
   sprintf(STR2, "\\def\\mtxversion{%s}", version);
diff -ur ./utils/m-tx/mtx-src/prepmx.pas ../b18/utils/m-tx/mtx-src/prepmx.pas
--- ./utils/m-tx/mtx-src/prepmx.pas	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/mtx-src/prepmx.pas	2018-06-25 22:08:49.954233832 +0200
@@ -5,8 +5,8 @@
 { CMO: addition/change by Christian Mondrup }
 
 {* M-Tx preprocessor to PMX     Dirk Laurie }
-const version = '0.63';
-      version_date = '<7 January 2018>';
+const version = '0.63a';
+      version_date = '<8 April 2018>';
 
 {* See file "Corrections" for updates }
 
diff -ur ./utils/m-tx/tests/mozart.pmx ../b18/utils/m-tx/tests/mozart.pmx
--- ./utils/m-tx/tests/mozart.pmx	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/tests/mozart.pmx	2018-06-25 22:08:50.059233760 +0200
@@ -1,6 +1,6 @@
 ---
-\def\mtxversion{0.63}
-\def\mtxdate{<7 January 2018>}
+\def\mtxversion{0.63a}
+\def\mtxdate{<8 April 2018>}
 \input mtx
 \mtxComposerLine{}{W. A. Mozart (1756--1791)}
 \mtxTitleLine{Riff in C}
diff -ur ./utils/m-tx/version.ac ../b18/utils/m-tx/version.ac
--- ./utils/m-tx/version.ac	2018-01-09 04:41:12.000000000 +0100
+++ ../b18/utils/m-tx/version.ac	2018-06-25 22:08:50.059233760 +0200
@@ -8,4 +8,4 @@
 dnl --------------------------------------------------------
 dnl
 dnl  m4-include this file to define the current mtx version
-m4_define([mtx_version], [0.63])
+m4_define([mtx_version], [0.63a])