unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
Cc: emacs-devel@gnu.org
Subject: Re: Question about copy-region-as-kill
Date: 09 Apr 2002 11:31:25 +0200	[thread overview]
Message-ID: <5x3cy5md5e.fsf@kfs2.cua.dk> (raw)
In-Reply-To: <87zo0dc2em.fsf@alice.dynodns.net>

John Wiegley <johnw@gnu.org> writes:

> >>>>> On Mon Apr  8, Stefan writes:
> 
> > I think this points to a good compromise: strip any property whose
> > value is the same across the whole copied text.
> 
> This still does not solve the problem of copying the read-only
> property that's attached to Eshell prompts.

Maybe read-only is special...?
Does it ever make sense to yank a read-only property into a buffer?
If not, it doesn't make sense to ever copy that property.

> 
> Why can't a mode author decide to inhibit property copying in his
> buffer?  I still haven't seen a convincing argument for denying me a
> buffer-local configuration variable.
> 

I agree, but this doesn't solve the problem in general...

Consider:

- copy text in one major mode buffer and paste it into another
  major mode buffer.

In this case, it sometimes makes sense to copy face properties
(e.g. from a C to an RTF file), while it doesn't make sense
in other cases, (e.g. from an RTF file to a C file).

- copy text into a buffer with font-lock enabled

In this case, the font-lock should take care of fontifying
the inserted text, ignoring any previous fontification...

- copy text from a buffer with font-lock to a buffer without

This is similar to the first case, so in some cases with
does make sense, but in other cases it doesn't.


I don't say that this is a complete solution, but at least
two buffer-local variables are needed IMHO:

* remove-text-properties-on-copy
A list of text-properties to be removed when copying text
from this buffer (nil=none, t=all)

* remove-text-properties-on-insert
A list of text-properties to be removed when inserting text
into this buffer (nil=none, t=all)


kill-ring-save, copy-region-as-kill, and kill-region should
look at these.


I also considered having this:

* remove-font-lock-properties-on-copy
If non-nil, text-properties set by font-lock are automatically
removed on copy.

But this isn't really needed (or possible); I don't think we really
know whether a specific property was added by font-locking or added
explicitly by the user.  However, IMO it doesn't really seem to make
much sense to have both font-locking and the user adding properties as
well.  So when font-locking is turned on in a buffer, it seems to
make sense to set both of these variables to t (remove all).


> John
> 
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://mail.gnu.org/mailman/listinfo/emacs-devel
> 
> 

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

  reply	other threads:[~2002-04-09  9:31 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-03 23:23 Question about copy-region-as-kill John Wiegley
2002-04-05  6:02 ` Richard Stallman
2002-04-05 21:39   ` John Wiegley
2002-04-06  7:19     ` Eli Zaretskii
2002-04-06  8:21       ` John Wiegley
2002-04-06 10:29         ` Karl Eichwalder
2002-04-06 17:46           ` Kai Großjohann
2002-04-06 18:05             ` Alex Schroeder
2002-04-07 18:50               ` Richard Stallman
2002-04-08  1:23                 ` Miles Bader
2002-04-06 18:30             ` Karl Eichwalder
2002-04-06 23:03               ` Alan Shutko
2002-04-07  7:42                 ` Karl Eichwalder
2002-04-08 15:53                   ` Stefan Monnier
2002-04-08 21:21                     ` John Wiegley
2002-04-09  9:31                       ` Kim F. Storm [this message]
2002-04-09 11:03                         ` Eli Zaretskii
2002-04-09 10:23                           ` Miles Bader
2002-04-09 13:05                             ` Kim F. Storm
2002-04-09 13:24                               ` Miles Bader
2002-04-09 14:42                               ` Eli Zaretskii
2002-04-10 14:24                           ` Richard Stallman
2002-04-10 14:24                         ` Richard Stallman
2002-04-10 16:27                           ` Kim F. Storm
2002-04-11 14:53                             ` Richard Stallman
2002-04-11 16:27                               ` Kim F. Storm
2002-04-12 19:49                                 ` Richard Stallman
2002-04-12 10:36                               ` Francesco Potorti`
2002-04-09 15:26                       ` Per Abrahamsen
2002-04-09 21:28                         ` John Wiegley
2002-04-07  3:56               ` Tak Ota
2002-04-06 15:05         ` Andreas Schwab
2002-04-06 17:32     ` Richard Stallman
2002-04-06 20:38       ` John Wiegley
2002-04-06 23:03         ` Alex Schroeder
2002-04-07  0:12           ` Colin Walters
2002-04-07  0:56             ` Miles Bader
2002-04-07  2:53               ` John Wiegley
2002-04-07  4:44                 ` Colin Walters
2002-04-07  4:58                   ` Miles Bader
2002-04-07  5:32                     ` Colin Walters
2002-04-07  6:53                       ` Miles Bader
2002-04-07  7:46                         ` Colin Walters
2002-04-07  8:18                           ` Alex Schroeder
2002-04-07 12:20                           ` Miles Bader
2002-04-08  3:09                             ` Colin Walters
2002-04-08  6:18                               ` Miles Bader
2002-04-09 22:04                                 ` Colin Walters
2002-04-10 20:17                                   ` Richard Stallman
2002-04-09 12:07                               ` Richard Stallman
2002-04-09 22:12                                 ` Colin Walters
2002-04-07  6:36                   ` John Wiegley
2002-04-07  6:55                     ` Colin Walters
2002-04-07 23:42                   ` Richard Stallman
2002-04-08  3:14                     ` Colin Walters
2002-04-09 12:07                       ` Richard Stallman
2002-04-09 22:06                         ` Colin Walters
2002-04-07  4:41               ` Colin Walters
2002-04-07  4:58                 ` Miles Bader
2002-04-07  5:43                   ` Colin Walters
2002-04-07 10:52         ` Kai Großjohann
2002-04-06 17:43     ` Kai Großjohann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5x3cy5md5e.fsf@kfs2.cua.dk \
    --to=storm@cua.dk \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).