Subject: 24.3.50; document `custom-available-themes', `custom-known-themes' in Elisp manual

From: Drew Adams <[email-masked]>
Date: Fri, 25 Oct 2013 08:39:02 -0700 (PDT)

These functions are as important for programmers as is `custom-theme-p'.
It is especially important to distinguish them, in particular wrt
`custom-theme-p', which uses only `custom-known-themes'.  An "available"
theme is not necessarily a "known" theme.  This can be confusing.

For example, I was doing this at first:

(defcustom doremi-custom-themes ()
  "*List of custom themes to cycle through using `doremi-custom-themes+'."
  :type '(repeat (restricted-sexp :match-alternatives (custom-theme-p)))
  :group 'doremi-misc-commands)

But what I really needed was the following, because the "available" themes
are not necessarily available from the outset - the set of "known" themes
is too limited for use here.

(defcustom doremi-custom-themes ()
  "*List of custom themes to cycle through using `doremi-custom-themes+'."
  :type '(repeat (restricted-sexp
                  :match-alternatives
                  ((lambda (s) (memq s (custom-available-themes))))))
  :group 'doremi-misc-commands)

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2013-10-19 on LEG570
Bzr revision: 114715 [email-masked]
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --enable-checking 'CFLAGS=-O0 -g3' CPPFLAGS=-DGLYPH_DEBUG=1'