summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorej32u@protonmail.com <ej32u@protonmail.com>2020-05-19 21:43:13 +0000
committerNoam Postavsky <npostavs@gmail.com>2020-05-24 20:45:05 -0400
commit0cdedf612b9da14fccc39c4a4e81cbf400e4552f (patch)
treed12489dfed82f2494306fcbbe0970f9741220f68 /lisp
parentb9b8c5e3fa71aea719934ce422fb22734590a8b3 (diff)
downloademacs-0cdedf612b9da14fccc39c4a4e81cbf400e4552f.tar.gz
Add command ffap-other-tab (Bug#41410)
* lisp/ffap.el (ffap-other-tab): New command, opens files at point in another tab. (ffap-bindings): Bind it to find-file-other-tab's binding.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ffap.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/lisp/ffap.el b/lisp/ffap.el
index d656b373729..ceba9d26223 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -54,6 +54,8 @@
;; C-x 5 r ffap-read-only-other-frame
;; C-x 5 d ffap-dired-other-frame
;;
+;; C-x t f ffap-other-tab
+;;
;; S-mouse-3 ffap-at-mouse
;; C-S-mouse-3 ffap-menu
;;
@@ -1758,6 +1760,14 @@ Only intended for interactive use."
(set-window-dedicated-p win wdp))
value))
+(defun ffap-other-tab (filename)
+ "Like `ffap', but put buffer in another tab.
+Only intended for interactive use."
+ (interactive (list (ffap-prompter nil " other tab")))
+ (pcase (save-window-excursion (find-file-at-point filename))
+ ((or (and (pred bufferp) b) `(,(and (pred bufferp) b) . ,_))
+ (switch-to-buffer-other-tab b))))
+
(defun ffap--toggle-read-only (buffer-or-list)
(dolist (buffer (if (listp buffer-or-list)
buffer-or-list
@@ -2013,6 +2023,7 @@ This hook is intended to be put in `file-name-at-point-functions'."
(global-set-key [remap find-file-other-window] 'ffap-other-window)
(global-set-key [remap find-file-other-frame] 'ffap-other-frame)
+ (global-set-key [remap find-file-other-tab] 'ffap-other-tab)
(global-set-key [remap find-file-read-only-other-window] 'ffap-read-only-other-window)
(global-set-key [remap find-file-read-only-other-frame] 'ffap-read-only-other-frame)