From 16ec0742ffd77057d58a9cf203ead02e06a645d5 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 21 Mar 2014 19:16:26 -0400 Subject: [PATCH] Avoid GC crashes. * lisp/subr.el (set-transient-map): Clear out function and value of the temporary symbol when we're done with it. --- lisp/ChangeLog | 3 +++ lisp/subr.el | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7e26346418a..cdb9c3536a6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-03-21 Richard Stallman + * subr.el (set-transient-map): Clear out function and value + of the temporary symbol when we're done with it. + * mail/rmailsum.el (rmail-summary-delete-forward): Optimize case of reaching end and handling count. (rmail-summary-mark-deleted): Optimize when N is current msg. diff --git a/lisp/subr.el b/lisp/subr.el index e4350bffff8..1246efedeaf 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -4312,7 +4312,10 @@ lookup sequence then continues." (t (funcall keep-pred))) (internal-pop-keymap map 'overriding-terminal-local-map) (remove-hook 'pre-command-hook clearfun) - (when on-exit (funcall on-exit)))))) + (when on-exit (funcall on-exit)) +;; Comment out the fset if you want to debug the GC bug. + (fset clearfun nil) + (set clearfun nil))))) (add-hook 'pre-command-hook clearfun) (internal-push-keymap map 'overriding-terminal-local-map))) -- 2.39.2