summaryrefslogtreecommitdiff
path: root/src/editfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/editfns.c')
-rw-r--r--src/editfns.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/editfns.c b/src/editfns.c
index 7d032a7ca4c..88dfba1f910 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3198,6 +3198,8 @@ differences between the two buffers. */)
return Qnil;
}
+ ptrdiff_t count = SPECPDL_INDEX ();
+
/* FIXME: It is not documented how to initialize the contents of the
context structure. This code cargo-cults from the existing
caller in src/analyze.c of GNU Diffutils, which appears to
@@ -3231,7 +3233,6 @@ differences between the two buffers. */)
eassert (! early_abort);
Fundo_boundary ();
- ptrdiff_t count = SPECPDL_INDEX ();
record_unwind_protect_excursion ();
ptrdiff_t i = size_a;
@@ -3279,10 +3280,8 @@ differences between the two buffers. */)
--i;
--j;
}
- unbind_to (count, Qnil);
- SAFE_FREE ();
- return Qnil;
+ return SAFE_FREE_UNBIND_TO (count, Qnil);
}
static void
@@ -4885,7 +4884,6 @@ styled_format (ptrdiff_t nargs, Lisp_Object *args, bool message)
if (buf == initial_buffer)
{
buf = xmalloc (bufsize);
- sa_must_free = true;
buf_save_value_index = SPECPDL_INDEX ();
record_unwind_protect_ptr (xfree, buf);
memcpy (buf, initial_buffer, used);