From: travt@cs.curtin.edu.au (Tony Travers)
Subject: Re: help with CLX needed
Keywords: CLX %svref Lucid
Organization: Curtin University of Technology
Date: Sat, 12 Dec 1992 05:49:12 GMT


Reciently in comp.lang.lisp I wrote:

>hi


>	I have been having some problems with CLX on Lucid Common Lisp
>3.0.  After installing PCL, the dependent.lisp file errors when compiling.

>	The error revolves around %svref-8bit...which is first used to get a
>value but when the command (setf (lucid::%svref-8bit a i) v) is used, the
>compiler says that %svref-8bit is not a valid value for setf.

>	I hope someone can help me with this.

>				Many Thanks

>					Tony Travers
>					travt@marsh.cs.curtin.edu.au




	I have further information about my problem it has something to
do with the aref setup for lucid....

The following was mentioned in the CHANGES file for CLX

o In Lucid lisp, the functions aref-card8, aref-int8, aset-card8,
	aset-int8, aref-card16, aref-int16, aref-card32, aref-int32,
	 aref-card29, aset-card16, aset-int16, aset-card32, aset-int32,
	 and aset-card29 Have been fixed so that they can be used inline 
	with the development compiler.
 
**but in the dependents.lisp file there is the following:


(declaim (inline aref-card8 aset-card8 aref-int8 aset-int8))
 
#-(or Genera lcl3.0 excl akcl)
(progn
 
(defun aref-card8 (a i)
  (declare (type buffer-bytes a)
           (type array-index i))
  (declare (values card8))
  #.(declare-buffun)
  (the card8 (aref a i))) 
.
.
.
 
**then later


#+lcl3.0
(progn
 
(defun aref-card8 (a i)
  (declare (type buffer-bytes a)
           (type array-index i)
           (values card8))
  #.(declare-buffun)
  (the card8 (lucid::%svref-8bit a i))) 

(defun aset-card8 (v a i)
  (declare (type card8 v)
           (type buffer-bytes a)
           (type array-index i))
  #.(declare-buffun)
  (setf (lucid::%svref-8bit a i) v))

.
.
.
 

**but when I try to compile it I get:

;;; You are using the compiler in development mode (compilation-speed = 3)
;;; Generation of runtime error checking code is disabled (safety = 0)
;;; Optimization of tail calls is enabled (speed = 3)
;;; Reading source file "dependent.lisp"
>>Error: LUCID::%SVREF-8BIT is not a known location specifier for SETF.
 
GET-SETF-METHOD-MULTIPLE-VALUE:
   Required arg 0 (FORM): (LUCID::%SVREF-8BIT A I)
   Optional arg 1 (ENVIRONMENT): ((2 #S(VARIABLE NAME ASET-CARD8
IDENTIFIER NIL SOURCE-TYPE 2 NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL...)) (0 #S(VARIABLE NAME V IDENTIFIER NIL SOURCE-TYPE 0 NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL...) #S(VARIABLE NAME
A IDENTIFIER NIL SOURCE-TYPE 0 NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL
NIL NIL NIL NIL...) #S(VARIABLE NAME I IDENTIFIER NIL SOURCE-TYPE 0 NIL
NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL...)) (9))
    0: Retry compiling file
#P"/usr/big_disk/research_students/travt/ftpstuff/pcl/clx/dependent.lisp".


***Also note I had this working until reciently, though I am not sure why
it stopped working, we had  

"The X11R5 binaries and libraries have been updated after patch #17
(previously, we were only at patch #12)"
 
	at the same time though I cannot see how this would be causing
the error!!!!!!


	If anyone can help, or are able to tell me who wrote CLX (there is
no note in the documentation),  it be very much appreciated....

				Thanks Tony Travers
					travt@marsh.cs.curtin.edu.au




Xref: sparky comp.lang.lisp:3058 news.answers:4506