2022-09-12 Karl Berry * README: new file to mention both programs. * bibtex8.1: remove old addresses for Kempson and Aguilar-Sierra. 2022-09-02 TANAKA Takuji * bibtex.c: Initialize max_print_line after checking options. This change prevents unwanted looking for texmf.cnf. 2022-08-30 Karl Berry * bibtex8.1, * bibtexu.1: typo fixes from Hilmar Preu\ss{}e, https://tug.org/pipermail/tex-live/2022-June/048227.html 2022-05-22 TANAKA Takuji * version.h: Bump version to 4.00 (22 may 2022). * bibtex.c, utils.c, version.h: Show "Release version" and TeX Live version at the first line of a banner. 2022-05-17 TANAKA Takuji * version.h: Bump version to 4.00 (17 may 2022). * bibtex-4.c, bibtex.h: Fix a bug of text.prefix$ and text.length$ in bibtexu. * tests/testsubstr[au].bib, substr[au].bbl, txtprfx[au].bbl: Update tests. 2022-05-08 TANAKA Takuji * version.h: Bump version to 4.00 (8 may 2022). * bibtex-2.c: Set LEGAL_ID_CHAR to id_class of 8bit characters. * Makefile.am, tests/bibtex[8u].test, tests/bibtex8-char.test, tests/bibtexu-sort.test, tests/test{case,char,name,period,substr,txtprfx,width,iscjk}.bst, tests/case[au].bbl, tests/chara.bbl, tests/name[au].bbl, tests/substra.bbl, tests/txtprfxa.bbl, tests/yannis.bbl, tests/exampl.bbl, tests/ltnbib.bib, tests/mlgbib.bib, tests/testcase[au].bib, tests/yannis.bib: Update tests. 2022-05-02 TANAKA Takuji * version.h: Bump version to 4.00 (2 may 2022). * bibtex.[ch], gblvars.h: Accept max_print_line variable in kpathsea. We can define max_print_line.bibtex8 or max_print_line.bibtexu in texmf.cnf. * tests/bibtex[8u]-char.test, tests/name[au].bbl: Update tests. 2022-04-29 TANAKA Takuji * configure.ac, version.h: Bump version to 4.00 (29 apr 2022). Both BibTeX8 and BibTeXu:: * bibtex.[ch], utils.[ch], datatype.h, gblprocs.h, gblvars.h, sysdep.h, version.h, bibtex-[1234].c, HISTORY: Remove keywords for RCS from headers since we do not use RCS anymore. * bibtex-[234].c, bibtex.h, gblprocs.h, gblvars.h: Add operators bitwise AND "&" and bitwise OR "|" to built-in functions in style files. * bibtex8.1, bibtexu.1, HISTORY: Update documents. * Makefile.am, tests/bibtex[8u]-char.test, tests/testcase.bst tests/testchar.bst, tests/period[au].bbl, tests/testperiod[au].bib, tests/testperiod.bst, tests/substr[au].bbl, tests/testsubstr[au].bib, tests/testsubstr.bst, tests/txtprfx[au].bbl, tests/testtxtprfx.bst, tests/width[au].bbl, tests/testwidth[au].bib, tests/testwidth.bst, tests/name[au].{aux,bbl}, tests/{ltn,mlg}bib, tests/testname.bst, tests/iscjku.{aux,bbl}, tests/testiscjku.bib, tests/testiscjk.bst: Update tests. BibTeXu only:: * bibtex-1.c: Inhibit breaking lines between space and characters rather than Latin, Greek, Cyrillic and Hangul Cyllables. * bibtex-[234].c, bibtex.h, gblprocs.h, gblvars.h: Add built-in functions is.cjk.str$ and is.kanji.str$ in style files to check wheter a string is CJK or not. * bibtex-[24].c: Enhance built-in functions num.names$ and format.name$ in style files. Ideographic/Fullwidth Comma ("、" U+3001, "," U+FF0C) in addition to an " and " string is accepted as a sepalator between persons. Ideographic Space (" " U+3000) in addition to a space " " is accepted as a sepalator between a family name and a given name. 2022-04-21 TANAKA Takuji * configure.ac, version.h: Bump version to 3.80 (21 apr 2022). * bibtex-4.c: Fix a bug of substring$ in bibtexu. * tests/substr[au].bbl, tests/testsubstr[au].bib, tests/testsubstr.bst, tests/txtprfx[au].bbl: Update tests. 2022-04-16 TANAKA Takuji * configure.ac, version.h: Bump version to 3.80 (16 apr 2022). * bibtex-2.c, bibtex-4.c, bibtex.h, gblvars.h: Support width$ for Latin-1 characters in bibtex8. Support width$ for Latin-1, Latin Extended-A, CJK characters in bibtexu. Note other character sets (Greek, Cyrillic, etc.) are not impremented yet. * bibtex-2.c, bibtex-4.c, gblproc.h: Support substring$ for characters on Unicode supplementary planes in bibtexu. * bibtex-3.c: Ignore add.period$ after Unicode punctuation marks ‼⁇⁈⁉‽!?。 . in bibtexu. * bibtex-4.c: Accept characters over ASCII by int.to.chr$ in bibtex8 & bibtexu. Accept multibyte characters by chr.to.int$ in bibtexu. * Makefile.am, tests/bibtex8u-mem.test, tests/bibtex[8u]-{sort,char}.test, tests/sortu.aux, tests/sortu-{az,da,en,fi,tr}.bbl, tests/testsortu.bib, tests/case[au].{aux,bbl}, tests/testcase[au].bib, tests/testcase.bst, tests/char[au].{aux,bbl}, tests/testchar[au].bib, tests/testchar.bst, tests/period[au].{aux,bbl}, tests/testperiod[au].bib, tests/testperiod.bst, tests/substr[au].{aux,bbl}, tests/testsubstr[au].bib, tests/testsubstr.bst, tests/txtprfx[au].{aux,bbl}, tests/testtxtprfx.bst, tests/width[au].{aux,bbl}, tests/testwidth[au].bib, tests/testwidth.bst: Add new tests. 2022-02-05 Karl Berry * configure.ac, * version.h: version 3.72 (05 feb 2022). 2021-08-21 TANAKA Takuji * bibtex-4.c: Fix bug of collation (check END_OF_STRING, compare arg1 and arg2). * bibtex-2.c, gblproc.h: Fix bug of making upper/lower cases. It may remain a bug when lengths are different between from-string and to-string, for example: U+00DF ß LATIN SMALL LETTER SHARP S, 0xC3 0x9F in UTF-8 U+1E9E ẞ LATIN CAPITAL LETTER SHARP S, 0xE1 0xBA 0x9E in UTF-8 * tests/ubasic.{bib,bbl},yannis.{bib,bbl}: Update. * tests/bibtexu-yannis.test: Reenable again (fixed the fails on FreeBSD, OpenBSD, sparc-solaris). https://build.contextgarden.net/#/waterfall?tags=c.texlive 2021-08-14 TANAKA Takuji * bibtex.c, bibtex-[23].c, gbl{proc,vars}.h: Use ucol_strcollUTF8() for collation. Use u_strToUTF8WithSub() in icu_fromUChars() and u_strFromUTF8WithSub() in icu_toUChars() in stead of ucnv_*. Initialize ICU collator only once. 2021-06-21 Karl Berry * tests/bibtexu-yannis.test: disable again. Fails on FreeBSD, OpenBSD, sparc-solaris. https://tug.org/pipermail/tlbuild/2021q2/004918.html 2021-06-20 Karl Berry * Makefile.am (bibtexu_tests): add tests/bibtexu-{basic,range}.test. (EXTRA_DIST, DISTCLEANFILES): likewise. * tests/bibtexu-{basic,range}.test, * tests/u{basic,range}.{aux,bbl,bib,tex}: new files from Dmitry. * tests/bibtexu-yannis.test: reenable (probably failed due to lack of pthread?), use same test template. * tests/yannis.bib: credit Yannis. 2021-06-20 Dmitry Zheleznyakov * bibtex-4.c (x_substring, web section 438): adjust pop_lit1 before icu_fromUChars calls, to avoid crash on page ranges. 2021-06-19 Karl Berry * configure.ac [enable_bibtexu]: also check for -lpthread. * Makefile.am (bibtexu_LDADD): include $(PTHREAD_LIB). Report and fix from Dmitry Zheleznyakov: https://tug.org/pipermail/tex-k/2021-June/003591.html 2021-02-06 TANAKA Takuji * utils.c, configure.ac: Show TeX Live version by version option. Show bug report address in usage. 2019-05-22 Hironobu Yamashita * bibtex-2.c, bibtex-3.c: Better error messages for debug. * bibtex-3.c (icu_strToUpper): React to Str_language. 2019-05-05 Hironobu Yamashita * bibtexu-yannis.test, yannis.aux, yannis.bib, yannis.bbl: New test files for BibTeXu. * Makefile.am: Add the new test. 2019-03-15 Hironobu Yamashita * Makefile.am: Add bibtex8.1 and bibtexu.1. * bibtex8.1, bibtexu.1: New man pages. 2019-03-06 Hironobu Yamashita * bibtex-2.c: Check error status for every call of u_strFromUTF8WithSub(). 2019-03-05 Akira Kakuto * bibtex-2.c: Use u_strFromUTF8WithSub() with a substitution character 0xfffd, instead of u_strFromUTF8(). 2019-03-04 Hironobu Yamashita Both BibTeX8 and BibTeXu: * bibtex-2.c: Add trace for sorting. (There is no related code in the original BibTeX, but can be useful.) Suppress compiler warnings. * bibtex.c, utils.c: Print ICU version in BibTeXu. * version.h: Bump version (04 mar 2019). BibTeXu only: * bibtex-2.c: Use u_strFromUTF8() instead of icu_toUChars() while sorting for BibTeXu. Close UConverter properly. * bibtex-4.c: Fix x_purify() for BibTeXu. * utils.c: Default to Flag_8bit in BibTeXu. We should NOT read any csf file in BibTeXu. (BibTeX8 is unaffected) 2017-04-27 Karl Berry * Makefile.am (bibtexu_LDADD): add $(ICU_LIBS_EXTRA). 2015-07-07 Peter Breitenlohner * Makefile.am: Better dependencies for 'make check'. * ac/bibtex-x.ac: Fixed a typo. 2014-06-16 Peter Breitenlohner * Makefile.am: Drop the obsolete ACLOCAL_AMFLAGS. 2013-03-19 Peter Breitenlohner Merge bibtex8/ and bibtexu/ into bibtex-x (extended). * bibtex-[234].c, bibtex.[ch], gblprocs.h, gblvars.h, utils.c: Use '#ifndef UTF_8 #else #endif'. * version.h: Set date to '18 mar 2013'. Makefile.am, configure.ac: Adapted. 2013-03-18 Peter Breitenlohner BibTeX8 * bibtex-2.c: Use char_less_than and char_greater_than macros. BibTeXu * bibtex-[24].c, bibtex.h: Define and use DO_UTF8 to handle 1-, 2-, 3-, and 4-byte UTF-8 codes. * tests/bibtex.test (removed): Renamed ... * tests/bibtexu.test (new): ... into this. 2013-03-15 Peter Breitenlohner BibTeXu Reduce diffs with bibtex8. * bibtex-[1-4].c, bibtex.[ch], gblprocs.h, gblvars.h, utils.[ch]: Drop unused code and adjust white space, #include "unicode/*.h" only through gblprocs.h. 2013-02-08 Peter Breitenlohner * Makefile.am (btdocdir): Change texmf => texmf-dist. 2012-12-07 Peter Breitenlohner BibTeXu * bibtex-2.c: Drop unused variable (gcc-4.6 warning). 2012-11-19 Peter Breitenlohner * Makefile.am: Avoid use of deprecated INCLUDES. 2012-10-11 Peter Breitenlohner * utils.c (c8read_csf): DEFAULT_BIBTEX_CSFILE is set to "/nonesuch" in ../kpathsea/paths.h; so we use CSF_FILE_ENVVAR. 2012-08-04 Akira Kakuto BibTeXu * bibtex.c : Change order of inclusion of headers to avoid warnings. 2012-04-12 Akira Kakuto * bibtex-2.c: Do not check whether Glob_Str_Size > Buf_Size, and Ent_Str_size > Buf_Size, since Buf_Size can be changed dynamically, whereas Glob_Str_Size and Ent_Str_Size are maximum values which are constants. 2012-04-10 Norbert Preining * bibtex-2.c: Do not check whether Glob_Str_Size > Buf_Size, since the former can be changed dynamically * bibtex.h: Adjust BUF_SIZE to the value that matches bibtex.ch 2012-02-14 Peter Breitenlohner * bibtex.c (eoln): Accept both CR and LF as end-of-line. 2011-12-06 Peter Breitenlohner * Makefile.am: Replace ${prefix}/texmf => $(datarootdir)/texmf. 2011-10-04 Peter Breitenlohner BibTeX8 * Makefile.am (DISTCLEANFILES): Preserve distributed files. BibTeXu * Makefile.am (DISTCLEANFILES): Add CXXLD.sh. 2011-04-18 Peter Breitenlohner Avoid 'differ in signedness' warnings. * datatype.h (PdsType_T): Do not declare as unsigned. * bibtex-3.c (pre_define): Cast xord[] index to UChar_T. * utils.c (c8read_csf): Cast name_of_file to 'char *'. BibTeXu * bibtex-2.c: A few casts to 'char *'. 2011-03-07 Peter Breitenlohner * utils.c (setup_bound_variable): `program_invocation_name' has been renamed into `kpse_invocation_name'. 2010-10-04 Peter Breitenlohner BibTeXu * tests/bibtexu.test (new): Just 'bibtexu -version'. * Makefile.am: Add the new test. 2010-05-03 Akira Kakuto * bibtex.h: fix a bug in the macro BIB_XRETALLOC_STRING. 2010-03-24 Peter Breitenlohner * bibtex*.[ch], gblvars.h, utils.c: Obtain Ent_Str_Size and Glob_Str_Size from environment or config file. Dynamically allocate global strings arrays, literal stack arrays, and single function space instances; reallocate them as required. 2010-03-19 Peter Breitenlohner * utils.c: Default csfile and Max_Strings from env or config. * bibtex.h (STR_ROOM): Call pool_overflow() as often as needed. * bibtex-3.c (scan_fn_def): Same for increase Wiz_Fn_Space. * bibtex-4.c (BST_STRING_SIZE_EXCEEDED): Drop extra "%ld". (x_text_prefix): Add missing STR_ROOM. BibTeX8 * bibtex.c: Call kpse_set_program_name with "bibtex8". BibTeXu * bibtex.c: Call kpse_set_program_name with "bibtexu". 2010-03-18 Peter Breitenlohner Dynamic allocation of name_of_file strings. No padding. * bibtex-1.c (add_area): Not used and removed. * bibtex-2.c (file_nm_size_overflow): Not used and removed. * bibtex-3.c (s_bst_area, s_bib_area): Removed. * gblvars.h (bib_area_string, bst_area_string): Removed. * utils.c (open_ip_file, open_op_file): Adapted. 2010-03-17 Peter Breitenlohner * bibtex-1.c (check_cite_overflow): Reallocate cite_info, cite_list, entry_exists, and type_list. * bibtex.h (MAX_CITES): Initial allocation as in bibtex.web. * gblvars.h (M_cites): Removed. * utils.c (parse_cmd_line, usage): Ignore/remove --mcites. * bibtex-1.c (add_database_cite): Fix bug, from bibtex.ch. * Makefile.am (AM_CPPFLAGS): Remove obsolete -funsigned-char. BibTeX8 * tests/bibtex-mem.test: New shell script for dynamic arrays. * Makefile.am: Adapted. 2010-03-16 Peter Breitenlohner * bibtex-1.c, utils.c: Delay allocation of entry_ints and entry_strs until the required size is known. * bibtex.h (MAX_ENT_INTS, MAX_ENT_STRS): Removed. * gblvars.h (M_entstrs, Max_Ent_Ints, Max_Ent_Strs): Removed. * utils.c (parse_cmd_line, usage): Ignore/remove --mentstrs. BibTeX8 * tests/sort.test: New shell script to test csfiles. * tests/sort[123].{bbl,csf}, tests/test{data.bib,style.bst}: Test data from Philipp Lehman . 2010-03-15 Peter Breitenlohner * tests/bibtex.test: New shell script to test 7-bit mode. * Makefile.am (TESTS, EXTRA_DIST, DISTCLEANFILES): Adapted. * bibtex-1.c, bibtex-2.c: Reallocate bib_file, bib_list, and s_preamble as needed. * datatype.h (BufType_T): Declare as pointer instead of array. * gblvars.h, utils.c: Dynamically allocate buffer, ex_buf, out_buf, and sv_buffer. * bibtex-1.c (add_out_pool): Call buffer_overflow to reallocate. (buffer_overflow): Reallocate buffer, ex_buf, name_sep_char, name_tok, out_buf, and sv_buffer as needed. * utils.c (c8read_csf): Drastically reduce sx array size. 2010-03-14 Peter Breitenlohner * bibtex-1.c: Reallocate entry_ints, field_info as needed. * bibtex-3.c: Reallocate wiz_functions as needed. * gblvars.h, utils.c: Dynamically allocate bib_file, bib_list, name_sep_char, name_tok, and s_preamble. * gblvars.h (M_entints, M_fields, M_wiz_fn_space): Removed. * utils.c (parse_cmd_line, usage): Ignore/remove --mentints, --mfields, and --mwizfuns. * bibtex-4.c: Added check for str_pool overflow (from bibtex). * gblvars.h (Buf_Size, Max_Bib_Files): New global vars. * utils.c: Set Buf_Size=BUF_SIZE, Max_Bib_Files=MAX_BIB_FILES. Allocate bib_file, bib_list, name_sep_char, name_tok, and s_preamble.[A * bibtex-1.c, bibtex-2.c: Use Buf_Size and Max_Bib_Files. 2010-03-13 Peter Breitenlohner Dynamic allocation of arrays. * bibtex.h (MYRETALLOC, BIB_XRETALLOC, BIB_XRETALLOC_NOSET): Preprocessor macros used to reallocate arrays. * utils.[ch] (myrealloc): New function. (mymalloc, myrealloc): Allocate at least 1 byte, to avoid NULL. (checkdbg, checklong): Declare as static. * bibtex-2.c (pool_overflow): Reallocate str_pool as needed. * gblvars.h (M_pool): Removed. * utils.c (parse_cmd_line, usage): Ignore/remove --mpool. BibTeX8 * utils.c (usage): This is bibtex8, not bibtex. 2010-03-12 Peter Breitenlohner Determine hash_size from max_strings and compute hash_prime. * bibtex.c (main): Don't call allocate_arrays. Print newline after fatal error message. * utils.c (allocate_arrays): Declare as static. (compute_hash_prime): New function, using allocated arrays. (set_array_sizes): Call allocate_arrays and compute_hash_prime. * utils.h (allocate_arrays): Remove. 2010-03-10 Peter Breitenlohner * bibtex.h: Adapt to bibtex.web final 0.99d from Oren. 2010-03-09 Peter Breitenlohner * bibtex-1.c: Remove spurious format spec in BIBTEX_OVERFLOW. 2010-03-02 Peter Breitenlohner * bibtex-1.c, bibtex.h: Adapt to bibtex.web 0.99d test 1 from Oren, breaking .bbl lines only at whitespace. 2010-02-18 Peter Breitenlohner * sysdep.h (IMPLEMENTATION): Define for MinGW32. * utils.c [WIN32]: Do not #include . * utils.h (CDECL) [WIN32]: #undef before re-#define. 2010-02-10 Peter Breitenlohner * getopt.[ch], getopt1.h: Removed, use libkpathsea. * utils.c: #include instead of "getopt.h". * Makefile.am (EXTRA_DIST): remove getopt.[ch] and getopt1.h. 2009-11-20 Peter Breitenlohner * bibtex*.c, utils.c: #include . * configure.ac: Add AC_CONFIG_HEADERS([config.h]). 2009-10-24 Peter Breitenlohner * utils.c (open_ip_file, open_op_file): Check for legitimate file names via kpse_{in,out}_name_ok() before opening files. 2009-10-08 Peter Breitenlohner Import BibTeXu from http://omega.enstb.org/yannis/bibtexu/. Avoid various compiler warnings: * bibtex-[234].c: unused vars, decl. after stmt., return with value in void function. * bibtex-[23].c: #include "unicode/ustring.h". 2009-09-30 Peter Breitenlohner * utils.[ch] (getopt_str): Declare string as const. (debug_msg): Declare param2 string as const. (usage): Declare param string as const. * datatype.h (PdsType_T): Declare char array as const. 2009-06-18 Peter Breitenlohner * Makefile.am (AM_CFLAGS): enable compiler warnings. * bibtex-3.c (str_lookup): silence 'used uninitialized' warning. * datatype.h, gblvars.h: in various places replace Integer8_T (i.e., char) by UChar_T (i.e., unsigned char). * utils.c (c8read_csf): avoid unused variable. * remove rcsid's. * FIXME: still needs careful checking for signed/unsigned char. 2009-06-04 Karl Berry * Makefile.am (AM_CPPFLAGS): move -funsigned-char here, since we don't want to pass it to the loader. peb tlbuild mail 3 Jun 2009 17:37:38 +0200. 2009-05-28 Peter Breitenlohner Adapt to TL2009 build system. 2008-03-01 Peter Breitenlohner * sysdep.h: avoid redefinition of TRUE and FALSE. 2008-02-29 Peter Breitenlohner * configure.in: added AC_CONFIG_HEADERS (moved from ../kpathsea/common.ac to here). 2008-01-31 Peter Breitenlohner * utils.c: Fix a typo (relevant for non-kpathsea version). 2008-01-30 Peter Breitenlohner Convert from autoconf-2.13 to autoconf-2.59+: * Makefile.in: Add @configure_input@ line. * aclocal.m4 (new): Generated (aclocal -I ../m4). * configure: Regenerated (autoconf). 2007-07-16 Karl Berry * bibtex.h (BUF_SIZE, MAX_CITES, MAX_ENT_INTS, MAX_ENT_STRS, MAX_STRS): increase. From panov, 12 Jul 2007 12:13:38.