]> git.eshelyaron.com Git - emacs.git/commitdiff
* buffer.c (Foverlays_at, Foverlays_in, Fnext_overlay_change)
authorDmitry Antipov <dmantipov@yandex.ru>
Wed, 28 Aug 2013 08:33:12 +0000 (12:33 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Wed, 28 Aug 2013 08:33:12 +0000 (12:33 +0400)
(Fprevious_overlay_change): Fast path for buffer with no overlays.

src/ChangeLog
src/buffer.c

index ed2346424ea8c0703f9438e44d5992295c46c2bc..37c167393f7bdc544b158aed0f6c4f6fa661a2d6 100644 (file)
@@ -1,3 +1,8 @@
+2013-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * buffer.c (Foverlays_at, Foverlays_in, Fnext_overlay_change)
+       (Fprevious_overlay_change): Fast path for buffer with no overlays.
+
 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
 
        * Makefile.in (SHELL): Now @SHELL@, not /bin/sh,
index 7bc98a8b1d3dc086cdd2582dc7bd55cc30b3c1f0..1495bd65de78c820509615786cde44213e1b2437 100644 (file)
@@ -4161,6 +4161,9 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
 
   CHECK_NUMBER_COERCE_MARKER (pos);
 
+  if (!buffer_has_overlays ())
+    return Qnil;
+
   len = 10;
   /* We can't use alloca here because overlays_at can call xrealloc.  */
   overlay_vec = xmalloc (len * sizeof *overlay_vec);
@@ -4193,6 +4196,9 @@ end of the buffer.  */)
   CHECK_NUMBER_COERCE_MARKER (beg);
   CHECK_NUMBER_COERCE_MARKER (end);
 
+  if (!buffer_has_overlays ())
+    return Qnil;
+
   len = 10;
   overlay_vec = xmalloc (len * sizeof *overlay_vec);
 
@@ -4221,6 +4227,9 @@ the value is (point-max).  */)
 
   CHECK_NUMBER_COERCE_MARKER (pos);
 
+  if (!buffer_has_overlays ())
+    return make_number (ZV);
+
   len = 10;
   overlay_vec = xmalloc (len * sizeof *overlay_vec);
 
@@ -4260,6 +4269,9 @@ the value is (point-min).  */)
 
   CHECK_NUMBER_COERCE_MARKER (pos);
 
+  if (!buffer_has_overlays ())
+    return make_number (BEGV);
+
   /* At beginning of buffer, we know the answer;
      avoid bug subtracting 1 below.  */
   if (XINT (pos) == BEGV)