summaryrefslogtreecommitdiff
path: root/lisp/tab-line.el
diff options
context:
space:
mode:
authorKiso Katsuyuki <katsuyuki2388@gmail.com>2020-09-09 22:16:34 +0300
committerJuri Linkov <juri@linkov.net>2020-09-09 22:24:06 +0300
commitc3f986a4557b8785e16daf84f94c029b89c9feff (patch)
treea29be867421e741e1caaff1802e129f2734db589 /lisp/tab-line.el
parentdd25055829a08d37ca56ee4352af8e79f6f0331c (diff)
downloademacs-c3f986a4557b8785e16daf84f94c029b89c9feff.tar.gz
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
Diffstat (limited to 'lisp/tab-line.el')
-rw-r--r--lisp/tab-line.el28
1 files 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)))))))