texlive[68332] Build/source/texk/web2c: [e][u]ptexdir: tests

commits+hironobu at tug.org commits+hironobu at tug.org
Thu Sep 21 13:12:26 CEST 2023


Revision: 68332
          https://tug.org/svn/texlive?view=revision&revision=68332
Author:   hironobu
Date:     2023-09-21 13:12:26 +0200 (Thu, 21 Sep 2023)
Log Message:
-----------
[e][u]ptexdir: tests

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/Makefile.in
    trunk/Build/source/texk/web2c/eptexdir/am/eptex.am
    trunk/Build/source/texk/web2c/euptexdir/am/euptex.am
    trunk/Build/source/texk/web2c/ptexdir/am/ptex.am
    trunk/Build/source/texk/web2c/uptexdir/ChangeLog
    trunk/Build/source/texk/web2c/uptexdir/am/uptex.am
    trunk/Build/source/texk/web2c/uptexdir/tests/unibib.bbl
    trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch

Added Paths:
-----------
    trunk/Build/source/texk/web2c/euptexdir/upkcat.test
    trunk/Build/source/texk/web2c/uptexdir/tests/jplain.bst
    trunk/Build/source/texk/web2c/uptexdir/unibib.test

Modified: trunk/Build/source/texk/web2c/Makefile.in
===================================================================
--- trunk/Build/source/texk/web2c/Makefile.in	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/Makefile.in	2023-09-21 11:12:26 UTC (rev 68332)
@@ -4408,7 +4408,11 @@
 
 # pTeX Tests
 #
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test ptexdir/wcfname.test
+ptex_tests = \
+	ptexdir/ptriptest.test \
+	ptexdir/pver.test \
+	ptexdir/wcfname.test
+
 eptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/libmd5 \
 	$(ZLIB_INCLUDES) $(am__append_138)
 
@@ -4453,7 +4457,12 @@
 
 # e-pTeX Tests
 #
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test eptexdir/wcfname.test
+eptex_tests = \
+	eptexdir/eptriptest.test \
+	eptexdir/pdfprimitive.test \
+	eptexdir/epver.test \
+	eptexdir/wcfname.test
+
 uptex_cppflags = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) $(ZLIB_INCLUDES)
 uptex_ldadd = libukanji.a $(pproglib) $(PTEXENC_LIBS) $(LDADD) $(ZLIB_LIBS)
 uptex_dependencies = libukanji.a $(pproglib) $(PTEXENC_DEPEND) $(ZLIB_DEPEND) $(default_dependencies)
@@ -4511,7 +4520,8 @@
 # upTeX Tests
 uptex_tests = \
 	uptexdir/uptriptest.test uptexdir/ptriptest.test \
-	uptexdir/upver.test uptexdir/upkcat.test \
+	uptexdir/upver.test \
+	uptexdir/upkcat.test \
 	uptexdir/wcfname.test uptexdir/wcfname0.test
 
 # uppPLtoTF/upTFtoPL
@@ -4519,7 +4529,7 @@
 	uptexdir/uppltotf.test uptexdir/uptftopl.test \
 	uptexdir/upbibtex-openout-test.pl \
 	uptexdir/upbibtex-longline-test.pl uptexdir/upbibtex-mem.test \
-	uptexdir/nissya.test uptexdir/sample.test \
+	uptexdir/nissya.test uptexdir/unibib.test uptexdir/sample.test \
 	uptexdir/yokotate.test uptexdir/skipjfmp.test \
 	uptexdir/newjfm.test uptexdir/uparse.test uptexdir/gkhuge.test \
 	uptexdir/gk256.test
@@ -4572,8 +4582,14 @@
 
 # e-upTeX Tests
 #
-euptex_tests = euptexdir/euptriptest.test euptexdir/eptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test euptexdir/wcfname.test euptexdir/wcfname0.test
+euptex_tests = \
+	euptexdir/euptriptest.test euptexdir/eptriptest.test \
+	euptexdir/pdfprimitive.test \
+	euptexdir/eupver.test \
+	euptexdir/upkcat.test \
+	euptexdir/wcfname.test euptexdir/wcfname0.test
 
+
 # At the moment, these are the only man pages handled in the
 # conglomerated web2c/Makefile[.am]. (All the others are in man/.)
 # If that changes, have to set at top level and use +=.
@@ -22073,14 +22089,17 @@
 	$(up_tangle) uptftopl uptftopl
 uptftopl.web: tie$(EXEEXT) tftopl.web tftopl.ch
 	$(tie_m) tftopl.web tftopl.ch
