aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog8
-rw-r--r--src/editfns.c4
-rw-r--r--src/intervals.c34
3 files changed, 30 insertions, 16 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 14a172d0b37..066cd655696 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12006-05-12 Chong Yidong <cyd@stupidchicken.com>
2
3 * intervals.c (set_point_both): Fix mixup before before and after
4 in variable names.
5
6 * editfns.c (Fline_beginning_position): Inhibit point-motion hooks
7 while setting point temporarily.
8
12006-05-11 Richard Stallman <rms@gnu.org> 92006-05-11 Richard Stallman <rms@gnu.org>
2 10
3 * lread.c (readevalloop): Abort if START non-nil for non-buffer input. 11 * lread.c (readevalloop): Abort if START non-nil for non-buffer input.
diff --git a/src/editfns.c b/src/editfns.c
index b74fd2a41c2..85ce94c8f8a 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -823,6 +823,8 @@ This function does not move point. */)
823 Lisp_Object n; 823 Lisp_Object n;
824{ 824{
825 int orig, orig_byte, end; 825 int orig, orig_byte, end;
826 int count = SPECPDL_INDEX ();
827 specbind (Qinhibit_point_motion_hooks, Qt);
826 828
827 if (NILP (n)) 829 if (NILP (n))
828 XSETFASTINT (n, 1); 830 XSETFASTINT (n, 1);
@@ -836,6 +838,8 @@ This function does not move point. */)
836 838
837 SET_PT_BOTH (orig, orig_byte); 839 SET_PT_BOTH (orig, orig_byte);
838 840
841 unbind_to (count, Qnil);
842
839 /* Return END constrained to the current input field. */ 843 /* Return END constrained to the current input field. */
840 return Fconstrain_to_field (make_number (end), make_number (orig), 844 return Fconstrain_to_field (make_number (end), make_number (orig),
841 XINT (n) != 1 ? Qt : Qnil, 845 XINT (n) != 1 ? Qt : Qnil,
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)
2196 Lisp_Object leave_after, leave_before, enter_after, enter_before; 2196 Lisp_Object leave_after, leave_before, enter_after, enter_before;
2197 2197
2198 if (fromprev) 2198 if (fromprev)
2199 leave_after = textget (fromprev->plist, Qpoint_left); 2199 leave_before = textget (fromprev->plist, Qpoint_left);
2200 else 2200 else
2201 leave_after = Qnil; 2201 leave_before = Qnil;
2202
2202 if (from) 2203 if (from)
2203 leave_before = textget (from->plist, Qpoint_left); 2204 leave_after = textget (from->plist, Qpoint_left);
2204 else 2205 else
2205 leave_before = Qnil; 2206 leave_after = Qnil;
2206 2207
2207 if (toprev) 2208 if (toprev)
2208 enter_after = textget (toprev->plist, Qpoint_entered); 2209 enter_before = textget (toprev->plist, Qpoint_entered);
2209 else 2210 else
2210 enter_after = Qnil; 2211 enter_before = Qnil;
2212
2211 if (to) 2213 if (to)
2212 enter_before = textget (to->plist, Qpoint_entered); 2214 enter_after = textget (to->plist, Qpoint_entered);
2213 else 2215 else
2214 enter_before = Qnil; 2216 enter_after = Qnil;
2215 2217
2216 if (! EQ (leave_before, enter_before) && !NILP (leave_before)) 2218 if (! EQ (leave_before, enter_before) && !NILP (leave_before))
2217 call2 (leave_before, make_number (old_position), 2219 call2 (leave_before, make_number (old_position),
2218 make_number (charpos)); 2220 make_number (charpos));
2219 if (! EQ (leave_after, enter_after) && !NILP (leave_after)) 2221 if (! EQ (leave_after, enter_after) && !NILP (leave_after))
2220 call2 (leave_after, make_number (old_position), 2222 call2 (leave_after, make_number (old_position),
2221 make_number (charpos)); 2223 make_number (charpos));
2222 2224
2223 if (! EQ (enter_before, leave_before) && !NILP (enter_before)) 2225 if (! EQ (enter_before, leave_before) && !NILP (enter_before))
2224 call2 (enter_before, make_number (old_position), 2226 call2 (enter_before, make_number (old_position),
2225 make_number (charpos)); 2227 make_number (charpos));
2226 if (! EQ (enter_after, leave_after) && !NILP (enter_after)) 2228 if (! EQ (enter_after, leave_after) && !NILP (enter_after))
2227 call2 (enter_after, make_number (old_position), 2229 call2 (enter_after, make_number (old_position),
2228 make_number (charpos)); 2230 make_number (charpos));
2229 } 2231 }
2230} 2232}
2231 2233