From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?utf-8?B?7KGw7ISx67mI?= Newsgroups: gmane.emacs.devel Subject: Re: Making Emacs more friendly to newcomers Date: Mon, 20 Apr 2020 15:08:33 +0900 Message-ID: <2F7AD0CB-FF83-4244-BD77-7E0460A77762@icloud.com> References: <863691n4xl.wl-me@enzu.ru> <87imhw431x.fsf@yahoo.com> <87mu78huhx.fsf_-_@yahoo.com> <87k12bdgx7.fsf@yahoo.com> <87a736wyed.fsf@yahoo.com> Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Content-Type: text/plain; charset=utf-8; delsp=yes; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="2007"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?utf-8?Q?S=C3=A9bastien_Gendre?= , Emacs developers To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Apr 20 08:09:21 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jQPcO-0000Qr-Tb for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Apr 2020 08:09:21 +0200 Original-Received: from localhost ([::1]:58056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQPcN-0002Sp-VN for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Apr 2020 02:09:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33734 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQPbl-0001qY-4x for emacs-devel@gnu.org; Mon, 20 Apr 2020 02:08:41 -0400 Original-Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQPbk-0006Tg-Hu for emacs-devel@gnu.org; Mon, 20 Apr 2020 02:08:40 -0400 Original-Received: from pv50p00im-ztdg10022001.me.com ([17.58.6.58]:44252) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jQPbk-0006Py-2w for emacs-devel@gnu.org; Mon, 20 Apr 2020 02:08:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1587362918; bh=gXNmOBcnAl7N05doKVAW2p+hldb1Y65ah1+iywIaGbM=; h=Content-Type:Subject:From:Date:Message-Id:To; b=WVSih+dUCWVHLKtU04i1pWz9elby62KIl8fHiw5+wd93jwDJqf+OY70aUHjm/O8Ne 2RGwsdrtdzjKpdb6YWhqbV/JUfWJ6QZuxHHTz27FBevGw3d+1BIfS2QpHGPOT42TzX IICrsuerJW/Cx3mY8mNG4M+oW3xho2YyrdSL2P0SaObME9FB4jkEdhRgutmLGCGok4 To7Nnrg8j2CjM332z7mmjc8y5LC14rRFId6nv6R7YqPQgrTGblJ9fOI7xMN/OCesVR pemxik3d4sB2ZdRSvUB52TMNW1O8cxd/c53DOcpBpwHb5pg8Kt8cY6tN2mVucY/0xy Mb5CmhFSnkX3A== Original-Received: from [192.168.0.2] (unknown [1.230.108.64]) by pv50p00im-ztdg10022001.me.com (Postfix) with ESMTPSA id 00A6DA04BD; Mon, 20 Apr 2020 06:08:36 +0000 (UTC) In-Reply-To: <87a736wyed.fsf@yahoo.com> X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676 definitions=2020-04-20_01:2020-04-17, 2020-04-20 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=18 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2002250000 definitions=main-2004200055 Received-SPF: pass client-ip=17.58.6.58; envelope-from=pcr910303@icloud.com; helo=pv50p00im-ztdg10022001.me.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 02:08:38 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Received-From: 17.58.6.58 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:247366 Archived-At: Po Lu 작성: > Sébastien Gendre writes: > > >> Let's see some use-cases: >> - Bob: A newcomer, who just discover Emacs. He search somthing who is >> visually modern, with all features he need to start writing code in >> most popular languages: Code colouration, auto-completion, code >> navigation, code documentation and functions/methods signature >> automatically shown, code errors/warnings signalling, REPL >> integration, snippets, strong GIT integration, etc. He also want to >> use basic features without the need to read a tutorial. Just install >> and go. But he is ok to read some tuto or manuals for advanced >> features. If we ask him question(s) about what to enable or not, he >> probably cannot respond (or thing he cannot). For him, Emacs need to >> be the most out of the box possible. >> - Alice: A long time user. She got a personal Emacs configuration she >> had perfected over the years. She chose herself what system is used >> to show function completion, which code parser is used for her daily >> used languages. She add some packages to integrate with special >> tools used at her work. Emacs is her home and office: She use it as >> much for her personal project than for her work. She also made a >> personal workflow with org-mode and write some personal Elisp >> functions and advices. She forge the tools to her need. She do not >> want to have an update of Emacs who break her configuration, her >> workflow or her muscle memory. >> - Mei: She simply want to use SpaceEmacs. She need to be sure >> SpaceEmacs would work out of the box and be able to override all >> defaults Emacs configuration. So SpaceEmacs developers need a way to >> doing their work without the need to deactivate a hundred of default >> features one after another and risk to forget one. This possibility >> should be well documented. As the need of Mei is covered by >> SpaceEmacs, she doesn't have special request about Emacs except make >> it easy to use SpaceEmacs. >> - Roberto: He work on a pre-configuration of Emacs, similar to >> SpaceEmacs. He need a simple and documented way to deactivate all >> default configurations that would make is work difficult. If >> possible, in one move. And, of course, he need to know what is >> deactivated so he can choose wisely what to enable and what to not. > > You have summed up the use-cases rather well. Thanks. > >> For these 4 use-cases, we can simply provide 2 flavors of Emacs: >> - Emacs: With all the 2020 features, a modern interface, all needed >> modern features to start coding with most popular languages and easy >> to use for basic usages >> - Emacs Vanilla: All the new features are still there, but deactivate >> to not break anything >> And these 2 flavors can be in the same text editor: For switch from a >> flavor to another, simply enable the global-minor-mode `vanilla-mode`. >> And if Emacs detect, after an update or a first start, an already >> existing configuration that it could break because of some features: >> Emacs simply activate `vanilla-mode` automatically. > > I'm afraid it's not that simple. I don't think we need any radical > changes in Emacs to be turned on by default, but maybe something like a > set-up wizard or "New to Emacs? Click here" would be useful. I can’t understand why you’re so opposed to changing defaults. Defaults matter, and I think that users who are already accustomed to Emacs will have an easier time changing options. (Like adding `(vanilla-mode 1)` to init.el.) >> - Alice update Emacs. When she restart it, Emacs detect an already >> existing configuration that it could break by enabling some >> features. So, Emacs simply enable `vanilla-mode` and add it to the >> `init.el`. Emacs also show a message to Alice: "Emacs detected that >> you have some personal configuration, so it active Vanilla-mode to >> avoid breaking your configuration. Vanilla-mode deactivate some >> features that you can re-enable manually.". This message is >> accompanied by a clickable link to the documentation about the >> `vanilla-mode` to see what it does in the details and what is >> deactivate. > > I'm not sure whether Emacs can reliably detect updates or not. Adding a variable that makes Emacs warn if it’s version number is different from its value might work. > IIRC, > there was a discussion a while back that said no. Plus, as I've > previously mentioned, I don't think Emacs should adopt any drastic > changes as the default configuration, but instead make the changes > easily discoverable. The features that are best discoverable are the ones that are default. > (or at least until all of us old farts have had > another decade or 2 to adjust). Defaults have to change for experienced users to adjust. And for them, adjusting is an easy task, not something that takes a decade.