summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/minibuf.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index 31efe44c3a5..e7888c0d7b8 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1157,6 +1157,10 @@ DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 7, 0,
Lisp_Object val, histvar, histpos, position;
int pos = 0;
int count = specpdl_ptr - specpdl;
+ struct gcpro gcpro1;
+
+ GCPRO1 (def);
+
specbind (Qminibuffer_completion_table, table);
specbind (Qminibuffer_completion_predicate, predicate);
specbind (Qminibuffer_completion_confirm,
@@ -1202,7 +1206,7 @@ DEFUN ("completing-read", Fcompleting_read, Scompleting_read, 2, 7, 0,
histvar, histpos, def, 0);
if (STRINGP (val) && XSTRING (val)->size == 0 && ! NILP (def))
val = def;
- return unbind_to (count, val);
+ RETURN_UNGCPRO (unbind_to (count, val));
}
Lisp_Object Fminibuffer_completion_help ();