summaryrefslogtreecommitdiff
path: root/src/xselect.c
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1994-11-16 01:26:39 +0000
committerKarl Heuer <kwzh@gnu.org>1994-11-16 01:26:39 +0000
commit3f124f484d9fcdad7222de9b0951778a712e375b (patch)
treefac17d41d159b769c0b1328272583d232bb3373e /src/xselect.c
parent1704906628cc7f8a611e11a38a7b556b7f31488c (diff)
downloademacs-3f124f484d9fcdad7222de9b0951778a712e375b.tar.gz
(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.c8
1 files 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);