From xemacs-m  Thu Feb  6 10:53:41 1997
Received: from martigny.ai.mit.edu (martigny.ai.mit.edu [18.43.0.152])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id KAA18672
	for <xemacs-beta@xemacs.org>; Thu, 6 Feb 1997 10:53:41 -0600 (CST)
Received: from berne.ai.mit.edu by martigny.ai.mit.edu with SMTP
	(1.40.112.8/16.2) id AA268448013; Thu, 6 Feb 1997 11:53:33 -0500
From: Bill Dubuque <wgd@martigny.ai.mit.edu>
Message-Id: <199702061653.AA268448013@martigny.ai.mit.edu>
Received: by berne.ai.mit.edu
	(1.40.112.8/16.2) id AA264638003; Thu, 6 Feb 1997 11:53:23 -0500
Date: Thu, 6 Feb 1997 11:53:23 -0500
To: wmperry@aventail.com
Cc: steve@miranova.com, xemacs-beta@xemacs.org, raman@Adobe.COM
In-Reply-To: <199702061524.HAA22475@newman> (wmperry@aventail.com)
Subject: Re: Hashtable + CL lossage

: Date: Thu, 6 Feb 1997 07:24:24 -0800
: From: "William M. Perry" <wmperry@aventail.com>
: 
: Steven L. Baur writes:
: >
: >The bytecompiler code that checks variables declared with the cl declare
: >macro is broken.  This patch is against 20.0, but will apply to 19.15 and
: >19.14.
: 
:  That patch does get rid of the compiler error, but still doesn't really
: do what it is supposed to.  If I'm not mistaken:
: 
: (require 'cl)
: ;; (defvar table (make-hash-table))
: 
: (defun define-table-entry (key value)
:  (declare (special table))
:  (setf (gethash key table) value))
: (define-table-entry 'a "foo")
: 
: Should not give _any_ warnings about the variable 'table', since it is
: declared special.  But: ...

I suspect what is going on is that CL-DO-PROCLAIM (in CL-MACS) is
pushing onto byte-compile-bound-variables assuming that it is a
lists of symbols (as in FSF) but in XEmacs it is actually an
alist of (var . bits). Thus Steven's patch should be removed,
and instead CL-DO-PROCLAIM should push (CONS VAR 0) for each 
var it pushes (actually, it probably wants to establish the
correct global/nonglobal bits etc. but I don't know if CL and
the bytecompiler are interfaced well enough to determine this).

Caveat: above analysis was based on FSF 19.34 CL-MACS and
XEmacs 19.10 bytecompiler, so may not be totally accurate.
Is there an easy way to access a single file in the XEmacs dist?

-Bill

