From: David Kastrup <dak@gnu.org>
To: Miles Bader <miles@gnu.org>
Cc: David Reitter <david.reitter@gmail.com>,
Stefan Monnier <monnier@iro.umontreal.ca>,
Emacs-Devel <emacs-devel@gnu.org>
Subject: Re: face-remapping patch
Date: Wed, 28 May 2008 15:33:44 +0200 [thread overview]
Message-ID: <86hccir1s7.fsf@lola.quinscape.zz> (raw)
In-Reply-To: <87r6bmd122.fsf@catnip.gol.com> (Miles Bader's message of "Wed, 28 May 2008 22:13:09 +0900")
Miles Bader <miles@gnu.org> writes:
> David Kastrup <dak@gnu.org> writes:
>>> When a major mode to remaps `default' to `my-mode-default', existing
>>> mechanisms can be used to handle things like user-customization of
>>> `my-mode-default'.
>>
>> This really sounds like a problem space usually addressed with
>> "specifiers" in XEmacs. Unfortunately, I have never been able to figure
>> them out.
>
> That doesn't make them sound very promising...
As far as I can tell, XEmacs uses them to map pretty much everything
(images, toolbars, possibly also keymaps, faces) to "locales", namely
buffers, windows, displays. So you can have images that get
instantiated differently depending on the output device. The
instantiation works with some sort of caching mechanism and is pretty
efficient.
That's my basic handwaving about the functionality as I think I have
been able to understand. The implementation is, as far as I can tell,
not done using opaque data structures but rather some sort of alist-like
stuff. This would actually be more like an Emacs-typical approach to
data structures rather than an XEmacs approach.
The problem when I tried figuring them out is that there was not an
Emacs quality approach to either the documentation or the APIs.
A unified approach to "terminal-, buffer-, window-, frame-local"
certainly would have quite a bit of appeal. Even if XEmacs specifiers
are good for all of that (I am not sure about it, actually), they don't
unify with normal buffer-locality but have a separate mechanims. They
also don't work transparently like buffer-locality: dealing with
specifier-locality needs to be done manually, and there is not even a
feature-complete API for all operations you would need.
But that does not mean that taking a thorough look at the problem space
presumably covered by XEmacs specifiers would be amiss.
--
David Kastrup
next prev parent reply other threads:[~2008-05-28 13:33 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-27 2:49 face-remapping patch Miles Bader
2008-05-28 2:03 ` Florian Beck
2008-05-28 2:31 ` Miles Bader
2008-05-29 1:38 ` Richard M Stallman
2008-05-28 2:54 ` Stefan Monnier
2008-05-28 3:30 ` Miles Bader
2008-05-28 7:22 ` David Reitter
2008-05-28 7:29 ` Miles Bader
2008-05-28 8:05 ` Miles Bader
2008-05-28 9:30 ` David Kastrup
2008-05-28 13:13 ` Miles Bader
2008-05-28 13:33 ` David Kastrup [this message]
2008-05-28 9:33 ` David Reitter
2008-05-28 13:21 ` Miles Bader
2008-05-28 14:33 ` David Reitter
2008-05-28 19:25 ` Face realization (was: face-remapping patch) Stefan Monnier
2008-05-28 19:54 ` David Reitter
2008-05-29 15:25 ` Face realization Stefan Monnier
2008-05-28 19:25 ` face-remapping patch Stefan Monnier
2008-05-28 20:21 ` David Kastrup
2008-05-28 20:31 ` David Kastrup
2008-05-29 6:02 ` tomas
2008-05-29 18:14 ` Stephen J. Turnbull
2008-05-29 22:15 ` David Kastrup
2008-05-30 4:48 ` Stephen J. Turnbull
2008-05-30 13:32 ` Richard M Stallman
2008-05-30 13:50 ` David Kastrup
2008-05-31 15:17 ` Richard M Stallman
2008-05-31 15:38 ` David Kastrup
2008-06-01 14:03 ` Richard M Stallman
2008-05-29 10:25 ` Richard M Stallman
2008-05-29 11:14 ` David Kastrup
2008-05-29 15:45 ` Specifiers (was: face-remapping patch) Stefan Monnier
2008-05-29 16:21 ` Specifiers David Kastrup
2008-05-29 17:36 ` Specifiers Stefan Monnier
2008-05-29 18:17 ` Specifiers Stephen J. Turnbull
2008-05-30 2:08 ` Specifiers (was: face-remapping patch) Richard M Stallman
2008-05-30 2:21 ` Specifiers Stefan Monnier
2008-05-30 5:31 ` Specifiers David Kastrup
2008-05-30 14:10 ` Specifiers Stefan Monnier
2008-05-30 14:14 ` Specifiers David Kastrup
2008-05-30 15:11 ` Specifiers Stefan Monnier
2008-05-31 15:16 ` Specifiers Richard M Stallman
2008-05-29 15:56 ` face-remapping patch Stefan Monnier
2008-05-29 16:27 ` David Kastrup
2008-05-29 8:47 ` Miles Bader
2008-05-29 15:59 ` Stefan Monnier
2008-05-29 18:28 ` Eli Zaretskii
2008-05-30 3:42 ` Miles Bader
2008-05-28 14:46 ` Chong Yidong
2008-05-28 14:57 ` David Reitter
2008-05-28 16:33 ` Miles Bader
2008-05-30 15:10 ` Chong Yidong
2008-06-01 2:43 ` Miles Bader
2008-05-28 16:37 ` Dan Nicolaescu
2008-05-28 17:45 ` Miles Bader
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=86hccir1s7.fsf@lola.quinscape.zz \
--to=dak@gnu.org \
--cc=david.reitter@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=miles@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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.