;;; Code:
-;; CL needed for cadr and last
-(if (not (and (fboundp 'cadr)
- (fboundp 'last)))
- (require 'cl))
-
(require 'font-lock)
-;; Set up the custom library.
-;; taken from http://www.dina.kvl.dk/~abraham/custom/
-(eval-and-compile
- (condition-case ()
- (require 'custom)
- (error nil))
- (if (and (featurep 'custom) (fboundp 'custom-declare-variable))
- nil ;; We've got what we needed
- ;; We have the old custom-library, hack around it!
- (defmacro defgroup (&rest args)
- nil)
- (defmacro defcustom (var value doc &rest args)
- `(defvar ,var ,value ,doc))))
-
;;; User Variables
;;
;; These are some things you might want to change.
:type 'hook
:group 'iswitchb)
-;;; Examples for setting the value of iswitchb-buffer-ignore
-;(defun iswitchb-ignore-c-mode (name)
-; "Ignore all c mode buffers -- example function for iswitchb."
-; (save-excursion
-; (set-buffer name)
-; (string-match "^C$" mode-name)))
+;; Examples for setting the value of iswitchb-buffer-ignore
+;;(defun iswitchb-ignore-c-mode (name)
+;; "Ignore all c mode buffers -- example function for iswitchb."
+;; (with-current-buffer name
+;; (derived-mode-p 'c-mode)))
-;(setq iswitchb-buffer-ignore '("^ " iswitchb-ignore-c-mode))
-;(setq iswitchb-buffer-ignore '("^ " "\\.c$" "\\.h$"))
+;;(setq iswitchb-buffer-ignore '("^ " iswitchb-ignore-c-mode))
+;;(setq iswitchb-buffer-ignore '("^ " "\\.c\\'" "\\.h\\'"))
(defcustom iswitchb-default-method 'always-frame
"*How to switch to new buffer when using `iswitchb-buffer'.
;;; ISWITCHB KEYMAP
(defun iswitchb-define-mode-map ()
- "Set up the keymap for `iswitchb-buffer'.
-This is obsolete. Use \\[iswitchb-mode] or customize the
-variable `iswitchb-mode'."
+ "Set up the keymap for `iswitchb-buffer'."
(interactive)
(let (map)
;; generated every time so that it can inherit new functions.
(setq iswitchb-mode-map map)
(run-hooks 'iswitchb-define-mode-map-hook)))
+(make-obsolete 'iswitchb-define-mode-map
+ "use M-x iswitchb-mode or customize the variable `iswitchb-mode'."
+ "21.1")
+
;;; MAIN FUNCTION
(defun iswitchb ()
"Switch to buffer matching a substring.
"Find common completion of `iswitchb-text' in `iswitchb-matches'.
The result is stored in `iswitchb-common-match-string'."
- (let* (val)
+ (let (val)
(setq iswitchb-common-match-string nil)
(if (and iswitchb-matches
(not iswitchb-regexp) ;; testing
(setq iswitchb-exit 'findfile)
(exit-minibuffer))
-(eval-when-compile
- (defvar recentf-list))
+(defvar recentf-list)
(defun iswitchb-next-match ()
"Put first element of `iswitchb-matches' at the end of the list."
"Set `iswitchb-matches' to the list of buffers matching prompt."
(if iswitchb-rescan
(setq iswitchb-matches
- (let* ((buflist iswitchb-buflist))
+ (let ((buflist iswitchb-buflist))
(iswitchb-get-matched-buffers iswitchb-text iswitchb-regexp
buflist))
iswitchb-virtual-buffers nil)))
"Return buffers matching REGEXP.
If STRING-FORMAT is nil, consider REGEXP as just a string.
BUFFER-LIST can be list of buffers or list of strings."
- (let* ((case-fold-search (iswitchb-case))
+ (let ((case-fold-search (iswitchb-case))
name ret)
(if (null string-format) (setq regexp (regexp-quote regexp)))
(setq iswitchb-invalid-regexp nil)
;;; VISIT CHOSEN BUFFER
(defun iswitchb-visit-buffer (buffer)
"Visit buffer named BUFFER according to `iswitchb-method'."
- (let* (win newframe)
+ (let (win newframe)
(cond
((eq iswitchb-method 'samewindow)
(switch-to-buffer buffer))
(defun iswitchb-default-keybindings ()
"Set up default keybindings for `iswitchb-buffer'.
Call this function to override the normal bindings. This function also
-adds a hook to the minibuffer.
-
-Obsolescent. Use `iswitchb-mode'."
+adds a hook to the minibuffer."
(interactive)
(add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)
(global-set-key "\C-xb" 'iswitchb-buffer)
(global-set-key "\C-x4\C-o" 'iswitchb-display-buffer)
(global-set-key "\C-x5b" 'iswitchb-buffer-other-frame))
+(make-obsolete 'iswitchb-default-keybindings 'iswitchb-mode "21.1")
+
(defun iswitchb-buffer ()
"Switch to another buffer.
(insert (iswitchb-completions
contents))))))
-(eval-when-compile
- (defvar most-len)
- (defvar most-is-exact))
+(defvar most-len)
+(defvar most-is-exact)
(defun iswitchb-output-completion (com)
(if (= (length com) most-len)