summaryrefslogtreecommitdiff
path: root/src/insdel.c
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2007-03-04 06:19:40 +0000
committerMiles Bader <miles@gnu.org>2007-03-04 06:19:40 +0000
commit723c16c0d9ebe761ac2b294e1e42aaceee3a2960 (patch)
treeaf9f7c815f75a9a62cb3edeb1208ee0cec24fadf /src/insdel.c
parentb3bfbe71b2161f0c8c5f3b7d560209b31337668c (diff)
parent6bdc3c3d1d4e67640ad4a78576e05fe8324c050c (diff)
downloademacs-723c16c0d9ebe761ac2b294e1e42aaceee3a2960.tar.gz
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 653-661) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 203-206) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-180
Diffstat (limited to 'src/insdel.c')
-rw-r--r--src/insdel.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/insdel.c b/src/insdel.c
index 6f8aac3d6da..d7ba13ecbca 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -2384,6 +2384,17 @@ DEFUN ("combine-after-change-execute", Fcombine_after_change_execute,
if (NILP (combine_after_change_list))
return Qnil;
+ /* It is rare for combine_after_change_buffer to be invalid, but
+ possible. It can happen when combine-after-change-calls is
+ non-nil, and insertion calls a file handler (e.g. through
+ lock_file) which scribbles into a temp file -- cyd */
+ if (!BUFFERP (combine_after_change_buffer)
+ || NILP (XBUFFER (combine_after_change_buffer)->name))
+ {
+ combine_after_change_list = Qnil;
+ return Qnil;
+ }
+
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
Fset_buffer (combine_after_change_buffer);