]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix pre- and post-command-hook errors in term.el
authorKarl Otness <karl@karlotness.com>
Sun, 22 Apr 2018 03:01:11 +0000 (23:01 -0400)
committerEli Zaretskii <eliz@gnu.org>
Sun, 22 Apr 2018 17:06:50 +0000 (20:06 +0300)
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

index 6860ea6934246df796ea187f4b7952e53799e502..75c27797838f89149978ade5126b9e38d3633f4e 100644 (file)
@@ -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)