all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Kastrup <dak@gnu.org>
To: emacs-devel@gnu.org
Subject: Re: feature request: text property to prevent font-locking
Date: Tue, 02 Sep 2014 08:04:14 +0200	[thread overview]
Message-ID: <877g1m1rtt.fsf@fencepost.gnu.org> (raw)
In-Reply-To: E1XOduA-0003VM-OV@fencepost.gnu.org

Richard Stallman <rms@gnu.org> writes:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> Overlays are not the same as extents.  Extents try to be both
> text properties and overlays, and I think that mixture can't
> be implemented without incoherent behaviors.

I'm not complete sure whether extents can or cannot cover all use cases
of overlays/properties: it was some time since I last looked.  The main
problem I had when working with them is that the purported generality is
elusive since part of the difference in Emacs' semantics of overlays and
text properties is encoded in extent properties while other parts are
encoded in the parameters you pass to the subroutines for accessing
extents.  The result is that the complexity for a particular application
tends to bleed all over the place whenever you don't restrict yourself
to the Emacs abstractions, most easily done by using compatibility
functions.

However, there is no point in Emacs not supporting overlay and text
properties identically whenever a particular property is not inherently
tied to the difference between overlay and text properties.
I definitely remember being annoyed in the past by some properties
requiring the use of one and not the other.  But I don't remember the
details right now.

Having the same underlying implementation for overlays and text
properties is of course a reliable way to have the same supported set of
properties by default.

-- 
David Kastrup




  reply	other threads:[~2014-09-02  6:04 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-28 21:18 feature request: text property to prevent font-locking Drew Adams
2014-08-30  9:27 ` Alan Mackenzie
2014-08-30 20:15   ` Drew Adams
2014-08-30 21:34     ` Thien-Thi Nguyen
2014-08-31  6:06       ` Drew Adams
2014-08-31 16:11         ` Drew Adams
2014-08-31 12:40     ` Stefan Monnier
2014-08-31 15:30       ` Drew Adams
2014-08-31 19:57         ` Stefan Monnier
2014-08-31 21:07           ` Drew Adams
2014-08-31 21:43           ` Alan Mackenzie
2014-09-01  1:37             ` Stephen J. Turnbull
2014-09-01 20:45               ` Stefan Monnier
2014-09-02  2:02                 ` Stephen J. Turnbull
2014-09-02  2:33                 ` Richard Stallman
2014-09-02  6:04                   ` David Kastrup [this message]
2014-08-31 14:31 ` Wolfgang Jenkner
2014-08-31 16:03   ` Drew Adams

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

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

  git send-email \
    --in-reply-to=877g1m1rtt.fsf@fencepost.gnu.org \
    --to=dak@gnu.org \
    --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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.