diff --git a/source/build-aux/texinfo.tex b/source/build-aux/texinfo.tex
index 54cf66787d59510ce9153e591dd3863744c19c64..370d4505084cc0afe8ae9ac191d1af630a32e828 100644
--- a/source/build-aux/texinfo.tex
+++ b/source/build-aux/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2014-11-14.07}
+\def\texinfoversion{2014-12-03.16}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -96,7 +96,9 @@
 \let\ptexraggedright=\raggedright
 \let\ptexrbrace=\}
 \let\ptexslash=\/
+\let\ptexsp=\sp
 \let\ptexstar=\*
+\let\ptexsup=\sup
 \let\ptext=\t
 \let\ptextop=\top
 {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
@@ -2081,12 +2083,9 @@ end
  \endgroup
 }
 
-
 % In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.  Since
-% texinfo doesn't allow for producing subscripts and superscripts except
-% in the main text, we don't bother to reset \scriptfont and
-% \scriptscriptfont (which would also require loading a lot more fonts).
+% we have to define the \textfont of the standard families.  We don't
+% bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
 %
 \def\resetmathfonts{%
   \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
@@ -2100,8 +2099,8 @@ end
 % \tenSTYLE to set the current font.
 %
 % Each font-changing command also sets the names \lsize (one size lower)
-% and \lllsize (three sizes lower).  These relative commands are used in
-% the LaTeX logo and acronyms.
+% and \lllsize (three sizes lower).  These relative commands are used
+% in, e.g., the LaTeX logo and acronyms.
 %
 % This all needs generalizing, badly.
 %
@@ -2842,6 +2841,8 @@ end
   \let\v=\check
   \let\~=\tilde
   \let\dotaccent=\dot
+  % have to provide another name for sup operator
+  \let\mathopsup=\sup
   $\finishmath
 }
 \def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
@@ -2865,6 +2866,18 @@ end
   }
 }
 
+% for @sub and @sup, if in math mode, just do a normal sub/superscript.
+% If in text, use math to place as sub/superscript, but switch
+% into text mode, with smaller fonts.  This is a different font than the
+% one used for real math sub/superscripts (8pt vs. 7pt), but let's not
+% fix it (significant additions to font machinery) until someone notices.
+%
+\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi}
+\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}%
+%
+\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
+\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}%
+
 % ctrl is no longer a Texinfo command, but leave this definition for fun.
 \def\ctrl #1{{\tt \rawbackslash \hat}#1}
 
@@ -6335,6 +6348,7 @@ end
   % other math active characters (just in case), to plain's definitions.
   \mathactive
   %
+  % Inverse of the list at the beginning of the file.
   \let\b=\ptexb
   \let\bullet=\ptexbullet
   \let\c=\ptexc
@@ -6350,7 +6364,9 @@ end
   \let\+=\tabalign
   \let\}=\ptexrbrace
   \let\/=\ptexslash
+  \let\sp=\ptexsp
   \let\*=\ptexstar
+  %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode
   \let\t=\ptext
   \expandafter \let\csname top\endcsname=\ptextop  % we've made it outer
   \let\frenchspacing=\plainfrenchspacing
@@ -7416,7 +7432,6 @@ end
 %
 % \anythingelse will almost certainly be an error of some kind.
 
-
 % \mbodybackslash is the definition of \ in @macro bodies.
 % It maps \foo\ => \csname macarg.foo\endcsname => #N
 % where N is the macro parameter number.
@@ -7525,8 +7540,7 @@ end
 % the catcode regime underwhich the body was input).
 %
 % If you compile with TeX (not eTeX), and you have macros with 10 or more
-% arguments, you need that no macro has more than 256 arguments, otherwise an
-% error is produced.
+% arguments, no macro can have more than 256 arguments (else error).
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
@@ -9283,6 +9297,18 @@ directory should work if nowhere else does.}
   \UTFviiiLoop
 \endgroup
 
+\def\globallet{\global\let} % save some \expandafter's below
+
+% @U{xxxx} to produce U+xxxx, if we support it.
+\def\U#1{%
+  \expandafter\ifx\csname uni:#1\endcsname \relax
+    \errhelp = \EMsimple	
+    \errmessage{Unicode character U+#1 not supported, sorry}%
+  \else
+    \csname uni:#1\endcsname
+  \fi
+}
+
 \begingroup
   \catcode`\"=12
   \catcode`\<=12
