Well, I just tried to repeat your steps: --------- mkdir /tmp/zsh cd /tmp/zsh git pull git://git.code.sf.net/p/zsh/code ./.preconfig CPPFLAGS=-I/usr/include LDFLAGS='-L/usr/lib64 -static' \ ./configure --prefix=/tmp/zsh/uzsh --enable-etcdir=/etc --with-tcsetpgrp \ --enable-function-subdirs --enable-maildir-support --enable-multibyte \ --enable-zsh-mem --enable-zsh-secure-free --sysconfdir=/usr \ --disable-dynamic --with-term-lib="tinfow tinfo" --enable-pcre \ --disable-dynamic # yeah, even with double `disable-dynamic like in yours) sed -i -e '/name=zsh\/(pcre|regex)/s/link=no/link=static/' config.modules make ---------- Then I called ./Src/zsh -f, and... note% setopt rematchpcre note% [[ 'foo→bar' =~ .([^[:ascii:]]). ]]; print $MATCH zsh: module `zsh/pcre' has no such feature: `C:pcre-match' zsh: -pcre-match not available for regex So, it seems, it is either somehow related to linux only, or to libpcre version, maybe...