[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19471: Emacs can't copy text
From: |
Stephen Berman |
Subject: |
bug#19471: Emacs can't copy text |
Date: |
Mon, 04 Jul 2016 11:03:39 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
On Sun, 03 Jul 2016 23:31:09 -0400 npostavs@users.sourceforge.net wrote:
> retitle 19471 Can't copy display-string text
> severity 19471 wishlist
> found 19471 25.0.95
> quit
>
> "Kelly Dean" <kelly@prtime.org> writes:
>
>> Do:
>> C-h i g (elisp)translation keymaps RET
>> C-HOME C-SPACE DOWN M-w
>> C-x b foo RET C-y
>>
>> What it looks like you copied is ⌜(elisp)Top > Keymaps > Translation
>> Keymaps⌝. But when you paste it, you instead get
>> ⌜File: elisp.info, Node: Translation Keymaps, Next: Key Binding Commands,
>> Prev: Remapping Commands, Up: Keymaps⌝
>>
>> I suppose that's rational in some twisted sense, but it's unreasonable
>> user-unfriendliness for a text editor.
>> See my message ⌜Re: Correspondence between web-pages and Info-pages⌝ in
>> emacs-devel for why this matters.
>>
>> I tried switching the buffer to fundamental mode in order to copy the
>> text, but that didn't solve the problem, so Emacs apparently has some
>> kind of low-level text-mangling voodoo that hijacks kill-ring-save.
>
> It's implemented by an overlay with a display property. Normal Emacs
> text copying commands work on the underlying text, rather than the
> displayed one. You can see the what overlays/properties are in effect
> by doing C-u C-x = on the string in question.
>
> Perhaps we could add some feature to be able to copy the displayed
> string instead of the underlying text.
In fact, with text properties instead of overlays, the displayed string
is copied (cf. the variable yank-handled-properties), as can be seen by
copying the first line below the section title of the above Info node:
When the ‘read-key-sequence’ function reads a key sequence (*note Key
"see " is a display text property, but appears when this text is yanked.
So the disparity between copying and yanking the two bits of text here
does seem user-unfriendly.
Steve Berman