summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Expand)Author
2006-07-23Improved error reporting of the Skribilo module reader.•••* src/guile/skribilo/utils/syntax.scm (%skribilo-module-reader): Improved error reporting by showing the location of the unexpected character. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-23 Ludovic Courtes
2006-07-23Fixed `engine-add-writer!' so that the insertion order is kept.•••* src/guile/skribilo/engine.scm (engine-add-writer!): Use `append' instead of `cons' when adding a writer, so that the insertion order is honored when lookups are performed. This fixes a generation bug (e.g., for the first page of the User Manual) and slightly improves performance. * src/guile/skribilo/writer.scm (lookup-markup-writer): Documented the impact of registration order. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-22 Ludovic Courtes
2006-07-21Made the HTML engine and `web-book' more style-neutral.•••* src/guile/skribilo/engine/html.scm: Switched all color- and font-related customs to `#f' by default. Adapted a few writers so that they can properly handle this. * src/guile/skribilo/package/web-book.scm: Be careful when using `color' et al. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-21 Ludovic Court`es
2006-07-21Added support for the `:keywords' option of `document' (Lout + HTML).•••* NEWS: Mention it. * doc/user/document.skb: Document it. * doc/user/user.skb (document): Added keywords. Slightly modified the introduction. * src/guile/skribilo/engine/html.scm (document): Added `:keywords' to the list of supported options. (&html-head): Reformatted. (&html-meta): New. (&html-generic-document): Use it. * src/guile/skribilo/engine/lout.scm: Document `pdf-keywords' as deprecated. (lout-pdf-docinfo): Check the `:keywords' option. (document): Mention it as supported. * src/guile/skribilo/skribe/api.scm (document): Added the `keywords' option. (keyword-list->comma-separated): New (stolen from Lout). git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-20 Ludovic Court`es
2006-07-20biblio abbrev: Added a few more abbreviations.•••* src/guile/skribilo/biblio/abbrev.scm (%cs-conference-abbreviations): Fixed "MSS". Added "NSDI". (%ordinal-number-abbreviations): Added up to 19. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-19 Ludovic Court`es
2006-07-20Renamed `(skribilo runtime)' to `(skribilo utils strings)'.•••... and updated users. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-18 Ludovic Court`es
2006-07-20Removed the `(skribilo skribe utils)' module.•••* src/guile/skribilo/ast.scm (find-markup-ident): New, copied from `(skribilo skribe utils)'. (container-search-down): Likewise. (search-down): Likewise. (find-down): Likewise. (find1-down): Likewise. (find1-up): Likewise. (ast-document): Likewise. (ast-chapter): Likewise. (ast-section): Likewise. * src/guile/skribilo/engine.scm (engine-custom-add!): Likewise. * src/guile/skribilo/module.scm (%skribilo-user-imports): Added `(skribilo utils keywords)'. (%skribe-core-modules): Removed `utils'. * src/guile/skribilo/package/eq.scm: Use `utils keywords' instead of `skribe utils'. * src/guile/skribilo/package/eq/lout.scm: Likewise. * src/guile/skribilo/skribe/Makefile.am (dist_guilemodule_DATA): Removed `utils.scm'. * src/guile/skribilo/utils/Makefile.am (dist_guilemodule_DATA): Added `keywords.scm'. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-17 Ludovic Court`es
2006-07-20Removed unused code in `(skribilo lib)'.•••* src/guile/skribilo/lib.scm (key-get): Removed. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-16 Ludovic Court`es
2006-07-19Turned `with-debug' into a more self-sufficient macro.•••* src/guile/skribilo/debug.scm (%with-debug): Replaced by `%do-with-debug'. (with-debug): Made into a macro. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-15 Ludovic Court`es
2006-07-19Fixed abbreviations and author names handling.•••* src/guile/skribilo/biblio/abbrev.scm: Fixed module dependencies. (abbreviate-markup): New. Use `markup-body-set!' if needed. (%cs-conference-abbreviations): New. (%ordinal-number-abbreviations): New. (%common-booktitle-abbreviations): New. * src/guile/skribilo/biblio/author.scm: Fixed module dependencies. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-14 Ludovic Court`es
2006-07-19Implemented `markup-body-set!'.•••* src/guile/skribilo/ast.scm (markup-body-set!): New. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-13 Ludovic Court`es
2006-07-19Merged the two bibliography modules.•••* src/guile/skribilo/biblio.scm: Use `srfi-1', `ast', `goops'; don't use `module' and `skribe bib'. Merged the `(skribilo skribe bib)'. * src/guile/skribilo/module.scm (%skribe-core-modules): Removed `bib'. * src/guile/skribilo/skribe/Makefile.am (dist_guilemodule_DATA): Removed `bib.scm'. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-12 Ludovic Court`es
2006-07-19compat: Optimized `hashtable->list'.•••* src/guile/skribilo/utils/compat.scm (hashtable->list): Optimized a bit. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-11 Ludovic Court`es
2006-07-14Fixed the handling of `:' by the Skribe reader.•••* src/guile/skribilo/reader/skribe.scm (make-colon-free-token-reader): New. (%make-skribe-reader): Make sure `:' is handled only by the keyword reader. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-10 Ludovic Courtes
2006-07-13Made `parse-list-of' tail-recursive.•••* src/guile/skribilo/skribe/api.scm (parse-list-of): Made tail-recursive, thereby fixing potential stack overflows (e.g., when building the user manual) and perhaps slightly improving performance. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-9 Ludovic Courtes
2006-07-13Use `setvbuf' on the Skribilo output port.•••* src/guile/skribilo.scm (skribilo): Call `setvbuf'. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-8 Ludovic Courtes
2006-07-12Fixed autoloading of `verify', plus tiny cosmetic change.•••* src/guile/skribilo/engine.scm: Don't print the base engine at load-time. * src/guile/skribilo/verify.scm: Autoload `(skribilo engine)' on `processor-get-engine' as well. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-7 Ludovic Court`es
2006-07-12Noticeable performance improvements (notably in `debug').•••* src/guile/skribilo/biblio.scm: Don't use `(ice-9 format)': it is unneeded and very slow compared to `simple-format'. * src/guile/skribilo/debug.scm: Export `debug-item' and `with-debug' as macros. (debug-item): Turned into a macro rather than a procedure. Also, don't take `*margin-level*' into account when deciding whether to do something: only look at `*debug-item?*'. (%do-debug-item): New. (%with-debug): Invoke `parameterize' only in the debugging case. This noticeably improves performance. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-6 Ludovic Court`es
2006-07-11Use SRFI-35 error conditions in `resolve.scm' rather than the `error' procedu...•••* src/guile/skribilo/resolve.scm: Don't use `(skribilo runtime)' (unneeded). Use `conditions' and SRFI-3[45]. (&resolution-error): New. (&resolution-orphan-error): New. (handle-resolution-error): New. Register it. (do-resolve!): Raise an invalid-arg condition instead of invoking `error'. (resolve-counter): Raise a `&resolution-orphan-error' condition instead of invoking `skribe-error'. (resolve-ident): Raise an invalid-arg condition rather than invoking `skribe-type-error'. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-5 Ludovic Court`es
2006-07-11By default, use (internally) a reader that does not record positions.•••* src/guile/skribilo/utils/syntax.scm (%skribilo-module-reader): If debugging is not required (default), create a reader that does not record positions. * src/skribilo.in: Don't pass `--debug' by default. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-4 Ludovic Court`es
2006-07-03outline: Fixed the regexps of the inline markup for `tt' and `q'.•••* src/guile/skribilo/reader/outline.scm (%inline-markup): Fixed the regexps for `tt' and `q' so that these markups can occur multiple times per line. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-2 Ludovic Court`es
2006-06-07eq: Handle operator precedence when parenthesizing.•••* src/guile/skribilo/package/eq.scm (equation-markup-name?): New. (equation-markup?): Use it. (equation-markup-name->operator): New. (%operator-precedence): New. (operator-precedence): New. * src/guile/skribilo/package/eq/lout.scm (simple-markup-writer): Take operator precedence into account. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-1 Ludovic Court`es
2006-06-06Fixed exception handling in `output.scm'.•••* src/guile/skribilo/output.scm (&output-error): New. (&output-unresolved-error): New. (&output-writer-error): New. (handle-output-error): New. Raise the relevant error condition rather than use `skribe-error'. Don't use `(skribilo lib)' (no longer needed). git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-87 Ludovic Court`es
2006-06-06Generalized the error condition handling framework.•••* src/guile/skribilo/condition.scm (&too-few-arguments-error): New. (%external-error-condition-alist): New. (register-error-condition-handler!): New. (lookup-error-condition-handler): New. (%call-with-skribilo-error-catch): Handle `too-few-arguments-error?'. Use `lookup-error-condition-handler' when unhandled exceptions are caught. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-86 Ludovic Court`es
2006-06-06Cleaned up the `write' method for `markup' and `unresolved' objects.•••* src/guile/skribilo/ast.scm (write): New method. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-85 Ludovic Court`es
2006-06-06Added `bib-map'.•••* src/guile/skribilo/biblio.scm (bib-map): New. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-84 Ludovic Court`es
2006-05-10Added biblio helpers (abbrev, author, BibTeX) taken from my `biblib.skr'.•••git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-83 Ludovic Court`es
2006-05-10Added `bib-for-each'. Fixed binding issues in the evaluator and compat.•••* src/guile/skribilo/biblio.scm (bib-for-each): New. * src/guile/skribilo/evaluator.scm: Autoload `engine' also when `*current-engine*' is met. * src/guile/skribilo/utils/compat.scm (skribe-read): Export it. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-82 Ludovic Court`es
2006-05-09eq: Fixed the rendering of `*' in the Lout implementation.•••* src/guile/skribilo/package/eq/lout.scm (*): Use `times' when issuing a `*' sign. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-81 Ludovic Court`es
2006-05-09Added `markup-option-set!'.•••* src/guile/skribilo/ast.scm (markup-option-set!): New. * src/guile/skribilo/engine/lout.scm (markup-option-set!): Removed. (lout-start-large-scale-structure): Don't invoke `markup-option-set!' on markups that are not a large-scale structure. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-80 Ludovic Court`es
2006-04-14eq: Added the `inline?' keyword; fixed the Lout engine.•••* src/guile/skribilo/package/eq.scm (eq): Added the `inline?' keyword. * src/guile/skribilo/package/eq/lout.scm (eq): Support it. (simple-lout-markup-writer): Added a parameter specifying whether parentheses are needed. Fixed `-' with that respect. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-79 Ludovic Court`es
2006-04-06Small aesthetic changes in the Lout engine.•••* src/guile/skribilo/engine/lout.scm (lout-make-doc-cover-sheet): Added an appropriate `@Break' setting for the title. (lout-engine)[:symbol-table]: Don't produce additional space around `@Eq'. * src/guile/skribilo/package/eq/lout.scm (eq): Don't produce additional space around `@Eq'. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-78 Ludovic Court`es
2006-03-19Lout engine: small fixes.•••* src/guile/skribilo/engine/lout.scm (figure): For `@BypassNumber', make sure NUMBER is not `#f'. * src/guile/skribilo/package/slide/lout.scm: Don't switch automatically DOCUMENT-TYPE to `slides'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-49 Ludovic Courtes
2006-03-19Image- and compat-related fixes.•••* src/guile/skribilo/utils/images.scm: Autoload `parameters' on `*verbose*' too. * src/guile/skribilo/lib.scm (skribe-read): Moved to... * src/guile/skribilo/utils/compat.scm: ... here. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-48 Ludovic Courtes
2006-03-18Moved `convert-image' et al. to `utils/images.scm'.•••* src/guile/skribilo/runtime.scm: Moved image-related code to... * src/guile/skribilo/utils/images.scm: ... here (new file). * src/guile/skribilo/utils/Makefile.am (dist_guilemodule_DATA): Updated. * src/guile/skribilo/module.scm (%skribilo-user-autoloads): Added `(skribilo utils images)'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-47 Ludovic Courtes
2006-03-18Lout engine: better handling of the `slides' document type.•••* src/guile/skribilo/engine/lout.scm (lout-slides-markup-alist): New. (lout-structure-markup): Handle `slides'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-46 Ludovic Courtes
2006-03-07Partial rewrite of the debugging facilities (slightly slower).•••* src/guile/skribilo.scm (skribilo): Use the new debugging API. * src/guile/skribilo/debug.scm: Use SRFI-39 parameter objects. Moved legacy procedures to `compat.scm'. * src/guile/skribilo/utils/compat.scm (set-skribe-debug!): New. (no-debug-color): New. (skribe-debug): New. (add-skribe-debug-symbol): New. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-44 Ludovic Courtes
2006-03-07Slight optimization: allow for non-proc predicated for markup writers.•••* src/guile/skribilo/engine.scm (engine-add-writer!): Allow PRED to be `#f'. * src/guile/skribilo/writer.scm (make-writer-predicate): Likewise. (lookup-markup-writer)[matching-writer]: Likewise. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-43 Ludovic Courtes
2006-03-02Removed the global engine table.•••* src/guile/skribilo/engine.scm (*engines*): Removed. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-68 Ludovic Court`es
2006-03-02Fixed `copy-engine' with respect to the writers optimization.•••* src/guile/skribilo/engine.scm (copy-engine): Fixed so that the `writers' hash table is actually copied. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-66 Ludovic Court`es
2006-03-01Fixed tiny module loading/autoloading mistakes.•••* src/guile/skribilo/module.scm (%skribilo-user-imports): Added `(skribilo location)'. * src/guile/skribilo/output.scm: Fixed autoloading of `(skribilo engine)'. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-64 Ludovic Court`es
2006-03-01Significantly optimized lookup of markup writers.•••* src/guile/skribilo/engine.scm (<engine>)[writers]: Became a hash table (instead of a list). [free-writers]: New. (engine-add-writer!): Changed accordingly. * src/guile/skribilo/writer.scm (write-object): Renamed to `write'. (lookup-markup-writer): Rewritten according to the above changes. (markup-writer-get): Likewise. (markup-writer-get*): Likewise. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-63 Ludovic Court`es
2006-03-01Lout engine: use `push-default-engine' and `pop-default-engine'.•••* src/guile/skribilo/engine/lout.scm: Once `lout-engine' is defined, invoke `push-default-engine'. Invoke `pop-default-engine' at the end. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-62 Ludovic Court`es
2006-02-28Slightly optimized the resolution process (added `ast-resolved?').•••* src/guile/skribilo/ast.scm (<ast>): Added a `resolved?' slot, with accessor `ast-resolved?'. * src/guile/skribilo/resolve.scm (do-resolve!)[<node>]: Check whether `ast-resolved?' is true and set it once it's resolved. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-37 Ludovic Courtes
2006-02-27Changed the way `slide' implementations are loaded. Doc is buildable now.•••* src/guile/skribilo/package/slide.scm: Change the initialization method for the engine-specific writers: don't rely on `autoload' which is too non-deterministic, use `resolve-module' instead. * src/guile/skribilo/package/slide/html.scm: Call `%slide-html-initialize!' from here. * src/guile/skribilo/package/slide/latex.scm: Likewise. * src/guile/skribilo/package/slide/lout.scm (%slide-lout-initialize!): Removed. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-58 Ludovic Court`es
2006-02-27`eq': Added the `:renderer' option to `eq'. Support `lout'.•••* src/guile/skribilo/package/eq.scm (eq): Added a `renderer' option. Modified the `eq' writer for `base'. (!=): Use the appropriate symbol. (~=): Likewise. (>=): Likewise. (<=): Likewise. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-57 Ludovic Court`es
2006-02-27`eq': Implemented the text-based markup writers.•••* src/guile/skribilo/package/eq.scm: Implemented the text-based markup writers for the `base' engine. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-56 Ludovic Court`es
2006-02-25Made `make-string-replace' faster.•••* src/guile/skribilo/runtime.scm (%make-general-string-replace): Use a hash table rather than a list. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-35 Ludovic Courtes
2006-02-21`eq': added the `apply' markup.•••* src/guile/skribilo/package/eq.scm (%operators): Added `apply'. (eq:apply): New markup. * src/guile/skribilo/package/eq/lout.scm (eq:apply): New writer. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-54 Ludovic Court`es
2006-02-20`eq': Added `eq:in', `eq:notin' and their Lout writers.•••* src/guile/skribilo/package/eq.scm (%symbols): New. (make-fast-member-predicate): New. (known-operator?): New. (known-symbol?): New. (equation-markup?): New. (eq:symbols->strings): When EQUATION is a symbol, check whether it is KNOWN-SYMBOL?. (eq:in): New markup (eq:notin): New markup. * src/guile/skribilo/package/eq/lout.scm (binary-lout-markup-writer): New. (eq:in): New writer. (eq:notin): New writer. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-53 Ludovic Court`es