[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mous
From: |
Juri Linkov |
Subject: |
bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region? |
Date: |
Tue, 25 Sep 2018 22:02:20 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
>> Shouldn't mouse yanking be supported by `delete-selection-mode',
>> what do you think?
>
> Dunno. Please file a bug report, if you think so. Or
> feel free to bring that into this report, if you like.
>
> What do you want it to do? Does it do what you want if you
> (put 'mouse-yank-primary 'delete-selection 'yank)?
> If not, what code change do you think is needed?
The reason why I asked this question is because it's the only case
what might fail AFAICS. When I tried what you suggested
(put 'mouse-yank-primary 'delete-selection 'yank)
I see that it pastes at the wrong place - before yanking
it moves point at the offset of the distance between the
region beginning and the position clicked with the mouse,
but since delete-selection-mode already deleted the region,
this means that it puts point at unrelated text that
shifts into this position after deleting the region.
mouse-yank-primary provides the correct result only when
mouse-yank-at-point is non-nil. I don't see how this could be
supported within the limitations of the current design of
delete-selection-mode. One way is to reimplement delete-selection-mode
using advices - it's easy to put advice around mouse-yank-at-point
that would set mouse-yank-at-point to t around the call to
mouse-yank-at-point.
Another not so good solution is to hard-code checks for
delete-selection-mode in mouse-yank-primary.
So after mouse-yank-primary is supported, we could look
under what conditions to call (current-kill 1)
in delete-selection-helper.
Please note that the current condition in (eq type 'yank)
that checks for (car kill-ring) is unsuitable
because mouse-yank-primary pastes from
(gui-get-primary-selection), not from (car kill-ring)
>> I agree that code that calls (delete-active-region) under the
>> condition (eq type 'yank) is essential to handle `yank'.
>> But I think that (current-kill 1) is not essential
>> unless it renders yank useless in some cases (yet unknown).
>
> Maybe you're right; dunno.
>
> Do you want to remove that code? Without it, does
> `deletion-selection-mode' do what you want for both
> t and nil values of `mouse-drag-copy-region'?
>
> At this point it's not clear to me what behavior is bugged,
> if any. I'd like to hear what changes, if any, you propose,
> both for the code and the desired behavior (for both t
> and nil values of `mouse-drag-copy-region').
When mouse-drag-copy-region is non-nil, I see that
(mouse-region-match) returns non-nil, so no changes
are required in delete-selection-helper for this case.
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Drew Adams, 2018/09/19
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Eli Zaretskii, 2018/09/20
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Drew Adams, 2018/09/20
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Juri Linkov, 2018/09/20
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Drew Adams, 2018/09/20
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Juri Linkov, 2018/09/20
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Drew Adams, 2018/09/23
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Juri Linkov, 2018/09/24
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Drew Adams, 2018/09/24
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?,
Juri Linkov <=
- bug#18090: 24.4.50; `delete-selection-helper' logic changed for non-mouse region?, Eli Zaretskii, 2018/09/21