summaryrefslogtreecommitdiff
path: root/lisp/term.el
diff options
context:
space:
mode:
authorKarl Otness <karl@karlotness.com>2018-04-21 23:01:11 -0400
committerEli Zaretskii <eliz@gnu.org>2018-04-22 20:06:50 +0300
commitd6e2c593180934926fa4cc5b58fdab82b20f5f14 (patch)
treefa91f17df79d95916ea2b34d7aadc1d8fd8e5fec /lisp/term.el
parent6cf83131e263fd66fb0ae224bf83b1909b66157d (diff)
downloademacs-d6e2c593180934926fa4cc5b58fdab82b20f5f14.tar.gz
Fix pre- and post-command-hook errors in term.el
Before this patch, after the terminal process dies the command hooks added in term-mode's char mode would produce errors. This fix removes these hooks when the process dies. * lisp/term.el (term-handle-exit): Remove pre-command-hook and post-command-hook because the process is dead. (Bug#31236) Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/term.el')
-rw-r--r--lisp/term.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/term.el b/lisp/term.el
index 6860ea69342..75c27797838 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1484,6 +1484,9 @@ The main purpose is to get rid of the local keymap."
(let ((buffer-read-only nil)
(omax (point-max))
(opoint (point)))
+ ;; Remove hooks to avoid errors due to dead process.
+ (remove-hook 'pre-command-hook #'term-set-goto-process-mark t)
+ (remove-hook 'post-command-hook #'term-goto-process-mark-maybe t)
;; Record where we put the message, so we can ignore it
;; later on.
(goto-char omax)