* rx-new.el (rx-constituents): Change `anything' to call
rx-anything. Change `not-wordchar' assignment to "\\W" from "[^[:word:]]". (rx-group-if): New function. (rx-parent): New variable. (rx-and, rx-or): Put shy groups only when necessary. (rx-bracket): Remove. (rx-anything): New function. (rx-any-delete-from-range, rx-any-condense-range) (rx-check-any-string): New functions. (rx-check-any): Return result as a list. Don't convert chars to strings. Don't prepend "\\" to "^". Don't search for close bracket. Check char category string. Call rx-form instead of rx-to-string. (rx-any): Rebuid to complete the function. (rx-check-not): Fix char category regexp pattern string. Call rx-form instead of rx-to-string. (rx-not): Call rx-form instead of rx-to-string. Convert "[^]" to "[^^]". Call regexp-quote for one char string when not called from rx-not. Add "\\w", and toggle to upcase. Add the case of "\\[SCBW]" to toggle. (rx-=, rx->=, rx -**, rx-repeat, rx-submatch): Call rx-form instead of rx-to-string. (rx-kleene): Call rx-form instead of rx-to-string. Call rx-group-if to adjust putting of shy groups. (rx-atomic-p): Make check more precisely. (rx-eval, rx-greedy): Call rx-form instead of rx-to-string. (rx-regexp): Call rx-group-if. (rx-form): New function. (rx-to-string): Call rx-form, rx-group-if. Refine definition of NO-GROUP.
Showing with 34 additions and 0 deletions