On Feb 3, 2011, at 6:32 AM, Carsten Dominik wrote:
On Sep 15, 2010, at 5:19 AM, Ilya Shlyakhter wrote:
In org-scan-tags, if todo-only is t, would it be possible to speed
things up by changingthe regexp go to just the lines with a TODO
keyword?
I believe this may cause a problem. The scanner needs to see at least
every parent node to be able to collect all inherited tags.
So I think that a tree like
* heading
** one :tag1:
*** TODO two :tag2:
would incorrectly miss out on :tag1:
OK, here is an example where it really does fail:
* heading
** one :tag1:
*** two
*** two :tag2:
*** TODO two :tag2:
*** two :tag2:
Fold up the tree, then do
C-c / m +tag1/! RET
This should find the "TODO two", but it does not, because the
new regexp moves right past the "one" line and so tag1 is
overlooked.
- Carsten
- Carsten
I.e. in
(let* ((re (concat "^" outline-regexp " *\\(\\<\\("
(mapconcat 'regexp-quote org-todo-keywords-1 "\
\|")
(org-re
"\\>\\)\\)? *\\(.*?\\)\\(:[[:alnum:]_@:]+:\\)?
[ \t]*$")))
remove the first "?" if todo-only is t. Also, regexp-opt might make
a more efficient regexp than mapconcat with regexp-quote.
Reason for request: I'm writing an extension of org for setting &
checking goals, and want to quickly find entries with headlines of
the
form
GOAL ....
of which there may be relatively few in a large file. So, stepping
through all entries and then checking them for the GOAL keyword is
very inefficient.
It would be much faster if the regexp included the GOAL as a keyword.
It would be good if the parameter todo-only could be a list of
strings, and org-scan-tags would return only the headlines where the
todo keyword is from this list.
It could use regexp-opt to make an efficient regexp for this.
There also seem to be other opportunities for speeding up
org-scan-tags in this way: e.g. if the match string includes +mytag,
the regexp for the headline could include this as well.
Similarly for properties. Maybe, org-make-tags-matcher could
return a
list of tags and properties that must appear in any matching entry.
It would also help if the tags matcher expression could refer to text
properties stored on the headline -- perhaps, with conditions such as
:myprop=X (i.e. same as for org properties, but property name must
be
a keyword). It already does this for the 'org-category text
property.
Then one can e.g. mark entries representing unmet goals with text
properties, and then use a regular org-tags-view to browse them in a
sparsetree
or an agenda.
Thanks,
ilya
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode