From d6e2c593180934926fa4cc5b58fdab82b20f5f14 Mon Sep 17 00:00:00 2001 From: Karl Otness Date: Sat, 21 Apr 2018 23:01:11 -0400 Subject: [PATCH] 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 --- lisp/term.el | 3 +++ 1 file changed, 3 insertions(+) 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) -- 2.39.2