mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-19 11:27:34 +00:00
(ibuffer-jump-to-buffer): Read buffer name in interactive spec rather
than use `interactive-p' in body of function.
This commit is contained in:
parent
d0ee2ed32e
commit
33a584e6d6
2 changed files with 51 additions and 47 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2004-10-23 John Paul Wallington <jpw@gnu.org>
|
||||
|
||||
* ibuf-ext.el (ibuffer-jump-to-buffer): Read buffer name in
|
||||
interactive spec rather than use `interactive-p' in body of
|
||||
function.
|
||||
|
||||
2004-10-22 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* international/mule.el (translate-region): Implement it in Lisp
|
||||
|
|
|
|||
|
|
@ -1237,53 +1237,51 @@ hidden group filter, open it.
|
|||
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 ()
|
||||
|
|
|
|||
Loading…
Reference in a new issue