unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "T.V Raman" <raman@google.com>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: Ergus <spacibba@aol.com>,
	 Nicola Manca <nicola.manca85@gmail.com>,
	emacs-devel@gnu.org
Subject: Custom Et Al: Build-Up The Underlying Platform was  Re: A new user perspective about "Changes for emacs 28"
Date: Tue, 08 Sep 2020 09:37:24 -0700	[thread overview]
Message-ID: <p914ko85inv.fsf_-_@google.com> (raw)
In-Reply-To: <94fda087-a61b-356d-4bb4-791907593246@yandex.ru> (Dmitry Gutov's message of "Mon, 7 Sep 2020 23:05:05 +0300")

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=gb18030, Size: 3331 bytes --]

The discussion around how to bring in new users etc is healthy as long
as it moves the ball forward.

Experience tells us that there are multiple directions in which we can
move,  some that will bear fruit, some that will wither and go away.

But independent of which of those branches/offshoots survive, making the
underlying platform, AKA Emacs' extension/configuration layer more
robust and flexible  is work that will stand us in good stead over the
long term.

From that perspective, I hope we can put some energy into making the
underlying M-x custom more robust --- see below for what I mean:

20+ years ago, M-x custom came to Emacs, initially disliked by all those
of us who prefered writing elisp in our init files. Over time though it
has definitely landed well and made Emacs easier to configure --- to the
extent that even  folks who are happy to write elisp by hand in their
setup use it to varying degrees.

that's the good half of Custom.

Custom however is also showing its age, here are some personal opinions
about its shortcomings:

A. It has the disadvantage of dumping all settings into a single file,
   feels like the Windows Registry and can be fragile.

   B. Tends to accumulate cruft, eg customizations for packages that
      dont exist linger in the customization file

      C. Custom scares you  away from touching its setup --- especially
         "the only one of these forms  can appear" bit that forces all
         settings into a single file.

         D. I think custom themes are a great idea but it feels like it
            was "started but never finished".

            E. A dual to custom is use-package that has the virtue of
               isolating package-specific setup to a package-specific
               form in your setup, so you stop using the package and
               there is no cruft left behind (except ... that custom can
               still grab some of those  settings  and dump it into your
               custom file).

               So while we debate the pros/cons of various features, it
               might be a good investment of  time to  rethink and
               evolve custom to become more robust along various axies,
               since any user-friendly layers of
               preferences/customizations we would add could all use the
               underlying infrastructure to advantage.
Dmitry Gutov <dgutov@yandex.ru> writes:

