From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Corwin Brust Newsgroups: gmane.emacs.devel Subject: Re: Emacs Newbie Info Pages Date: Thu, 12 Sep 2024 13:29:40 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14021"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: summeremacs@summerstar.me Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 12 20:30:19 2024 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 1sooaA-0003Ud-UA for ged-emacs-devel@m.gmane-mx.org; Thu, 12 Sep 2024 20:30:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sooZo-0003rG-0r; Thu, 12 Sep 2024 14:29:56 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sooZm-0003qH-JJ for emacs-devel@gnu.org; Thu, 12 Sep 2024 14:29:54 -0400 Original-Received: from mail-ot1-f43.google.com ([209.85.210.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sooZk-0001Zs-KN for emacs-devel@gnu.org; Thu, 12 Sep 2024 14:29:54 -0400 Original-Received: by mail-ot1-f43.google.com with SMTP id 46e09a7af769-710edf880d5so43323a34.1 for ; Thu, 12 Sep 2024 11:29:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726165791; x=1726770591; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=y++roXU0/eVqw515BH1/oB8mxRn+oUwiBXoar+WCb0M=; b=TGLFgUPERTofLXxhHHJuki9FF7bsQUDjY5Z72jDqfkgGAjcpHN3VJasWrF4MsDW8gV NfPkRLEuNlibWakviJUvOgjpu3nFN3gVpK5l37cn63mqrWOYkmpgzweNcP4DIE8BjNy4 lZIupfF7OiREZkFqH00I0ieQLA1Is5ro8B6MZ9qRXw3/xqeVIa7p4jGooNzj+cH7Ck/t tmOlPuH7i30AbEPYEHeZctJeQBdHMbbAgZlQJpFKc8+oHknpTCXB57KqwW29rs9Zzsmk tAQ/IZGBKjkPjH1EZ6ztqdagZTkJEd+KDtBcHdiVtwSrqCPMKNC1XoUPlvs+O9HWqo+B idxQ== X-Gm-Message-State: AOJu0YzQfPtD8dnPT2KSoN7GpfCGGwpOX1TAM5zSCF0TzJ5X76ZTxCHg 6Vz7hotAN42D3Z21+7wXYMLQ6RiTH1D0DtEfJQJj4oP1GdFv24X/mgbjJlGrWTJxQTxA2SAdKyV aGwSpBkXdO5WIYxTr4o+bojlVvAY= X-Google-Smtp-Source: AGHT+IGFapQwYm++GK6zaY3DF2r+cH6IK3dH2NTP/SIrmN75Gv6wis0a1Aa6BGC7eGHHarncb89RAjDHNEDghEQiJcg= X-Received: by 2002:a05:6830:410c:b0:711:ef:352a with SMTP id 46e09a7af769-71109568f2dmr975717a34.5.1726165791201; Thu, 12 Sep 2024 11:29:51 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=209.85.210.43; envelope-from=mplscorwin@gmail.com; helo=mail-ot1-f43.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:323564 Archived-At: On Thu, Sep 12, 2024 at 12:30=E2=80=AFPM Summer Emacs wrote: > > Hi everyone, > > I posted a question in Reddit this morning about having an Emacs newbie i= nfo pages on the front of the default Emacs page for complete newbies and f= irst-timers. I know that the splash page already has information links, whi= ch are very appreciated, but I think that first time users would be overwhe= lmed with the information and how to use it. I had a potentially relatable idea the other day, which I will risk hijacking your (fine) thread to mention (but do feel free to disregard, if you feel I'm over wrong in thinking it could make sense to take on what I suggest in context of what you propose). I have for some time been "thumping the theory" (meaning: occasionally mentioning in email or on IRC, etc) that we might have taken the wrong direction, from a long term approach standpoint and not any of the micro-decisions leading us here, to lump "introductory features" together with every other change we make to Emacs. This leads us in some cases, I think, to conceal such features from exactly the users whom they have been added to serve. It's not a trivial problem, either to understand the nuances of or define a way forward, even if one were to completely agree with everything I say. But I might have a suggestion, as of the other day. I can't recall seeing it discussed but it's quite possible I missed that; sorry if I happen to be beating a dead horse. In any case: seeing your email has me thinking now is the time to mention. To put things as simply as I can: 1. We (quite rightly) hide significant changes from behind guards such as configuration settings as a general practice. This minimizes the noise for regular users of Emacs who would like to stay abreast of recent development but who do not want to make an endless series of configuration changes to continue their existing workflows except where they have introduced desired changes in their configuration. Well and good. 2. Meanwhile, we have an increasingly complex set of expectations which are maintained in terms of the guards, default values for variables intended for user settings/configuration and functions that evaluate (have expert knowledge of) these. I don't suggest it is unmanageable, only that it might be slightly suboptimal for everyone involved. Would it make sense to have a `emacs-welcome-new-user' mode which "collects" configuration defaults appropriate for new users and provides means to enable (and, perhaps, disable) them en masse? I imagine this could be done without major change to existing defaults and still be quite useful to new users. For example, a command line option, easy to reach bindings perhaps under C-h, menu options, integration with or button on the spash-screen, etc, off the top of my head, seem like ways to offer this functionality that are unlikely to represent any meaningful change to long-time Emacs users. If we did eventually want to change the way we approach defaults, this might provide a useful experiment in the direction of grouping features logically. I leave aside the question of enabling this new minor mode by default and thus any contribution to a discussion of whether or not existing users would accept all having to make this change (given we mostly won't be building 'all this functionality for new users' for ourselves). I think simply defining the enable and disable progns or whathaveyou invoked from there seems could provide a technical direction to explore, which could breaking the cycle of having to individually (using Anti-NEWS, or whatever) disable each change we don't happen to like, and free maintainers a little bit from having to "hide the fun new things". That said, I have no specific "feature groups" to suggest other than the "new user friendly defaults" suggestion, which could be at hand in this thread. Meanwhile, generally, I do think a collection of features (in this case "for newer users") can be a very powerful concept. In chat, we often need to point to -Q/-q (or explain the difference) to people getting started who are asking questions on Emacs IRC channels. This type of advice, much as reminding people about the existence of the tutorial or helping someone get started using info (or man) along with getting friendly with Emacs' fine manual, can be an invaluable part of some given new user's Emacs starter-kit. In passing, I think it worth mentioning that programs like Doom provide as an (IMO) important feature, a logical grouping of features. I'm not suggesting creating something akin to this, expressly, but that would be a direction to consider that I suspect could give the results I have in mind. In summary, I think it would be easy enough to point people (who don't notice in the documentation) how to find a command line option or keystrokes to start emacs in "new user mode" (perhaps, implemented as a minor mode?). By "grouping" evaluation of certain parts of user context when the minor mode is toggled (or conditioned on whether it is enabled, some setting it pays attention to to autoenable, etc) we could create a model for grouping such other functions that "leaves the code in one place", in that it doesn't require implementing any logical framework for feature grouping (but could likely be implemented according to such). The goal of this project would be the following: > Thanks for your note.