Subject: [clisp-list] 2.32 looms!

From: Sam Steingold <[email-masked]>
Date: Sun Dec 21 13:25:00 2003

Please get CVS HEAD and test it.
To get you salivating, here is the (incomplete) NEWS:

User visible changes
--------------------

* WRITE-BYTE-SEQUENCE now accepts :NO-HANG keyword argument.
  Thanks to Don Cohen <[email-masked]>.

* Support files larger than 2 GB or 4 GB on platforms with LFS
  (Large File Support).

* New module berkeley-db interfaces to
  <http://www.sleepycat.com/docs/api_c/dbt_class.html>
  and allows working the Berkeley DB databases.
  See <http://clisp.cons.org/impnotes.html#berkeley-db> for details.

* New module pcre interfaces to <http://www.pcre.org/> and
  makes Perl Compatible Regular Expressions available in CLISP.
  See <http://clisp.cons.org/impnotes.html#pcre> for details.

* Module syscalls now exports function POSIX:STAT-VFS.
  See <http://clisp.cons.org/impnotes.html#syscalls> for details.

* When the system C library provides a wildcard (fnmatch) implementation,
  it is used instead of the GNU wildcard distributed with CLISP
  when the CLISP wildcard module is built.

* Prompt is now fully customizable by the user.
  CUSTOM:*PROMPT* is replaced with 5 variables.
  See <http://clisp.cons.org/impnotes.html#prompt> for details.

* Readline is now used properly on Cygwin/X11.

* Command line interface: the initial verbosity level is controlled
  by the pair of mutually cancelling options -q/-v.
  See <http://clisp.cons.org/clisp.html#opt-verbose> for details.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Your mouse has moved - WinNT has to be restarted for this to take effect.

---

From: Douglas Philips <[email-masked]>
Date: Mon Dec 22 06:38:01 2003

> Please get CVS HEAD and test it.

As you wish!

Building on RedHat 8 and YellowDog 3, as of a few days ago, worked 
fine. Will repeat again in a day or so (hopefully less).

Unfortunately Panther/OS X is not so lucky. I have the latest software 
updates including the Xcode update. Just did a cvs update a few minutes 
before sending this. The make (--without-dynamic-ffi was the only 
switch to the configure command) produces this: ("The Fix" is described 
below).

