--- Begin Message ---
Subject: |
25.1.50; ibuffer-do-view-1 fails to visit in new frame |
Date: |
Wed, 27 Jul 2016 20:32:40 +0900 (JST) |
User-agent: |
Alpine 2.20 (DEB 67 2015-01-07) |
When the argument TYPE is 'other-frame, it should visit
the buffer in a new frame.
emacs -Q --eval="(progn (require 'ibuffer) (setq ibuffer-expert t) (ibuffer))"
H
M-: (length (frame-list)) RET
=> 1
In GNU Emacs 25.1.50.3 (x86_64-pc-linux-gnu, GTK+ Version 3.20.6)
of 2016-07-27 built on calancha-pc
Repository revision: e0d425976e3a83585db9a586687897fe1ac6455f
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description: Debian GNU/Linux testing (stretch)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
From eb3bc5f0c65788677eb0150533a33dcc14e30d95 Mon Sep 17 00:00:00 2001
From: Tino Calancha <address@hidden>
Date: Wed, 27 Jul 2016 20:23:56 +0900
Subject: [PATCH] Ibuffer: View buffer in other frame
* lisp/ibuffer.el (ibuffer-do-view-1):
Use another frame when TYPE equals 'other-frame (Bug#24086).
---
lisp/ibuffer.el | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 8e24629..2816aee 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1143,17 +1143,22 @@ ibuffer-do-view-horizontally
(ibuffer-do-view-1 (if other-frame 'other-frame 'horizontally)))
(defun ibuffer-do-view-1 (type)
- (let ((marked-bufs (ibuffer-get-marked-buffers)))
+ (let ((marked-bufs (ibuffer-get-marked-buffers))
+ (confirm t))
(when (null marked-bufs)
(setq marked-bufs (list (ibuffer-current-buffer t))))
- (unless (and (eq type 'other-frame)
+ (when (and (eq type 'other-frame)
(not ibuffer-expert)
- (> (length marked-bufs) 3)
- (not (y-or-n-p (format "Really create a new frame for %s
buffers? "
- (length marked-bufs)))))
- (set-buffer-modified-p nil)
- (delete-other-windows)
- (switch-to-buffer (pop marked-bufs))
+ (> (length marked-bufs) 3))
+ (setq confirm
+ (y-or-n-p (format "Really create a new frame for %s buffers?
"
+ (length marked-bufs)))))
+
+ (when confirm
+ (unless (eq type 'other-frame)
+ (set-buffer-modified-p nil)
+ (delete-other-windows)
+ (switch-to-buffer (pop marked-bufs)))
(let ((height (/ (1- (if (eq type 'horizontally) (frame-width)
(frame-height)))
(1+ (length marked-bufs)))))
--
2.8.1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#24086: 25.1.50; ibuffer-do-view-1 fails to visit in new frame |
Date: |
Fri, 23 Sep 2016 15:26:36 +0900 (JST) |
User-agent: |
Alpine 2.20 (DEB 67 2015-01-07) |
Fixed in master branch as commit: 87925f11
On Fri, 23 Sep 2016, Tino Calancha wrote:
On Wed, 14 Sep 2016, Tino Calancha wrote:
If there are no further objections i will push this patch to master in
a few days.
I have pushed to master the following much simple patch:
From 87925f1125acf95439e4563f9a30864cadf7cafb Mon Sep 17 00:00:00 2001
From: Tino Calancha <address@hidden>
Date: Fri, 23 Sep 2016 15:16:15 +0900
Subject: [PATCH] ibuffer-do-view-other-frame: Display each buffer in a new
frame
* lisp/ibuffer.el (ibuffer-do-view-1):
When TYPE equals 'other-frame, then display each buffer
in a new frame (Bug#24086).
---
lisp/ibuffer.el | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 0336f1d..e965535 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1143,17 +1143,17 @@ ibuffer-do-view-horizontally
(ibuffer-do-view-1 (if other-frame 'other-frame 'horizontally)))
(defun ibuffer-do-view-1 (type)
- (let ((marked-bufs (ibuffer-get-marked-buffers)))
- (when (null marked-bufs)
- (setq marked-bufs (list (ibuffer-current-buffer t))))
+ (let ((marked-bufs (or (ibuffer-get-marked-buffers)
+ (list (ibuffer-current-buffer t)))))
(unless (and (eq type 'other-frame)
(not ibuffer-expert)
(> (length marked-bufs) 3)
(not (y-or-n-p (format "Really create a new frame for %s
buffers? "
(length marked-bufs)))))
- (set-buffer-modified-p nil)
- (delete-other-windows)
- (switch-to-buffer (pop marked-bufs))
+ (unless (eq type 'other-frame)
+ (set-buffer-modified-p nil)
+ (delete-other-windows)
+ (switch-to-buffer (pop marked-bufs)))
(let ((height (/ (1- (if (eq type 'horizontally) (frame-width)
(frame-height)))
(1+ (length marked-bufs)))))
--
2.9.3
Repository revision: 0041ce81897ef837d04674b634720645379f3b18
--- End Message ---