From: <cli...@li...> - 2008-07-23 19:08:43
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src ChangeLog, 1.6426, 1.6427 compiler.lisp, 1.333, 1.334 init.lisp, 1.283, 1.284 (Sam Steingold) 2. clisp/src ChangeLog, 1.6427, 1.6428 init.lisp, 1.284, 1.285 macros3.lisp, 1.20, 1.21 (Sam Steingold) 3. clisp/src ChangeLog,1.6428,1.6429 compiler.lisp,1.334,1.335 (Sam Steingold) 4. clisp/tests ChangeLog,1.574,1.575 tests.lisp,1.93,1.94 (Sam Steingold) 5. clisp/doc impbody.xml,1.527,1.528 (Sam Steingold) ---------------------------------------------------------------------- Message: 1 Date: Wed, 23 Jul 2008 16:43:38 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src ChangeLog, 1.6426, 1.6427 compiler.lisp, 1.333, 1.334 init.lisp, 1.283, 1.284 To: cli...@li... Message-ID: <E1K...@ma...> Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv7508/src Modified Files: ChangeLog compiler.lisp init.lisp Log Message: (cons-*fenv*): move from compiler.lisp to init.lisp (%expand-form): use it Index: init.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/init.lisp,v retrieving revision 1.283 retrieving revision 1.284 diff -u -d -r1.283 -r1.284 --- init.lisp 22 Jul 2008 03:02:20 -0000 1.283 +++ init.lisp 23 Jul 2008 16:43:36 -0000 1.284 @@ -886,6 +886,9 @@ (values (cons expf expr) t) (values form nil))) +;; cons specs on top of *fenv* +(defun cons-*fenv* (specs) (apply #'vector (nreverse (cons *fenv* specs)))) + ;; (%expand-form form) expands a whole Form. returns 2 values. (defun %expand-form (form &aux (%whole-form form)) (if (atom form) @@ -1090,8 +1093,7 @@ :detail L1 (TEXT "code after MACROLET contains a dotted list, ending with ~S") L1) - (let ((*fenv* (apply #'vector - (nreverse (cons *fenv* L2))))) + (let ((*fenv* (cons-*fenv* L2))) (values (%expand-form (cons 'PROGN (cddr form))) t)))) (let ((macrodef (car L1))) (if (and (consp macrodef) Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.333 retrieving revision 1.334 diff -u -d -r1.333 -r1.334 --- compiler.lisp 23 Jul 2008 16:05:49 -0000 1.333 +++ compiler.lisp 23 Jul 2008 16:43:36 -0000 1.334 @@ -1571,9 +1571,6 @@ (defun push-*denv* (declspecs) (setq *denv* (nreconc declspecs *denv*))) -;; cons specs on top of *fenv* -(defun cons-*fenv* (specs) (apply #'vector (nreverse (cons *fenv* specs)))) - ;;;;**** FUNCTION MANAGEMENT ;; An FNODE contains the necessary Information for a Function: @@ -5356,7 +5353,7 @@ (fenvconslistr ,fenvconslist (cdr fenvconslistr)) (L nil)) ((null namelistr) - (cons-*fenv* L)) + (sys::cons-*fenv* L)) (push (car namelistr) L) (push (car fenvconslistr) L))) (get-anode (type) @@ -5417,7 +5414,7 @@ ((null namelistr) (values (nreverse vfnodelist) (nreverse varlist) (nreverse anodelist) - (cons-*fenv* fenv))) + (sys::cons-*fenv* fenv))) (push (car namelistr) fenv) (let ((fnode (car fnodelistr))) (if (zerop (fnode-keyword-offset fnode)) @@ -5600,7 +5597,7 @@ ((null namelistr) (values (nreverse vfnodelist) (nreverse varlist) (nreverse anodelist) - (cons-*fenv* fenv))) + (sys::cons-*fenv* fenv))) (push (car namelistr) fenv) (let ((fnode (car fnodelistr)) (macro (car macrolistr))) @@ -5670,7 +5667,7 @@ (fenv '())) ((null namelistr) (values (nreverse varlist) (nreverse anodelist) - (cons-*fenv* fenv))) + (sys::cons-*fenv* fenv))) (push (car namelistr) fenv) (push (c-form (car formlistr) 'ONE) anodelist) (push 1 *stackz*) @@ -5752,7 +5749,7 @@ (do ((L1 (second *form*) (cdr L1)) (L2 '())) ((null L1) - (let ((*fenv* (cons-*fenv* L2))) + (let ((*fenv* (sys::cons-*fenv* L2))) ;; compile the remaining forms: (funcall c `(PROGN ,@(skip-declarations (cddr *form*)))))) (let* ((macrodef (car L1)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.6426 retrieving revision 1.6427 diff -u -d -r1.6426 -r1.6427 --- ChangeLog 23 Jul 2008 16:05:48 -0000 1.6426 +++ ChangeLog 23 Jul 2008 16:43:35 -0000 1.6427 @@ -1,8 +1,9 @@ 2008-07-23 Sam Steingold <sd...@gn...> - * compiler.lisp (cons-*fenv*): add - (add-fenv, c-FLET, c-FUNCTION-MACRO-LET, c-GENERIC-FLET) - (c-MACROLET): use it + * init.lisp (cons-*fenv*): add + (%expand-form): use it + * compiler.lisp (add-fenv, c-FLET, c-FUNCTION-MACRO-LET) + (c-GENERIC-FLET, c-MACROLET): ditto 2008-07-22 Sam Steingold <sd...@gn...> ------------------------------ Message: 2 Date: Wed, 23 Jul 2008 17:00:58 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src ChangeLog, 1.6427, 1.6428 init.lisp, 1.284, 1.285 macros3.lisp, 1.20, 1.21 To: cli...@li... Message-ID: <E1K...@ma...> Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv14030/src Modified Files: ChangeLog init.lisp macros3.lisp Log Message: (illegal-syntax): add (%expand-form, %expand-fundefs-1, %expand-funmacdefs-1) (expand-LETF*, expand-LETF): use it Index: init.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/init.lisp,v retrieving revision 1.284 retrieving revision 1.285 diff -u -d -r1.284 -r1.285 --- init.lisp 23 Jul 2008 16:43:36 -0000 1.284 +++ init.lisp 23 Jul 2008 17:00:56 -0000 1.285 @@ -889,6 +889,12 @@ ;; cons specs on top of *fenv* (defun cons-*fenv* (specs) (apply #'vector (nreverse (cons *fenv* specs)))) +(defun illegal-syntax (detail form-name &optional (whole-form %whole-form)) + (error-of-type 'source-program-error + :form whole-form :detail detail + (TEXT "Illegal syntax in ~A: ~S") + form-name detail)) + ;; (%expand-form form) expands a whole Form. returns 2 values. (defun %expand-form (form &aux (%whole-form form)) (if (atom form) @@ -1101,11 +1107,7 @@ (consp (cdr macrodef))) (setq L2 (list* (make-macro-expander macrodef form) (car macrodef) L2)) - (error-of-type 'source-program-error - :form form - :detail macrodef - (TEXT "illegal syntax in MACROLET: ~S") - macrodef))))) + (illegal-syntax macrodef 'MACROLET))))) ((FUNCTION-MACRO-LET) ;; expand function-definitions, ;; expand body in extended environment @@ -1155,11 +1157,7 @@ 'symbol-macrolet symbol) (setq L2 (list* (make-symbol-macro expansion) symbol L2)))) - (error-of-type 'source-program-error - :form form - :detail symdef - (TEXT "illegal syntax in SYMBOL-MACROLET: ~S") - symdef))))) + (illegal-syntax symdef 'SYMBOL-MACROLET))))) (t (cond ((and (symbolp f) (special-operator-p f)) ;; other Special-forms, ;; e.g. IF, CATCH, THROW, PROGV, UNWIND-PROTECT, PROGN, @@ -1436,11 +1434,7 @@ (if (and (consp fundef) (function-name-p (car fundef)) (consp (cdr fundef))) (list* (car fundef) nil (%expand-fundefs-1 (cdr fundefs))) - (error-of-type 'source-program-error - :form %whole-form - :detail fundef - (TEXT "illegal syntax in FLET/LABELS: ~S") - fundef))))) + (illegal-syntax fundef "FLET/LABELS"))))) ;; (%expand-fundefs-2 fundefs) expands a function-definition-list, ;; like in FLET, LABELS. returns 2 values. (defun %expand-fundefs-2 (fundefs) @@ -1469,11 +1463,7 @@ (consp (cddr funmacdef)) (consp (third funmacdef)) (null (cdddr funmacdef))) (list* (car funmacdef) nil (%expand-funmacdefs-1 (cdr funmacdefs))) - (error-of-type 'source-program-error - :form %whole-form - :detail funmacdef - (TEXT "illegal syntax in FUNCTION-MACRO-LET: ~S") - funmacdef))))) + (illegal-syntax funmacdef 'FUNCTION-MACRO-LET))))) ;; (%expand-funmacdefs-2 funmacdefs) expands a function-macro- ;; definition-list, like in FUNCTION-MACRO-LET. returns 2 values. (defun %expand-funmacdefs-2 (funmacdefs) Index: macros3.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/macros3.lisp,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- macros3.lisp 17 Jul 2008 19:51:30 -0000 1.20 +++ macros3.lisp 23 Jul 2008 17:00:56 -0000 1.21 @@ -82,12 +82,7 @@ (setq place (third place) form `(THE ,(second place) ,form)) (return) ) ) ) - (error-of-type 'source-program-error - :form whole-form - :detail bind - (TEXT "illegal syntax in LETF* binding: ~S") - bind - ) ) ) + (illegal-syntax bind 'LETF* whole-form))) (multiple-value-bind (rest-expanded flag) (expand-LETF* (cdr bindlist) declare body whole-form env) (if (and (atom place) @@ -261,12 +256,7 @@ (setq place (third place) form `(THE ,(second place) ,form)) (return) ) ) ) - (error-of-type 'source-program-error - :form whole-form - :detail bind - (TEXT "illegal syntax in LETF binding: ~S") - bind - ) ) ) + (illegal-syntax bind 'LETF whole-form))) (multiple-value-bind (L1 L2 L3 L4) (expand-LETF (cdr bindlist) whole-form env) (if (and (atom place) (not (and (symbolp place) (nth-value 1 (macroexpand-1 place env)))) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.6427 retrieving revision 1.6428 diff -u -d -r1.6427 -r1.6428 --- ChangeLog 23 Jul 2008 16:43:35 -0000 1.6427 +++ ChangeLog 23 Jul 2008 17:00:56 -0000 1.6428 @@ -1,9 +1,10 @@ 2008-07-23 Sam Steingold <sd...@gn...> - * init.lisp (cons-*fenv*): add - (%expand-form): use it + * init.lisp (cons-*fenv*, illegal-syntax): add + (%expand-form, %expand-fundefs-1, %expand-funmacdefs-1): use them + * macros3.lisp (expand-LETF*, expand-LETF): use ILLEGAL-SYNTAX * compiler.lisp (add-fenv, c-FLET, c-FUNCTION-MACRO-LET) - (c-GENERIC-FLET, c-MACROLET): ditto + (c-GENERIC-FLET, c-MACROLET): use CONS-*FENV* 2008-07-22 Sam Steingold <sd...@gn...> ------------------------------ Message: 3 Date: Wed, 23 Jul 2008 17:02:09 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/src ChangeLog,1.6428,1.6429 compiler.lisp,1.334,1.335 To: cli...@li... Message-ID: <E1K...@ma...> Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv14683/src Modified Files: ChangeLog compiler.lisp Log Message: (c-illegal-syntax): add (analyze-letlist, c-COMPILER-LET): use it Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.334 retrieving revision 1.335 diff -u -d -r1.334 -r1.335 --- compiler.lisp 23 Jul 2008 16:43:36 -0000 1.334 +++ compiler.lisp 23 Jul 2008 17:02:06 -0000 1.335 @@ -3442,6 +3442,9 @@ ;; Syntax-Analysis: +(defun c-illegal-syntax (form caller) + (c-error-c (TEXT "Illegal syntax in ~A: ~S") caller form)) + ;; analyzes a parameter-list of LET/LET*, returns: ;; the List of Symbols, ;; the List of Forms. @@ -3455,8 +3458,7 @@ (or (null (cdar L)) (and (consp (cdar L)) (null (cddar L))))) (push (caar L) symbols) (push (cadar L) forms)) - (t (c-error-c (TEXT "Illegal syntax in LET/LET*: ~S") - (car L)))))) + (t (c-illegal-syntax (car L) "LET/LET*"))))) ;; Analyzes a lambda-list of a function (CLtL2 p. 76, ANSI CL 3.4.1.). ;; Returns 13 values: @@ -5022,8 +5024,7 @@ (or (null (cdar L)) (and (consp (cdar L)) (null (cddar L))))) (push (caar L) varlist) (push (eval (cadar L)) valueslist)) - (t (c-error-c (TEXT "Illegal syntax in COMPILER-LET: ~S") - (car L)))))) + (t (c-illegal-syntax (car L) 'COMPILER-LET))))) (macrolet ((check-blockname (name) `(unless (symbolp ,name) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.6428 retrieving revision 1.6429 diff -u -d -r1.6428 -r1.6429 --- ChangeLog 23 Jul 2008 17:00:56 -0000 1.6428 +++ ChangeLog 23 Jul 2008 17:02:05 -0000 1.6429 @@ -5,6 +5,8 @@ * macros3.lisp (expand-LETF*, expand-LETF): use ILLEGAL-SYNTAX * compiler.lisp (add-fenv, c-FLET, c-FUNCTION-MACRO-LET) (c-GENERIC-FLET, c-MACROLET): use CONS-*FENV* + (c-illegal-syntax): add + (analyze-letlist, c-COMPILER-LET): use it 2008-07-22 Sam Steingold <sd...@gn...> ------------------------------ Message: 4 Date: Wed, 23 Jul 2008 17:03:24 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/tests ChangeLog,1.574,1.575 tests.lisp,1.93,1.94 To: cli...@li... Message-ID: <E1K...@ma...> Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv15153/tests Modified Files: ChangeLog tests.lisp Log Message: (run-test): return logname instead of testname to clarify the output when the same test (e.g., bind) is run in both compiled and interpreted variants Index: tests.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/tests/tests.lisp,v retrieving revision 1.93 retrieving revision 1.94 diff -u -d -r1.93 -r1.94 --- tests.lisp 9 Jul 2008 14:30:55 -0000 1.93 +++ tests.lisp 23 Jul 2008 17:03:22 -0000 1.94 @@ -285,7 +285,7 @@ (if (zerop error-count) (delete-file logfile) (format t "~s: see ~a~%" 'run-test logfile)) - (list testname total-count error-count)) + (list logname total-count error-count)) (defun report-results (res) "res = list of RUN-TEST return values (testname total-count error-count)" Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.574 retrieving revision 1.575 diff -u -d -r1.574 -r1.575 --- ChangeLog 23 Jul 2008 15:30:50 -0000 1.574 +++ ChangeLog 23 Jul 2008 17:03:22 -0000 1.575 @@ -1,5 +1,11 @@ 2008-07-23 Sam Steingold <sd...@gn...> + * tests.lisp (run-test): return logname instead of testname to + clarify the output when the same test (e.g., bind) is run in both + compiled and interpreted variants + +2008-07-23 Sam Steingold <sd...@gn...> + * eval20.tst: add examples from http://www.lisp.org/HyperSpec/Body/speope_fletcm_scm_macrolet.html ------------------------------ Message: 5 Date: Wed, 23 Jul 2008 18:27:58 +0000 From: Sam Steingold <sd...@us...> Subject: clisp/doc impbody.xml,1.527,1.528 To: cli...@li... Message-ID: <E1K...@ma...> Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv13709 Modified Files: impbody.xml Log Message: (compile-decl): ignored by labels, flet & macrolet Index: impbody.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impbody.xml,v retrieving revision 1.527 retrieving revision 1.528 diff -u -d -r1.527 -r1.528 --- impbody.xml 23 Jul 2008 14:17:12 -0000 1.527 +++ impbody.xml 23 Jul 2008 18:27:55 -0000 1.528 @@ -610,6 +610,11 @@ (&values; #'inc #'dec)))</programlisting> returns two functions. The first is compiled and increments &x-r;, the second is interpreted (slower) and decrements the same &x-r;.</para> + +<note><para>The declaration &compile-decl; is ignored in the following + special forms: <simplelist><member>&labels;</member> + <member>&flet;</member><member>¯olet;</member> +</simplelist></para></note> </section> <section id="space-decl"><title>Declaration &space-dec;</title> ------------------------------ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 27, Issue 42 ***************************************** |