Subject: Garnet questions and problems

From: [email-masked] (Paolo Amoroso)
Date: Mon, 10 May 1999 16:30:01 GMT

I use CLISP 1999.01.08, built from source with the included NCLX module,
under Red Hat Linux 5.2. I have installed the Garnet 3.0 distribution for
CLISP available at CONS.ORG.

I have followed the directions provided in the Garnet documentation,
including the ones specific to CLISP. Of course I didn't need to rename the
source files. I have also set *WARN-ON-FLOATING-POINT-CONTAGION* to NIL
before compilation to avoid being flooded by warnings when later running
the demos.

I have found that in garnet-loader.lsp there is no CLISP specific value for
*DEFAULT-GARNET-PROCLAIM*. I guess this reflected the state of CLISP when
Garnet 3.0 was released several years ago. Are there optimization settings
worth considering with recent versions of CLISP such as the one I'm using?

As suggested by the documentation, I have dumped a Garnet image that I
start with an appropriate script. Do I still need to run the
garnet-after-compile script? Can I delete the Lisp sources and binaries
when they are non longer needed?

When I start the Garnet image, I get the following error:

[paolo@localhost paolo]$ garnet
  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 I I I I I      8         8           8     8        8    8  
  I I I I I I I      8         8           8      ooooo   8oooo   
  I  \ `+' /  I      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) Pierpaolo Bernardi, Sam Steingold 1998
                                                                  
*** Restarting Garnet 3.0 image created with opal:make-image ***
*** Image creation date: May 10, 1999, 3:17 PM ***

*** - FUNCALL: the function #:|(SETF
XLIB:DISPLAY-REPORT-ASYNCHRONOUS-ERRORS)| is undefined

As far as I can tell, that function is present in the XLIB package:

1. Break [7]> (apropos "DISPLAY-REPORT-ASYNCHRONOUS-ERRORS")

XLIB:DISPLAY-REPORT-ASYNCHRONOUS-ERRORS    function
XLIB::DISPLAY-REPORT-ASYNCHRONOUS-ERRORS-SETTER    function

It seems that the only reference to XLIB:DISPLAY-REPORT-ASYNCHRONOUS-ERRORS
is in src/opal/x.lsp:

[...]
;;; RETURNS:
;;; normally NIL; returns T if:
;;; - the property is :WIDTH or :HEIGHT and a new buffer is required
because
;;;   the old one was too small; or
;;; - the property is :VISIBLE and the window needs to be mapped.
;;;
(defun x-set-window-property (window property value)
  (case property
    (:BACKGROUND-COLOR
     ...)
    ;; ...
    (:REPORT-ASYNCHRONOUS-ERRORS
     (setf (xlib:display-report-asynchronous-errors
	    opal::*default-x-display*)
	   value))
    ;; ...
    (T
     (format t "Unknown property ~S in gem:x-set-window-property.~%"
	     property))))
[...]

After the above mentioned error, however, I am able to use Garnet
anyway--e.g. for loading the demos--by switching to the USER package and
evaluating the appropriate forms:

1. Break [7]> abort

[8]> *package*
#<PACKAGE USER-RENAMED-BY-GARNET>
[9]> (garnet-load "demos:demos-controller")

*** - EVAL: the function GARNET-LOAD is undefined
1. Break [10]> abort

[11]> (in-package :user)
#<PACKAGE COMMON-LISP-USER>
USER[12]> (garnet-load "demos:demos-controller")
Loading #P"/usr/local/lib/clisp/garnet/src/demos/demos-controller"
[...]

A few demos--e.g. angle, scrollbar and unidraw--still do not work, but this
is a minor problem. Do you have any suggestions for solving the problem
with the Garnet image and DISPLAY-REPORT-ASYNCHRONOUS-ERRORS?

Paolo
-- 
Paolo Amoroso <[email-masked]>