From: tfb@mudslide.OCF.Berkeley.EDU (Thomas F. Burdick)
Subject: Re: installing emacs and X11 on OS X
Date: 28 Oct 2002 13:25:27 -0800 [thread overview]
Message-ID: <xcvpttuqmrc.fsf@mudslide.OCF.Berkeley.EDU> (raw)
In-Reply-To: mailman.1035784882.23705.help-gnu-emacs@gnu.org
Eli Zaretskii <eliz@is.elta.co.il> writes:
> On 27 Oct 2002, Thomas F. Burdick wrote:
>
> > This doesn't let me differentiate between Carbon-Emacs on OS X, and
> > X11-Emacs on the same OS. system-type is darwin on both, and
> > display-graphic-p is t on both. However, it makes a lot of sense (to
> > me) that someone might want to make the Carbon one behave more like a
> > Carbon application, and the X11 one behave like an X11 application.
>
> If there's a difference between these two configurations, there should be
> a way to distinguish between them. Doesn't system-configuration fit the
> bill? or maybe system-configuration-options?
No, because the determination really needs to be made at runtime.
> > Out of curiosity, why is it depricated? Because people abuse it where
> > specific feature tests would be better?
>
> Yes. And that makes application code, including users' .emacs, bitrot
> alot when functionality of some window-system changes due to
> development. I already mentioned the problem with .emacs files that
> assumed window-system being nil means no colors.
Well, the conjunction doesn't belong there -- abusing it this way
certainly will introduce bit-rot.
> > If so, that seems like a bad
> > reason ... people can abuse anything
>
> People will abuse less if they have less opportunities for abuse.
I guess so long as a new facility for determining what environment
you're working in, is introduced, this is a fine decision. I imagine,
though, that any time you give people the ability to ask what
look-and-feel environment they're operating in, they'll abuse it to
test for display features.
> > but AFAIK, window-system is the
> > only way to determine what window system you're on.
>
> A small study into the uses of window-system in Emacs's own code that we
> did shows that it is used to test for a small number of features, but those
> features are implicit: they are neither stated clearly in the code nor
> even clearly understood in some cases. So it seems like window-system is
> a powerful tool for obfuscating Lisp code.
>
> By contrast, the explicit predicates such as display-multi-font-p
> actually say exactly what is the feature that's being tested. And the
> maintenance effort needed to keep a small number of predicates in sync
> with Emacs development is much less than what would be needed to go
> through all the *.el files and modify them whenever some window-system
> gets an extra feature it didn't have before. As an example, consider a
> future development of drop-down menus on a character terminal.
Oh, I'm not questioning the wisdom of using the display-*-p functions.
> > Or is there a
> > plan to replace this with a more competant introspection api?
>
> Such a plan is already in place: those are the display-*-p predicates
> advertized by NEWS in the same item which says window-system should not
> be used.
What's there is good, but more is needed. I guess that possiblity is
part of why window-system was depricated, instead of removed, huh?
> > [ It would be cool to be able to have something like a window-system-p
> > function, so I could ask (window-system-p 'carbon) or
> > (window-system-p 'x11) or (window-system-p 'gtk).
>
> I think system-configuration and/or system-configuration-options should
> allow you to do this.
I think what's needed is the ability to ask run-time questions like
the above. So either a look-and-feel-p predicate, or a series of
display-look&feel-*-p predicates, so I could write code like this:
(when (display-look&feel-carbon-p)
(setup-carbon-look&feel))
(when (display-look&feel-x11-p)
;; Things like mouse-2 for paste
(setup-x11-look&feel))
(when (display-look&feel-mswin-p)
;; No mouse-2 for pasting, use cua-mode instead
(setup-mswin-look&feel))
(when (display-look&feel-gtk-p)
;; Whatever is needed for GTK integration
(setup-gtk-look&feel))
That way, I could write setup-*-look&feel functions that do only what
that feature requires, so for example mouse-2-as-paste wouldn't be a
part of the GTK l&f function, it would go with X11. That way if there
was an Emacs someday that ran under GTK/MSWin, it wouldn't have weird
pasting behavior.
--
/|_ .-----------------------.
,' .\ / | No to Imperialist war |
,--' _,' | Wage class war! |
/ / `-----------------------'
( -. |
| ) |
(`-. '--.)
`. )----'
next prev parent reply other threads:[~2002-10-28 21:25 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.1035784882.23705.help-gnu-emacs@gnu.org>
2002-10-28 12:45 ` installing emacs and X11 on OS X Hugo Wolf
2002-10-28 18:18 ` Eli Zaretskii
[not found] ` <mailman.1035832709.18867.help-gnu-emacs@gnu.org>
2002-10-28 20:15 ` Schone Mullerin
2002-10-29 5:45 ` Eli Zaretskii
2002-10-28 21:25 ` Thomas F. Burdick [this message]
2002-10-29 5:55 ` Eli Zaretskii
2002-10-29 15:41 ` Stefan Monnier <foo@acm.com>
2002-10-29 19:48 ` Eli Zaretskii
[not found] ` <mailman.1035924479.14908.help-gnu-emacs@gnu.org>
2002-10-29 20:57 ` Stefan Monnier <foo@acm.com>
[not found] <mailman.1035870384.15595.help-gnu-emacs@gnu.org>
2002-10-29 13:42 ` Hugo Wolf
2002-10-29 17:14 ` Kevin Rodgers
2002-10-29 19:45 ` Eli Zaretskii
[not found] ` <mailman.1035924328.7472.help-gnu-emacs@gnu.org>
2002-10-29 21:17 ` Schone Mullerin
[not found] <mailman.1035438509.9019.help-gnu-emacs@gnu.org>
2002-10-24 6:59 ` John Paul Wallington
[not found] <mailman.1035334713.26558.help-gnu-emacs@gnu.org>
2002-10-23 8:54 ` Joseph Kiniry
2002-10-23 12:04 ` Michael Hudson
2002-10-23 12:14 ` Piet van Oostrum
2002-10-23 13:01 ` Hugo Wolf
2002-10-23 14:08 ` John Paul Wallington
2002-10-24 5:47 ` Eli Zaretskii
2002-10-24 12:43 ` Hugo Wolf
2002-10-24 17:27 ` Eli Zaretskii
[not found] ` <mailman.1035484120.27029.help-gnu-emacs@gnu.org>
2002-10-24 20:01 ` Schone Mullerin
2002-10-26 7:17 ` Eli Zaretskii
[not found] ` <mailman.1035620182.18482.help-gnu-emacs@gnu.org>
2002-10-26 14:39 ` Hugo Wolf
2002-10-26 14:13 ` Eli Zaretskii
[not found] ` <mailman.1035645140.22359.help-gnu-emacs@gnu.org>
2002-10-26 21:41 ` Hugo Wolf
2002-10-26 21:43 ` Eli Zaretskii
[not found] ` <mailman.1035672257.29530.help-gnu-emacs@gnu.org>
2002-10-27 15:07 ` Hugo Wolf
2002-10-27 15:53 ` Eli Zaretskii
2002-10-27 16:14 ` Piet van Oostrum
2002-10-27 19:47 ` Hugo Wolf
2002-10-27 19:13 ` Thomas F. Burdick
2002-10-27 19:53 ` Hugo Wolf
2002-10-28 6:00 ` Eli Zaretskii
[not found] ` <mailman.1035737630.1161.help-gnu-emacs@gnu.org>
2002-10-27 20:08 ` Hugo Wolf
2002-10-27 20:33 ` Chris Lott
2002-10-23 12:53 ` Hugo Wolf
2002-10-23 0:53 Hugues Joly
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=xcvpttuqmrc.fsf@mudslide.OCF.Berkeley.EDU \
--to=tfb@mudslide.ocf.berkeley.edu \
/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.
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).