When I run

port echo depends:vim

neovim-qt
p5-text-vimcolor
py-neovim
rails.vim
libvmaf
gutils-suite-core
mpvim
neovim-remote
nvimpager
vim2html
vimpager
dosfstools

(12 ports are listed)

But when I run

port echo rdepends:vim

dosfstools
gutils-suite
gutils-suite-core
gutils-suite-extra
libvmaf
mpvim
rails.vim
vim2html
vimpager

(9 ports are listed)

Another subtle semantic difference. The selectors that match against the PortIndex do so as a regex. But for rdepends:, there isn't really any sensible way to apply the same regex recursively, since the string you want to match changes with each level of recursion. So it just does exact string matching on the portname component of each depspec.

Due to depends: taking a regex that is matched on the raw PortIndex fields, the way to get all ports that directly depend on vim is actually:

port echo 'depends::vim(\s|$)'

because the regex "vim" will match other ports like neovim and vimpager.

- Josh

Reply via email to