-uptexdir/uptriptest.log uptexdir/ptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-uptexdir/upver.log uptexdir/upkcat.log uptexdir/wcfname.log uptexdir/wcfname0.log: uptex$(EXEEXT)
+uptexdir/uptriptest.log uptexdir/ptriptest.log: \
+	uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
+uptexdir/upver.log uptexdir/upkcat.log \
+	uptexdir/wcfname.log uptexdir/wcfname0.log: uptex$(EXEEXT)
 uptexdir/upbibtex.log: upbibtex$(EXEEXT)
 uptexdir/updvitype.log: updvitype$(EXEEXT)
 uptexdir/uppltotf.log: uppltotf$(EXEEXT)
 uptexdir/uptftopl.log: uptftopl$(EXEEXT)
 uptexdir/upbibtex-openout-test.log uptexdir/upbibtex-longline-test.log \
-	uptexdir/upbibtex-mem.log uptexdir/nissya.log: upbibtex$(EXEEXT)
+	uptexdir/upbibtex-mem.log uptexdir/nissya.log \
+	uptexdir/unibib.log: upbibtex$(EXEEXT)
 uptexdir/sample.log: updvitype$(EXEEXT)
 uptexdir/yokotate.log uptexdir/skipjfmp.log \
 	uptexdir/newjfm.log uptexdir/uparse.log \
@@ -22115,9 +22134,11 @@
 # Generate euptex.ch
 euptex.ch: tie$(EXEEXT) euptex.web $(euptex_ch_srcs)
 	$(tie_c) euptex.web $(euptex_ch_srcs)
-euptexdir/euptriptest.log euptexdir/eptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
+euptexdir/euptriptest.log euptexdir/eptriptest.log: \
+	euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
 euptexdir/pdfprimitive.log: euptex$(EXEEXT)
-euptexdir/eupver.log euptexdir/wcfname.log euptexdir/wcfname0.log: euptex$(EXEEXT)
+euptexdir/eupver.log euptexdir/upkcat.log \
+	euptexdir/wcfname.log euptexdir/wcfname0.log: euptex$(EXEEXT)
 euptrip.diffs: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
 	$(triptrap_diffs) $@
 .PHONY: euptrip-clean

Modified: trunk/Build/source/texk/web2c/eptexdir/am/eptex.am
===================================================================
--- trunk/Build/source/texk/web2c/eptexdir/am/eptex.am	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/eptexdir/am/eptex.am	2023-09-21 11:12:26 UTC (rev 68332)
@@ -92,7 +92,11 @@
 
 # e-pTeX Tests
 #
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test eptexdir/wcfname.test
+eptex_tests = \
+	eptexdir/eptriptest.test \
+	eptexdir/pdfprimitive.test \
+	eptexdir/epver.test \
+	eptexdir/wcfname.test
 eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
 eptexdir/pdfprimitive.log: eptex$(EXEEXT)
 eptexdir/epver.log eptexdir/wcfname.log: eptex$(EXEEXT)

Modified: trunk/Build/source/texk/web2c/euptexdir/am/euptex.am
===================================================================
--- trunk/Build/source/texk/web2c/euptexdir/am/euptex.am	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/euptexdir/am/euptex.am	2023-09-21 11:12:26 UTC (rev 68332)
@@ -93,10 +93,17 @@
 
 # e-upTeX Tests
 #
-euptex_tests = euptexdir/euptriptest.test euptexdir/eptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test euptexdir/wcfname.test euptexdir/wcfname0.test
-euptexdir/euptriptest.log euptexdir/eptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
+euptex_tests = \
+	euptexdir/euptriptest.test euptexdir/eptriptest.test \
+	euptexdir/pdfprimitive.test \
+	euptexdir/eupver.test \
+	euptexdir/upkcat.test \
+	euptexdir/wcfname.test euptexdir/wcfname0.test
+euptexdir/euptriptest.log euptexdir/eptriptest.log: \
+	euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
 euptexdir/pdfprimitive.log: euptex$(EXEEXT)
-euptexdir/eupver.log euptexdir/wcfname.log euptexdir/wcfname0.log: euptex$(EXEEXT)
+euptexdir/eupver.log euptexdir/upkcat.log \
+	euptexdir/wcfname.log euptexdir/wcfname0.log: euptex$(EXEEXT)
 
 EXTRA_DIST += $(euptex_tests)
 

Added: trunk/Build/source/texk/web2c/euptexdir/upkcat.test
===================================================================
--- trunk/Build/source/texk/web2c/euptexdir/upkcat.test	                        (rev 0)
+++ trunk/Build/source/texk/web2c/euptexdir/upkcat.test	2023-09-21 11:12:26 UTC (rev 68332)
@@ -0,0 +1,19 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2022 TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
+# You may freely use, modify and/or distribute this file.
+
+BinDir=${BinDir:-.}
+ExeExt=${ExeExt:-}
+_euptex=$BinDir/euptex$ExeExt
+
+LC_ALL=C; export LC_ALL;  LANGUAGE=C; export LANGUAGE
+
+TEXMFCNF=$srcdir/../kpathsea; export TEXMFCNF
+TEXINPUTS="$srcdir/uptexdir/tests;."; export TEXINPUTS
+
+$_euptex -ini -etex -interaction batchmode -jobname upkcat-log kcat.tex || exit 1
+grep '::' upkcat-log.log > upkcat-log_ed.log \
+  && diff upkcat-log_ed.log $srcdir/uptexdir/tests/upkcat.txt || exit 2
+
+exit 0


