portsから入れたzshで補完機能を有効にしつつ、mount [TAB]やるとエラーが出る
さっき気がついた。
_mount:575: failed to load module: zsh/regex _mount:575: -regex-match not available for regex
補完ってどこで定義してるんだっけ?
探索の旅開始。
追記
発見。
/usr/local/share/zsh/4.3.6/functions/Completion/Unix/_mount
追記2
575行付近。
if [[ "${OSTYPE}" =~ freebsd.* ]]; then _fs_msdosfs=( "$_fs_msdos[@]" ) fi
追記3
freebsd*|dragonfly*) _fs_any=( '(sync)async[do all I/O asynchronously]' 'current[use current options on already mounted file system]' 'force[force R/W mount of unclean filesystem]' 'fstab[use options listed in /etc/fstab]' 'noasync[do I/O synchronously]' "noatime[don't update access time]" 'noauto[can only be mounted explicitly]' 'noclusterr[disable read clustering]' 'noclusterw[disable write clustering]' "nodev[don't interpret devices]" "noexec[don't allow execution of binaries]" 'nosuid[ignore suid and sgid bits]' "nosymfollow[don't follow symlinks]" 'rdonly[mount file system read-only]' '(async)sync[do all I/O synchronously]' 'suiddir[allow suid bits on directories]' 'update[change status of already mounted filesystem]' 'union[cause the namespace at the mount point to appear as the union of the mounted filesystem and the existing directory]' ) _fs_cd9660=( 'extatt[enable the use of extended attributes]' 'gens[do not strip version numbers on files]' 'nojoliet[do not use any Joliet extensions]' 'norrip[do not use any Rockridge extensions]' 'nostrictjoliet[relax checking for Supplementary Volume Descriptor Flags field]' ) _fs_std=( "nodev[don't interpret devices]" "noexec[don't allow execution of binaries]" 'nosuid[ignore suid and sgid bits]' 'rdonly[mount file system read-only]' 'union[cause the namespace at the mount point to appear as the union of the mounted filesystem and the existing directory]' ) _fs_devfs=( "$_fs_std[@]" ) _fs_fdesc=( "$_fs_std[@]" ) _fs_kernfs=( "$_fs_std[@]" ) _fs_linprocfs=( "$_fs_std[@]" ) _fs_procfs=( "$_fs_std[@]" ) _fs_msdos=( 'shortnames[force only the old MS-DOS 8.3 style filenames to be visible]' 'longnames[force Windows 95 long filenames to be visible]' 'nowin95[completely ignore Windows 95 extended file information]' ) if [[ "${OSTYPE}" =~ freebsd.* ]]; then _fs_msdosfs=( "$_fs_msdos[@]" ) fi ;;
追記4
portsのオプション。NO_SHAREDかWITH_ZSH_PCREが悪さしてるのかな?
NO_SHARED=yes ZSH_ETCDIR=/usr/local/etc/zsh WITH_ZSH_PCRE=yes