From c3f986a4557b8785e16daf84f94c029b89c9feff Mon Sep 17 00:00:00 2001 From: Kiso Katsuyuki Date: Wed, 9 Sep 2020 22:16:34 +0300 Subject: [PATCH] Suppress errors of tab-line-switch functions Traget errors occurs when tab-line-switch-to-prev-tab or tab-line-switch-to-next-tab is invoked in a buffer which is not in tabs Copyright-paperwork-exempt: yes --- lisp/tab-line.el | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lisp/tab-line.el b/lisp/tab-line.el index 40f80959ccf..140ee8c389e 100644 --- a/lisp/tab-line.el +++ b/lisp/tab-line.el @@ -652,13 +652,13 @@ Its effect is the same as using the `previous-buffer' command (switch-to-prev-buffer window) (with-selected-window (or window (selected-window)) (let* ((tabs (funcall tab-line-tabs-function)) - (tab (nth (1- (seq-position - tabs (current-buffer) - (lambda (tab buffer) - (if (bufferp tab) - (eq buffer tab) - (eq buffer (cdr (assq 'buffer tab))))))) - tabs)) + (pos (seq-position + tabs (current-buffer) + (lambda (tab buffer) + (if (bufferp tab) + (eq buffer tab) + (eq buffer (cdr (assq 'buffer tab))))))) + (tab (if pos (nth (1- pos) tabs))) (buffer (if (bufferp tab) tab (cdr (assq 'buffer tab))))) (when (bufferp buffer) (switch-to-buffer buffer))))))) @@ -673,13 +673,13 @@ Its effect is the same as using the `next-buffer' command (switch-to-next-buffer window) (with-selected-window (or window (selected-window)) (let* ((tabs (funcall tab-line-tabs-function)) - (tab (nth (1+ (seq-position - tabs (current-buffer) - (lambda (tab buffer) - (if (bufferp tab) - (eq buffer tab) - (eq buffer (cdr (assq 'buffer tab))))))) - tabs)) + (pos (seq-position + tabs (current-buffer) + (lambda (tab buffer) + (if (bufferp tab) + (eq buffer tab) + (eq buffer (cdr (assq 'buffer tab))))))) + (tab (if pos (nth (1+ pos) tabs))) (buffer (if (bufferp tab) tab (cdr (assq 'buffer tab))))) (when (bufferp buffer) (switch-to-buffer buffer))))))) -- 2.39.5