CLIM mail archive


CLIM 2.0, pane names

Environment: CLIM 2.0, Beta, Franz Allegro 4.2.beta.0, Sparc 2.

Hello.  I have just received a beta version of CLIM 2.0.  I am making
my application run under 2.0.  I am using as documentation the "Common
Lisp Interface Manager Release 2.0 Specification" of May 6, 1992.

I can't find anything in this documentation that says that pane names
(symbols) in the :PANES argument to DEFINE-APPLICATION-FRAME shouldn't
be symbols in the COMMON-LISP package.  The messages my compiler is
emitting seem to indicate this, though.  The following bit of code
causes a warning that the code is non-portable because it used the
symbol CL:TRACE (inherited) as a pane name.  It appears that pane
names are being turned into symbol-macros via SYMBOL-MACROLET and it's
wrong for portable code to make symbol-macro definitions with the same
name as CL base symbols.

Is it the intent for users to have to carefully cull out lots of
EXPORT, FUNCTION, CONSTANTLY :-) as pane names because of this
conflict> If so, I guess the documentation should make this explicit.

Or is it the case that the compiler is overly anxious here (since it
would be hard for a symbol-macro to interfere with any of the
semantics of these symbols)?

For now I'm avoiding these symbols and languishing in the world of

;; --------------- code fragment starts here ---------------

;;; -*- Mode:Lisp; Syntax:Common-Lisp; Package:CLIM-USER; Base:10 -*-

(in-package :clim-user)

(define-application-frame test-frame (application-frame)
    (trace :application)
	(:vertically ()

;; --------------- replay of warning message ---------------

Warning: Compiling a SYMBOL-MACROLET definition for the name TRACE.
This name is in the COMMON-LISP package and defining it will be a
violation for portable programs.  The package COMMON-LISP has
EXCL:PACKAGE-DEFINITION-LOCK set, which causes the system to check for
this violation. 



Main Index | Thread Index