aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLudovic Courtes2006-01-08 17:13:42 +0000
committerLudovic Courtes2006-01-08 17:13:42 +0000
commit20e5a989999ca11d68bf90417402c60c275dd0cc (patch)
tree4235ac0b0d6aeefa48ad463c62894d8af72caa66 /src
parent16077267f2b9018ce714d0b22c684e6addac9db9 (diff)
downloadskribilo-20e5a989999ca11d68bf90417402c60c275dd0cc.tar.gz
skribilo-20e5a989999ca11d68bf90417402c60c275dd0cc.tar.lz
skribilo-20e5a989999ca11d68bf90417402c60c275dd0cc.zip
Cleaning the compatibility module and other annoyances.
* src/skribilo.in: Catch exceptions and call `(exit 1)' when caught. * doc/user/Makefile.am (skribilo): Fixed. * src/guile/skribilo.scm: Updated copyright year. * src/guile/skribilo/compat.scm: Moved to `utils'. * src/guile/skribilo/Makefile.am (dist_guilemodule_DATA): Removed `compat.scm'. * src/guile/skribilo/Makefile.am (dist_guilemodule_DATA): Added `compat.scm'. * src/guile/skribilo/coloring/lisp.scm: Use `(skribilo utils syntax)'. * src/guile/skribilo/module.scm (%skribilo-user-imports): Import `(skribilo utils compat)' instead of `(skribilo compat)'. Added more triggering procedures for `(skribilo source)'. * src/guile/skribilo/skribe/api.scm: Moved the definition of a Skribe-compatible `gensym' to `compat.scm'. * src/guile/skribilo/source.scm: Use `*source-path*' instead of `skribe-source-path'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-19
Diffstat (limited to 'src')
-rw-r--r--src/guile/skribilo.scm8
-rw-r--r--src/guile/skribilo/Makefile.am3
-rw-r--r--src/guile/skribilo/coloring/lisp.scm1
-rw-r--r--src/guile/skribilo/module.scm6
-rw-r--r--src/guile/skribilo/skribe/api.scm13
-rw-r--r--src/guile/skribilo/source.scm8
-rw-r--r--src/guile/skribilo/utils/Makefile.am2
-rw-r--r--src/guile/skribilo/utils/compat.scm (renamed from src/guile/skribilo/compat.scm)24
-rwxr-xr-x[-rw-r--r--]src/skribilo.in2
9 files changed, 35 insertions, 32 deletions
diff --git a/src/guile/skribilo.scm b/src/guile/skribilo.scm
index e131ff3..bf849ab 100644
--- a/src/guile/skribilo.scm
+++ b/src/guile/skribilo.scm
@@ -4,11 +4,10 @@ main='(module-ref (resolve-module '\''(skribilo)) '\'main')'
exec ${GUILE-guile} --debug -l $0 -c "(apply $main (cdr (command-line)))" "$@"
!#
-;;;;
;;;; skribilo.scm
;;;;
;;;; Copyright © 2003-2004 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
-;;;; Copyright 2005 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;;; Copyright 2005, 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
;;;;
;;;;
;;;; This program is free software; you can redistribute it and/or modify
@@ -25,11 +24,6 @@ exec ${GUILE-guile} --debug -l $0 -c "(apply $main (cdr (command-line)))" "$@"
;;;; along with this program; if not, write to the Free Software
;;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
;;;; USA.
-;;;;
-;;;; Author: Erick Gallesio [eg@essi.fr]
-;;;; Creation date: 24-Jul-2003 20:33 (eg)
-;;;; Last file update: 6-Mar-2004 16:13 (eg)
-;;;;
;;;; Commentary:
;;;;
diff --git a/src/guile/skribilo/Makefile.am b/src/guile/skribilo/Makefile.am
index c6765f5..f136956 100644
--- a/src/guile/skribilo/Makefile.am
+++ b/src/guile/skribilo/Makefile.am
@@ -4,7 +4,6 @@ dist_guilemodule_DATA = biblio.scm color.scm config.scm \
lib.scm module.scm output.scm prog.scm \
reader.scm resolve.scm runtime.scm \
source.scm parameters.scm verify.scm \
- writer.scm ast.scm location.scm \
- compat.scm
+ writer.scm ast.scm location.scm
SUBDIRS = utils reader engine package skribe coloring
diff --git a/src/guile/skribilo/coloring/lisp.scm b/src/guile/skribilo/coloring/lisp.scm
index ad02431..55fb7d6 100644
--- a/src/guile/skribilo/coloring/lisp.scm
+++ b/src/guile/skribilo/coloring/lisp.scm
@@ -26,6 +26,7 @@
;;;;
(define-module (skribilo coloring lisp)
+ :use-module (skribilo utils syntax)
:use-module (skribilo source)
:use-module (skribilo lib)
:use-module (skribilo runtime)
diff --git a/src/guile/skribilo/module.scm b/src/guile/skribilo/module.scm
index b88c3b7..c9b7034 100644
--- a/src/guile/skribilo/module.scm
+++ b/src/guile/skribilo/module.scm
@@ -47,8 +47,8 @@
(ice-9 optargs) ;; `define*'
(skribilo utils syntax) ;; `unless', `when', etc.
+ (skribilo utils compat) ;; `skribe-load-path', etc.
(skribilo module)
- (skribilo compat) ;; `skribe-load-path', etc.
(skribilo ast) ;; `<document>', `document?', etc.
(skribilo config)
(skribilo runtime) ;; `the-options', `the-body', `make-string-replace'
@@ -68,7 +68,9 @@
;; FIXME: The following should eventually be
;; removed from here.
lout-structure-number-string))
- ((skribilo source) . (source-read-lines source-fontify))
+ ((skribilo source) . (source-read-lines source-fontify
+ language? language-extractor
+ language-fontifier source-fontify))
((skribilo coloring lisp) . (skribe scheme lisp))
((skribilo coloring xml) . (xml))
((skribilo color) .
diff --git a/src/guile/skribilo/skribe/api.scm b/src/guile/skribilo/skribe/api.scm
index 9a6369d..bf99868 100644
--- a/src/guile/skribilo/skribe/api.scm
+++ b/src/guile/skribilo/skribe/api.scm
@@ -19,8 +19,7 @@
;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
;;; USA.
-(define-skribe-module (skribilo skribe api)
- :replace (gensym))
+(define-skribe-module (skribilo skribe api))
;;; Author: Manuel Serrano
;;; Commentary:
@@ -33,16 +32,6 @@
;;; The contents of the file below are unchanged compared to Skribe 1.2d's
;;; `api.scm' file found in the `common' directory.
-(define %gensym-orig (module-ref the-root-module 'gensym))
-
-(define gensym
- ;; In Skribe, `gensym' accepts a symbol. Guile's `gensym' accepts only
- ;; strings (or no argument).
- (lambda obj
- (apply %gensym-orig
- (cond ((null? obj) '())
- ((symbol? (car obj)) (list (symbol->string (car obj))))
- (else (skribe-error 'gensym "invalid argument" obj))))))
;*---------------------------------------------------------------------*/
diff --git a/src/guile/skribilo/source.scm b/src/guile/skribilo/source.scm
index e4f9973..75e886e 100644
--- a/src/guile/skribilo/source.scm
+++ b/src/guile/skribilo/source.scm
@@ -53,11 +53,11 @@
;* source-read-lines ... */
;*---------------------------------------------------------------------*/
(define (source-read-lines file start stop tab)
- (let ((p (search-path (skribe-source-path) file)))
+ (let ((p (search-path (*source-path*) file)))
(if (or (not (string? p)) (not (file-exists? p)))
(skribe-error 'source
(format "Can't find `~a' source file in path" file)
- (skribe-source-path))
+ (*source-path*))
(with-input-from-file p
(lambda ()
(if (> (*verbose*) 0)
@@ -130,7 +130,7 @@
;* source-read-definition ... */
;*---------------------------------------------------------------------*/
(define (source-read-definition file definition tab lang)
- (let ((p (search-path (skribe-source-path) file)))
+ (let ((p (search-path (*source-path*) file)))
(cond
((not (language-extractor lang))
(skribe-error 'source
@@ -139,7 +139,7 @@
((or (not p) (not (file-exists? p)))
(skribe-error 'source
(format "Can't find `~a' program file in path" file)
- (skribe-source-path)))
+ (*source-path*)))
(else
(let ((ip (open-input-file p)))
(if (> (*verbose*) 0)
diff --git a/src/guile/skribilo/utils/Makefile.am b/src/guile/skribilo/utils/Makefile.am
index 810ee48..6a82ac7 100644
--- a/src/guile/skribilo/utils/Makefile.am
+++ b/src/guile/skribilo/utils/Makefile.am
@@ -1,4 +1,4 @@
guilemoduledir = $(GUILE_SITE)/skribilo/utils
-dist_guilemodule_DATA = syntax.scm
+dist_guilemodule_DATA = syntax.scm compat.scm
## arch-tag: 3a18b64b-1da2-417b-8338-2c534bca277f
diff --git a/src/guile/skribilo/compat.scm b/src/guile/skribilo/utils/compat.scm
index c90af1d..d9a63d6 100644
--- a/src/guile/skribilo/compat.scm
+++ b/src/guile/skribilo/utils/compat.scm
@@ -1,6 +1,6 @@
;;; compat.scm -- Skribe compatibility module.
;;;
-;;; Copyright 2005 Ludovic Courtès <ludovic.courtes@laas.fr>
+;;; Copyright 2005, 2006 Ludovic Courtès <ludovic.courtes@laas.fr>
;;;
;;;
;;; This program is free software; you can redistribute it and/or modify
@@ -19,9 +19,27 @@
;;; USA.
-(define-module (skribilo compat)
+(define-module (skribilo utils compat)
:use-module (skribilo parameters)
- :use-module (srfi srfi-1))
+ :use-module (srfi srfi-1)
+ :replace (gensym))
+
+
+;;;
+;;; gensym
+;;;
+
+(define %gensym-orig (module-ref the-root-module 'gensym))
+
+(define gensym
+ ;; In Skribe, `gensym' accepts a symbol. Guile's `gensym' accepts only
+ ;; strings (or no argument).
+ (lambda obj
+ (apply %gensym-orig
+ (cond ((null? obj) '())
+ ((symbol? (car obj)) (list (symbol->string (car obj))))
+ ((string? (car obj)) (list (car obj)))
+ (else (skribe-error 'gensym "invalid argument" obj))))))
;;;
diff --git a/src/skribilo.in b/src/skribilo.in
index 5508e10..4b77c5e 100644..100755
--- a/src/skribilo.in
+++ b/src/skribilo.in
@@ -3,5 +3,5 @@
main='(module-ref (resolve-module '\''(skribilo)) '\'main')'
exec ${GUILE-@GUILE@} --debug \
- -c "(apply $main (cdr (command-line)))" "$@"
+ -c "(catch #t (lambda () (apply $main (cdr (command-line)))) (lambda (key . args) (format (current-error-port) \"exception \`~a' raised~%\" key) (exit 1)))" "$@"