This is a bug indeed but it goes deeper.
As I tried to explain in an earlier answer to the list, the real problem
is that the options --match, --hash, --patch, and --index to "darcs show
contents" are all ill-defined: it makes no sense to select a *single*
patch and then ask "what are the contents of file xxx after applying
this patch?". Because that depends on the context (=state of the repo)
in which you apply the patch.
The same problem exists, BTW, for the commands: show files, dist, and
What you want is another set of options: --to-match, --to-hash,
--to-patch, and --to-index that give you the state of the repo after
applying all patches up to the one selected. These options implicitly
depend on the current order of patches in the repo.
For compatibility we could continue to support the old options as
aliases for the --to- variants in the case of the affected four commands.