emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/textprop.c


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/textprop.c
Date: Fri, 25 Jan 2002 17:42:05 -0500

Index: emacs/src/textprop.c
diff -c emacs/src/textprop.c:1.122 emacs/src/textprop.c:1.123
*** emacs/src/textprop.c:1.122  Mon Nov 26 15:10:04 2001
--- emacs/src/textprop.c        Fri Jan 25 17:42:05 2002
***************
*** 883,889 ****
    if (NILP (object))
      XSETBUFFER (object, current_buffer);
  
!   if (! NILP (limit) && ! EQ (limit, Qt))
      CHECK_NUMBER_COERCE_MARKER (limit);
  
    i = validate_interval_range (object, &position, &position, soft);
--- 883,889 ----
    if (NILP (object))
      XSETBUFFER (object, current_buffer);
  
!   if (!NILP (limit) && !EQ (limit, Qt))
      CHECK_NUMBER_COERCE_MARKER (limit);
  
    i = validate_interval_range (object, &position, &position, soft);
***************
*** 911,923 ****
  
    next = next_interval (i);
  
!   while (! NULL_INTERVAL_P (next) && intervals_equal (i, next)
         && (NILP (limit) || next->position < XFASTINT (limit)))
      next = next_interval (next);
  
    if (NULL_INTERVAL_P (next))
      return limit;
!   if (! NILP (limit) && !(next->position < XFASTINT (limit)))
      return limit;
  
    XSETFASTINT (position, next->position);
--- 911,927 ----
  
    next = next_interval (i);
  
!   while (!NULL_INTERVAL_P (next) && intervals_equal (i, next)
         && (NILP (limit) || next->position < XFASTINT (limit)))
      next = next_interval (next);
  
    if (NULL_INTERVAL_P (next))
      return limit;
!   if (NILP (limit))
!     XSETFASTINT (limit, (STRINGP (object)
!                        ? XSTRING (object)->size
!                        : BUF_ZV (XBUFFER (object))));
!   if (!(next->position < XFASTINT (limit)))
      return limit;
  
    XSETFASTINT (position, next->position);
***************
*** 993,999 ****
  
    if (NULL_INTERVAL_P (next))
      return limit;
!   if (! NILP (limit) && !(next->position < XFASTINT (limit)))
      return limit;
  
    return make_number (next->position);
--- 997,1007 ----
  
    if (NULL_INTERVAL_P (next))
      return limit;
!   if (NILP (limit))
!     XSETFASTINT (limit, (STRINGP (object)
!                        ? XSTRING (object)->size
!                        : BUF_ZV (XBUFFER (object))));
!   if (!(next->position < XFASTINT (limit)))
      return limit;
  
    return make_number (next->position);
***************
*** 1030,1043 ****
      i = previous_interval (i);
  
    previous = previous_interval (i);
!   while (! NULL_INTERVAL_P (previous) && intervals_equal (previous, i)
         && (NILP (limit)
             || (previous->position + LENGTH (previous) > XFASTINT (limit))))
      previous = previous_interval (previous);
    if (NULL_INTERVAL_P (previous))
      return limit;
!   if (!NILP (limit)
!       && !(previous->position + LENGTH (previous) > XFASTINT (limit)))
      return limit;
  
    return make_number (previous->position + LENGTH (previous));
--- 1038,1052 ----
      i = previous_interval (i);
  
    previous = previous_interval (i);
!   while (!NULL_INTERVAL_P (previous) && intervals_equal (previous, i)
         && (NILP (limit)
             || (previous->position + LENGTH (previous) > XFASTINT (limit))))
      previous = previous_interval (previous);
    if (NULL_INTERVAL_P (previous))
      return limit;
!   if (NILP (limit))
!     XSETFASTINT (limit, (STRINGP (object) ? 0 : BUF_BEGV (XBUFFER (object))));
!   if (!(previous->position + LENGTH (previous) > XFASTINT (limit)))
      return limit;
  
    return make_number (previous->position + LENGTH (previous));
***************
*** 1070,1076 ****
    i = validate_interval_range (object, &position, &position, soft);
  
    /* Start with the interval containing the char before point.  */
!   if (! NULL_INTERVAL_P (i) && i->position == XFASTINT (position))
      i = previous_interval (i);
  
    if (NULL_INTERVAL_P (i))
--- 1079,1085 ----
    i = validate_interval_range (object, &position, &position, soft);
  
    /* Start with the interval containing the char before point.  */
!   if (!NULL_INTERVAL_P (i) && i->position == XFASTINT (position))
      i = previous_interval (i);
  
    if (NULL_INTERVAL_P (i))
***************
*** 1078,1092 ****
  
    here_val = textget (i->plist, prop);
    previous = previous_interval (i);
!   while (! NULL_INTERVAL_P (previous)
         && EQ (here_val, textget (previous->plist, prop))
         && (NILP (limit)
             || (previous->position + LENGTH (previous) > XFASTINT (limit))))
      previous = previous_interval (previous);
    if (NULL_INTERVAL_P (previous))
      return limit;
!   if (!NILP (limit)
!       && !(previous->position + LENGTH (previous) > XFASTINT (limit)))
      return limit;
  
    return make_number (previous->position + LENGTH (previous));
--- 1087,1102 ----
  
    here_val = textget (i->plist, prop);
    previous = previous_interval (i);
!   while (!NULL_INTERVAL_P (previous)
         && EQ (here_val, textget (previous->plist, prop))
         && (NILP (limit)
             || (previous->position + LENGTH (previous) > XFASTINT (limit))))
      previous = previous_interval (previous);
    if (NULL_INTERVAL_P (previous))
      return limit;
!   if (NILP (limit))
!     XSETFASTINT (limit, (STRINGP (object) ? 0 : BUF_BEGV (XBUFFER (object))));
!   if (!(previous->position + LENGTH (previous) > XFASTINT (limit)))
      return limit;
  
    return make_number (previous->position + LENGTH (previous));



reply via email to

[Prev in Thread] Current Thread [Next in Thread]