branch: elpa/aidermacs commit 42a8368df8a44fa37e3bb72ca48ff3febabcf860 Author: Mingde (Matthew) Zeng <matthew...@posteo.net> Commit: Mingde (Matthew) Zeng <matthew...@posteo.net>
Fix regression from #10 Signed-off-by: Mingde (Matthew) Zeng <matthew...@posteo.net> --- aidermacs-backend-vterm.el | 18 +++++++++++------- aidermacs-backends.el | 6 ++---- aidermacs.el | 4 ++-- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/aidermacs-backend-vterm.el b/aidermacs-backend-vterm.el index 34a80eeb06..49d1373dcb 100644 --- a/aidermacs-backend-vterm.el +++ b/aidermacs-backend-vterm.el @@ -15,13 +15,17 @@ (let* ((mode (if (eq (frame-parameter nil 'background-mode) 'dark) "--dark-mode" "--light-mode")) - (cmd (mapconcat 'identity (append (list program mode) args) " "))) - (let ((vterm-shell cmd) - (vterm-buffer-name buffer-name)) - (vterm-other-window)) - (with-current-buffer buffer-name - (setq-local aidermacs-backend 'vterm) - (aidermacs-minor-mode 1))))) + (cmd (mapconcat 'identity (append (list program mode) args) " ")) + (vterm-buffer-name-orig vterm-buffer-name) + (vterm-shell-orig vterm-shell)) + (setq vterm-buffer-name buffer-name) + (setq vterm-shell cmd) + (if (get-buffer buffer-name) + (switch-to-buffer buffer-name) + (with-current-buffer (vterm-other-window) + (aidermacs-minor-mode 1))) + (setq vterm-buffer-name vterm-buffer-name-orig) + (setq vterm-shell vterm-shell-orig)))) (defun aidermacs--send-command-vterm (buffer command &optional switch-to-buffer) "Send COMMAND to the aidermacs vterm BUFFER. diff --git a/aidermacs-backends.el b/aidermacs-backends.el index 8b46acc5f6..44093553e7 100644 --- a/aidermacs-backends.el +++ b/aidermacs-backends.el @@ -20,7 +20,7 @@ of using a comint process." (require 'aidermacs-backend-comint) -(when (or (featurep 'vterm) (functionp 'vterm)) +(when (require 'vterm nil t) (require 'aidermacs-backend-vterm)) @@ -31,9 +31,7 @@ PROGRAM is the aidermacs executable path, ARGS are command line arguments, and BUFFER-NAME is the name for the aidermacs buffer." (cond ((eq aidermacs-backend 'vterm) - (if (or (featurep 'vterm) (functionp 'vterm)) - (aidermacs-run-aidermacs-vterm program args buffer-name) - (error "vterm package is not available. Please install it to use the vterm backend."))) + (aidermacs-run-aidermacs-vterm program args buffer-name)) (t (aidermacs-run-aidermacs-comint program args buffer-name)))) diff --git a/aidermacs.el b/aidermacs.el index 35f8826b6e..804abd42f6 100644 --- a/aidermacs.el +++ b/aidermacs.el @@ -235,7 +235,7 @@ Dispatches to the appropriate backend." (when switch-to-buffer (aidermacs-switch-to-buffer)) (sleep-for 0.2)) - (message "Buffer %s does not exist. Please start aidermacs with 'M-x aidermacs-run-aidermacs'." (funcall #'aidermacs-buffer-name)))) + (message "Buffer %s does not exist. Please start aidermacs with 'M-x aidermacs-run-aidermacs'." aidermacs-buffer-name))) (defun aidermacs-kill-buffer () "Clean-up fontify buffer." @@ -430,7 +430,7 @@ If the current buffer is already the aidermacs buffer, do nothing." (if aidermacs--switch-to-buffer-other-frame (switch-to-buffer-other-frame buffer) (pop-to-buffer buffer)) - (message "aidermacs buffer '%s' does not exist." (aidermacs-buffer-name))))) + (message "Buffer '%s' does not exist." (aidermacs-buffer-name))))) ;; Function to reset the aidermacs buffer ;;;###autoload