From: <cli...@li...> - 2005-08-06 03:11: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/m4 regexp.m4,1.3,NONE (Sam Steingold) 2. clisp/modules/regexp regcomp.c,NONE,1.1 (Sam Steingold) 3. clisp/src ChangeLog,1.4803,1.4804 (Sam Steingold) 4. clisp/doc faq.xml,1.1,1.2 (Sam Steingold) 5. clisp/src/autoconf aclocal.m4,1.155,1.156 (Sam Steingold) 6. clisp/src configure,1.127,1.128 (Sam Steingold) 7. clisp/doc cl-ent.xml,1.94,1.95 (Sam Steingold) 8. clisp/doc impbody.xml,1.391,1.392 (Sam Steingold) 9. clisp/tests macro8.tst,1.66,1.67 ChangeLog,1.397,1.398 (Sam Steingold) 10. clisp/src macros3.lisp,1.11,1.12 NEWS,1.261,1.262 ChangeLog,1.4804,1.4805 (Sam Steingold) 11. clisp/src macros3.lisp,1.12,1.13 (Sam Steingold) 12. clisp/src macros3.lisp,1.13,1.14 (Sam Steingold) 13. clisp/src init.lisp,1.238,1.239 compiler.lisp,1.284,1.285 ChangeLog,1.4805,1.4806 (Sam Steingold) --__--__-- Message: 1 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src/m4 regexp.m4,1.3,NONE Date: Fri, 05 Aug 2005 12:49:19 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src/m4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16989/src/m4 Removed Files: regexp.m4 Log Message: updated bundled regex to the latest gnulib version --- regexp.m4 DELETED --- --__--__-- Message: 2 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/modules/regexp regcomp.c,NONE,1.1 Date: Fri, 05 Aug 2005 14:54:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/modules/regexp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7255/modules/regexp Added Files: regcomp.c Log Message: modules/regexp/regcomp.c from gnulib --- NEW FILE: regcomp.c --- /* Extended regular expression matching and search library. Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <is...@ya...>. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ [...3887 lines suppressed...] { node = node->left; p_new = &dup_node->left; } else { const bin_tree_t *prev = NULL; while (node->right == prev || node->right == NULL) { prev = node; node = node->parent; dup_node = dup_node->parent; if (!node) return dup_root; } node = node->right; p_new = &dup_node->right; } } } --__--__-- Message: 3 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src ChangeLog,1.4803,1.4804 Date: Fri, 05 Aug 2005 14:54:26 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7255/src Modified Files: ChangeLog Log Message: modules/regexp/regcomp.c from gnulib Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4803 retrieving revision 1.4804 diff -u -d -r1.4803 -r1.4804 --- ChangeLog 4 Aug 2005 22:21:17 -0000 1.4803 +++ ChangeLog 5 Aug 2005 14:54:16 -0000 1.4804 @@ -15,8 +15,8 @@ * modules/wildcard/configure.in: do not call AC_AIX (done by toplevel) * modules/regexp/regex.c, modules/regexp/regex.h: updated * modules/regexp/regex_internal.c, modules/regexp/regex_internal.h: - * modules/regexp/regexec.c, m4/extensions.m4, m4/onceonly.m4: - * m4/regex.m4: added + * modules/regexp/regexec.c, modules/regexp/regcomp.c: + * m4/extensions.m4, m4/onceonly.m4, m4/regex.m4: added * m4/regexp.m4: removed * modules/regexp/link.sh.in: remove all gnulib regex files when using the system-wide regex implementation --__--__-- Message: 4 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc faq.xml,1.1,1.2 Date: Fri, 05 Aug 2005 14:56:28 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7669/doc Modified Files: faq.xml Log Message: typo: quanda->qanda Index: faq.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/faq.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- faq.xml 4 Aug 2005 21:59:36 -0000 1.1 +++ faq.xml 5 Aug 2005 14:56:26 -0000 1.2 @@ -21,7 +21,7 @@ <para>Please submit more questions (and answers!) to &clisp-list;.</para> </abstract> -<qandaset defaultlabel="quanda"><title>FAQ</title> +<qandaset defaultlabel="qanda"><title>FAQ</title> <qandadiv id="faq-meta"><title>Meta Information</title> --__--__-- Message: 5 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src/autoconf aclocal.m4,1.155,1.156 Date: Fri, 05 Aug 2005 14:57:58 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src/autoconf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7907/src/autoconf Modified Files: aclocal.m4 Log Message: manually added codeset.m4 and onceonly.m4 Index: aclocal.m4 =================================================================== RCS file: /cvsroot/clisp/clisp/src/autoconf/aclocal.m4,v retrieving revision 1.155 retrieving revision 1.156 diff -u -d -r1.155 -r1.156 --- aclocal.m4 4 Aug 2005 22:18:19 -0000 1.155 +++ aclocal.m4 5 Aug 2005 14:57:52 -0000 1.156 @@ -4088,7 +4088,7 @@ nocrash_init(); $mmap_prog_2 ], have_mmap_devzero=1 -cl_cv_func_mmap_devzero=yes, +cl_cv_func_mmap_devzero=yes, retry_mmap=1, : # When cross-compiling, don't assume anything. ) @@ -7200,85 +7200,3 @@ AC_SUBST(X_LIBS)dnl ]) -# codeset.m4 serial AM1 (gettext-0.10.40) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([AM_LANGINFO_CODESET], -[ - AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, - [AC_TRY_LINK([#include <langinfo.h>], - [char* cs = nl_langinfo(CODESET);], - am_cv_langinfo_codeset=yes, - am_cv_langinfo_codeset=no) - ]) - if test $am_cv_langinfo_codeset = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, - [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) - fi -]) -# onceonly.m4 serial 3 (gettext-0.12) -dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file defines some "once only" variants of standard autoconf macros. -dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS -dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS -dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS -dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC -dnl The advantage is that the check for each of the headers/functions/decls -dnl will be put only once into the 'configure' file. It keeps the size of -dnl the 'configure' file down, and avoids redundant output when 'configure' -dnl is run. -dnl The drawback is that the checks cannot be conditionalized. If you write -dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi -dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to -dnl empty, and the check will be inserted before the body of the AC_DEFUNed -dnl function. - -dnl Autoconf version 2.57 or newer is recommended. -AC_PREREQ(2.54) - -# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of -# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). -AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ - : - AC_FOREACH([gl_HEADER_NAME], [$1], [ - AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]), - [-./], [___])), [ - AC_CHECK_HEADERS(gl_HEADER_NAME) - ]) - AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, - [-./], [___]))) - ]) -]) - -# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of -# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). -AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ - : - AC_FOREACH([gl_FUNC_NAME], [$1], [ - AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ - AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME])) - ]) - AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) - ]) -]) - -# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of -# AC_CHECK_DECLS(DECL1, DECL2, ...). -AC_DEFUN([AC_CHECK_DECLS_ONCE], [ - : - AC_FOREACH([gl_DECL_NAME], [$1], [ - AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ - AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) - ]) - AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) - ]) -]) --__--__-- Message: 6 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src configure,1.127,1.128 Date: Fri, 05 Aug 2005 14:58:45 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8072/src Modified Files: configure Log Message: regenerated Index: configure =================================================================== RCS file: /cvsroot/clisp/clisp/src/configure,v retrieving revision 1.127 retrieving revision 1.128 diff -u -d -r1.127 -r1.128 --- configure 4 Aug 2005 22:18:23 -0000 1.127 +++ configure 5 Aug 2005 14:58:36 -0000 1.128 @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Id: configure.in,v 1.95 2005/05/18 20:23:13 sds Exp . +# From configure.in Id: configure.in,v 1.96 2005/08/04 22:10:46 sds Exp . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for GNU CLISP 2.34 (2005-07-20). # --__--__-- Message: 7 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc cl-ent.xml,1.94,1.95 Date: Fri, 05 Aug 2005 18:30:34 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19812/doc Modified Files: cl-ent.xml Log Message: (asdf, defsystem): added Index: cl-ent.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/cl-ent.xml,v retrieving revision 1.94 retrieving revision 1.95 diff -u -d -r1.94 -r1.95 --- cl-ent.xml 4 Aug 2005 21:55:15 -0000 1.94 +++ cl-ent.xml 5 Aug 2005 18:30:31 -0000 1.95 @@ -108,6 +108,8 @@ <!ENTITY libsigsegv "&gnu; <ulink url='http://libsigsegv.sourceforge.net/'>libsigsegv</ulink>"> <!ENTITY readline "&gnu; <ulink url='http://cnswww.cns.cwru.edu/~chet/readline/rltop.html'>readline</ulink>"> <!ENTITY autoconf "&gnu; <ulink url='http://www.gnu.org/software/autoconf/'>autoconf</ulink>"> +<!ENTITY asdf "<ulink url='http://www.cliki.net/asdf'><function>asdf</function></ulink>"> +<!ENTITY defsystem "<ulink url='http://www.cliki.net/defsystem'><function>defsystem</function></ulink>"> <!ENTITY gpl "<ulink url='http://www.gnu.org/copyleft/gpl.html'>GPL</ulink>"> <!ENTITY lgpl "<ulink url='http://www.gnu.org/copyleft/lgpl.html'>LGPL</ulink>"> <!ENTITY gfdl "<ulink url='http://www.gnu.org/copyleft/fdl.html'>GFDL</ulink>"> --__--__-- Message: 8 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/doc impbody.xml,1.391,1.392 Date: Fri, 05 Aug 2005 18:43:25 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22306/doc Modified Files: impbody.xml Log Message: (compiled-file-p): implemented CLRFI-2 <http://clrfi.alu.org/clrfi/clrfi-2-compiled-file-p> Index: impbody.xml =================================================================== RCS file: /cvsroot/clisp/clisp/doc/impbody.xml,v retrieving revision 1.391 retrieving revision 1.392 diff -u -d -r1.391 -r1.392 --- impbody.xml 18 Jul 2005 18:30:06 -0000 1.391 +++ impbody.xml 5 Aug 2005 18:43:21 -0000 1.392 @@ -4686,6 +4686,17 @@ &form-r; is a &feature-expr;.</para> </section> +<section id="compiled-file-p"><title>Function + <function>EXT:COMPILED-FILE-P</function> + <ulink url="&clrfi;/clrfi-2-compiled-file-p">[CLRFI-2]</ulink></title> +<para><code>(EXT:COMPILED-FILE-P &filename-r;)</code> returns non-&nil; + when the file &filename-r; exists, is readable, and appears to be a + &clisp;-compiled &fasl-file; compatible with the currently used + &bytecode; format.</para> +<para>System definition facilities (such as &asdf; or &defsystem;) can + use it to determine whether the file needs to be recompiled.</para> +</section> + </section> </chapter> --__--__-- Message: 9 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/tests macro8.tst,1.66,1.67 ChangeLog,1.397,1.398 Date: Fri, 05 Aug 2005 18:43:13 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22306/tests Modified Files: macro8.tst ChangeLog Log Message: (compiled-file-p): implemented CLRFI-2 <http://clrfi.alu.org/clrfi/clrfi-2-compiled-file-p> Index: macro8.tst =================================================================== RCS file: /cvsroot/clisp/clisp/tests/macro8.tst,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- macro8.tst 28 Jun 2005 21:48:01 -0000 1.66 +++ macro8.tst 5 Aug 2005 18:43:10 -0000 1.67 @@ -966,6 +966,20 @@ (subseq x 0 7)) (ONE TWO THREE MANY MANY MANY MANY) +#+clisp +(let* ((f "test-compiled-file-p.lisp") (c (compile-file-pathname f))) + (open f :direction :probe :if-does-not-exist :create) + (delete-file c) + (list (multiple-value-list (ext:compiled-file-p c)) + (multiple-value-list (ext:compiled-file-p f)) + (unwind-protect (multiple-value-list + (ext:compiled-file-p (setq c (compile-file f)))) + (delete-file f) + (delete-file c) + #+clisp (delete-file (make-pathname :type "lib" :defaults c))))) +#+clisp +((NIL) (NIL) (T)) + ; Clean up. (progn (fmakunbound 'circularity-in-code) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/tests/ChangeLog,v retrieving revision 1.397 retrieving revision 1.398 diff -u -d -r1.397 -r1.398 --- ChangeLog 3 Aug 2005 17:27:57 -0000 1.397 +++ ChangeLog 5 Aug 2005 18:43:11 -0000 1.398 @@ -1,3 +1,7 @@ +2005-08-05 Sam Steingold <sd...@gn...> + + * macro8.tst: test EXT:COMPILED-FILE-P + 2005-08-03 Sam Steingold <sd...@gn...> * time.tst: check docstring preservation under compilation; add cleanup --__--__-- Message: 10 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src macros3.lisp,1.11,1.12 NEWS,1.261,1.262 ChangeLog,1.4804,1.4805 Date: Fri, 05 Aug 2005 18:43:23 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22306/src Modified Files: macros3.lisp NEWS ChangeLog Log Message: (compiled-file-p): implemented CLRFI-2 <http://clrfi.alu.org/clrfi/clrfi-2-compiled-file-p> Index: NEWS =================================================================== RCS file: /cvsroot/clisp/clisp/src/NEWS,v retrieving revision 1.261 retrieving revision 1.262 diff -u -d -r1.261 -r1.262 --- NEWS 30 Jul 2005 23:58:20 -0000 1.261 +++ NEWS 5 Aug 2005 18:43:11 -0000 1.262 @@ -13,6 +13,11 @@ Rationale: this is a 1:1 that corresponds to CLISP CODE-CHAR/CHAR-CODE and avoids spurious errors in DIRECTORY on startup. +* New function EXT:COMPILED-FILE-P - checks whether the file is a + CLISP-compiled file with a compatible bytecode format. + See <http://clisp.cons.org/impnotes.html#compiled-file-p> for details. + + 2.34 (2005-07-20) ================= Index: macros3.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/macros3.lisp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- macros3.lisp 22 Dec 2004 11:44:15 -0000 1.11 +++ macros3.lisp 5 Aug 2005 18:43:11 -0000 1.12 @@ -1,5 +1,5 @@ (in-package "EXT") -(export '(ethe letf letf* with-collect)) +(export '(ethe letf letf* with-collect compiled-file-p)) (in-package "SYSTEM") ;;; --------------------------------------------------------------------------- ;;; Wie THE, nur dass auch im compilierten Code der Typtest durchgeführt wird. @@ -367,3 +367,16 @@ collectors ret tail tmp) ,@forms (values ,@ret))))) + +;;; --------------------------------------------------------------------------- +(defun compiled-file-p (file-name) + "Return non-NIL is FILE-NAME names a CLISP-compiled file +with compatible bytecodes." + (with-open-file (in file-name :direction :input :if-does-not-exist nil) + (handler-bind ((error (lambda (c) (declare (ignore c)) + (return-from compiled-file-p nil)))) + (and in (char= #\( (peek-char nil in)) + (let ((form (read in nil nil))) + (and (consp form) + (eq (car form) 'SYSTEM::VERSION) + (null (eval form)))))))) Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4804 retrieving revision 1.4805 diff -u -d -r1.4804 -r1.4805 --- ChangeLog 5 Aug 2005 14:54:16 -0000 1.4804 +++ ChangeLog 5 Aug 2005 18:43:12 -0000 1.4805 @@ -1,3 +1,8 @@ +2005-08-05 Sam Steingold <sd...@gn...> + + * macros3.lisp (compiled-file-p): implemented CLRFI-2 + <http://clrfi.alu.org/clrfi/clrfi-2-compiled-file-p> + 2005-08-04 Sam Steingold <sd...@gn...> make configure creation process more robust --__--__-- Message: 11 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src macros3.lisp,1.12,1.13 Date: Fri, 05 Aug 2005 19:41:39 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2415/src Modified Files: macros3.lisp Log Message: (compiled-file-p): pass NIL NIL to PEEK-CHAR Index: macros3.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/macros3.lisp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- macros3.lisp 5 Aug 2005 18:43:11 -0000 1.12 +++ macros3.lisp 5 Aug 2005 19:41:36 -0000 1.13 @@ -375,7 +375,7 @@ (with-open-file (in file-name :direction :input :if-does-not-exist nil) (handler-bind ((error (lambda (c) (declare (ignore c)) (return-from compiled-file-p nil)))) - (and in (char= #\( (peek-char nil in)) + (and in (char= #\( (peek-char nil in nil nil)) (let ((form (read in nil nil))) (and (consp form) (eq (car form) 'SYSTEM::VERSION) --__--__-- Message: 12 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src macros3.lisp,1.13,1.14 Date: Fri, 05 Aug 2005 19:43:17 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2688/src Modified Files: macros3.lisp Log Message: oops Index: macros3.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/macros3.lisp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- macros3.lisp 5 Aug 2005 19:41:36 -0000 1.13 +++ macros3.lisp 5 Aug 2005 19:43:15 -0000 1.14 @@ -375,7 +375,7 @@ (with-open-file (in file-name :direction :input :if-does-not-exist nil) (handler-bind ((error (lambda (c) (declare (ignore c)) (return-from compiled-file-p nil)))) - (and in (char= #\( (peek-char nil in nil nil)) + (and in (char= #\( (peek-char nil in nil #\a)) (let ((form (read in nil nil))) (and (consp form) (eq (car form) 'SYSTEM::VERSION) --__--__-- Message: 13 From: Sam Steingold <sd...@us...> To: cli...@li... Subject: clisp/src init.lisp,1.238,1.239 compiler.lisp,1.284,1.285 ChangeLog,1.4805,1.4806 Date: Fri, 05 Aug 2005 19:55:22 +0000 Reply-To: cli...@li... Update of /cvsroot/clisp/clisp/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4900/src Modified Files: init.lisp compiler.lisp ChangeLog Log Message: FILE doc is now (file start-line end-line) Index: init.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/init.lisp,v retrieving revision 1.238 retrieving revision 1.239 diff -u -d -r1.238 -r1.239 --- init.lisp 2 Aug 2005 21:19:21 -0000 1.238 +++ init.lisp 5 Aug 2005 19:55:15 -0000 1.239 @@ -574,9 +574,12 @@ value))) (proclaim '(special *load-truename* custom:*suppress-check-redefinition* + *current-source-line-1* *current-source-line-2* *current-source-file*)) (setq *load-truename* nil custom:*suppress-check-redefinition* nil + *current-source-line-1* nil + *current-source-line-2* nil *current-source-file* nil) (sys::%putd 'sys::check-redefinition @@ -587,6 +590,7 @@ (sys::subr-info object)) "C" (getf (get (get-doc-entity-symbol object) 'sys::doc) 'sys::file)))) + (when (consp old-file) (setq old-file (car old-file))) (unless (or custom:*suppress-check-redefinition* (equalp old-file cur-file) (and (pathnamep old-file) (pathnamep cur-file) @@ -605,8 +609,13 @@ (when what ; when not yet defined, `what' is NIL (warn (TEXT "~A: redefining ~A ~S in ~A, was defined in ~A") caller what object (or cur-file "top-level") - (or old-file "top-level"))) - (system::%set-documentation object 'sys::file cur-file)))))) + (or old-file "top-level")))) + (system::%set-documentation + object 'sys::file + ;; note that when CUR-FILE is "foo.fas", + ;; *current-source-line-[12]* point into "foo.lisp"! + (and cur-file (list cur-file *current-source-line-1* + *current-source-line-2*))))))) (sys::%putd 'sys::remove-old-definitions (function sys::remove-old-definitions (lambda (symbol &optional (preliminary nil)) ; ABI @@ -1578,7 +1587,18 @@ ;; therefore the "test" target (self-recompilation) will fail (defun eval-loaded-form-low (obj) (multiple-value-list - (cond ((compiled-function-p obj) (funcall obj)) + (cond ((compiled-function-p obj) + ;; assume that this is a top-level form compiled by COMPILE-FILE + ;; then its name starts with the source file line numbers -- + ;; extract them and put into *current-source-line-[12]* + (let ((name (and (closurep obj) (symbol-name (closure-name obj))))) + (multiple-value-bind (l1 pos) (parse-integer name :junk-allowed t) + (when l1 + (let ((l2 (parse-integer name :junk-allowed t :start pos))) + (when l2 + (setq *current-source-line-1* l1 + *current-source-line-2* l2)))))) + (funcall obj)) (*load-compiling* (funcall (compile-form-in-toplevel-environment obj))) (t (eval obj))))) @@ -1626,6 +1646,8 @@ (*load-truename* (if (pathnamep filename) (truename filename) nil)) (*current-source-file* *load-truename*) + (*current-source-line-1* nil) + (*current-source-line-2* nil) #+ffi (ffi::*foreign-language* ffi::*foreign-language*) (*package* *package*) ; bind *PACKAGE* (*readtable* *readtable*) ; bind *READTABLE* @@ -1650,7 +1672,10 @@ (unwind-protect (tagbody weiter (when *load-echo* (fresh-line)) + (peek-char t input-stream nil eof-indicator) + (setq *current-source-line-1* (line-number input-stream)) (let ((obj (read input-stream nil eof-indicator))) + (setq *current-source-line-2* (line-number input-stream)) (when (eql obj eof-indicator) (go done)) (case (setq obj (eval-loaded-form obj *load-truename*)) (skip (go weiter)) Index: compiler.lisp =================================================================== RCS file: /cvsroot/clisp/clisp/src/compiler.lisp,v retrieving revision 1.284 retrieving revision 1.285 diff -u -d -r1.284 -r1.285 --- compiler.lisp 26 Jun 2005 12:35:05 -0000 1.284 +++ compiler.lisp 5 Aug 2005 19:55:15 -0000 1.285 @@ -11198,7 +11198,7 @@ (*no-code* (and (null *fasoutput-stream*) (null listing-stream))) (*toplevel-for-value* t) - (eof-value "EOF") + (eof-value istream) (form-count 0)) (when verbose-out (fresh-line verbose-out) @@ -11236,14 +11236,19 @@ (peek-char t istream nil eof-value) (setq *compile-file-lineno1* (line-number istream)) (let* ((form (read istream nil eof-value)) - (form-name (make-symbol - (write-to-string - form :level 2 :length 3 :pretty nil)))) + (form-name (write-to-string + form :level 2 :length 3 :pretty nil))) (setq *compile-file-lineno2* (line-number istream)) (when (eql form eof-value) (return)) (when *compile-print* (format t "~&; ~A~." form-name)) - (compile-toplevel-form form - (symbol-suffix form-name (incf form-count))))) + (compile-toplevel-form + form (symbol-suffix + (make-symbol + (string-concat + (prin1-to-string *compile-file-lineno1*) " " + (prin1-to-string *compile-file-lineno2*) " " + form-name)) + (incf form-count))))) (finalize-coutput-file) (setq compilation-successful (zerop *error-count*)) (when verbose-out Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.4805 retrieving revision 1.4806 diff -u -d -r1.4805 -r1.4806 --- ChangeLog 5 Aug 2005 18:43:12 -0000 1.4805 +++ ChangeLog 5 Aug 2005 19:55:16 -0000 1.4806 @@ -1,5 +1,15 @@ 2005-08-05 Sam Steingold <sd...@gn...> + * compiler.lisp (compile-file): put source line number into the + name of the compiled top-level form + * init.lisp (*current-source-line-1*, *current-source-line-2*): added + (sys::check-redefinition): FILE doc is now (file start-line end-line) + (eval-loaded-form-low): set *CURRENT-SOURCE-LINE-[12]* from the + compiled top-level form + (load): bind and set *CURRENT-SOURCE-LINE-[12]* + +2005-08-05 Sam Steingold <sd...@gn...> + * macros3.lisp (compiled-file-p): implemented CLRFI-2 <http://clrfi.alu.org/clrfi/clrfi-2-compiled-file-p> --__--__-- _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest |