Function: ibuffer-do-view-1

ibuffer-do-view-1 is a byte-compiled function defined in ibuffer.el.gz.

Signature

(ibuffer-do-view-1 TYPE)

Source Code

;; Defined in /usr/src/emacs/lisp/ibuffer.el.gz
(defun ibuffer-do-view-1 (type)
  (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)))))
      (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)))))
	(mapcar (if (eq type 'other-frame)
		    (lambda (buf)
		      (let ((curframe (selected-frame)))
			(select-frame (make-frame))
			(switch-to-buffer buf)
			(select-frame curframe)))
		  (lambda (buf)
		    (split-window nil height (eq type 'horizontally))
		    (other-window 1)
		    (switch-to-buffer buf)))
		marked-bufs)))))