]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't call r_alloc_inhibit_buffer_relocation from search.c.
authorEli Zaretskii <eliz@gnu.org>
Tue, 29 May 2012 16:01:05 +0000 (19:01 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 29 May 2012 16:01:05 +0000 (19:01 +0300)
 src/search.c (search_buffer): Remove calls to
 r_alloc_inhibit_buffer_relocation, as it is now called by
 maybe_unify_char, which was the cause of relocation of buffer text
 in bug#11519.

src/ChangeLog
src/search.c

index ec5725af2bc80cf69357c2615eae7d49931afe44..16bd1659b342e0c673549128a7169432a842c821 100644 (file)
@@ -1,3 +1,10 @@
+2012-05-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (search_buffer): Remove calls to
+       r_alloc_inhibit_buffer_relocation, as it is now called by
+       maybe_unify_char, which was the cause of relocation of buffer text
+       in bug#11519.
+
 2012-05-23  Eli Zaretskii  <eliz@gnu.org>
 
        * charset.c (maybe_unify_char): Inhibit relocation of buffer text
index 67f9e505fad3b85464d3e27ebf7698e1147e92b0..26fc7396555ad570d67d020b0799d08be573593b 100644 (file)
@@ -1159,24 +1159,12 @@ search_buffer (Lisp_Object string, EMACS_INT pos, EMACS_INT pos_byte,
        {
          EMACS_INT val;
 
-#ifdef REL_ALLOC
-         /* re_search_2 below is passed C pointers to buffer text.
-            If some code called by it causes memory (re)allocation,
-            buffer text could be relocated on platforms that use
-            REL_ALLOC, which invalidates those C pointers.  So we
-            inhibit relocation of buffer text for as long as
-            re_search_2 runs.  */
-         r_alloc_inhibit_buffer_relocation (1);
-#endif
          val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                             pos_byte - BEGV_BYTE, lim_byte - pos_byte,
                             (NILP (Vinhibit_changing_match_data)
                              ? &search_regs : &search_regs_1),
                             /* Don't allow match past current point */
                             pos_byte - BEGV_BYTE);
-#ifdef REL_ALLOC
-         r_alloc_inhibit_buffer_relocation (0);
-#endif
          if (val == -2)
            {
              matcher_overflow ();
@@ -1216,19 +1204,11 @@ search_buffer (Lisp_Object string, EMACS_INT pos, EMACS_INT pos_byte,
        {
          EMACS_INT val;
 
-#ifdef REL_ALLOC
-         /* See commentary above for the reasons for inhibiting
-            buffer text relocation here.  */
-         r_alloc_inhibit_buffer_relocation (1);
-#endif
          val = re_search_2 (bufp, (char *) p1, s1, (char *) p2, s2,
                             pos_byte - BEGV_BYTE, lim_byte - pos_byte,
                             (NILP (Vinhibit_changing_match_data)
                              ? &search_regs : &search_regs_1),
                             lim_byte - BEGV_BYTE);
-#ifdef REL_ALLOC
-         r_alloc_inhibit_buffer_relocation (0);
-#endif
          if (val == -2)
            {
              matcher_overflow ();