From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Ergus Newsgroups: gmane.emacs.devel Subject: Re: Some developement questions Date: Thu, 23 Aug 2018 02:20:59 +0200 Message-ID: <20180823002059.bcnz2mbrwqmzi2rn@Ergus> References: <444779489.8504194.1534538988289.ref@mail.yahoo.com> <444779489.8504194.1534538988289@mail.yahoo.com> <83sh3cfb3t.fsf@gnu.org> <87sh36inql.fsf@himinbjorg.adminart.net> <8336v6cvem.fsf@gnu.org> <8736v6icgt.fsf@himinbjorg.adminart.net> <83tvnmb958.fsf@gnu.org> <877ekigiiw.fsf@himinbjorg.adminart.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1534983558 18960 195.159.176.226 (23 Aug 2018 00:19:18 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 23 Aug 2018 00:19:18 +0000 (UTC) User-Agent: NeoMutt/20180716 Cc: Eli Zaretskii , emacs-devel@gnu.org To: hw Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 23 02:19:13 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fsdLE-0004li-Lv for ged-emacs-devel@m.gmane.org; Thu, 23 Aug 2018 02:19:13 +0200 Original-Received: from localhost ([::1]:33185 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fsdNK-0000aJ-SN for ged-emacs-devel@m.gmane.org; Wed, 22 Aug 2018 20:21:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60567) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fsdND-0000Zz-SD for emacs-devel@gnu.org; Wed, 22 Aug 2018 20:21:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fsdN9-0000nD-13 for emacs-devel@gnu.org; Wed, 22 Aug 2018 20:21:15 -0400 Original-Received: from sonic306-21.consmr.mail.ir2.yahoo.com ([77.238.176.207]:44099) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fsdN8-0000lx-Pu for emacs-devel@gnu.org; Wed, 22 Aug 2018 20:21:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1534983668; bh=DqeZjz4S0/witilumha/a3RAN3o2PJJMYcJUiCE7mEM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=Q/fMXsVbrbxK6zaHcN1WaI0x8Eor6mFAW7PJVo5G8YqH8QoTKmGz7hnKhYx8hk8Goa3Fy+YBVAydlA5i6AIOAOxZpchnzA3P5mcJ8d65gocDx6GDsQ1m1vvOtsS0PwIM69XHbKwEEY/yd5W+bqX5ADnfZpPwN1JpxZDNWlf7h9X4j+YKJVwGOo+zDWYEjz+NCT9BN4x605FO0Ed1EmGgAAzBoQ5nlQvrmeTGLPps84uM4Xa30Sq7VBQN6289o6HMFliaMFGqaugdH9eMcu2uZjhnklwSSDCn8IegS6oZkFtKTOxwFvMhLQmTg8AfH1CtRTuz7uH3nEybqUwXq4QTfQ== X-YMail-OSG: .tBqQSoVM1n_tau3WiUXIydGcOkvI0iOh_rQiMSdK8yYVx7S4fOACeXE_ROHmyH gDUjLFuAaEWg_Dex0RbA_XJ2IJ4TqL5rozGoBohuXxnUgEFXLR_qRWfbgqvhY9RrlnnQ.iHZYmKE 0tfsEEX8E7cIYYoWXqUQ8wDM83rXA89XLTs2dMD6WM5Uf.KjOi3PloQrPQ8OZXrfF80jDP3ffLAA yPv6knoIu.udPz7fXO2yThUqUZWdetDiK8xGSMyGXTbG9Llsl7BMnDC0HnTrJXxkQspgUYapU3hi 2XrxSO3Ve60.DetghYhRVCDRlmTXfw56h1YjYy1WLkC4BoP.hLvEh22lICxGS26fUdszb5Eevw_X 0RUNQ81uW_viRiCBo02yOG7eleZWTWfyXNSQH7H8EzpdICHMri.SEcE7dN1Erlgj.DNwMF3f6PR9 Q6FgKUoBuOs3qWHURn8zg5Yf_wjDrU635vVmCRufZAtgAxbn4VyCR9lLl6g2KnJYKqwkGay4rNsD cNreCqhfANSPyWrgq.9ejkZkxMrSx7bAptVPQsuS9if3w7j_QpDLE5zmM.7NppyTtPpsB0fhE6gC ZEzCRszhxETAGYnZQOdohut2p1vBu8WkOSk0_HWcNeHm59dKMa3CjFqvwCfT5NLZRiBNn4.260Sr EuTmovlPuM2iZ6h5d7ereYeJeos4LxVoDmR2E2BcIRSoNARd_16wRLOhxTPufbYhxZGCXRtpFCkD 0kK8zUNVzhVZN7yUs9KzQF57p31fYmE4VInzP2mfsqwoqN1t0YarYlxB5gY8Msmr6Zkfk3LcQMqa AAFIQzK4Wdal5Fb_qVELoKBZYAcx9IKo0sGXeXo0ck Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ir2.yahoo.com with HTTP; Thu, 23 Aug 2018 00:21:08 +0000 Original-Received: from 2.152.205.184.dyn.user.ono.com (EHLO Ergus) ([2.152.205.184]) by smtp423.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 5ac9ca071c58c482a4bf4d0177aad650; Thu, 23 Aug 2018 00:21:04 +0000 (UTC) Content-Disposition: inline In-Reply-To: <877ekigiiw.fsf@himinbjorg.adminart.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 77.238.176.207 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:228836 Archived-At: Hi: When I asked about this I had in mind more or less what hd is proposing. A simple config helper specially for newer users. I see for example what Spacemacs does the first time I started it; and I thing it is a very good approach for the new user. But I don't like the excess of layers they added to the configurations after that; because it that the configuration experience feels too different and complicated. On the other hand, if emacs starts without a config .emacs or init.el it is a hint that probably is a new user or a new machine or a frequent user in a hurry, time to configure everything. In this situations emacs could ask if he wants some help to create a simple BUT personalized configuration. **if yes** just start a dialog or interactive functions calls that makes him some simple questions with comments about the different choices. And then generate a basic init.el. Nothing more complicated than that. This could be useful not only because it can attract new emacs users giving a better initial experience less intimidating (elisp seemed like Sanskrit the first time I saw it), but also because the first time a new user opens emacs he could get an idea about the potential without needing to read a full manual to have line numbers, tutorial, google, emacs wiki... Consider that many people come from limited editors, so they don't even know that they can make much more with emacs. Something like this could be useful because: 1) We could have some feedback about which options are most used and which packages are more suitable. 2) The default options and changes are not always properly documented or google gives older documentation for them. 3) Almost everybody changes some default options like C indentation, add packages, change colors or require some lisp lines which is just too much for a user that wants probably to make his first hello world. 4) Many configurations available online like the availables on github are very complicated with many dependencies, with too many irrelevant details in some aspects; and the risk to become or being already abandoned. If its creator is a C programmer maybe he don't need to improve the python mode. 5) Newer users will start looking for ways to improve they modes in google and they will end coping random code from random places to their config, ending with a broken/useless/inefficient or deprecated configuration; which means a bad user experience and a potential migration to vim or something worst. 6) There are multiple packages that do exactly the same thing and it is sometimes very confusing to pick one (or even to know if we need it) because the documentation is obsolete or incomplete. Imagine newer users installing flycheck+flymake+company+autocomplete because they just read all the recommendations and they copy from here and there. But without irony or gtags o ctags they don't really get the experience they are really looking for. Or maybe the user needs a python mode and he will install jedi, and copy the config from someone with company... Or installing ivy+helm and not using any of them because he didn't configure. Or downloading some packages and installing them manually because the don't know we have a package manager and the wiki says "download from bla bla bla". I thing we could even make like a survey or ask in the mailing list to the clients about what they include in their config usually. So we can know what to ask because is important, and what is not relevant in most of the cases. It is a good idea to ask what the actual users want to see in the next releases. This is just my opinion. Sorry for the extension and not knowing how to write code for doing such a thing myself. On Thu, Aug 23, 2018 at 12:17:11AM +0200, hw wrote: >Eli Zaretskii writes: > >>> From: hw >>> Cc: spacibba@aol.com, emacs-devel@gnu.org >>> Date: Wed, 22 Aug 2018 18:37:54 +0200 >>> >>> > IMO, that would be too radical, because in an init file each option >>> > already has a value. So we will have to decide for the users whether >>> > or not they want certain options to have certain values. That might >>> > work for boolean options, but many options in Emacs are non-boolean. >>> > As just one example, consider display-line-numbers-mode -- it has >>> > between 3 and 4 different styles, so which one would you put in the >>> > .emacs? >>> >>> Use the values you would you put for the particular use case the file is >>> designed for. >> >> They all are. The selection depends on user preferences and habits. >> >> [...] >> >>> They don�t need to do that. You offer them to use one of the >>> configurations in the LaTeX group for working with LaTeX and to use one >>> of the configurations in the C++ group when writing C++ source code, and >>> so on. >> >> We already have that: each mode file includes options for that mode. >> What will we gain by having another file with those same options? > >The gain would be that the user can pick between *sets* of settings, >guided by a description of what each set does. He doesn't need to >concern himself with any particular setting to figure out if changing it >brings him closer to what he wants, and then experiment with the next >and the next and the next until he tried all the ones he could find. >That kind of learning can come later. > >I think I see your point to assume that the defaults are good and to >present the user with the individual settings and to let him learn and >make his own decisions because everyone is too different to do anything >else. That's great when the new user uses Emacs because he wants to >learn how to use it, and it might not be so good when he wants to use >Emacs to get some work done while the defaults happen not to be good for >him: Even better when he can simply switch to a set of settings that >helps him with his work without having to go through all the trial and >error otherwise needed to get there. > >Does that make sense? >