From: Philip Kaludercic <philipk@posteo.net>
To: Jim Porter <jporterbugs@gmail.com>
Cc: "Arash Esbati" <arash@gnu.org>, emacs-devel <emacs-devel@gnu.org>,
"João Távora" <joaotavora@gmail.com>
Subject: Re: Making `eglot-server-programs' a custom variable?
Date: Sat, 12 Nov 2022 07:34:28 +0000 [thread overview]
Message-ID: <87a64w1v97.fsf@posteo.net> (raw)
In-Reply-To: <bbd2e250-1b78-c220-2824-85918f3a38a5@gmail.com> (Jim Porter's message of "Fri, 11 Nov 2022 19:47:52 -0800")
Jim Porter <jporterbugs@gmail.com> writes:
> On 11/10/2022 9:47 AM, Philip Kaludercic wrote:
>> Honestly, I think that there should be a command like `add-to-option'
>> that can handle these things automatically and defer loading if
>> possible. There are plenty of cases where you would either do something
>> like this, or have a ...-user-list that is appended together with some
>> build-in list, and even though the actual problem is shared among all
>> user options.
>
> Assuming I understand what you mean, I agree that this would be very
> useful. I think it would be super-helpful for there to be a way in the
> Customize interface to indicate that you want to add A, B, C to a
> defcustom list, and/or remove X, Y, Z. For another example where this
> would be helpful, see bug#54977.
>
> (For people who build their Emacs configs by writing Elisp, this
> probably isn't too big a deal, since they probably know enough to do
> the right thing, but it couldn't hurt to make this easier in Elisp
> too. Although use-package already makes this about as easy as can be,
> since you can do all this in a ':config' block, and it Just Works.)
Just for the sake of completeness, I'd like to mention what setup.el
also provides.
The `:option' macro (which is comparable to `:custom' in use-package)
can take a complex option name. The default is something like
(:option c-default-style '((java-mode . "java")
(awk-mode . "awk")
(other . "k&r")))
but you could also use
(:option (prepend c-default-style) '(other . "k&r"))
to load the variable and then prepend a value to a list. In retrospect,
I don't like the syntax that much, and the fact that `:option' calls
`custom-load-symbol' unconditionally can really slow down a
configuration. This last thing is something that an `add-to-option` --
be it a standalone function or an extension of `add-to-list' must avoid IMO.
next prev parent reply other threads:[~2022-11-12 7:34 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-09 20:25 Making `eglot-server-programs' a custom variable? Arash Esbati
2022-11-09 20:49 ` Philip Kaludercic
2022-11-09 22:07 ` Arash Esbati
2022-11-10 17:47 ` Philip Kaludercic
2022-11-10 17:56 ` Stefan Monnier
2022-11-10 18:10 ` Philip Kaludercic
2022-11-10 18:29 ` Stefan Monnier
2022-11-10 19:36 ` Philip Kaludercic
2022-11-12 3:47 ` Jim Porter
2022-11-12 5:16 ` chad
2022-11-12 7:26 ` Philip Kaludercic
2022-11-12 7:34 ` Philip Kaludercic [this message]
2022-11-12 7:58 ` Eli Zaretskii
2022-11-12 8:03 ` Philip Kaludercic
2022-11-12 8:25 ` Eli Zaretskii
2022-11-12 8:45 ` Philip Kaludercic
2022-11-12 9:01 ` Eli Zaretskii
2022-11-12 9:40 ` Philip Kaludercic
2022-11-12 10:02 ` Eli Zaretskii
2022-11-12 13:46 ` Philip Kaludercic
2022-11-12 14:30 ` Eli Zaretskii
2022-11-13 0:20 ` Philip Kaludercic
2022-11-13 6:39 ` Eli Zaretskii
2022-11-13 7:11 ` Philip Kaludercic
2022-11-13 7:43 ` Eli Zaretskii
2022-11-15 17:50 ` Philip Kaludercic
2022-11-15 18:15 ` Eli Zaretskii
2022-11-16 13:05 ` Philip Kaludercic
2022-11-16 13:44 ` Eli Zaretskii
2022-11-16 14:12 ` Philip Kaludercic
2022-11-16 14:51 ` Eli Zaretskii
2022-11-16 17:05 ` Philip Kaludercic
2022-11-10 6:36 ` Eli Zaretskii
2022-11-10 7:56 ` Tim Cross
2022-11-10 8:24 ` Eli Zaretskii
2022-11-10 9:34 ` Tim Cross
2022-11-10 11:16 ` Eli Zaretskii
2022-11-10 13:59 ` Tim Cross
2022-11-10 9:18 ` Arash Esbati
2022-11-10 9:34 ` Eli Zaretskii
2022-11-10 10:25 ` João Távora
2022-11-10 17:04 ` Eli Zaretskii
2022-11-10 17:10 ` Eli Zaretskii
2022-11-10 21:45 ` João Távora
2022-11-11 6:12 ` Yuri Khan
2022-11-11 9:09 ` João Távora
2022-11-12 2:34 ` Brian Cully via Emacs development discussions.
2022-11-12 16:22 ` Michael Albinus
2022-11-11 7:04 ` Eli Zaretskii
2022-11-11 9:12 ` João Távora
2022-11-11 11:53 ` Eli Zaretskii
2022-11-12 14:44 ` Arash Esbati
2022-11-12 14:49 ` Eli Zaretskii
2022-11-12 14:58 ` Arash Esbati
2022-11-10 21:28 ` Augusto Stoffel
2022-11-11 10:05 ` Arash Esbati
2022-11-11 12:05 ` Eli Zaretskii
2022-11-11 12:22 ` Arash Esbati
2022-11-11 12:33 ` Eli Zaretskii
2022-11-11 13:26 ` Augusto Stoffel
2022-11-11 13:48 ` Arash Esbati
2022-11-11 13:54 ` Eli Zaretskii
2022-11-10 10:15 ` João Távora
2022-11-10 11:23 ` Eli Zaretskii
2022-11-10 12:07 ` João Távora
2022-11-10 15:19 ` Eli Zaretskii
2022-11-10 15:35 ` Dmitry Gutov
2022-11-10 16:50 ` Eli Zaretskii
2022-11-10 18:22 ` Dmitry Gutov
2022-11-10 18:31 ` Eli Zaretskii
2022-11-10 15:38 ` João Távora
2022-11-10 16:52 ` Eli Zaretskii
2022-11-10 17:08 ` Eli Zaretskii
2022-11-10 21:13 ` João Távora
2022-11-10 13:57 ` Stefan Monnier
2022-11-10 15:21 ` João Távora
2022-11-10 17:43 ` Stefan Monnier
2022-11-10 22:10 ` João Távora
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=87a64w1v97.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=arash@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=joaotavora@gmail.com \
--cc=jporterbugs@gmail.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).