Age | Commit message (Expand) | Author |
2009-05-27 | Fix error-prone SRFI-1 autoloading.•••* src/guile/skribilo/ast.scm: Fix error-prone SRFI-1 autoloading.
| 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 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 | Fix more confusion around `unspecified?'.•••* src/guile/skribilo/engine.scm (engine-custom-add!): Compare OLD
against `unspecified' instead of using `unspecified?'.
* src/guile/skribilo/writer.scm (markup-writer-get): Likewise.
(copy-markup-writer): Initialize keys to the "real" unspecified value,
allowing the use of `unspecified?'.
| Ludovic Courtès |
2009-05-25 | html: Fix confusion around `unspecified?'.•••* src/guile/skribilo/engine/html.scm (unspecified?): New procedure.
This fixes the choice of a default title-number separator for chapters
in `&html-generic-subdocument', as reported by James Haggerty
<james.haggerty@gmail.com>.
| Ludovic Courtès |
2009-03-24 | Add experimental `--enable-guile-vm' configure option.•••* configure.ac (--enable-guile-vm): New option.
(ENABLE_GUILE_VM): New Automake conditional.
* guile-vm.am: New file.
* src/guile/Makefile.am (SOURCES): New variable, formerly
`nobase_dist_module_DATA'.
(SOURCES_NOT_COMPILED): New.
Include `guile-vm.am'.
* NEWS: Update.
| Ludovic Courtès |
2009-03-24 | Add `(skribilo-module-syntax)'.•••* src/guile/skribilo/utils/syntax.scm (skribilo-module-syntax): New
macro.
* src/guile/*/*.scm: Use `(skribilo-module-syntax)' instead of
`(fluid-set! current-reader %skribilo-module-reader)'. The goal is to
be more compilation-friendly.
| Ludovic Courtès |
2009-03-24 | Robustify `invocation-location'.•••* src/guile/skribilo/location.scm (invocation-location): Make sure DEPTH
is not above STACK's length.
| Ludovic Courtès |
2009-03-24 | Have `*current-engine*' default to `#f'.•••* src/guile/skribilo/engine.scm (*current-engine*): Default to `#f' and
allow `#f' as a valid value. This removes a circular reference
between `(skribilo engine)' and `(skribilo engine html)'. We could
use `(delay (lookup-engine 'html))' to that end, but that doesn't seem
very useful anyway.
| Ludovic Courtès |
2009-03-24 | Have `*document-reader*' default to `#f'.•••* src/guile/skribilo/biblio.scm (parse-bib): Use `*document-reader*',
not `%default-reader'.
* src/guile/skribilo/reader.scm (%default-reader): Remove. This removes
a cyclic dependency between `(skribilo reader)' and `(skribilo reader
skribe)'.
(*document-reader*): Default to `#f'.
* src/guile/skribilo/utils/compat.scm (%skribe-reader): Define, not
`set!'.
* src/guile/skribilo/utils/syntax.scm (%skribe-reader): Remove. This
removes the dependency on `(skribilo reader)'.
| Ludovic Courtès |
2009-03-24 | Fix overzealous autoloading in `(skribilo)'.•••* src/guile/skribilo.scm (skribilo): Don't autoload `(srfi srfi-1)' upon
`alist-cons' since, e.g., `alist-delete' could be called before.
| Ludovic Courtès |
2009-03-18 | writer: Adapt `%procedure-arity' to Guile-VM.•••* src/guile/skribilo/writer.scm (%using-vm?): Remove. It would always
be true since `resolve-module' creates non-existent modules.
(%procedure-arity): Use `eval-case', assuming the `else' clause
matches Guile-VM, which is the case with Guile `master' commit
7eba9c99c262acb872a52d95c45a216232d2b8dc (dated Wed Mar 18 00:46:16
2009 +0100).
| Ludovic Courtès |
2009-03-17 | outline: Don't store multiple values in a single variable.•••Don't store multiple-value results in a single variable as it may
behave in unspecified ways (see
http://thread.gmane.org/gmane.lisp.guile.devel/8289).
* src/guile/skribilo/reader/outline.scm (apply-any): New VALUE-COUNT
argument. Properly handle multiple values, e.g., by not comparing
multiple-value returns against `#f'.
(make-line-processor, make-node-processor, make-document-processor):
Safely assume `apply-any' always returns the right number of
values.
| Ludovic Courtès |
2009-03-05 | Remove circular dependency between `engine' and `writer'.•••* src/guile/skribilo/engine.scm (engine-add-writer!): Remove. This way,
`engine' no longer depends on `writer'.
* src/guile/skribilo/writer.scm (engine-add-writer!): New.
| Ludovic Courtès |
2009-03-05 | Remove circular dependency between `writer' and `output'.•••* src/guile/skribilo/writer.scm (markup-writer): Don't explicitly depend
on `output' since this creates a circular dependency.
| Ludovic Courtès |
2009-03-05 | Move `%procedure-arity' out of `lib.scm'.•••* src/guile/skribilo/lib.scm (%procedure-arity): Remove.
* src/guile/skribilo/writer.scm (%using-vm?, %procedure-arity): New.
This new version can handle VM "programs". This removes a dependency
on `lib', which depends on almost all of Skribilo.
| Ludovic Courtès |
2009-03-05 | Use orthodox macrology for `new'.•••* src/guile/skribilo/lib.scm (new): Use `@' and `@@' to by leave only
valid objects in the macro's result (i.e., no procedure or class). This
makes it more amenable to compilation.
| Ludovic Courtès |
2009-03-02 | Slightly simplify `(skribilo prog)'.•••* src/guile/skribilo/prog.scm (extract-string-mark, extract-mark):
Remove MARK argument, which was unused. Update callers.
| Ludovic Courtès |
2009-01-07 | info: Slightly improve the layout of keyed items (for `description').•••* src/guile/skribilo/engine/info.scm (item): Slightly improve the layout
of keyed items.
| Ludovic Courtès |
2009-01-07 | info: New `:info-node' for `chapter', `section', etc.•••* src/guile/skribilo/engine/info.scm (block-title): Use the `:info-node'
option if available.
(chapter, section, subsection, subsubsection): Mark `:info-node' as
supported and `:html-file' as not supported.
* src/guile/skribilo/package/base.scm (chapter, section, subsection,
subsubsection): New `:info-node' option.
| Ludovic Courtès |
2009-01-07 | info: Warn about duplicate node titles.•••* src/guile/skribilo/engine/info.scm (check-node-title-conflicts): New.
(document): Use it.
* po/POTFILES.in: Add `info.scm'.
| Ludovic Courtès |
2009-01-07 | Fix SRFI-64 to allow the use of `test-assert'. | Ludovic Courtès |
2009-01-07 | html: Fix footnote output for chapters that are not in a separate file.•••* src/guile/skribilo/engine/html.scm (section-in-separate-file?,
section-in-current-file?): New.
(&html-generic-document)[ftnotes]: Collect the footnotes not only of N
but also those of all its sub-containers that are to be output in the
same file. This fixes a bug where chapters that are not output in the
same file don't get their footnotes printed. Reported by Klaus
Schilling <schilling.klaus@web.de>.
* NEWS: Update.
| Ludovic Courtès |
2009-01-05 | html: Produce hyperlinks back to the call site of footnotes.•••* src/guile/skribilo/engine/html.scm (&html-footnotes): Produce a
hyperlink to `footenote-site-...'.
(footnote): Produce an anchor named `footnote-site-...' for back
references. Suggested by Klaus Schilling <schilling.klaus@web.de>.
* NEWS: Update.
| Ludovic Courtès |
2008-12-23 | Install the user-specified locale.•••* src/guile/skribilo.scm (skribilo): Call `setlocale'.
| 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 |
2008-12-23 | rss-2: Rename `generic-tag->skribe' to `shtml->skribe'. | Ludovic Courtès |
2008-12-23 | rss-2: Fix buglets.•••* src/guile/skribilo/reader/rss-2.scm (html-string->parse-tree): Remove.
(generic-tag->skribe): Handle `*TOP*' here. This allows us to make
sure we generate a valid tree, regardless of whether TAG is flat or
not.
(item->section): Parse the title as HTML, too. Don't
`unquote-splice' the result of `generic-tag->skribe'.
(feed->document): Likewise.
| Ludovic Courtès |
2008-12-23 | rss-2: Remove debugging statement.•••* src/guile/skribilo/reader/rss-2.scm (generic-tag->skribe): Remove
`format' call.
| Ludovic Courtès |
2008-12-21 | Add `rss-2' reader, for RSS 2.0 feeds as an input syntax.•••* src/guile/skribilo/reader/rss-2.scm: New file.
* src/guile/Makefile.am (readers): Add `rss-2.scm'.
* po/POTFILES.in: Add `rss-2.scm'.
* doc/user/syntax.skb (rss2-syntax): New section.
* NEWS: Update.
| Ludovic Courtès |
2008-12-21 | lout: Issue a warning instead of an error for `(image :url ...)'.•••* src/guile/skribilo/engine/lout.scm (image): Produce a warning, not an
error, if URL is provided. Use SRFI-35 conditions for invalid
arguments.
* po/POTFILES.in: Add.
* NEWS: Update.
| Ludovic Courtès |
2008-12-21 | Add `--custom' option to `skribilo'.•••* src/guile/skribilo.scm (skribilo-show-help): Update.
(%options)[#\c]: New option.
(%default-options)[:customs]: New option.
(skribilo): Handle it.
* doc/user/compiler.skb (Skribilo Compiler)[Options]: Add.
* NEWS: Update.
| Ludovic Courtès |
2008-12-13 | info: Handle references to marks.•••* src/guile/skribilo/engine/info.scm (ref): Handle references to marks.
| Ludovic Courtès |
2008-12-13 | info: Add spacing around lists.•••* src/guile/skribilo/engine/info.scm (itemize, enumerate, description):
Add a new line before and after each list.
| Ludovic Courtès |
2008-12-13 | info: Add space markups and `tt'.•••* src/guile/skribilo/engine/info.scm (~, breakable-space): New.
(%ornaments): Add `tt'.
| Ludovic Courtès |
2008-12-07 | info: Fix ornaments.•••* src/guile/skribilo/engine/info.scm (%ornaments): Remove LaTeXisms.
Use `output-justified' when outputting ornaments.
| Ludovic Courtès |
2008-12-07 | info: Improve `url-ref' output.•••* src/guile/skribilo/engine/info.scm (url-ref): Produce output that
conforms to what Texinfo does.
| Ludovic Courtès |
2008-12-07 | info: Justify all strings that are output.•••* src/guile/skribilo/engine/info.scm (info-engine): Add a `:filter'
closure.
(block-title): Use `ast->string' when TITLE is not a string to avoid
side effects with `justify'.
| Ludovic Courtès |
2008-12-07 | base engine: Pass location information appropriately.•••* src/guile/skribilo/engine/base.scm (&the-index): Pass LOC using
`:&location'.
| Ludovic Courtès |
2008-11-25 | info: Add supported options for each markup writer. | Ludovic Courtès |
2008-11-25 | justify, text-table: Fix width rounding issues.•••* src/guile/skribilo/utils/justify.scm (make-justified-line): Make
ONE-SPACES inexact.
(make-centered-line): Round WIDTH to an exact integer.
(make-justifier): Check the type and range of WIDTH.
* src/guile/skribilo/utils/text-table.scm (table->ascii): Check whether
WIDTH is a number. Round LCOLSWIDTH with `round-to-exact'.
(table-row-format)[cell-width]: Round W with `round-to-exact'.
(table-cell-vformat): Round NEW/2.
(round-to-exact): New.
| Ludovic Courtès |
2008-11-24 | Delete the destination file upon failure.•••* src/guile/skribilo/condition.scm (abort): New. Delete
`(*destination-file*)'.
(%call-with-skribilo-error-catch): Use `abort' instead of
`show-stack-trace' and `exit'.
(with-exception-handler): New.
| Ludovic Courtès |
2008-11-23 | Add the new Info-related modules to the distribution.•••* src/guile/Makefile.am (nobase_dist_module_DATA): Add.
(engines): Add `info.scm'.
| Ludovic Courtès |
2008-11-23 | justify: Fix typo.•••* src/guile/skribilo/utils/justify.scm (output-center): Call
`output-justified', not `output'.
| Ludovic Courtès |
2008-11-23 | justify: Add missing new lines in `output-flush'.•••* src/guile/skribilo/utils/justify.scm (output-flush): Add `newline'
calls after each series of `display'.
| Ludovic Courtès |
2008-11-23 | Try to display a stack trace in `call-with-skribilo-error-catch'.•••* src/guile/skribilo/condition.scm (show-stack-trace): New.
(%call-with-skribilo-error-catch): Use `with-exception-handler'
instead of `guard' so the faulty call stack can be captured. Use
`show-stack-trace'.
* NEWS: Update.
| Ludovic Courtès |
2008-11-21 | info: More cleanups, makes `guile-lint' happy. | Ludovic Courtès |
2008-11-21 | justify: Rename `output' to `output-justified' to avoid confusion.•••* src/guile/skribilo/utils/justify.scm (output): Rename to...
(output-justified): this.
| Ludovic Courtès |
2008-11-20 | info: Remove Bigloo type annotations and `with-access'. | Ludovic Courtès |