bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [address@hidden: Re: [Preview-latex-devel] CVS-1.42; scale function]


From: Stefan Monnier
Subject: Re: [address@hidden: Re: [Preview-latex-devel] CVS-1.42; scale function]
Date: 09 Nov 2001 17:29:24 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1.50

>>>>> "David" == David Kastrup <David.Kastrup@t-online.de> writes:
> I don't mind the key binding, it is the mouse binding that is
> unnecessary and gets in the way.  No user will expect to mouse-click way
> after the actual overlay and still get a reaction.  As to taking
> overlays into account in the simulated code, forget it.
> Too complicated and error-prone, and actually not possible.  When faking the
> event, you have no way of distinguishing between

Complete agreement.  I think your patch is the best we can do.

> a) a mouse click into a before-string overlay property with a keymap
>    in the before-string from a mouse click onto the first character of
>    an overlay itself
> b) a mouse-click into the after-string overlay property with a keymap
>    in the after-string from a mouse click after the last character of
>    the overlay

Indeed, reproducing this would be all too painful.  We could maybe
turn-off the minor-mode, put the event back on the unread-event queue,
return and turn the minor-mode back on after the next command, but just
thinking about makes me sick.  And I'm not even sure it would do the
right thing.

> In order to do the proper thing with such an intercepted event, you'd
> probably need more primitive Emacs functions.  I would not mind them:
> currently, aborting isearch by a mouse-click on an overlay with a
> keymap does not work: isearch does a similar interception job and
> fails similarly.

Indeed, there are a few other places where we do this kind of thing.
A grep for `key-binding' should give a pretty good idea already.
When coding the flyspell thing, I thought that a convenient facility
would be for the command to signal "can't-do-it" and have the toplevel
loop retry with the next available binding.


        Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]