From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark Plaksin Newsgroups: gmane.emacs.help Subject: Re: Use ido for *all* completion? Date: Thu, 10 Mar 2005 12:24:18 -0500 Message-ID: References: <87k6ohqfyi.fsf@ID-87814.user.uni-berlin.de> <877jkgyacz.fsf@orebokech.com> <87ll8wo5nb.fsf@ID-87814.user.uni-berlin.de> <87is40vtch.fsf@orebokech.com> <87mztbu1uy.fsf@ID-87814.user.uni-berlin.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1110476752 21334 80.91.229.2 (10 Mar 2005 17:45:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 10 Mar 2005 17:45:52 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Mar 10 18:45:51 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1D9RjD-0002Je-CZ for geh-help-gnu-emacs@m.gmane.org; Thu, 10 Mar 2005 18:45:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D9Ry8-0003Av-6n for geh-help-gnu-emacs@m.gmane.org; Thu, 10 Mar 2005 13:01:08 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D9RqA-0000cJ-Ie for help-gnu-emacs@gnu.org; Thu, 10 Mar 2005 12:52:57 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D9Rpz-0000UQ-UC for help-gnu-emacs@gnu.org; Thu, 10 Mar 2005 12:52:44 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D9Rpv-0000Pa-Tw for help-gnu-emacs@gnu.org; Thu, 10 Mar 2005 12:52:39 -0500 Original-Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1D9RVY-0007lg-Bb for help-gnu-emacs@gnu.org; Thu, 10 Mar 2005 12:31:36 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1D9RRC-00087h-M4 for help-gnu-emacs@gnu.org; Thu, 10 Mar 2005 18:27:07 +0100 Original-Received: from water.tss.usg.edu ([168.24.82.53]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 10 Mar 2005 18:27:06 +0100 Original-Received: from happy by water.tss.usg.edu with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 10 Mar 2005 18:27:06 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: help-gnu-emacs@gnu.org Original-Lines: 65 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: water.tss.usg.edu User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:f00d3M4bKoVAZ+VOQIRcBZCjtKw= X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org X-MailScanner-To: geh-help-gnu-emacs@m.gmane.org Xref: news.gmane.org gmane.emacs.help:24744 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:24744 Peter Lee writes: >>>>> Mark Plaksin writes: > > > I have looked at icomplete, partial-completion-mode, and ido. Of the > > three, ido is the best for me. > > There is also mcomplete. Not sure of the differences between > mcomplete and those other modes you listed, but it does prefix and > substring completion. mcomplete.el (http://homepage1.nifty.com/bmonkey/emacs/elisp/mcomplete.el) has a nice ASCII drawing of how it integrates with the minibuffer. Maybe we can use this same method with ido. I'll take a look at this one day soon. Here's the drawing; ;;; How this package works: ;; On loading this package, ;; `mcomplete-minibuffer-setup' is registered in `minibuffer-setup-hook'. ;; ;; ;; Some command tries to begin a minibuffer session ;; | ;; v ;; (run-hooks 'minibuffer-setup-hook) -+ ;; | | ;; | v ;; | `mcomplete-minibuffer-setup' ;; | (when (mcomplete-p) ;; | (run-hooks 'mcomplete-minibuffer-setup-hook)) ;; | | ;; | v ;; | `mcomplete-setup-command-hooks' ;; | * registers `mcomplete-pre-command-hook' in ;; | the buffer local `pre-command-hook'. ;; | * registers `mcomplete-post-command-hook' in ;; | the buffer local `post-command-hook'. ;; v ;; The minibuffer session begins ;; | ;; v ;; Some key is pressed in the minibuffer ;; | ;; v ;; (run-hooks 'pre-command-hook) -+ ;; | | ;; | v ;; | (run-hooks 'mcomplete-pre-command-hook) ;; | | ;; | v ;; | `mcomplete-pre-command-tidy' ;; | * clears information display in the minibuffer. ;; v ;; The command for the key is executed ;; | ;; v ;; (run-hooks 'post-command-hook) -+ ;; | ;; v ;; (run-hooks 'mcomplete-post-command-hook) ;; | ;; v ;; `mcomplete-post-command-exhibit' ;; * displays information in the minibuffer.