unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: <help-gnu-emacs@gnu.org>
Subject: RE: M-x custom: *PLEASE*, someone, have it build an INDEX (as in *info*)
Date: Mon, 18 Jan 2010 20:55:59 -0800	[thread overview]
Message-ID: <91FF4264F4304355B105169EF773404B@us.oracle.com> (raw)
In-Reply-To: <hj391t$td8$1@ger.gmane.org>

> > 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
patterns.

http://www.emacswiki.org/emacs/Icicles_-_Progressive_Completion

* 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.

http://www.emacswiki.org/emacs/Icicles_-_Help_on_Candidates#OtherAproposCommands

* 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.

http://www.emacswiki.org/emacs/Icicles_-_Multi-Completions

HTH.





  reply	other threads:[~2010-01-19  4:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-18 10:37 M-x custom: *PLEASE*, someone, have it build an INDEX (as in *info*) David Combs
2010-01-19  3:31 ` Kevin Rodgers
2010-01-19  4:55   ` Drew Adams [this message]
2010-01-20 23:01 ` Ilya Zakharevich
2010-01-30  0:51   ` David Combs
     [not found] ` <mailman.1677.1263871922.18930.help-gnu-emacs@gnu.org>
2010-01-30  0:48   ` David Combs
2010-01-30  3:05     ` Tim X
2010-01-30  7:26     ` Kevin Rodgers

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=91FF4264F4304355B105169EF773404B@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=help-gnu-emacs@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.
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).