1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-17 12:41:05 +03:00
Commit Graph

71 Commits

Author SHA1 Message Date
Bruno Haible
b6d1202a37 Fix underquoting of AC_LANG_PROGRAM arguments. 2008-04-15 01:52:03 +02:00
Bruno Haible
f2147a3f6a Check for libintl.h. Needed for HAVE_LIBINTL_H. 2008-04-13 18:35:13 +02:00
Eric Blake
90f8d0d3e4 Avoid some autoconf warnings.
* m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
* m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-09 06:42:08 -06:00
Bruno Haible
414d630c1c Fix regex compilation error on HP-UX 11. 2008-03-23 23:49:02 +01:00
Eric Blake
3740c324b0 Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
Autoconf definition.
* modules/euidaccess (Depends-on): Add extensions, for
AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
* modules/fnmatch (Depends-on): Likewise.
* modules/getaddrinfo (Depends-on): Likewise.
* modules/getdelim (Depends-on): Likewise.
* modules/getline (Depends-on): Likewise.
* modules/getsubopt (Depends-on): Likewise.
* modules/gettext (Depends-on): Likewise.
* modules/group-member (Depends-on): Likewise.
* modules/mbchar (Depends-on): Likewise.
* modules/memmem (Depends-on): Likewise.
* modules/mempcpy (Depends-on): Likewise.
* modules/memrchr (Depends-on): Likewise.
* modules/pagealign_alloc (Depends-on): Likewise.
* modules/readutmp (Depends-on): Likewise.
* modules/stpcpy (Depends-on): Likewise.
* modules/stpncpy (Depends-on): Likewise.
* modules/strchrnul (Depends-on): Likewise.
* modules/strndup (Depends-on): Likewise.
* modules/strsep (Depends-on): Likewise.
* modules/strverscmp (Depends-on): Likewise.
* modules/vasprintf (Depends-on): Likewise.
* modules/wcwidth (Depends-on): Likewise.
* m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
* m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
* m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
* m4/mbchar.m4 (gl_MBCHAR): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
* m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
* m4/readutmp.m4 (gl_READUTMP): Likewise.
* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
* m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
* m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
* m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
* m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
* m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
* m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
so that lock.m4 can be used in gettext without extensions module.
2007-09-12 15:59:57 +00:00
Paul Eggert
e5a6714d02 * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
Vin Shelton.
2007-06-12 17:44:37 +00:00
Paul Eggert
df16e1813f Work around problem reported by Steven M. Schweda in
<http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
Tru64 5.1B with the Compaq compiler environment installed declares
an 'isblank' function but does not define it in the C library.
* lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
* lib/regex_internal.h (isblank): Likewise.
* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2007-06-06 18:35:17 +00:00
Jim Meyering
7200b306d9 * m4/regex.m4: Update the description of the configure-time option,
--without-included-regex, to state accurately what the defaults are,
and perhaps to give people an idea why using this option is risky.
2007-02-24 11:54:07 +00:00
Paul Eggert
dea6f7089d Fix regex code so it doesn't rely on strcasecmp.
* lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
Otherwise, include gnulib's langinfo.h.
* lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
undesirable behavior in non-C locales.  Instead, rely on locale_charset.
* m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
* modules/regex (FILES): Remove m4/codeset.m4.
(Depends-on): Add localcharset.  Remove strcase.
2007-02-15 00:16:55 +00:00
Paul Eggert
237d6da6ea * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
Prefer returning from main to exiting from it.
Remove unnecessary parens after sizeof.
2007-02-06 07:02:59 +00:00
Paul Eggert
f7328f9d0a Avoid mempcpy in the regex code, as the string.h mempcpy stuff
is causing more trouble than it's curing.
* lib/regex_internal.h (__mempcpy): Remove.
* lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
(and make the code a tad smaller to boot).
* m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
2007-02-02 22:15:43 +00:00
Eric Blake
96f7b7d91a * modules/fnmatch (Depends-on): Depend on wchar.
* lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
* m4/fnmatch.m4: Likewise.
* modules/mbchar (Makefile.am): Assume <wchar.h>.
* m4/mbchar.m4: Likewise.
* modules/mbswidth (Depends-on): Depend on wchar.
* lib/mbswidth.c: Assume <wchar.h>.
* m4/mbswidth.m4: Likewise.
* modules/quotearg (Depends-on): Depend on wchar.
* lib/quotearg.c: Assume <wchar.h>.
* m4/quotearg.m4: Likewise.
* modules/regex (Depends-on): Depend on wchar.
* lib/regex_internal.h: Assume <wchar.h>.
* m4/regex.m4: Likewise.
* modules/stdint (Depends-on): Depend on wchar.
* lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
* m4/stdint.m4: Likewise.
* tests/test-stdint.c [HAVE_WINT_T]: Likewise.
* modules/strftime (Depends-on): Depend on wchar.
* lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
* modules/strtol (Depends-on): Depend on wchar.
* lib/strtol.c: Assume <wchar.h>.
* modules/wcwidth (Depends-on): Depend on wchar.
* lib/wcwidth.h: Assume <wchar.h>.
* m4/wcwidth.m4: Likewise.
2007-01-16 16:31:23 +00:00
Paul Eggert
44fa0d78ad * MODULES.html.sh: New module wctype.
* lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
* lib/fnmatch.c: Don't bother to include <wchar.h> before
<wctype.h>, since the new wctype module should fix this.
* lib/quotearg.c: Include <wctype.h> unconditionally, since
the wctype module should arrange for it.
* lib/regex_internal.h: Likewise.
* m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
since the wctype module should handle this now.
* m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
* modules/fnmatch (Depends-on): Add wctype.
* modules/quotearg (Depends-on): Likewise.
* modules/regex (Depends-on): Likewise.
2006-12-22 00:21:54 +00:00
Paul Eggert
6bc7a02996 * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
* lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2006-12-04 06:41:56 +00:00
Paul Eggert
331f6ee713 * lib/regex_internal.c (re_string_reconstruct): Handle
offset < pstr->valid_raw_len && pstr->offsets_needed case.
Ensure no bytes read before raw_mbs array.  Pass a saved copy of
pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
re_string_context_at.
* m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
now requires it.
(gl_PREREQ_REGEX): Don't check for locale.h any more, since
gl_REGEX now does it for us.
(gl_REGEX): Add test taken from
http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
2006-09-21 05:25:11 +00:00
Paul Eggert
901bc47c9a Avoid the need for AC_LIBSOURCES in m4 macros.
* modules/acl (EXTRA_DIST): Add acl.h.
* modules/argmatch (Files): Add m4/argmatch.m4.
(configure.ac): Add gl_ARGMATCH.
(EXTRA_DIST): Renamed from lib_SOURCES, for
consistency with the other modules.  Remove argmatch.c.
* modules/backupfile (EXTRA_DIST): Add backupfile.h.
* modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
* modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
* modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
* modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
* modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
* modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
* modules/cloexec (EXTRA_DIST): Add cloexec.h.
* modules/close-stream (EXTRA_DIST): Add close-stream.h.
* modules/closeout (EXTRA_DIST): Add closeout.h.
* modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
* modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
* modules/dirfd (EXTRA_DIST): Add dirfd.h.
* modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
dirname.h; remove basename.c and stripslash.c.
* modules/exclude (EXTRA_DIST): Add exclude.h.
* modules/exitfail (EXTRA_DIST): Add exitfail.h.
* modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
* modules/file-type (EXTRA_DIST): Add file-type.h.
* modules/filemode (EXTRA_DIST): Add filemode.h.
* modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
* modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
* modules/fpending (EXTRA_DIST): Add __fpending.h.
* modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
* modules/fsusage (EXTRA_DIST): Add fsusage.h.
* modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
* modules/getcwd (EXTRA_DIST): Add getcwd.h.
* modules/getdate (EXTRA_DIST): Add getdate.c.
* modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
* modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
* modules/getpass (EXTRA_DIST): Add getpass.h.
* modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
* modules/group-member (EXTRA_DIST): Add group-member.h.
* modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
* modules/hash (EXTRA_DIST): Add hash.h.
* modules/human (EXTRA_DIST): Add human.h.
* modules/inttypes (EXTRA_DIST): Add inttypes.h.
* modules/lchmod (EXTRA_DIST): Add lchmod.h.
* modules/lchown (EXTRA_DIST): Add lchown.h.
* modules/long-options (EXTRA_DIST): Add long-options.h.
* modules/lstat (EXTRA_DIST): Add lstat.h.
* modules/md5 (EXTRA_DIST): Add memcasecmp.h.
* modules/memcoll (EXTRA_DIST): Add memcoll.h.
* modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
* modules/memrchr (EXTRA_DIST): Add memrchr.h.
* modules/memxor (EXTRA_DIST): Add memxor.h.
* modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
* modules/mkdir-p (EXTRA_DIST): Add modechange.h.
* modules/mountlist (EXTRA_DIST): Add mountlist.h.
* modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
* modules/pathmax (EXTRA_DIST): Add pathmax.h.
* modules/physmem (EXTRA_DIST): Add physmem.h.
* modules/posixtm (EXTRA_DIST): Add posixtm.h.
* modules/posixver (EXTRA_DIST): Add posixver.h.
* modules/quote (EXTRA_DIST): Add quote.h.
* modules/quotearg (EXTRA_DIST): Add quotearg.h.
* modules/readtokens (EXTRA_DIST): Add readtokens.h.
* modules/readutmp (EXTRA_DIST): Add readutmp.h.
* modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c regex_internal.h regexec.c.
* modules/safe-read (EXTRA_DIST): Add safe-read.h.
* modules/safe-write (EXTRA_DIST): Add safe-write.h.
* modules/same (EXTRA_DIST): Add same.h.
* modules/same-inode (EXTRA_DIST): Add same-inode.h.
* modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
* modules/savedir (EXTRA_DIST): Add savedir.h.
* modules/sha1 (EXTRA_DIST): Add sha1.h.
* modules/sig2str (EXTRA_DIST): Add sig2str.h.
* modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
* modules/stat-time (EXTRA_DIST): Add stat-time.h.
* modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
* modules/strdup (EXTRA_DIST): Add strdup.h.
* modules/strftime (EXTRA_DIST): Add strftime.h.
* modules/strndup (EXTRA_DIST): Add strndup.h.
* modules/strnlen (EXTRA_DIST): Add strnlen.h.
* modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
* modules/time_r (EXTRA_DIST): Add time_r.h.
* modules/timespec (EXTRA_DIST): Add timespec.h.
* modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
* modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
* modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
* modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
* modules/userspec (EXTRA_DIST): Add userspec.h.
* modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
* modules/utimens (EXTRA_DIST): Add utimens.h.
* modules/xalloc (EXTRA_DIST): Add xalloc.h.
* modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
* modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
* modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
* modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
* modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
* modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
* modules/yesno (EXTRA_DIST): Add yesno.h.
+
* m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
* m4/dev-ino.m4, same-inode.m4: Remove.
+
* m4/_inttypes_h.m4 (gl_INTTYPES_H):
* m4/acl.m4 (AC_FUNC_ACL):
* m4/backupfile.m4 (gl_BACKUPFILE):
* m4/c-strtod.m4 (gl_C99_STRTOLD):
* m4/canon-host.m4 (gl_CANON_HOST):
* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
* m4/chdir-safer.m4 (gl_CHDIR_SAFER):
* m4/cloexec.m4 (gl_CLOEXEC):
* m4/close-stream.m4 (gl_CLOSE_STREAM):
* m4/closeout.m4 (gl_CLOSEOUT):
* m4/dirfd.m4 (gl_FUNC_DIRFD):
* m4/dirname.m4 (gl_DIRNAME):
* m4/exclude.m4 (gl_EXCLUDE):
* m4/exitfail.m4 (gl_EXITFAIL):
* m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
* m4/file-type.m4 (gl_FILE_TYPE):
* m4/filemode.m4 (gl_FILEMODE):
* m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
* m4/fpending.m4 (gl_FUNC_FPENDING):
* m4/fprintftime.m4 (gl_FPRINTFTIME):
* m4/fts.m4 (gl_FUNC_FTS):
* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
* m4/getdate.m4 (gl_GETDATE):
* m4/gethrxtime.m4 (gl_GETHRXTIME):
* m4/getpagesize.m4 (gl_GETPAGESIZE):
* m4/getpass.m4 (gl_FUNC_GETPASS):
* m4/gettime.m4 (gl_GETTIME):
* m4/getugroups.m4 (gl_GETUGROUPS):
* m4/glob.m4 (gl_GLOB_SUBSTITUTE):
* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
* m4/hard-locale.m4 (gl_HARD_LOCALE):
* m4/hash.m4 (gl_HASH):
* m4/idcache.m4 (gl_IDCACHE):
* m4/lchmod.m4 (gl_FUNC_LCHMOD):
* m4/lchown.m4 (gl_FUNC_LCHOWN):
* m4/long-options.m4 (gl_LONG_OPTIONS):
* m4/lstat.m4 (gl_FUNC_LSTAT):
* m4/md5.m4 (gl_MD5):
* m4/memcasecmp.m4 (gl_MEMCASECMP):
* m4/memcoll.m4 (gl_MEMCOLL):
* m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
* m4/memrchr.m4 (gl_FUNC_MEMRCHR):
* m4/memxor.m4 (gl_MEMXOR):
* m4/mkancesdirs.m4 (gl_MKANCESDIRS):
* m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
* m4/modechange.m4 (gl_MODECHANGE):
* m4/mountlist.m4 (gl_MOUNTLIST):
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
* m4/openat.m4 (gl_FUNC_OPENAT):
* m4/pathmax.m4 (gl_PATHMAX):
* m4/physmem.m4 (gl_PHYSMEM):
* m4/posixtm.m4 (gl_POSIXTM):
* m4/posixver.m4 (gl_POSIXVER):
* m4/quote.m4 (gl_QUOTE):
* m4/quotearg.m4 (gl_QUOTEARG):
* m4/readtokens.m4 (gl_READTOKENS):
* m4/readutmp.m4 (gl_READUTMP):
* m4/regex.m4 (gl_REGEX):
* m4/safe-read.m4 (gl_SAFE_READ):
* m4/safe-write.m4 (gl_SAFE_WRITE):
* m4/same.m4 (gl_SAME):
* m4/save-cwd.m4 (gl_SAVE_CWD):
* m4/savedir.m4 (gl_SAVEDIR):
* m4/settime.m4 (gl_SETTIME):
* m4/sha1.m4 (gl_SHA1):
* m4/sig2str.m4 (gl_FUNC_SIG2STR):
* m4/stat-macros.m4 (gl_STAT_MACROS):
* m4/stat-time.m4 (gl_STAT_TIME):
* m4/stdio-safer.m4 (gl_FOPEN_SAFER):
* m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
* m4/strdup.m4 (gl_FUNC_STRDUP):
* m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
* m4/strndup.m4 (gl_FUNC_STRNDUP):
* m4/strnlen.m4 (gl_FUNC_STRNLEN):
* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
* m4/time_r.m4 (gl_TIME_R):
* m4/timespec.m4 (gl_TIMESPEC):
* m4/unistd-safer.m4 (gl_UNISTD_SAFER):
* m4/unlinkdir.m4 (gl_UNLINKDIR):
* m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
* m4/userspec.m4 (gl_USERSPEC):
* m4/utimecmp.m4 (gl_UTIMECMP):
* m4/utimens.m4 (gl_UTIMENS):
* m4/xalloc.m4 (gl_XALLOC):
* m4/xgetcwd.m4 (gl_XGETCWD):
* m4/xnanosleep.m4 (gl_XNANOSLEEP):
* m4/xreadlink.m4 (gl_XREADLINK):
* m4/xstrtod.m4 (gl_XSTRTOD):
* m2/yesno.m4 (gl_YESNO):
Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
to get the necessary .h files and whatnot.
2006-08-21 21:46:31 +00:00
Paul Eggert
631efbd247 Sync from coreutils.
* m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
* m4/time_r.m4 (gl_TIME_R): Likewise.

