all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: "Bastien" <bzg@altern.org>, "Emre Sahin" <iesahin@bilkent.edu.tr>
Cc: help-gnu-emacs@gnu.org
Subject: RE: My emacs was upgraded and I am a novice again
Date: Tue, 25 Sep 2007 08:47:58 -0700	[thread overview]
Message-ID: <DNEMKBNJBGPAOPIJOOICCEBMEAAA.drew.adams@oracle.com> (raw)
In-Reply-To: <87lkavy80o.fsf@bzg.ath.cx>

> > Then, today, when I was changing the face for mode line from *Customize
> > Group: Mode Line Faces*, I saw something like "Display Time Mail Face"
> > which is reported to change the display of "display-time-mail-string"
> > variable. I C-h v'd it, and voila!
>
> I've been (unsuccessfully) looking for this yesterday -- thanks :)
...
> C-h d of "display" gives about 10000 lines of text and this doesn't
> report "display-time-mail-string" as a variable. C-h d of "mail" is
> about 2700 lines of text and this doesn't contain it either. I used
> "mode-line" to search also and I didn't understand anything from
> mode-line-format variable's value, for example. (There is a format
> description with signs like %a, %B, but there is no such thing in the
> value, just a set of cryptic functions without any reference to mail.)
>
> Maybe I gave up early without checking Google, but I used apropos,
> apropos-documentation and describe-variable for the keywords I can
> think of. As you say, there may be too many hits and I might miss (and
> I agree that I'm not a perfect user of documentation), but what I say
> is that this problem is not about documentation format and such
> technicalities; I think it's a result of "information explosion" and
> no perfect communication between user and documentation should be
> expected (as no perfect communication between people exists.) One can
> only provide better tools but this won't solve the problem perfectly.

What you say is true. However, sometimes the information explosion can be
sufficiently tamed that you can find what you need. Tools do sometimes make
a difference.

Icicles command `icicle-doc' lets you search all doc strings (functions,
variables, faces) for matches to one or more doc strings. That's a *lot* of
doc, believe me. For example:

 M-x icicle-doc RET mail S-SPC mode line

shows all doc strings that match both `mail' and `mode line', in any order,
as completion candidates.

Choose a matching candidate to see its full description in buffer *Help*
(with the function signature or variable name and value etc.). You can also
visit each of several (or all) candidates on the fly, using `C-next' (visit
each in turn) or `C-mouse-2' (visit the ones you click).

It is fairly quick this way to find what you were looking for. In spite of
the large volume of doc searched, there are only three matches in vanilla
emacs (-Q): only three functions, variables, or faces whose doc strings
mention both `mail' and `mode line': `display-time', `display-time-mode',
and `rmail-mode'.

Why no `display-time-mail-string'? Because its doc string does not mention
`mail'. That shows the weakness of such an approach: it depends on having
doc that mentions what you're looking for. Nevertheless, using this
approach, you would have very quickly found `display-time' and
`display-time-mode', and from their doc strings you could have gotten to the
appropriate Customize group and found what you needed. It would probably
have taken you less than 5 minutes altogether to find what you were after,
and almost all of that time would have been spent looking over the Customize
group's variables to find that `display-time-mail-string' was pertinent.

No, this is not a panacea. There are several user options in Customize group
`display-time' that involve mail indication in the mode line, and none of
their doc strings mention "mode line" (too bad). The group's doc string does
mention it, but the individual options in the group do not. When this is the
case, `icicle-doc' will not get you where you want to go directly, but it
can still help get you close.

There are also three similar commands, `icicle-fundoc', `icicle-vardoc', and
`icicle-plist', for only functions, only variables, and only property lists,
respectively. They let you match against either or both the
function/variable name and its doc string or the symbol name and its
property list keys and values. This is important because sometimes the name
itself carries information that the doc string does not. In particular, a
function, variable, or symbol name often indicates the operation or type of
object acted upon, and that can cut down considerably on what doc is
searched.

http://www.emacswiki.org/cgi-bin/wiki/Icicles_-_Multi-Completions

There are also Icicles versions of the standard `apropos' commands, which
let you access the list of matches as completion candidates:

http://www.emacswiki.org/cgi-bin/wiki/Icicles_-_Help_on_Candidates#OtherApro
posCommands

  reply	other threads:[~2007-09-25 15:47 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-20 18:22 My emacs was upgraded and I am a novice again Bruce Korb
2007-09-20 23:40 ` David Hansen
2007-09-21  9:49 ` Eli Zaretskii
2007-09-21 11:21   ` Dave Pawson
     [not found]   ` <mailman.1105.1190373701.18990.help-gnu-emacs@gnu.org>
2007-09-21 11:36     ` Joost Kremers
2007-09-21 17:40     ` Stefan Monnier
2007-09-21 19:17       ` Tom Tromey
2007-09-22  5:04         ` Dave Pawson
2007-09-22  7:39           ` Eli Zaretskii
2007-09-22  8:56             ` Dave Pawson
2007-09-22  9:21               ` Eli Zaretskii
2007-09-22 13:12                 ` Dave Pawson
2007-09-22 14:28                   ` Eli Zaretskii
2007-09-22 16:26                     ` Drew Adams
2007-09-22 16:23                   ` Drew Adams
2007-09-22 16:37                     ` Dave Pawson
2007-09-22 18:23                     ` Eli Zaretskii
2007-09-22 18:36                       ` Drew Adams
     [not found]                 ` <mailman.1154.1190466767.18990.help-gnu-emacs@gnu.org>
2007-09-23  7:45                   ` Tim X
     [not found]             ` <mailman.1149.1190451373.18990.help-gnu-emacs@gnu.org>
2007-09-23  6:49               ` Tim X
2007-09-23  8:26                 ` Dave Pawson
2007-09-23 11:13                 ` Bastien
2007-09-23 16:14             ` Tom Tromey
2007-09-23 19:10               ` Eli Zaretskii
     [not found]               ` <mailman.1193.1190574615.18990.help-gnu-emacs@gnu.org>
2007-09-24  0:38                 ` Johan Bockgård
2007-09-24  4:25                   ` Eli Zaretskii
2007-09-25  8:54                 ` Tim X
     [not found]             ` <mailman.1189.1190565460.18990.help-gnu-emacs@gnu.org>
2007-09-23 16:52               ` David Kastrup
2007-09-23 17:27                 ` Tom Tromey
     [not found]                 ` <mailman.1192.1190569877.18990.help-gnu-emacs@gnu.org>
2007-09-23 18:03                   ` Joost Kremers
2007-10-17 23:19                 ` David Combs
     [not found]         ` <mailman.1147.1190437481.18990.help-gnu-emacs@gnu.\x04org>
2007-09-23  5:56           ` Tim X
2007-09-23  7:18             ` Dave Pawson
2007-09-23  5:01     ` Tim X
2007-09-23  6:25       ` Dave Pawson
2007-09-24  0:15       ` Sean Sieger
     [not found]       ` <mailman.1172.1190528732.18990.help-gnu-emacs@gnu.org>
2007-09-23  8:18         ` David Kastrup
2007-09-23  8:56           ` Dave Pawson
2007-09-23 19:11             ` Eli Zaretskii
     [not found]           ` <mailman.\x041177.1190537774.18990.help-gnu-emacs@gnu.org>
2007-09-23  9:25             ` David Kastrup
2007-10-17 23:23           ` AH HA! it's a MENU item! " David Combs
2007-09-24  4:09         ` Stefan Monnier
2007-09-24  8:36           ` David Hansen
2007-09-24 21:51           ` Eli Zaretskii
2007-09-24 22:41             ` Emre Sahin
2007-09-24 23:10               ` Bastien
2007-09-25 15:47                 ` Drew Adams [this message]
2007-09-25 21:33                   ` Eli Zaretskii
2007-09-25 21:46                     ` Drew Adams
2007-09-26  9:02                       ` Eli Zaretskii
2007-09-26 14:47                         ` Drew Adams
2007-09-26 15:05                           ` Eli Zaretskii
2007-09-26 16:10                             ` Drew Adams
2007-09-25  4:12               ` Eli Zaretskii
2007-09-25 11:06                 ` Emre Sahin
2007-09-25 21:24                   ` Eli Zaretskii
     [not found]               ` <mailman.1254.1190675441.18990.help-gnu-emacs@gnu.org>
2007-09-25  5:52                 ` David Kastrup
2007-09-25  7:08                   ` Bastien
2007-09-24  8:05         ` Tim X
2007-09-24 16:12           ` Sean Sieger
     [not found] <mailman.1081.1190330833.18990.help-gnu-emacs@gnu.org>
2007-09-21  4:35 ` Glenn Morris
2007-09-23 20:17 ` Tom Horsley
2007-09-23 20:31   ` David Kastrup
2007-09-23 21:11     ` Drew Adams
2007-09-24 10:51     ` Tom Horsley
2007-09-24 21:49       ` Eli Zaretskii
2007-09-25  8:57   ` Tim X
  -- strict thread matches above, loose matches on Subject: below --
2007-10-06 18:44 Bruce Korb
     [not found] <mailman.1779.1191696304.18990.help-gnu-emacs@gnu.org>
2007-10-07  5:45 ` Tim X
2007-10-10 17:16 ` Stefan Monnier

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DNEMKBNJBGPAOPIJOOICCEBMEAAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    --cc=bzg@altern.org \
    --cc=help-gnu-emacs@gnu.org \
    --cc=iesahin@bilkent.edu.tr \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.