summaryrefslogtreecommitdiffstats
path: root/struct.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-04-03 06:42:53 -0700
committerKaz Kylheku <kaz@kylheku.com>2020-04-03 06:42:53 -0700
commit3ed21c522b7914a7eed0cf4dffff66e009406213 (patch)
tree2a73857694190ec02d7f6049bc9bd1ec7fec8a1c /struct.c
parent4eea106b17da71b27b69f0856a3cb4e0c2d93132 (diff)
downloadtxr-3ed21c522b7914a7eed0cf4dffff66e009406213.tar.gz
txr-3ed21c522b7914a7eed0cf4dffff66e009406213.tar.bz2
txr-3ed21c522b7914a7eed0cf4dffff66e009406213.zip
tags: grok Lisp definitions inside @(do ...).
* tags.tl (unexpand): New function. (process-clause): Walk the forms enclosed in a @(do ...) directive that appears at the top level. Because all Lisp is macro-expanded right inside the TXR parser, we need to "unexpand" the forms by chasing their macro-ancestor chain, gaining access to the original forms like defun and defstruct. We can then turn these forms into tags using the process-form function.
Diffstat (limited to 'struct.c')
0 files changed, 0 insertions, 0 deletions