unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Juanma Barranquero <lekktu@gmail.com>, emacs-devel@gnu.org
Subject: Re: Interactive hat.
Date: Thu, 26 Mar 2009 23:32:57 +0000	[thread overview]
Message-ID: <20090326233257.GA1008@muc.de> (raw)
In-Reply-To: <jwvd4c47zu0.fsf-monnier+emacsbugreports@gnu.org>

Hi, Stefan!

On Thu, Mar 26, 2009 at 05:18:05PM -0400, Stefan Monnier wrote:
> > No, that's not simpler or clearer.  It's just pushing the work onto the
> > package maintainer.  And it's a LOT of work.  For example,

> >     (interactive "^P\nr")

> > becomes

> >     (interactive
> >       (progn (if (fboundp 'handle-shift-selection)
> >                  (handle-shift-selection))
> >              `(current-prefix-arg
> > 	       ,(if (< (point) (mark))
> > 	            ,@((point) (mark))
> > 		  ,@((mark) (point))))))

> Yes, that's because "r" hasn't yet received the treatment I just gave
> to "^".  As explained in my message of a couple days ago, it should
> always be easy to turn an interactive string into the corresponding
> lisp form.

> > , or something equally repulsive, requiring infinitely more debugging
> > than the string it replaces.

> Actually, in all likelyhood,

>     (interactive
>       (progn (if (fboundp 'handle-shift-selection)
>                  (handle-shift-selection))
>              (list current-prefix-arg (point) (mark))))

OK, perhaps I was exaggerating a bit.

> will work just fine (in 99% of the cases, the subsequent code has to
> figure out anyway whether `start' is indeed before `end' in case the
> function is called from Lisp rather than interactively).  So you're
> exaggerating a little bit.

I think we'd both go with Johan's (region-beginning) and (region-end).

> > My proposal is to suggest to the maintainer she copy the macro from
> > .../lisp/compatibility.el into her own sources, rename it
> > `foo-defunh'[*] and write:

> Feel free to recommend it.  I find it hideous.

Actually I'm rather surprised about that.  But as I said, my main aim
here is to minimise the time and mental effort the change will cause
package maintainers.

How about I take your suggestion as meaning that page "Interactive Codes"
should be enhanced to give the lisp equivalent for each code letter, and
it is made clear that the string version is a convenient abbreviation
which works nearly all the time, and the lisp code is the fully general
version?

I could even write a patch.  Just not tonight.

>         Stefan

-- 
Alan Mackenzie (Nuremberg, Germany).




  parent reply	other threads:[~2009-03-26 23:32 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090323223703.GA5650@muc.de>
     [not found] ` <jwvfxh392k9.fsf-monnier+emacsbugreports@gnu.org>
     [not found]   ` <20090324135210.GA4657@muc.de>
     [not found]     ` <jwvzlfacrk0.fsf-monnier+emacsbugreports@gnu.org>
2009-03-25 10:16       ` Interactive hat. [Was: CUA-like stuff spuriously enables transient-mark-mode] Alan Mackenzie
2009-03-25 10:30         ` Interactive hat Miles Bader
2009-03-25 10:53           ` Alan Mackenzie
2009-03-25 11:03             ` Lennart Borgman
2009-03-25 14:24               ` Alan Mackenzie
2009-03-26 11:29               ` Alan Mackenzie
2009-03-25 14:59             ` Miles Bader
2009-03-26 11:51               ` Alan Mackenzie
2009-03-26 12:14                 ` David Kastrup
2009-03-26 12:51                   ` Alan Mackenzie
2009-03-26 13:48                 ` Stefan Monnier
2009-03-26 14:33                   ` Alan Mackenzie
2009-03-26 16:30                     ` Stefan Monnier
2009-03-26 16:45                       ` Alan Mackenzie
2009-03-26 18:57                         ` Stefan Monnier
2009-03-29  0:44                           ` Kim F. Storm
2009-03-29  1:40                             ` Miles Bader
2009-03-29  2:02                               ` Lennart Borgman
2009-03-26 14:47                   ` Stephen J. Turnbull
2009-03-26 15:23                     ` Miles Bader
2009-03-26 17:43                       ` Stephen J. Turnbull
2009-03-25 16:18           ` Stefan Monnier
2009-03-25 11:26         ` Interactive hat. [Was: CUA-like stuff spuriously enables transient-mark-mode] Juanma Barranquero
2009-03-25 13:20           ` Interactive hat Chong Yidong
2009-03-25 14:19           ` Interactive hat. [Was: CUA-like stuff spuriously enables transient-mark-mode] Alan Mackenzie
2009-03-25 16:41             ` Juanma Barranquero
2009-03-26 12:44               ` Alan Mackenzie
2009-03-26 13:50                 ` Interactive hat Stefan Monnier
2009-03-26 15:27                   ` Alan Mackenzie
2009-03-26 17:09                     ` Stefan Monnier
2009-03-26 19:06                       ` Alan Mackenzie
2009-03-26 21:18                         ` Stefan Monnier
2009-03-26 22:32                           ` Johan Bockgård
2009-03-26 23:34                             ` Alan Mackenzie
2009-03-26 23:32                           ` Alan Mackenzie [this message]
2009-03-27  2:50                             ` Stefan Monnier
2009-03-27 11:15                               ` Alan Mackenzie
2009-04-13 19:32                               ` Interactive hat. (Patch) Alan Mackenzie
2009-04-13 20:47                                 ` Eli Zaretskii
2009-04-14 20:15                                   ` Alan Mackenzie
2009-04-14 20:47                                     ` Eli Zaretskii
     [not found]                                   ` <20090423205030.GA2723@muc.de>
2009-04-24 13:38                                     ` Interactive hat. (Patch V2) Eli Zaretskii
2009-04-27 11:46                                       ` Alan Mackenzie
2009-04-27 18:39                                         ` Eli Zaretskii
2009-04-28 22:33                                           ` Alan Mackenzie
2009-04-29  7:22                                             ` Eli Zaretskii
2009-04-29 11:36                                               ` Alan Mackenzie
2009-04-29 13:13                                                 ` Eli Zaretskii
2009-05-07 19:14                                                   ` Stefan Monnier
2009-04-28  0:14                                         ` Karl Berry
2009-04-28  1:12                                           ` Miles Bader
2009-04-28  7:55                                             ` Eli Zaretskii
2009-04-28 21:44                                             ` Alan Mackenzie
2009-04-28 21:39                                           ` Alan Mackenzie
2009-04-13 22:50                                 ` Interactive hat. (Patch) Miles Bader
2009-04-14 20:22                                   ` Alan Mackenzie
2009-04-14 20:49                                     ` Eli Zaretskii
2009-04-15  8:29                                       ` Stephen J. Turnbull
2009-03-27  0:20 Interactive hat naesten

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=20090326233257.GA1008@muc.de \
    --to=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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).