Nonetheless, what a package writer intends when specifying
depends=('dependency>=3' 'dependency<=4')
is most probably that pacman should only allow this package to be installed when there indeed is a package present that provides a version of "dependency" that lies _between_ 3 and 5.
I'd think so too. Perhaps a reason for this confusion is the choice of syntax for version constraints? I don't know how much work and hassle it would be to change/expand it, but it might be worth at least considering adopting a less ambiguous syntax. One source of inspiration could be Apache Ivy, where ranges are specified much like in math: `[3.14,)` for any version >=3.14, `(3.14,4)` for >3.14 and <=4. I'm not a Pacman developer and I only manage a small handful of packages, which don't currently use version constraints, so please disregard me if I'm completely clueless. :)