emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] new tag query parser [3/5] -- the code and how to use it (code attac


From: Christopher Genovese
Subject: [O] new tag query parser [3/5] -- the code and how to use it (code attached)
Date: Thu, 16 Aug 2012 00:00:53 -0400

* The code for my new tag/todo-query parser implementation is attached.
  1. org-tag-query-parse.el   -- the new parser implementation
  2. tag-query-tests.el       -- the ``try it'' interface and test suites

* Installing [fn:1]
  1. Put org-tag-query-parse.el on your load path (or add its location)
  2. Byte compile org-tag-query-parse.el but do *not* load it yet
  3. Load tag-query-tests.el or do (require 'tag-query-tests).

* Using it [fn:2]
  1. Run the tests with M-x run-tag-query-tests
    
     This runs the tests and nicely displays a summary in a new buffer.
     Give a prefix argument to display detailed test results instead,
     showing all the queries tested. All tests passed for me with
     GNU Emacs 23.2 and 24.1 on Mac OS X 10.7.3 and 10.6.8.

  2. Search with queries as usual.
    
     Do ordinary tag searches or use the mapping API via
     org-scan-tags and org-map-entries as you ordinarily would.
    
  3. Swap parsers with M-x org-use-tag-parser.
    
     This toggles between new and original parser implementations.
     With a prefix argument, it prompts you for which version to use.
     The intent is to make it easy to try out and compare the new
     and current parsers in your query searches.
    
     (This command affects standard org behaviors, such as agenda search
     and org-map-entries. The tests run with run-tag-query-tests are
     unaffected by it, *except* for the org-map-entries-1 suite which
     uses the current org-map-entries function. To see all PASS's, you
     should run the test with the new parser version installed.)
    
----------------
[fn:1] For example, if you move to the directory with the .el files
       in emacs, you can do
          (add-to-list 'load-path default-directory)
          (byte-compile-file "org-tag-query-parse.el")
          (byte-compile-file "tag-query-tests.el") ; optional!
          (require 'tag-query-tests)

[fn:2] Just to be clear, the commands run-tag-query-tests and
       org-use-tag-parser are convenience commands in tag-query-tests.el
       and are not part of the main code.

Attachment: org-tag-query-parse.el
Description: Binary data

Attachment: tag-query-tests.el
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]