diff src/intervals.c @ 90399:a5812696f7bf unicode-pre-font-backend

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 274-284) - Update from CVS - Update etc/MORE.STUFF. - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 101) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-62
author Miles Bader <miles@gnu.org>
date Wed, 17 May 2006 07:46:49 +0000
parents c5406394f567 089c7a7af5c9
children a8190f7e546e
line wrap: on
line diff
--- a/src/intervals.c	Mon May 15 03:48:50 2006 +0000
+++ b/src/intervals.c	Wed May 17 07:46:49 2006 +0000
@@ -2196,36 +2196,38 @@
       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_before = Qnil;
+
+      if (from)
+	leave_after = textget (from->plist, Qpoint_left);
       else
 	leave_after = Qnil;
-      if (from)
-	leave_before = textget (from->plist, Qpoint_left);
-      else
-	leave_before = Qnil;
 
       if (toprev)
-	enter_after = textget (toprev->plist, Qpoint_entered);
+	enter_before = textget (toprev->plist, Qpoint_entered);
+      else
+	enter_before = Qnil;
+
+      if (to)
+	enter_after = textget (to->plist, Qpoint_entered);
       else
 	enter_after = Qnil;
-      if (to)
-	enter_before = textget (to->plist, Qpoint_entered);
-      else
-	enter_before = 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));
     }
 }
 
@@ -2339,7 +2341,9 @@
 /* Return the proper local keymap TYPE for position POSITION in
    BUFFER; TYPE should be one of `keymap' or `local-map'.  Use the map
    specified by the PROP property, if any.  Otherwise, if TYPE is
-   `local-map' use BUFFER's local map.  */
+   `local-map' use BUFFER's local map.
+
+   POSITION must be in the accessible part of BUFFER.  */
 
 Lisp_Object
 get_local_map (position, buffer, type)
@@ -2351,7 +2355,7 @@
   int old_begv, old_zv, old_begv_byte, old_zv_byte;
 
   /* Perhaps we should just change `position' to the limit.  */
-  if (position > BUF_Z (buffer) || position < BUF_BEG (buffer))
+  if (position > BUF_ZV (buffer) || position < BUF_BEGV (buffer))
     abort ();
 
   /* Ignore narrowing, so that a local map continues to be valid even if