Chun Tian (binghe | 17 Jul 07:52
Picon

fixes for CMU User's Manual

Hi, CMUCL / rtoy

Recently I tried UDP networking in CMUCL then found some mistakes in  
CMU User's Manual:

1. Three functions INET-SENDTO, INET-RECVFROM, INET-SHUTDOWN is not  
external symbol of UNIX package but EXTENSIONS.

2. INET-SENDTO should have a ADDR argument.

3. INET-RECVFROM maybe need more document, or I don't know how to get  
receive data from a socket.

Attach is my change to internet.tex, please review it.

Regards,

Chun Tian (binghe)

Attachment (cmu-user.diff): application/octet-stream, 1101 bytes

Raymond Toy (RT/EUS | 27 Jun 18:23
Picon
Favicon

Snapshot 2008-07 tagged


The July snapshots have been tagged.  Binaries will be uploaded soon.

Ray

Raymond Toy (RT/EUS | 26 Jun 22:16
Picon
Favicon

CLX bug?


Using the latest snapshot, I get the following problem.  I don't know
anything about X so I don't know if this is a problem with the code,
with CLX, with our telent CLX version, with Solaris X11, or what.

Ray

* (require :clx)
* (let* ((dpy (xlib:open-default-display))
       (win (xlib:create-window
             :parent (xlib:screen-root (first (xlib:display-roots dpy)))
             :x 0 :y 0 :width 50 :height 50))
       (pm (xlib:create-pixmap :width (random 100) :height (random 100)
                               :depth 8 :drawable win)))
  (setf (xlib:wm-hints win)
        (xlib:make-wm-hints :icon-pixmap pm))
  (xlib:display-finish-output dpy)
  (xlib:wm-hints-icon-pixmap (xlib:wm-hints win)))

Asynchronous VALUE-ERROR in request 8 (last request was 10)  Code 53.0 [CreatePixmap] Value 8.
   [Condition of type XLIB:VALUE-ERROR]

Restarts:
  0: [CONTINUE] Ignore
  1: [ABORT   ] Return to Top-Level.

Debug  (type H for help)

(XLIB::READ-ERROR-INPUT
 #<XLIB:DISPLAY brtps071:0 (Sun Microsystems, Inc. R6410)>
(Continue reading)

Raymond Toy (RT/EUS | 24 Jun 19:33
Picon
Favicon

Incompatible change to RANDOM


Just a heads-up.

I've checked in an enhancement to RANDOM that makes random much faster
for numbers between 1 and 2^32 and also gets rid of the small bias in
RANDOM.[1]

This change is incompatible with previous releases since the sequence
of random integers from the same starting state will be different from
before.

Ray

Footnotes: 
[1]  RANDOM was computing random integers using (rem <random 32-bit
     int> val).  This has a small bias in it.

Madhu | 19 Jun 20:00
Favicon

Re: inherited slot types (cmucl)

	[cc attempted to cmucl-imp]
* Evan Monroig <87bq1zy3nv.fsf <at> obakechan.net> :
Wrote on Wed, 18 Jun 2008 09:42:28 +0900:

| Hi all,
|
| I am writing some matrix/vector classes and functions [1], and have a
| class hierarchy as follows:

[SNIP]

|
| Error in function PCL::INTERNAL-ERROR:
|    Internal error: PCL::SPECIALIZER-APPLICABLE-USING-TYPE-P
|    cannot handle the second argument
|    (OR (CLASS #<STANDARD-CLASS VECTOR-LIKE {58827525}>)
|    (CLASS #<STANDARD-CLASS SIMPLE-MATRIX {587E647D}>)).
|
| But it is ok if I change the definition by explicitly writing the full
| AND type.

I just took a quick initial look at this:

This seems to be SBCL BUG 391 which was fixed in sbcl-0.9.7.1
(2005-11-29 by Christophe Rhodes)

,----
-  Typed slots with moderately difficult types, combined with
-  subclassing, cause the computation of effective-slot-definitions to
-  go awry.
(Continue reading)

Paul Foley | 16 Jun 07:11
X-Face
Picon
Favicon

DIRECTORY bugfix

Calling DIRECTORY fails where there are broken symlinks in the
directory.

-- 
Tact is the ability to tell a man he has an open mind when he has a
hole in his head.

(setq reply-to
  (concatenate 'string "Paul Foley " "<mycroft" '(#\@) "actrix.gen.nz>"))
Index: code/filesys.lisp
===================================================================
RCS file: /project/cmucl/cvsroot/src/code/filesys.lisp,v
retrieving revision 1.104
diff -u -r1.104 filesys.lisp
--- code/filesys.lisp	10 Sep 2007 16:25:00 -0000	1.104
+++ code/filesys.lisp	16 Jun 2008 05:06:35 -0000
@@ -1099,7 +1099,9 @@
 					   :directory))
 				  (concatenate 'string name "/")
 				  name)))
-		    (if truenamep (truename name) (pathname name))))
+		    (if truenamep
+			(handler-case (truename name) (error () (pathname name)))
+			(pathname name))))
 	      (sort (delete-duplicates results :test #'string=) #'string<)))))

 
(Continue reading)

Paul Foley | 11 Jun 14:16
X-Face
Picon
Favicon

Compiler bug (?)

Attempting to compile the following function generates an error

  Error in function LISP::ASSERT-ERROR:
    The assertion (NULL (KERNEL:ARGS-TYPE-REQUIRED C::ATYPE)) failed.
    [Condition of type SIMPLE-ERROR]

[It doesn't /do/ anything; it's part of a much larger function
generated by a series of macros - I've stripped it down to apparently
the minimum necessary to trigger the problem; remove anything more,
including unused code branches, etc., and it compiles fine]

(defun compiler-bug ()
  (MULTIPLE-VALUE-BIND (A B)
      (the (values (or (unsigned-byte 32) null) fixnum)
        (MULTIPLE-VALUE-BIND (C D)
            (values 109 1)
          (LET ((E '(1 2)))
            (LOOP
              (UNLESS (CDDR E) (RETURN (VALUES 2 1)))
              (MULTIPLE-VALUE-BIND (F G)
                  (values nil 1)
                (IF (NULL F)
                    (RETURN (VALUES (CADR E) 1))
                    (LET ((H nil))
                      (IF t
                          nil
                          (SETQ E H)))))))))
    A))

--

-- 
(Continue reading)

Lynn Quam | 3 Jun 22:30
Favicon

DIRECTORY calling DELETE-DUPLICATES is slow

I waited about 20 minutes for DIRECTORY to finish getting the
pathnames of a large directory containing about 27000 files.  The
problem is that DIRECTORY calls DELETE-DUPLICATES which is implemented
using an order n-squared algorithm!  For large sequences, the use of a
hash-table would make sense, but would cause consing.

I better change would be to the DIRECTORY function itself.  Note that
the result of DELETE-DUPLICATES is passed to SORT.  If the list were
sorted first, then it is easy (order n) to remove duplicates.

A.M.Raportirenko | 1 Jun 10:04
Picon

rename-file Invalid argument


This is because unix:unix-resolve-links from unix-glibc2.lisp appends trailing
/ to the directory pathname. What reason in this?

root <at> sunct1 tmp # lisp
CMU Common Lisp 2008-04-02+ (sunct1) (19E), running on sunct1
With core: /opt/local/lib/cmucl/lib/lisp.core
Dumped on: Thu, 2008-04-03 10:12:05+04:00 on sunct1
Send questions and bug reports to your local CMUCL maintainer, 
or see <http://www.cons.org/cmucl/support.html>.
Loaded subsystems:
    Python 1.1, target Intel x86
    CLOS based on Gerd's PCL 2004/04/14 03:32:47
* (unix:unix-file-kind "file.aaa")

:FILE
* (rename-file "file.aaa" "file.bbb")

#P"/opt/tmp/file.bbb"
#P"/opt/tmp/file.aaa"
#P"/opt/tmp/file.bbb"
* (unix:unix-file-kind "directory.aaa")

:DIRECTORY
* (rename-file "directory.aaa" "directory.bbb")

File-error in function RENAME-FILE:
   Failed to rename /opt/tmp/directory.aaa/ 
to /opt/tmp/directory.aaa/directory.bbb: Invalid argument
   [Condition of type KERNEL:SIMPLE-FILE-ERROR]
(Continue reading)

Raymond Toy | 31 May 18:25
Picon

Cleaning up disk space on cl.net

Due to a shortage of disk space on common-lisp.net, I have removed many 
of the old binaries from the binaries and experimental directories.

I've also removed all snapshots up to 2005.

But not to worry.  I have been making archives of the cmucl repository, 
so I have all of these saved away on disk and on DVD.  When more disk 
space is made available again, I will upload all old snapshots again.  I 
will probably not restore the old files to the binaries or experimental 
directory.

Ray

Alex Goncharov | 30 May 00:22
Picon
Favicon

Re: Small core broken?

,--- You/Rob (Thu, 29 May 2008 12:52:44 -0400) ----*
|
| If someone is interested in debugging the byte compiler, the first
| thing

If somebody with meaningful knowledge (that is, larger than mine)
thinks it's a worthy thing to look into the problem and can provide
some guidance, I can continue experimenting on my system.

The error is still "alive" here, and here is what "backtrace" shows:

----------------------------------------
; Compiling Top-Level Form: 

; target:code/hash-new.x86f written.
; Compilation finished in 0:00:00.

Error in function "<error finding name>":  Segmentation Violation at #x47FD7B7C.
   [Condition of type SIMPLE-ERROR]

Restarts:
  0: [CONTINUE] Return NIL from load of "target:tools/worldcom".
  1: [ABORT   ] Return to Top-Level.

Debug  (type H for help)

(C::DO-CALL #<Code Object "DEFUN PRINT-FRAME-CALL-1" {101A65D7}> 24 231 216
 301948867 ("Tag for DEFUN PRINT-FRAME-CALL-1"))
Source: 
; File: target:code/byte-interp.lisp
(Continue reading)


Gmane