./lisp.run -B . -Efile UTF-8 -Eterminal UTF-8 -norc -m 750KW -x "(and 
(load \"init.lisp\") (sys::%saveinitmem) (ext::exit))"
   i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
   I I I I I I I      8     8   8           8     8     o  8    8
   I  \ `+' /  I      8         8           8     8        8    8
    \  `-+-'  /       8         8           8      ooooo   8oooo
     `-__|__-'        8         8           8           8  8
         |            8     o   8           8     o     8  8
   ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2003

;; Loading file defseq.lisp ...
;; Loaded file defseq.lisp
;; Loading file backquote.lisp ...
;; Loaded file backquote.lisp
;; Loading file defmacro.lisp ...
;; Loaded file defmacro.lisp
;; Loading file macros1.lisp ...
;; Loaded file macros1.lisp
;; Loading file macros2.lisp ...
;; Loaded file macros2.lisp
;; Loading file defs1.lisp ...
;; Loaded file defs1.lisp
;; Loading file places.lisp ...
;; Loaded file places.lisp
;; Loading file floatprint.lisp ...
;; Loaded file floatprint.lisp
;; Loading file type.lisp ...
*** - UNIX error 2 (ENOENT): No such file or directory
Bye.
mv lispimag.mem interpreted.mem
mv: rename lispimag.mem to interpreted.mem: No such file or directory
make: *** [interpreted.mem] Error 1

"The Fix"
  diff type.lisp ../src
1351c1351
<   #-(and)(do-external-symbols (sym (find-package "CHARSET"))
---
 >   (do-external-symbols (sym (find-package "CHARSET"))

everything builds OK after that change, and the tests all pass.
I'm not sure how to proceed in debugging that. Hopefully will have time 
to look in more detail between Xmas and New Years.

I have not attempted to build any modules (on Pather). Will attempt all 
the modules on RedHat and YellowDog (sans dynamic-ffi) during the 
holidays too.

<D\'gou

---

From: Sam Steingold <[email-masked]>
Date: Mon Dec 22 08:00:01 2003

> * Douglas Philips <[email-masked]> [2003-12-22 09:37:53 -0500]:
>
thanks!

>  >   (do-external-symbols (sym (find-package "CHARSET"))

yuk, we have seen this before...
please try

  (do-external-symbols (sym (find-package "CHARSET"))
    (print sym)
    (make-encoding :charset (encoding-charset (symbol-value sym))))

to find out which symbol is the culprit.

then try the appended patch and see if it fixes the build

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Don't hit a man when he's down -- kick him; it's easier.

--- type.lisp.~1.49.~	2003-07-22 19:42:26.104255800 -0400
+++ type.lisp	2003-12-22 10:57:31.654212800 -0500
@@ -1342,7 +1342,10 @@
   (defun get-charset-range (charset &optional maxintervals)
     (or (gethash charset table)
         (setf (gethash charset table)
-              (charset-range (make-encoding :charset charset)
+              (charset-range (if (and (symbolp charset)
+                                      (encodingp (symbol-value charset)))
+                                 (symbol-value charset)
+                                 (make-encoding :charset charset))
                              (code-char 0) (code-char (1- char-code-limit))
                              maxintervals))))
   ;; Fill the cache, but cache only the results with small lists of intervals.

---

From: Douglas Philips <[email-masked]>
Date: Mon Dec 22 21:42:00 2003

> to find out which symbol is the culprit.

% ./lisp.run -B . -Efile UTF-8 -Eterminal UTF-8 -norc -m 750KW

WARNING: No initialization file specified.
Please try: ./lisp.run -M lispinit.mem

     (print sym)

*** - EVAL: undefined function DO-EXTERNAL-SYMBOLS
1. Break>

However, adding:
(defun cs-r (enc s e ivals)
         (print enc)
         (print s)
         (print e)
         (print ivals)
         (print "")
         (charset-range enc s e ivals))

;; and then changing the code to call cs-r (poor man's trace)

;; Loading file type.lisp ...
#<ENCODING "ISO-2022-KR" :UNIX>
#\Null
#\U0010FFFF
100
""
*** - UNIX error 2 (ENOENT): No such file or directory
Bye.

---

From: "John K. Hinsdale" <[email-masked]>
Date: Tue Dec 23 04:33:01 2003

> Please get CVS HEAD and test it.

Oracle and FastCGI modules look OK as do all my applications.

However my build w/ CVS fails during the test phase; it wants
"compiler.fas" and "stage/compiler.fas" to be the same, but instead
they differ as follows:

  4255c4255
  <       COMMON-LISP::TAGBODY (COMMON-LISP::PUSH) 21. #(#:G24724) :NAME
  ---
  >       COMMON-LISP::TAGBODY (COMMON-LISP::PUSH) 21. #(#:G5384) :NAME
  7661c7661
  <       #(#:G31129) :NAME COMMON-LISP::CONTINUE :INVOKE-FUNCTION
  ---
  >       #(#:G11513) :NAME COMMON-LISP::CONTINUE :INVOKE-FUNCTION
  7675c7675
  <       SYSTEM::ASSERT-ERROR-STRING 23. #(#:G31155)
  ---
  >       SYSTEM::ASSERT-ERROR-STRING 23. #(#:G11539)
  7685c7685
  <       #(#:G31181)
  ---
  >       #(#:G11565)
  7695c7695
  <       #(#:G31207)
  ---
  >       #(#:G11591)

Maybe some things got macro-ized and using gensyms now?
I built with:

./configure                                     \
       --with-readline                          \
       --with-dynamic-ffi                       \
       --with-dynamic-modules                   \
       --with-export-syscalls                   \
       --with-module=wildcard                   \
       --with-module=regexp                     \
       --with-module=bindings/glibc             \
       --with-module=oracle                     \
       --with-module=fastcgi                    \
       --with-module=syscalls                   \
       --build mysrc

---

From: Reini Urban <[email-masked]>
Date: Tue Dec 23 05:51:02 2003

>   See <http://clisp.cons.org/impnotes.html#pcre> for details.

When will the impnotes be updated?

=> "CLISP version 2.31"
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/

---

From: Sam Steingold <[email-masked]>
Date: Tue Dec 23 07:18:03 2003

> * Reini Urban <[email-masked]> [2003-12-23 14:50:21 +0100]:
>
> Sam Steingold schrieb:

when cons.org were operational, the impnotes rebuilt nightly were
available there.

> When will the impnotes be updated?

after the release is made

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
If You Want Breakfast In Bed, Sleep In the Kitchen.

---

From: Sam Steingold <[email-masked]>
Date: Tue Dec 23 07:18:05 2003

> * John K. Hinsdale <[email-masked]> [2003-12-23 07:32:33 -0500]:
>
>   4255c4255
should be fixed now.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
My inferiority complex is the only thing I can be proud of.

---

From: Sam Steingold <[email-masked]>
Date: Tue Dec 23 07:20:01 2003

> * Douglas Philips <[email-masked]> [2003-12-23 00:41:17 -0500]:
>

you said you managed to build CLISP by commenting out some stuff, right?
so use that image!

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
If you think big enough, you'll never have to do it.

---

From: Kaz Kylheku <[email-masked]>
Date: Sat Jan 3 14:48:34 2004

This reproduces with the Cygwin binaries from a Sourceforge mirror,
as well as with my own build from sources. I haven't tried other
platforms yet.

Save this program text in a .lisp file and compile it:

    (defstruct foo (slot))
    #s(foo :slot nil)

The result is surprising. CLISP goes into a loop, repeatedly dumping
the following diagnostic:

WARNING:
CLOS::MAKE-INIT-FORM[COMMON-LISP-USER::FOO][COMMON-LISP::SIMPLE-ERROR]:
CLOS::NO-APPLICABLE-METHOD: When calling
#1=#Y(CLOS::MAKE-LOAD-FORM
      #22Y(00 00 00 00 01 00 00 00 11 17 69 00 00 69 00 01 69 00 02 9C 02 03)
      (COMMON-LISP::T . COMMON-LISP::T)
      #(CLOS::NO-METHOD-CALLER CLOS::NO-APPLICABLE-METHOD #1#)
      #(1. 1. COMMON-LISP::NIL COMMON-LISP::NIL COMMON-LISP::NIL
        COMMON-LISP::NIL)
      (0.) COMMON-LISP::NIL) with arguments

---

From: Sam Steingold <[email-masked]>
Date: Thu Jan 8 09:43:01 2004

this is not fixed in the CVS
-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
When we write programs that "learn", it turns out we do and they don't.

---

From: Kaz Kylheku <[email-masked]>
Date: Thu Jan 8 09:54:02 2004

> this is not fixed in the CVS

I understand. In my case, its caused by broken code so the fix would only
give me a nicer diagnostic. I fixed my broken code so it does not trigger
the behavior. Since I don't feel like specializing a method for the sake
of a single occurence of #S in a module, I replaced the #S literal with
a moral equivalent:

  (load-time-value (make-foo ...)) 

I wasn't previously aware of this language requirement that the
programmer must help the compiler externalize simple structs!

---

From: Sam Steingold <[email-masked]>
Date: Thu Jan 8 09:59:01 2004

> * Kaz Kylheku <[email-masked]> [2004-01-08 09:53:34 -0800]:
>
typo: "not" should have been "now".

I meant to say that I just committed a fix.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Daddy, why doesn't this magnet pick up this floppy disk?