From: <cli...@li...> - 2004-05-27 19:19:01
|
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 spvw_garcol.d,1.79,1.80 ChangeLog,1.3095,1.3096 (Bruno Haible) 2. clisp/src ChangeLog,1.3096,1.3097 (Bruno Haible) 3. clisp Makefile.devel,1.114,1.115 (Bruno Haible) 4. clisp/tests backquot.tst,1.12,1.13 ChangeLog,1.170,1.171 (Bruno Haible) 5. clisp/src backquote.lisp,2.11,2.12 ChangeLog,1.3097,1.3098 (Bruno Haible) 6. clisp/src lispbibl.d,1.500,1.501 ChangeLog,1.3098,1.3099 (Bruno Haible) 7. clisp/src NEWS,1.128.2.1,1.128.2.2 (Bruno Haible) 8. clisp/src NEWS,1.140,1.141 (Bruno Haible) 9. clisp/src control.d,1.95,1.96 ChangeLog,1.3099,1.3100 (Sam Steingold) 10. clisp/src NEWS,1.141,1.142 (Sam Steingold) 11. clisp/src makemake.in,1.448,1.449 (Sam Steingold) 12. www faq.html,1.9,1.10 (Sam Steingold) --__--__-- Message: 1 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src spvw_garcol.d,1.79,1.80 ChangeLog,1.3095,1.3096 Date: Thu, 27 May 2004 11:21:35 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6882/src Modified Files: spvw_garcol.d ChangeLog Log Message: Combination of GENERATIONAL_GC, HEAPCODES, NO_MORRIS_GC. Index: spvw_garcol.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw_garcol.d,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- spvw_garcol.d 27 May 2004 11:05:49 -0000 1.79 +++ spvw_garcol.d 27 May 2004 11:21:31 -0000 1.80 @@ -1183,17 +1183,31 @@ } \ } #else - #define update(objptr) \ - { var object obj = *(gcv_object_t*)objptr; # object \ - if (!gcinvariant_object_p(obj)) # un-movable -> do nothing \ - if (!in_old_generation(obj,,)) \ - # older generation -> do nothing (object stayed there) \ - if (marked(ThePointer(obj))) # marked? \ - # no -> do nothing (object stayed there) \ - # yes -> enter new address \ - *(gcv_object_t*)objptr = \ - as_object((as_oint(obj) & nonimmediate_bias_mask) | (as_oint(*(gcv_object_t*)ThePointer(obj)) & ~wbit(garcol_bit_o))); \ - } + #ifdef GENERATIONAL_GC + #define update(objptr) \ + { var object obj = *(gcv_object_t*)objptr; # object \ + if (!gcinvariant_object_p(obj)) # un-movable -> do nothing \ + if (!(consp(obj) ? in_old_generation(obj,,1) : in_old_generation(obj,,0))) \ + # older generation -> do nothing (object stayed there) \ + if (marked(ThePointer(obj))) # marked? \ + # no -> do nothing (object stayed there) \ + # yes -> enter new address \ + *(gcv_object_t*)objptr = \ + as_object((as_oint(obj) & nonimmediate_bias_mask) | (as_oint(*(gcv_object_t*)ThePointer(obj)) & ~wbit(garcol_bit_o))); \ + } + #else + #define update(objptr) \ + { var object obj = *(gcv_object_t*)objptr; # object \ + if (!gcinvariant_object_p(obj)) # un-movable -> do nothing \ + if (!in_old_generation(obj,,)) \ + # older generation -> do nothing (object stayed there) \ + if (marked(ThePointer(obj))) # marked? \ + # no -> do nothing (object stayed there) \ + # yes -> enter new address \ + *(gcv_object_t*)objptr = \ + as_object((as_oint(obj) & nonimmediate_bias_mask) | (as_oint(*(gcv_object_t*)ThePointer(obj)) & ~wbit(garcol_bit_o))); \ + } + #endif #endif #else # defined(MORRIS_GC) #if defined(SPVW_MIXED_BLOCKS) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3095 retrieving revision 1.3096 diff -u -d -r1.3095 -r1.3096 --- ChangeLog 27 May 2004 11:20:26 -0000 1.3095 +++ ChangeLog 27 May 2004 11:21:31 -0000 1.3096 @@ -1,5 +1,11 @@ 2004-05-21 Bruno Haible <br...@cl...> + Make it possible to combine GENERATIONAL_GC, HEAPCODES, NO_MORRIS_GC. + * spvw_garcol.d (update): Provide a definition for the case + GENERATIONAL_GC && HEAPCODES && !MORRIS_GC. + +2004-05-21 Bruno Haible <br...@cl...> + Make it possible to test both SPVW_MIXED_BLOCKS_OPPOSITE and SPVW_MIXED_BLOCKS_STAGGERED. * spvw.d (SPVW_MIXED_BLOCKS_OPPOSITE): Define if CONS_HEAP_GROWS_DOWN. --__--__-- Message: 2 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.3096,1.3097 Date: Thu, 27 May 2004 11:23:30 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7170/src Modified Files: ChangeLog Log Message: Extend the multibuild-linux-x86 target. Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3096 retrieving revision 1.3097 diff -u -d -r1.3096 -r1.3097 --- ChangeLog 27 May 2004 11:21:31 -0000 1.3096 +++ ChangeLog 27 May 2004 11:23:27 -0000 1.3097 @@ -1,5 +1,11 @@ 2004-05-21 Bruno Haible <br...@cl...> + * Makefile.devel (multibuild-linux-x86): Add builds with both + HEAPCODES variants, and build with spvw_mixed_blocks-staggered + and -fixedmemsize. + +2004-05-21 Bruno Haible <br...@cl...> + Make it possible to combine GENERATIONAL_GC, HEAPCODES, NO_MORRIS_GC. * spvw_garcol.d (update): Provide a definition for the case GENERATIONAL_GC && HEAPCODES && !MORRIS_GC. --__--__-- Message: 3 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp Makefile.devel,1.114,1.115 Date: Thu, 27 May 2004 11:23:29 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7170 Modified Files: Makefile.devel Log Message: Extend the multibuild-linux-x86 target. Index: Makefile.devel =================================================================== RCS file: /cvsroot/clisp/clisp/Makefile.devel,v retrieving revision 1.114 retrieving revision 1.115 diff -u -d -r1.114 -r1.115 --- Makefile.devel 26 May 2004 19:19:34 -0000 1.114 +++ Makefile.devel 27 May 2004 11:23:27 -0000 1.115 @@ -276,15 +276,48 @@ # Build and test all essential memory models on a Linux/x86 machine. MULTIBUILD_OPTIONS = +MULTIBUILD_CFLAGS = -g multibuild-linux-x86: - CFLAGS="-O -g -falign-functions=4" CPPFLAGS="" \ - ./configure --build $(MULTIBUILD_OPTIONS) build-spvw_mixed_blocks - CFLAGS="-O -g -falign-functions=4" CPPFLAGS="-DWIDE" \ - ./configure --build $(MULTIBUILD_OPTIONS) build-wide - CFLAGS="-O -g -falign-functions=4" CPPFLAGS="-DNO_SINGLEMAP -DNO_TRIVIALMAP -DNO_MULTIMAP_FILE -DNO_MULTIMAP_SHM" \ - ./configure --build $(MULTIBUILD_OPTIONS) build-spvw_mixed_pages - CFLAGS="-O -g -falign-functions=4" CPPFLAGS="-DTYPECODES" \ - ./configure --build $(MULTIBUILD_OPTIONS) build-spvw_pure_blocks + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DSTANDARD_HEAPCODES -DCONS_HEAP_GROWS_UP" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-standard-spvw_mixed_blocks-staggered + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DSTANDARD_HEAPCODES -DCONS_HEAP_GROWS_DOWN" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-standard-spvw_mixed_blocks-opposite + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DSTANDARD_HEAPCODES -DNO_VIRTUAL_MEMORY -DNO_TRIVIALMAP" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-standard-spvw_mixed_blocks-opposite-fixedmemsize + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DSTANDARD_HEAPCODES -DNO_SINGLEMAP -DNO_TRIVIALMAP -DNO_MULTIMAP_FILE -DNO_MULTIMAP_SHM" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-standard-spvw_mixed_pages + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DLINUX_NOEXEC_HEAPCODES -DCONS_HEAP_GROWS_UP" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-noexec-spvw_mixed_blocks-staggered + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DLINUX_NOEXEC_HEAPCODES -DCONS_HEAP_GROWS_DOWN" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-noexec-spvw_mixed_blocks-opposite + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DLINUX_NOEXEC_HEAPCODES -DNO_VIRTUAL_MEMORY -DNO_TRIVIALMAP" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-noexec-spvw_mixed_blocks-opposite-fixedmemsize + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DLINUX_NOEXEC_HEAPCODES -DNO_SINGLEMAP -DNO_TRIVIALMAP -DNO_MULTIMAP_FILE -DNO_MULTIMAP_SHM" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-noexec-spvw_mixed_pages + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DTYPECODES" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-spvw_pure_blocks + CFLAGS="-O -falign-functions=4 $(MULTIBUILD_CFLAGS)" \ + CPPFLAGS="-DWIDE" \ + ./configure --build $(MULTIBUILD_OPTIONS) \ + build-wide distrib : linux-distrib src-distrib --__--__-- Message: 4 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/tests backquot.tst,1.12,1.13 ChangeLog,1.170,1.171 Date: Thu, 27 May 2004 11:26:32 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7593/tests Modified Files: backquot.tst ChangeLog Log Message: Fix treatment of vectors. Index: backquot.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/backquot.tst,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- backquot.tst 28 Apr 2004 21:38:55 -0000 1.12 +++ backquot.tst 27 May 2004 11:26:30 -0000 1.13 @@ -115,6 +115,10 @@ `(2 3 . #(,(+ 2 2) ,@(list 5))) (2 3 . #(4 5)) +;; Must preserve the element type of a given vector. +(array-element-type `#A((unsigned-byte 8) (3) (1 2 3))) +(unsigned-byte 8) + (let ((o 1)) (declare (special o)) (eval (let ((a 2) (b 3)) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.170 retrieving revision 1.171 diff -u -d -r1.170 -r1.171 --- ChangeLog 27 May 2004 11:07:10 -0000 1.170 +++ ChangeLog 27 May 2004 11:26:30 -0000 1.171 @@ -1,3 +1,7 @@ +2004-05-23 Bruno Haible <br...@cl...> + + * backquot.tst: Add test for vector element type. + 2004-05-20 Bruno Haible <br...@cl...> Increase memory sizes for builds with fixed memory size. --__--__-- Message: 5 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src backquote.lisp,2.11,2.12 ChangeLog,1.3097,1.3098 Date: Thu, 27 May 2004 11:26:32 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7593/src Modified Files: backquote.lisp ChangeLog Log Message: Fix treatment of vectors. Index: backquote.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/backquote.lisp,v retrieving revision 2.11 retrieving revision 2.12 diff -u -d -r2.11 -r2.12 --- backquote.lisp 26 May 2004 11:25:31 -0000 2.11 +++ backquote.lisp 27 May 2004 11:26:29 -0000 2.12 @@ -52,9 +52,7 @@ (*reading-struct* nil) (*backquote-level* (1+ (or *backquote-level* 0))) (object (read stream t nil t))) - (unless (or (and (vectorp object) - (not (stringp object)) - (not (bit-vector-p object))) + (unless (or (and (vectorp object) (eq (array-element-type object) 'T)) (listp object)) (when *unquote-occurred* (error-of-type 'reader-error @@ -196,7 +194,7 @@ (if *backquote-optimize* (bq-optimize-for-list expansion) (cons 'append expansion)))))) - ((and (vectorp form) (not (or (stringp form) (bit-vector-p form)))) + ((and (vectorp form) (eq (array-element-type form) 'T)) ;; Handle vector expansion, along the lines suggested by HyperSpec. (let ((expansion (bq-expand-list (map 'list #'identity form)))) (if *backquote-optimize* Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3097 retrieving revision 1.3098 diff -u -d -r1.3097 -r1.3098 --- ChangeLog 27 May 2004 11:23:27 -0000 1.3097 +++ ChangeLog 27 May 2004 11:26:29 -0000 1.3098 @@ -1,3 +1,8 @@ +2004-05-23 Bruno Haible <br...@cl...> + + * backquote.lisp (backquote-reader, bq-expand): Treat vectors of + element types other than T like strings and bit-vectors. + 2004-05-21 Bruno Haible <br...@cl...> * Makefile.devel (multibuild-linux-x86): Add builds with both --__--__-- Message: 6 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src lispbibl.d,1.500,1.501 ChangeLog,1.3098,1.3099 Date: Thu, 27 May 2004 11:28:20 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7917/src Modified Files: lispbibl.d ChangeLog Log Message: Make DEBUG_GCSAFETY test sharper. Index: lispbibl.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/lispbibl.d,v retrieving revision 1.500 retrieving revision 1.501 diff -u -d -r1.500 -r1.501 --- lispbibl.d 27 May 2004 11:20:25 -0000 1.500 +++ lispbibl.d 27 May 2004 11:28:17 -0000 1.501 @@ -3075,6 +3075,8 @@ # gcinvariant_object_p(obj) #define gcinvariant_object_p(obj) \ (((as_oint(obj) & 1) == 0) || immediate_object_p(obj)) + #define gcinvariant_oint_p(obj_o) \ + ((((obj_o) & 1) == 0) || ((7 & ~(obj_o)) == 0)) # Test for gc-invariant object, given only the bias. #define gcinvariant_bias_p(bias) \ @@ -3167,6 +3169,8 @@ # gcinvariant_object_p(obj) #define gcinvariant_object_p(obj) \ ((as_oint(obj) & bit(1)) == 0) + #define gcinvariant_oint_p(obj_o) \ + (((obj_o) & bit(1)) == 0) # NB: Subrs are not included in this test, because subrp(obj) require a # memory access. @@ -3520,6 +3524,8 @@ # gcinvariant_object_p(obj) #define gcinvariant_object_p(obj) \ gcinvariant_type_p(typecode(obj)) + #define gcinvariant_oint_p(obj_o) \ + gcinvariant_type_p((tint)((obj_o) >> oint_type_shift) & (oint_type_mask >> oint_type_shift)) #else # no TYPECODES @@ -3594,9 +3600,19 @@ #define nonimmsubrp(obj) false #endif + # Force a crash if a memory pointer points to nonexistent memory. + #define nonimmprobe(obj_o) \ + do { \ + if (((obj_o) & wbit(garcol_bit_o)) == 0) /* exclude frame words from the STACK */ \ + if (!gcinvariant_oint_p(obj_o)) /* exclude immediate objects */ \ + /* Access a single char, without needing to subtract the bias. */ \ + *(volatile char *)(((aint)((obj_o) >> oint_addr_shift) & (aint)(oint_addr_mask >> oint_addr_shift)) <<addr_shift); \ + } while (0) + # When a gcv_object_t is fetched from a GC visible location (in the heap or # on the STACK) we can assume that GC has updated it. inline gcv_object_t::operator object () const { + nonimmprobe(one_o); return (object){ one_o: one_o INIT_ALLOCSTAMP }; } @@ -3608,6 +3624,7 @@ || obj.allocstamp == alloccount || nonimmsubrp(obj))) abort(); one_o = as_oint(obj); + nonimmprobe(one_o); } # The only exception are fake gcv_objects. inline gcv_object_t::gcv_object_t (fake_gcv_object obj) { @@ -5995,18 +6012,22 @@ if (!(gcinvariant_object_p(obj) || gcinvariant_symbol_p(obj) || obj.allocstamp == alloccount || nonimmsubrp(obj))) abort(); + nonimmprobe(obj.one_o); return obj.one_o; } static inline aint pgci_pointable (gcv_object_t obj) { + nonimmprobe(obj.one_o); return obj.one_o; } static inline aint ngci_pointable (object obj) { if (!(gcinvariant_symbol_p(obj) || obj.allocstamp == alloccount || nonimmsubrp(obj))) abort(); + nonimmprobe(obj.one_o); return obj.one_o; } static inline aint ngci_pointable (gcv_object_t obj) { + nonimmprobe(obj.one_o); return obj.one_o; } #elif defined(WIDE_AUXI) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3098 retrieving revision 1.3099 diff -u -d -r1.3098 -r1.3099 --- ChangeLog 27 May 2004 11:26:29 -0000 1.3098 +++ ChangeLog 27 May 2004 11:28:17 -0000 1.3099 @@ -1,3 +1,10 @@ +2004-05-25 Bruno Haible <br...@cl...> + + Make DEBUG_GCSAFETY test sharper. + * lispbibl.d (gcinvariant_oint_p, nonimmprobe): New macros. + (gcv_object_t::operator object, gcv_object_t::gcv_object_t, + pgci_pointable, ngci_pointable): Use nonimmprobe. + 2004-05-23 Bruno Haible <br...@cl...> * backquote.lisp (backquote-reader, bq-expand): Treat vectors of --__--__-- Message: 7 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src NEWS,1.128.2.1,1.128.2.2 Date: Thu, 27 May 2004 11:55:25 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12530 Modified Files: Tag: clisp_2_33-patched NEWS Log Message: Prepare for 2.33.2. Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.128.2.1 retrieving revision 1.128.2.2 diff -u -d -r1.128.2.1 -r1.128.2.2 --- NEWS 22 May 2004 12:02:49 -0000 1.128.2.1 +++ NEWS 27 May 2004 11:55:22 -0000 1.128.2.2 @@ -1,3 +1,13 @@ +2.33.2 (2004-05-27) +=================== + +Portability +----------- + +* Support for the Linux/x86 distributions called Redhat Fedora and Redhat + Enterprise Linux. + + 2.33.1 (2004-05-22) =================== --__--__-- Message: 8 From: Bruno Haible <ha...@us...> To: cli...@li... Subject: clisp/src NEWS,1.140,1.141 Date: Thu, 27 May 2004 12:00:40 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13506 Modified Files: NEWS Log Message: Write Joerg's name correctly. Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.140 retrieving revision 1.141 diff -u -d -r1.140 -r1.141 --- NEWS 26 May 2004 15:09:34 -0000 1.140 +++ NEWS 27 May 2004 12:00:37 -0000 1.141 @@ -435,7 +435,7 @@ + macros FFI:WITH-FOREIGN-STRING, and macro FFI:WITH-C-PLACE, see <http://clisp.cons.org/impnotes.html#foreign-stack-string> and <http://clisp.cons.org/impnotes.html#with-c-place>. - Thanks to Jorg Hohle <ho...@us...>. + Thanks to Jörg Höhle <ho...@us...>. + FFI:DEF-CALL-OUT and FFI:DEF-C-VAR now accept a :LIBRARY option which allows you to specify the dynamic library which contains the object. See <http://clisp.cons.org/impnotes.html#def-call-out> and @@ -1488,7 +1488,7 @@ * Added AmigaOS support for the socket functions. It's not perfect, but sufficient for writing socket clients. - Thanks to Jorg Hohle. + Thanks to Jörg Höhle. * Port to Win32 using msvc5. (Previously only msvc4 was supported.) @@ -1511,7 +1511,7 @@ temporary linking set. Suggested by Gilbert Baumann <un...@rz...>. -* Compiling IFs with no else part now produce better code (Jorg Hohle). +* Compiling IFs with no else part now produce better code (Jörg Höhle). * Speed up I/O to *STANDARD-INPUT*, *STANDARD-OUTPUT* and *TERMINAL-IO*: If standard input is redirected from a file, the input side of *TERMINAL-IO* @@ -1621,7 +1621,7 @@ * Reduced the number of conses allocated by calling APPLY on a function with both &KEY and &REST. - Thanks to Jorg Hohle. + Thanks to Jörg Höhle. * The CLX documentation can now be viewed in ghostview. Thanks to Karl M. Hegbloom <ka...@in...>. @@ -1815,7 +1815,7 @@ * Support for immutable objects now works on Linux/ELF. It did already work on Linux/a.out. -* Updated Amiga support. Thanks to Jorg Hohle <Joe...@gm...>. +* Updated Amiga support. Thanks to Jörg Höhle <Joe...@gm...>. * Updated Acorn support. Thanks to Peter Burwood <cl...@ar...>. @@ -1848,7 +1848,7 @@ "#!/usr/local/bin/clisp" in the first line and doing a "chmod a+x". * The read-eval-print loop now calls FORCE-OUTPUT after outputting the prompt. - Thanks to Jorg Hohle <Joe...@gm...>. + Thanks to Jörg Höhle <Joe...@gm...>. * Support for immutable objects now also works in the WIDE tagging scheme. @@ -1980,7 +1980,7 @@ * The compiler now recognizes more function calls as inlinable: Cases like (FUNCALL (LAMBDA ...) ...), (DECLAIM (INLINE F)) (MAPCAR #'F ...) are now compiled as inline function calls. Previously you had to write - (FUNCTION (LAMBDA ...)) explicitly. Suggested by Jorg Hohle. + (FUNCTION (LAMBDA ...)) explicitly. Suggested by Jörg Höhle. * "makemake" now supports the --srcdir, --prefix and --exec-prefix options. @@ -2160,7 +2160,7 @@ * Foreign function interface: Fixed a couple of possible bugs in the low-level foreign function call routine for i386/486/586, m680x0, SPARC CPUs. - Thanks to Jorg Hohle. + Thanks to Jörg Höhle. * Small fixes for SCO. @@ -2402,7 +2402,7 @@ * X3J13 vote <132> is implemented: Synonym streams to file streams are allowed as pathnames. -* Amiga version: SCREEN package is implemented. Thanks to Jorg Hohle. +* Amiga version: SCREEN package is implemented. Thanks to Jörg Höhle. * The debugger emits some more messages to *DEBUG-IO*, not *ERROR-OUTPUT*. @@ -2517,7 +2517,7 @@ * More Sinix support. Thanks to Manfred Weichel. -* Updated support for AmigaOS. Thanks to Jorg Hohle. +* Updated support for AmigaOS. Thanks to Jörg Höhle. * Some modification for the sake of gcc-2.6. @@ -2602,7 +2602,7 @@ User visible changes -------------------- -* French support is now complete. Thanks to Jorg Hohle. +* French support is now complete. Thanks to Jörg Höhle. * The user interface language (english, german or french) can now be chosen at startup time through a command line option. The constant *LANGUAGE* has @@ -2716,7 +2716,7 @@ * Speedup SUBLIS and NSUBLIS. * Let all known versions of gcc2 emit dbra instructions for loops. - Thanks to Jorg Hohle. + Thanks to Jörg Höhle. * Renamed condition.lsp to conditio.lsp. --__--__-- Message: 9 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src control.d,1.95,1.96 ChangeLog,1.3099,1.3100 Date: Thu, 27 May 2004 14:41:13 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12228/src Modified Files: control.d ChangeLog Log Message: an improper docstring does not warrant an error Index: control.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/control.d,v retrieving revision 1.95 retrieving revision 1.96 diff -u -d -r1.95 -r1.96 --- control.d 25 May 2004 20:55:15 -0000 1.95 +++ control.d 27 May 2004 14:41:09 -0000 1.96 @@ -362,15 +362,19 @@ VALUES1(popSTACK()); /* return saved value */ } -/* error-message because of not allowed docstrings - fehler_docstring(caller,body); - > caller: Caller, a Symbol - > body: whole Body */ -nonreturning_function(local, fehler_docstring, (object caller, object body)) { - pushSTACK(body); - pushSTACK(caller); - fehler(source_program_error, - GETTEXT("~S: doc-strings are not allowed here: ~S")); +/* call parse_dd() and maybe complain about doc-string + parse_doc_decl(body); + > body: whole Body + can trigger GC */ +local bool parse_doc_decl (object body, bool permit_doc_string) { + var bool to_compile = parse_dd(body); + if (!permit_doc_string && !nullp(value3)) { + pushSTACK(value1); pushSTACK(value2); pushSTACK(value3); /* save */ + pushSTACK(CLSTEXT("doc-string is not allowed here and will be ignored: ~S")); + pushSTACK(body); funcall(S(warn),2); + value3 = popSTACK(); value2 = popSTACK(); value1 = popSTACK(); + } + return to_compile; } /* get the 5 environment objects to the stack @@ -630,11 +634,7 @@ LISPSPECFORM(let, 1,0,body) { /* (LET ({varspec}) {decl} {form}), CLTL p. 110 */ /* separate {decl} {form}: */ - var bool to_compile = parse_dd(STACK_0); - /* no docstring, please: */ - if (!nullp(value3)) - fehler_docstring(S(let),STACK_0); - if (to_compile) { /* declaration (COMPILE) ? */ + if (parse_doc_decl(STACK_0,false)) { /* declaration (COMPILE) ? */ /* yes -> compile form: */ skipSTACK(2); return_Values compile_eval_form(); } else { @@ -683,11 +683,7 @@ LISPSPECFORM(letstern, 1,0,body) { /* (LET* ({varspec}) {decl} {form}), CLTL p. 111 */ /* separate {decl} {form} : */ - var bool to_compile = parse_dd(STACK_0); - /* no docstring, please: */ - if (!nullp(value3)) - fehler_docstring(S(letstern),STACK_0); - if (to_compile) { /* declaration (COMPILE) ? */ + if (parse_doc_decl(STACK_0,false)) { /* declaration (COMPILE) ? */ /* yes -> compile form: */ skipSTACK(2); return_Values compile_eval_form(); } else { @@ -728,10 +724,7 @@ LISPSPECFORM(locally, 0,0,body) { /* (LOCALLY {decl} {form}), CLTL2 p. 221 */ /* separate {decl} {form} : */ - var bool to_compile = parse_dd(STACK_0); - /* please no docstring: */ - if (!nullp(value3)) - fehler_docstring(S(locally),STACK_0); + var bool to_compile = parse_doc_decl(STACK_0,false); skipSTACK(1); if (to_compile) { /* declaration (COMPILE) ? */ /* yes -> compile form: */ @@ -1106,11 +1099,7 @@ LISPSPECFORM(symbol_macrolet, 1,0,body) { /* (SYMBOL-MACROLET ({(var expansion)}) {decl} {form}), CLTL2 p. 155 */ /* separate {decl} {form} : */ - var bool to_compile = parse_dd(STACK_0); - /* please no docstring: */ - if (!nullp(value3)) - fehler_docstring(S(symbol_macrolet),STACK_0); - if (to_compile) { /* declaration (COMPILE) ? */ + if (parse_doc_decl(STACK_0,false)) { /* declaration (COMPILE) ? */ /* yes -> compile form: */ skipSTACK(2); return_Values compile_eval_form(); } else { @@ -1745,11 +1734,7 @@ LISPSPECFORM(multiple_value_bind, 2,0,body) { /* (MULTIPLE-VALUE-BIND ({var}) values-form {decl} {form}), CLTL p. 136 */ /* separate {decl} {form} : */ - var bool to_compile = parse_dd(STACK_0); - /* please no docstring: */ - if (!nullp(value3)) - fehler_docstring(S(multiple_value_bind),STACK_0); - if (to_compile) { /* declaration (COMPILE) ? */ + if (parse_doc_decl(STACK_0,false)) { /* declaration (COMPILE) ? */ /* yes -> compile form: */ skipSTACK(3); return_Values compile_eval_form(); } else { @@ -2271,11 +2256,7 @@ 2. list of occurred declspecs 3. docstring (only if docstring-allowed=T ) or NIL. (docstring-allowed should be = NIL or T) */ - parse_dd(STACK_1/*body*/); - if (missingp(STACK_0) && !nullp(value3)) { /* doc forbidden but found */ - pushSTACK(STACK_1); /* whole body */ - fehler(source_program_error,GETTEXT("no doc-strings allowed here: ~S")); - } + parse_doc_decl(STACK_1/*body*/,!missingp(STACK_0)); /* got 3 values from parse_dd(): ({form}), declspecs, doc */ mv_count = 3; skipSTACK(2); Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.3099 retrieving revision 1.3100 diff -u -d -r1.3099 -r1.3100 --- ChangeLog 27 May 2004 11:28:17 -0000 1.3099 +++ ChangeLog 27 May 2004 14:41:10 -0000 1.3100 @@ -1,9 +1,16 @@ +2004-05-27 Sam Steingold <sd...@gn...> + + an improper docstring does not warrant an error + * control.d (parse_doc_decl): repllaces fehler_docstring() + (LET, LET*, LOCALLY, SYMBOL-MACROLET, MULTIPLE-VALUE-BIND, PARSE-BODY): + use it instead of fehler_docstring() + 2004-05-25 Bruno Haible <br...@cl...> Make DEBUG_GCSAFETY test sharper. * lispbibl.d (gcinvariant_oint_p, nonimmprobe): New macros. - (gcv_object_t::operator object, gcv_object_t::gcv_object_t, - pgci_pointable, ngci_pointable): Use nonimmprobe. + (gcv_object_t::operator object, gcv_object_t::gcv_object_t) + (pgci_pointable, ngci_pointable): Use nonimmprobe. 2004-05-23 Bruno Haible <br...@cl...> --__--__-- Message: 10 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src NEWS,1.141,1.142 Date: Thu, 27 May 2004 14:42:12 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12450/src Modified Files: NEWS Log Message: an improper docstring does not warrant an error Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.141 retrieving revision 1.142 diff -u -d -r1.141 -r1.142 --- NEWS 27 May 2004 12:00:37 -0000 1.141 +++ NEWS 27 May 2004 14:42:08 -0000 1.142 @@ -94,6 +94,7 @@ + Arrays with total array size 0 are printed in a lossy way if CUSTOM:*PRINT-EMPTY-ARRAYS-ANSI* is true. + Allow () to match NIL in destructuring lambda lists. + + An improper docstring no does not warrant an error. * The behaviour of the function UPGRADED-COMPLEX-PART-TYPE has changed. --__--__-- Message: 11 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src makemake.in,1.448,1.449 Date: Thu, 27 May 2004 14:46:06 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13178/src Modified Files: makemake.in Log Message: tweak cygwin src distrib target Index: makemake.in =================================================================== RCS file: /cvsroot/clisp/clisp/src/makemake.in,v retrieving revision 1.448 retrieving revision 1.449 diff -u -d -r1.448 -r1.449 --- makemake.in 26 May 2004 20:44:25 -0000 1.448 +++ makemake.in 27 May 2004 14:46:04 -0000 1.449 @@ -3245,7 +3245,7 @@ echotab "ln \$(CLISP_CYGWIN) \$(CLISP_VR).tar.bz2" echotab "\$(RMRF) \$(DEST_TMP)" echol - echol "TAR_SRC=\"../../archives/\$(CLISP_VERSION).tar.bz2\"" + echol "TAR_SRC=\"../../archives/\$(VERSION)/\$(CLISP_VERSION).tar.bz2\"" echol "cygwin-src : setup.hint force" echotab "touch \$(CLISP_VR).patch" echotab "echo '#!/bin/sh' > \$(CLISP_SCRIPT)" @@ -3253,7 +3253,7 @@ echotab "echo 'cd build-cygwin' >> \$(CLISP_SCRIPT)" echotab "echo 'make distrib' >> \$(CLISP_SCRIPT)" echotab "ln -s \$(TAR_SRC) ." - echotab "tar cvfjh \$(CLISP_VR)-src.tar.bz2 \$(CLISP_VERSION).tar.bz2 \$(CLISP_SCRIPT) \$(CLISP_VR).patch setup.hint cygwin.README" + echotab "tar cvfjh \$(CLISP_VR)-src.tar.bz2 \$(CLISP_SCRIPT) \$(CLISP_VR).patch setup.hint cygwin.README \$(CLISP_VERSION).tar.bz2" echotab "\$(RMRF) \$(CLISP_VERSION).tar.bz2 \$(CLISP_SCRIPT) \$(CLISP_VR).patch" echol elif [ ${HOS} = unix ] ; then # but not cygwin! --__--__-- Message: 12 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: www faq.html,1.9,1.10 Date: Thu, 27 May 2004 19:17:10 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/www In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1264 Modified Files: faq.html Log Message: use 3rd person uniformly Index: faq.html =================================================================== RCS file: /cvsroot/clisp/www/faq.html,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- faq.html 2 May 2004 22:24:32 -0000 1.9 +++ faq.html 27 May 2004 19:17:07 -0000 1.10 @@ -159,7 +159,7 @@ already forgotten this crime. A note to that effect was kept in the file <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/clisp/clisp/src/timezone.lisp">timezone.lisp</a> -until 2002, when we decided that is was not visible enough there and +until 2002, when it was decided that is was not visible enough there and moved it here.</p> <h4>Aren't you afraid of losing some users who are offended by the logo?</h4> @@ -171,15 +171,16 @@ <h4>Using software to promote a political agenda is unprofessional!</h4> -<p>Expressing our opinion is a quite natural thing for us, be it -artistic preferences, political views or religious beliefs. +<p>Expressing their opinion is a perfectly natural thing for the authors, +be it artistic preferences, political views or religious beliefs. The use of the menorah has its roots somewhere between these areas, -and we are proud to display it. +and the authors are proud to display it. If you are unlucky enough to have lost the freedom to express your opinion, due to the constraints of a government, society, religion, -or expectations of "professional relationships", we condole with you. +or expectations of "professional relationships", +the Free World condoles with you. The authors of CLISP are not operating under such constraints. -If you are unhappy about our artistic preferences, political views or +If you are unhappy about their artistic preferences, political views or religious beliefs, you are free to ignore them.</p> <p>Many scientists have been doing art, politics and religion. @@ -257,11 +258,11 @@ <h3 id="rejected">Why is my mail to a mailing list rejected?</h3> -<p>CLISP Mailing lists get a lot of spam, so we have to take care to - protect our users. If you get a note that <cite>"your message is held - for moderator's approval"</cite>, you can safely <strong>assume that it - went to <code>/dev/null</code></strong> and try again, - noting the following:</p> +<p>CLISP Mailing lists get a lot of spam, so the maintainers have to + take care to protect the users. If you get a note that <cite>"your + message is held for moderator's approval"</cite>, you can safely + <strong>assume that it went to <code>/dev/null</code></strong> + and try again, noting the following:</p> <dl> <dt><strong><code>clisp-announce</code></strong></dt> <dd>do not mail here without a prior discussion @@ -271,7 +272,7 @@ <strong>subscribed address</strong>, no exceptions (see <a href="#help">above</a>).</dd> <dt><strong><code>clisp-list</code></strong></dt> - <dd>the only open list, so we filter it especially aggressively: + <dd>the only open list, so it is filtered it especially aggressively: <ul><li>no <code>MIME</code> mail (no <code>HTML</code> formatting, no attachments)</li> <li>the list address must be in <code>CC</code> or <code>TO</code>, @@ -303,7 +304,7 @@ <a href="http://lists.sourceforge.net/lists/listinfo/clisp-devel" ><clisp-devel></a>.</p> -<p>See <code>src/CodingStyle</code> for the style we follow.</p> +<p>See <code>src/CodingStyle</code> for the style one should follow.</p> <p>If your patch is more than just a few lines, it is <em>much</em> preferred that you make your patch available on the web and send the --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |