unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: storm@cua.dk, monnier@iro.umontreal.ca,
	alexander.pohoyda@gmx.net, emacs-devel@gnu.org
Subject: Re: how-many/count-matches for non-interactive use
Date: Mon, 18 Oct 2004 20:58:53 -0500 (CDT)	[thread overview]
Message-ID: <200410190158.i9J1wrH25523@raven.dms.auburn.edu> (raw)
In-Reply-To: <E1CJY2i-0001Js-H2@fencepost.gnu.org> (message from Richard Stallman on Mon, 18 Oct 2004 09:59:20 -0400)

Richard Stallman wrote:

   The immediate problem is that there are many uses of interactive-p,
   and many of them, perhaps all, are now incorrect.  We need to either
   change those uses or change interactive-p.

It would definitely seem to be a lot better to change existing
"incorrect" (whatever that means, it seems to be completely
subjective) uses than to change `interactive-p'.  This way we will
not break any currently correct code in the Emacs distribution, third
party packages, user Elisp functions and, most importantly, user
defined keyboard macros.  The current behavior has been in place for a
long time and users have defined (and saved) their keyboard macros to
work with that behavior.

The most convenient way to change any currently "wrong" uses would, in
my opinion, be to go with Kim's suggestion:

   (interactive-p)    => current behaviour
   (interactive-p t)  => interactive or executing macro

   (interactive-p 1)  => interactive or executing macro ONCE

I am not _completely_ sure about the last line, however.

   The first step in fixing this is to take inventory.  Which uses of
   interactive-p are correct with the current definition of
   interactive-p?  Which would be correct with the modified definition of
   interactive-p that would not check for macros?

I doubt that many uses are going to be obviously "correct" or
"incorrect".  It all depends on what the keyboard macro in which it is
going to be used is designed to do.  But users have designed (and
saved) their keyboard macros to work with the current behavior.  I
believe we should be very conservative before changing the current
behavior for any individual function.  Certainly, we should not change
the default behavior of `interactive-p'.

   Would someone like to check them?

There are tons of them.  We can have 100 message long discussions
about nearly every single one of them, because all of them are likely
to be subjective and depend on the type of keyboard macro.  If we
leave _everything_ as is we will not break one single currently
correct keyboard macro.

In as far as the current example is concerned, it would seem _wrong_
to _try_ to show the how-many/count-matches messages in an executing
keyboard macro, like it is wrong to _try_ to show _any_ message in a
keyboard macro.  The reason for that is that it does not work anyway.

Try the following.

emacs -q

C-M-x the following:

(defun myfun ()
  (interactive)
  (message "This is the message"))

Note, no `interactive-p'.

Move point to end of buffer.

C-x ( a M-x myfun RET C-x )

We now have defined a keyboard macro.

Question:

How do we execute this macro in such a way that "This is the message"
gets printed in the echo area?  It does reliably get printed to
*Messages*, but how many users routinely check *Messages*?

Maybe the above could be considered a bug that should be fixed.  But
even if this "bug" would be fixed, then if the macro is executed with
`C-x e', the "(Type e to repeat macro)" message will still overwrite
any message that the macro would try to print.

Sincerely,