2006-07-19  Mike Frysinger  <vapier@gentoo.org>
* lib/mountlist.c [ME_REMOTE]: Filter out cifs.
See <http://bugs.gentoo.org/141012>.
2006-08-09 22:27:27 +00:00
Paul Eggert
4392fa65c8 Commentary sync from coreutils. 2006-07-09 01:31:04 +00:00
Paul Eggert
a8f0811e1e * lib/.cppi-disable: Add wcwidth.
* lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
(isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
(ISGRAPH): Remove.  All uses changed to isgraph.
(FOLD) [!defined _LIBC]: Remove special case.
* lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
* lib/regext_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
HAVE_ISBLANK.
* lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special case.

* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
no longer needed.  Check for isblank decl.
* m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
* m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
of existence.
2006-07-06 21:51:28 +00:00
Paul Eggert
8335a4d6c7 Merge regex changes from libc, removing some of our
POSIX-conformance changes that were rejected and redoing them in a
less-intrusive way.

* lib/regcomp.c (re_compile_internal, init_dfa):
Length arg is now size_t, not Idx.  All uses changed.
(peek_token): Forward decl now says internal_function.
(__re_error_msgid, __re_error_msgid_idx):
Now static rather than extern with attribute_hidden.
(re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
For some reason libc prefers K&R style defns for external functions.
(regerror) [!defined _LIBC]: Likewise.
(re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
(seek_collating_symbol_entry, lookup_collation_sequence_value):
(build_range_exp, build_collating_symbol):
Use K&R-style defn.
(re_compile_fastmap): Use '\0' to memset, not 0.
(utf8_sb_map): Make the calculations more obvious.
(init_dfa, parse_bracket_exp, build_charclass_op):
Call calloc and cast result, as glibc does.
(init_word_char, fetch_token, peek_token, peek_token_bracket):
(build_range_exp, build_collating_symbol):
Now internal functions.

* lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.

* lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
_REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
Don't depend on VMS; depend on __VMS instead, for POSIX
namespace cleanness.
(regoff_t): Define to ssize_t, not long int.

Remove the REG_ macros named below.  Instead, make the old names
(e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
__USE_GNU_REGEX.
(REG_BACKSLASH_ESCAPE_IN_LISTS):
(REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
(REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
(REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
(REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
(REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
(REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
(REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
(REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
(REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
(REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
(REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
(REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
(REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
(REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
(REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
(REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
(REG_NREGS):
Remove.  All uses replaced by the old RE_* names.
(RE_BACKSLASH_ESCAPE_IN_LISTS):
(RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
(RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
(RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
(RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
(RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
(RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
(RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
(RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
(RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
(RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
Don't bother having these macros be independent of each others'
values, since they no longer exist in the POSIX name space.

Rename the following member names back to their old names,
unless !__USE_GNU_REGEX.  All uses changed back.
(buffer): Renamed from re_buffer.
(allocated): Renamed from re_allocated.
(used): Renamed from re_used.
(syntax): Renamed from re_syntax.
(fastmap): Renamed from re_fastmap.
(translate): Renamed from re_translate.
(can_be_null): Renamed from re_can_be_null.
(regs_allocated): Renamed from re_regs_allocated.
(fastmap_accurate): Renamed from re_fastmap_accurate.
(no_sub): Renamed from re_no_sub.
(not_bol): Renamed from re_not_bol.
(not_eol): Renamed from re_not_eol.
(newline_anchor): Renamed from re_newline_anchor.
(num_regs): Renamed from rm_num_regs.
(start): Renamed from rm_start.
(end): Renamed from rm_end.

(free_state): Move up a bit.

* lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
#define to be empty.
(ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
when that is what is intended.
(SBC_MAX): Define to UCHAR_MAX + 1, not 256.
(__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
(MAX): New macro.
(re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
All uses changed back to re_malloc, etc.  It's now the caller's
responsibility to check for overflow; all callers changed.
(re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
(re_x2nrealloc): Remove.
(free_state): Remove decl.

* lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
(re_set_registers, re_exec):
Use K&R-style defn.

2006-01-31  Roland McGrath  <roland@redhat.com>

* lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
Reported by Mike Frysinger <vapier@gentoo.org>.

2006-01-15  Andreas Jaeger  <aj@suse.de>

[BZ #1950]
* lib/regex_internal.c (re_string_reconstruct): Adjust for
build_wcs_upper_buffer change.
(build_wcs_upper_buffer): Change return type.

2005-12-10  Ulrich Drepper  <drepper@redhat.com>

* lib/regex_internal.h: Include <stdint.h> if available.

2005-12-06  Paolo Bonzini  <bonzini@gnu.org>

* lib/regex_internal.h (SIZE_MAX): Provide a default definition.

2005-10-14  Ulrich Drepper  <drepper@redhat.com>

* lib/regcomp.c: Adjust for changed secondary hash function.

2005-09-30  Ulrich Drepper  <drepper@redhat.com>

* lib/regex.h: Pretty printing.
Clean up namespace a bit.

2005-09-30  Jakub Jelinek  <jakub@redhat.com>

* lib/regexec.c (update_cur_sifted_state, check_arrival,
check_arrival_add_next_nodes): Avoid using uninitialized variable.

2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
	    Ulrich Drepper  <drepper@redhat.com>

[BZ #1302]
* lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses changed.
(bitset_word_t): Renamed from bitset_word.  All uses changed.

2005-09-22  Ulrich Drepper  <drepper@redhat.com>

[BZ #281]
* lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
* lib/regcomp.c: Remove unnecessary uses of
unsigned RE_TRANSLATE_TYPE.
* lib/regex_internal.h: Likewise.
* lib/regex_internal.c: Likewise.
* lib/regexec.c: Likewise.
Based on a patch by Stepan Kasal <kasal@ucw.cz>.

2005-09-07  Ulrich Drepper  <drepper@redhat.com>

* lib/regexec.c (find_recover_state): Remove unnecessary
initialization.
(transit_state_bkref): Make DFA a const pointer.
(get_subexp): Likewise.
(check_arrival): Likewise.
(update_cur_sifted_state): Likewise.
(re_search_internal): Likewise.
(prune_impossible_nodes): Likewise.
(acquire_init_state_context): Likewise.
(proceed_next_node): Likewise.
(set_regs): Likewise.
(free_fail_stack_return): Likewise.
(check_arrival_expand_ecl): Mark DFA parameter as const.
(check_arrival_expand_ecl_sub): Likewise.
(check_subexp_limits): Likewise.
(sub_epsilon_src_nodes):  Likewise.
(add_epsilon_src_nodes):  Likewise.
(merge_state_array): Likewise.
(update_regs): Likewise.
(build_trtable): Likewise.
(sift_states_backward): Mark MCTX parameter as const.
(build_sifted_states): Likewise.
(update_cur_sifted_state): Likewise.
(sift_states_mkref): Likewise.
(check_arrival_expand_ecl): Mark eclosure as const.
(check_dst_limits_calc_pos_1): Likewise.
* lib/regex_internal.h (re_match_context_t): Make dfa a const
pointer.

2005-09-06  Ulrich Drepper  <drepper@redhat.com>

* lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
(transit_state_sb): Likewise.
(transit_state_mb): Likewise.
(sift_states_iter_mb): Likewise.
(check_arrival_add_next_nodes): Likewise.
(check_node_accept_bytes): Change first parameter to pointer-to-const.
[_LIBC] (re_search_2_stub): Use mempcpy.

* lib/regex_internal.c (re_string_reconstruct): Avoid calling
mbrtowc for very simple UTF-8 case.

* lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
a pointer-to-const.
(re_acquire_state_context): Likewise.
* lib/regex_internal.h: Adjust prototypes.

* lib/regex.c: Prevent using C++ compilers.

* lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
(re_acquire_state_context): Likewise.
2006-04-10 06:43:33 +00:00
Paul Eggert
f8211e8038 * regex.m4 (gl_REGEX): Fix a longstanding typo in the
implementation of Spencer ERE test #75 from grep 2.3.
Also, change sense of cached
variable, so that the message makes sense.
2006-03-25 09:48:47 +00:00
Paul Eggert
d41ac94ee9 * regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
glibc names.  Even if glibc is changed to conform to POSIX, the
traditional names will be available anyway, since regex depends on
the extensions module.  Problem reported by Emanuele Giaquinta.
2006-03-25 09:09:59 +00:00
Jim Meyering
367034f2f8 (gl_REGEX): Fix typo in last change:
s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
2006-03-17 10:14:32 +00:00
Paul Eggert
c0174c2f81 * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
Typedef to long int, not to off_, as POSIX will likely change
in that direction.

* m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
no longer needs it.  Instead, check that regoff_t is as least
as wide as ptrdiff_t.

Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
so that our regex.h stays compatible with the installed regex.
This is helpful for installers who configure --without-included-regex.
Problem reported by Emanuele Giaquinta.
2006-03-17 07:26:42 +00:00
Paul Eggert
eecc352a22 * regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
statement, to work around an HP-UX 10.20 compiler bug reported by
Peter O'Gorman.
2005-12-02 00:30:09 +00:00
Paul Eggert
cd16db1c83 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
and similarly for the other external symbols.  Problem reported
by James Gallager.
2005-09-23 21:18:20 +00:00
Paul Eggert
28492cce5d On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
old glibc regex code mishandles strings longer than 2**31 bytes.
This patch fixes this when the regex code is used in gnulib
(i.e., outside glibc).

* lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
governing whether the rest of this patch is active.  By default,
the macro is disabled and the patch has no effect.
(regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
(__re_idx_t, __re_size_t, __re_long_size_t): New types.
(struct re_pattern_buffer, re_search, re_search_2, re_match):
(re_match_2, re_set_registers): Use the new types.
* lib/regex_internal.h (Idx, re_hashval_t): New types.
(REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
New macros.
(re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
(re_string_context_at, bin_tree_t, re_dfastate_t):
(struct re_state_table_entry, state_array_t, re_sub_match_last_t):
(re_sub_match_top_t, re_match_context_t, re_sift_context_t):
(struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
(re_string_char_size_at, re_string_wchar_at):
(re_string_elem_size_at):
Use the new types and macros to port to 64-bit hosts.
Use unsigned types for internal values, so that the code
mostly works even for arrays larger than SSIZE_MAX.
* lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
(search_duplicated_node, calc_eclosure_iter, fetch_number):
(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
(build_equiv_class, build_charclass, re_compile_fastmap_iter):
(free_dfa_content, create_initial_state, optimize_utf8, analyze):
(optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
(calc_inveclosure, parse_dup_op, build_range_exp):
(build_collating_symbol, parse_bracket_exp, build_charclass_op):
(fetch_number, create_token_tree, mark_opt_subexp):
Likewise.
* lib/regex_internal.c
(re_string_construct_common, create_ci_newstate):
(create_cd_newstate, re_string_allocate, re_string_construct):
(re_string_realloc_buffers, build_wcs_upper_buffer):
(re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
(re_string_reconstruct, re_string_peek_byte_case):
(re_string_fetch_byte_case, re_string_context_at):
(re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
(re_node_set_init_copy, re_node_set_add_intersect):
(re_node_set_init_union, re_node_set_merge, re_node_set_insert):
(re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
(re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
(re_acquire_state, re_acquire_state_context, register_state):
Likewise.
* lib/regex.c
(match_ctx_init, match_ctx_add_entry, search_cur_bkref_entry):
(match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
(re_search_internal, re_search_2_stub, re_search_stub)
(re_copy_regs, check_matching, check_halt_state_context, update_regs):
(push_fail_stack, sift_states_iter_mb, build_sifted_states):
(update_cur_sifted_state, check_dst_limits):
(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
(check_subexp_limits, sift_states_bkref, merge_state_array):
(check_subexp_matching_top, get_subexp, get_subexp_sub):
(find_subexp_node, check_arrival, check_arrival_add_next_nodes):
(check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
(expand_bkref_cache, check_node_accept_bytes):
(group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
(re_search, re_match_2, re_search_2, prune_impossible_nodes):
(acquire_init_state_context, check_halt_node_context):
(proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
(sift_states_backward, clean_state_log_if_needed):
(sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
(find_recover_state, transit_state_sb, transit_state_mb):
(transit_state_bkref, build_trtable, match_ctx_clean):
Likewise.
* lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
to work around an assumption that REG_MISSING is negative.
* m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
_REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
and large-file glibc and in 32-bit large-file Solaris.
* config/srclist.txt: Add glibc bug 1281.
2005-08-31 22:51:09 +00:00
Paul Eggert
155c06edca * m4/regex.m4: Add AC_PREREQ(2.50).
(gl_REGEX): If --with-included-regex was given, skip the autodetection.
2005-08-25 20:54:03 +00:00
Paul Eggert
e6d7b6dadf * config/srclist.txt: Add glibc bug 1237.
* lib/regcomp.c, lib/regex_internal.c, lib/regex_internal.h:
* lib/regexec.c:
All uses of recently-renamed identifiers changed to use the new,
POSIX-compliant names.  The code will build and run just fine
without these changes, but it's better to eat our own dog food
and use the standard-conforming names.
* m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
for GNU regex features.
2005-08-24 23:29:39 +00:00
Paul Eggert
e9614e386a * regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
All contents moved to gl_REGEX.
(gl_REGEX): Don't bother checking whether lib/regex.c exists;
assume that it does.
2005-08-23 18:48:31 +00:00
Paul Eggert
ff63492ce6 * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE. 2005-08-21 00:51:27 +00:00
Paul Eggert
734cb0d7b6 * regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_ELSE instead of the
obsolescent AC_TRY_RUN.  Include the default includes files, for 'exit'.
2005-07-25 19:28:26 +00:00
Paul Eggert
151e40bb39 * modules/regex (Files): Add lib/regex_internal.c,
lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
(Depends-on): Add extensions.
(Makefile.am): Remove lib_SOURCES; now done by m4 code.
* config/srclist.txt: Add regcomp.c, regex.c, regex.h, regex_internal.c,
regexec.c.
Add regex_internal.h too, but as a comment, since the libc version
is currently broken in gnulib mode.
* lib/regex.c, lib/regex.h: Sync from libc.
* lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h, lib/regexec.c:
New files, synced from libc, except that regex_internal.h
currently has a small porting fix.
* m4/regex.m4: Adjust to new libc regex implementation.
(gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
all the .c and .h parts of (the new) regex.
Quote the m4 stuff better.
Check for RE_ICASE bug of old gnulib.
Check for REG_STARTEND of recent libc.
Rename local variables from jm_* to gl_*.
Quote operand of "test -f".
Say "recent enough" version of libc, not "version 2".
(gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
Remove check for btowc, isascii.
Require AM_LANGINFO_CODESET.
2005-07-07 08:08:39 +00:00
Paul Eggert
44d7c1c1f0 Use an all-permissive copyright notice, recommended by RMS. 2005-01-23 08:06:57 +00:00
Jim Meyering
23fe10e274 Change jm_ to gl_ in AC_DEFINE'd names. Update all uses. 2004-04-18 18:12:50 +00:00
Paul Eggert
d136d93044 Remove K&R cruft. 2003-09-10 06:18:22 +00:00
Paul Eggert
44e1c0fdad (jm_INCLUDED_REGEX): Change "\201" to "\371"; apparently Emacs's
Unicode mode got confused before my 2003-08-05 checkin .
2003-08-09 20:04:34 +00:00
Paul Eggert
ec3d798a1a Add 'restrict' module. 2003-08-07 19:33:14 +00:00
Paul Eggert
9e354723fe Whoops; it was \201, not \371. 2003-08-06 06:27:39 +00:00
Paul Eggert
d3ebe2cfb0 (jm_INCLUDED_REGEX): Don't use Latin-1 in C source code; use \371
instead.
2003-08-06 06:13:54 +00:00
Bruno Haible
40fc0427a6 Bump serial number, for last change. 2003-07-23 11:08:01 +00:00
Paul Eggert
e57b0bd6cc Correct SunOS and Solaris version number notation to match Sun's usage. 2003-07-22 22:56:34 +00:00
Jim Meyering
b8800e86f3 (jm_INCLUDED_REGEX): Detect broken re_search in e.g. glibc-2.2.93. 2003-02-02 18:27:48 +00:00
Jim Meyering
b081927a04 The `regex' struct is both input and output.
Initialize it before each use.  Patch by Tim Waugh.
2003-01-16 18:30:31 +00:00
Bruno Haible
e059c2358a An independent .m4 file for each module. 2002-12-31 13:43:06 +00:00
Jim Meyering
ee76465ad8 Quote the first argument in each use of AC_DEFUN. 2001-08-12 13:26:00 +00:00
Jim Meyering
b857a5537f (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
unmatched right bracket, rather than an extra, falsely-matching
quote in a comment.  Patch by Akim Demaille.
2001-06-24 20:01:11 +00:00
Jim Meyering
f2aaef059b Change a couple backticks to single quotes to avoid shell syntax errors. 2001-05-21 10:52:02 +00:00
Jim Meyering
bcfcc8bed2 Use proper quoting so brackets appear in the test program. 2001-05-16 07:33:22 +00:00
Jim Meyering
1101c119db Use proper quoting so brackets appear in the test program. 2001-05-15 14:02:19 +00:00