From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.bugs Subject: bug#16226: [patch] icomplete can't display completions on initial display Date: Mon, 23 Dec 2013 07:47:09 -0800 Message-ID: <52B85AFD.1010604@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090607060700010903010302" X-Trace: ger.gmane.org 1387813692 26146 80.91.229.3 (23 Dec 2013 15:48:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 23 Dec 2013 15:48:12 +0000 (UTC) To: 16226@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 23 16:48:18 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Vv7jt-0003pA-MP for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Dec 2013 16:48:17 +0100 Original-Received: from localhost ([::1]:34182 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vv7jt-0001ye-4v for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Dec 2013 10:48:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vv7jl-0001yU-SV for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:48:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vv7jf-00038w-4a for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:48:09 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:50256) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vv7jf-00038r-1v for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:48:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vv7je-00041B-Jv for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:48:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Colascione Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Dec 2013 15:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 16226 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-emacs Original-Received: via spool by submit@debbugs.gnu.org id=B.138781365315380 (code B ref -1); Mon, 23 Dec 2013 15:48:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 Dec 2013 15:47:33 +0000 Original-Received: from localhost ([127.0.0.1]:36042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vv7jA-0003zx-Qi for submit@debbugs.gnu.org; Mon, 23 Dec 2013 10:47:33 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:35126) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vv7j8-0003zn-HM for submit@debbugs.gnu.org; Mon, 23 Dec 2013 10:47:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vv7j3-0002ym-Ht for submit@debbugs.gnu.org; Mon, 23 Dec 2013 10:47:30 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:49187) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vv7j3-0002yi-F4 for submit@debbugs.gnu.org; Mon, 23 Dec 2013 10:47:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36799) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vv7iy-0001wL-Br for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:47:25 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vv7iq-0002c4-HG for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:47:20 -0500 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:47997) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vv7ip-0002bz-VZ for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 10:47:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=lsjkf0ogCopf7BBneKj+xbafimFerG0zr4vENJKmgrE=; b=VAur0zYtwTyAOgYRmM70oi5JycEqVUBzDvnBGrNgooHI15dSPEw/Vc0nvV5E67alExPKKpr60ysLGhzhc18KC8CKtFJoeK5Om4b3cT+bAlHBdsBH+G7WEJcg3dXhhx1yeGlD08hpgLWYkglw1WLJT12PfAysfSnykd+9Ugnr4KA2E8Mit6mtypFXLIG5saigbwDF3ymJQkGkxFjzJkFjzgmfGDJTgXt+aj8Cchm9OmLlR2LpAqW7CTaCCJwDRERb3oyHdgBXumn5pgPPkCFBSiMGBuM7mN1+S1MFp5VtA4AG+Pxz8UHMIQfmy/3HjKSCG3xD3o3fQYO3v5aSZqMn7g==; Original-Received: from c-76-22-66-162.hsd1.wa.comcast.net ([76.22.66.162] helo=[192.168.1.100]) by dancol.org with esmtpsa (TLS1.0:DHE_RSA_CAMELLIA_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1Vv7ip-0005mv-1p for bug-gnu-emacs@gnu.org; Mon, 23 Dec 2013 07:47:11 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:82442 Archived-At: This is a multi-part message in MIME format. --------------090607060700010903010302 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit This patch allows icomplete to work a bit more like iswitchb and show a list of completions when first entering a completion task. --------------090607060700010903010302 Content-Type: text/x-patch; name="compl.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="compl.patch" === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-12-23 15:01:32 +0000 +++ lisp/ChangeLog 2013-12-23 15:42:53 +0000 @@ -1,6 +1,11 @@ 2013-12-23 Daniel Colascione * icomplete.el: Move `provide' to end of file. + (icomplete-show-matches-on-no-input): New customizable variable. + (icomplete-minibuffer-setup): Call `icomplete-exhibit' on setup if + we have something to show. + (icomplete-exhibit): Compute completions even if we have no user + input. 2013-12-23 Teodor Zlatanov === modified file 'lisp/icomplete.el' --- lisp/icomplete.el 2013-12-23 15:01:32 +0000 +++ lisp/icomplete.el 2013-12-23 15:32:57 +0000 @@ -79,6 +79,12 @@ :version "24.4" :group 'icomplete) +(defcustom icomplete-show-matches-on-no-input t + "When non-nil, show completions when first prompting for input." + :type 'boolean + :version "24.4" + :group 'icomplete) + (defface icomplete-first-match '((t :weight bold)) "Face used by icomplete for highlighting first match." :version "24.4" @@ -256,7 +262,9 @@ (current-local-map))) (add-hook 'pre-command-hook #'icomplete-pre-command-hook nil t) (add-hook 'post-command-hook #'icomplete-post-command-hook nil t) - (run-hooks 'icomplete-minibuffer-setup-hook))) + (run-hooks 'icomplete-minibuffer-setup-hook) + (when icomplete-show-matches-on-no-input + (icomplete-exhibit)))) (defvar icomplete--in-region-buffer nil) @@ -304,8 +312,9 @@ (save-excursion (goto-char (point-max)) ; Insert the match-status information: - (if (and (> (icomplete--field-end) (icomplete--field-beg)) - buffer-undo-list ; Wait for some user input. + (if (and (or (> (icomplete--field-end) (icomplete--field-beg)) + (and icomplete-show-matches-on-no-input + (= (icomplete--field-end) (icomplete--field-beg)))) (or ;; Don't bother with delay after certain number of chars: (> (- (point) (icomplete--field-beg)) --------------090607060700010903010302--