aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Austin Clements <amdragon@MIT.EDU>2013-05-31 20:40:06 -0400
committerGravatar David Bremner <bremner@debian.org>2013-06-01 08:56:25 -0300
commitb89ffba3012603d3eb9b1e144bf0a81480588ea3 (patch)
treeb0ede72e9ee4f5bd729bb657a14349c47dad3439 /test
parent08fde50bf3a4c54f6413aff4052e0d84392463f9 (diff)
emacs: Streaming S-expression parser
This provides the same interface as the streaming JSON parser, but reads S-expressions incrementally. The only difference is that the `notmuch-sexp-parse-partial-list' helper does not handle interleaved error messages (since we now have the ability to separate these out at the invocation level), so it no longer takes an error function and does not need to do the horrible resynchronization that the JSON parser had to. Some implementation improvements have been made over the JSON parser. This uses a vector instead of a list for the parser data structure, since this allows faster access to elements (and modern versions of Emacs handle storage of small vectors efficiently). Private functions follow the "prefix--name" convention. And the implementation is much simpler overall because S-expressions are much easier to parse.
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions