[Top][All Lists]

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

patch to fill `Parent documentation...' in Customize, plus two related s

From: Drew Adams
Subject: patch to fill `Parent documentation...' in Customize, plus two related suggestions
Date: Fri, 28 Dec 2007 11:04:59 -0800

1. You can use :link in defgroup to provide links to documentation of the
group. This list of doc links is not filled in the Customize buffer, which
can lead to a long line. That, in turn, can throw off window-fitting and
frame-fitting code, for example, making a Customize frame wider than it
needs to be.

The attached patch fills the line "Parent documentation: ...". It indents
all filled lines except the first by two chars, so the result is like this:

Parent documentation: Doc-Part1, Doc-Part2, Description, Download,
  Related Libraries, and Send Bug Report.

This could perhaps be generalized to fill such lists of links wherever they
appear in Customize, but I have not done that.

2. I don't see why the lists of links `Parent groups:' and `Parent
documentation:' are called that. It seems to me they should be called simply
`Groups:' and `Documentation:'.

For example, if you customize option `foo', which is in groups `group1' and
`group2', then these two link lists refer to the groups that contain `foo'
and to their documentation, not to the parents of those groups. And an
option, such as `foo', has no parents, so it has no parent groups or parent

The label `Parent groups' could make sense only when you are visiting a
Customize buffer for a group, not for an option or a face. And even then,
`Documentation' makes more sense than `Parent documentation', it seems to

And when you are visiting a Customize buffer for a group, you don't even see
these labels! Instead, you see `Go to parent group:' and, for the doc links,
`See also '. So, in the only place where "parent" might reasonably be used,
it is not used anyway.

In addition, just as commas are used to separate the doc links, so should
they be used to separate the group links. Currently, only spaces separate
the group links.

3. You'll notice in the above example (#1) that the links do not really need
to be for documentation. Because :link can use `url-link', it can be a link
to anything, not necessarily documentation. I would argue that the Elisp
manual description of :link should not speak only of documentation. It
should simply say what :link really does, but it can mention documentation
as a use-case.

In fact, I'd suggest that the Elisp doc for :link even include an example of
using :link to provide a send-bug-report action, first, because it's useful
and should be encouraged, and second, because it points out that :link is
completely general. Here is such an example - it also shows how to make it a
little more difficult for a Web spider to recognize an email address in a
library file.

  :link `(url-link :tag "Send Bug Report"
          ,(concat "mailto:"; "jane.doe" "@" "someplace"
                   ".org?subject=foo.el bug: \
&body=Describe bug here, starting with `emacs -q'.  \
Don't forget to mention your Emacs and Foo library versions."))

Note: In the attached patch, I have not changed anything wrt #2 or #3,
figuring that there might be some discussion of what is best. The patch only
fills the doc-links list (#1).

Attachment: cus-edit-2007-12-28.patch
Description: Binary data

reply via email to

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