diff options
author | stanton <stanton> | 1999-06-10 04:28:49 (GMT) |
---|---|---|
committer | stanton <stanton> | 1999-06-10 04:28:49 (GMT) |
commit | 81e8aa10e3e8c90c32e241356ce9bc68b5e4b3dc (patch) | |
tree | d6b1bb3e195e2ca1b7f57a6a2987c276d5013ffa /generic/tcl.h | |
parent | d94b3c0f6b26564b83b3767980271dd332314d06 (diff) | |
download | tcl-81e8aa10e3e8c90c32e241356ce9bc68b5e4b3dc.zip tcl-81e8aa10e3e8c90c32e241356ce9bc68b5e4b3dc.tar.gz tcl-81e8aa10e3e8c90c32e241356ce9bc68b5e4b3dc.tar.bz2 |
* generic/tclUnicodeObj.c: Lots of cleanup and simplification.
Fixed several memory bugs. Added TclAppendUnicodeToObj.
* generic/tclInt.h: Added declarations for various Unicode string
functions.
* generic/tclRegexp.c:
* generic/tclCmdMZ.c: Changed to use new Unicode string interfaces
for better performance.
* generic/tclRegexp.h:
* generic/tclRegexp.c:
* generic/tcl.h:
* generic/tcl.decls: Added Tcl_RegExpMatchObj and
Tcl_RegExpGetInfo calls to access lower level regexp API. These
features are needed by Expect. This is a preliminary
implementation pending final review and cleanup.
* generic/tclCmdMZ.c:
* tests/string.test: Fixed bug where string map failed on null
strings.
Diffstat (limited to 'generic/tcl.h')
-rw-r--r-- | generic/tcl.h | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index 829f0b7..2c7ea05 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tcl.h,v 1.44 1999/05/22 01:20:11 stanton Exp $ + * RCS: @(#) $Id: tcl.h,v 1.45 1999/06/10 04:28:49 stanton Exp $ */ #ifndef _TCL @@ -373,6 +373,46 @@ typedef struct Tcl_Trace_ *Tcl_Trace; typedef struct Tcl_Var_ *Tcl_Var; /* + * Flag values passed to Tcl_GetRegExpFromObj. + */ + +#define TCL_REG_BASIC 000000 /* BREs (convenience) */ +#define TCL_REG_EXTENDED 000001 /* EREs */ +#define TCL_REG_ADVF 000002 /* advanced features in EREs */ +#define TCL_REG_ADVANCED 000003 /* AREs (which are also EREs) */ +#define TCL_REG_QUOTE 000004 /* no special characters, none */ +#define TCL_REG_NOCASE 000010 /* ignore case */ +#define TCL_REG_NOSUB 000020 /* don't care about subexpressions */ +#define TCL_REG_EXPANDED 000040 /* expanded format, white space & + * comments */ +#define TCL_REG_NLSTOP 000100 /* \n doesn't match . or [^ ] */ +#define TCL_REG_NLANCH 000200 /* ^ matches after \n, $ before */ +#define TCL_REG_NEWLINE 000300 /* newlines are line terminators */ +#define TCL_REG_CANMATCH 001000 /* report details on partial/limited + * matches */ + +/* + * Structures filled in by Tcl_RegExpInfo. Note that all offset values are + * relative to the start of the match string, not the beginning of the + * entire string. + */ + +typedef struct Tcl_RegExpIndices { + long start; /* character offset of first character in match */ + long end; /* character offset of first character after the + * match. */ +} Tcl_RegExpIndices; + +typedef struct Tcl_RegExpInfo { + int nsubs; /* number of subexpressions in the + * compiled expression*/ + Tcl_RegExpIndices *matches; /* array of nsubs match offset + * pairs */ + long extendStart; /* The offset at which a subsequent + * match might begin. */ +} Tcl_RegExpInfo; + +/* * Picky compilers complain if this typdef doesn't appear before the * struct's reference in tclDecls.h. */ |