summaryrefslogtreecommitdiff
path: root/src/guile
AgeCommit message (Expand)Author
2010-07-16Pretty-print engines.•••* src/guile/skribilo/engine.scm (write): New method. Ludovic Courtès
2010-06-20pie: Fix unbound variable related to autoload tricks.•••* src/guile/skribilo/package/pie.scm: Use `(skribilo ast)' instead of trying to autoload it. Ludovic Courtès
2010-03-08Autoload fixlet.•••* src/guile/skribilo/package/sigplan.scm: Use `(skribilo lib)' instead of autoloading it. Ludovic Courtès
2010-03-08Remove `skribilo/config.scm' from the distribution.•••* src/guile/Makefile.am (SOURCES): Add `skribilo/config.scm'. (nobase_module_DATA): Remove. Ludovic Courtès
2010-03-08Adapt `(skribilo location)' to Guile 2.x.•••* src/guile/skribilo/location.scm: Use `(system vm frame)' on Guile 2.x. Ludovic Courtès
2010-03-08Don't set module names when using Guile 2.x.•••* src/guile/skribilo/module.scm (maybe-set-module-name!): New procedure. Ludovic Courtès
2010-03-08Factorize encoding twiddling in `set-correct-file-encoding!'.•••* doc/modules/skribilo/documentation/api.scm (api-search-definition): Call `set-correct-file-encoding!'. * doc/user/src/outline.txt (Author): Remove accent from last name, as a temporary hack. * doc/user/syntax.skb: Call `set-correct-file-encoding!' in the `outline' syntax example. * doc/user/user.skb: Use `(skribilo utils syntax)'. * src/guile/skribilo.scm (skribilo): Replace encoding twiddling with `set-correct-file-encoding!' call. * src/guile/skribilo/evaluator.scm (load-document, include-document): Likewise. * src/guile/skribilo/source.scm (source-read-lines): Call `set-correct-file-encoding!'. (source-read-definition): Likewise. * src/guile/skribilo/utils/syntax.scm (set-correct-file-encoding!): New macro. Ludovic Courtès
2009-11-27Add `coding:' comments.•••Add `coding:' comments for use by both Emacs and Guile 2.x. Ludovic Courtès
2009-11-20Build all the modules with Guile 2.x.•••* src/guile/Makefile.am (SOURCES_NOT_COMPILED): Remove. (SOURCES): Add $(engines). Ludovic Courtès
2009-11-20Choose the right encoding for input documents.•••* src/guile/skribilo.scm (skribilo): Use the right encoding for the current input port. * src/guile/skribilo/evaluator.scm (load-document, include-document): Likewise. * doc/user/user.skb: Add a `coding:' comment for use by Guile at the top. Ludovic Courtès
2009-11-20Fix `%procedure-arity'.•••* src/guile/skribilo/writer.scm (%procedure-arity): Always use `procedure-property'. (make-writer-predicate): Fix `proc-name' argument of `&invalid-argument-error' condition. Ludovic Courtès
2009-11-20Remove duplicate keyword argument from `pie'.•••* src/guile/skribilo/package/pie.scm (pie): Remove duplicate `class' keyword argument. Ludovic Courtès
2009-11-20Use `(skribilo-module-syntax)' instead of `(fluid-set! current-reader ...)'.•••* doc/modules/skribilo/documentation/api.scm, doc/modules/skribilo/documentation/extension.scm, doc/modules/skribilo/documentation/manual.scm, src/guile/skribilo/writer.scm: Use `(skribilo-module-syntax)' instead of `(fluid-set! current-reader ...)'. Ludovic Courtès
2009-11-20Remove circular dependency introduced by `(skribilo sui)'.•••* src/guile/skribilo/sui.scm (sui-referenced-file)[html-file]: New procedure. Ludovic Courtès
2009-11-20Remove occurrences of `use-syntax' and `export-syntax'.•••* src/guile/skribilo/debug.scm, src/guile/skribilo/index.scm, src/guile/skribilo/lib.scm, src/guile/skribilo/package/base.scm, src/guile/skribilo/reader.scm, src/guile/skribilo/utils/compat.scm: Replace `use-syntax' by `use-module' and `export-syntax' by `export'. Ludovic Courtès
2009-05-27pie: Move generic `sliceweight' writer in the right place.•••* src/guile/skribilo/package/pie.scm (sliceweight): Add generic writer. * src/guile/skribilo/package/pie/lout.scm (sliceweight): Generic writer removed. Ludovic Courtès
2009-05-27doc: Document `pie' markups.•••* doc/user/pie.skb (Syntax): Document markups. * src/guile/skribilo/package/pie.scm (pie, slice, sliceweight): Add `:class' option. (pie, slice, sliceweight)[writers]: Add `:options'. Ludovic Courtès
2009-05-27pie: Choose saner defaults for Ploticus.•••* src/guile/skribilo/package/pie.scm (ploticus-script)[radius]: Default to 2.5. [center]: Default to (6.25, 6.25). The latter allows pie charts to not be truncated, even in `line+label', provided RADIUS remains in the [0..4cm] range. Ludovic Courtès
2009-05-27Fix error-prone SRFI-1 autoloading.•••* src/guile/skribilo/ast.scm: Fix error-prone SRFI-1 autoloading. Ludovic Courtès
2009-05-26Make 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-26Fix 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-26resolve: 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-25Fix 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-25html: 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-24Add 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-24Add `(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-24Robustify `invocation-location'.•••* src/guile/skribilo/location.scm (invocation-location): Make sure DEPTH is not above STACK's length. Ludovic Courtès
2009-03-24Have `*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-24Have `*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-24Fix 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-18writer: 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-17outline: 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-05Remove 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-05Remove 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-05Move `%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-05Use 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-02Slightly 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-07info: 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-07info: 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-07info: 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-07Fix SRFI-64 to allow the use of `test-assert'.Ludovic Courtès
2009-01-07html: 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-05html: 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-23Install the user-specified locale.•••* src/guile/skribilo.scm (skribilo): Call `setlocale'. Ludovic Courtès
2008-12-23Add 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-23rss-2: Rename `generic-tag->skribe' to `shtml->skribe'.Ludovic Courtès
2008-12-23rss-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-23rss-2: Remove debugging statement.•••* src/guile/skribilo/reader/rss-2.scm (generic-tag->skribe): Remove `format' call. Ludovic Courtès
2008-12-21Add `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-21lout: 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