Subject: 24.1; Customize :type `restricted-sexp' :tag - use it for prompt

From: "Drew Adams" <[email-masked]>
Date: Thu, 26 Jul 2012 22:56:13 -0700

Enhancement request:
 
Customize :type `restricted-sexp' is the most general composite type
construct.  As a result, programmers often use :tag to give some
indication to users what kind of Lisp sexp is acceptable.
 
But even if :tag is used, the prompt for the sexp is hard-coded as "Lisp
expression: ".  This makes little sense.  It makes more sense for the
:tag string to be used also as the prompt string.
 
At the least, this should be an option.
 
The prompt is too general.  Users customizing a particular
`restricted-sexp' are not necessarily even thinking that they are
entering a Lisp sexp, especially since the sexp is only read and not
evaluated.  The interface should be able to keep them thinking in terms
of the forms that are acceptable, i.e., the particular kind of Lisp
sexp.
 
Here is an example, where the sexp can be a character class.  The user
should think in terms of a character class, not just a "Lisp
expression".
 
(restricted-sexp :tag "Character class (e.g., [:space:])"
 :match-alternatives
 ((lambda (xx)
    (let (name)
      (and (vectorp xx)
           (= 1 (length xx))
           (symbolp (setq name  (aref xx 0)))
           (setq name  (symbol-name name))
           (eq ?: (aref name 0))
           (eq ?: (aref name (1- (length name)))))))))

In GNU Emacs 24.1.1 (i386-mingw-nt5.1.2600)
 of 2012-06-10 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'