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: use-package.el -> Emacs core Date: Tue, 10 Nov 2015 11:24:50 -0800 (PST) Message-ID: <28f5b010-5f5a-431c-bdff-320f270f8c9d@default> References: <564136F7.2020404@yandex.ru> <877flqe1a4.fsf@gmail.com> <87twoucaxz.fsf@gmail.com> <877flqc9jh.fsf@gmail.com> <87twout0iu.fsf@fencepost.gnu.org> <2395453e-37c2-47ea-af8b-8c7cab19a7a8@default> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1447183535 2436 80.91.229.3 (10 Nov 2015 19:25:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 10 Nov 2015 19:25:35 +0000 (UTC) Cc: David Kastrup , Juanma Barranquero , Kaushal Modi , Emacs developers , Oleh Krehel , Dmitry Gutov , =?iso-8859-1?B?Sm/jbyBU4XZvcmE=?= To: John Wiegley Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 10 20:25:19 2015 Return-path: Envelope-to: ged-emacs-devel@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 1ZwEXe-00015J-RL for ged-emacs-devel@m.gmane.org; Tue, 10 Nov 2015 20:25:19 +0100 Original-Received: from localhost ([::1]:35074 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwEXe-0005tx-6V for ged-emacs-devel@m.gmane.org; Tue, 10 Nov 2015 14:25:18 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwEXP-0005tc-Ll for emacs-devel@gnu.org; Tue, 10 Nov 2015 14:25:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwEXK-0007yx-Oz for emacs-devel@gnu.org; Tue, 10 Nov 2015 14:25:03 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:24861) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwEXK-0007ya-Iu; Tue, 10 Nov 2015 14:24:58 -0500 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id tAAJOrXK028995 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 10 Nov 2015 19:24:53 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id tAAJOque010801 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 10 Nov 2015 19:24:53 GMT Original-Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id tAAJOqK2015079; Tue, 10 Nov 2015 19:24:52 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:193939 Archived-At: > >> `define-key' is not really an end-user function, > >> ... > >> as I've met countless people who have never even heard of it. >=20 > > That means nothing in this regard. There are countless people, > > including countless Emacs users, who have never heard of plenty > > of end-user features. There are probably countless such who > > have never heard of `M-x' or `C-h f' or even `C-h C-h'... >=20 > It means something to me, Drew, and I'm the one acting on behalf > of those users. Sure, but it's not an argument that just _because_ some end users are unaware of something that is used by other end users (especially if there is no alternative to using that something) it _follows_ that that thing is not "end-user". That's a phony argument. `define-key' is "end-user" because end users sometimes want/need to use keymaps other than `global-map', and it is their only way to do that. It might not be "end-user" enough for you, but that is something different. It is only the argument that I find fault with, not the attempt to come up with something better or more end-userish. > > But both are "end-user functions" and "user-facing". (That > > doesn't mean that something better cannot be found for end > > users to use.) >=20 > I think that moving define-key to an internal/programmatic mechanism, and > enriching global-set-key toward an external/user mechanism, with all the > features of bind-key, is the solution we both want. That's not a solution that I proposed or necessarily want. Just as I have no problem with end users using `setq', I have no problem with them using `define-key'. That doesn't mean that I oppose giving them something better as well (for both `setq' and `define-key'). But that does not imply "moving define-key to an internal/programmatic mechanism" (whatever you might mean by that). FWIW, I also object to some kind of definite line, dividing non-Lisp Emacs users from "internal/programmatic mechanisms" and Lisp. There is naturally a spectrum of Emacs usage that involves different degrees of using Lisp. And that's a good thing. All kinds of Emacs user are welcome. Attempts to provide non-Lisp ways to do things can be helpful. (They are not always/necessarily helpful, however.) But in general my attitude is that Emacs _is_ Elisp - Emacs is a Lisp environment. That is what makes Emacs different and specially useful. It is a mistake to draw a hard line between Emacs "end use" and Lisp. Lisp vastly increases one's use of Emacs. Without some use of Lisp, you are not really taking advantage of Emacs. You might even say that you are not _really_ using it. We should, yes, cater to helping novice users who do not know Lisp. But we should also encourage the use of Lisp with Emacs, not discourage it. You don't need Lisp to start using Emacs. But if you really want to use Emacs then you will want to learn some Lisp. That should not be because you _have to_ learn it, but because you can do so much more with Emacs if you do. Lack of Lisp knowledge should not be an unnecessary obstacle to using basic Emacs features. But we should not hide Lisp from users, as something that isn't helpful to them or something they really shouldn't bother with. The other aspect of not having a dividing line between internal/programmer and external/end-user is that this is what free software is about: users can and do dive into whatever level of the "internals" - the source code - they feel like. And they are not discouraged from doing so - quite the contrary. Users _are_ developers in this context, even just by suggesting things that can affect them directly, but also by, themselves, getting involved with Lisp and coming up with other ways to do things. GNU Emacs has a privileged role to play in this regard. It is the use-it, customize-it, fiddle-with-it, extend-it end-user application par excellence. (Just one opinion.) > I'm the one acting on behalf of those users. ^^^^^^^^^^^ You are not the only one. Lots of us here keep those users in mind and try to act on their behalf. I'm glad you do too. Welcome aboard. ;-)