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

Reply via email to