Luc.

  reply	other threads:[~2004-10-19  1:58 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-24  6:09 [rmail-mbox-branch]: expunge Alfred M. Szmidt
2004-09-24  7:16 ` Kim F. Storm
2004-09-24  8:21   ` Alfred M. Szmidt
2004-09-24  9:23     ` Kim F. Storm
2004-09-24 12:03       ` Paul Michael Reilly
2004-09-25  7:08       ` Richard Stallman
2004-10-03 10:40         ` Alexander Pohoyda
2004-10-04 15:18           ` Richard Stallman
2004-10-06 21:38             ` [rmail-mbox-branch]: mail-utils Alexander Pohoyda
2004-10-06 21:47               ` Miles Bader
2004-10-08 23:34                 ` Alexander Pohoyda
2004-10-08 23:47                   ` Miles Bader
2004-10-09 16:04                     ` Alexander Pohoyda
2004-10-09 17:12                       ` Stefan
2004-10-09 18:15                         ` Alexander Pohoyda
2004-10-09 18:20                           ` Miles Bader
2004-10-09 21:02                             ` Alexander Pohoyda
2004-10-09 21:10                               ` Miles Bader
2004-10-09 21:19                                 ` Miles Bader
2004-10-10 15:15                                   ` Richard Stallman
2004-10-10 22:58                                     ` Miles Bader
2004-10-11 16:45                                       ` Richard Stallman
2004-10-12  2:09                                         ` Miles Bader
2004-10-12 14:42                                         ` Juri Linkov
2004-10-12 15:03                                           ` Miles Bader
2004-10-12 16:05                                             ` Syncing Gnus with Emacs and back (was: [rmail-mbox-branch]: mail-utils) Reiner Steib
2004-10-13  1:26                                               ` Syncing Gnus with Emacs and back Miles Bader
2004-10-13 20:21                                                 ` Reiner Steib
2004-10-13 22:51                                                   ` Miles Bader
2004-10-14  7:47                                                     ` Miles Bader
2004-10-13 14:43                                           ` [rmail-mbox-branch]: mail-utils Richard Stallman
2004-10-09 19:02                           ` Stefan
2004-10-09 20:40                             ` Alexander Pohoyda
2004-10-11 10:36                       ` Simon Josefsson
2004-10-08 16:06               ` Richard Stallman
2004-10-08 23:17                 ` Alexander Pohoyda
2004-10-10 15:16                   ` Richard Stallman
2004-10-10 23:50                     ` Alexander Pohoyda
2004-10-11 16:45                       ` Richard Stallman
2004-10-11 19:01                         ` Alexander Pohoyda
2004-10-12  8:57                           ` Richard Stallman
2004-10-12 16:12                             ` Alexander Pohoyda
2004-10-13 14:42                               ` Richard Stallman
2004-10-13 18:16 ` how-many/count-matches for non-interactive use Alexander Pohoyda
2004-10-15  0:26   ` Richard Stallman
2004-10-15  6:28     ` Alexander Pohoyda
2004-10-15 12:22       ` Richard Stallman
2004-10-15 15:30         ` Alexander Pohoyda
2004-10-16 13:52           ` Richard Stallman
2004-10-16 21:49             ` Alexander Pohoyda
2004-10-15 12:54     ` Stefan
2004-10-16 13:51       ` Richard Stallman
2004-10-16 18:41         ` Stefan Monnier
2004-10-16 22:00           ` Kim F. Storm
2004-10-17 15:19             ` Stefan Monnier
2004-10-17 20:53               ` Luc Teirlinck
2004-10-17 21:44                 ` Stefan Monnier
2004-10-18  8:39                 ` Kim F. Storm
2004-10-18 13:59                 ` Richard Stallman
2004-10-19  1:58                   ` Luc Teirlinck [this message]
2004-10-19  2:08                     ` Luc Teirlinck
2004-10-19 10:29                     ` Kim F. Storm
2004-10-19 17:17                       ` Alexander Pohoyda
2004-10-20 12:01                         ` Kim F. Storm
2004-10-19 16:46                     ` Richard Stallman
2004-10-19 22:08                       ` Kim F. Storm
2004-10-21  1:45                         ` Richard Stallman
2004-10-21  3:22                           ` Luc Teirlinck
2004-10-20  1:14                       ` Luc Teirlinck
2004-10-20  1:35                         ` David Kastrup
2004-10-20 13:28                         ` Robert J. Chassell
2004-10-20  1:27                       ` Luc Teirlinck
2004-10-21  1:45                         ` Richard Stallman
2004-10-21  3:08                           ` Luc Teirlinck
2004-10-22 10:47                             ` Richard Stallman
2004-10-22 12:54                               ` Convert keyboard macros to Lisp (was: how-many/count-matches for non-interactive use) Juri Linkov
2004-10-23 13:54                                 ` Richard Stallman
2004-10-22 17:35                               ` how-many/count-matches for non-interactive use Luc Teirlinck
2004-10-22 22:22                               ` Luc Teirlinck
2004-10-23  1:53                                 ` Luc Teirlinck
2004-10-23 11:32                                 ` John Paul Wallington
2004-10-23 18:49                                 ` Richard Stallman
2004-10-23 20:36                                   ` Luc Teirlinck
2004-10-24 17:09                                     ` Richard Stallman
2004-10-26  3:09                                       ` Luc Teirlinck
2004-10-26  8:19                                         ` Kim F. Storm
2004-11-02  8:53                                         ` Richard Stallman
2004-10-24  2:31                                   ` Luc Teirlinck
2004-10-24 17:09                                     ` Richard Stallman
2004-10-25  1:53                                       ` Luc Teirlinck
2004-10-26  9:05                                         ` Richard Stallman
2004-10-25  2:53                                       ` Luc Teirlinck
2004-10-26  9:04                                         ` Richard Stallman
2004-10-25  3:08                                       ` Luc Teirlinck
2004-10-24 17:09                                     ` Richard Stallman
2004-10-23 18:49                                 ` Richard Stallman
2004-10-25 14:04                                   ` Ken Manheimer
2004-10-27 10:49                                     ` Richard Stallman
2004-10-28  4:39                                     ` Ken Manheimer
2004-11-02 15:48                                       ` Ken Manheimer
2004-11-07  3:37                                         ` Richard Stallman
2004-10-23 18:49                                 ` Richard Stallman
2004-10-23 19:53                                   ` John Paul Wallington
2004-10-23 18:49                                 ` Richard Stallman
2004-10-21 22:13                           ` Luc Teirlinck
2004-10-23  4:48                             ` Richard Stallman
2004-10-23 16:03                               ` Luc Teirlinck
2004-10-18  8:32               ` Kim F. Storm
2004-10-17 16:07           ` Richard 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=200410190158.i9J1wrH25523@raven.dms.auburn.edu \
    --to=teirllm@dms.auburn.edu \
    --cc=alexander.pohoyda@gmx.net \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=storm@cua.dk \
    /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).