From c4898489b1ab455617dca28494377a7501a153d1 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Wed, 16 Nov 1994 01:26:39 +0000 Subject: [PATCH] (wait_for_property_change): Encode location as a cons of two integers instead of lying about the type. (wait_for_property_change_unwind): Decode it likewise. --- src/xselect.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/xselect.c b/src/xselect.c index c02d70c35d8..90ccdbbfde4 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -887,7 +887,9 @@ static Lisp_Object wait_for_property_change_unwind (identifierval) Lisp_Object identifierval; { - unexpect_property_change (XPNTR (identifierval)); + unexpect_property_change ((struct prop_location *) + (XFASTINT (XCONS (identifierval)->car) << 16 + | XFASTINT (XCONS (identifierval)->cdr))); } /* Actually wait for a property change. @@ -901,7 +903,9 @@ wait_for_property_change (location) int count = specpdl_ptr - specpdl; Lisp_Object tem; - XSETCONS (tem, location); + tem = Fcons (Qnil, Qnil); + XSETFASTINT (XCONS (tem)->car, (EMACS_UINT)location >> 16); + XSETFASTINT (XCONS (tem)->cdr, (EMACS_UINT)location & 0xffff); /* Make sure to do unexpect_property_change if we quit or err. */ record_unwind_protect (wait_for_property_change_unwind, tem); -- 2.39.5