From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#13602: 24.3.50; remove bindings for `icomplete-minibuffer-map' - make a separate mode Date: Thu, 31 Jan 2013 11:41:44 -0800 Message-ID: <65EEA895D8A0443A859A780AB233146E@us.oracle.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1359661347 7358 80.91.229.3 (31 Jan 2013 19:42:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 31 Jan 2013 19:42:27 +0000 (UTC) To: 13602@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Jan 31 20:42:48 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 1U1020-0000cc-3R for geb-bug-gnu-emacs@m.gmane.org; Thu, 31 Jan 2013 20:42:44 +0100 Original-Received: from localhost ([::1]:45752 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U101i-0005mk-05 for geb-bug-gnu-emacs@m.gmane.org; Thu, 31 Jan 2013 14:42:26 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:42887) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U101e-0005mc-7e for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:42:24 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U101b-0005BK-47 for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:42:22 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:52588) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U101b-0005B9-0r for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:42:19 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1U102I-00079Y-4U for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:43:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 31 Jan 2013 19:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 13602 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Original-Received: via spool by submit@debbugs.gnu.org id=B.135966136127463 (code B ref -1); Thu, 31 Jan 2013 19:43:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 31 Jan 2013 19:42:41 +0000 Original-Received: from localhost ([127.0.0.1]:58049 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U101w-00078u-Ec for submit@debbugs.gnu.org; Thu, 31 Jan 2013 14:42:40 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:59699) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1U101s-00078h-M0 for submit@debbugs.gnu.org; Thu, 31 Jan 2013 14:42:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U1019-00059L-PC for submit@debbugs.gnu.org; Thu, 31 Jan 2013 14:41:53 -0500 Original-Received: from lists.gnu.org ([208.118.235.17]:55195) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U1019-00059G-Lh for submit@debbugs.gnu.org; Thu, 31 Jan 2013 14:41:51 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:42824) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U1018-0005gJ-FT for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:41:51 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U1017-000590-4X for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:41:50 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:27154) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U1016-00058q-UJ for bug-gnu-emacs@gnu.org; Thu, 31 Jan 2013 14:41:49 -0500 Original-Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r0VJfk6g012314 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 31 Jan 2013 19:41:47 GMT Original-Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r0VJfjlU002114 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 31 Jan 2013 19:41:46 GMT Original-Received: from abhmt113.oracle.com (abhmt113.oracle.com [141.146.116.65]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id r0VJfj0x000909 for ; Thu, 31 Jan 2013 13:41:45 -0600 Original-Received: from dradamslap1 (/130.35.178.8) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 31 Jan 2013 11:41:45 -0800 X-Mailer: Microsoft Office Outlook 11 Thread-Index: Ac3/6v/g3ManVaDARayEI78oPamgNA== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.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:70541 Archived-At: Icomplete mode is general, for use with all minibuffers, whatever the kind of input being done (kind of completion or input without completion, etc.). It needs to be sensitive to this and not impose itself like a brute. There are many minibuffer keymaps, with many keys in them. And applications often define more keys in these maps. These Icomplete keybindings are inappropriate: (defvar icomplete-minibuffer-map (let ((map (make-sparse-keymap))) (define-key map [?\M-\t] 'minibuffer-force-complete) (define-key map [?\C-j] 'minibuffer-force-complete-and-exit) (define-key map [?\C-s] 'icomplete-forward-completions) (define-key map [?\C-r] 'icomplete-backward-completions) map)) It is not kosher to bind such keys in the minibuffer in a general mode. Let users bind them if they like. In particular: C-s and C-r are used to search minibuffer text (e.g. move the cursor). M-TAB is useful in the minibuffer to complete names. And users and applications can reasonably bind C-j to be self-inserting in the minibuffer, just as some do for SPC. `icomplete-mode-map' should not even be unconditionally imposed as part of the local map when Icomplete mode is turned on. You have made it difficult for users to get the normal, traditional Icomplete behavior without your recent additions for cycling. Misguided. Please let users more easily choose whether they want that. I propose that you create a separate mode for using `icomplete-mode-map', analogous to the separation between `cua-mode' and `cua-selection-mode'. That is clean and simple for you to do. Users turning on Icomplete mode would not get these key bindings. Users turning on the new Icomplet-With-Cycling mode (or whatever name you like) would get the current behavior you have defined: Icomplete plus your keybindings. This approach would give users more contol - an easy way to get your new cycling feature or to do without it. If they choose to use it, they can always change the key bindings. Even in that case, my suggestion would be that you pick different default bindings. But at least with this approach no bindings would not be imposed on regular Icomplete users. (defun cua-selection-mode (arg) "Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings." (interactive "P") (setq-default cua-enable-cua-keys nil) ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (if (not (called-interactively-p 'any)) (cua-mode arg) ;; Use call-interactive to turn a nil prefix arg into `toggle'. (call-interactively 'cua-mode) (customize-mark-as-set 'cua-enable-cua-keys))) In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600) of 2013-01-25 on ODIEONE Bzr revision: 111604 eliz@gnu.org-20130125143821-1ykj7ia1qjojjjnp Windowing system distributor `Microsoft Corp.', version 5.1.2600 Configured using: `configure --with-gcc (4.7) --no-opt --enable-checking --cflags -IC:/Devel/emacs/build/include --ldflags -LC:/Devel/emacs/build/lib'