Age | Commit message (Expand) | Author |
2022-05-05 | 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.
| Ludovic Courtès |
2022-04-13 | reader: Add Gemtext reader.•••* src/guile/skribilo/reader/gemtext.scm: New file.
* configure.ac: Set BUILD_GEMTEXT_READER automake conditional to true
if (srfi srfi-171) is found. Else, set it to false.
* src/guile/Makefile.am (readers): Add skribilo/reader/gemtext.scm
if BUILD_GEMTEXT_READER is true.
(EXTRA_DIST): Add skribilo/reader/gemtext.scm if BUILD_GEMTEXT_READER
is false.
* doc/user/syntax.skb (The Gemtext Syntax): New section.
* tests/readers/gemtext.test: New file.
* tests/Makefile.am (TESTS): Add readers/gemtext.test if
BUILD_GEMTEXT_READER is true.
(EXTRA_DIST): Add readers/gemtext.text if BUILD_GEMTEXT_READER is
false.
| Arun Isaac |
2021-09-29 | build: Use SRFI-64 test suite driver as found in Guix.•••This works around the fact that SRFI-64 in Guile 3.0.6+,
'test-runner-current' returns #f after 'test-end'. It also gives us a
more featureful test runner, where one can do things like:
make check TEST_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes"
Reported by <soeren@soeren-tempel.net>.
* build-aux/test-driver.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
* tests/Makefile.am (TEST_LOG_DRIVER): New variable.
(TEST_LOG_COMPILER): New variable.
* tests/ast.test, tests/engines/info.test,
tests/location.test, tests/readers/rss-2.test,
tests/resolve.test: Remove call to 'exit'.
| Ludovic Courtès |
2020-08-06 | Remove 'cond-expand' clauses for Guile 1.8.•••This is a followup to d183aa487d99baea3746f79759c17cf36c55dfbf.
* src/guile/skribilo/debug.scm (with-debug): Remove 'cond-expand' and
keep only 'guile-2' version.
* src/guile/skribilo/engine/html.scm (&html-generic-document)[set-output-encoding]:
Likewise.
* src/guile/skribilo/engine/info.scm (document): Likewise.
* src/guile/skribilo/engine/latex.scm (document): Likewise.
* src/guile/skribilo/engine/lout.scm (document): Likewise.
* src/guile/skribilo/evaluator.scm (%evaluate): Likewise.
* src/guile/skribilo/location.scm <top level>: Likewise.
* src/guile/skribilo/module.scm (maybe-set-module-name!): Likewise.
* src/guile/skribilo/package/base.scm <top level>: Likewise.
* src/guile/skribilo/utils/syntax.scm (unless, when): Remove.
(set-correct-file-encoding!, default-to-utf-8): Keep only 'guile-2' variant.
* tests/location.test <top level>: Likewise.
* tests/readers/rss-2.test <top level>: Likewise.
| Ludovic Courtès |
2020-08-01 | Write '#:use-module', '#:export', etc. instead of ':use-module', etc.•••Changes made by running:
for i in $(git ls-tree -r HEAD --name-only) ; do sed -i $i -e's/:use-module/#:use-module/g ; s/:autoload/#:autoload/g ; s/:export/#:export/g' ; done
| Ludovic Courtès |
2012-08-18 | build: Update test suite framework to Automake 1.12.•••* tests/Makefile.am (TESTS_ENVIRONMENT): Use semi-colons. Move $(GUILE)
invocation...
(TEST_LOG_COMPILER): ... here. New variable.
| Ludovic Courtès |
2012-06-01 | build: Don't build/test the RSS-2 reader when its requirements aren't met.•••Reported by rvclayton@verizon.net (R. Clayton).
* configure.ac: Add `BUILD_RSS2_READER' Automake conditional.
* src/guile/Makefile.am (readers): Make `skribilo/reader/rss-2.scm'
conditional on `BUILD_RSS2_READER'.
(EXTRA_DIST)[!BUILD_RSS2_READER]: Add `skribilo/reader/rss-2.scm'.
* tests/Makefile.am (TESTS): Make `readers/rss-2.test' conditional on
`BUILD_RSS2_READER'.
(EXTRA_DIST)[!BUILD_RSS2_READER]: Add `readers/rss-2.test'.
| Ludovic Courtès |
2012-05-22 | tests: Avoid middle ellipsis in `syntax-case' pattern, for Guile 1.8.•••* tests/location.test (call-with-code): Expect only one string.
| Ludovic Courtès |
2012-05-22 | tests: Remove new log files.•••* tests/Makefile.am (CLEANFILES): Add `location.log' and `info.log'.
| Ludovic Courtès |
2012-05-17 | Change `define-markup' to generate a macro, to capture location syntactically.•••* src/guile/skribilo/lib.scm (dsssl->guile-formals): New procedure,
formerly `fix-rest-arg' procedure in `define-markup'.
(define-markup)[guile-2]: Turn into a macro-generating macro, such
that markups capture their invocation location syntactically.
* src/guile/skribilo/location.scm (source-properties->location): New
procedure.
(invocation-location): Use it.
* src/guile/skribilo/package/base.scm (handle): Move above first use,
since it's now a macro on Guile 2.0.
* src/guile/skribilo/package/slide.scm (slide-vspace): Likewise.
* src/guile/skribilo/package/eq.scm: Use (skribilo package base) instead
of autoloading it.
* tests/Makefile.am (TESTS): Add `location.test'.
* tests/location.test: New file.
| Ludovic Courtès |
2012-05-14 | info: Rename `node-next+prev+top' to `node-next+prev+up'.•••* src/guile/skribilo/engine/info.scm (node-next+prev+top): Rename to...
(node-next+prev+up): ... this. Update callers.
* tests/engines/info.test (node-next+prev+up): Update accordingly.
| Ludovic Courtès |
2012-05-14 | info: Fix prev/next pointers.•••* src/guile/skribilo/ast.scm (ast-fold): Explicitly document as
depth-first.
* src/guile/skribilo/engine/info.scm (info-node): Support PREV and
NEXT as false.
(node-next+prev+top): Rewrite using `match' and `node-children'.
* tests/Makefile.am (TESTS): Add `engines/info.test'.
* tests/engines/info.test: New file.
| Ludovic Courtès |
2012-05-14 | ast: Add `node-children'.•••* src/guile/skribilo/ast.scm (node-children): New procedure.
* tests/ast.test ("node-children"): New test.
| Ludovic Courtès |
2012-04-25 | Avoid deprecated features on Guile 2.•••* src/guile/skribilo/writer.scm (%procedure-arity): Use
`procedure-minimum-arity' on Guile 2.
* src/guile/srfi/srfi-64.upstream.scm: Use (ice-9 syncase) only when not
on Guile 2.
* tests/readers/rss-2.test (guile-2): Likewise.
| Ludovic Courtès |
2012-02-08 | tests: Use `syntax-rules' in `rss-2.test'.•••* tests/readers/rss-2.test (test-match): Rewrite using `syntax-rules'.
| Ludovic Courtès |
2009-11-20 | Define $GUILE_LOAD_COMPILED_PATH for Guile 2.x.•••* guile-vm.am (guile_warnings): New variable.
(.scm.go): Set $GUILE_LOAD_COMPILED_PATH appropriately, specify Guile
compilation warnings.
* src/pre-inst-skribilo.in, src/skribilo.in: Set
$GUILE_LOAD_COMPILED_PATH appropriately.
* tests/Makefile.am (TESTS_ENVIRONMENT): Set $GUILE_AUTO_COMPILE and
$GUILE_LOAD_COMPILED_PATH.
* doc/user/Makefile.am (skribilo.info, .skb.html, .skb.lout, .skb.tex,
.skb.ctx): Set $GUILE_LOAD_COMPILED_PATH.
(load_compiled_path): New variable.
| Ludovic Courtès |
2009-05-26 | resolve: Add new test.•••* tests/resolve.test ("unresolved node in nested document"): New test.
| Ludovic Courtès |
2009-05-26 | Make sure to bind nodes that are in the body of non-markup nodes.•••* src/guile/skribilo/ast.scm (document-bind-nodes!): Traverse other
nodes as well, such as processors.
* src/guile/skribilo/resolve.scm (do-resolve!<unresolved>>): Likewise.
* tests/resolve.test ("resolved nested document bindings"): New test.
| Ludovic Courtès |
2009-05-26 | Fix typo in `resolve.test'.•••* tests/resolve.test ("unresolved node in processor body"): Fix typo.
| Ludovic Courtès |
2009-05-26 | Fix node binding in sub-documents returned from unresolved nodes.•••* src/guile/skribilo/resolve.scm (do-resolve!<unresolved>): Bind
sub-nodes of RES in the innermost document rather than in the root
document.
* tests/resolve.test ("resolved nested document bindings"): New test.
| Ludovic Courtès |
2009-05-26 | resolve: Clarify node bindings in nested documents.•••* src/guile/skribilo/ast.scm (document-bind-nodes!): Bind nodes in the
innermost document, which may or may not be the root document.
* tests/resolve.test ("root document has no parent", "nested document
has a parent", "nested document is its own `ast-document'", "nested
document bindings"): New tests.
| Ludovic Courtès |
2009-05-25 | Add `resolve' unit tests.•••* tests/Makefile.am (TESTS): Add `resolve.test'.
(CLEANFILES): Add `resolve.log'.
| Ludovic Courtès |
2009-01-07 | Add AST unit tests.•••* tests/Makefile.am (TESTS): Add `ast.test'.
(CLEANFILES): Add `ast.log'.
| Ludovic Courtès |
2009-01-05 | rss-2: Improve tests.•••* tests/readers/rss-2.test ("broken date format", "table"): New tests.
| Ludovic Courtès |
2008-12-23 | rss-2: Clean up tests. | Ludovic Courtès |
2008-12-23 | Add test framework and `rss-2' unit tests.•••* Makefile.am (SUBDIRS): Add `tests'.
* configure.ac: Produce `tests/Makefile'.
* src/guile/Makefile.am (EXTRA_DIST): Add SRFI-64 files.
* tests: New directory.
| Ludovic Courtès |