Mercurial > hg > xemacs-beta
changeset 892:52c2a7139db0
[xemacs-hg @ 2002-07-02 12:27:53 by stephent]
slow killing FAQ <877kkeco4v.fsf@tleepslib.sk.tsukuba.ac.jp>
author | stephent |
---|---|
date | Tue, 02 Jul 2002 12:27:58 +0000 |
parents | bf76db2b446e |
children | c9f067fd71a3 |
files | ChangeLog PROBLEMS man/ChangeLog man/xemacs-faq.texi |
diffstat | 4 files changed, 85 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Jul 02 12:12:13 2002 +0000 +++ b/ChangeLog Tue Jul 02 12:27:58 2002 +0000 @@ -1,3 +1,7 @@ +2002-07-02 Stephen J. Turnbull <stephen@xemacs.org> + + * PROBLEMS (Running XEmacs; General): Xref FAQ Q3.10.6. + 2002-05-22 Andy Piper <andy@xemacs.org> * build-msw-release.sh (TMPINSTALL): install to a tmpdir so that
--- a/PROBLEMS Tue Jul 02 12:12:13 2002 +0000 +++ b/PROBLEMS Tue Jul 02 12:27:58 2002 +0000 @@ -631,6 +631,11 @@ * Problems with running XEmacs ============================== ** General +*** Starting with 21.4.x, killing text is absurdly slow. + +See FAQ Q3.10.6. Should be available on the web near +http://www.xemacs.org/faq/xemacs-faq.html#SEC160. + *** Whenever I try to retrieve a remote file, I have problems. A typical error: FTP Error: USER request failed; 500 AUTH not understood.
--- a/man/ChangeLog Tue Jul 02 12:12:13 2002 +0000 +++ b/man/ChangeLog Tue Jul 02 12:27:58 2002 +0000 @@ -1,3 +1,8 @@ +2002-07-02 Stephen J. Turnbull <stephen@xemacs.org> + + * xemacs-faq.texi (Top, Customization, Q3.10.5, Q3.10.6): + New "killing is slow" FAQ and link updates. + 2002-06-17 Jerry James <james@xemacs.org> * emodules.texi (Loading other Modules): Describe why we do not
--- a/man/xemacs-faq.texi Tue Jul 02 12:12:13 2002 +0000 +++ b/man/xemacs-faq.texi Tue Jul 02 12:27:58 2002 +0000 @@ -7,7 +7,7 @@ @finalout @titlepage @title XEmacs FAQ -@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/06/11 19:28:15 $ +@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/07/02 12:27:58 $ @sp 1 @author Tony Rossini <rossini@@biostat.washington.edu> @author Ben Wing <ben@@xemacs.org> @@ -268,6 +268,7 @@ * Q3.10.3:: Can I turn off the highlight during isearch? * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling. +* Q3.10.6:: Why is killing so slow? Major Subsystems @@ -2515,6 +2516,7 @@ * Q3.10.3:: Can I turn off the highlight during isearch? * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling. +* Q3.10.6:: Why is killing so slow? @end menu @node Q3.0.1, Q3.0.2, Customization, Customization @@ -3807,7 +3809,7 @@ Also see @ref{Q3.10.1}. -@node Q3.10.5, , Q3.10.4, Customization +@node Q3.10.5, Q3.10.6, Q3.10.4, Customization @unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling. This has been fixed by default starting with XEmacs-20.3. @@ -3838,6 +3840,73 @@ Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this answer. +@node Q3.10.6, , Q3.10.5, Customization +@unnumberedsubsec Q3.10.6: Why is killing so slow? + +This actually is an X Windows question, although you'll notice it with +keyboard operations as well as while using the GUI. Basically, there +are four ways to communicate interprogram via the X server: + +@table @strong +@item Primary selection +a transient selection that gets replaced every time a new selection is made + +@item Secondary selection +for "exchanging" with the primary selection + +@item Cut buffers +a clipboard internal to the X server (deprecated) + +@item Clipboard selection +a selection with a notification protocol that allows a separate app to +manage the clipboard +@end table + +The cut buffers are deprecated because managing them is even more +inefficient than the clipboard notification protocol. The primary +selection works fine for many users and applications, but is not very +robust under intensive or sophisticated use. + +In Motif and MS Windows, a clipboard has become the primary means for +managing cut and paste. These means that "modern" applications tend to +be oriented toward a true clipboard, rather than the primary selection. +(On Windows, there is nothing equivalent to the primary selection.) +It's not that XEmacs doesn't support the simple primary selection +method, it's that more and more other applications don't. + +So the slowdown occurs because XEmacs now engages in the clipboard +notification protocol on @emph{every} kill. This is especially slow on +Motif. + +With most people running most clients and server on the same host, and +many of the rest working over very fast communication, you may expect +that the situation is not going to improve. + +There are a number of workarounds. The most effective is to use a +special command to do selection ownership only when you intend to paste +to another application. Useful commands are @code{kill-primary-selection} +and @code{copy-primary-selection}. These work only on text selected +with the mouse (probably; experiment), and are bound by default to the +@kbd{Cut} and @kbd{Copy}, respectively, buttons on the toolbar. +@code{copy-primary-selection} is also bound to @kbd{C-Insert}. You can +yank the clipboard contents with @code{yank-primary-selection}, bound to +the @kbd{Paste} toolbar button and @kbd{Sh-Insert}. + +If you are communicating by cut and paste with applications that use the +primary selection, then you can customize +@code{interprogram-cut-function} to @code{nil}, restoring the XEmacs +version 20 behavior. How can you tell if a program will support this? +Motifly-correct programs require the clipboard; you lose. For others, +only by trying it. You also need to customize the complementary +@code{interprogram-paste-function} to @code{nil}. (Otherwise +XEmacs-to-XEmacs pastes will not work correctly.) + +You may get some relief on Motif by setting +@code{x-selection-strict-motif-ownership} to nil, but this means you will +only intermittently be able to paste XEmacs kills to Motif applications. + +Thanks to Jeff Mincy and Glynn Clements for corrections. + @node Subsystems, Miscellaneous, Customization, Top @unnumbered 4 Major Subsystems