[CM] Arno in Grace?

Ralf Mattes rm at mh-freiburg.de
Sat Jan 14 12:47:31 PST 2012

On Sat, 14 Jan 2012 00:39:46 +0100, Dr. des. Alan Fabian wrote:

> Hi Ralf,

Hi, sorry to reply so late ....
>> it: are you a vi user that looked at the file with vi and did you
>> happen to press the colon key while accidentally being in insert mode
>> ...? Otherwise - have a look at that file - it should start with
>> comment section with the copyright notice.
> No, I am not a vi user but indeed there was an empty line in the comment
> block at the beginning. Now I get the following: "
> READ failure in COMPILE-FILE:
>    SB-INT:SIMPLE-READER-PACKAGE-ERROR at 4319 (line 115, column 48) on
> #<SB-SYS:FD-STREAM for "file /usr/local/lisp/cm2/cm.asd" {B95A099}>:
>      Symbol "UNIX-FILE-KIND" not found in the SB-UNIX package.
>     [Condition of type SB-C::INPUT-ERROR-IN-COMPILE-FILE]
> "

This looks much better - it's just that your sbcl is too new ;-)
Somehow I totally forgot that I've a local patch for cm.asd :
ralf at mhflaptop01:/LISP/cm2$ svn diff cm.asd
Index: cm.asd
--- cm.asd	(revision 1981)
+++ cm.asd	(working copy)
@@ -1,5 +1,5 @@
 ;;; **********************************************************************
-;;; Copyright (C) 2005 Heinrich Taube, <taube (at) uiuc (dot) edu>
+;;; Copyright (C) 2005, 2011 Heinrich Taube, <taube (at) uiuc (dot) edu>
 ;;; This program is free software; you can redistribute it and/or
 ;;; modify it under the terms of the Lisp Lesser Gnu Public License.
@@ -113,7 +113,9 @@
   #+cmu (eq :directory (unix:unix-file-kind (namestring dir)))
   #+ecl (eq ':directory (si::file-kind (pathname dir) nil))
   #+lispworks (lw:file-directory-p dir)
-  #+sbcl (eq :directory (sb-unix:unix-file-kind (namestring dir)))
+  #+sbcl (eq :directory (funcall (or (find-symbol "NATIVE-FILE-KIND" :sb-impl)
+                                     (find-symbol "UNIX-FILE-KIND" :sb-unix))
+                                 (namestring dir)))
   #-(or allegro clisp cmu lispworks sbcl ecl)
   (probe-file (make-pathname :directory dir)))

Apply this patch and everything should work. 
BTW, cm.asd is pretty problematic - asdf files should be declarative and just describe the 
components of a system (at least in asdf version 2). Just loading the file will pollute cm-user, which
is bad since cm.asd might be loaded by asdf in situations where a user wouldn't expect. I think it would be
nice for cm2 to be quicklisp installable, but it might be a good idea to clean up cm.asd (or maybe provide
a cm2.asd ...)

 Cheers, Ralf Mattes

More information about the Cmdist mailing list