Subject: bug#6572: 24.0.50; error string from `custom-variable-set'

From: Drew Adams <[email-masked]>
Date: Mon, 9 May 2022 15:23:07 +0000

> > This message could & should be more specific,
> > referencing the sexp that defines the restriction
> > the value should respect.  E.g., if :type is:
> >
> > (restricted-sexp
> >    :match-alternatives
> >    (lambda (x) (and (foop x) (not (barp x)))))
> >
> > Then this message is more helpful:
> >
> > "Specified value does not satisfy
> >  `(lambda (x) (and (foop x) (not (barp x))))'"

And it's not difficult to provide that help.

> Well, I can see the charm of doing something like this, 
> but the Customize interface is for users,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Yes, it is.  And that's who we should help, by
fixing this as suggested: users.  In this case,
users who try to provide a value that's required,
as specified by that restricted-sexp.

> and telling them
> 
>  "Specified value does not satisfy
>   `(lambda (x) (and (foop x) (not (barp x))))'"
> 
> is way too nerdy even for Emacs.  Users should look 
> at the doc string that will explain this to them in words.
> 
> So I'm closing this bug report.

It's not about "charm".  It's about helping users.
Users of Customize include everyone, including
users who can understand Lisp.  If a user doesn't
understand that improved message, s?he's more
likely to get help from others by providing that
helpful message.

A doc string is important.  That doesn't mean we
can't also have better error messages.

Yet another too-bad "I just love closing bugs".