X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=regex.h;h=7241683798826318b43db17c340d7d0f4ec50ccb;hb=refs%2Ftags%2FFILEUTILS-4_0-b4;hp=31eaf849f757245a2baf6a8266444b1b3c94857c;hpb=2dd0bd2a2e7b07e3e47e35a4c06eab8b708fe499;p=gnulib.git diff --git a/regex.h b/regex.h index 31eaf849f..724168379 100644 --- a/regex.h +++ b/regex.h @@ -15,7 +15,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. */ #ifndef __REGEXP_LIBRARY_H__ #define __REGEXP_LIBRARY_H__ @@ -139,6 +140,13 @@ typedef unsigned reg_syntax_t; stored in the pattern buffer, so changing this does not affect already-compiled regexps. */ extern reg_syntax_t re_syntax_options; + +#ifdef emacs +/* In Emacs, this is the string or buffer in which we + are matching. It is used for looking up syntax properties. */ +extern Lisp_Object re_match_object; +#endif + /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so @@ -279,6 +287,12 @@ typedef enum compiled, the `re_nsub' field is available. All other fields are private to the regex routines. */ +#ifndef RE_TRANSLATE_TYPE +#define RE_TRANSLATE_TYPE char * +#define RE_TRANSLATE(TBL, C) ((TBL)[C]) +#define RE_TRANSLATE_P(TBL) (TBL) +#endif + struct re_pattern_buffer { /* [[[begin pattern_buffer]]] */ @@ -305,7 +319,7 @@ struct re_pattern_buffer comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ - char *translate; + RE_TRANSLATE_TYPE translate; /* Number of subexpressions found by the compiler. */ size_t re_nsub; @@ -344,6 +358,10 @@ struct re_pattern_buffer /* If true, an anchor at a newline matches. */ unsigned newline_anchor : 1; + /* If true, multi-byte form in the `buffer' should be recognized as a + multibyte character. */ + unsigned multibyte : 1; + /* [[[end pattern_buffer]]] */ };