Property changes on: trunk/Build/source/texk/web2c/euptexdir/upkcat.test
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Build/source/texk/web2c/ptexdir/am/ptex.am
===================================================================
--- trunk/Build/source/texk/web2c/ptexdir/am/ptex.am	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/ptexdir/am/ptex.am	2023-09-21 11:12:26 UTC (rev 68332)
@@ -102,7 +102,10 @@
 
 # pTeX Tests
 #
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test ptexdir/wcfname.test
+ptex_tests = \
+	ptexdir/ptriptest.test \
+	ptexdir/pver.test \
+	ptexdir/wcfname.test
 ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
 ptexdir/pver.log ptexdir/wcfname.log: ptex$(EXEEXT)
 
@@ -125,8 +128,10 @@
 EXTRA_DIST += ptexdir/tests/nissya.bst ptexdir/tests/sample.bib
 DISTCLEANFILES += ptests/nissya_bib.*
 ## ptexdir/pbibtex.test
-EXTRA_DIST += tests/testfield.bst tests/enc-asc.bib tests/enc-jis.bib tests/enc-sjis.bib \
-	tests/enc-euc.bib tests/enc-utf8.bib tests/enc-utf8a.bib tests/enc-utf8b.bib \
+EXTRA_DIST += tests/testfield.bst \
+	tests/enc-asc.bib tests/enc-jis.bib tests/enc-sjis.bib \
+	tests/enc-euc.bib tests/enc-utf8.bib \
+	tests/enc-utf8a.bib tests/enc-utf8b.bib \
 	tests/enc-amb0.bib tests/enc-amb1.bib tests/enc-amb2.bib \
 	tests/enc.aux tests/enc-e.aux tests/enc-s.aux tests/enc-u.aux \
 	tests/enc-p.bbl tests/enc-ep.bbl tests/enc-sp.bbl tests/enc-up.bbl

Modified: trunk/Build/source/texk/web2c/uptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/ChangeLog	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/uptexdir/ChangeLog	2023-09-21 11:12:26 UTC (rev 68332)
@@ -1,3 +1,8 @@
+2023-09-21  Hironobu Yamashita  <h.y.acetaminophen at gmail.com>
+
+	* uptex-m.ch: Clean up changes on 2023-09-03.
+	* unibib.test: New test for upbibtex.
+
 2023-09-17  Hironobu Yamashita  <h.y.acetaminophen at gmail.com>
 
 	* uppltotf.ch, uptftopl.ch: Version p230917.

Modified: trunk/Build/source/texk/web2c/uptexdir/am/uptex.am
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/am/uptex.am	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/uptexdir/am/uptex.am	2023-09-21 11:12:26 UTC (rev 68332)
@@ -167,10 +167,13 @@
 # upTeX Tests
 uptex_tests = \
 	uptexdir/uptriptest.test uptexdir/ptriptest.test \
-	uptexdir/upver.test uptexdir/upkcat.test \
+	uptexdir/upver.test \
+	uptexdir/upkcat.test \
 	uptexdir/wcfname.test uptexdir/wcfname0.test
-uptexdir/uptriptest.log uptexdir/ptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-uptexdir/upver.log uptexdir/upkcat.log uptexdir/wcfname.log uptexdir/wcfname0.log: uptex$(EXEEXT)
+uptexdir/uptriptest.log uptexdir/ptriptest.log: \
+	uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
+uptexdir/upver.log uptexdir/upkcat.log \
+	uptexdir/wcfname.log uptexdir/wcfname0.log: uptex$(EXEEXT)
 upweb_tests = \
 	uptexdir/upbibtex.test \
 	uptexdir/updvitype.test \
@@ -179,7 +182,8 @@
 ## upBibTeX
 upweb_tests += \
 	uptexdir/upbibtex-openout-test.pl uptexdir/upbibtex-longline-test.pl \
-	uptexdir/upbibtex-mem.test uptexdir/nissya.test
+	uptexdir/upbibtex-mem.test uptexdir/nissya.test \
+	uptexdir/unibib.test
 ## upDviType
 upweb_tests += \
 	uptexdir/sample.test
@@ -193,7 +197,8 @@
 uptexdir/uppltotf.log: uppltotf$(EXEEXT)
 uptexdir/uptftopl.log: uptftopl$(EXEEXT)
 uptexdir/upbibtex-openout-test.log uptexdir/upbibtex-longline-test.log \
