From cb3018c8f331377de9679f1ab9cc88891110d023 Mon Sep 17 00:00:00 2001 From: Benson Chu Date: Tue, 8 Jul 2025 09:39:59 -0500 Subject: [PATCH] There's a bug in the original implementation --- lisp/multi-vterm-tabs.el | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/lisp/multi-vterm-tabs.el b/lisp/multi-vterm-tabs.el index 3ac2206..774d095 100644 --- a/lisp/multi-vterm-tabs.el +++ b/lisp/multi-vterm-tabs.el @@ -70,14 +70,24 @@ it)))) (defun mvt/get-all-buffers (tab-name) - (let* ((tab-sym (intern tab-name)) - (mvti (mvt/get-or-create-info tab-sym)) - (max-num (slot-value mvti 'max-number)) - buffs) - (dotimes (i max-num) - (awhen (get-buffer (mvt/format-buffer-name tab-name i)) - (push it buffs))) - (reverse buffs))) + (->> (buffer-list) + (remove-if-not + (lambda (buff) + (with-current-buffer buff + (and (eq major-mode 'vterm-mode) + (string-match-p + (rx "*" (literal tab-name) "-vterm<" (+ digit) ">*") + (buffer-name buff)))))))) + +;; (defun mvt/get-all-buffers (tab-name) +;; (let* ((tab-sym (intern tab-name)) +;; (mvti (mvt/get-or-create-info tab-sym)) +;; (max-num (slot-value mvti 'max-number)) +;; buffs) +;; (dotimes (i max-num) +;; (awhen (get-buffer (mvt/format-buffer-name tab-name i)) +;; (push it buffs))) +;; (reverse buffs))) ;; (mvt/get-all-buffers (alist-get 'name (tab-bar--current-tab)))