unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Noam Postavsky <npostavs@users.sourceforge.net>
Cc: 29272@debbugs.gnu.org, acm@muc.de
Subject: bug#29272: 26.0.90; "C-h k C-mouse-3" followed by menu selection asks for more keys
Date: Wed, 29 Nov 2017 19:53:57 +0200	[thread overview]
Message-ID: <83bmjl3r9m.fsf@gnu.org> (raw)
In-Reply-To: <87wp29jk7t.fsf@users.sourceforge.net> (message from Noam Postavsky on Wed, 29 Nov 2017 08:19:34 -0500)

> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Cc: Eli Zaretskii <eliz@gnu.org>,  acm@muc.de,  29272@debbugs.gnu.org
> Date: Wed, 29 Nov 2017 08:19:34 -0500
> 
> 
> The following works for me in lucid and gtk:
> 
> --- c/lisp/help.el
> +++ i/lisp/help.el
> @@ -726,19 +726,19 @@ help-read-key-sequence
>            (while
>                (pcase (setq key (read-key-sequence "\
>  Describe the following key, mouse click, or menu item: "))
> -                ((and (pred vectorp) (let `(,key0 . ,_) (aref key 0))
> -                      (guard (symbolp key0)) (let keyname (symbol-name key0)))
> -                 (or
> -                  (and no-mouse-movement
> -                       (string-match "mouse-movement" keyname))
> -                  (and (string-match "\\(mouse\\|down\\|click\\|drag\\)"
> -                                     keyname)
> -                       (progn
> -                         ;; Discard events (e.g. <help-echo>) which might
> -                         ;; spuriously trigger the `sit-for'.
> -                         (sleep-for 0.01)
> -                         (while (read-event nil nil 0.01))
> -                         (not (sit-for (/ double-click-time 1000.0) t))))))))
> +                (`[(,key0 . ,_)]
> +                 (or (and no-mouse-movement (eq key0 'mouse-movement))
> +                     ;; Wait long enough to fully read a double click event.
> +                     ;; FIXME: How to handle double-click-time = t?
> +                     (and (numberp double-click-time)
> +                          (string-match "\\(mouse\\|down\\|click\\|drag\\)"
> +                                        (symbol-name key0))
> +                          (progn
> +                            ;; Discard events (e.g. <help-echo>) which might
> +                            ;; spuriously trigger the `sit-for'.
> +                            (sleep-for 0.01)
> +                            (while (read-event nil nil 0.01))
> +                            (not (sit-for (/ double-click-time 1000.0) t))))))))
>            (list
>             key
>             ;; If KEY is a down-event, read and include the
> 

LGTM, thanks

> > BTW: Could someone please fix that
> >
> > (not (sit-for (/ double-click-time 1000.0) t))
> >
> > form so it handles at least those values of `double-click-time'
> > described in its documentation:
> >
> >   Maximum time between mouse clicks to make a double-click.
> >   Measured in milliseconds.  The value nil means disable double-click
> >   recognition; t means double-clicks have no time limit and are detected
> >   by position only.
> >
> > I'm not sure what `sit-for' is supposed to return in those cases.
> 
> I don't know how to handle the double-click-time = t case though.

I think we should use some fixed time in that case.





  reply	other threads:[~2017-11-29 17:53 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-12 11:23 bug#29272: 26.0.90; "C-h k C-mouse-3" followed by menu selection asks for more keys Eli Zaretskii
2017-11-12 12:38 ` Eli Zaretskii
2017-11-12 13:24   ` Alan Mackenzie
2017-11-14 20:54   ` Alan Mackenzie
2017-11-18 11:27     ` Eli Zaretskii
2017-11-18 15:15       ` Alan Mackenzie
2017-11-19 16:19       ` Alan Mackenzie
2017-11-19 17:04         ` Eli Zaretskii
2017-11-19 17:44           ` Eli Zaretskii
2017-11-19 17:54           ` Alan Mackenzie
2017-11-19 18:17         ` Eli Zaretskii
2017-11-19 20:26           ` Alan Mackenzie
2017-11-29  0:50     ` Noam Postavsky
2017-11-29  3:38       ` Eli Zaretskii
2017-11-29  8:39         ` martin rudalics
2017-11-29 13:19           ` Noam Postavsky
2017-11-29 17:53             ` Eli Zaretskii [this message]
2017-11-30  7:22             ` martin rudalics
2017-11-29 17:55           ` Eli Zaretskii
2017-11-29 18:37           ` Alan Mackenzie
2017-11-29 18:56             ` Eli Zaretskii
2017-12-01 16:57               ` Alan Mackenzie
2017-12-01 19:18                 ` Drew Adams
2017-12-01 19:43                   ` Eli Zaretskii
2017-11-30  7:22             ` martin rudalics
     [not found] <<83shdjn3ju.fsf@gnu.org>
     [not found] ` <<83mv3rn02t.fsf@gnu.org>
     [not found]   ` <<20171114205449.GA8025@ACM>
     [not found]     ` <<87fu8xnc17.fsf@users.sourceforge.net>
     [not found]       ` <<83h8td4uw5.fsf@gnu.org>
     [not found]         ` <<5A1E724A.5030507@gmx.at>
     [not found]           ` <<20171129183717.GA8914@ACM>
     [not found]             ` <<83609s52xt.fsf@gnu.org>
     [not found]               ` <<20171201165740.GE3840@ACM>
     [not found]                 ` <<1c4abffb-e975-41b1-a368-29518bc3b360@default>
     [not found]                   ` <<83y3mm1bfu.fsf@gnu.org>
2017-12-01 21:12                     ` Drew Adams
2017-12-02  8:13                       ` Eli Zaretskii

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=83bmjl3r9m.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=29272@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=npostavs@users.sourceforge.net \
    /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).