diff options
author | Karl Heuer <[email protected]> | 1994-11-16 01:26:39 +0000 |
---|---|---|
committer | Karl Heuer <[email protected]> | 1994-11-16 01:26:39 +0000 |
commit | c4898489b1ab455617dca28494377a7501a153d1 (patch) | |
tree | 585b858648b8f3960d94305a235d97fdd1bb08d0 /src/xselect.c | |
parent | 0598f773848cf8b07f6b8ead258302fa3c2c4678 (diff) |
(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.
Diffstat (limited to 'src/xselect.c')
-rw-r--r-- | src/xselect.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/xselect.c b/src/xselect.c index c02d70c35d..90ccdbbfde 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); |