summaryrefslogtreecommitdiff
path: root/lib/regex.c
Commit message (Collapse)AuthorAgeFilesLines
* Update from GnulibPaul Eggert2018-12-311-1/+1
| | | | | | This incorporates mostly just copyright-year changes, plus recent minor updates from glibc for the non-Emacs regular expression code.
* Update from GnulibPaul Eggert2018-12-271-2/+2
| | | | | * build-aux/config.guess, lib/regcomp.c, lib/regex.c: * lib/regex_internal.h, lib/regexec.c: Copy from Gnulib.
* Update lib/regex from glibc via GnulibPaul Eggert2018-10-151-1/+1
| | | | | | | | | | | | | This syncs recent refactorings from glibc, and incorporates: 2018-10-15 libc-config: merge from glibc 2018-10-15 regex: depend on libc-config * .gitignore: Do not ignore m4/_*.m4. * lib/cdefs.h: New file, copied from Gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/libc-config.h, m4/__inline.m4: New files, copied from Gnulib. * lib/regcomp.c, lib/regex.c, lib/regex_internal.c: * lib/regex_internal.h, lib/regexec.c: Copy from glibc via Gnulib.
* Use Gnulib regex for lib-srcPaul Eggert2018-08-051-0/+81
Emacs regular expressions forked from everyone else long ago. This makes it official and should allow simplification later. etags.c now uses the glibc regex API, falling back on a Gnulib-supplied substitute lib/regex.c if necessary. Emacs proper now uses its own regular expression module. Although this patch may look dauntingly large, most of it was generated automatically by admin/merge-gnulib and contains an exact copy of the glibc regex source, and the by-hand changes do not grow the Emacs source code. * admin/merge-gnulib (GNULIB_MODULES): Add regex. (AVOIDED_MODULES): Add btowc, langinfo, lock, mbrtowc, mbsinit, nl_langinfo, wchar, wcrtomb, wctype-h. * lib-src/Makefile.in (regex-emacs.o): Remove; Gnulib does it now. (etags_deps, etags_libs): Remove regex-emacs.o. * lib-src/etags.c: Go back to including regex.h. (add_regex): Use unsigned char translation array, since glibc regex requires that. * lib/Makefile.in (not_emacs_OBJECTS, for_emacs_OBJECTS): New macros. (libegnu_a_OBJECTS): Use them, to avoid building e-regex.o. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c: * lib/regex_internal.h, lib/regexec.c, m4/builtin-expect.m4: * m4/eealloc.m4, m4/glibc21.m4, m4/mbstate_t.m4, m4/regex.m4: New files, copied from Gnulib. * src/regex-emacs.h, src/conf_post.h: (RE_TRANSLATE_TYPE, RE_TRANSLATE, RE_TRANSLATE_P): Move from src/conf_post.h to src/regex-emacs.h, so that they don’t interfere with compiling lib/regex.c.