From: "Wedler, Christoph" <christoph.wedler@sap.com>
Subject: RE: [Feature request] face property `raise'
Date: Fri, 11 Apr 2003 21:34:03 +0200 [thread overview]
Message-ID: <67B8CED503F3D511BB9F0008C75DAD6605485580@dewdfx17> (raw)
Kevin Rodgers wrote:
> Wedler, Christoph wrote:
>> 2. the ability to define "abstract" properties and assign one ore more
>> of them to text (parts). Each abstract property represents a list of
>> (concrete) properties (with their values).
> Isn't that what the `category' property provides?
It looks like. I wouldn't have guessed that Emacs introduces two
abstraction mechanism, which
- work completely different (categories: simple symbol, face: list of
face names with some merging algorithm),
- work for a different set of properties
I think the error started when Emacs tried to define groups of different
properties:
1. there are properties called text properties like `invisible',
2. there are properties called face attributes, which you have to
specify together in the text property `face' (you can specify
abstractions = the face name, and concrete properties = the face
attributes here),
3. there are properties called display specs, which you have to specify
together in the text property `display',
4. there are properties called space properties, which you have to
specify together in the display spec `space', which you have to
specify together with other display specs in the text property
`display'.
This doesn't make anything clearer, it just leads to confusion that you
have to set/get/change different properties differently. Additionally,
there is no clear distrinction which group you should choose for a new
property.
The distinction is probably not along the lines:
- how => face property
- where => display property
if <info:(elisp)Display Property> starts with
The `display' text property (or overlay property) is used to insert
images into text, and also control other aspects of how text displays.
Therefore, some properties are defined twice:
- you can specify the text size via 2 (:height) and 3 (height)
- you can specify the space width via 3 (space-width) and 4 (:width)
and I could somehow understand that you want to avoid a similar
situation for the `raise' property...
A fix would be:
A. Don't define different groups of different properties: make all
properties text properties (or group all special = non-user-defined
text properties together)
B. Just provide one abstraction mechanism for all special properties
with the ability to merge the abstract properties (like face
merging).
I would use faces as the abstraction mechanism because
- there is a way how user can customize the face properties
- there is a package (font-lock) which can set the the abstract
properties automatically
To categories: I'm not sure whether they help me resetting "my"
properties if the is a function like `remove-yank-excluded-properties'
in subr.el...
- Christoph
next reply other threads:[~2003-04-11 19:34 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-11 19:34 Wedler, Christoph [this message]
2003-04-13 11:22 ` [Feature request] face property `raise' Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2003-05-14 17:45 Wedler, Christoph
2003-05-14 20:57 ` Miles Bader
2003-05-15 15:42 ` Richard Stallman
2003-05-13 17:17 Wedler, Christoph
2003-05-13 21:23 ` Miles Bader
2003-05-14 21:04 ` Richard Stallman
2003-04-29 18:19 Wedler, Christoph
2003-05-13 1:47 ` Richard Stallman
2003-05-13 2:22 ` Miles Bader
2003-05-14 21:05 ` Richard Stallman
2003-05-13 14:13 ` Stefan Monnier
2003-05-14 21:04 ` Richard Stallman
2003-04-10 18:48 Wedler, Christoph
2003-04-10 23:14 ` Kevin Rodgers
2003-04-09 18:06 Wedler, Christoph
2003-04-09 18:50 ` Kai Großjohann
2003-04-10 6:23 ` Richard Stallman
2003-04-08 17:52 Wedler, Christoph
2003-04-08 18:54 ` Kai Großjohann
2003-04-07 17:33 Wedler, Christoph
2003-04-08 6:45 ` Richard Stallman
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=67B8CED503F3D511BB9F0008C75DAD6605485580@dewdfx17 \
--to=christoph.wedler@sap.com \
/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).