On Jul 16, 2007, at 15:21, Adam Spiers wrote:
Hi again, There seem to be a number of hardcoded regexps currently used for matching heading tags, all very similar looking, and typically something like: [ \t]*\\(:[[:alnum:]_@:]+:\\)?[ \t]*\\($\\|\r\\) Is there any reason why these shouldn't be factored out into a new defcustom org-tags-regexp?
Well, one reason is efficiency. When a regular expression is a constant,
Emacs is able to cache the compiled version of the regular expression, and this can speed up code that does a lot of matching quite a bit. The token you show above is usually part of a larger string, so the full regular expression would have to be make with concat and will therefore be recompiled all the time. However, we could use a macro to process the concat at compile time. This would still require that you have set the appropriate variables at compile time, and you would need to recompile the Lisp file after each change in this constant - not something that Emacs users do expect. Do you know a solution for this problem? Still, I agree that what I did is bad programming in the sense that things like this could/should be factored out. - Carsten -- Carsten Dominik Sterrenkundig Instituut "Anton Pannekoek" Universiteit van Amsterdam Kruislaan 403 NL-1098SJ Amsterdam phone: +31 20 525 7477 _______________________________________________ Emacs-orgmode mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-orgmode
