On 02/29/2016 03:03 PM, Philipp Stephani wrote:
> Is it a strict requirement that emacs_value be a pointer? If not,
> couldn't we simply define it as int64 and assume that that will be=
large
> enough to hold a Lisp_Object for the foreseeable future? Or do we expe=
ct
> Lisp_Object to ever grow beyond 64 bits?
I don't like giving users raw Lisp_Objects.
But we are already doing that in most cases (64-bit pointers and Lisp=
_Objects): the pointer is not a real pointer, just a Lisp_Object cast to a =
pointer type.
=C2=A0
I really=
don't like making
32-bit callers cope with 64-bit values.
It&=
#39;s been a while since I did 32-bit programming, but what issues could ar=
ise? We're not doing any arithmetic or other processing on the values, =
just passing them around.
=C2=A0
If emacs_value is a pointer, we
have complete freedom with respect to runtime behavior. Putting a
Lisp_Object directly in an emacs_value is a false economy.
=
As said above, we're already doing that.=C2=A0