X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fregex.h;h=ae2c910b80447bffc01e8c4bf84334a03f53fe2d;hb=818f224de6694aa92bf9ba77b52c8c8d0dd24999;hp=d4c2e5a60eaa11f8bc352c4e4de2679b641514ef;hpb=8ae91923b1c6a495348a86739ef5dafb55993b56;p=chise%2Fxemacs-chise.git.1 diff --git a/src/regex.h b/src/regex.h index d4c2e5a..ae2c910 100644 --- a/src/regex.h +++ b/src/regex.h @@ -358,9 +358,14 @@ struct re_pattern_buffer when it is matched. */ RE_TRANSLATE_TYPE translate; - /* Number of subexpressions found by the compiler. */ + /* Number of returnable groups found by the compiler. (This does + not count shy groups.) */ Element_count re_nsub; + /* Total number of groups found by the compiler. (Including + shy ones.) */ + Element_count re_ngroups; + /* Zero if this pattern cannot match the empty string, one else. Well, in truth it's used only in `re_search_2', to see whether or not we should use the fastmap, so we don't set @@ -395,6 +400,12 @@ struct re_pattern_buffer /* If true, an anchor at a newline matches. */ unsigned newline_anchor : 1; + /* Mapping between back references and groups (may not be + equivalent with shy groups). */ + int *external_to_internal_register; + + int external_to_internal_register_size; + /* [[[end pattern_buffer]]] */ };