directaccess: make sure gethashsymbols does not return rev numbers
With "hg log -r 1 -r 2 -r 3", gethashsymbols will get the following tree:
('func', ('symbol', '_list'), ('string', '1\x002\x003'))
Before this patch, it will return ['1', '2', '3'], which are revision
numbers and causes unnecessary (expensive) partialmatch lookups.
This patch refacts gethashsymbols a bit, making sure the returning values
are always filtered.
syntax: re
/figures/[^/]+\.png$
^html/
\.pyc$
~$
\.swp$
\.orig$
\.rej$
\.err$
^tests/easy_run.sh$
^build/
^MANIFEST$
^docs/tutorials/.*\.rst$
\.ico$
tests/\.testtimes