From: Richard M. Stallman Date: Fri, 21 Mar 2014 23:16:26 +0000 (-0400) Subject: Avoid GC crashes. X-Git-Tag: emacs-25.0.90~2612^2~709^2~1175^2~23 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=16ec0742ffd77057d58a9cf203ead02e06a645d5;p=emacs.git Avoid GC crashes. * lisp/subr.el (set-transient-map): Clear out function and value of the temporary symbol when we're done with it. --- 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)))