From 4420b6ce4292ae201a95c8ad22a9cc233aa7437a Mon Sep 17 00:00:00 2001 From: Ludovic Court`es Date: Tue, 11 Jul 2006 14:39:13 +0000 Subject: By 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 --- src/guile/skribilo/utils/syntax.scm | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'src/guile') diff --git a/src/guile/skribilo/utils/syntax.scm b/src/guile/skribilo/utils/syntax.scm index f7a5990..975b879 100644 --- a/src/guile/skribilo/utils/syntax.scm +++ b/src/guile/skribilo/utils/syntax.scm @@ -1,6 +1,6 @@ ;;; syntax.scm -- Syntactic candy for Skribilo modules. ;;; -;;; Copyright 2005 Ludovic Courtès +;;; Copyright 2005, 2006 Ludovic Courtès ;;; ;;; ;;; This program is free software; you can redistribute it and/or modify @@ -30,21 +30,26 @@ ;;; ;;; Commentary: ;;; -;;; A reader for the Skribe syntax, i.e. roughly R5RS Scheme plus DSSSL-style -;;; keywords and sk-exps (expressions introduced using a square bracket). +;;; This module provides syntactic candy for Skribilo modules, i.e., a syntax +;;; similar to Guile's default syntax with a few extensions, plus various +;;; convenience macros. ;;; ;;; Code: (define %skribilo-module-reader ;; The syntax used to read Skribilo modules. - (make-alternate-guile-reader '(colon-keywords - no-scsh-block-comments - srfi30-block-comments - srfi62-sexp-comments) - (lambda (chr port read) - (error "unexpected character in Skribilo module" - chr)) - 'reader/record-positions)) + (apply make-alternate-guile-reader + '(colon-keywords no-scsh-block-comments + srfi30-block-comments srfi62-sexp-comments) + (lambda (chr port read) + (error "unexpected character in Skribilo module" + chr)) + + ;; By default, don't record positions: this yields a nice read + ;; performance improvement. + (if (memq 'debug (debug-options)) + (list 'reader/record-positions) + '()))) (define %skribe-reader ;; The Skribe syntax reader. -- cgit v1.2.3