1tre-config.h contains additional defines that their configure puts in 2config.h. 3 4We have remapped the POSIX entry points with a tre_ suffix: without 5it there was confusion with entry points in OS libraries on some OSes 6(e.g. macOS). 7 8alloca has been disabled: the declarations used do not work on 9Windows, and most likely not on FreeBSD. 10 11The way we compile it, TRE works internally in one of three modes 12 13STR_BYTE, using bytes 14STR_MBS , using wchar_t for matching, I/O in MBCS 15STR_WIDE, using wchar_t 16 17We've added interfaces tre_regcompb, tre_regncompb, tre_regexecb, 18tre_regnexecb and regaexecb to force STR_BYTE. Unless forced, bytes 19are used in a single-byte locale and wchar_t in a MBCS. We need to 20force for useBytes=TRUE, for support for UTF-8 encoded strings 21in a single-byte locale (principally on Windows) and when dealing with 22raw vectors. You do need to ensure that regcomp and regexec use the 23same type. 24 25The offsets in the regmatch_t structure are in characters for 26STR_WIDE, bytes for the other two modes. 27 28On Windows (MinGW?), iswctype is missing 'blank'. 29 30REG_LITERAL was not matching "" in some cases, hence a change at 31line 1652 of tre-parse.c. 32 33We fixed stack trampling in tre_tnfa_run_approx() and converted 34tre_ast_to_tnfa() from recursion to iteration over a TRE stack. 35 36We commented out in tre-match-approx.c 37 38/* These seem compiler/OS-specific, but unexplained 39On Linux the first is intended to be used only with GCC. 40#define __USE_STRING_INLINES 41#undef __NO_INLINE__ 42*/ 43 44since it failed on clang 45https://stat.ethz.ch/pipermail/r-devel/2010-February/056728.html 46 47Nov 2011: incorporated minor fixes from https://github.com/GerHobbelt/libtre 48(see https://laurikari.net/tre/website-issues-and-future-plans/#comments). 49 50Oct 2014: fixed R bug PR#16009 by copying the class member of a LITERAL 51in tre_copy_ast. 52 53Nov 2014: changed tre_version() to report this is a modified version. 54 55Apr 2020: incorporated a patch to tre-parse.c from 56https://github.com/laurikari/tre/issues/55 57