> On 07.09.2020 21:08, Ergus wrote:
>
>>> - undo-tree-mode
>> Undo tree had some problems in the past. But if you want the basic
>> undo/redo behavior there is something already in vanilla (as usual a bit
>> hidden):
>> (global-set-key [remap undo] 'undo-only)
>> (global-set-key (kbd "C-M-_") 'undo-redo)
>> which I discovered after asking here and fighting with undo tree for
>> almost a year.
>
> Good point.
>
> undo-tree has been stable for me lately, but it might be overkill for
> a lot of users, and the default undo behavior is... exotic.
>
> So I think ideally we'd switch to the above key mappings by
> default. But since this is going to be a hard sell, at least this
> option should be better documented/advertised, maybe even on the new
> splash screen people have imagined/mentioned.
>

-- 
7©4 Id: kg:/m/0285kf1  •0Ü8



  parent reply	other threads:[~2020-09-08 16:37 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-07 16:45 A new user perspective about "Changes for emacs 28" Nicola Manca
2020-09-07 18:08 ` Ergus
     [not found]   ` <86d02x2yg0.fsf@gmail.com>
2020-09-07 19:59     ` about fido-mode Ergus
2020-09-07 20:44       ` andrés ramírez
2020-09-07 21:09         ` Ergus
2020-09-07 21:18           ` andrés ramírez
     [not found]     ` <87mu21wd3f.fsf@gmail.com>
     [not found]       ` <20200907214104.kapyivsh5y62wcl5@Ergus>
     [not found]         ` <865z8p2qay.fsf@gmail.com>
2020-09-08  8:08           ` Ergus
2020-09-08  9:06             ` andrés ramírez
2020-09-08  9:26               ` Ergus
2020-09-08 16:14                 ` andrés ramírez
2020-09-08 16:25                   ` Ergus
2020-09-09  2:44                     ` andrés ramírez
2020-09-07 20:05   ` A new user perspective about "Changes for emacs 28" Dmitry Gutov
2020-09-07 20:34     ` Drew Adams
2020-09-07 20:46       ` Dmitry Gutov
2020-09-07 21:11         ` Drew Adams
2020-09-07 21:15           ` Dmitry Gutov
2020-09-07 21:39             ` Drew Adams
2020-09-07 21:50               ` Dmitry Gutov
2020-09-08  2:54             ` Richard Stallman
2020-09-08 11:10               ` Dmitry Gutov
2020-09-08  6:18         ` Alfred M. Szmidt
2020-09-08 11:07           ` Dmitry Gutov
2020-09-08 14:20           ` Eli Zaretskii
2020-09-08 14:54             ` Alfred M. Szmidt
2020-09-08 15:14               ` Amin Bandali
2020-09-08 15:53                 ` Alfred M. Szmidt
2020-09-08 16:18                   ` Thibaut Verron
2020-09-08 16:28                     ` Ergus
2020-09-08 15:27               ` Óscar Fuentes
2020-09-08 15:36                 ` Eli Zaretskii
2020-09-08 15:27               ` Eli Zaretskii
2020-09-08 16:13                 ` Thibaut Verron
2020-09-08 16:23                   ` Eli Zaretskii
2020-09-08 18:00                     ` Thibaut Verron
2020-09-09  3:44               ` Richard Stallman
2020-09-09 19:01                 ` Alfred M. Szmidt
2020-09-09 19:07                   ` Eli Zaretskii
2020-09-09 21:43                     ` Dmitry Gutov
2020-09-08 15:02             ` Dmitry Gutov
2020-09-08 15:28               ` Eli Zaretskii
2020-09-08 21:31                 ` Dmitry Gutov
2020-09-10  7:23                   ` Jack Kamm
2020-09-10 14:52                     ` Howard Melman
2020-09-10 15:01                       ` Jack Kamm
2020-09-10 16:43                         ` Vasilij Schneidermann
2020-09-09  5:03                 ` Arthur Miller
2020-09-09  8:35                   ` Ergus
2020-09-09  8:41                     ` tomas
2020-09-09 10:00                       ` Ergus
2020-09-09 10:36                         ` tomas
2020-09-09 13:49                           ` Arthur Miller
2020-09-09 14:36                           ` Eli Zaretskii
2020-09-09 15:54                             ` tomas
2020-09-10  2:38                           ` Richard Stallman
2020-09-10 12:10                             ` Robert Pluim
2020-09-11  4:16                               ` Richard Stallman
2020-09-09 18:39                         ` Juri Linkov
2020-09-10 12:28                           ` Ricardo Wurmus
2020-09-09 13:17                     ` Arthur Miller
2020-09-10  2:40                     ` Richard Stallman
2020-09-11 10:29                   ` Dmitry Gutov
2020-09-11 11:29                     ` Arthur Miller
2020-09-11 11:40                       ` Ergus
2020-09-11 14:53                         ` Jack Kamm
2020-09-11 15:03                           ` Ergus
2020-09-11 15:16                             ` Eli Zaretskii
2020-09-11 20:51                               ` Dmitry Gutov
2020-09-12 13:02                             ` Arthur Miller
2020-09-12 13:09                               ` Dmitry Gutov
2020-09-13 22:13                                 ` chad
2020-09-13 22:44                                   ` Dmitry Gutov
2020-09-15  4:34                                   ` Richard Stallman
2020-09-15  6:54                                     ` Alfred M. Szmidt
2020-09-11 12:27                       ` Dmitry Gutov
2020-09-11 15:08                         ` Arthur Miller
2020-09-11 20:35                           ` Dmitry Gutov
2020-09-11 13:51                       ` Stefan Monnier
2020-09-11 14:32                         ` Stefan Monnier
2020-09-11 14:59                           ` Jack Kamm
2020-09-12 12:55                           ` Arthur Miller
2020-09-11 13:15                     ` Alfred M. Szmidt
2020-09-11 14:37                       ` Dmitry Gutov
2020-09-08 16:37     ` T.V Raman [this message]
2020-09-08 20:40       ` Custom Et Al: Build-Up The Underlying Platform was " Daniel Martín
2020-09-09  3:51         ` Richard Stallman
2020-09-09  8:48           ` Tim Cross
2020-09-09 15:53             ` Drew Adams
2020-09-09 16:36               ` Ergus
2020-09-09 16:41                 ` T.V Raman
2020-09-09 17:05                   ` Ergus
2020-09-09 14:32           ` T.V Raman
2020-09-09 18:44             ` Juri Linkov
2020-09-11  4:11             ` Richard Stallman
2020-09-07 18:16 ` Ergus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=p914ko85inv.fsf_-_@google.com \
    --to=raman@google.com \
    --cc=dgutov@yandex.ru \
    --cc=emacs-devel@gnu.org \
    --cc=nicola.manca85@gmail.com \
    --cc=spacibba@aol.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).