From xemacs-m  Wed May 14 12:21:38 1997
Received: from mailbox1.ucsd.edu (mailbox1.ucsd.edu [132.239.1.53])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id MAA10950
	for <xemacs-beta@xemacs.org>; Wed, 14 May 1997 12:21:36 -0500 (CDT)
Received: from sdnp5.ucsd.edu (sdnp5.ucsd.edu [132.239.79.10]) by mailbox1.ucsd.edu (8.8.5/8.6.9) with SMTP id KAA23764 for <xemacs-beta@xemacs.org>; Wed, 14 May 1997 10:21:36 -0700 (PDT)
Received: by sdnp5.ucsd.edu (SMI-8.6/SMI-SVR4)
	id KAA22806; Wed, 14 May 1997 10:22:28 -0700
To: xemacs-beta@xemacs.org
Subject: Re: Byte-compiler warning
References: <kig3errdp5u.fsf@jagor.srce.hr> <86u3k76no7.fsf@kramer.in.aventail.com> <kigzptzc9p2.fsf@jagor.srce.hr> <rjg1vqctca.fsf@zuse.dina.kvl.dk> <kigzptybea9.fsf@jagor.srce.hr>
X-Face: "oX;zS#-JU$-,WKSzG.1gGE]x^cIg!hW.dq>.f6pzS^A+(k!T|M:}5{_%>Io<>L&{hO7W4cicOQ|>/lZ1G(m%7iaCf,6Qgk0%%Bz7b2-W3jd0m_UG\Y;?]}4s0O-U)uox>P3JN)9cm]O\@,vy2e{`3pb!"pqmRy3peB90*2L
Mail-Copies-To: never
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
From: David Moore <dmoore@ucsd.edu>
Date: 14 May 1997 10:22:28 -0700
In-Reply-To: Hrvoje Niksic's message of 14 May 1997 11:20:46 +0200
Message-ID: <rvlo5iq88b.fsf@sdnp5.ucsd.edu>
Lines: 23
X-Mailer: Gnus v5.4.45/XEmacs 20.1

Hrvoje Niksic <hniksic@srce.hr> writes:

> 1) modify bytecomp.el to not generate such warnings;
> 
> 2) "fix" bytecomp.el so that it generates the warnings for all symbols
>    but keywords;
> 
> 3) modify cl.el not to emit variable references to keywords.
> 
> #3 would be the desired solution, if it weren't for byte-code
> #compatibility.  Would it be worth the trouble to go for #2?

I don't like either 1 or 2.  #3 is the best choice.  What about:

#+emacs (setq :keyword ':keyword)

Or if you want compatibility w/o the #+/#- goop, just emit a check in an
if.  The check only comes at defstruct time so it isn't expensive.

Although I guess you still get the warning in this case, unless you're
tricky about it.  I'd make a `make-keyword' function, which you call to
do the setting (defun make-keyword (a) (if running-emacs (set a a))) or
somesuch, and you won't get the warning if you use (make-keyword ':foo).