-	uptexdir/upbibtex-mem.log uptexdir/nissya.log: upbibtex$(EXEEXT)
+	uptexdir/upbibtex-mem.log uptexdir/nissya.log \
+	uptexdir/unibib.log: upbibtex$(EXEEXT)
 uptexdir/sample.log: updvitype$(EXEEXT)
 uptexdir/yokotate.log uptexdir/skipjfmp.log \
 	uptexdir/newjfm.log uptexdir/uparse.log \

Added: trunk/Build/source/texk/web2c/uptexdir/tests/jplain.bst
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/tests/jplain.bst	                        (rev 0)
+++ trunk/Build/source/texk/web2c/uptexdir/tests/jplain.bst	2023-09-21 11:12:26 UTC (rev 68332)
@@ -0,0 +1,1385 @@
+	% version 0.30 for JBibTeX versions 0.30 or later, LaTeX version 2.09.
+	% Copyright (C) 1990, all rights reserved.
+	%
+	% This file is derived from btxbst.doc of BibTeX 0.99c
+	%
+	% Copying of this file is authorized only if either
+	% (1) you make absolutely no changes to your copy, including name, or
+	% (2) if you do make changes, you name it something other than
+	% jbtxbst.doc, jplain.bst, junsrt.bst, jalpha.bst, jabbrv.bst,
+	% tipsj.bst, jipsj.bst, tieice.bst, jname.bst, jorsj.bst
+	%
+	% This restriction helps ensure that all standard styles are identical.
+	% The file jbtxbst.doc has the documentation for this style.
+	%
+	% Please notify Shouichi MATSUI(matsui at denken.or.jp) of any bugs in
+	% these standard styles or in this documentation file.
+	% 松井 正一  (財) 電力中央研究所 情報システム部
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ENTRY
+  { address
+    author
+    booktitle
+    chapter
+    edition
+    editor
+    howpublished
+    institution
+    journal
+    key
+    month
+    note
+    number
+    organization
+    pages
+    publisher
+    school
+    series
+    title
+    type
+    volume
+    year
+    yomi
+  }
+  {is.kanji.entry}
+
+  { label }
+
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
+
+}
+STRINGS { s t }
+
+
+FUNCTION {output.nonnull}
+{ 's :=
+  output.state mid.sentence =
+
+    { ", " * write$ }
+
+    { output.state after.block =
+	{ 
+
+          add.period$ write$
+
+	  newline$
+	  "\newblock " write$
+	}
+
+	{ output.state before.all =
+	    'write$
+
+	    { add.period$ " " * write$ }
+
+	  if$
+	}
+
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+FUNCTION {output.check}
+{ 't :=
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
+FUNCTION {output.bibitem}
+{ newline$
+
+  "\bibitem{" write$
+
+  cite$ write$
+  "}" write$
+  newline$
+  ""
+  before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ 
+
+  add.period$
+
+  write$
+  newline$
+}
+FUNCTION {new.block}
+{ output.state before.all =
+
+    'skip$
+    { after.block 'output.state := }
+
+  if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+	'skip$
+	{ after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { duplicate$ is.kanji.str$
+	'skip$
+	{ "{\em " swap$ * "}" * }
+      if$
+    }
+  if$
+}
+
+INTEGERS { nameptr namesleft numnames }
+FUNCTION {format.names}
+{ 's :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+
+    { s nameptr "{ff}{ll}" format.name$ is.kanji.str$
+	{s nameptr "{ff}{ll}" format.name$ 't :=}
+ 	{s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=}
+      if$
+
+      nameptr #1 >
+	{ namesleft #1 >
+
+	    {", " * t * }
+
+
+	    { t "others" =
+
+ 		{ s is.kanji.str$
+
+ 			{"ほか" * }
+
+
+ 			{", et~al." * }
+
+ 		  if$
+ 		}
+ 		{ s is.kanji.str$
+
+ 		    {", " * t * }
+
+
+
+		    { numnames #2 =
+ 			{" and " * t * }
+ 			{", and " * t * }
+		      if$
+		    }
+
+
+ 		   if$
+ 		}
+	      if$
+	    }
+	  if$
+	}
+	't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+FUNCTION {format.authors}
+{ author empty$
+    { "" }
+
+    { author format.names }
+
+  if$
+}
+FUNCTION {format.editors}
+{ editor empty$
+    { "" }
+
+    { editor format.names
+
+      editor num.names$ #1 >
+ 	{ editor is.kanji.str$
+
+ 		{"(編)" * } {", editors" * } if$
+
+ 	}
+ 	{ editor is.kanji.str$
+
+ 		{"(編)" *} {", editor" * } if$
+
+ 	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.title}
+
+{ title empty$
+
+    { "" }
+
+
+    { title "t" change.case$ }
+
+
+  if$
+}
+FUNCTION {n.dashify}
+{ 't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+	{ t #1 #2 substring$ "--" = not
+	    { "--" *
+	      t #2 global.max$ substring$ 't :=
+	    }
+	    {   { t #1 #1 substring$ "-" = }
+		{ "-" *
+		  t #2 global.max$ substring$ 't :=
+		}
+	      while$
+	    }
+	  if$
+	}
+	{ t #1 #1 substring$ *
+	  t #2 global.max$ substring$ 't :=
+	}
+      if$
+    }
+  while$
+}
+FUNCTION {format.date}
+
+{ year empty$
+    { month empty$
+	{ "" }
+	{ "there's a month but no year in " cite$ * warning$
+	  month
+	}
+      if$
+    }
+    { month empty$
+	'year
+	{ month " " * year * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.btitle}
+
+{ title emphasize
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$ * *
+}
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+    { "" }
+    { volume is.kanji.str$
+	{ volume }
+	{ is.kanji.entry
+	    {"第" volume * "巻" *}
+	    {"Vol." volume tie.or.space.connect}
+	  if$
+	}
+      if$
+      series empty$
+	'skip$
+	{ series is.kanji.str$
+	    { volume empty$
+		{series swap$ * }
+
+		{series ", " * swap$ * }
+
+	      if$
+	    }
+	    { " of " * series emphasize * }
+	  if$
+	}
+      if$
+      "volume and number" number either.or.check
+    }
+  if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+	{ series field.or.null }
+	{ number is.kanji.str$ 
+	    { number }
+	    {"No." number tie.or.space.connect}
+	  if$
+	  series empty$
+	    { "there's a number but no series in " cite$ * warning$ }
+	    { series is.kanji.str$
+
+	        { series ", " * swap$ * }
+
+	        { " in " * series * }
+	      if$
+	    }
+	  if$
+	}
+      if$
+    }
+    { "" }
+  if$
+}
+FUNCTION {format.edition}
+{ edition empty$
+    { "" }
+    { edition is.kanji.str$
+	{ edition }
+        { is.kanji.entry
+	    {"第" edition * "版" *}
+	    { output.state mid.sentence =
+	      { edition "l" change.case$ " edition" * }
+	      { edition "t" change.case$ " edition" * }
+              if$
+	    }
+	  if$
+        }
+      if$
+    }
+  if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+	{ #1 'multiresult := }
+	{ t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+FUNCTION {format.pages}
+{ pages empty$
+    { "" }
+    { pages multi.page.check
+
+ 	{ "pp." pages n.dashify tie.or.space.connect }
+	{ "p." pages tie.or.space.connect }
+
+      if$
+    }
+  if$
+}
+
+
+FUNCTION {format.vol.num.pages}
+{ volume empty$
+     {""}
+
+
+     { volume is.kanji.str$
+        {volume  ", " * }
+        {"Vol." volume tie.or.space.connect ", " * }
+       if$
+     }
+
+
+  if$
+  number empty$
+    'skip$
+
+    { number is.kanji.str$
+        {number *}
+        {"No." number tie.or.space.connect *}
+      if$
+
+      volume empty$
+	{ "there's a number but no volume in " cite$ * warning$ }
+	'skip$
+      if$
+    }
+  if$
+  pages empty$
+    'skip$
+    { duplicate$ empty$
+	{ pop$ format.pages }
+	{ number empty$
+
+ 	    { format.pages * }
+ 	    { ", " * format.pages * }
+
+	  if$
+	}
+      if$
+    }
+  if$
+}
+
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    'format.pages
+    { type empty$
+	{ chapter is.kanji.str$
+	    { "" }
+	    { is.kanji.entry
+		{"章"}
+		{"chapter"}
+	      if$
+	    }
+	  if$
+	}
+	{ type "l" change.case$ }
+      if$
+      chapter is.kanji.str$ not is.kanji.entry and
+          {"第" chapter * swap$ *}
+          { chapter is.kanji.str$
+		{chapter *}
+		{chapter tie.or.space.connect}
+	    if$
+	  }
+      if$
+      pages empty$
+	'skip$
+
+	{ ", " * format.pages * }
+
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+    { "" }
+    { editor empty$
+ 	{ booktitle is.kanji.str$
+ 	    { " " booktitle emphasize * }
+
+ 	    { "In " booktitle emphasize * }
+
+ 	  if$
+ 	}
+ 	{ booktitle is.kanji.str$
+
+ 	    { " " format.editors * ", " * booktitle * }
+
+
+ 	    { "In " format.editors * ", " * booktitle emphasize * }
+
+ 	  if$
+ 	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+
+  key empty$ not and
+
+    { "all relevant fields are empty in " cite$ * warning$ }
+    'skip$
+  if$
+}
+FUNCTION {format.thesis.type}
+{ type empty$
+    'skip$
+    { pop$
+      type "t" change.case$
+    }
+  if$
+}
+FUNCTION {format.tr.number}
+{ type empty$
+    { "Technical Report" }
+    'type
+  if$
+  number empty$
+    { "t" change.case$ }
+    { number tie.or.space.connect }
+  if$
+}
+FUNCTION {format.article.crossref}
+{ key empty$
+    { journal empty$
+	{ "need key or journal for " cite$ * " to crossref " * crossref *
+	  warning$
+	  ""
+	}
+ 	{ title is.kanji.str$
+ 	    { " " journal *  }
+
+  	    { "In {\em " journal * "\/}" * }
+
+          if$
+	}
+      if$
+    }
+    { title is.kanji.str$
+ 	{ " " key * }
+
+  	{ "In " key * }
+
+      if$
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor is.kanji.str$
+
+     {editor #1 "{ff}" format.name$ duplicate$
+
+      empty$
+ 	{pop$ editor #1 "{ll}" format.name$}
+ 	'skip$
+      if$
+      }
+
+      {editor #1 "{vv~}{ll}" format.name$}
+
+  if$
+  editor num.names$ duplicate$
+  #2 >
+    { editor is.kanji.str$
+
+	  {pop$ "ほか" *} {pop$ ", et~al." * } if$
+
+    }
+    { #2 <
+	'skip$
+
+	{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+
+ 	    { editor is.kanji.str$
+
+ 		{"ほか" *} {", et~al." * } if$
+
+ 	    }
+ 	    { editor is.kanji.str$
+ 		{
+
+		  ", " *
+
+ 		   editor #2 "{ff}" format.name$ duplicate$
+ 		   empty$
+ 			{pop$ editor #2 "{ll}" format.name$}
+ 			'skip$
+ 		   if$
+ 		 *
+ 		}
+ 		{" and " * editor #2 "{vv~}{ll}" format.name$ * }
+ 	      if$
+ 	    }
+	  if$
+	}
+      if$
+    }
+  if$
+}
+FUNCTION {format.book.crossref}
+{ volume empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+       title is.kanji.str$
+
+ 	{"  "} {"In "} if$
+
+    }
+    { volume is.kanji.str$
+	{ volume }
+	{ is.kanji.entry
+	    {"第" volume * "巻" *}
+	    {"Vol." volume tie.or.space.connect " of " *  }
+	  if$
+	}
+      if$
+    }
+  if$
+  editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+	{ series empty$
+	    { "need editor, key, or series for " cite$ * " to crossref " *
+	      crossref * warning$
+	      "" *
+	    }
+
+	    { series is.kanji.str$
+
+		{ series ", " * swap$ * }
+
+	        { "{\em " * series * "\/}" * }
+	      if$
+	    }
+
+	  if$
+	}
+	{ key * }
+      if$
+    }
+    { format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+	{ booktitle empty$
+	    { "need editor, key, or booktitle for " cite$ * " to crossref " *
+	      crossref * warning$
+	      ""
+	    }
+ 	    { booktitle is.kanji.str$
+ 		{ booktitle }
+
+ 		{"In {\em " booktitle * "\/}" * }
+
+ 	       if$
+ 	    }
+	  if$
+	}
+
+	{ "In " key * }
+
+      if$
+    }
+    { title is.kanji.str$
+ 	{" " format.crossref.editor * }
+
+ 	{"In " format.crossref.editor * }
+
+      if$
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+FUNCTION {article}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { journal emphasize "journal" output.check
+
+      format.vol.num.pages output
+      format.date "year" output.check
+
+}
+    { format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {book}
+{ output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check }
+    { format.authors output.nonnull
+      crossref missing$
+	{ "author and editor" editor either.or.check }
+	'skip$
+      if$
+    }
+  if$
+  new.block
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+      new.block
+      format.number.series output
+
+      new.sentence
+
+      publisher "publisher" output.check
+      address output
+    }
+    { new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+
+  format.date "year" output.check
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+  format.authors output
+  new.block
+  format.title "title" output.check
+  howpublished address new.block.checkb
+  howpublished output
+  address output
+  format.date output
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {inbook}
+{ output.bibitem
+  author empty$
+    { format.editors "author and editor" output.check }
+    { format.authors output.nonnull
+      crossref missing$
+	{ "author and editor" editor either.or.check }
+	'skip$
+      if$
+    }
+  if$
+  new.block
+  format.btitle "title" output.check
+  crossref missing$
+    { format.bvolume output
+
+      format.chapter.pages "chapter and pages" output.check
+
+      new.block
+      format.number.series output
+
+      new.sentence
+
+      publisher "publisher" output.check
+      address output
+    }
+
+    { format.chapter.pages "chapter and pages" output.check
+
+      new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date "year" output.check
+
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {incollection}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+
+
+      format.chapter.pages output
+
+
+
+      new.sentence
+
+      publisher "publisher" output.check
+      address output
+      format.edition output
+
+      format.date "year" output.check
+
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  crossref missing$
+    { format.in.ed.booktitle "booktitle" output.check
+      format.bvolume output
+      format.number.series output
+
+
+      format.pages output
+
+
+
+      address empty$
+	{ organization publisher new.sentence.checkb
+
+	  organization output
+
+	  publisher output
+
+	  format.date "year" output.check
+
+	}
+	{ address output.nonnull
+
+	  format.date "year" output.check
+
+
+	  new.sentence
+
+	  organization output
+
+	  publisher output
+
+	}
+      if$
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.pages output
+    }
+  if$
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  author empty$
+    { organization empty$
+	'skip$
+	{ organization output.nonnull
+	  address output
+	}
+      if$
+    }
+    { format.authors output.nonnull }
+  if$
+  new.block
+  format.btitle "title" output.check
+  author empty$
+    { organization empty$
+	{ address new.block.checka
+	  address output
+	}
+	'skip$
+      if$
+    }
+    { organization address new.block.checkb
+      organization output
+      address output
+    }
+  if$
+  format.edition output
+  format.date output
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {mastersthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  "Master's thesis" format.thesis.type output.nonnull
+  school "school" output.check
+  address output
+  format.date "year" output.check
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {misc}
+{ output.bibitem
+  format.authors output
+  title howpublished new.block.checkb
+  format.title output
+  howpublished new.block.checka
+  howpublished output
+  format.date output
+
+  new.block
+  note output
+  fin.entry
+  empty.misc.check
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.btitle "title" output.check
+  new.block
+  "PhD thesis" format.thesis.type output.nonnull
+  school "school" output.check
+  address output
+  format.date "year" output.check
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {proceedings}
+{ output.bibitem
+  editor empty$
+    { organization output }
+    { format.editors output.nonnull }
+  if$
+  new.block
+  format.btitle "title" output.check
+  format.bvolume output
+  format.number.series output
+  address empty$
+    { editor empty$
+	{ publisher new.sentence.checka }
+	{ organization publisher new.sentence.checkb
+	  organization output
+	}
+      if$
+      publisher output
+      format.date "year" output.check
+
+    }
+    { address output.nonnull
+      format.date "year" output.check
+
+
+      new.sentence
+
+      editor empty$
+	'skip$
+	{ organization output }
+      if$
+      publisher output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {techreport}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  format.tr.number output.nonnull
+  institution "institution" output.check
+  address output
+  format.date "year" output.check
+
+  new.block
+  note output
+  fin.entry
+}
+FUNCTION {unpublished}
+{ output.bibitem
+  format.authors "author" output.check
+  new.block
+  format.title "title" output.check
+  new.block
+  note "note" output.check
+  format.date output
+  fin.entry
+}
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+MACRO {acta} {"Acta Informatica"}
+MACRO {cacm} {"Communications of the ACM"}
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+MACRO {ibmsj} {"IBM Systems Journal"}
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+MACRO {ipl} {"Information Processing Letters"}
+MACRO {jacm} {"Journal of the ACM"}
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+MACRO {scp} {"Science of Computer Programming"}
+MACRO {sicomp} {"SIAM Journal on Computing"}
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+MACRO {tods} {"ACM Transactions on Database Systems"}
+MACRO {tog} {"ACM Transactions on Graphics"}
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+MACRO {tcs} {"Theoretical Computer Science"}
+MACRO {tieice} {"電子情報通信学会論文誌"}
+MACRO {tipsj}  {"情報処理学会論文誌"}
+MACRO {jipsj}  {"Journal of Informatin Processing Society of Japan"}
+MACRO {jorsj}  {"Journal of the Operations Research Society of Japan"}
+
+READ
+FUNCTION {set.is.kanji.entry}
+{
+  author    field.or.null is.kanji.str$
+  title     field.or.null is.kanji.str$ or
+  editor    field.or.null is.kanji.str$ or
+  journal   field.or.null is.kanji.str$ or
+  booktitle field.or.null is.kanji.str$ or
+  series    field.or.null is.kanji.str$ or
+  'is.kanji.entry :=
+}
+ITERATE {set.is.kanji.entry}
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+
+
+FUNCTION {sort.format.names}
+{ 's :=
+  yomi empty$
+     'skip$
+     { yomi 's := }
+  if$
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { nameptr #1 >
+	{ ", " * }
+	'skip$
+      if$
+
+      s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
+
+      nameptr numnames = t "others" = and
+ 	{ s is.kanji.str$
+
+ 		{"ほか" * }
+
+ 		{"et~al." *}
+	  if$
+ 	}
+	{ t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+	{ "to sort, need author or key in " cite$ * warning$
+	  ""
+	}
+	{ key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+	{ key empty$
+	    { "to sort, need author, editor, or key in " cite$ * warning$
+	      ""
+	    }
+	    { key sortify }
+	  if$
+	}
+	{ editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+FUNCTION {author.organization.sort}
+{ author empty$
+    { organization empty$
+	{ key empty$
+	    { "to sort, need author, organization, or key in " cite$ * warning$
+	      ""
+	    }
+	    { key sortify }
+	  if$
+	}
+	{ "The " #4 organization chop.word sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+FUNCTION {editor.organization.sort}
+{ editor empty$
+    { organization empty$
+	{ key empty$
+	    { "to sort, need editor, organization, or key in " cite$ * warning$
+	      ""
+	    }
+	    { key sortify }
+	  if$
+	}
+	{ "The " #4 organization chop.word sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+FUNCTION {presort}
+
+{ type$ "book" =
+
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+	'editor.organization.sort
+	{ type$ "manual" =
+	    'author.organization.sort
+	    'author.sort
+	  if$
+	}
+      if$
+    }
+  if$
+
+  "    "
+  *
+  year field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null
+  sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+ITERATE {presort}
+SORT
+
+
+STRINGS { longest.label }
+INTEGERS { number.label longest.label.width }
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+  #1 'number.label :=
+  #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+  number.label #1 + 'number.label :=
+  label width$ longest.label.width >
+    { label 'longest.label :=
+      label width$ 'longest.label.width :=
+    }
+    'skip$
+  if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+
+{ preamble$ empty$
+
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}


Property changes on: trunk/Build/source/texk/web2c/uptexdir/tests/jplain.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Build/source/texk/web2c/uptexdir/tests/unibib.bbl
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/tests/unibib.bbl	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/uptexdir/tests/unibib.bbl	2023-09-21 11:12:26 UTC (rev 68332)
@@ -7,9 +7,9 @@
 
 \bibitem{boswell}
 Dustin Boswell and Trevor Foucher.
-\newblock リーダブルコード
-  ―より良いコードを書くためのシンプルで実践的
-  なテクニック (Theory in practice).
+\newblock
+  リーダブルコード ―より良いコードを書くためのシンプルで実践的 なテクニック (Theory
+  in practice).
 \newblock オライリージャパン, 2012.
 
 \bibitem{dostoevskii}

Added: trunk/Build/source/texk/web2c/uptexdir/unibib.test
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/unibib.test	                        (rev 0)
+++ trunk/Build/source/texk/web2c/uptexdir/unibib.test	2023-09-21 11:12:26 UTC (rev 68332)
@@ -0,0 +1,28 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2023 Karl Berry <tex-live at tug.org>
+# You may freely use, modify and/or distribute this file.
+
+BinDir=${BinDir:-.}
+ExeExt=${ExeExt:-}
+_upbibtex=$BinDir/upbibtex$ExeExt
+
+test -d uptests || mkdir -p uptests
+
+# Test inputs
+testdir=$srcdir/uptexdir/tests
+
+rc=0
+
+TEXMFCNF=$srcdir/../kpathsea
+BSTINPUTS=$testdir
+BIBINPUTS=$testdir
+export TEXMFCNF BSTINPUTS BIBINPUTS
+
+cp $testdir/unibib.aux uptests/xunibib.aux
+
+$_upbibtex uptests/xunibib || rc=1
+diff $testdir/unibib.bbl uptests/xunibib.bbl || rc=2
+
+exit $rc
+


Property changes on: trunk/Build/source/texk/web2c/uptexdir/unibib.test
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch	2023-09-20 23:43:23 UTC (rev 68331)
+++ trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch	2023-09-21 11:12:26 UTC (rev 68332)
@@ -1,5 +1,5 @@
 % $Id$
-% This is a change file for upTeX u1.29
+% This is a change file for upTeX u1.30
 % By Takuji Tanaka.
 %
 % (02/26/2007) TTK  upTeX u0.01
@@ -859,8 +859,7 @@
   else begin cur_cmd:=kcat_code(kcatcodekey(cur_chr)); @<goto |main_lig_loop|@>; end;
   end;
 if cur_cmd=kchar_given then
-  begin cur_chr:=cur_chr mod max_cjk_val;
-  cur_cmd:=kcat_code(kcatcodekey(cur_chr)); @<goto |main_lig_loop|@>; end;
+  begin cur_cmd:=kcat_code(kcatcodekey(cur_chr)); @<goto |main_lig_loop|@>; end;
 if cur_cmd=char_num then
   begin scan_char_num; cur_chr:=cur_val;
   if check_echar_range(cur_chr) then goto main_loop_lookahead+1



More information about the tex-live-commits mailing list.