;;; iswitchb.el --- switch between buffers using substrings
-;; Copyright (C) 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
;; Author: Stephen Eglen <stephen@gnu.org>
;; Maintainer: Stephen Eglen <stephen@gnu.org>
;; The list in {} are the matching buffers, most recent first (buffers
;; visible in the current frame are put at the end of the list by
;; default). At any time I can select the item at the head of the
-;; list by pressing RET. I can also bring the put the first element
-;; at the end of the list by pressing C-s, or put the last element at
-;; the head of the list by pressing C-r. The item in [] indicates
-;; what can be added to my input by pressing TAB. In this case, I
-;; will get "3" added to my input. So, press TAB:
+;; list by pressing RET. I can also put the first element at the end
+;; of the list by pressing C-s, or put the last element at the head of
+;; the list by pressing C-r. The item in [] indicates what can be
+;; added to my input by pressing TAB. In this case, I will get "3"
+;; added to my input. So, press TAB:
;; iswitch 23{123456,123}
;;
;; At this point, I still have two matching buffers.
(defvar iswitchb-buffer-ignore-orig nil
"Stores original value of `iswitchb-buffer-ignore'.")
-(defvar iswitchb-xemacs (string-match "XEmacs" (emacs-version))
- "Non-nil if we are running XEmacs. Otherwise, assume we are running Emacs.")
-
(defvar iswitchb-default nil
"Default buffer for iswitchb.")
(iswitchb-set-matches)
(let
((minibuffer-local-completion-map iswitchb-mode-map)
- (iswitchb-prepost-hooks t)
;; Record the minibuffer depth that we expect to find once
;; the minibuffer is set up and iswitchb-entryfn-p is called.
(iswitchb-minibuf-depth (1+ (minibuffer-depth)))
(set-buffer buf))
(with-output-to-temp-buffer temp-buf
- (if iswitchb-xemacs
+ (if (featurep 'xemacs)
;; XEmacs extents are put on by default, doesn't seem to be
;; any way of switching them off.
(or (eq iswitchb-method 'always-frame)
(y-or-n-p "Jump to frame? ")))
(setq newframe (window-frame win))
- (if (not iswitchb-xemacs)
+ (if (fboundp 'select-frame-set-input-focus)
(select-frame-set-input-focus newframe)
(raise-frame newframe)
(select-frame newframe)
((eq iswitchb-method 'otherframe)
(progn
(switch-to-buffer-other-frame buffer)
- (if (not iswitchb-xemacs)
+ (if (fboundp 'select-frame-set-input-focus)
(select-frame-set-input-focus (selected-frame)))
)))))
(goto-char (point-min)))))
;; add this hook for XEmacs only.
-(if iswitchb-xemacs
+(if (featurep 'xemacs)
(add-hook 'iswitchb-minibuffer-setup-hook
'iswitchb-init-XEmacs-trick))
(define-key iswitchb-mode-map '[backspace] 'backward-delete-char)
(define-key iswitchb-mode-map '[(meta backspace)] 'backward-kill-word))
-(if iswitchb-xemacs
+(if (featurep 'xemacs)
(add-hook 'iswitchb-define-mode-map-hook
'iswitchb-xemacs-backspacekey))
;; Insert the match-status information:
(insert (iswitchb-completions
contents
- minibuffer-completion-table
- minibuffer-completion-predicate
(not minibuffer-completion-confirm)))))))
-(defun iswitchb-completions (name candidates predicate require-match)
+(defun iswitchb-completions (name require-match)
"Return the string that is displayed after the user's text.
Modified from `icomplete-completions'."
(most nil)
(most-len (length most))
most-is-exact
- first
(alternatives
(apply
(function concat)
"Return non-nil iff we should ignore case when matching.
See the variable `iswitchb-case' for details."
(if iswitchb-case
- (if iswitchb-xemacs
+ (if (featurep 'xemacs)
(isearch-no-upper-case-p iswitchb-text)
(isearch-no-upper-case-p iswitchb-text t))))