From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Making Emacs more friendly to newcomers Date: Mon, 20 Apr 2020 12:53:46 +0800 Message-ID: <87a736wyed.fsf@yahoo.com> References: <863691n4xl.wl-me@enzu.ru> <87imhw431x.fsf@yahoo.com> <87mu78huhx.fsf_-_@yahoo.com> <87k12bdgx7.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="63612"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: =?utf-8?Q?S=C3=A9bastien?= Gendre Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Apr 20 07:19:49 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 1jQOqS-000GTy-AS for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Apr 2020 07:19:48 +0200 Original-Received: from localhost ([::1]:57448 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQOqR-00021l-CN for ged-emacs-devel@m.gmane-mx.org; Mon, 20 Apr 2020 01:19:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47534 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQORg-000255-6O for emacs-devel@gnu.org; Mon, 20 Apr 2020 00:54:12 -0400 Original-Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQORW-0002f0-Dd for emacs-devel@gnu.org; Mon, 20 Apr 2020 00:54:02 -0400 Original-Received: from sonic316-22.consmr.mail.ne1.yahoo.com ([66.163.187.148]:39592) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jQORU-0002aQ-0w for emacs-devel@gnu.org; Mon, 20 Apr 2020 00:54:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1587358434; bh=3s3N3iC4OYhbcnn3kKEYMcjiWl68kKot32jUJ+t8hTE=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject; b=SSN7DkkknGeIO7g9kRqY/zGhbc8gDEkDiz03qBBCtwnQFysLPNa75wBuw2QuxLEHLYy6AOOFHAhEhw/74Cvbqf0s7NbEd6W1xexQWJ0MG9V/AieVRqP5dCEKc9fP64NuHmf39L7P3AnRaF7DtLFd/iV3LjDfP9Dj+r7f/8faGCpcinr5iQwYbe201TaR3fuUjdgPR01Envn/qGbRB5G20ILulk3ERwN3ezjil2QQfTRw258hPG18jpKYknM2WYpBNtaJMJbnnjIfdaWw27chodRa77RLSW5O4pa9W7PS7TDUgCdd9GFd6v66a3guoFjNGAn53CincSpTyA4pj0ZOlQ== X-YMail-OSG: nUiWtsQVM1kzyfHu5tiFO.l9XN988P95TEwW6I4U3TSGnIeKKEsvHXRcfEHtID. Q93SSElwErZs6CnGO2i_D_O3Rpib7a_L_NJAEMwpONpzLgDK5qaeFiTnVNBeBUug.iEFl4TV4J7R 172r7s9xHQshjDzID9JeOBQJi.6Bw.fUEtb3aHVKUdbV4DbTS0VMJ35xEokh9LyMiWwHKNKoWgsz k3eTm649maYHtTHYR.KaYJ8zYEotVkT1jOv8NNs5.4R7uzaZFbBnVVAluy.QLk26aQFqge7gEdHp ENxRh1CdyFRwJlV5wARKRKstYg1T1RY5tTLH1PegVCAcczVkndIlm9cHcIbKkEuv9TdLYCx64IBS uWtcY68TXE0hRhIsP.u4vuvjalnNm.I0bLz63YsUu4eoMETwr.Ch7FWm4AAsJFCkjNZWvwm3eCpi 4c3GUJKxJN0IgcHQP22jdh42qz06gf97LCzbSF269IyO6zrUiZbnnEstpBufrdpNiJ9A6LGzREeO VqcZvgykWces7Sf.B31pJOGdvj0SzduqswCHBCVCU6F_yONxFB7OfElbwTHDwmML1JkJe9Mvcwjt 5Zgya5OaR0gecSBhDu5wa8AyrepHssSGPLNXo_R7TlMhY7FDQYBJ1CIkzlm6Pa_xFc8ChsGTQosv IfoMYQJ5QCeCZKReitPzNeYMjX5rSknSTIiYE9zAAbvg2qelcZTOdG.wXNiWi6i_Zs3sEiiza2Ri tu43xcsLU.F8.gNp79jpMEOoaK1Gdlsq0Gu2tld2SCG8.62JgZy8Hxjjh5FJcRFj420VXZp1RTQU dPa.JsVAkZZtniZAASDSUGGT2aUL7TBk7ScCvIk3Q1 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.ne1.yahoo.com with HTTP; Mon, 20 Apr 2020 04:53:54 +0000 Original-Received: by smtp418.mail.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID ad69dbef19f34d8aee8c752b4bec30ce; Mon, 20 Apr 2020 04:53:50 +0000 (UTC) In-Reply-To: (=?utf-8?Q?=22S=C3=A9bastien?= Gendre"'s message of "Mon, 20 Apr 2020 00:44:40 +0200") X-Mailer: WebService/1.1.15651 hermes Apache-HttpAsyncClient/4.1.4 (Java/11.0.6) Received-SPF: pass client-ip=66.163.187.148; envelope-from=luangruo@yahoo.com; helo=sonic316-22.consmr.mail.ne1.yahoo.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 00:53:54 X-ACL-Warn: Detected OS = Linux 3.1-3.10 X-Received-From: 66.163.187.148 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:247361 Archived-At: S=C3=A9bastien 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. > - 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. 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. (or at least until all of us old farts have had another decade or 2 to adjust).