[ Sorry for not having one diff which creates new files, but "cvs diff -N" seems to be ignoring that little 'N' ] The attached patch and files, which includes documentation, adds a new loadable module, zsh/regex. I've not examined widechar issues and which regex libraries actually do handle these. I've not looked at linkage issues on platforms where regex (the POSIX interface, not regexp) is not a part of libc. This also includes my previous =~ work, replacing the previous patch. I'm not sure that auto-unsetting REMATCH_PCRE is a good idea, so invite comments; also as to which should be the default value; I suppose that if pcre is not the default, then the warning can be put back in ... My only test platform has been freebsd/amd64. I've also cleaned up various memory leaks in zsh/pcre. zsh/pcre now also sets $MATCH, not just $match. I went with having $BASH_REMATCH be set instead of, rather than in addition to, $MATCH and $match. I'm again very open to persuasion here. Oh, and the copyright notice in regex.c seems a bit disjointed, with multiple names. What's the copyright policy on newly contributed files? zsh/regex provides the -regex-match conditional operator, the knowledge of -regex-match and -pcre-match remains in cond.c with the COND_REGEX handling for =~. Also, I've decided that I much prefer the PCRE API to the POSIX regex API. :-) I'm off to drink more wine to recover. -Phil