From: Dave Abrahams <dave@boostpro.com>
To: Glenn Morris <rgm@gnu.org>
Cc: 7812@debbugs.gnu.org
Subject: bug#7812: 23.2; compilation-error-regexp-alist extremely unfriendly to customization interface
Date: Wed, 19 Jan 2011 22:30:16 -0500 [thread overview]
Message-ID: <m2fwso45h3.wl%dave@boostpro.com> (raw)
In-Reply-To: <22sjwov5ll.fsf@fencepost.gnu.org>
At Wed, 19 Jan 2011 18:25:26 -0500,
Glenn Morris wrote:
>
> Dave Abrahams wrote:
>
> [customizing compilation-error-regexp-alist]
>
> > It was never awesome: it *should* be possible to add support for a
> > couple of unique tools without losing the benefits of all the builtin
> > matchers that will come along next time I upgrade emacs. It has
> > always been the case that if I customize one or two of these elements,
> > I'll never see new ones that are supplied by the maintainers on
> > upgrade...
>
> That is a general issue with customize, albeit more of one for options
> with long, complicated values where new ones might be added to the old
> elements.
Yes, but you *can* design the module so as to make it a non-issue.
Give people a customizable variable that is solely for their own use,
and give them a way to override the contents of the base alist, which
is not customizable but updated with the module.
> There is M-x customize-changed to point out where options have changed
> since a given Emacs release. In an ideal world maybe there could be
> some automatic, version-control like merging of options when you start
> a new Emacs version for the first time.
>
> > ...but now things are worse: I can't even add new alist elements
> > through the customize interface, and if do I add a single new one
> > using setq, all I see in the customize interface thenceforth is:
> >
> > (mapcar 'car compilation-error-regexp-alist-alist)
>
> compilation-error-regexp-alist has a bad custom :type. It does not
> allow you to do anything other than turn on/off the default settings.
> It is impossible to add a new element via customize, and doing so by
> hand will produce a mismatch.
>
> AFAICS, it isn't possible to have a custom type that allows you to both:
>
> i) toggle on/off the predefined options
> ii) add new elements of your own
>
> So feature i) will probably have to go.
The problem is with the design that mashes all this functionality
together into a single customization variable. Just use separate
variables for separate concerns, and you'll be golden.
--
Dave Abrahams
BoostPro Computing
http://www.boostpro.com
next prev parent reply other threads:[~2011-01-20 3:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-10 2:03 bug#7812: 23.2; compilation-error-regexp-alist extremely unfriendly to customization interface Dave Abrahams
2011-01-19 23:25 ` Glenn Morris
2011-01-19 23:27 ` Glenn Morris
2011-01-20 3:30 ` Dave Abrahams [this message]
2011-01-20 15:49 ` Stefan Monnier
2011-01-20 18:22 ` Dave Abrahams
2011-01-21 5:04 ` Glenn Morris
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=m2fwso45h3.wl%dave@boostpro.com \
--to=dave@boostpro.com \
--cc=7812@debbugs.gnu.org \
--cc=rgm@gnu.org \
/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).