summaryrefslogtreecommitdiff
path: root/src/guile/skribilo/lib.scm
AgeCommit message (Collapse)Author
2012-05-17Change `define-markup' to generate a macro, to capture location syntactically.Ludovic Courtès
* 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.
2012-05-17Switch to GPLv3+.Ludovic Courtès
2009-11-20Remove occurrences of `use-syntax' and `export-syntax'.Ludovic Courtès
* 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'.
2009-03-24Add `(skribilo-module-syntax)'.Ludovic Courtès
* 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.
2009-03-05Move `%procedure-arity' out of `lib.scm'.Ludovic Courtès
* 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.
2009-03-05Use orthodox macrology for `new'.Ludovic Courtès
* 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.
2007-07-29Allow arbitrary keyword arguments in `define-markup'.Ludovic Courtes
* src/guile/skribilo/lib.scm (define-markup)[fix-rest-arg]: Add `:allow-other-keys' so that package like `html-navtabs' can require extra keyword arguments. git-archimport-id: skribilo@sv.gnu.org--2006/skribilo--devo--1.2--patch-142
2007-06-06Cleaned up the core modules.Ludovic Court`es
git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-65
2007-06-06lib: Minor fixes that make Guile-Lint happy.Ludovic Court`es
* src/guile/skribilo/lib.scm (define-simple-markup): Don't quote strings. (define-simple-container): Likewise. (define-processor-markup): Likewise. Added a `loc' argument. Pass location information to `new'. git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-60
2007-04-03Fixed computation of `&invocation-location'.Ludovic Court`es
* src/guile/skribilo/location.scm (invocation-location): Make sure we always return the exact invocation location, no matter how `invocation-location' is implemented. * src/guile/skribilo/lib.scm (define-markup): Updated DEPTH argument to `invocation-location' due to previous change in the implementation of `invocation-location'. git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-42
2007-04-03Moved legacy source location code to `compat'.Ludovic Court`es
* src/guile/skribilo/lib.scm (skribe-eval-location): Removed. * src/guile/skribilo/location.scm (location-pos): Removed. * src/guile/skribilo/utils/compat.scm: Use `(skribilo location)'. (location-pos, skribe-eval-location): New. git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-40
2007-04-03Added support for source location tracking.Ludovic Court`es
* src/guile/skribilo/ast.scm (<ast>): Added the `:loc' init-keyword. * src/guile/skribilo/lib.scm: Re-export `invocation-location'. (define-markup): Locally define `&invocation-location' for use by markups. (define-simple-markup): Initialize `loc'. (define-simple-container): Likewise. (%skribe-warn): New `col'. parameter. (skribe-warning): Updated. (skribe-warning/ast): Likewise. * src/guile/skribilo/location.scm (<location>): Removed slot `pos'. Added slot `column'. Export `location-column'. (location-pos): Kept for compatibility. (write): New method. (invocation-location): New function. git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-38
2006-07-30Introduced `type-name' as a replacement for `find-runtime-type'.Ludovic Courtes
* src/guile/skribilo/lib.scm (type-name): New (formerly `find-runtime-type'). * src/guile/skribilo/utils/compat.scm (find-runtime-type): New. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-35
2006-07-24Updated the FSF address.Ludovic Court`es
From "59 Temple Place - Suite 330, Boston, MA 02111-1307" to "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301". Magic command line: find . -type f -print0 | xargs -0 sed -i -e 's/51 Franklin Street, Fifth Floor/51 Franklin Street, Fifth Floor/;s/02110-1301/02110-1301/; git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-29
2006-07-20Removed unused code in `(skribilo lib)'.Ludovic Court`es
* src/guile/skribilo/lib.scm (key-get): Removed. git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-16
2006-03-19Image- and compat-related fixes.Ludovic Courtes
* 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
2006-01-11Made compatible with the new `current-reader' as a fluid.Ludovic Court`es
* *.scm: Use `fluid-set! current-reader %skribilo-module-reader' instead of `set-current-reader'. * src/guile/skribilo/utils/syntax.scm: Use `(system reader compat)'. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-24
2006-01-03Cleaned up the use of a Skribe-compatible `gensym'.Ludovic Courtes
* src/guile/skribilo.scm (gensym): Removed. * src/guile/skribilo/lib.scm (define-simple-markup): Comply with Guile's version of `gensym'. (define-simple-container): Likewise. * src/guile/skribilo/skribe/api.scm (gensym): Improved. Exported via `#:replace'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-18
2005-11-28Created a canonical module for Skribilo syntactic sugar.Ludovic Court`es
* src/guile/skribilo/utils/syntax.scm: New. Export `unless', `when', formerly defined in `lib.scm'. * src/guile/skribilo.scm: Use `(skribilo utils syntax)' and `%skribilo-module-reader'. Fixed parameterization of `*verbose*'. * src/guile/skribilo/ast.scm: Use `(skribilo utils syntax)' and `%skribilo-module-reader'. * src/guile/skribilo/biblio.scm: Likewise. * src/guile/skribilo/engine.scm: Likewise. * src/guile/skribilo/writer.scm: Likewise. * src/guile/skribilo/location.scm: Likewise. * src/guile/skribilo/lib.scm: Likewise. * src/guile/skribilo/source.scm: Likewise. * src/guile/skribilo/evaluator.scm: Likewise. Use `*document-path*' instead of `skribe-path'. * src/guile/skribilo/module.scm: Use `(system reader confinement)'. (%skribilo-user-imports): Moved some modules to... (%skribilo-user-autoloads): New. (define-skribe-module): Auto-load the modules specified in `%skribilo-user-autoloads'. Use `set-current-reader' instead of the `#:reader' option of `define-module'. * src/guile/skribilo/engine/lout.scm: Commented out a piece of text. git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-13
2005-11-25Overhaul: emphasized logical separation of the modules.Ludovic Court`es
* src/guile/skribilo/types.scm: Removed. Moved the class and method definitions in the relevant files. * src/guile/skribilo/ast.scm: New. * src/guile/skribilo/location.scm: New. * src/guile/skribilo/parameters.scm: Same as part of the former `vars.scm' except that it uses fluids instead of globals. * src/guile/skribilo/vars.scm: Renamed to `compat.scm'. * doc/Makefile: Removed (generated by `configure'). git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-11
2005-11-01Changes related to source-highlighting and to the manual.Ludovic Courtes
* src/guile/skribilo/engine/lout.scm (lout-make-doc-cover-sheet): Fixed the definition of MULTI-COLUMN? (fixes a bug when producing multi-column documents). (lout-definitions): `@SkribeLeaders' renamed to `@SkribiloLeaders'. * doc/skr/api.skr (api-search-definition): Fixed calls to `format'. * doc/skr/manual.skr (keyword): Use `write' instead of `keyword->string'. * doc/user/start.skb: Cosmetic changes. * src/guile/skribilo/coloring/lisp.scm: First stab at its adaptation. * src/guile/skribilo/coloring/xml.scm: Rewritten "by hand". * src/guile/skribilo/evaluator.scm (skribe-include): Removed debugging statements. * src/guile/skribilo/lib.scm (new): Added a trick such that users of this macro don't have to use `(oop goops)' and `(skribilo types)'. (date): New procedure. * src/guile/skribilo/module.scm (*skribe-core-modules*): Renamed to `%skribe-core-modules'. (%skribe-core-modules): Removed `(oop goops)'. Added `(skribilo source)', `(skribilo coloring lisp)' and `(skribilo coloring xml)'. * src/guile/skribilo/skribe/api.scm (footnote): Fixed. * src/guile/skribilo/source.scm: Cosmetic changes. * src/guile/skribilo/types.scm: Export `language-extractor' and `language-fontifier'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-11
2005-10-31Installed Autoconf/Automake machinery. Fixed a few things.Ludovic Courtes
* src/guile/skribilo/evaluator.scm (skribe-load): Search through `%load-path' and try with a `.scm' extension (rather than the `.skr' one provided by the user). (skribe-include): Added a few debugging statements. * src/guile/skribilo/lib.scm (fix-rest-arg): Handle the dot notation for rest arguments. * src/guile/skribilo/reader/skribe.scm (%make-skribe-reader): Use SQUARE-BRACKET-FREE-SYMBOL-MISC-CHARS. * src/guile/skribilo/skribe/index.scm: Use `define-public' instead of `define'. * src/guile/skribilo/packages/*.scm: Moved to `skribilo/package'. * LICENSE: Removed. * COPYING: New. * AUTHORS: New. * NEWS: New. * ChangeLog: New. * configure.ac: New. * Makefile.am: New. In various directories. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-10
2005-07-02Minor fixes for file/line error reporting.Ludovic Courtes
* src/guile/skribilo/lib.scm (skribe-line-error): Removed. (skribe-ast-error): Fixed. Use `location-line' instead of `location-pos'. (skribe-error): Fixed. (%skribe-warn): Use the file and line number of CURRENT-INPUT-PORT by default. * src/guile/skribilo/types.scm: Export `location-file', `location-line' and `location-pos'. (initialize): New method for `<ast>' objects, initialize slot `loc' with information from CURRENT-INPUT-PORT. (ast-location): Fixed. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-5
2005-07-02First real document produced!Ludovic Courtes
Lots of things, including: * src/guile/skribilo/engine/lout.scm: New file. First real document produced! git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-4
2005-07-02Started relying on the per-module reader; first doc produced ever!Ludovic Courtes
First document compiled by Skribilo to HTML! * src/guile/skribilo/module.scm (define-skribe-module): Use the `#:reader' option of `define-module' (not yet integrated in Guile 1.7). Plus lots of other things... git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-3
2005-07-01Lots of changes, again.Ludovic Courtes
Lots of changes, notably the following: * skr/*.skr: Moved engines to `src/guile/skribilo/engine'. * src/guile/skribilo/engine.scm (lookup-engine): Rewritten. Don't use the auto-load alist. * src/guile/skribilo/evaluator.scm: New name of the `eval' module. `eval' couldn't be used as the module base-name because of Guile's recursive module name space. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-2
2005-07-01Lots of changes.Ludovic Courtes
Too many changes to describe here, among which, moving the `(skribe)' module namespace to `(skribilo)'. This is work in progress. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-1