unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Joe Corneli <jcorneli@math.utexas.edu>
Cc: Greg Novak <novak@ucolick.org>
Subject: contextual help on new features
Date: Sat, 26 Mar 2005 02:54:31 -0600	[thread overview]
Message-ID: <E1DF73v-0002ek-00@lab45.ma.utexas.edu> (raw)


Greg Novak recently kicked off a thread in the help.gnu.emacs forum,
entitled "Is Emacs becoming Word?".  What he appears to have meant by
this question is

  Emacs is becoming increasingly WYSIWYG (by default),
  and I find that annoying.

The replies he received were mixed.  Some people liked the new WYSIWYG
features.  Some people hated them.  Some people liked the fact that they
exist, but don't use them personally.  Etc.  We see discussions of this
nature in help.gnu.emacs fairly frequently.

The real point of the thread was - how easy is it to turn off new
features that you don't like (again, a frequent topic of discussion).

But also, more generally, how easy is it to make the most of new
features - to learn how to use them well (even if that means, for you,
turning them off).

I mentioned that it would be nice to have contextual help, of some
sort, on new features.

For example, the the first time "\pi" automatically turns into a greek
symbol in the current buffer, you might see a message telling you
what's just happened.  In addition to being informative, this message
should have an "actionable" aspect to it -- specifically, the user
could be given the choice to either "accept" the new feature, or
"reject" it.  Upon accepting the feature, this particual message would
go away.  Upon rejecting the feature, not only would the messages go
away, but your .emacs would get set up with a configuration item that
stops the feature from activating in the future.

The actual definitions of "accept" and "reject" are somewhat
context-dependent.  For example, the first time you get a prompt about
discarding undo data, "reject" should mean "don't prompt me again,
just do it next time!", *not* "don't discard undo data."  In some
cases, more than one option might be offered.  (Perhaps features could
be accepted on a trial basis, as in "Ask me again next week, I'm not
sure whether I like this yet or not.")

This does not seem so different from two things that we are used to in
emacs - `customize' and `disable-command'.  In effect, the suggestion
is "why not make new features 'tentatively-enabled', so that they run,
but also automatically display information about themselves, and
furthermore come packaged with the relevant customization apparatus?"

If implemented, I think that this suggestion would help support good
coding style.  New features would be sure to come packaged with useful
documentation and also with easy access to the code users need to use
them effectively.  

Accepting a new feature would be no more or less pain-less/-ful than
rejecting the feature, which would give users a sense of balance that
I think they many currently find lacking.  This idea could grow into a
somewhat enriched help subsystem, eg. "`rich-help-last-command'" might
not only bring up a buffer describing the last command, but also
provide relevant customization items.

I'm reminded a little bit of Word's annoying talking paperclip.
(Which no one seems to be able to figure out how to turn off.)  Of
course, the first feature that one should be able to turn off using
the new feature I'm describing here would be that very feature.

On the one hand, I might expect to get flamed now for promoting an
idea that already is already implemented, or otherwise
inessential/non-useful.  Well, I acknowledge that the basic components
of a system like this seem to exist, and its usefulness is a matter of
opinion.  On the other hand, I might also expect to get flamed for
promoting an idea that is too different from what emacs users are used
to, or too far off course from what the emacs project is aiming for
right now.  I can't really argue one way or another about that.

I will leave it to persons more experienced than me to think these
matters over.

             reply	other threads:[~2005-03-26  8:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-26  8:54 Joe Corneli [this message]
2005-03-26 14:15 ` contextual help on new features Luc Teirlinck
2005-03-27  3:54 ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2005-03-27  5:41 Joe Corneli

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=E1DF73v-0002ek-00@lab45.ma.utexas.edu \
    --to=jcorneli@math.utexas.edu \
    --cc=novak@ucolick.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.
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).