diff options
| author | Paul Eggert | 2018-08-05 18:41:20 -0700 |
|---|---|---|
| committer | Paul Eggert | 2018-08-05 19:36:09 -0700 |
| commit | d904cc83f3036db96107a3976cee1a0112547de6 (patch) | |
| tree | 7186eee577f0112462a024368c014819c4055152 /admin | |
| parent | e5652268a993ad9117f7253553c143d60460eb8f (diff) | |
| download | emacs-d904cc83f3036db96107a3976cee1a0112547de6.tar.gz emacs-d904cc83f3036db96107a3976cee1a0112547de6.zip | |
Use Gnulib regex for lib-src
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.
Diffstat (limited to 'admin')
| -rwxr-xr-x | admin/merge-gnulib | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 1397ecfb9f7..abb192911d9 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib | |||
| @@ -37,7 +37,7 @@ GNULIB_MODULES=' | |||
| 37 | getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog | 37 | getloadavg getopt-gnu gettime gettimeofday gitlog-to-changelog |
| 38 | ieee754-h ignore-value intprops largefile lstat | 38 | ieee754-h ignore-value intprops largefile lstat |
| 39 | manywarnings memrchr minmax mkostemp mktime nstrftime | 39 | manywarnings memrchr minmax mkostemp mktime nstrftime |
| 40 | pipe2 pselect pthread_sigmask putenv qcopy-acl readlink readlinkat | 40 | pipe2 pselect pthread_sigmask putenv qcopy-acl readlink readlinkat regex |
| 41 | sig2str socklen stat-time std-gnu11 stdalign stddef stdio | 41 | sig2str socklen stat-time std-gnu11 stdalign stddef stdio |
| 42 | stpcpy strtoimax symlink sys_stat sys_time | 42 | stpcpy strtoimax symlink sys_stat sys_time |
| 43 | tempname time time_r time_rz timegm timer-time timespec-add timespec-sub | 43 | tempname time time_r time_rz timegm timer-time timespec-add timespec-sub |
| @@ -46,11 +46,12 @@ GNULIB_MODULES=' | |||
| 46 | ' | 46 | ' |
| 47 | 47 | ||
| 48 | AVOIDED_MODULES=' | 48 | AVOIDED_MODULES=' |
| 49 | close dup fchdir fstat | 49 | btowc close dup fchdir fstat langinfo lock |
| 50 | malloc-posix msvc-inval msvc-nothrow | 50 | malloc-posix mbrtowc mbsinit msvc-inval msvc-nothrow nl_langinfo |
| 51 | openat-die opendir raise | 51 | openat-die opendir raise |
| 52 | save-cwd select setenv sigprocmask stat stdarg stdbool | 52 | save-cwd select setenv sigprocmask stat stdarg stdbool |
| 53 | threadlib tzset unsetenv utime utime-h | 53 | threadlib tzset unsetenv utime utime-h |
| 54 | wchar wcrtomb wctype-h | ||
| 54 | ' | 55 | ' |
| 55 | 56 | ||
| 56 | GNULIB_TOOL_FLAGS=' | 57 | GNULIB_TOOL_FLAGS=' |