# HG changeset patch # User Karl Heuer # Date 784949199 0 # Node ID d7735c829d7361f6184050100abe84aafb2e4d3d # Parent c942c7e6ebbd8700b1c72f8f88067128bcdc5bca (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. diff -r c942c7e6ebbd -r d7735c829d73 src/xselect.c --- a/src/xselect.c Wed Nov 16 01:14:23 1994 +0000 +++ b/src/xselect.c Wed Nov 16 01:26:39 1994 +0000 @@ -887,7 +887,9 @@ 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 @@ 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);