diff options
author | Richard M. Stallman <rms@gnu.org> | 2014-03-21 19:16:26 -0400 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2014-03-21 19:16:26 -0400 |
commit | 16ec0742ffd77057d58a9cf203ead02e06a645d5 (patch) | |
tree | 79707450717d174b15348fdf8e98e878804429ad /lisp/subr.el | |
parent | 664ed753351084e8d53c00ccbfc4d4fefcd78e05 (diff) |
Avoid GC crashes.
* lisp/subr.el (set-transient-map): Clear out function and value
of the temporary symbol when we're done with it.
Diffstat (limited to 'lisp/subr.el')
-rw-r--r-- | lisp/subr.el | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/subr.el b/lisp/subr.el index e4350bffff..1246efedea 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))) |