summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-05-08 16:06:43 +0000
committerKarl Berry <karl@freefriends.org>2018-05-08 16:06:43 +0000
commit23b0bd5fbc5ace203cbb19e5961484354a5b5512 (patch)
treea9ff8742ab8eb49ad753fc51ee0955068d4d70da
parent28900bc247047361c2f1b47ca21af9a0a48d1dc7 (diff)
branch2018 patches for rebuild, http://tug.org/pipermail/tlbuild/2018q2/004222.html
git-svn-id: svn://tug.org/texlive/branches/branch2018@47642 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog13
-rwxr-xr-xBuild/source/texk/dvipdfm-x/configure22
-rw-r--r--Build/source/texk/dvipdfm-x/configure.ac2
-rw-r--r--Build/source/texk/dvipdfm-x/pngimage.c7
-rw-r--r--Build/source/texk/dvipdfm-x/tt_cmap.c32
-rw-r--r--Build/source/texk/web2c/ptexdir/ChangeLog13
-rw-r--r--Build/source/texk/web2c/ptexdir/kanji.c4
-rw-r--r--Build/source/texk/web2c/ptexdir/ptex-base.ch35
-rw-r--r--Build/source/texk/web2c/ptexdir/ptex_version.h2
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/free_ixsp.tex53
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/free_pena.tex52
-rw-r--r--Build/source/texk/web2c/uptexdir/kanji.c2
-rw-r--r--Build/source/utils/README2
-rw-r--r--Build/source/utils/m-tx/ChangeLog4
-rw-r--r--Build/source/utils/m-tx/TLpatches/ChangeLog4
-rw-r--r--Build/source/utils/m-tx/TLpatches/TL-Changes2
-rw-r--r--Build/source/utils/m-tx/TLpatches/patch-01-write-bin21
-rwxr-xr-xBuild/source/utils/m-tx/configure20
-rw-r--r--Build/source/utils/m-tx/mtx-src/Corrections6
-rw-r--r--Build/source/utils/m-tx/mtx-src/files.c4
-rw-r--r--Build/source/utils/m-tx/mtx-src/libp2c/p2clib.c4
-rw-r--r--Build/source/utils/m-tx/mtx-src/preamble.c4
-rw-r--r--Build/source/utils/m-tx/mtx-src/preamble.pas3
-rw-r--r--Build/source/utils/m-tx/mtx-src/prepmx.c6
-rw-r--r--Build/source/utils/m-tx/mtx-src/prepmx.pas4
-rw-r--r--Build/source/utils/m-tx/tests/mozart.pmx4
-rw-r--r--Build/source/utils/m-tx/version.ac2
27 files changed, 248 insertions, 79 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index 51326a84585..ed5a32f9a29 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -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 --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure
index 157cbb3bb30..062975689a7 100755
--- a/Build/source/texk/dvipdfm-x/configure
+++ b/Build/source/texk/dvipdfm-x/configure
@@ -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 @@ MAKEFLAGS=
# 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 @@ if test "$ac_init_help" = "long"; then
# 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 @@ fi
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 @@ fi
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 @@ cat >config.log <<_ACEOF
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 @@ fi
# Define the identity of the package.
PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20180217'
+ VERSION='20180506'
cat >>confdefs.h <<_ACEOF
@@ -14744,7 +14744,7 @@ Usage: $0 [OPTIONS]
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 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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 @@ _ACEOF
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 --git a/Build/source/texk/dvipdfm-x/configure.ac b/Build/source/texk/dvipdfm-x/configure.ac
index f3b899ad258..dde7348ac5c 100644
--- a/Build/source/texk/dvipdfm-x/configure.ac
+++ b/Build/source/texk/dvipdfm-x/configure.ac
@@ -7,7 +7,7 @@ dnl This file is free software; the copyright holder
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 --git a/Build/source/texk/dvipdfm-x/pngimage.c b/Build/source/texk/dvipdfm-x/pngimage.c
index e4152177ef2..e985b0fa85e 100644
--- a/Build/source/texk/dvipdfm-x/pngimage.c
+++ b/Build/source/texk/dvipdfm-x/pngimage.c
@@ -964,12 +964,16 @@ create_soft_mask (png_structp png_ptr, png_infop info_ptr,
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 @@ create_soft_mask (png_structp png_ptr, png_infop info_ptr,
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 --git a/Build/source/texk/dvipdfm-x/tt_cmap.c b/Build/source/texk/dvipdfm-x/tt_cmap.c
index 3ed64b681be..86689d677af 100644
--- a/Build/source/texk/dvipdfm-x/tt_cmap.c
+++ b/Build/source/texk/dvipdfm-x/tt_cmap.c
@@ -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 @@ handle_subst_glyphs (CMap *cmap,
}
#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 @@ add_to_cmap_if_used (CMap *cmap,
{
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 @@ add_to_cmap_if_used (CMap *cmap,
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 --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog
index d5a7d46f60a..a754ccc6f24 100644
--- a/Build/source/texk/web2c/ptexdir/ChangeLog
+++ b/Build/source/texk/web2c/ptexdir/ChangeLog
@@ -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 --git a/Build/source/texk/web2c/ptexdir/kanji.c b/Build/source/texk/web2c/ptexdir/kanji.c
index d7e5a3f26be..5cd9ebabe02 100644
--- a/Build/source/texk/web2c/ptexdir/kanji.c
+++ b/Build/source/texk/web2c/ptexdir/kanji.c
@@ -4,6 +4,7 @@
*/
#include "kanji.h"
+#define CS_TOKEN_FLAG 0xFFFF
#if !defined(WIN32)
int sjisterminal;
@@ -12,7 +13,8 @@ int sjisterminal;
/* 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 --git a/Build/source/texk/web2c/ptexdir/ptex-base.ch b/Build/source/texk/web2c/ptexdir/ptex-base.ch
index 1763077bac8..10b657db89e 100644
--- a/Build/source/texk/web2c/ptexdir/ptex-base.ch
+++ b/Build/source/texk/web2c/ptexdir/ptex-base.ch
@@ -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 @@ inserting a space between 2byte-char and 1byte-char.
@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 @@ var p,s:pointer;
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 @@ assign_inhibit_xsp_code:
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 @@ end;
@ @<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 @@ The \.{\\postbreakpenalty} is inserted after the 2byte-char.
@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 @@ if p+kinsoku_base<0 then
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 @@ assign_kinsoku:
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 --git a/Build/source/texk/web2c/ptexdir/ptex_version.h b/Build/source/texk/web2c/ptexdir/ptex_version.h
index ef39b9ff037..0cb61179fd4 100644
--- a/Build/source/texk/web2c/ptexdir/ptex_version.h
+++ b/Build/source/texk/web2c/ptexdir/ptex_version.h
@@ -1 +1 @@
-#define PTEX_VERSION "p3.8.0"
+#define PTEX_VERSION "p3.8.1"
diff --git a/Build/source/texk/web2c/ptexdir/tests/free_ixsp.tex b/Build/source/texk/web2c/ptexdir/tests/free_ixsp.tex
new file mode 100644
index 00000000000..9a3b2766415
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/free_ixsp.tex
@@ -0,0 +1,53 @@
+%#!eptex -ini -etex
+\let\dump\relax
+\batchmode
+\input plain
+
+\errorstopmode
+\catcode`@=11
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newcount\@tempcntc
+\mathchardef\LIM=256
+
+\def\MYCHAR#1{%
+ \@tempcntc=\numexpr7*#1+"101\relax
+ \@tempcnta=\@tempcntc\divide\@tempcnta 94
+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax
+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi
+ \advance\@tempcnta18 % 18区以降
+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax
+}
+
+\newcount\CNT\newcount\CNTA
+\CNT=0
+\loop
+ \MYCHAR\CNT
+ \message{\the\CNT.}
+ \inhibitxspcode\CNTA=1\relax
+ \advance\CNT1\relax
+ \ifnum\CNT<\LIM
+\repeat
+
+\newcount\CNTB
+
+\loop
+ \MYCHAR\CNTB
+ \global\inhibitxspcode\CNTA=3
+{%
+\CNT=0
+\loop
+ \MYCHAR\CNT
+ \count@=\numexpr 1-\inhibitxspcode\CNTA\relax
+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else
+ \errmessage{<\the\CNTB, \the\CNT, \the\inhibitxspcode\CNTA>}\fi\fi
+ \advance\CNT1\relax
+ \ifnum\CNT<\LIM
+\repeat
+}
+ \MYCHAR\CNTB
+ \global\inhibitxspcode\CNTA=1\relax
+ \advance\CNTB1\relax
+ \ifnum\CNTB<\LIM
+\repeat
+\bye
diff --git a/Build/source/texk/web2c/ptexdir/tests/free_pena.tex b/Build/source/texk/web2c/ptexdir/tests/free_pena.tex
new file mode 100644
index 00000000000..184720a80a2
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/free_pena.tex
@@ -0,0 +1,52 @@
+%#!eptex -ini -etex
+\let\dump\relax
+\batchmode
+\input plain
+
+\errorstopmode
+\catcode`@=11
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newcount\@tempcntc
+\mathchardef\LIM=256
+
+\def\MYCHAR#1{%
+ \@tempcntc=\numexpr7*#1+"101\relax
+ \@tempcnta=\@tempcntc\divide\@tempcnta 94
+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax
+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi
+ \advance\@tempcnta18 % 18区以降
+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax
+}
+
+\newcount\CNT\newcount\CNTA
+\CNT=0
+\loop
+ \MYCHAR\CNT
+ \message{\the\CNT.}
+ \prebreakpenalty\CNTA=\numexpr\CNT+1\relax
+ \advance\CNT1\relax
+ \ifnum\CNT<\LIM
+\repeat
+
+\newcount\CNTB
+
+\loop
+ \MYCHAR\CNTB
+ \global\prebreakpenalty\CNTA=0
+{%
+\CNT=0
+\loop
+ \MYCHAR\CNT
+ \count@=\numexpr -\CNT-1+\prebreakpenalty\CNTA\relax
+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else\errmessage{<\the\CNTB, \the\CNT>}\fi\fi
+ \advance\CNT1\relax
+ \ifnum\CNT<\LIM
+\repeat
+}
+ \MYCHAR\CNTB
+ \global\prebreakpenalty\CNTA=\numexpr\CNTB+1\relax
+ \advance\CNTB1\relax
+ \ifnum\CNTB<\LIM
+\repeat
+\bye
diff --git a/Build/source/texk/web2c/uptexdir/kanji.c b/Build/source/texk/web2c/uptexdir/kanji.c
index 70c2e21a2d1..dcb202089c7 100644
--- a/Build/source/texk/web2c/uptexdir/kanji.c
+++ b/Build/source/texk/web2c/uptexdir/kanji.c
@@ -18,7 +18,7 @@ int sjisterminal;
/* 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 --git a/Build/source/utils/README b/Build/source/utils/README
index 57d380dc859..a8a2fd67f0b 100644
--- a/Build/source/utils/README
+++ b/Build/source/utils/README
@@ -16,7 +16,7 @@ devnag - from devanagari package installed in texmf-dist.
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 --git a/Build/source/utils/m-tx/ChangeLog b/Build/source/utils/m-tx/ChangeLog
index 078a91cbe49..f81d8fa463a 100644
--- a/Build/source/utils/m-tx/ChangeLog
+++ b/Build/source/utils/m-tx/ChangeLog
@@ -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 --git a/Build/source/utils/m-tx/TLpatches/ChangeLog b/Build/source/utils/m-tx/TLpatches/ChangeLog
index 40217e37dcb..586afebe506 100644
--- a/Build/source/utils/m-tx/TLpatches/ChangeLog
+++ b/Build/source/utils/m-tx/TLpatches/ChangeLog
@@ -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 --git a/Build/source/utils/m-tx/TLpatches/TL-Changes b/Build/source/utils/m-tx/TLpatches/TL-Changes
index f178e27141f..8247e3c8f32 100644
--- a/Build/source/utils/m-tx/TLpatches/TL-Changes
+++ b/Build/source/utils/m-tx/TLpatches/TL-Changes
@@ -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 --git a/Build/source/utils/m-tx/TLpatches/patch-01-write-bin b/Build/source/utils/m-tx/TLpatches/patch-01-write-bin
index 5023d2009b7..222e43ba63e 100644
--- a/Build/source/utils/m-tx/TLpatches/patch-01-write-bin
+++ b/Build/source/utils/m-tx/TLpatches/patch-01-write-bin
@@ -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 --git a/Build/source/utils/m-tx/configure b/Build/source/utils/m-tx/configure
index 94d7864c7ee..a3038b0fd01 100755
--- a/Build/source/utils/m-tx/configure
+++ b/Build/source/utils/m-tx/configure
@@ -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 @@ MAKEFLAGS=
# 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 @@ if test "$ac_init_help" = "long"; then
# 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 @@ fi
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 @@ fi
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 @@ cat >config.log <<_ACEOF
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 @@ fi
# 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 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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 @@ _ACEOF
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 --git a/Build/source/utils/m-tx/mtx-src/Corrections b/Build/source/utils/m-tx/mtx-src/Corrections
index 23b6da91690..ced0da435c3 100644
--- a/Build/source/utils/m-tx/mtx-src/Corrections
+++ b/Build/source/utils/m-tx/mtx-src/Corrections
@@ -3,6 +3,12 @@ Corrections and enhancements to M-Tx starting from 0.53
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 --git a/Build/source/utils/m-tx/mtx-src/files.c b/Build/source/utils/m-tx/mtx-src/files.c
index bd080211a97..f78ba27d860 100644
--- a/Build/source/utils/m-tx/mtx-src/files.c
+++ b/Build/source/utils/m-tx/mtx-src/files.c
@@ -289,9 +289,9 @@ void OpenFiles(void)
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 --git a/Build/source/utils/m-tx/mtx-src/libp2c/p2clib.c b/Build/source/utils/m-tx/mtx-src/libp2c/p2clib.c
index 30b6c55a96f..247ddd1e634 100644
--- a/Build/source/utils/m-tx/mtx-src/libp2c/p2clib.c
+++ b/Build/source/utils/m-tx/mtx-src/libp2c/p2clib.c
@@ -73,8 +73,8 @@ register int n;
{
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 --git a/Build/source/utils/m-tx/mtx-src/preamble.c b/Build/source/utils/m-tx/mtx-src/preamble.c
index cd403bd46e5..4a7da2e5449 100644
--- a/Build/source/utils/m-tx/mtx-src/preamble.c
+++ b/Build/source/utils/m-tx/mtx-src/preamble.c
@@ -801,8 +801,8 @@ void preambleDefaults(void)
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 --git a/Build/source/utils/m-tx/mtx-src/preamble.pas b/Build/source/utils/m-tx/mtx-src/preamble.pas
index 7898864bd26..c27b9f7054f 100644
--- a/Build/source/utils/m-tx/mtx-src/preamble.pas
+++ b/Build/source/utils/m-tx/mtx-src/preamble.pas
@@ -501,7 +501,8 @@ begin
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 --git a/Build/source/utils/m-tx/mtx-src/prepmx.c b/Build/source/utils/m-tx/mtx-src/prepmx.c
index d7fc8f38161..a3d37070c27 100644
--- a/Build/source/utils/m-tx/mtx-src/prepmx.c
+++ b/Build/source/utils/m-tx/mtx-src/prepmx.c
@@ -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 boolean isControlParagraph(Char (*P)[256], paragraph_index para_len)
Static void topOfPMXfile(void)
{
Char STR2[24];
- Char STR3[32];
+ Char STR3[30];
putLine("---");
sprintf(STR2, "\\def\\mtxversion{%s}", version);
diff --git a/Build/source/utils/m-tx/mtx-src/prepmx.pas b/Build/source/utils/m-tx/mtx-src/prepmx.pas
index 4c743365964..f6b472ea6ff 100644
--- a/Build/source/utils/m-tx/mtx-src/prepmx.pas
+++ b/Build/source/utils/m-tx/mtx-src/prepmx.pas
@@ -5,8 +5,8 @@ uses control, strings, globals, preamble, lyrics, mtx, analyze,
{ 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 --git a/Build/source/utils/m-tx/tests/mozart.pmx b/Build/source/utils/m-tx/tests/mozart.pmx
index 695b691838a..32e69280be8 100644
--- a/Build/source/utils/m-tx/tests/mozart.pmx
+++ b/Build/source/utils/m-tx/tests/mozart.pmx
@@ -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 --git a/Build/source/utils/m-tx/version.ac b/Build/source/utils/m-tx/version.ac
index 61c3423259d..e8db71af403 100644
--- a/Build/source/utils/m-tx/version.ac
+++ b/Build/source/utils/m-tx/version.ac
@@ -8,4 +8,4 @@ dnl
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])