summaryrefslogtreecommitdiff
path: root/src/intervals.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/intervals.c')
-rw-r--r--src/intervals.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/intervals.c b/src/intervals.c
index 8bbab5a2a28..086db4db6bd 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -2196,36 +2196,38 @@ set_point_both (buffer, charpos, bytepos)
Lisp_Object leave_after, leave_before, enter_after, enter_before;
if (fromprev)
- leave_after = textget (fromprev->plist, Qpoint_left);
+ leave_before = textget (fromprev->plist, Qpoint_left);
else
- leave_after = Qnil;
+ leave_before = Qnil;
+
if (from)
- leave_before = textget (from->plist, Qpoint_left);
+ leave_after = textget (from->plist, Qpoint_left);
else
- leave_before = Qnil;
+ leave_after = Qnil;
if (toprev)
- enter_after = textget (toprev->plist, Qpoint_entered);
+ enter_before = textget (toprev->plist, Qpoint_entered);
else
- enter_after = Qnil;
+ enter_before = Qnil;
+
if (to)
- enter_before = textget (to->plist, Qpoint_entered);
+ enter_after = textget (to->plist, Qpoint_entered);
else
- enter_before = Qnil;
+ enter_after = Qnil;
if (! EQ (leave_before, enter_before) && !NILP (leave_before))
- call2 (leave_before, make_number (old_position),
- make_number (charpos));
+ call2 (leave_before, make_number (old_position),
+ make_number (charpos));
if (! EQ (leave_after, enter_after) && !NILP (leave_after))
- call2 (leave_after, make_number (old_position),
- make_number (charpos));
+ call2 (leave_after, make_number (old_position),
+ make_number (charpos));
if (! EQ (enter_before, leave_before) && !NILP (enter_before))
- call2 (enter_before, make_number (old_position),
- make_number (charpos));
+ call2 (enter_before, make_number (old_position),
+ make_number (charpos));
if (! EQ (enter_after, leave_after) && !NILP (enter_after))
- call2 (enter_after, make_number (old_position),
- make_number (charpos));
+ call2 (enter_after, make_number (old_position),
+ make_number (charpos));
}
}