[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: M-x custom: *PLEASE*, someone, have it build an INDEX (as in *info*)

From: Drew Adams
Subject: RE: M-x custom: *PLEASE*, someone, have it build an INDEX (as in *info*)
Date: Mon, 18 Jan 2010 20:55:59 -0800

> > Unlike most everyone else, I find "custom" basically UNUSABLE.

That is hardly an exceptional point of view. ;-) The Customize UI leaves a lot
to be desired.

The framework underlying the UI is actually pretty good, however - in
particular, it provides typing.

> > (Actually, I'd much prefer a super-LONG edit-options -- at least
> > I could run M-x occur on it, see where things were.

Well, `M-x edit-options' is certainly available. And it can be quite useful.

> > This custom thing -- I have no idea where things are, how far
> > down I have to go.
> > 
> > Maybe if someone could code it to draw one HUGE tree (lying on its
> > side, of course), but the current scheme doesn't work for me.
> > 
> > So, an INDEX would help -- each one being a LINK to the thing
> > it's about.  Custom would make the index each time it started up.
> Why not `M-x apropos-variable' to generate the *Apropos* buffer as a
> virtual index?  Then click on one of the links to display the *Help*
> buffer for any variable, which has a link to customize the variable.

1. Kevin's answer is a good one.

The point is that you don't necessarily _want_ a HUGE tree of all options, just
because there is a problem finding which options might be appropriate for some
use. What you really want is a way to focus on the parts of the tree that might
be of interest at the moment. How to do that is the real problem.

One way to do it is by checking the option names, and `apropos-variable' lets
you match names using a regexp (a substring is of course a trivial regexp).

2. Icicles can help here also.

* Command `icicle-apropos-option' is similar to `apropos-variable', but before
actually committing a regexp using `RET' you can just type it and use `S-TAB' to
see what the matching options are (will be). At the same time, you can use
`C-next' or `C-RET' to see the doc for any of the matching options.

You can adjust the regexp on the fly until you see the options you want. IOW,
WYSIWYG: change the regexp and see the matches immediately. Commit the regexp
only when you've got something you want.

* Rather than using a single fancy regexp, you can use multiple simple match
patterns (regexps or substrings) to narrow down your search progressively, a
piece at a time. If you're looking for an option whose name contains, say, both
`buffer' and `window', but in either order, then just match both of those

* Command `icicle-customize-apropos-options' is similar to
`customize-apropos-options' but, like `icicle-apropos-option', you can adjust
the regexp on the fly to see which options match.

* Command `icicle-customize-apropos-options-of-type' is similar, but it lets you
also specify the types of the options. That is, you can match not only against
option names but also against their types: their type names or their type specs.

* If matching names and types isn't good enough then you can try matching terms
that are used in doc strings. The standard Emacs command for this is
`apropos-documentation'. Icicles command `icicle-vardoc' is similar, but you can
use all of the features described above: on-the-fly matching, progressive
refinement, help (doc) for individual matches.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]