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

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

bug#10195: 24.0.92; M-w may no longer provide visual feedback


From: Michael Welsh Duggan
Subject: bug#10195: 24.0.92; M-w may no longer provide visual feedback
Date: Sat, 03 Dec 2011 22:29:24 -0500
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.92 (gnu/linux)

Chong Yidong <cyd@gnu.org> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>> M-w calls sit-for after bouncing point to the position of mark; the
>> default waiting period is 1 sec.  How about instrumenting sit-for with
>> calls to `message' and seeing what's going on there?  One possibility
>> is that some input event terminates the wait immediately (see
>> sit-for's code).  Another possibility is that something happens in
>> read-event, in which case you will need to use GDB.  But I think it
>> would be good to see what's going on in sit-for before you go to the C
>> level.
>>
>> Another idea is to replace the call to sit-for in kill-ring-save with
>> a call to sleep-for, and see if that changes anything.  If it does,
>> the probably culprit is sit-for and whatever it calls.
>
> FWIW, I can see this problem, and the following workaround seems to do
> the trick.  Your pending input explanation is probably right.

Yes, this seems to do the trick for me as well.

> === modified file 'lisp/simple.el'
> *** lisp/simple.el    2011-11-19 19:49:56 +0000
> --- lisp/simple.el    2011-12-04 02:25:33 +0000
> ***************
> *** 3251,3256 ****
> --- 3251,3257 ----
>             ;; Swap point and mark.
>             (set-marker (mark-marker) (point) (current-buffer))
>             (goto-char other-end)
> +           (redisplay t)
>             (sit-for blink-matching-delay)
>             ;; Swap back.
>             (set-marker (mark-marker) other-end (current-buffer))
>

-- 
Michael Welsh Duggan
(md5i@md5i.com)





reply via email to

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