/* These are the command codes that appear in compiled regular
expressions. Some opcodes are followed by argument bytes. A
command code can specify any interpretation whatsoever for its
- arguments. Zero bytes may appear in the compiled regular expression.
-
- The value of `exactn' is needed in search.c (search_buffer) in Emacs.
- So regex.h defines a symbol `RE_EXACTN_VALUE' to be 1; the value of
- `exactn' we use here must also be 1. */
+ arguments. Zero bytes may appear in the compiled regular expression. */
typedef enum
{
no_op = 0,
/* Followed by one byte giving n, then by n literal bytes. */
- exactn = 1,
+ exactn,
/* Matches any (more or less) character. */
anychar,
#define MATCH_MAY_ALLOCATE
/* The match routines may not allocate if (1) they would do it with malloc
- and (2) it's not safe for htem to use malloc. */
+ and (2) it's not safe for them to use malloc. */
#if (defined (C_ALLOCA) || defined (REGEX_MALLOC)) && (defined (emacs) || defined (REL_ALLOC))
#undef MATCH_MAY_ALLOCATE
#endif
}
\f
/* Entry points compatible with 4.2 BSD regex library. We don't define
- them if this is an Emacs or POSIX compilation. */
+ them unless specifically requested. */
-#if !defined (emacs) && !defined (_POSIX_SOURCE)
+#ifdef _REGEX_RE_COMP
/* BSD has one and only one pattern buffer. */
static struct re_pattern_buffer re_comp_buf;
return
0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
}
-#endif /* not emacs and not _POSIX_SOURCE */
+#endif /* _REGEX_RE_COMP */
\f
/* POSIX.2 functions. Don't define these for Emacs. */