aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2014-03-21 19:16:26 -0400
committerRichard M. Stallman2014-03-21 19:16:26 -0400
commit16ec0742ffd77057d58a9cf203ead02e06a645d5 (patch)
tree79707450717d174b15348fdf8e98e878804429ad
parent664ed753351084e8d53c00ccbfc4d4fefcd78e05 (diff)
downloademacs-16ec0742ffd77057d58a9cf203ead02e06a645d5.tar.gz
emacs-16ec0742ffd77057d58a9cf203ead02e06a645d5.zip
Avoid GC crashes.
* lisp/subr.el (set-transient-map): Clear out function and value of the temporary symbol when we're done with it.
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/subr.el5
2 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7e26346418a..cdb9c3536a6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
12014-03-21 Richard Stallman <rms@gnu.org> 12014-03-21 Richard Stallman <rms@gnu.org>
2 2
3 * subr.el (set-transient-map): Clear out function and value
4 of the temporary symbol when we're done with it.
5
3 * mail/rmailsum.el (rmail-summary-delete-forward): 6 * mail/rmailsum.el (rmail-summary-delete-forward):
4 Optimize case of reaching end and handling count. 7 Optimize case of reaching end and handling count.
5 (rmail-summary-mark-deleted): Optimize when N is current msg. 8 (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."
4312 (t (funcall keep-pred))) 4312 (t (funcall keep-pred)))
4313 (internal-pop-keymap map 'overriding-terminal-local-map) 4313 (internal-pop-keymap map 'overriding-terminal-local-map)
4314 (remove-hook 'pre-command-hook clearfun) 4314 (remove-hook 'pre-command-hook clearfun)
4315 (when on-exit (funcall on-exit)))))) 4315 (when on-exit (funcall on-exit))
4316;; Comment out the fset if you want to debug the GC bug.
4317 (fset clearfun nil)
4318 (set clearfun nil)))))
4316 (add-hook 'pre-command-hook clearfun) 4319 (add-hook 'pre-command-hook clearfun)
4317 (internal-push-keymap map 'overriding-terminal-local-map))) 4320 (internal-push-keymap map 'overriding-terminal-local-map)))
4318 4321