From: <cli...@li...> - 2004-12-14 04:01:25
|
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 io.d,1.260,1.261 ChangeLog,1.3932,1.3933 (Sam Steingold) 2. clisp/src ChangeLog,1.3933,1.3934 .gdbinit,1.26,1.27 (Sam Steingold) 3. clisp/src spvw.d,1.330,1.331 ChangeLog,1.3934,1.3935 (Sam Steingold) 4. clisp/src stream.d,1.486,1.487 ChangeLog,1.3935,1.3936 (Sam Steingold) 5. clisp/src io.d,1.261,1.262 (Sam Steingold) --__--__-- Message: 1 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src io.d,1.260,1.261 ChangeLog,1.3932,1.3933 Date: Mon, 13 Dec 2004 20:31:15 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/src Modified Files: io.d ChangeLog Log Message: (space_available): mark as "maygc" (string_fit_line_p): ditto + fix a GC-safety bug (pr_enter_1): updated for string_fit_line_p() changes Index: io.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/io.d,v retrieving revision 1.260 retrieving revision 1.261 diff -u -d -r1.260 -r1.261 --- io.d 13 Dec 2004 12:02:37 -0000 1.260 +++ io.d 13 Dec 2004 20:31:07 -0000 1.261 @@ -6328,9 +6328,10 @@ } #undef DISPATCH_TABLE_VALID_P -# UP: return the number of spaces available on the current line in this stream -# NIL means unlimited -local object space_available (object stream) { +/* UP: return the number of spaces available on the current line in this stream + NIL means unlimited + can trigger GC */ +local maygc object space_available (object stream) { var object line_pos = get_line_position(stream); if (!posfixnump(line_pos)) return NIL; var uintL pos = posfixnum_to_L(line_pos); @@ -6366,18 +6367,21 @@ return fixnum(ret); } -# UP: check whether the string fits into the current line in the stream -# return true iff the next object does fit -local inline bool string_fit_line_p (object list, object stream, - uintL offset) { - var object avail = space_available(stream); - if (nullp(avail)) return true; # unlimited space available +/* UP: check whether the string fits into the current line in the stream + return true iff the next object does fit + can trigger GC */ +local maygc inline bool string_fit_line_p (const gcv_object_t *stream_, + object list, uintL offset) { + pushSTACK(list); /* save list*/ + var object avail = space_available(*stream_); + list = popSTACK(); /* restore list */ + if (nullp(avail)) return true; /* unlimited space available */ var uintL len; var object top = Car(list); list = Cdr(list); # (pop list) if (stringp(top)) len = vector_length(top); else if (mconsp(top)) return true; else if (vectorp(top)) { - len = PPH_FORMAT_TAB(stream,top); + len = PPH_FORMAT_TAB(*stream_,top); while (mconsp(list) && !stringp(Car(list))) list = Cdr(list); if (mconsp(list)) len += vector_length(Car(list)); # string! else return false; # do not need to print this tab @@ -6474,7 +6478,7 @@ STACK_0 = Cdr(STACK_0); if (modus_single_p || (eq(PPHELP_NL_TYPE(top),S(Kfill)) - && string_fit_line_p(STACK_0,*stream_,0))) + && string_fit_line_p(stream_,STACK_0,0))) goto skip_NL; indent = PPHELP_INDENTN(top); if (!mconsp(STACK_0)) break; # end of stream @@ -6486,7 +6490,7 @@ if (modus_single_p || stringp(Car(STACK_0)) || (mconsp(Car(STACK_0)) # ignored NL && (eq(PPHELP_NL_TYPE(Car(STACK_0)),S(Kfill)) - && string_fit_line_p(Cdr(STACK_0),*stream_,num_space)))) { + && string_fit_line_p(stream_,Cdr(STACK_0),num_space)))){ spaces(stream_,fixnum(num_space)); goto skip_NL; } else if (mconsp(Car(STACK_0))) # set indent Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3932 retrieving revision 1.3933 diff -u -d -r1.3932 -r1.3933 --- ChangeLog 13 Dec 2004 18:57:54 -0000 1.3932 +++ ChangeLog 13 Dec 2004 20:31:09 -0000 1.3933 @@ -1,6 +1,12 @@ 2004-12-13 Sam Steingold <sd...@gn...> - * eval.d (progv): fixed a GC-safety bug + * io.d (space_available): mark as "maygc" + (string_fit_line_p): ditto + fix a GC-safety bug + (pr_enter_1): updated for string_fit_line_p() changes + +2004-12-13 Sam Steingold <sd...@gn...> + + * eval.d (progv): fix a GC-safety bug 2004-12-12 Bruno Haible <br...@cl...> --__--__-- Message: 2 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3933,1.3934 .gdbinit,1.26,1.27 Date: Mon, 13 Dec 2004 20:37:55 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19454/src Modified Files: ChangeLog .gdbinit Log Message: (ansi_tests): wrap setting of an internal variable in WITHOUT-PACKAGE-LOCK Index: .gdbinit =================================================================== RCS file: /cvsroot/clisp/clisp/src/.gdbinit,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- .gdbinit 11 Oct 2004 11:13:54 -0000 1.26 +++ .gdbinit 13 Dec 2004 20:37:52 -0000 1.27 @@ -58,7 +58,7 @@ end define ansi_tests - run -B . -M lispinit.mem -q -norc -ansi -x "(setq system::*disassemble-use-live-process* nil) (cd \"ansi-tests/\") (load \"clispload.lsp\") (in-package \"CL-TEST\") (time (regression-test:do-tests))" + run -B . -M lispinit.mem -q -norc -ansi -x "(without-package-lock (sys) (setq system::*disassemble-use-live-process* nil)) (cd \"ansi-tests/\") (load \"clispload.lsp\") (in-package \"CL-TEST\") (time (regression-test:do-tests))" end document ansi_tests run the gcl/ansi-test suite Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3933 retrieving revision 1.3934 diff -u -d -r1.3933 -r1.3934 --- ChangeLog 13 Dec 2004 20:31:09 -0000 1.3933 +++ ChangeLog 13 Dec 2004 20:37:52 -0000 1.3934 @@ -1,5 +1,10 @@ 2004-12-13 Sam Steingold <sd...@gn...> + * .gdbinit (ansi_tests): wrap setting of an internal variable in + WITHOUT-PACKAGE-LOCK + +2004-12-13 Sam Steingold <sd...@gn...> + * io.d (space_available): mark as "maygc" (string_fit_line_p): ditto + fix a GC-safety bug (pr_enter_1): updated for string_fit_line_p() changes --__--__-- Message: 3 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src spvw.d,1.330,1.331 ChangeLog,1.3934,1.3935 Date: Mon, 13 Dec 2004 21:40:14 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1335/src Modified Files: spvw.d ChangeLog Log Message: (print_license, print_banner): (FRESH-LINE *STANDARD-OUTPUT*) to clean up after *INIT-HOOKS* Index: spvw.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw.d,v retrieving revision 1.330 retrieving revision 1.331 diff -u -d -r1.330 -r1.331 --- spvw.d 13 Dec 2004 12:15:22 -0000 1.330 +++ spvw.d 13 Dec 2004 21:40:08 -0000 1.331 @@ -1629,6 +1629,7 @@ var const char * const * ptr = license; var uintC count = sizeof(license)/sizeof(license[0]); pushSTACK(var_stream(S(standard_output),strmflags_wr_ch_B)); + pushSTACK(STACK_0);funcall(L(fresh_line),1);/* clean up after *INIT-HOOKS* */ while (count--) write_sstring(&STACK_0,asciz_to_string(*ptr++,O(internal_encoding))); skipSTACK(1); @@ -1733,6 +1734,7 @@ var const char * const * ptr; var uintC count; pushSTACK(var_stream(S(standard_output),strmflags_wr_ch_B)); # to *STANDARD-OUTPUT* + pushSTACK(STACK_0);funcall(L(fresh_line),1);/* clean up after *INIT-HOOKS* */ if (candles > 0) { ptr = banner0_hanukka; count = sizeof(banner0_hanukka)/sizeof(banner0_hanukka[0]); } else { Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3934 retrieving revision 1.3935 diff -u -d -r1.3934 -r1.3935 --- ChangeLog 13 Dec 2004 20:37:52 -0000 1.3934 +++ ChangeLog 13 Dec 2004 21:40:09 -0000 1.3935 @@ -1,5 +1,10 @@ 2004-12-13 Sam Steingold <sd...@gn...> + * spvw.d (print_license, print_banner): (FRESH-LINE *STANDARD-OUTPUT*) + to clean up after *INIT-HOOKS* + +2004-12-13 Sam Steingold <sd...@gn...> + * .gdbinit (ansi_tests): wrap setting of an internal variable in WITHOUT-PACKAGE-LOCK --__--__-- Message: 4 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src stream.d,1.486,1.487 ChangeLog,1.3935,1.3936 Date: Mon, 13 Dec 2004 21:47:43 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2959/src Modified Files: stream.d ChangeLog Log Message: (clear_output_terminal3): fix a GC-safety bug Index: stream.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/stream.d,v retrieving revision 1.486 retrieving revision 1.487 diff -u -d -r1.486 -r1.487 --- stream.d 13 Dec 2004 12:07:17 -0000 1.486 +++ stream.d 13 Dec 2004 21:47:36 -0000 1.487 @@ -9573,8 +9573,12 @@ # > stream: Terminal-Stream # can trigger GC local maygc void clear_output_terminal3 (object stream) { + #if TERMINAL_OUTBUFFERED + pushSTACK(stream); /* save */ + #endif clear_output_unbuffered(stream); #if TERMINAL_OUTBUFFERED + stream = popSTACK(); /* restore */ TheIarray(TheStream(stream)->strm_terminal_outbuff)->dims[1] = 0; # Fill-Pointer := 0 #endif } Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3935 retrieving revision 1.3936 diff -u -d -r1.3935 -r1.3936 --- ChangeLog 13 Dec 2004 21:40:09 -0000 1.3935 +++ ChangeLog 13 Dec 2004 21:47:40 -0000 1.3936 @@ -1,5 +1,9 @@ 2004-12-13 Sam Steingold <sd...@gn...> + * stream.d (clear_output_terminal3): fix a GC-safety bug + +2004-12-13 Sam Steingold <sd...@gn...> + * spvw.d (print_license, print_banner): (FRESH-LINE *STANDARD-OUTPUT*) to clean up after *INIT-HOOKS* --__--__-- Message: 5 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src io.d,1.261,1.262 Date: Mon, 13 Dec 2004 23:31:24 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28692 Modified Files: io.d Log Message: fixed last patch Index: io.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/io.d,v retrieving revision 1.261 retrieving revision 1.262 diff -u -d -r1.261 -r1.262 --- io.d 13 Dec 2004 20:31:07 -0000 1.261 +++ io.d 13 Dec 2004 23:31:04 -0000 1.262 @@ -6475,12 +6475,14 @@ { var object top = Car(STACK_0); var object indent = Fixnum_0; if (mconsp(top)) { # if :FILL and the next string fits the line - STACK_0 = Cdr(STACK_0); if (modus_single_p || (eq(PPHELP_NL_TYPE(top),S(Kfill)) - && string_fit_line_p(stream_,STACK_0,0))) + && string_fit_line_p(stream_,Cdr(STACK_0),0))) { + STACK_0 = Cdr(STACK_0); goto skip_NL; - indent = PPHELP_INDENTN(top); + } + indent = PPHELP_INDENTN(Car(STACK_0)/*top*/); + STACK_0 = Cdr(STACK_0); if (!mconsp(STACK_0)) break; # end of stream } else if (!stringp(top)) { # tab - a vector but not a string STACK_0 = Cdr(STACK_0); --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |