diff options
-rw-r--r-- | src/interp/ChangeLog | 11 | ||||
-rw-r--r-- | src/interp/Makefile.in | 10 | ||||
-rw-r--r-- | src/interp/Makefile.pamphlet | 10 | ||||
-rw-r--r-- | src/interp/bootfuns.lisp.pamphlet | 6 | ||||
-rw-r--r-- | src/interp/parsing.lisp.pamphlet | 1 | ||||
-rw-r--r-- | src/interp/util.lisp.pamphlet | 3 | ||||
-rw-r--r-- | src/interp/vmlisp.lisp.pamphlet | 23 |
7 files changed, 44 insertions, 20 deletions
diff --git a/src/interp/ChangeLog b/src/interp/ChangeLog index 8a3312a9..f8e67834 100644 --- a/src/interp/ChangeLog +++ b/src/interp/ChangeLog @@ -1,5 +1,16 @@ 2007-08-17 Gabriel Dos Reis <gdr@cs.tamu.edu> + * vmlisp.lisp.pamphlet (define-function): Define in all situations. + * parsing.lisp.pamphlet: Import "bootfuns". + * util.lisp.pamphlet: Import "vmlisp" and "parsing". + * bootfuns.lisp.pamphlet: Add GCL-specific bug workaround. + * Makefile.pamphlet (${DEPSYS}): Load "parsing" before "util". + (util.$(FASLEXT)): Has parsing.$(FASLEXT) as prerequisite. + (parsing.$(FASLEXT)): New rule. + * Makefile.in: Regenerate. + +2007-08-17 Gabriel Dos Reis <gdr@cs.tamu.edu> + * ggreater.lisp.pamphlet (VGREATERP): Initialize I, L1 and L2 with appropriate values. (LEXVGREATERP): Likewise. diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in index 876e13cc..fff90a19 100644 --- a/src/interp/Makefile.in +++ b/src/interp/Makefile.in @@ -367,6 +367,7 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \ @ echo '(|importModule| "bootfuns")' >> makedep.lisp @ echo '(|importModule| "nocompil")' >> makedep.lisp @ echo '(|importModule| "bookvol5")' >> makedep.lisp + @ echo '(|importModule| "parsing")' >> makedep.lisp @ echo '(|importModule| "util")' >> makedep.lisp @ echo '(in-package "BOOT")' >> makedep.lisp @ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${AXIOM}")' >> makedep.lisp @@ -374,8 +375,6 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \ @ echo '(load "postpar")' >> makedep.lisp @ echo '(unless (probe-file "parse.$(FASLEXT)") (compile-file "parse.clisp" :output-file "parse.$(FASLEXT)"))' >> makedep.lisp @ echo '(load "parse")' >> makedep.lisp - @ echo '(unless (probe-file "parsing.$(FASLEXT)") (compile-file "parsing.lisp" :output-file "parsing.$(FASLEXT)"))' >> makedep.lisp - @ echo '(load "parsing")' >> makedep.lisp @ echo '(unless (probe-file "metalex.$(FASLEXT)") (compile-file "metalex.lisp" :output-file "metalex.$(FASLEXT)"))' >> makedep.lisp @ echo '(load "metalex")' >> makedep.lisp @ echo '(unless (probe-file "bootlex.$(FASLEXT)") (compile-file "bootlex.lisp" :output-file "bootlex.$(FASLEXT)"))' >> makedep.lisp @@ -407,13 +406,16 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \ ../lisp/base-lisp$(EXEEXT) -- --make --output=$@ \ --load-directory=. makedep.lisp @rm $(addsuffix .$(FASLEXT), \ - postpar parse parsing metalex bootlex newaux preparse \ + postpar parse metalex bootlex newaux preparse \ postprop def metameta fnewmeta clam slam g-error \ g-boot c-util g-util) @ echo 4 ${DEPSYS} created -util.$(FASLEXT): util.lisp bootfuns.$(FASLEXT) +util.$(FASLEXT): util.lisp parsing.$(FASLEXT) + $(BOOTSYS) -- --compile --output=$@ --load-directory=. $< + +parsing.$(FASLEXT): parsing.lisp bootfuns.$(FASLEXT) $(BOOTSYS) -- --compile --output=$@ --load-directory=. $< bookvol5.$(FASLEXT): bookvol5.lisp bootfuns.$(FASLEXT) diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 8cfd56e7..ff5d7ef7 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -1017,6 +1017,7 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \ @ echo '(|importModule| "bootfuns")' >> makedep.lisp @ echo '(|importModule| "nocompil")' >> makedep.lisp @ echo '(|importModule| "bookvol5")' >> makedep.lisp + @ echo '(|importModule| "parsing")' >> makedep.lisp @ echo '(|importModule| "util")' >> makedep.lisp @ echo '(in-package "BOOT")' >> makedep.lisp @ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${AXIOM}")' >> makedep.lisp @@ -1024,8 +1025,6 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \ @ echo '(load "postpar")' >> makedep.lisp @ echo '(unless (probe-file "parse.$(FASLEXT)") (compile-file "parse.clisp" :output-file "parse.$(FASLEXT)"))' >> makedep.lisp @ echo '(load "parse")' >> makedep.lisp - @ echo '(unless (probe-file "parsing.$(FASLEXT)") (compile-file "parsing.lisp" :output-file "parsing.$(FASLEXT)"))' >> makedep.lisp - @ echo '(load "parsing")' >> makedep.lisp @ echo '(unless (probe-file "metalex.$(FASLEXT)") (compile-file "metalex.lisp" :output-file "metalex.$(FASLEXT)"))' >> makedep.lisp @ echo '(load "metalex")' >> makedep.lisp @ echo '(unless (probe-file "bootlex.$(FASLEXT)") (compile-file "bootlex.lisp" :output-file "bootlex.$(FASLEXT)"))' >> makedep.lisp @@ -1056,13 +1055,16 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \ @ echo '(load "g-util")' >> makedep.lisp <<save depsys image>> @rm $(addsuffix .$(FASLEXT), \ - postpar parse parsing metalex bootlex newaux preparse \ + postpar parse metalex bootlex newaux preparse \ postprop def metameta fnewmeta clam slam g-error \ g-boot c-util g-util) @ echo 4 ${DEPSYS} created -util.$(FASLEXT): util.lisp bootfuns.$(FASLEXT) +util.$(FASLEXT): util.lisp parsing.$(FASLEXT) + $(BOOTSYS) -- --compile --output=$@ --load-directory=. $< + +parsing.$(FASLEXT): parsing.lisp bootfuns.$(FASLEXT) $(BOOTSYS) -- --compile --output=$@ --load-directory=. $< bookvol5.$(FASLEXT): bookvol5.lisp bootfuns.$(FASLEXT) diff --git a/src/interp/bootfuns.lisp.pamphlet b/src/interp/bootfuns.lisp.pamphlet index 1afbe294..58e809ed 100644 --- a/src/interp/bootfuns.lisp.pamphlet +++ b/src/interp/bootfuns.lisp.pamphlet @@ -62,6 +62,12 @@ interpreter or algebra uses has to (cough, cough) appear here. <<*>>= <<license>> +;; This is a horrible hack to work around a horrible bug in GCL +;; as reported here: +;; http://lists.gnu.org/archive/html/gcl-devel/2007-08/msg00004.html +#+:gcl (in-package "VMLISP") +#+:gcl (in-package "AxiomCore") + (IMPORT-MODULE "hash") (defpackage "BOOT" #+:common-lisp (:use "COMMON-LISP") diff --git a/src/interp/parsing.lisp.pamphlet b/src/interp/parsing.lisp.pamphlet index 54c9dbfe..ff27ac67 100644 --- a/src/interp/parsing.lisp.pamphlet +++ b/src/interp/parsing.lisp.pamphlet @@ -95,6 +95,7 @@ ; BOOTLEX.LISP: Boot file handling, auxiliary parsing actions and tokenizing ; NEWMETA.LISP: Boot parsing +(import-module "bootfuns") (in-package "BOOT") ; 0. Current I/O Stream definition diff --git a/src/interp/util.lisp.pamphlet b/src/interp/util.lisp.pamphlet index ec9f4ad1..f6c4dd32 100644 --- a/src/interp/util.lisp.pamphlet +++ b/src/interp/util.lisp.pamphlet @@ -1547,7 +1547,8 @@ function assumes that \\ can only appear as first character of name. <<*>>= <<license>> -#-:common-lisp (IMPORT-MODULE "vmlisp") +(IMPORT-MODULE "vmlisp") +(import-module "parsing") (in-package "BOOT") (export '($spadroot $directory-list $current-directory reroot diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet index 9653d749..837ef55f 100644 --- a/src/interp/vmlisp.lisp.pamphlet +++ b/src/interp/vmlisp.lisp.pamphlet @@ -759,13 +759,11 @@ and works properly. ;; defuns -#-(or :CCL (and :Lucid (not :rios))) -(defun define-function (f v) - (setf (symbol-function f) v)) -#+:CCL -(defun define-function (f v) - (setf (symbol-function f) v) - (setf (get f 's:newname) v)) +(eval-when + #+:common-lisp (:compile-toplevel :load-toplevel :execute) + #-:common-lisp (compile load eval) + (defun define-function (f v) + (setf (symbol-function f) v))) (define-function 'tempus-fugit #'get-internal-run-time) @@ -1030,10 +1028,13 @@ and works properly. nil (cons (cons (first x) (second x)) (plist2alist (cddr x))))) -#-:CCL -(defun put (sym ind val) (setf (get sym ind) val)) - -(define-function 'MAKEPROP #'put) +(eval-when + #+:common-lisp (:compile-toplevel :load-toplevel :execute) + #-:common-lisp (compile load eval) + (progn + (defun put (sym ind val) (setf (get sym ind) val)) + + (define-function 'MAKEPROP #'put))) ; 12.0 Operations on Numbers |