From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: Menu commands to M-x history? Date: Mon, 27 Jul 2009 11:57:08 -0700 Message-ID: References: <87skgqu2ce.fsf@olgas.newt.com> <7432.1248236149@olgas.newt.com> <7dbe73ed0907221134o1a1fe024k353b1a9a61482041@mail.gmail.com> <9D1E3CE97BF4491E973F872B00D6277D@us.oracle.com> <916D7A0558D14A809114127E47A21BB2@us.oracle.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1248721187 28753 80.91.229.12 (27 Jul 2009 18:59:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 27 Jul 2009 18:59:47 +0000 (UTC) Cc: emacs-devel@gnu.org, rms@gnu.org, 'Mathias Dahl' To: "'Lennart Borgman'" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 27 20:59:40 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MVVQA-0003Dx-G9 for ged-emacs-devel@m.gmane.org; Mon, 27 Jul 2009 20:59:39 +0200 Original-Received: from localhost ([127.0.0.1]:52310 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MVVQ9-0004qz-W6 for ged-emacs-devel@m.gmane.org; Mon, 27 Jul 2009 14:59:38 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MVVO1-0003e2-E1 for emacs-devel@gnu.org; Mon, 27 Jul 2009 14:57:25 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MVVNw-0003cu-QY for emacs-devel@gnu.org; Mon, 27 Jul 2009 14:57:25 -0400 Original-Received: from [199.232.76.173] (port=35119 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MVVNw-0003cr-Kt for emacs-devel@gnu.org; Mon, 27 Jul 2009 14:57:20 -0400 Original-Received: from acsinet12.oracle.com ([141.146.126.234]:57511) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MVVNt-0006oO-8E; Mon, 27 Jul 2009 14:57:17 -0400 Original-Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by acsinet12.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n6RIuoQ3002995 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 27 Jul 2009 18:56:51 GMT Original-Received: from abhmt007.oracle.com (abhmt007.oracle.com [141.146.116.16]) by acsinet15.oracle.com (Switch-3.3.1/Switch-3.3.1) with ESMTP id n6RIvL8t002983; Mon, 27 Jul 2009 18:57:21 GMT Original-Received: from dradamslap1 (/130.35.178.194) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 27 Jul 2009 11:57:08 -0700 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 Thread-Index: AcoO2R4mfHX/q8HoRfSMds2YxLqRAQAEMPCA X-Source-IP: abhmt007.oracle.com [141.146.116.16] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A010202.4A6DF885.003E:SCFSTAT5015188,ss=1,fgs=0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 1) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:113248 Archived-At: > > As someone else said, `M-x' is, well, for `M-x'-executed commands. > > Yes, Richard said that but I do not agree. The M-x history is > for the users. And? Of course histories are for users. "The history"? There are plenty of different histories, appropriate to different commands that use them. This is the history for `M-x'. When you call `completing-read', if you specify a history-variable arg, then the user's input is added to that particular history. The history used for `M-x' is `extended-command-history'. > Don't mix the programmer semantics with the user semantics unless > there is a good reason to do so. Very often there is, but not in a > case like this. What does that mean? How did I mix them? Or what non-mixing do you have in mind? IOW, what is it that you are really trying to say? > > That's important for users. > > Why is it important for users? See what was said previously. Noise reduction. Pertinence of history entries to the task at hand. You know, we _could_ always use just `minibuffer-history', and have no such specificity. But that is less useful to users. > > It is why commands executed using key bindings are also not > > included in the history list. > > That is a totally diffirent story since it is a different context as I > said before. You really do not need any of the commands you execute > with a key binding in the M-x history. I think you do. But only on demand. I won't bother arguing for/about that here. But yes, in Icicles, on-demand access to menu-item commands is no different from on-demand access to all other commands called using `call-interactively'. I simply advise `call-interactively', to push each such command to the larger list, `icicle-interactive-history'. > > So, I hear you say, filter out insignificant commands - > commands such as > > `self-insert-command' and `forward-char'. > > That is hallucination ;-) You in fact say to filter out _all_ commands invoked via keys, which is an even stronger hallucination. > No one calls these commands from the menus. (You did not intend to say > that, but I could not resist writing this ...) I said that I treat all commands called using `call-interactively' the same way. > >> Drew, I think you see what I mean. This reasoning just gets overlay > >> complicated to actually use IMO. > > > > Why? The only change is to provide some key to let you > > access the additional commands. > > Because it is intended to be helpful to newbies, Not to > experienced Emacs users. I intend it to be helpful to both. If a newbie can learn `C-h k', then s?he can learn a key to complete commands previously invoked from the menu. And as I mentioned, with La Carte, a newbie can use just the menu if s?he wants, with completion of menu items. And there, the history passed to `completing-read' is `icicle-interactive-history', so there is no need to hit a special key to access such commands. It is only for `M-x' (which is not about menu items) that you hit a special key to enlarge the history list to include commands invoked other than by `M-x'. > That they should not be to deep is a valid argument mainly when you > use the commands from the menus often. But it is a bad argument when > you want to use the menus more for finding commands. (We use that > reasoning for example in the help menus.) I don't have an argument with you here, except that _other things being equal_, a shallow is easier than deep. Believe me, as someone who used the infamous Interleaf GUI, which had cascading menus 8 zillion levels deep - that's no panacea for users. > In the cases that the menus are deep it can be very helpful to put the > commands in M-x history IMO. And the other ones does not disturb very > much since you either do not use them often or use a key binding for > the commands. We agree that being able to access menu items via history can be helpful. We disagree whether such access should be by default or on demand. > Yes. I think they should be in M-x command history. Not putting them > there is merely a misunderstanding of what semantics to use. Dunno what that means.