[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: porting scigraph to other platforms
- To: firstname.lastname@example.org, Sheldon S. Ball <email@example.com>, CLIM Bulletin Board <firstname.lastname@example.org>
- Subject: Re: porting scigraph to other platforms
- From: "Keunen Vincent" <email@example.com>
- Date: Thu, 19 Aug 1993 09:52:57 +0100
At 13:48 18/08/93 -0500, Kalman Reti wrote :
>At 11:17 8/18/93 -0500, Sheldon S. Ball wrote:
>>The next obstacle I have encountered in loading scigraph is in the file
>>dwim:tv.lisp. The code below presents a problem. I am using clim-1.1 &
>>;;;************** Code from tv.lisp ***********
>> (((and :clim-1.0 :genera) '(:sheet :screen (tv:console-default-superior)))
>> ((and :clim-1.0 :xlib (not :genera)) '(:clx))
>> (:clim-0.9 '(:clx))
>> (:clim-2 '(:motif))
>> ((not :clim) nil)))
>>;;;*************** End code from tv.lisp **********
>>Any suggestions would be appreciated.
>Well, #F isn't a defined dispatching macro character in Common Lisp. Either
>this code is
>relying on some non-Common-Lisp feature of one or more Lisp implementations,
>or it defines
>this dispatching macro somewhere in itself but through some bug, it isn't
>enabled in your
>MCL environment at the time you try to load this file.
>You only have two options: 1) find source code for the #F reader macro and
>#FEATURE-CASE implementation and get it working or 2) recode the above as
>clauses each with their own #- and #+ clauses.
Kalman is right about that. To go further: once you have modified
#FEATURE-CASE to use #+ and #-, you could use the code below to determine
how to open a clim root window on different platforms (which seems to be
what the *default-server-path* variable will be used for).
(this code can be downloaded from the clim library at cambridge.apple.com.
It is named "/pub/clim/clim-1/portable-make-root-window.lisp")
;;; -*- Mode: LISP; Syntax: Common-lisp; Package: CLIM-USER; Base: 10 -*-
;;;This code is a compilation of ideas and code from (at least) Oliver Christ
;;;<firstname.lastname@example.org>, Meir Laker <email@example.com>, Koenraad
;;;de Smedt <firstname.lastname@example.org>, John Aspinall <email@example.com>,
;;;<firstname.lastname@example.org> and myself.
;;;It creates a root window on quite a number of clim platforms and stores it
;;;in the *portable-root-window* variable. It is CLIM 1.1.
;;;Send bugs, improvements and comments to <email@example.com>
;;;Keunen Vincent Network Research Belgium
;;;R&D, Software Engineer Parc Industriel des Hauts-Sarts
;;;tel 32 41 407282 2e Avenue, 65
;;;fax 32 41 481170 BE-4040 Herstal, Belgium
;;;<firstname.lastname@example.org> or <email@example.com>
(defvar *portable-root-window* nil)
(defun make-root-window ()
"Stores a root window in *portable-root-window* (unless there is one already)
and returns it."
(unless (and (boundp '*portable-root-window*) *portable-root-window*)
:host (lcl:environment-variable "DISPLAY"))
:host (system:getenv "DISPLAY"))
:host (sys::getenv "DISPLAY"))
#+MCL (open-root-window :mcl)
#+Genera (when (equal "Symbolics Common Lisp"
#+Cloe (when (equal "Symbolics Cloe"
;;Please contact firstname.lastname@example.org if you modify
;;this source code, for instance if you add new platforms support.
(or (and (boundp '*portable-root-window*) *portable-root-window*)
(error "~2&Unknown CLIM/LISP combination. Couldn't establish a root
R&D, Software Engineer
tel: +32 41 407282
fax: +32 41 481170