[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem copying large text under X
From: |
Kim F. Storm |
Subject: |
Re: Problem copying large text under X |
Date: |
Thu, 04 Nov 2004 14:18:58 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux) |
"Jan D." <address@hidden> writes:
>>
>> After a (long) while, it does seem to terminate the clipboard protocol
>> and things are back to normal performance.
>>
>> It could seem like the clipboard program (KDE klipper) is slow,
>> but it does seem to get the whole data eventually.
>
> FWIW, klipper on KDE 3.3 does not seem to have this problem, it
> completes almost instantly.
So does it here -- but it seem to immediately requst the same selection
again. Actually this happens even if I just copy 3 bytes with M-w.
Here's output when I enable TRACE_SELECTION in xselect.c
6469: XInternAtom LENGTH
6469: XInternAtom FILE_NAME
6469: XInternAtom CHARACTER_POSITION
6469: XInternAtom LINE_NUMBER
6469: XInternAtom COLUMN_NUMBER
6469: XInternAtom OWNER_OS
6469: XInternAtom HOST_NAME
6469: XInternAtom USER
6469: XInternAtom CLASS
6469: XInternAtom NAME
6469: Sending all 76 bytes
6469: Sending all 3 bytes
6469: XInternAtom LENGTH
6469: XInternAtom FILE_NAME
6469: XInternAtom CHARACTER_POSITION
6469: XInternAtom LINE_NUMBER
6469: XInternAtom COLUMN_NUMBER
6469: XInternAtom OWNER_OS
6469: XInternAtom HOST_NAME
6469: XInternAtom USER
6469: XInternAtom CLASS
6469: XInternAtom NAME
6469: Sending all 76 bytes
6469: Sending all 3 bytes
etc. etc. etc.
So copying to the clipboard works fin -- it just sends it again
forever, because it's asked to do so!!!
Look very much like a bug in klipper, but parhaps there's a way
to make it stop.
Here's the trace for the full xdisp.c [there's additional trace output
that I added, but I suppose you get the picture].
GOT SELECTION REQUEST
GOT SELECTION REQUEST - OK
6160: x_handle_selection_event
6160: x_handle_selection_request
6160: XInternAtom LENGTH
6160: XInternAtom FILE_NAME
6160: XInternAtom CHARACTER_POSITION
6160: XInternAtom LINE_NUMBER
6160: XInternAtom COLUMN_NUMBER
6160: XInternAtom OWNER_OS
6160: XInternAtom HOST_NAME
6160: XInternAtom USER
6160: XInternAtom CLASS
6160: XInternAtom NAME
6160: Sending all 76 bytes
GOT SELECTION REQUEST
GOT SELECTION REQUEST - OK
6160: x_handle_selection_event
6160: x_handle_selection_request
6160: x_start_queuing_selection_requests 1
6160: Start sending 670817 bytes incrementally (_QT_SELECTION)
6160: Set _QT_SELECTION to number of bytes to send
6160: Send SelectionNotify event
6160: Waiting for ACK (deletion of _QT_SELECTION)
6160: Waiting 20 secs, 0 usecs
6160: Expected deletion of property _QT_SELECTION
6160: Got ACK
6160: Sending increment of 262040 bytes
6160: Set _QT_SELECTION to increment data
6160: Waiting for increment ACK (deletion of _QT_SELECTION)
6160: Waiting 20 secs, 0 usecs
6160: Expected deletion of property _QT_SELECTION
6160: Sending increment of 262040 bytes
6160: Set _QT_SELECTION to increment data
6160: Waiting for increment ACK (deletion of _QT_SELECTION)
6160: Waiting 20 secs, 0 usecs
6160: Expected deletion of property _QT_SELECTION
6160: Sending increment of 146737 bytes
6160: Set _QT_SELECTION to increment data
6160: Waiting for increment ACK (deletion of _QT_SELECTION)
6160: Waiting 20 secs, 0 usecs
6160: Expected deletion of property _QT_SELECTION
6160: Set _QT_SELECTION to a 0-length chunk to indicate EOF
6160: Done sending incrementally
6160: x_stop_queuing_selection_requests 1
GOT SELECTION REQUEST
GOT SELECTION REQUEST - OK
6160: x_handle_selection_event
6160: x_handle_selection_request
6160: XInternAtom LENGTH
6160: XInternAtom FILE_NAME
6160: XInternAtom CHARACTER_POSITION
6160: XInternAtom LINE_NUMBER
6160: XInternAtom COLUMN_NUMBER
6160: XInternAtom OWNER_OS
6160: XInternAtom HOST_NAME
6160: XInternAtom USER
6160: XInternAtom CLASS
6160: XInternAtom NAME
6160: Sending all 76 bytes
GOT SELECTION REQUEST
GOT SELECTION REQUEST - OK
6160: x_handle_selection_event
6160: x_handle_selection_request
6160: x_start_queuing_selection_requests 1
6160: Start sending 670817 bytes incrementally (_QT_SELECTION)
6160: Set _QT_SELECTION to number of bytes to send
etc. etc. ad infinum.
I think I have found various problems in the synchronization and
queuing of event between xterm.c, keyboard.c, and xselect.c, but
fixing those problems don't fix this problem.
--
Kim F. Storm http://www.cua.dk
- Problem copying large text under X, Kim F. Storm, 2004/11/01
- Re: Problem copying large text under X, Jan D., 2004/11/02
- Re: Problem copying large text under X, Richard Stallman, 2004/11/03
- Re: Problem copying large text under X, Kim F. Storm, 2004/11/03
- Re: Problem copying large text under X, Jan D., 2004/11/03
- Re: Problem copying large text under X,
Kim F. Storm <=
- Re: Problem copying large text under X, Jan D., 2004/11/05
- Re: Problem copying large text under X, Richard Stallman, 2004/11/05
- Re: Problem copying large text under X, Kim F. Storm, 2004/11/05
- Re: Problem copying large text under X, Jan D., 2004/11/05
- Re: Problem copying large text under X, Kim F. Storm, 2004/11/05
- Re: Problem copying large text under X, Jan D., 2004/11/06
- Re: Problem copying large text under X, Kim F. Storm, 2004/11/08
- Re: Problem copying large text under X, Kim F. Storm, 2004/11/05
- Re: Problem copying large text under X, Jan D., 2004/11/06
- Re: Problem copying large text under X, Kim F. Storm, 2004/11/05