unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: emacs-devel@gnu.org, monnier@iro.umontreal.ca,
	alexander.pohoyda@gmx.net, storm@cua.dk
Subject: Re: how-many/count-matches for non-interactive use
Date: Tue, 19 Oct 2004 20:14:11 -0500 (CDT)	[thread overview]
Message-ID: <200410200114.i9K1EBr28373@raven.dms.auburn.edu> (raw)
In-Reply-To: <E1CJx7Y-0000UE-Dy@fencepost.gnu.org> (message from Richard Stallman on Tue, 19 Oct 2004 12:46:00 -0400)

Richard Stallman wrote:

   If most of the uses in Emacs are wrong,

There is one thing I know with absolute certainty: the current
behavior of `interactive-p' is correct for every single one of the
many keyboard macros I have ever written.  The proposed new behavior
would be wrong for every single macro I have ever written and for
which it would make any difference.  It would slow them down a lot and
those that print at least two different messages would hopelessly ruin
my *Messages* buffers by replacing important information with junk.
(Most of the time, keyboard macros are repeated countless times.)

A keyboard macro is a poor man's Lisp function.  There are two reasons
for using a keyboard macro: because the user does not know Lisp, or
because defining a keyboard macro takes less time than writing a Lisp
function.  Before I learned Elisp, I used tons of sometimes very
complex keyboard macros for the first reason.  Now I still
occasionally use keyboard macros for the second reason.  Probably the
main reason to use a Lisp function instead of a keyboard macro (for
something that can actually be done using a keyboard macro) is that it
tends to run a lot faster.  The choice between keyboard macro and Lisp
function is determined by necessity or convenience and by execution
speed.  It has nothing to do with wanting or not wanting messages to
be printed to *Messages*.

Like during execution of a Lisp function and unlike real interactive
use, the user does not get to enter arguments in the minibuffer during
execution of a macro.  The arguments are given during definition of
the macro.  Like in a Lisp function, the user can not determine what
to do after each command in the macro, except the last.  A command
that is part of a keyboard macro is much more like a command invoked
from a Lisp function than a really interactively invoked command.

Actually, one has to be a lot _more_ careful with messages during
macro execution than during Lisp function execution.  The absolute
_worst_ time to print messages is during long loops.  It slows things
down tremendously and hopelessly clobbers *Messages*.  I use most
keyboard macros with very large or zero numeric arguments, that is, in
long loops.  I suspect most people do.

Sincerely,

Luc.

  parent reply	other threads:[~2004-10-20  1:14 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
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 [this message]
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=200410200114.i9K1EBr28373@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).