From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: GNU Emacs raison d'etre Date: Thu, 14 May 2020 09:37:01 -0700 (PDT) Message-ID: <03dc9c37-d622-4d12-be3e-2f83aa7da69e@default> References: <5230692c-c665-a330-7a12-e59fa25d97dd@gmail.com> <70bb51fd-447d-928c-4d69-1c9673a44471@online.de> <871rnnvmdx.fsf@red-bean.com> <87pnb7sira.fsf@red-bean.com> <06bcddd4-6991-e4f7-e944-93de14af263d@yandex.ru> <87h7wjsd8o.fsf@red-bean.com> <20897f01-122d-7f91-eac2-70f5ad75796f@yandex.ru> <87d077qfmm.fsf@red-bean.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="90640"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?utf-8?B?QW5kcmVhcyBSw7ZobGVy?= , emacs-devel@gnu.org To: Karl Fogel , Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu May 14 18:38:09 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 1jZGs5-000NUA-Bk for ged-emacs-devel@m.gmane-mx.org; Thu, 14 May 2020 18:38:09 +0200 Original-Received: from localhost ([::1]:56354 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZGs4-0000IX-Ev for ged-emacs-devel@m.gmane-mx.org; Thu, 14 May 2020 12:38:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60972) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZGrH-0007ZN-2m for emacs-devel@gnu.org; Thu, 14 May 2020 12:37:19 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:32958) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZGrF-0002Pe-IB for emacs-devel@gnu.org; Thu, 14 May 2020 12:37:18 -0400 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04EGbAvX145491; Thu, 14 May 2020 16:37:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=176ya9+X9OxD5555KWck/evPd5XxkimOyb/aFDcdWp8=; b=aSc4DIdXEBGOXs3+V0PNmQXI4iutyJIrc+mEtIH+LRpksGdHDfhMeh704jPlhNm4XrRh HNlkmt2T2YhQNWjBtfNcRr2Lr8rb5U44zG13z5h3ki5Fc9EjGbN4HWhq2dSPJoM4wxPk 2l4k13gjWhtgakwEs4M+VsIyVaEPcoXlOBCijO9RVU4UVuZzzTVIZVwlMSOxhss+5iK9 qxJGTZ3PKp2atWI8XurFo8UnGgLWOPhR6kKMF2I/e4Jr6obVvUuL7TmwGFoGaoqsVwnO qzjp1R+52kW+pIsMKlBtI+Yq/Eb8g+Z+68nJzADRnCmcaXsVZDNU4LwoDis2qPalrTuk aA== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 3100xwunfm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 14 May 2020 16:37:10 +0000 Original-Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04EGWggp074042; Thu, 14 May 2020 16:37:04 GMT Original-Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 310vjt7742-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 14 May 2020 16:37:04 +0000 Original-Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 04EGb2gu002377; Thu, 14 May 2020 16:37:02 GMT In-Reply-To: <87d077qfmm.fsf@red-bean.com> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4993.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9621 signatures=668687 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 phishscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 suspectscore=1 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005140146 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9621 signatures=668687 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 cotscore=-2147483648 bulkscore=0 phishscore=0 adultscore=0 mlxlogscore=999 lowpriorityscore=0 impostorscore=0 spamscore=0 malwarescore=0 priorityscore=1501 mlxscore=0 suspectscore=1 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005140147 Received-SPF: pass client-ip=156.151.31.85; envelope-from=drew.adams@oracle.com; helo=userp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/14 11:31:55 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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:250261 Archived-At: > one of the things we should prioritize is teaching newcomers > how important those help facilities are and how to use them > in a smart way. =20 This is something I've long tried to promote. The first thing (one of them), to get new users to learn (by tutorial, video, or otherwise) is how to "Ask Emacs". That starts with the help commands, but it can go as deep as one wants, including how to ask Emacs in its source code. And of the help commands, the first and most important to learn are those that let you know what just happened, what you did, where you are now, and what you can do. That includes `C-g' (yes, it can also be a help command - get me out of here!), and `C-h l' (which should be enhanced, IMO), `C-]', and `M-x top-level' (or `M-: (top-level)', or bind it to a key). In my library `menu-bar+.el', I even add, as the first item in menu-bar menu `Help', this submenu: Whoops!? Cancel Current Action C-g Back to Top Level What did I do!? C-h l And in submenu `Describe' of menu `Help', I add item `This...' (i.e., describe this). It gives you help about a key/menu sequence or a display object you click with the mouse (e.g., part of a window or a name somewhere as buffer text). You can do any of these things at its prompt: type a key sequence choose a menu item click on a scroll bar click on the mode line click in the minibuffer click on an Emacs-related name in a buffer click anywhere else in a buffer For the last two: clicking on a name invokes `apropos'. Clicking elsewhere describes the buffer's modes. Most such help is from `describe-key' or the manual (`Info-goto-emacs-key-command-node'). (My version of that Info command searches for the key name with `Info-search' if it can't find it in the usual ways.) Dunno whether anyone uses such things, but I thought they might help. Beyond that, being able to tell what keys are usable in the current context (any context), and what they do, is super-important for both learning and orienting yourself when you think you're lost. In that regard, my main offer is Icicles key completion. An alternative which is popular is `which-key'. On one of the wiki pages describing Icicles, there are sections that cover the following "Ask Emacs" topics, all of which I think are important for newbies (independently of how Icicles can help with them): * See what you can do at any moment: . See which possible inputs are expected by a command that reads input =E2=86=92 PossibleInputs . See which key sequences are currently available, which of them are general vs which are local, and what each of them does =E2=86=92 PossibleKeyBindings * See individual descriptions of the possible inputs, that is, help on completion candidates =E2=86=92 CandidateHelp * Find menu items more easily =E2=86=92 FindMenuItems * Find commands more easily =E2=86=92 FindCommands * Find help in the doc =E2=86=92 FindStuffInManuals * Learn how to use regexps =E2=86=92 LearnAboutRegexps https://www.emacswiki.org/emacs/EmacsNewbieWithIcicles > I'm specifically saying that this is *more > important for Emacs than it is for other editors*. 100% agreement. 1. It's more important for Emacs (using, learning). 2. Emacs has more to offer in this regard. > for Emacs users, using that built-in help is more > important than it would be in other editors, and the > methods and circumstances of using the help are > different too. So we should incorporate that fact > into how we present Emacs to new users. This.