Rx is found in the files `rx.h' and `rx.c'. It is an upward compatable replacement for GNU regex. If you want to try GNU Rx in your own application, the documentation for GNU _regex_ will tell you how. Notes: * This release of Rx is not quite ready for use in GNU Emacs. * When initializing a variable of type `struct re_pattern_buf', use `bzero' or an equivelent function first. Some older code might try to work by assigning 0 to specific fields defined in GNU regex. All of those fields still exist, but new fields have been added (and more may be in the future). * Rx keeps a cache of information about patterns. The size of this cache may effect performance. The default size should be large enough for most applications. However, for a program like `sed', there is no reason to keep the cache small. Such programs might want to assign a large number (say, 10000) to the global variable `rx_cache_bound' before calling other rx functions. Finer shades of allocation control are possible, but there is no documentation to describe how, yet. * Like GNU regex, Rx can return the positions of parenthesized subexpressions in a match (`registers'). Rx adds a new field to an `struct re_pattern_buf' called `syntax_parens'. That field may be used to tell Rx to ignore some parentheses; i.e.: to treat them as purely syntactic and not return the location of the subexpression they surround. Using this field is optional, but may speed up matches. Full documentation for this feature is lacking, but adventurous users can find an example of its use in `sed.c' and can have questions answered by writing to the bug address.