@@ -9291,7 +9317,6 @@ directory should work if nowhere else does.}
   \catcode`\;=12
   \catcode`\!=12
   \catcode`\~=13
-
   \gdef\DeclareUnicodeCharacter#1#2{%
     \countUTFz = "#1\relax
     %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
@@ -9306,6 +9331,8 @@ directory should work if nowhere else does.}
       \expandafter\expandafter\expandafter\expandafter
        \expandafter\expandafter\expandafter
        \gdef\UTFviiiTmp{#2}%
+      % define an additional control sequence for this code point.
+      \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
     \endgroup}
 
   \gdef\parseXMLCharref{%
diff --git a/source/libs/mpfr/ChangeLog b/source/libs/mpfr/ChangeLog
index 374b495ca1cd8969074cdd195341dc945bcd74cc..e421e281854521ce93f94d6e8773f0dca8e74558 100644
--- a/source/libs/mpfr/ChangeLog
+++ b/source/libs/mpfr/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-16  Peter Breitenlohner  <peb@mppmu.mpg.de>
+
+	* Makefile.am [Sparc Solaris, armel]:
+	Need to compile src/mp_clz_tab.c.
+
 2014-12-03  Peter Breitenlohner  <peb@mppmu.mpg.de>
 
 	* configure.ac: Added KPSE_COMPILER_VISIBILITY.
diff --git a/source/libs/mpfr/Makefile.am b/source/libs/mpfr/Makefile.am
index 61ebba8c38679ad4b19d5f26e895f0ff6c077ce9..45c08f82198c408ee5add22bc3e95989a938d689 100644
--- a/source/libs/mpfr/Makefile.am
+++ b/source/libs/mpfr/Makefile.am
@@ -77,8 +77,9 @@ nodist_libmpfr_a_SOURCES = \
 	@MPFR_TREE@/src/isnum.c \
 	@MPFR_TREE@/src/isqrt.c \
 	@MPFR_TREE@/src/log.c \
-	@MPFR_TREE@/src/mpn_exp.c \
 	@MPFR_TREE@/src/mpfr-gmp.c \
+	@MPFR_TREE@/src/mpn_exp.c \
+	@MPFR_TREE@/src/mp_clz_tab.c \
 	@MPFR_TREE@/src/mul.c \
 	@MPFR_TREE@/src/mul_2si.c \
 	@MPFR_TREE@/src/mul_2ui.c \
@@ -197,7 +198,6 @@ unused_sources = \
 	@MPFR_TREE@/src/min_prec.c \
 	@MPFR_TREE@/src/minmax.c \
 	@MPFR_TREE@/src/modf.c \
-	@MPFR_TREE@/src/mp_clz_tab.c \
 	@MPFR_TREE@/src/mul_2exp.c \
 	@MPFR_TREE@/src/mul_d.c \
 	@MPFR_TREE@/src/out_str.c \
diff --git a/source/libs/mpfr/Makefile.in b/source/libs/mpfr/Makefile.in
index 283171838613b3956d4719eb7538d50dd45bc25e..7fa22b89f21b5ff35903280d8519bd77774e2f9f 100644
--- a/source/libs/mpfr/Makefile.in
+++ b/source/libs/mpfr/Makefile.in
@@ -168,8 +168,9 @@ nodist_libmpfr_a_OBJECTS = @MPFR_TREE@/src/abort_prec_max.$(OBJEXT) \
 	@MPFR_TREE@/src/isinteger.$(OBJEXT) \
 	@MPFR_TREE@/src/isnum.$(OBJEXT) \
 	@MPFR_TREE@/src/isqrt.$(OBJEXT) @MPFR_TREE@/src/log.$(OBJEXT) \
-	@MPFR_TREE@/src/mpn_exp.$(OBJEXT) \
 	@MPFR_TREE@/src/mpfr-gmp.$(OBJEXT) \
+	@MPFR_TREE@/src/mpn_exp.$(OBJEXT) \
+	@MPFR_TREE@/src/mp_clz_tab.$(OBJEXT) \
 	@MPFR_TREE@/src/mul.$(OBJEXT) \
 	@MPFR_TREE@/src/mul_2si.$(OBJEXT) \
 	@MPFR_TREE@/src/mul_2ui.$(OBJEXT) \
@@ -697,8 +698,9 @@ nodist_libmpfr_a_SOURCES = \
 	@MPFR_TREE@/src/isnum.c \
 	@MPFR_TREE@/src/isqrt.c \
 	@MPFR_TREE@/src/log.c \
-	@MPFR_TREE@/src/mpn_exp.c \
 	@MPFR_TREE@/src/mpfr-gmp.c \
+	@MPFR_TREE@/src/mpn_exp.c \
+	@MPFR_TREE@/src/mp_clz_tab.c \
 	@MPFR_TREE@/src/mul.c \
 	@MPFR_TREE@/src/mul_2si.c \
 	@MPFR_TREE@/src/mul_2ui.c \
@@ -817,7 +819,6 @@ unused_sources = \
 	@MPFR_TREE@/src/min_prec.c \
 	@MPFR_TREE@/src/minmax.c \
 	@MPFR_TREE@/src/modf.c \
-	@MPFR_TREE@/src/mp_clz_tab.c \
 	@MPFR_TREE@/src/mul_2exp.c \
 	@MPFR_TREE@/src/mul_d.c \
 	@MPFR_TREE@/src/out_str.c \
@@ -1051,9 +1052,11 @@ clean-noinstLIBRARIES:
 	@MPFR_TREE@/src/$(DEPDIR)/$(am__dirstamp)
 @MPFR_TREE@/src/log.$(OBJEXT): @MPFR_TREE@/src/$(am__dirstamp) \
 	@MPFR_TREE@/src/$(DEPDIR)/$(am__dirstamp)
+@MPFR_TREE@/src/mpfr-gmp.$(OBJEXT): @MPFR_TREE@/src/$(am__dirstamp) \
+	@MPFR_TREE@/src/$(DEPDIR)/$(am__dirstamp)
 @MPFR_TREE@/src/mpn_exp.$(OBJEXT): @MPFR_TREE@/src/$(am__dirstamp) \
 	@MPFR_TREE@/src/$(DEPDIR)/$(am__dirstamp)
-@MPFR_TREE@/src/mpfr-gmp.$(OBJEXT): @MPFR_TREE@/src/$(am__dirstamp) \
+@MPFR_TREE@/src/mp_clz_tab.$(OBJEXT): @MPFR_TREE@/src/$(am__dirstamp) \
 	@MPFR_TREE@/src/$(DEPDIR)/$(am__dirstamp)
 @MPFR_TREE@/src/mul.$(OBJEXT): @MPFR_TREE@/src/$(am__dirstamp) \
 	@MPFR_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@@ -1218,6 +1221,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/isnum.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/isqrt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/log.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/mp_clz_tab.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/mpfr-gmp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/mpn_exp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@@MPFR_TREE@/src/$(DEPDIR)/mul.Po@am__quote@
diff --git a/source/m4/ChangeLog b/source/m4/ChangeLog
index bf616b32a8d85d1f384a0011c8d524d58ac4e6b1..dccc3008adc963d6c9d8f2943876fd2371014791 100644
--- a/source/m4/ChangeLog
+++ b/source/m4/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-06  Peter Breitenlohner  <peb@mppmu.mpg.de>
+
+	* kpse-pkgs.m4 (kpse_texk_pkgs): Rename ps2pkm => ps2pk.
+
 2014-12-06  Peter Breitenlohner  <peb@mppmu.mpg.de>
 
 	* kpse-options.m4: Set platform name to ${host_alias-$host}.
diff --git a/source/m4/kpse-pkgs.m4 b/source/m4/kpse-pkgs.m4
index 5c75187325233e8b6b9f13d1d37814e9d07be772..cd6377e53ea3c762064c14751c01ec13c833d5ef 100644
--- a/source/m4/kpse-pkgs.m4
+++ b/source/m4/kpse-pkgs.m4
@@ -119,7 +119,7 @@ lcdf-typetools
 makeindexk
 makejvf
 mendexk
-ps2pkm
+ps2pk
 psutils
 seetexk
 tex4htk
diff --git a/source/texk/README b/source/texk/README
index 912be8e234f0ac0411c7ac652a401c59fc3d4596..1f23ede752a764136826128628bba092813657ba 100644
--- a/source/texk/README
+++ b/source/texk/README
@@ -1,4 +1,4 @@
-$Id: README 35661 2014-11-25 08:47:42Z peter $
+$Id: README 35838 2014-12-16 08:47:28Z peter $
 Copyright 2006-2012 TeX Users Group.
 You may freely use, modify and/or distribute this file.
 
@@ -80,7 +80,7 @@ makejvf - ?
 
 mendexk - maintained here, by us (akira et al.)
 
-ps2pkm - ?
+ps2pk - maintained here, by us
 
 psutils 1.23 - checked 16jan14
   https://github.com/rrthomas/psutils/archive/v1.23.tar.gz
diff --git a/source/texk/kpathsea/ChangeLog b/source/texk/kpathsea/ChangeLog
index 8e8bc495d171bc36f1fc6ad2540eb96e46862cce..bde213e16db49155277fa708b53eb6ae1261fb32 100644
--- a/source/texk/kpathsea/ChangeLog
+++ b/source/texk/kpathsea/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-13  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>
+
+	* texmf.cnf: Sync with master which is changed by Norbert.
+
 2014-12-06  Peter Breitenlohner  <peb@mppmu.mpg.de>
 
 	* Makefile.am [kpathsea.h]: Improved output for silent rules.
diff --git a/source/texk/kpathsea/Makefile.in b/source/texk/kpathsea/Makefile.in
index 6d82eb5f3fdc6d553891d0cc9bbc006307d2850f..159bf11e7bd1e0b7c9593f9606f72e33e4efff3f 100644
--- a/source/texk/kpathsea/Makefile.in
+++ b/source/texk/kpathsea/Makefile.in
@@ -110,8 +110,8 @@ DIST_COMMON = $(top_srcdir)/../../am/bin_links.am \
 	$(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am $(top_srcdir)/configure \
 	$(am__configure_deps) $(srcdir)/c-auto.in \
-	$(srcdir)/kpathsea.pc.in putenv.c strstr.c strtol.c \
-	strcasecmp.c $(dist_noinst_SCRIPTS) $(dist_web2c_SCRIPTS) \
+	$(srcdir)/kpathsea.pc.in strstr.c strcasecmp.c strtol.c \
+	putenv.c $(dist_noinst_SCRIPTS) $(dist_web2c_SCRIPTS) \
 	$(top_srcdir)/../../build-aux/depcomp $(dist_noinst_DATA) \
 	$(dist_web2c_DATA) $(kpseinclude_HEADERS) $(noinst_HEADERS) \
 	$(top_srcdir)/../../build-aux/test-driver AUTHORS ChangeLog \
diff --git a/source/texk/kpathsea/texmf.cnf b/source/texk/kpathsea/texmf.cnf
index f75f4651405afb1468d32022bdcda2105b5724e2..3951d211b9ebe3f20b5cb58342c3df8b222ae004 100644
--- a/source/texk/kpathsea/texmf.cnf
+++ b/source/texk/kpathsea/texmf.cnf
@@ -217,7 +217,11 @@ TEXINPUTS.platex        = .;$TEXMF/tex/{platex,latex,generic,}//
 TEXINPUTS.eptex         = .;$TEXMF/tex/{ptex,plain,generic,}//
 TEX.pmpost = eptex
 
-% (e)up(La)TeX, and for upmpost.
+% p(La)TeX-ng
+TEXINPUTS.ptex-ng   = .;$TEXMF/tex/{uptex,ptex,plain,generic,}//
+TEXINPUTS.platex-ng = .;$TEXMF/tex/{uplatex,platex,latex,generic,}//
+
+% (e)up(La)TeX, and for upmpost
 TEXINPUTS.uplatex = .;$TEXMF/tex/{uplatex,platex,latex,generic,}//
 TEXINPUTS.uptex   = .;$TEXMF/tex/{uptex,ptex,plain,generic,}//
 TEXINPUTS.euptex  = .;$TEXMF/tex/{uptex,ptex,plain,generic}//