From 4f06187ff25aec873a5f79606f465774562cbd49 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 6 Apr 2003 20:35:06 +0000 Subject: [PATCH] (x_handle_selection_request): Move UNGCPRO to very end. --- src/xselect.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/xselect.c b/src/xselect.c index bf1690e909..5fd2c862cb 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -425,6 +425,9 @@ x_get_local_selection (selection_symbol, target_type, local_request) CHECK_SYMBOL (target_type); handler_fn = Fcdr (Fassq (target_type, Vselection_converter_alist)); + /* gcpro is not needed here since nothing but HANDLER_FN + is live, and that ought to be a symbol. */ + if (!NILP (handler_fn)) value = call3 (handler_fn, selection_symbol, (local_request ? Qnil : target_type), @@ -837,8 +840,6 @@ x_handle_selection_request (event) DONE: - UNGCPRO; - /* Let random lisp code notice that the selection has been asked for. */ { Lisp_Object rest; @@ -847,6 +848,8 @@ x_handle_selection_request (event) for (; CONSP (rest); rest = Fcdr (rest)) call3 (Fcar (rest), selection_symbol, target_symbol, successful_p); } + + UNGCPRO; } /* Handle a SelectionClear event EVENT, which indicates that some -- 2.20.1