changeset 57648:f2e389526e8b

(ibuffer-jump-to-buffer): Read buffer name in interactive spec rather than use `interactive-p' in body of function.
author John Paul Wallington <jpw@pobox.com>
date Sat, 23 Oct 2004 10:09:44 +0000
parents 8d482c598152
children 3ab316cf5b35
files lisp/ibuf-ext.el
diffstat 1 files changed, 45 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ibuf-ext.el	Fri Oct 22 13:17:31 2004 +0000
+++ b/lisp/ibuf-ext.el	Sat Oct 23 10:09:44 2004 +0000
@@ -1237,53 +1237,51 @@
 If `ibuffer-jump-offer-only-visible-buffers' is non-nil, only offer
 visible buffers in the completion list.  Calling the command with
 a prefix argument reverses the meaning of that variable."
-  (interactive (list nil))
-  (let ((only-visible ibuffer-jump-offer-only-visible-buffers))
-    (when current-prefix-arg
-      (setq only-visible (not only-visible)))
-    (if only-visible
-	(let ((table (mapcar #'(lambda (x)
-				 (buffer-name (car x)))
-			     (ibuffer-current-state-list))))
-	  (when (null table)
-	    (error "No buffers!"))
-	  (when (interactive-p)
-	    (setq name (completing-read "Jump to buffer: "
-					table nil t))))
-      (when (interactive-p)
-	(setq name (read-buffer "Jump to buffer: " nil t))))
-    (when (not (string= "" name))
-      (let (buf-point)
-	;; Blindly search for our buffer: it is very likely that it is
-	;; not in a hidden filter group.
-	(ibuffer-map-lines #'(lambda (buf marks)
-			       (when (string= (buffer-name buf) name)
-				 (setq buf-point (point))
-				 nil))
-			   t nil)
-	(when (and
-	       (null buf-point)
-	       (not (null ibuffer-hidden-filter-groups)))
-	  ;; We did not find our buffer.  It must be in a hidden filter
-	  ;; group, so go through all hidden filter groups to find it.
-	  (catch 'found
-	    (dolist (group ibuffer-hidden-filter-groups)
-	      (ibuffer-jump-to-filter-group group)
-	      (ibuffer-toggle-filter-group)
-	      (ibuffer-map-lines #'(lambda (buf marks)
-				     (when (string= (buffer-name buf) name)
-				       (setq buf-point (point))
-				       nil))
-				 t group)
-	      (if buf-point
-		  (throw 'found nil)
-		(ibuffer-toggle-filter-group)))))
-	(if (null buf-point)
-	    ;; Still not found even though we expanded all hidden filter
-	    ;; groups: that must be because it's hidden by predicate:
-	    ;; we won't bother trying to display it.
-	    (error "No buffer with name %s" name)
-	  (goto-char buf-point))))))
+  (interactive (list
+		(let ((only-visible ibuffer-jump-offer-only-visible-buffers))
+		  (when current-prefix-arg
+		    (setq only-visible (not only-visible)))
+		  (if only-visible
+		      (let ((table (mapcar #'(lambda (x)
+					       (buffer-name (car x)))
+					   (ibuffer-current-state-list))))
+			(when (null table)
+			  (error "No buffers!"))
+			(completing-read "Jump to buffer: "
+					 table nil t))
+		    (read-buffer "Jump to buffer: " nil t)))))
+  (when (not (string= "" name))
+    (let (buf-point)
+      ;; Blindly search for our buffer: it is very likely that it is
+      ;; not in a hidden filter group.
+      (ibuffer-map-lines #'(lambda (buf marks)
+			     (when (string= (buffer-name buf) name)
+			       (setq buf-point (point))
+			       nil))
+			 t nil)
+      (when (and
+	     (null buf-point)
+	     (not (null ibuffer-hidden-filter-groups)))
+	;; We did not find our buffer.  It must be in a hidden filter
+	;; group, so go through all hidden filter groups to find it.
+	(catch 'found
+	  (dolist (group ibuffer-hidden-filter-groups)
+	    (ibuffer-jump-to-filter-group group)
+	    (ibuffer-toggle-filter-group)
+	    (ibuffer-map-lines #'(lambda (buf marks)
+				   (when (string= (buffer-name buf) name)
+				     (setq buf-point (point))
+				     nil))
+			       t group)
+	    (if buf-point
+		(throw 'found nil)
+	      (ibuffer-toggle-filter-group)))))
+      (if (null buf-point)
+	  ;; Still not found even though we expanded all hidden filter
+	  ;; groups: that must be because it's hidden by predicate:
+	  ;; we won't bother trying to display it.
+	  (error "No buffer with name %s" name)
+	(goto-char buf-point)))))
 
 ;;;###autoload
 (defun ibuffer-diff-with-file ()