unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: new apropos feature in Emacs-22
Date: Mon, 7 Nov 2005 09:54:00 -0800	[thread overview]
Message-ID: <DNEMKBNJBGPAOPIJOOICIEIBCOAA.drew.adams@oracle.com> (raw)
In-Reply-To: <E1EZ91M-0005BY-Jh@fencepost.gnu.org>

This feature changes the syntax and meaning of the input to apropos
functions. We've discussed the effects on the users of apropos commands.

There is also a (similar) effect on the programmatic use to consider. While
it is true that there are internal apropos functions that programs could use
instead of using the end-user commands:

1. There is no guarantee that programs do not use the end-user commands.

2. In some cases, there is no internal function that directly does what's
needed. For example, there is no internal equivalent of `apropos-variable'
(IIUC).

3. There is (still) no documentation for most of the internal commands
(apropos-documentation-check-doc-file, apropos-documentation-check-elc-file,
apropos-documentation-internal, apropos-symbols-internal,
apropos-value-internal). This can suggest to programmers that the internal
functions are not intended to be used externally.

Most of the discussion has centered on _how_ to obtain the syntax and
behavior of both the old (regexp) and the new (keywords) apropos at the same
time, in the same command - not on whether or not that is desirable.

The latest suggestion for combining the old and new in the same command was
to use `M-r' to toggle between old and new (in addition to `C-u' to toggle
`do-all') - and to add a new user option for selecting the default behavior.
This, like the other suggestions, is workable, but it doesn't help existing
programmatic use of the commands.

In order to not break existing code:

1. An extra (e.g. optional) parameter would need to be provided to the
commands.

2. Its default value (nil) would need to reflect the old behavior.

#2 conflicts with the desire to make the default syntax and behavior be
keyword search, in order to be more "novice user-friendly". We could treat
the interactive and programmatic values oppositely wrt to this parameter, of
course, but that would be downright mischievous.

I argued that the old and new syntaxes and behaviors should be implemented
in different commands. That would give all users what they want, without the
complexities of modes and mixed syntaxes. It would also not break any
existing code.

(I also said that I didn't care which commands got the "apropos" name, but
I've changed my mind on that, after thinking about existing programs that
might expect the old behavior from the "apropos" names. That is, I don't
really care about the names, but existing programs might.)

I've still seen _no argument_ (i.e. no rationale) voiced against using
separate commands. One could argue "Occam's razor: don't multiply things
needlessly", but that applies equally to all approaches discussed so far -
whether we multiply the number of commands or the number of use modes (e.g.
`M-r' toggle) for the existing commands.

So, I repeat the question:  _Why not_ leave the apropos commands as they
were, and create new, more "novice user-friendly", keyword-search commands?
The question deserves some reply, at least. It should have been addressed
before launching a discussion of _how_ to change the existing commands.

  reply	other threads:[~2005-11-07 17:54 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-05  3:15 new apropos feature in Emacs-22 Luc Teirlinck
2005-11-05 10:26 ` Eli Zaretskii
2005-11-05 15:52   ` Luc Teirlinck
2005-11-05 16:43     ` Eli Zaretskii
2005-11-05 17:33       ` Drew Adams
2005-11-05 19:46         ` Eli Zaretskii
2005-11-05 20:38           ` Drew Adams
2005-11-05 22:10             ` Luc Teirlinck
2005-11-05 23:00             ` Kim F. Storm
2005-11-05 23:18               ` Lennart Borgman
2005-11-05 23:28                 ` Luc Teirlinck
2005-11-05 23:37                   ` Lennart Borgman
2005-11-05 23:31                 ` Drew Adams
2005-11-05 23:36                   ` Drew Adams
2005-11-05 23:39                   ` Lennart Borgman
2005-11-05 23:21               ` Drew Adams
2005-11-06  1:57               ` Luc Teirlinck
2005-11-06  4:32                 ` Eli Zaretskii
2005-11-06  5:36                   ` Luc Teirlinck
2005-11-06 17:05                     ` Eli Zaretskii
2005-11-06 17:22                       ` David Kastrup
2005-11-06 18:43                         ` Eli Zaretskii
2005-11-06 18:31                       ` Luc Teirlinck
2005-11-06 18:46                         ` Eli Zaretskii
2005-11-07  9:45                           ` Alan Mackenzie
2005-11-07 20:43                             ` Eli Zaretskii
2005-11-07 20:58                             ` Eli Zaretskii
2005-11-07 21:54                         ` Richard M. Stallman
2005-11-06 20:16                       ` Luc Teirlinck
2005-11-06 22:54                         ` Kim F. Storm
2005-11-06 18:47                     ` Kim F. Storm
2005-11-06 19:19                       ` Luc Teirlinck
2005-11-07  7:04                       ` Luc Teirlinck
2005-11-07 21:55                       ` Richard M. Stallman
2005-11-06  9:19                   ` David Kastrup
2005-11-05 17:39       ` Luc Teirlinck
2005-11-06 17:02     ` Stefan Monnier
2005-11-06 17:08       ` Eli Zaretskii
2005-11-06 19:55       ` Luc Teirlinck
2005-11-05 23:43 ` Richard M. Stallman
2005-11-06  0:27   ` Luc Teirlinck
2005-11-07 15:34     ` Richard M. Stallman
2005-11-07 17:54       ` Drew Adams [this message]
2005-11-07 18:56         ` Stefan Monnier
2005-11-07 19:25           ` Drew Adams
2005-11-07 22:39           ` Lennart Borgman
2005-11-07 20:52         ` Eli Zaretskii
2005-11-07 22:59           ` Drew Adams
2005-11-08  4:47             ` Eli Zaretskii
2005-11-08  4:58       ` Luc Teirlinck
2005-11-08 12:48         ` Kim F. Storm
2005-11-08 23:53           ` Miles Bader
2005-11-09  0:21             ` Lennart Borgman
2005-11-11  7:42         ` Richard M. Stallman
2005-11-11  9:29           ` Kim F. Storm
2005-11-11 10:57             ` Miles Bader
2005-11-11 16:16               ` Kim F. Storm
2005-11-12  3:38               ` Richard M. Stallman
2005-11-12  3:15           ` Luc Teirlinck
2005-11-12 17:49             ` Richard M. Stallman
2005-11-12  3:36           ` Luc Teirlinck
2005-11-12 21:19             ` Juri Linkov
2005-11-14  4:55               ` Richard M. Stallman
2005-11-15  0:52                 ` Juri Linkov
2005-11-15 23:22                   ` Richard M. Stallman
2005-11-17  7:38                     ` Juri Linkov
2005-11-17 10:06                       ` Kim F. Storm
2005-11-09 23:25       ` Kim F. Storm
2005-11-10  5:44         ` Richard M. Stallman

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=DNEMKBNJBGPAOPIJOOICIEIBCOAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    /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 public inbox

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

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