fix(term-switcher.el): Explicitly fail if buffers are missing

Since upgrading to Emacs 27 I have observed a strange behaviour where
this terminal switcher sometimes fails to select a valid buffer, in
which case it falls through to the case that just opens a new buffer
instead.

This is kind of annoying and to aid in debugging this change makes the
creation of new buffers explicit and fails if no matching buffer is
found.

Note that this is likely not a fix for the issue itself, but it will
help debug what is going on.

Change-Id: I906869aba7d25156aaf92c090b169ce02785b85e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1930
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
Vincent Ambo 2020-09-05 12:40:26 +01:00 committed by tazjin
parent 67e8f477a1
commit 11430f4a4b

View file

@ -29,10 +29,11 @@
(defun ts/open-or-create-vterm (buffer-name) (defun ts/open-or-create-vterm (buffer-name)
"Switch to the buffer with BUFFER-NAME or create a new vterm "Switch to the buffer with BUFFER-NAME or create a new vterm
buffer." buffer."
(let ((buffer (get-buffer buffer-name))) (if (equal "New vterm" buffer-name)
(if (not buffer)
(vterm) (vterm)
(switch-to-buffer buffer)))) (if-let ((buffer (get-buffer buffer-name)))
(switch-to-buffer buffer)
(error "Could not find vterm buffer: %s" buffer-name))))
(defun ts/is-vterm-buffer (buffer) (defun ts/is-vterm-buffer (buffer)
"Determine whether BUFFER runs a vterm." "Determine whether BUFFER runs a vterm."