aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1996-04-26 03:01:56 +0000
committerRichard M. Stallman1996-04-26 03:01:56 +0000
commit4ad8681a67c07c5038f58013ad8562886c76b273 (patch)
treeb798ef73b91c9c6f085d871798cfd1d2fd4b1cf4 /src
parent2a8095d50dde54adf48119bb128b5d8fab441f5f (diff)
downloademacs-4ad8681a67c07c5038f58013ad8562886c76b273.tar.gz
emacs-4ad8681a67c07c5038f58013ad8562886c76b273.zip
(save_excursion_restore): Add gcpros.
Diffstat (limited to 'src')
-rw-r--r--src/editfns.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/editfns.c b/src/editfns.c
index 2bc6de784fc..8a6733fb5e3 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -267,9 +267,10 @@ save_excursion_save ()
267 267
268Lisp_Object 268Lisp_Object
269save_excursion_restore (info) 269save_excursion_restore (info)
270 register Lisp_Object info; 270 Lisp_Object info;
271{ 271{
272 register Lisp_Object tem, tem1, omark, nmark; 272 Lisp_Object tem, tem1, omark, nmark;
273 struct gcpro gcpro1, gcpro2, gcpro3;
273 274
274 tem = Fmarker_buffer (Fcar (info)); 275 tem = Fmarker_buffer (Fcar (info));
275 /* If buffer being returned to is now deleted, avoid error */ 276 /* If buffer being returned to is now deleted, avoid error */
@@ -278,6 +279,10 @@ save_excursion_restore (info)
278 /* In that case, Fmarker_buffer returns nil now. */ 279 /* In that case, Fmarker_buffer returns nil now. */
279 if (NILP (tem)) 280 if (NILP (tem))
280 return Qnil; 281 return Qnil;
282
283 omark = nmark = Qnil;
284 GCPRO3 (info, omark, nmark);
285
281 Fset_buffer (tem); 286 Fset_buffer (tem);
282 tem = Fcar (info); 287 tem = Fcar (info);
283 Fgoto_char (tem); 288 Fgoto_char (tem);
@@ -313,6 +318,7 @@ save_excursion_restore (info)
313 else if (! NILP (tem1)) 318 else if (! NILP (tem1))
314 call1 (Vrun_hooks, intern ("deactivate-mark-hook")); 319 call1 (Vrun_hooks, intern ("deactivate-mark-hook"));
315 } 320 }
321 UNGCPRO;
316 return Qnil; 322 return Qnil;
317} 323}
318 324