From: <cli...@li...> - 2005-01-20 04:06:39
|
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 condition.lisp,1.71,1.72 ChangeLog,1.4090,1.4091 (Bruno Haible) 2. clisp/utils gctrigger.d,1.2,1.3 (Arseny Slobodyuk) 3. clisp/src ChangeLog,1.4091,1.4092 makemake.in,1.497,1.498 win32.d,1.50,1.51 stream.d,1.493,1.494 (Arseny Slobodyuk) 4. clisp/tests strings.tst,1.17,1.18 ChangeLog,1.303,1.304 (Bruno Haible) 5. clisp/src eval.d,1.182,1.183 (Sam Steingold) 6. clisp/tests tests.lisp,1.49,1.50 ChangeLog,1.304,1.305 (Bruno Haible) 7. clisp/tests bind.tst,1.4,1.5 ChangeLog,1.305,1.306 (Sam Steingold) 8. clisp/src eval.d,1.183,1.184 ChangeLog,1.4092,1.4093 (Sam Steingold) 9. clisp/tests bind.tst,1.5,1.6 ChangeLog,1.306,1.307 (Bruno Haible) 10. clisp/src control.d,1.117,1.118 ChangeLog,1.4093,1.4094 (Sam Steingold) --__--__-- Message: 1 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src condition.lisp,1.71,1.72 ChangeLog,1.4090,1.4091 Date: Wed, 19 Jan 2005 11:38:50 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1529/src Modified Files: condition.lisp ChangeLog Log Message: Combine duplicated code. Index: condition.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/condition.lisp,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- condition.lisp 18 Jan 2005 11:34:03 -0000 1.71 +++ condition.lisp 19 Jan 2005 11:38:39 -0000 1.72 @@ -1594,10 +1594,24 @@ ;; Extensions. They assume *USE-CLCS* is T. -(defun maybe-continue (condition report-p) +; Which restarts are suitable for automatic invocation? +; - Only CONTINUE restarts. +; E.g. (check-type x float) has no CONTINUE restart. +; - Only meaningful CONTINUE restarts. +; E.g. (assert (= 3 4)) has a CONTINUE restart, but it is not meaningful. +; - Only non-interactive CONTINUE restarts. +; E.g. (assert (>= i 0) (i)) has a CONTINUE restart, but it prompts the user +; for a new value of i. +(defun find-noninteractively-invokable-continue-restart (condition) (let ((restart (find-restart 'CONTINUE condition))) - (when (and restart (restart-meaningfulp restart) - (eq (restart-interactive restart) #'default-restart-interactive)) + (and restart + (restart-meaningfulp restart) + (eq (restart-interactive restart) #'default-restart-interactive) + restart))) + +(defun maybe-continue (condition report-p) + (let ((restart (find-noninteractively-invokable-continue-restart condition))) + (when restart (when report-p (warn "~A" (with-output-to-string (stream) (print-condition condition stream) @@ -1640,10 +1654,8 @@ (elastic-newline *error-output*) (exit t)) ; exit Lisp with error (defun exitonerror (condition) ; ABI - (let ((restart (find-restart 'CONTINUE condition))) - (unless (and restart (restart-meaningfulp restart) - (eq (restart-interactive restart) #'default-restart-interactive)) - (exitunconditionally condition)))) + (unless (find-noninteractively-invokable-continue-restart condition) + (exitunconditionally condition))) (defmacro exit-on-error (&body body) "(EXIT-ON-ERROR {form}*) executes the forms, but exits Lisp if a non-continuable error or a Ctrl-C interrupt occurs." Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4090 retrieving revision 1.4091 diff -u -d -r1.4090 -r1.4091 --- ChangeLog 18 Jan 2005 11:34:03 -0000 1.4090 +++ ChangeLog 19 Jan 2005 11:38:44 -0000 1.4091 @@ -1,3 +1,9 @@ +2005-01-02 Bruno Haible <br...@cl...> + + * condition.lisp (find-noninteractively-invokable-continue-restart): + New function. + (maybe-continue, exitonerror): Use it. + 2005-01-01 Bruno Haible <br...@cl...> * condition.lisp (maybe-continue): For a restart that requires user --__--__-- Message: 2 From: Arseny Slobodyuk <am...@us...> To: cli...@li... Subject: clisp/utils gctrigger.d,1.2,1.3 Date: Wed, 19 Jan 2005 14:27:00 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12252 Modified Files: gctrigger.d Log Message: Fixed MSVC build Index: gctrigger.d =================================================================== RCS file: /cvsroot/clisp/clisp/utils/gctrigger.d,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gctrigger.d 14 Dec 2004 11:56:55 -0000 1.2 +++ gctrigger.d 19 Jan 2005 14:26:57 -0000 1.3 @@ -844,9 +844,9 @@ else if (token.type == ident && String_equals(token.string,"maygc")) seen_maygc = TRUE; else if (seen_maygc && token.type == sep && token.ch == '(') { + VectorString parameters_of_type_object; handle_opening_token(&token); # Remember the variable names from the parameter list. - VectorString parameters_of_type_object; VectorString_init(¶meters_of_type_object); loop { # Parse a single parameter declaration. --__--__-- Message: 3 From: Arseny Slobodyuk <am...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.4091,1.4092 makemake.in,1.497,1.498 win32.d,1.50,1.51 stream.d,1.493,1.494 Date: Wed, 19 Jan 2005 14:48:05 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16095 Modified Files: ChangeLog makemake.in win32.d stream.d Log Message: Fixed MSVC build Index: win32.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/win32.d,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- win32.d 14 Dec 2004 11:57:53 -0000 1.50 +++ win32.d 19 Jan 2005 14:47:59 -0000 1.51 @@ -215,6 +215,9 @@ extern BOOL ReadConsoleInput1 (HANDLE ConsoleInput, PINPUT_RECORD Buffer, LPDWORD NumberOfEventsRead); /* The following functions deal with all kinds of file/pipe/console handles */ extern int fd_read_wont_hang_p (HANDLE fd); +#ifdef MICROSOFT +typedef long ssize_t; +#endif extern ssize_t fd_read (HANDLE fd, void* buf, size_t nbyte, perseverance_t persev); extern ssize_t fd_write (HANDLE fd, const void* buf, size_t nbyte, perseverance_t persev); #define safe_read(fd,buf,nbyte) fd_read(fd,buf,nbyte,persev_partial) Index: makemake.in =================================================================== RCS file: /cvsroot/clisp/clisp/src/makemake.in,v retrieving revision 1.497 retrieving revision 1.498 diff -u -d -r1.497 -r1.498 --- makemake.in 12 Jan 2005 16:52:10 -0000 1.497 +++ makemake.in 19 Jan 2005 14:47:58 -0000 1.498 @@ -2253,7 +2253,12 @@ for x in CC CFLAGS CPP CPPLAGS CLFLAGS LIBS X_LIBS; do echotab "echo $ARGQ#define $x \"\$($x)\"$ARGQ >> cflags.h.new" done +if [ $TSYS = win32msvc ] ; then +echotab '$(RM) cflags.h' +echotab '$(CP) cflags.h.new cflags.h' +else echotab 'if cmp cflags.h.new cflags.h > /dev/null 2>&1; then ${RM} cflags.h.new; else ${MV} cflags.h.new cflags.h; fi' +fi echotab '$(TOUCH) cflags.h.stamp' echol Index: stream.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/stream.d,v retrieving revision 1.493 retrieving revision 1.494 diff -u -d -r1.493 -r1.494 --- stream.d 13 Jan 2005 19:37:00 -0000 1.493 +++ stream.d 19 Jan 2005 14:47:59 -0000 1.494 @@ -4975,15 +4975,17 @@ } #elif defined(WIN32_NATIVE) begin_system_call(); - int wont_hang = fd_read_wont_hang_p(handle); - if (wont_hang == 0) { - end_system_call(); return ls_wait; - } - if (wont_hang == 2) { - end_system_call(); return ls_eof; - } - if (wont_hang == 3) { - end_system_call(); return ls_avail; + { + int wont_hang = fd_read_wont_hang_p(handle); + if (wont_hang == 0) { + end_system_call(); return ls_wait; + } + if (wont_hang == 2) { + end_system_call(); return ls_eof; + } + if (wont_hang == 3) { + end_system_call(); return ls_avail; + } } # try to read a byte var uintB b; Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4091 retrieving revision 1.4092 diff -u -d -r1.4091 -r1.4092 --- ChangeLog 19 Jan 2005 11:38:44 -0000 1.4091 +++ ChangeLog 19 Jan 2005 14:47:56 -0000 1.4092 @@ -1,3 +1,12 @@ +2005-01-19 Arseny Slobodyuk <am...@us...> + + Fixed MSVC build + * makemake.in (cflags.h.stamp): simplified for nmake. + * win32.d: ssize_t defined for MICROSOFT. + * stream.d (listen_handle): don't declare variable in the middle of + a code block. + * utils/gctrigger.d (convert): the same. + 2005-01-02 Bruno Haible <br...@cl...> * condition.lisp (find-noninteractively-invokable-continue-restart): --__--__-- Message: 4 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/tests strings.tst,1.17,1.18 ChangeLog,1.303,1.304 Date: Wed, 19 Jan 2005 15:34:02 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31221 Modified Files: strings.tst ChangeLog Log Message: Clean up after test. Index: strings.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/strings.tst,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- strings.tst 30 Aug 2004 13:49:45 -0000 1.17 +++ strings.tst 19 Jan 2005 15:34:00 -0000 1.18 @@ -1192,11 +1192,17 @@ (char x 7) #\H -(reverse x) "edcba" +(reverse x) +"edcba" -(nreverse x) "edcba" +(nreverse x) +"edcba" -x "edcba" +x +"edcba" + +(makunbound 'x) +X (let* ((x (make-array 10 :fill-pointer 4 :element-type 'character :initial-element #\space :adjustable t)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.303 retrieving revision 1.304 diff -u -d -r1.303 -r1.304 --- ChangeLog 18 Jan 2005 19:12:57 -0000 1.303 +++ ChangeLog 19 Jan 2005 15:34:00 -0000 1.304 @@ -1,3 +1,7 @@ +2005-01-19 Bruno Haible <br...@cl...> + + * strings.tst: Clean up after test added on 2001-12-04. + 2005-01-18 Bruno Haible <br...@cl...> * bind.tst: Fix a test and add some more tests. --__--__-- Message: 5 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src eval.d,1.182,1.183 Date: Wed, 19 Jan 2005 16:40:29 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15544 Modified Files: eval.d Log Message: comment Index: eval.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/eval.d,v retrieving revision 1.182 retrieving revision 1.183 diff -u -d -r1.182 -r1.183 --- eval.d 7 Jan 2005 13:30:33 -0000 1.182 +++ eval.d 19 Jan 2005 16:40:23 -0000 1.183 @@ -2386,8 +2386,7 @@ var uintC count; /* the special-references first: */ dotimesC(count,spec_count, { - /* binding with "value" specdecl: */ - pushSTACK(specdecl); + pushSTACK(specdecl); /* preliminary "binding value" */ pushSTACK_symbolwithflags(*varptr++,wbit(active_bit_o)); /* make a note of binding as being active */ }); frame_pointer = args_end_pointer; --__--__-- Message: 6 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/tests tests.lisp,1.49,1.50 ChangeLog,1.304,1.305 Date: Wed, 19 Jan 2005 17:31:37 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27768 Modified Files: tests.lisp ChangeLog Log Message: Run bind.tst too. Index: tests.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/tests/tests.lisp,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- tests.lisp 17 Jan 2005 03:04:00 -0000 1.49 +++ tests.lisp 19 Jan 2005 17:31:31 -0000 1.50 @@ -65,7 +65,7 @@ (:compile (funcall (compile nil `(lambda () ,form)))) (:both (let ((e-value (eval form)) (c-value (funcall (compile nil `(lambda () ,form))))) - (unless (equal e-value c-value) + (unless (equalp e-value c-value) (error "eval: ~S; compile: ~S" e-value c-value)) e-value)))) @@ -139,17 +139,18 @@ ((:ignore-errors *test-ignore-errors*) *test-ignore-errors*) ((:eval-method *eval-method*) *eval-method*) - &aux (logname (merge-extension "erg" testname)) + (logname testname) + &aux (logfile (merge-extension "erg" logname)) error-count total-count) (with-open-file (s (merge-extension "tst" testname) :direction :input) (format t "~&~s: started ~s~%" 'run-test s) - (with-open-file (log logname :direction :output + (with-open-file (log logfile :direction :output #+SBCL :if-exists #+SBCL :supersede #+ANSI-CL :if-exists #+ANSI-CL :new-version) (let ((*package* *package*) (*print-circle* t) (*print-pretty* nil)) (setf (values total-count error-count) (funcall *run-test-tester* s log))))) - (when (zerop error-count) (delete-file logname)) + (when (zerop error-count) (delete-file logfile)) (format t "~&~s: finished ~s (~:d error~:p out of ~:d test~:p)~%" 'run-test testname error-count total-count) (values total-count error-count)) @@ -239,6 +240,10 @@ #+CLISP "weak" #+CLISP "hashweak")) (with-accumulating-errors (error-count total-count) (run-test ff))) + (with-accumulating-errors (error-count total-count) + (run-test "bind" :eval-method :eval :logname "bind-eval")) + (with-accumulating-errors (error-count total-count) + (run-test "bind" :eval-method :compile :logname "bind-compile")) #+CLISP (dotimes (i 20) (with-accumulating-errors (error-count total-count) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.304 retrieving revision 1.305 diff -u -d -r1.304 -r1.305 --- ChangeLog 19 Jan 2005 15:34:00 -0000 1.304 +++ ChangeLog 19 Jan 2005 17:31:32 -0000 1.305 @@ -1,5 +1,12 @@ 2005-01-19 Bruno Haible <br...@cl...> + * tests.lisp (my-eval): Compare the two results with EQUALP, not EQUAL, + for consistency with do-test. + (run-test): Accept :logname argument. + (run-all-tests): Add bind.tst. + +2005-01-19 Bruno Haible <br...@cl...> + * strings.tst: Clean up after test added on 2001-12-04. 2005-01-18 Bruno Haible <br...@cl...> --__--__-- Message: 7 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/tests bind.tst,1.4,1.5 ChangeLog,1.305,1.306 Date: Wed, 19 Jan 2005 20:51:27 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31511/tests Modified Files: bind.tst ChangeLog Log Message: added tests of interaction with global specials Index: bind.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/bind.tst,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- bind.tst 18 Jan 2005 19:12:52 -0000 1.4 +++ bind.tst 19 Jan 2005 20:51:24 -0000 1.5 @@ -104,3 +104,31 @@ (DECLARE (SPECIAL X)) Z)))) 6 + +;; interaction with global specials +(progn (defvar *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (let ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*))) +6 +(progn (defvar *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (let* ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*))) +6 +(progn (defvar *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (multiple-value-bind (*global-var-for-bind.tst*) + (1+ *global-var-for-bind.tst*) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*))) +6 +(progn (defvar *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + ((lambda (*global-var-for-bind.tst*) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*) + (1+ *global-var-for-bind.tst*)))) +6 Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.305 retrieving revision 1.306 diff -u -d -r1.305 -r1.306 --- ChangeLog 19 Jan 2005 17:31:32 -0000 1.305 +++ ChangeLog 19 Jan 2005 20:51:24 -0000 1.306 @@ -1,3 +1,7 @@ +2005-01-19 Sam Steingold <sd...@gn...> + + * bind.tst: added tests of interaction with global specials + 2005-01-19 Bruno Haible <br...@cl...> * tests.lisp (my-eval): Compare the two results with EQUALP, not EQUAL, --__--__-- Message: 8 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src eval.d,1.183,1.184 ChangeLog,1.4092,1.4093 Date: Wed, 19 Jan 2005 20:54:34 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32100/src Modified Files: eval.d ChangeLog Log Message: (funcall_iclosure): when reserving space for variable bindings, the actual size depends on varframe_binding_size Index: eval.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/eval.d,v retrieving revision 1.183 retrieving revision 1.184 diff -u -d -r1.183 -r1.184 --- eval.d 19 Jan 2005 16:40:23 -0000 1.183 +++ eval.d 19 Jan 2005 20:53:50 -0000 1.184 @@ -2379,15 +2379,15 @@ var gcv_object_t* top_of_frame = STACK; /* Pointer to Frame */ var object vars = TheIclosure(closure)->clos_vars; /* Vector of variable-names */ var uintL var_count = Svector_length(vars); /* number of variables */ - get_space_on_STACK(var_count*2*sizeof(gcv_object_t)); /* reserve space */ + get_space_on_STACK(var_count*varframe_binding_size*sizeof(gcv_object_t)); { var gcv_object_t* varptr = &TheSvector(vars)->data[0]; /* Pointer to variables in vector */ var uintC spec_count = posfixnum_to_L(TheIclosure(closure)->clos_spec_anz); var uintC count; /* the special-references first: */ dotimesC(count,spec_count, { - pushSTACK(specdecl); /* preliminary "binding value" */ - pushSTACK_symbolwithflags(*varptr++,wbit(active_bit_o)); /* make a note of binding as being active */ + pushSTACK(specdecl); /* SPECDECL as "value" */ + pushSTACK_symbolwithflags(*varptr++,wbit(active_bit_o)); /* active */ }); frame_pointer = args_end_pointer; if (var_count-spec_count > 0) { Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4092 retrieving revision 1.4093 diff -u -d -r1.4092 -r1.4093 --- ChangeLog 19 Jan 2005 14:47:56 -0000 1.4092 +++ ChangeLog 19 Jan 2005 20:53:58 -0000 1.4093 @@ -1,10 +1,15 @@ +2005-01-19 Sam Steingold <sd...@gn...> + + * eval.d (funcall_iclosure): when reserving space for variable + bindings, the actual size depends on varframe_binding_size + 2005-01-19 Arseny Slobodyuk <am...@us...> Fixed MSVC build * makemake.in (cflags.h.stamp): simplified for nmake. * win32.d: ssize_t defined for MICROSOFT. - * stream.d (listen_handle): don't declare variable in the middle of - a code block. + * stream.d (listen_handle): do not declare a variable in the + middle of a code block. * utils/gctrigger.d (convert): the same. 2005-01-02 Bruno Haible <br...@cl...> --__--__-- Message: 9 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/tests bind.tst,1.5,1.6 ChangeLog,1.306,1.307 Date: Wed, 19 Jan 2005 21:07:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3551 Modified Files: bind.tst ChangeLog Log Message: More tests of global variables. Index: bind.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/bind.tst,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- bind.tst 19 Jan 2005 20:51:24 -0000 1.5 +++ bind.tst 19 Jan 2005 21:07:21 -0000 1.6 @@ -105,30 +105,78 @@ Z)))) 6 -;; interaction with global specials -(progn (defvar *global-var-for-bind.tst* 123) - (let ((*global-var-for-bind.tst* 5)) - (let ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) - (declare (special *global-var-for-bind.tst*)) - *global-var-for-bind.tst*))) -6 -(progn (defvar *global-var-for-bind.tst* 123) - (let ((*global-var-for-bind.tst* 5)) - (let* ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) - (declare (special *global-var-for-bind.tst*)) - *global-var-for-bind.tst*))) -6 -(progn (defvar *global-var-for-bind.tst* 123) - (let ((*global-var-for-bind.tst* 5)) - (multiple-value-bind (*global-var-for-bind.tst*) - (1+ *global-var-for-bind.tst*) - (declare (special *global-var-for-bind.tst*)) - *global-var-for-bind.tst*))) -6 -(progn (defvar *global-var-for-bind.tst* 123) - (let ((*global-var-for-bind.tst* 5)) - ((lambda (*global-var-for-bind.tst*) - (declare (special *global-var-for-bind.tst*)) - *global-var-for-bind.tst*) - (1+ *global-var-for-bind.tst*)))) -6 +;; global special variable with extra redundant special declaration +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + (let ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*) + *global-var-for-bind.tst*))) +(6 5) +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + (let* ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*) + *global-var-for-bind.tst*))) +(6 5) +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + (multiple-value-bind (*global-var-for-bind.tst*) + (1+ *global-var-for-bind.tst*) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*) + *global-var-for-bind.tst*))) +(6 5) +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + ((lambda (*global-var-for-bind.tst*) + (declare (special *global-var-for-bind.tst*)) + *global-var-for-bind.tst*) + (1+ *global-var-for-bind.tst*)) + *global-var-for-bind.tst*))) +(6 5) + +;; global special variable without special declaration +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + (let ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) + *global-var-for-bind.tst*) + *global-var-for-bind.tst*))) +(6 5) +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + (let* ((*global-var-for-bind.tst* (1+ *global-var-for-bind.tst*))) + *global-var-for-bind.tst*) + *global-var-for-bind.tst*))) +(6 5) +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + (multiple-value-bind (*global-var-for-bind.tst*) + (1+ *global-var-for-bind.tst*) + *global-var-for-bind.tst*) + *global-var-for-bind.tst*))) +(6 5) +(progn + (defparameter *global-var-for-bind.tst* 123) + (let ((*global-var-for-bind.tst* 5)) + (list + ((lambda (*global-var-for-bind.tst*) + *global-var-for-bind.tst*) + (1+ *global-var-for-bind.tst*)) + *global-var-for-bind.tst*))) +(6 5) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.306 retrieving revision 1.307 diff -u -d -r1.306 -r1.307 --- ChangeLog 19 Jan 2005 20:51:24 -0000 1.306 +++ ChangeLog 19 Jan 2005 21:07:23 -0000 1.307 @@ -1,3 +1,7 @@ +2005-01-19 Bruno Haible <br...@cl...> + + * bind.tst: Add more tests with global variables. + 2005-01-19 Sam Steingold <sd...@gn...> * bind.tst: added tests of interaction with global specials --__--__-- Message: 10 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src control.d,1.117,1.118 ChangeLog,1.4093,1.4094 Date: Wed, 19 Jan 2005 22:02:31 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19898/src Modified Files: control.d ChangeLog Log Message: (make_variable_frame): the initial special binding is inactive Index: control.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/control.d,v retrieving revision 1.117 retrieving revision 1.118 diff -u -d -r1.117 -r1.118 --- control.d 18 Jan 2005 03:24:46 -0000 1.117 +++ control.d 19 Jan 2005 22:02:22 -0000 1.118 @@ -457,7 +457,7 @@ } /* store special-declared symbol in stack: */ pushSTACK(specdecl); /* SPECDECL as "value" */ - pushSTACK_symbolwithflags(declsym,wbit(active_bit_o)); /* Symbol active */ + pushSTACK_symbolwithflags(declsym,0); /* Symbol inactive */ check_STACK(); spec_anz++; } Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4093 retrieving revision 1.4094 diff -u -d -r1.4093 -r1.4094 --- ChangeLog 19 Jan 2005 20:53:58 -0000 1.4093 +++ ChangeLog 19 Jan 2005 22:02:23 -0000 1.4094 @@ -1,5 +1,10 @@ 2005-01-19 Sam Steingold <sd...@gn...> + * control.d (make_variable_frame): the initial special binding is + inactive + +2005-01-19 Sam Steingold <sd...@gn...> + * eval.d (funcall_iclosure): when reserving space for variable bindings, the actual size depends on varframe_binding_size --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |