Version 0.12 * regex.c does not #define bcmp/bcopy/bzero if they already are. * regex.h does not redefine `const' if it is already defined, even if __STDC__ is not defined. * RE_SYNTAX_ED added (same as POSIX BRE's). * The following bugs have been fixed, among others: * The pattern \w+ doesn't infinite loop. * The pattern ".+\n" is compiled correctly. * Expressions with more than MAX_REGNUM groups are compiled correctly. * Patterns that end in a repetition operator (e.g., `*') match slightly faster if no looping is actually necessary. Version 0.11 (17 Sep 92) * Back-references to nonexistent subexpressions, as in the r.e. `abc\1', are always invalid. Previously, they could match the literal digit, e.g., the stated r.e. might have matched `abc1'. * Empty subexpressions are always valid (POSIX leaves this undefined). * Simplified rules for ^ and $ being anchors. * One minor speedup (rewriting the C procedure `pop_failure_point' as a macro again). * Bug fixes involving: - Declarations in regex.h and non-ANSI compilers. - Bracket expressions with characters between 0x80-0xff. - Memory leak in re_match_2 on systems requiring `alloca (0)' to free alloca'd storage. * Test and documentation files moved into subdirectories. Version 0.10 (9 Sep 92) * `obscure_syntax' is now called `re_default_syntax'. * `re_comp's return type is no longer `const', for compatibility with BSD. * POSIX syntaxes now include as much functionality as possible (consistent with the standard). * Compilation conditionals normalized to what the rest of GNU is migrating towards these days. * Bug fixes involving: - Ranges with characters between 0x80 and 0xff, e.g., [\001-\377]. - `re_compile_fastmap' and the sequence `.*\n'. - Intervals with exact counts, e.g., a{5}. * Changed distribution to use a standard Makefile, install the info files, use a configure script, etc. Version 0.9 * The longest match was not always chosen: `a*|ab' didn't match `aab'.