• copying enriched text with soft breaks as space

    From Mike Small@smallm@panix.com to gnu.emacs.help on Fri Mar 21 12:00:35 2025
    From Newsgroup: gnu.emacs.help


    Hello,

    Is there any built in way in GNU emacs or an existing extension to allow
    one to copy lines of text from a buffer that is in enriched text mode so
    that the soft newlines get copied to the X primary selection or
    clipboard as spaces?

    When editing text locally, before pasting it into a web form, I find it convenient to use autofill in emacs. But when it comes time to paste
    what I've written to the web form I usually want to remove the newlines
    within paragraphs to allow the page's scripting to take over the
    filling. I'd hoped that using enriched text mode and only using its soft newline feature would provide a more automatic way to achieve what I
    want than manually joining lines before copying. Maybe it would be
    simple to program it, but I wanted to check if something already exists
    first.

    Regards,
    Mike Sm.


    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Manuel Giraud@manuel@ledu-giraud.fr to gnu.emacs.help on Sun Mar 23 17:34:12 2025
    From Newsgroup: gnu.emacs.help

    Mike Small <smallm@panix.com> writes:

    Hello,

    Is there any built in way in GNU emacs or an existing extension to allow
    one to copy lines of text from a buffer that is in enriched text mode so
    that the soft newlines get copied to the X primary selection or
    clipboard as spaces?

    When editing text locally, before pasting it into a web form, I find it convenient to use autofill in emacs. But when it comes time to paste
    what I've written to the web form I usually want to remove the newlines within paragraphs to allow the page's scripting to take over the
    filling. I'd hoped that using enriched text mode and only using its soft newline feature would provide a more automatic way to achieve what I
    want than manually joining lines before copying. Maybe it would be
    simple to program it, but I wanted to check if something already exists first.

    Hi,

    It seems that the following could work for your need:

    --8<---------------cut here---------------start------------->8---
    (defun +remove-returns (text)
    (mapcar (lambda (x) (subst-char-in-string ?\n ?\s x)) text))

    (advice-add 'gui-select-text :filter-args #'+remove-returns) --8<---------------cut here---------------end--------------->8---
    --
    Manuel Giraud
    --- Synchronet 3.21d-Linux NewsLink 1.2