emacs-devel
[Top][All Lists]
Advanced

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

RE: users and selection changes


From: Drew Adams
Subject: RE: users and selection changes
Date: Fri, 15 Oct 2010 09:30:32 -0700

> The _problem_ with setting x-select-enable-primary is that now all
> _Emacs_ selections end up in the kill ring too, which is almost
> certainly Not What You Want.

I'm on Windows, so I don't have (or need) option `x-select-enable-primary', but
I just looked at its doc string:

"Non-nil means cutting and pasting uses the primary selection."

First, one might wonder what it means by "cutting and pasting".  Is it speaking
about cutting and pasting inside Emacs or outside Emacs?  Does it really mean
kill and yank perhaps?  Does Emacs mouse-pasting and mouse-cutting count (where
the kill ring might not be involved)?  Pretty unclear, to me.

Anyway, more important is that the doc string says nothing about what you just
said, which seems like important info.  All the more so since the option name
does not suggest anything about it (the kill ring).

Seems like the doc string should say explicitly what you said: non-nil means
that all Emacs selections (including mouse selections) are copied to the kill
ring.  If that's true, I cannot believe it was not mentioned in the doc string.

BTW, the Customize :group for this option is `killing', but nothing is said for
it about killing.  And even the manual (`(emacs)Cut/Paste Other App') is
incomplete.  It says only that the option controls what gets yanked.  It does
not say explicitly that it controls what gets put on the kill ring.  Yes,
yanking only yanks kills, but this could be made clearer.

> My idea to get around that problem (expressed on the gnu.emacs.help
> newsgroup) is to add a feature that makes emacs put all selections
> _except_ those originating from itself (the current Emacs process) on
> the kill ring.

I guess you mean that all selections made outside Emacs would automatically be
added to the kill ring (but some Emacs selections could also still be added to
the kill ring).

As an option, that might be useful.  But users would need to be able to control
it.  Some users (including me) might not want everything they select outside
Emacs to end up on the kill ring.

And how would that work?  When you select some text outside Emacs, how does it
put on the Emacs kill ring?  And for which Emacs session - all of them?

> That, would basically make things similar to how they used to be

How so?  I don't recall that Emacs ever added all outside selections to the kill
ring. Or did you mean outside copies (e.g. `C-c' on Windows) instead of outside
selections (e.g. using mouse)?

> [I don't know if this behavior should associated with non-nil
> x-select-enable-primary by default, or only upon some special value of
> x-select-enable-primary, e.g. (setq x-select-enable-primary 'others).
> 
> It _is_ somewhat quirky (although very convenient) behavior, which
> argues for "special setting", but on the other hand, the current
> behavior of x-select-enable-primary is almost useless, so ...]

BTW (since you mentioned selections from the current Emacs process) - Is there
no interest in an ability to copy/paste between Emacs sessions without
necessarily affecting the kill ring?

I personally want to use the kill ring even for mouse selection, but it seems to
me that some people might want, between Emacs sessions, the same ability that
they have within a session: be able to select and paste text using the mouse,
without adding the selection to the kill ring.

Or is that already possible with Emacs on X?  I asked that question in bug #6956
but never got an answer.

IIUC, you can mouse-select in Emacs and paste to another app, and vice versa,
all without affecting the kill ring (only the primary is used by default, IIUC).
Why shouldn't you be able to treat a separate Emacs session as one of those
other apps?





reply via email to

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