about summary refs log tree commit diff
path: root/src/guile/skribilo/coloring/lisp.scm
diff options
context:
space:
mode:
authorLudovic Court`es2005-11-02 10:08:38 +0000
committerLudovic Court`es2005-11-02 10:08:38 +0000
commitb76d5e1b252967521f210eac10ddbf089dde8c6a (patch)
tree00fc81c51256991c04799d79a749bbdd5b9fad30 /src/guile/skribilo/coloring/lisp.scm
parentba63b8d4780428d9f63f6ace7f49361b77401112 (diff)
parentf553cb65b157b6df9563cefa593902d59301461b (diff)
downloadskribilo-b76d5e1b252967521f210eac10ddbf089dde8c6a.tar.gz
skribilo-b76d5e1b252967521f210eac10ddbf089dde8c6a.tar.lz
skribilo-b76d5e1b252967521f210eac10ddbf089dde8c6a.zip
Cleaned up the source tree and the installation process.
Patches applied:

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-6
   Cosmetic changes.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-7
   Removed useless files, integrated packages.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-8
   Removed useless files, integrated packages.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-9
   Moved the STkLos and Bigloo code to `legacy'.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-10
   Installed Autoconf/Automake machinery.  Fixed a few things.

 * lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-11
   Changes related to source-highlighting and to the manual.


git-archimport-id: lcourtes@laas.fr--2004-libre/skribilo--devel--1.2--patch-10
Diffstat (limited to 'src/guile/skribilo/coloring/lisp.scm')
-rw-r--r--src/guile/skribilo/coloring/lisp.scm113
1 files changed, 56 insertions, 57 deletions
diff --git a/src/guile/skribilo/coloring/lisp.scm b/src/guile/skribilo/coloring/lisp.scm
index 53cf670..ad02431 100644
--- a/src/guile/skribilo/coloring/lisp.scm
+++ b/src/guile/skribilo/coloring/lisp.scm
@@ -1,46 +1,46 @@
 ;;;;
-;;;; lisp.stk	-- Lisp Family Fontification
-;;;; 
+;;;; lisp.scm	-- Lisp Family Fontification
+;;;;
 ;;;; Copyright © 2003-2004 Erick Gallesio - I3S-CNRS/ESSI <eg@essi.fr>
-;;;; 
-;;;; 
+;;;; Copyright © 2005      Ludovic Courtès  <ludovic.courtes@laas.fr>
+;;;;
+;;;;
 ;;;; This program is free software; you can redistribute it and/or modify
 ;;;; it under the terms of the GNU General Public License as published by
 ;;;; the Free Software Foundation; either version 2 of the License, or
 ;;;; (at your option) any later version.
-;;;; 
+;;;;
 ;;;; This program is distributed in the hope that it will be useful,
 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ;;;; GNU General Public License for more details.
-;;;; 
+;;;;
 ;;;; You should have received a copy of the GNU General Public License
 ;;;; along with this program; if not, write to the Free Software
-;;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
+;;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
 ;;;; USA.
-;;;; 
+;;;;
 ;;;;           Author: Erick Gallesio [eg@essi.fr]
 ;;;;    Creation date: 16-Oct-2003 22:17 (eg)
 ;;;; Last file update: 28-Oct-2004 21:14 (eg)
 ;;;;
 
-(require "lex-rt")	;; to avoid module problems
+(define-module (skribilo coloring lisp)
+  :use-module (skribilo source)
+  :use-module (skribilo lib)
+  :use-module (skribilo runtime)
+  :export (skribe scheme stklos bigloo lisp))
 
-(define-module (skribilo lisp)
-  :export (skribe scheme stklos bigloo lisp)
-  :import (skribe source))
 
-(include "lisp-lex.stk")		;; SILex generated
-  
-(define *bracket-highlight* #f)
-(define *class-highlight*   #f)
-(define *the-keys*	    #f)
+(define *bracket-highlight* (make-fluid))
+(define *class-highlight*   (make-fluid))
+(define *the-keys*	    (make-fluid))
 
-(define *lisp-keys*	    #f)
-(define *scheme-keys*       #f)
-(define *skribe-keys*	    #f)
-(define *stklos-keys*	    #f)
-(define *lisp-keys*	    #f)
+(define *lisp-keys*	    (make-fluid))
+(define *scheme-keys*       (make-fluid))
+(define *skribe-keys*	    (make-fluid))
+(define *stklos-keys*	    (make-fluid))
+(define *lisp-keys*	    (make-fluid))
 
 
 ;;;
@@ -57,17 +57,17 @@
 
 
 (define (lisp-family-fontifier s)
-  (let ((lex (lisp-lex (open-input-string s))))
-    (let Loop ((token (lexer-next-token lex))
+  (let ((lisp-input (open-input-string s)))
+    (let loop ((token (read lisp-input))
 	       (res   '()))
-      (if (eq? token 'eof)
+      (if (eof-object? token)
 	  (reverse! res)
-	  (Loop (lexer-next-token lex)
+	  (loop (read lisp-input)
 		(cons token res))))))
 
 ;;;; ======================================================================
 ;;;;
-;;;; 				LISP
+;;;;				LISP
 ;;;;
 ;;;; ======================================================================
 (define (lisp-extractor iport def tab)
@@ -77,17 +77,17 @@
     (lambda (exp)
       (match-case exp
 	 (((or defun defmacro) ?fun ?- . ?-)
-	  	(and (eq? def fun) exp))
+		(and (eq? def fun) exp))
 	 ((defvar ?var . ?-)
-	 	(and (eq? var def) exp))
+		(and (eq? var def) exp))
 	 (else
-	  	#f)))))
+		#f)))))
 
 (define (init-lisp-keys)
   (unless *lisp-keys*
     (set! *lisp-keys*
       (append  ;; key
-               (map (lambda (x) (cons x '&source-keyword))
+	       (map (lambda (x) (cons x '&source-keyword))
 		    '(setq if let let* letrec cond case else progn lambda))
 	       ;; define
 	       (map (lambda (x) (cons x '&source-define))
@@ -95,9 +95,9 @@
   *lisp-keys*)
 
 (define (lisp-fontifier s)
-  (fluid-let ((*the-keys* 	   (init-lisp-keys))
-	      (*bracket-highlight* #f)
-	      (*class-highlight*   #f))
+  (with-fluids ((*the-keys*	   (init-lisp-keys))
+		(*bracket-highlight* #f)
+		(*class-highlight*   #f))
     (lisp-family-fontifier s)))
 
 
@@ -109,7 +109,7 @@
 
 ;;;; ======================================================================
 ;;;;
-;;;; 				SCHEME
+;;;;				SCHEME
 ;;;;
 ;;;; ======================================================================
 (define (scheme-extractor iport def tab)
@@ -130,7 +130,7 @@
   (unless *scheme-keys*
     (set! *scheme-keys*
       (append ;; key
-       	      (map (lambda (x) (cons x '&source-keyword))
+	      (map (lambda (x) (cons x '&source-keyword))
 		   '(set! if let let* letrec quote cond case else begin do lambda))
 	      ;; define
 	      (map (lambda (x) (cons x '&source-define))
@@ -139,11 +139,11 @@
 
 
 (define (scheme-fontifier s)
-  (fluid-let ((*the-keys* 	   (init-scheme-keys))
-	      (*bracket-highlight* #f)
-	      (*class-highlight*   #f))
+  (with-fluids ((*the-keys*	   (init-scheme-keys))
+		(*bracket-highlight* #f)
+		(*class-highlight*   #f))
     (lisp-family-fontifier s)))
-  
+
 
 (define scheme
   (new language
@@ -153,7 +153,7 @@
 
 ;;;; ======================================================================
 ;;;;
-;;;; 				STKLOS
+;;;;				STKLOS
 ;;;;
 ;;;; ======================================================================
 (define (stklos-extractor iport def tab)
@@ -164,11 +164,11 @@
       (match-case exp
 	 (((or define define-generic define-method define-macro)
 	   (?fun . ?-) . ?-)
-	        (and (eq? def fun) exp))
+		(and (eq? def fun) exp))
 	 (((or define define-module) (and (? symbol?) ?var) . ?-)
-	  	(and (eq? var def) exp))
+		(and (eq? var def) exp))
 	 (else
-	  	#f)))))
+		#f)))))
 
 
 (define (init-stklos-keys)
@@ -192,9 +192,9 @@
 
 
 (define (stklos-fontifier s)
-  (fluid-let ((*the-keys* 	   (init-stklos-keys))
-	      (*bracket-highlight* #t)
-	      (*class-highlight*   #t))
+  (with-fluids ((*the-keys*	   (init-stklos-keys))
+		(*bracket-highlight* #t)
+		(*class-highlight*   #t))
     (lisp-family-fontifier s)))
 
 
@@ -206,7 +206,7 @@
 
 ;;;; ======================================================================
 ;;;;
-;;;; 				SKRIBE
+;;;;				SKRIBE
 ;;;;
 ;;;; ======================================================================
 (define (skribe-extractor iport def tab)
@@ -250,12 +250,12 @@
 				(map (lambda (x) (cons x '&source-define))
 				     '(define-markup)))))
   *skribe-keys*)
-    
+
 
 (define (skribe-fontifier s)
-  (fluid-let ((*the-keys* 	   (init-skribe-keys))
-	      (*bracket-highlight* #t)
-	      (*class-highlight*   #t))
+  (with-fluids ((*the-keys*	   (init-skribe-keys))
+		(*bracket-highlight* #t)
+		(*class-highlight*   #t))
     (lisp-family-fontifier s)))
 
 
@@ -267,7 +267,7 @@
 
 ;;;; ======================================================================
 ;;;;
-;;;; 				BIGLOO
+;;;;				BIGLOO
 ;;;;
 ;;;; ======================================================================
 (define (bigloo-extractor iport def tab)
@@ -279,15 +279,14 @@
 	 (((or define define-inline define-generic
 	       define-method define-macro define-expander)
 	   (?fun . ?-) . ?-)
-	        (and (eq? def fun) exp))
+		(and (eq? def fun) exp))
 	 (((or define define-struct define-library) (and (? symbol?) ?var) . ?-)
-	  	(and (eq? var def) exp))
+		(and (eq? var def) exp))
 	 (else
-	  	#f)))))
+		#f)))))
 
 (define bigloo
   (new language
        (name "bigloo")
        (fontifier scheme-fontifier)
        (extractor bigloo-extractor)))
-