(Fcombine_after_change_execute): Return nil, not junk.
authorKarl Heuer <kwzh@gnu.org>
Thu, 5 Nov 1998 20:06:22 +0000 (20:06 +0000)
committerKarl Heuer <kwzh@gnu.org>
Thu, 5 Nov 1998 20:06:22 +0000 (20:06 +0000)
If nothing to do, return immediately.
(syms_of_insdel): Initialize combine_after_change_buffer.

src/insdel.c

index 3806d38..4ed8ac4 100644 (file)
@@ -2570,12 +2570,14 @@ DEFUN ("combine-after-change-execute", Fcombine_after_change_execute,
   "This function is for use internally in `combine-after-change-calls'.")
   ()
 {
-  register Lisp_Object val;
   int count = specpdl_ptr - specpdl;
   int beg, end, change;
   int begpos, endpos;
   Lisp_Object tail;
 
+  if (NILP (combine_after_change_list))
+    return Qnil;
+
   record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
 
   Fset_buffer (combine_after_change_buffer);
@@ -2633,7 +2635,7 @@ DEFUN ("combine-after-change-execute", Fcombine_after_change_execute,
                         Vcombine_after_change_calls);
   signal_after_change (begpos, endpos - begpos - change, endpos - begpos);
 
-  return unbind_to (count, val);
+  return unbind_to (count, Qnil);
 }
 \f
 void
@@ -2641,6 +2643,7 @@ syms_of_insdel ()
 {
   staticpro (&combine_after_change_list);
   combine_after_change_list = Qnil;
+  combine_after_change_buffer = Qnil;
 
   DEFVAR_BOOL ("check-markers-debug-flag", &check_markers_debug_flag,
     "Non-nil means enable debugging checks for invalid marker positions.");