summary refs log tree commit diff
path: root/skribe
diff options
context:
space:
mode:
authorLudovic Courtès2022-04-19 23:42:26 +0200
committerLudovic Courtès2022-05-05 22:23:23 +0200
commit424bef0d0aac2a5a8607cf9f76a6def5ee0ca183 (patch)
tree45a682403c6bfe78725214de837ae4be2a1b91fe /skribe
parent621eb1945aec8f26f5aee4bdf896f2434e145182 (diff)
downloadskribilo-424bef0d0aac2a5a8607cf9f76a6def5ee0ca183.tar.gz
skribilo-424bef0d0aac2a5a8607cf9f76a6def5ee0ca183.tar.lz
skribilo-424bef0d0aac2a5a8607cf9f76a6def5ee0ca183.zip
biblio: Replace template interpreter with a macro (a "compiler").
This allows us to catch invalid templates at macro-expansion time and is
more efficient.

* src/guile/skribilo/biblio/template.scm (evaluate-bib-entry-template):
Remove.
(define-template-engine, bibliography-template): New macros.
(output-bib-entry-template): Rewrite and remove 'get-field' optional
argument.
(make-bib-entry-template/default, make-bib-entry-template/skribe): Use
'bibliography-template' instead of quasiquote/unquote.
* src/guile/skribilo/package/jfp.scm (le): Likewise.
* src/guile/skribilo/package/lncs.scm (bib-entry-template): Likewise.
* src/guile/skribilo/biblio.scm (&biblio-template-error): Remove.
(handle-biblio-error): Adjust accordingly.
* tests/biblio.test: New file.
* tests/Makefile.am (TESTS): Add it.
Diffstat (limited to 'skribe')
0 files changed, 0 insertions, 0 deletions