unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19471: Emacs can't copy text
@ 2014-12-30  9:53 Kelly Dean
  2016-07-04  3:31 ` npostavs
  0 siblings, 1 reply; 6+ messages in thread
From: Kelly Dean @ 2014-12-30  9:53 UTC (permalink / raw)
  To: 19471

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.

Yes, the Info page name is effectively like an HTML page title, and web browsers don't let you copy the title either, at least not without some special effort. But at least web browsers don't mislead you by letting you select the title text and perform an apparently-successful copy operation, which you only discover copied the wrong text when you try to paste it.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19471: Emacs can't copy text
  2014-12-30  9:53 bug#19471: Emacs can't copy text Kelly Dean
@ 2016-07-04  3:31 ` npostavs
  2016-07-04  9:03   ` Stephen Berman
  2016-07-04 14:46   ` Eli Zaretskii
  0 siblings, 2 replies; 6+ messages in thread
From: npostavs @ 2016-07-04  3:31 UTC (permalink / raw)
  To: Kelly Dean; +Cc: 19471

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.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19471: Emacs can't copy text
  2016-07-04  3:31 ` npostavs
@ 2016-07-04  9:03   ` Stephen Berman
  2016-07-04  9:21     ` Stephen Berman
  2016-07-04 14:46   ` Eli Zaretskii
  1 sibling, 1 reply; 6+ messages in thread
From: Stephen Berman @ 2016-07-04  9:03 UTC (permalink / raw)
  To: npostavs; +Cc: Kelly Dean, 19471

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





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19471: Emacs can't copy text
  2016-07-04  9:03   ` Stephen Berman
@ 2016-07-04  9:21     ` Stephen Berman
  2016-07-04 15:00       ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Stephen Berman @ 2016-07-04  9:21 UTC (permalink / raw)
  To: npostavs; +Cc: Kelly Dean, 19471

On Mon, 04 Jul 2016 11:03:39 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:

> 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.

Well, what showed up here as "*note " did appear as "see " when I yanked
that text into the Message mode buffer...

Steve Berman





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19471: Emacs can't copy text
  2016-07-04  3:31 ` npostavs
  2016-07-04  9:03   ` Stephen Berman
@ 2016-07-04 14:46   ` Eli Zaretskii
  1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2016-07-04 14:46 UTC (permalink / raw)
  To: npostavs; +Cc: kelly, 19471

> From: npostavs@users.sourceforge.net
> Date: Sun, 03 Jul 2016 23:31:09 -0400
> Cc: 19471@debbugs.gnu.org
> 
> Perhaps we could add some feature to be able to copy the displayed
> string instead of the underlying text.

Indeed, this would be useful, IMO.  The tricky part is to figure out
what is actually displayed, when there are several overlays at point.

Volunteers are welcome.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#19471: Emacs can't copy text
  2016-07-04  9:21     ` Stephen Berman
@ 2016-07-04 15:00       ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2016-07-04 15:00 UTC (permalink / raw)
  To: Stephen Berman; +Cc: kelly, 19471, npostavs

> From: Stephen Berman <stephen.berman@gmx.net>
> Date: Mon, 04 Jul 2016 11:21:45 +0200
> Cc: Kelly Dean <kelly@prtime.org>, 19471@debbugs.gnu.org
> 
> On Mon, 04 Jul 2016 11:03:39 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
> 
> > 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.
> 
> Well, what showed up here as "*note " did appear as "see " when I yanked
> that text into the Message mode buffer...

And that's the crux of the issue, AFAIU: the OP wanted to be able to
copy/paste the display string so that it would be visible even outside
of Emacs, e.g. when sent in an email message or written to a disk
file.  In that case, text properties and overlay properties/strings
behave the same: you lose them.

The fact that text properties are copied with the text, while overlay
strings and properties aren't is the intended behavior, Emacs does
that since the day overlays were introduced.





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-07-04 15:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-30  9:53 bug#19471: Emacs can't copy text Kelly Dean
2016-07-04  3:31 ` npostavs
2016-07-04  9:03   ` Stephen Berman
2016-07-04  9:21     ` Stephen Berman
2016-07-04 15:00       ` Eli Zaretskii
2016-07-04 14:46   ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).