From: <cli...@li...> - 2005-02-12 04:18:22
|
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 compiler.lisp,1.259,1.260 ChangeLog,1.4230,1.4231 (Bruno Haible) 2. clisp/src compiler.lisp,1.172.2.6,1.172.2.7 ChangeLog,1.2750.2.94,1.2750.2.95 (Bruno Haible) 3. clisp/src eval.d,1.192,1.193 compiler.lisp,1.260,1.261 ChangeLog,1.4231,1.4232 (Sam Steingold) 4. clisp/src makemake.in,1.511,1.512 ChangeLog,1.4232,1.4233 (Sam Steingold) 5. clisp/src stream.d,1.507,1.508 ChangeLog,1.4233,1.4234 (Sam Steingold) --__--__-- Message: 1 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src compiler.lisp,1.259,1.260 ChangeLog,1.4230,1.4231 Date: Fri, 11 Feb 2005 11:05:17 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15891 Modified Files: compiler.lisp ChangeLog Log Message: Don't eliminate SYMBOL-FUNCTION calls if SAFETY = 3. Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.259 retrieving revision 1.260 diff -u -d -r1.259 -r1.260 --- compiler.lisp 10 Feb 2005 21:35:53 -0000 1.259 +++ compiler.lisp 11 Feb 2005 11:04:08 -0000 1.260 @@ -597,7 +597,7 @@ (CONSP) = (CALL1 #'CONSP) - (SYMBOL-FUNCTION) = (CALL1 #'SYMBOL-FUNCTION) + (SYMBOL-FUNCTION denv) = (CALL1 #'SYMBOL-FUNCTION) (SVREF) = (CALL2 #'SVREF) @@ -3132,7 +3132,7 @@ (t `((PUSH) ; also push last argument to the Stack (STACK-TO-MV ,n))))) (VALUES-LIST '((LIST-TO-MV))) - (SYMBOL-FUNCTION '((SYMBOL-FUNCTION))) + (SYMBOL-FUNCTION `((SYMBOL-FUNCTION ,*denv*))) (LIST (if (plusp n) `((PUSH) (LIST ,n)) '((NIL)))) @@ -5121,7 +5121,7 @@ :value (symbol-function name) :form `(FUNCTION ,name)))) `((CONST ,(make-funname-const name)) - (SYMBOL-FUNCTION))))) + (SYMBOL-FUNCTION NIL))))) (case f1 (GLOBAL ; found in %fenv% (make-anode @@ -7822,7 +7822,7 @@ (CONS) (ATOM) (CONSP) - (SYMBOL-FUNCTION) + (SYMBOL-FUNCTION denv) (SVREF) (SVSET) (LIST n) @@ -8559,8 +8559,13 @@ (case (first (car middle)) ((NIL T CONST LOAD LOADI LOADC LOADV LOADIC GETVALUE VENV BOUNDP VALUES0 VALUES1 MV-TO-LIST LIST-TO-MV NOT CAR CDR - SYMBOL-FUNCTION ATOM CONSP) + ATOM CONSP) (discard1)) + ((SYMBOL-FUNCTION) + ; SYMBOL-FUNCTION cannot always be discarded, because it may + ; need to signal an error if SAFETY = 3. + (when (< (declared-optimize 'SAFETY (second (car middle))) 3) + (discard1))) ((LIST LIST* STACK-TO-MV) ; (LIST n) --> (SKIP n), n>0 ; (LIST* n) --> (SKIP n), n>0 ; (STACK-TO-MV n) --> (SKIP n), n>0 @@ -9738,9 +9743,9 @@ 4. (CONST n c) --> (CONST n) (CONST n) (PUSH) --> (CONST&PUSH n) - (CONST n) (SYMBOL-FUNCTION) (PUSH) --> (CONST&SYMBOL-FUNCTION&PUSH n) - (CONST n) (SYMBOL-FUNCTION) (STORE m)--> (CONST&SYMBOL-FUNCTION&STORE n m) - (CONST n) (SYMBOL-FUNCTION) --> (CONST&SYMBOL-FUNCTION n) + (CONST n) (SYMBOL-FUNCTION denv) (PUSH) --> (CONST&SYMBOL-FUNCTION&PUSH n) + (CONST n) (SYMBOL-FUNCTION denv) (STORE m) --> (CONST&SYMBOL-FUNCTION&STORE n m) + (CONST n) (SYMBOL-FUNCTION denv) --> (CONST&SYMBOL-FUNCTION n) 5. (COPY-CLOSURE n m) (PUSH) --> (COPY-CLOSURE&PUSH n m) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4230 retrieving revision 1.4231 diff -u -d -r1.4230 -r1.4231 --- ChangeLog 10 Feb 2005 21:36:23 -0000 1.4230 +++ ChangeLog 11 Feb 2005 11:04:31 -0000 1.4231 @@ -1,3 +1,12 @@ +2005-01-22 Bruno Haible <br...@cl...> + + * compiler.lisp (c-GLOBAL-FUNCTION-CALL): Generate a SYMBOL-FUNCTION + instruction with reference to *denv*. + (c-FUNCTION): Likewise with null environment. + (simplify): Don't drop (SYMBOL-FUNCTION) in non-for-value position if + SAFETY = 3. + Found by Paul Dietz's ansi-tests test suite. + 2005-02-10 Sam Steingold <sd...@gn...> handle OPTIMIZE PROCLAIMations --__--__-- Message: 2 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src compiler.lisp,1.172.2.6,1.172.2.7 ChangeLog,1.2750.2.94,1.2750.2.95 Date: Fri, 11 Feb 2005 11:07:55 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17239 Modified Files: Tag: clisp_2_33-patched compiler.lisp ChangeLog Log Message: Don't eliminate SYMBOL-FUNCTION calls if SAFETY = 3. Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.172.2.6 retrieving revision 1.172.2.7 diff -u -d -r1.172.2.6 -r1.172.2.7 --- compiler.lisp 10 Feb 2005 11:33:24 -0000 1.172.2.6 +++ compiler.lisp 11 Feb 2005 11:07:22 -0000 1.172.2.7 @@ -594,7 +594,7 @@ (CONSP) = (CALL1 #'CONSP) - (SYMBOL-FUNCTION) = (CALL1 #'SYMBOL-FUNCTION) + (SYMBOL-FUNCTION denv) = (CALL1 #'SYMBOL-FUNCTION) (SVREF) = (CALL2 #'SVREF) @@ -3039,7 +3039,7 @@ (t `((PUSH) ; also push last argument to the Stack (STACK-TO-MV ,n))))) (VALUES-LIST '((LIST-TO-MV))) - (SYMBOL-FUNCTION '((SYMBOL-FUNCTION))) + (SYMBOL-FUNCTION `((SYMBOL-FUNCTION ,*denv*))) (LIST (if (plusp n) `((PUSH) (LIST ,n)) '((NIL)))) @@ -5154,7 +5154,7 @@ :value (symbol-function name) :form `(FUNCTION ,name)))) `((CONST ,(make-funname-const name)) - (SYMBOL-FUNCTION))))) + (SYMBOL-FUNCTION NIL))))) (case f1 (GLOBAL ; found in %fenv% (make-anode @@ -7303,7 +7303,7 @@ (CONS) (ATOM) (CONSP) - (SYMBOL-FUNCTION) + (SYMBOL-FUNCTION denv) (SVREF) (SVSET) (LIST n) @@ -8029,8 +8029,13 @@ (case (first (car middle)) ((NIL T CONST LOAD LOADI LOADC LOADV LOADIC GETVALUE VENV BOUNDP VALUES0 VALUES1 MV-TO-LIST LIST-TO-MV NOT CAR CDR - SYMBOL-FUNCTION ATOM CONSP) + ATOM CONSP) (discard1)) + ((SYMBOL-FUNCTION) + ; SYMBOL-FUNCTION cannot always be discarded, because it may + ; need to signal an error if SAFETY = 3. + (when (< (declared-optimize 'SAFETY (second (car middle))) 3) + (discard1))) ((LIST LIST* STACK-TO-MV) ; (LIST n) --> (SKIP n), n>0 ; (LIST* n) --> (SKIP n), n>0 ; (STACK-TO-MV n) --> (SKIP n), n>0 @@ -9205,9 +9210,9 @@ 4. (CONST n c) --> (CONST n) (CONST n) (PUSH) --> (CONST&PUSH n) - (CONST n) (SYMBOL-FUNCTION) (PUSH) --> (CONST&SYMBOL-FUNCTION&PUSH n) - (CONST n) (SYMBOL-FUNCTION) (STORE m)--> (CONST&SYMBOL-FUNCTION&STORE n m) - (CONST n) (SYMBOL-FUNCTION) --> (CONST&SYMBOL-FUNCTION n) + (CONST n) (SYMBOL-FUNCTION denv) (PUSH) --> (CONST&SYMBOL-FUNCTION&PUSH n) + (CONST n) (SYMBOL-FUNCTION denv) (STORE m) --> (CONST&SYMBOL-FUNCTION&STORE n m) + (CONST n) (SYMBOL-FUNCTION denv) --> (CONST&SYMBOL-FUNCTION n) 5. (COPY-CLOSURE n m) (PUSH) --> (COPY-CLOSURE&PUSH n m) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.2750.2.94 retrieving revision 1.2750.2.95 diff -u -d -r1.2750.2.94 -r1.2750.2.95 --- ChangeLog 10 Feb 2005 11:33:21 -0000 1.2750.2.94 +++ ChangeLog 11 Feb 2005 11:07:25 -0000 1.2750.2.95 @@ -1,5 +1,14 @@ 2005-01-22 Bruno Haible <br...@cl...> + * compiler.lisp (c-GLOBAL-FUNCTION-CALL): Generate a SYMBOL-FUNCTION + instruction with reference to *denv*. + (c-FUNCTION): Likewise with null environment. + (simplify): Don't drop (SYMBOL-FUNCTION) in non-for-value position if + SAFETY = 3. + Found by Paul Dietz's ansi-tests test suite. + +2005-01-22 Bruno Haible <br...@cl...> + * compiler.lisp (c-GLOBAL-FUNCTION-CALL): Fix bug introduced on 2003-12-30. --__--__-- Message: 3 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src eval.d,1.192,1.193 compiler.lisp,1.260,1.261 ChangeLog,1.4231,1.4232 Date: Fri, 11 Feb 2005 14:35:03 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32615/src Modified Files: eval.d compiler.lisp ChangeLog Log Message: handle OPTIMIZE in interpreter Index: eval.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/eval.d,v retrieving revision 1.192 retrieving revision 1.193 diff -u -d -r1.192 -r1.193 --- eval.d 6 Feb 2005 02:59:07 -0000 1.192 +++ eval.d 11 Feb 2005 14:34:37 -0000 1.193 @@ -1497,6 +1497,10 @@ && eq(Car(declspec),S(compile)) && nullp(Cdr(declspec))) compile_decl = true; + else if (consp(declspec) && eq(Car(declspec),S(optimize))) { + pushSTACK(Cdr(declspec)); funcall(S(note_optimize),1); + Cdr(Car(STACK_0)) = value1; + } } { /* push this declaration onto STACK_(0+2) : */ var object new_cons = allocate_cons(); Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.260 retrieving revision 1.261 diff -u -d -r1.260 -r1.261 --- compiler.lisp 11 Feb 2005 11:04:08 -0000 1.260 +++ compiler.lisp 11 Feb 2005 14:34:39 -0000 1.261 @@ -1379,7 +1379,9 @@ (cons (integer 0 3) null)) (values (first spec) (second spec))) (#1# (values spec 3)) - (t (c-warn (TEXT "Invalid ~S declaration ~S") 'optimize spec)))) + ;; WARN is defined in CONDITION so we cannot use #'WARN here + (t (funcall (if (boundp '*warning-count*) #'c-warn 'warn) + (TEXT "Invalid ~S declaration ~S") 'optimize spec)))) ;; (declared-optimize quality) returns the optimization level for the given ;; quality, as an integer between 0 and 3 (inclusive). Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4231 retrieving revision 1.4232 diff -u -d -r1.4231 -r1.4232 --- ChangeLog 11 Feb 2005 11:04:31 -0000 1.4231 +++ ChangeLog 11 Feb 2005 14:34:41 -0000 1.4232 @@ -1,3 +1,8 @@ +2005-02-11 Sam Steingold <sd...@gn...> + + * compiler.lisp (parse-optimize-quality): work in interpreter too + * eval.d (parse_dd): call NOTE-OPTIMIZE + 2005-01-22 Bruno Haible <br...@cl...> * compiler.lisp (c-GLOBAL-FUNCTION-CALL): Generate a SYMBOL-FUNCTION --__--__-- Message: 4 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src makemake.in,1.511,1.512 ChangeLog,1.4232,1.4233 Date: Fri, 11 Feb 2005 14:38:41 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1811/src Modified Files: makemake.in ChangeLog Log Message: (anymodule): pass CC to configure only if it was actually set; this should have fixed the 2004-03-15 patch Index: makemake.in =================================================================== RCS file: /cvsroot/clisp/clisp/src/makemake.in,v retrieving revision 1.511 retrieving revision 1.512 diff -u -d -r1.511 -r1.512 --- makemake.in 29 Jan 2005 14:55:06 -0000 1.511 +++ makemake.in 11 Feb 2005 14:38:29 -0000 1.512 @@ -3238,7 +3238,7 @@ # Some "make"s don't support empty target lists. Hence the "anymodule". echol "anymodule \$(BASE_MODULES) \$(MODULES) : lisp${LEXE} lispinit.mem force modprep.fas clisp.h" echotab "test -d \$@ || ${SRCDIR:-${HERE}}lndir ${SRCTOPDIR_}modules/\$@ \$@" -echotab "if test -f \$@/configure -a '!' -f \$@/config.status ; then cd \$@ ; CC=\"\$(CC)\" ./configure --cache-file="'`'"echo \$@/ | sed -e 's,[^/][^/]*//*,../,g'"'`'"config.cache ; fi" +echotab "if test -f \$@/configure -a '!' -f \$@/config.status ; then cd \$@ ; ( cache="'`'"echo \$@/ | sed -e 's,[^/][^/]*//*,../,g'"'`'"config.cache; . \$\${cache}; test \"\$\${ac_cv_env_CC_set}\" = set && export CC=\"\$\${ac_cv_env_CC_value}\"; ./configure --cache-file=\$\${cache} ) ; fi" EVERY_INCLUDES_DOTS_C='' for f in $EVERY_INCLUDES_C $EVERY_INCLUDES_H ; do EVERY_INCLUDES_DOTS_C=$EVERY_INCLUDES_DOTS_C' $${dots}'$f Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4232 retrieving revision 1.4233 diff -u -d -r1.4232 -r1.4233 --- ChangeLog 11 Feb 2005 14:34:41 -0000 1.4232 +++ ChangeLog 11 Feb 2005 14:38:31 -0000 1.4233 @@ -1,5 +1,10 @@ 2005-02-11 Sam Steingold <sd...@gn...> + * makemake.in (anymodule): pass CC to configure only if it was + actually set (fixed the 2004-03-15 patch) + +2005-02-11 Sam Steingold <sd...@gn...> + * compiler.lisp (parse-optimize-quality): work in interpreter too * eval.d (parse_dd): call NOTE-OPTIMIZE --__--__-- Message: 5 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src stream.d,1.507,1.508 ChangeLog,1.4233,1.4234 Date: Fri, 11 Feb 2005 14:58:00 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9873/src Modified Files: stream.d ChangeLog Log Message: (get_standard_output_file_stream): in batch mode on win32 terminal_stream may be _closed_, so restore my 2005-01-31 fix which was removed on 2005-02-04 Index: stream.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/stream.d,v retrieving revision 1.507 retrieving revision 1.508 diff -u -d -r1.507 -r1.508 --- stream.d 4 Feb 2005 12:06:57 -0000 1.507 +++ stream.d 11 Feb 2005 14:57:56 -0000 1.508 @@ -14699,6 +14699,7 @@ # On these systems make_terminal_stream() uses stdout_handle. var object terminal_stream = Symbol_value(S(terminal_io)); # *TERMINAL-IO* if (builtin_stream_p(terminal_stream) + && (TheStream(terminal_stream)->strmflags & strmflags_open_B) && (TheStream(terminal_stream)->strmflags & strmflags_wr_ch_B) && TheStream(terminal_stream)->strmtype == strmtype_terminal) { # For FRESH-LINE to work correctly, we must avoid that *TERMINAL-IO* and @@ -14719,6 +14720,7 @@ # On these systems make_terminal_stream() uses stderr_handle. var object terminal_stream = Symbol_value(S(terminal_io)); # *TERMINAL-IO* if (builtin_stream_p(terminal_stream) + && (TheStream(terminal_stream)->strmflags & strmflags_open_B) && (TheStream(terminal_stream)->strmflags & strmflags_wr_ch_B) && TheStream(terminal_stream)->strmtype == strmtype_terminal) { # For FRESH-LINE to work correctly, we must avoid that *TERMINAL-IO* and Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4233 retrieving revision 1.4234 diff -u -d -r1.4233 -r1.4234 --- ChangeLog 11 Feb 2005 14:38:31 -0000 1.4233 +++ ChangeLog 11 Feb 2005 14:57:57 -0000 1.4234 @@ -1,5 +1,11 @@ 2005-02-11 Sam Steingold <sd...@gn...> + * stream.d (get_standard_output_file_stream): in batch mode on + win32 terminal_stream may be _closed_, so restore my 2005-01-31 + fix which was removed on 2005-02-04 + +2005-02-11 Sam Steingold <sd...@gn...> + * makemake.in (anymodule): pass CC to configure only if it was actually set (fixed the 2004-03-15 patch) --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |