"Drew Adams" <[EMAIL PROTECTED]> writes:

> Another question about use of `special-event-map' - consider this code:
>
> (define-key special-event-map [iconify-frame] 'toto)
>
> (defun foo ()
>   (interactive)
>   (let ((binding (lookup-key special-event-map [iconify-frame])))
>     (define-key special-event-map [iconify-frame] 'ignore-event)
>     (iconify-frame)
>     (define-key special-event-map [iconify-frame] binding)))
>
> (defun toto (event)
>   (interactive "e")
>   (message "TOTO"))
>
> When I try M-x foo, `toto' gets executed, even though `foo' tries to remove
> its binding. Same thing happens if I use `nil' instead of `ignore-event'.
>
> Explanation? Any way around this? That is, is there some way I can inhibit
> the binding of [iconify-frame] for the duration of command foo?

  Hi !

  Mhhh, don't know if it works in any case (using Ion, iconify doesn't
  make much sense), but, well... Try this:

(defun foo ()
  (interactive)
  (iconify-frame)
  (while (not (input-pending-p))
    (sit-for 1))
  (discard-input))

-- 
    Michael Cadilhac, a.k.a. Micha [mika] |
                    Epita/LRDE promo 2007 |  Please note that you should
  2 rue de la Convention | 01.46.70.90.75 |  s/[EMAIL PROTECTED]/@/ my mail 
address.
94270 Le Kremlin Bicetre | 06.23.20.31.30 |

Attachment: pgpL4eLtVG3WI.pgp
Description: PGP signature

_______________________________________________
Help-gnu-emacs mailing list
Help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

Reply via email to