From: Gerd Moellmann Date: Sun, 30 Jul 2000 14:03:38 +0000 (+0000) Subject: (iswitchb-entryfn-p): Test this-command instead X-Git-Tag: emacs-pretest-21.0.90~2546 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/261196242e151ff82c9473d1543f3bb1e931338d (iswitchb-entryfn-p): Test this-command instead of testing if iswitchb-prepost-hooks is bound, because the latter will always be true when invoking a recursive minibuffer from an active Iswitchb buffer. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 99f458e556..768bae5c84 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2000-07-30 Gerd Moellmann + + * iswitchb.el (iswitchb-entryfn-p): Test this-command instead + of testing if iswitchb-prepost-hooks is bound, because the + latter will always be true when invoking a recursive minibuffer + from an active Iswitchb buffer. + 2000-07-30 Eli Zaretskii * files.el (shell-quote-wildcard-pattern): New function. diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index 6cd519bcc9..6ab5f01f09 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el @@ -1088,7 +1088,6 @@ This is a hack for XEmacs, and should really be handled by `iswitchb-exhibit'." Copied from `icomplete-exhibit' with two changes: 1. It prints a default buffer name when there is no text yet entered. 2. It calls my completion routine rather than the standard completion." - (if iswitchb-use-mycompletion (let ((contents (buffer-substring (minibuffer-prompt-end) (point-max))) (buffer-undo-list t)) @@ -1108,16 +1107,13 @@ Copied from `icomplete-exhibit' with two changes: (iswitchb-set-common-completion) ;; Insert the match-status information: - (insert-string - (iswitchb-completions - contents - minibuffer-completion-table - minibuffer-completion-predicate - (not minibuffer-completion-confirm))) - )))) - -(defun iswitchb-completions - (name candidates predicate require-match) + (insert-string (iswitchb-completions + contents + minibuffer-completion-table + minibuffer-completion-predicate + (not minibuffer-completion-confirm))))))) + +(defun iswitchb-completions (name candidates predicate require-match) "Return the string that is displayed after the user's text. Modified from `icomplete-completions'." @@ -1249,17 +1245,15 @@ Copied from `icomplete-tidy'." (setq iswitchb-eoinput 1))) (defun iswitchb-entryfn-p () - "Return non-nil if `this-command' shows we are using `iswitchb-buffer'." - (or (boundp 'iswitchb-prepost-hooks) - ;; I think the of this may be redundant, since the prepost hooks - ;; will always be set in the iswitchb defuns. - ;;(and (symbolp this-command) ; ignore lambda functions - ;;(memq this-command - ;; '(iswitchb-buffer - ;; iswitchb-buffer-other-frame - ;; iswitchb-display-buffer - ;; iswitchb-buffer-other-window)))) - )) + "Return non-nil if we are using `iswitchb-buffer'." + ;; Testing if `iswitchb-prepost-hooks' is bound does not work when + ;; we're invoking a recursive mini-buffer from an Iswitchb buffer. + ;; In this case, `iswitchb-prepost-hooks' is bound in the second + ;; mini-buffer, although it's not an Iswitchb buffer. + (memq this-command + '(iswitchb-buffer iswitchb-buffer-other-frame + iswitchb-display-buffer + iswitchb-buffer-other-window))) (defun iswitchb-summaries-to-end () "Move the summaries to the end of the list.