From: Daniel Colascione <dancol@dancol.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH 3/4] Implement cygw32
Date: Fri, 30 Dec 2011 01:36:03 -0800 [thread overview]
Message-ID: <4EFD8603.3060402@dancol.org> (raw)
In-Reply-To: <83zkeatnto.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2680 bytes --]
On 12/30/11 1:23 AM, Eli Zaretskii wrote:
>> Date: Thu, 29 Dec 2011 13:50:32 -0800
>> From: Daniel Colascione <dancol@dancol.org>
>> CC: emacs-devel@gnu.org
>>
>>>>>> - (if (eq system-type 'windows-nt)
>>>>>> + (if (featurep 'w32)
>>>>>> '(("iso8859-1" "ms-oemlatin")
>>>>>> ("gb2312.1980" "gb2312" "gbk" "gb18030")
>>>>>> ("jisx0208.1990" "jisx0208.1983" "jisx0208.1978")
>>>>>
>>>>> Why not use window-system (the function) here?
>>>>
>>>> Isn't it a little early for window-system at this point?
>>>
>>> A defcustom is evaluated more than once. So I'm a bit fuzzy about
>>> "too early" ;-)
>>
>> When we initialize for the first time, we won't have a GUI frame to
>> check, yes? (And then we dump the table into pure storage.)
>
> In a release tarball, this first time is normally on a GNU/Linux box,
> and so the w32-specific setting will never be chosen.
>
> The important initialization is when the dumped Emacs is started on a
> Windows system. At that time, we do have a GUI frame, I think.
>
>> If there's
>> no facility to force reevaluation of the mapping table, we'll end up
>> using the wrong one when we *do* finally come up with a GUI frame.
>
> But there _is_ such a facility: defcustoms are reevaluated upon
> startup (and then again when you actually use "M-x customize", or have
> custom-related forms in your .emacs).
~/software/emacs/cyg.w32/src
$ ./emacs --daemon
("./emacs")
...
Restarting server
~/software/emacs/cyg.w32/src
$ cd ../lib-src/
~/software/emacs/cyg.w32/lib-src
$ ./emacsclient --eval '(emacs-version)'
"GNU Emacs 24.0.92.71 (i686-pc-cygwin)\n of 2011-12-29 on dfaew"
~/software/emacs/cyg.w32/lib-src
$ ./emacsclient --eval '(window-system)'
nil
~/software/emacs/cyg.w32/lib-src
$ ./emacsclient --eval 'window-system'
nil
~/software/emacs/cyg.w32/lib-src
$ ./emacsclient --eval "(featurep 'w32)"
t
> My point, however, is that it is a good idea to use window-system (the
> function) where it could happen that different frames have different
> types, in the current mult-tty Emacs. If nothing else, using
> window-system consistently contributes to the clarity of the code and
> shows the overall design to newcomers, who would otherwise become
> confused if they see inconsistent tests in each and every place.
I agree that using window-system where appropriate is best. That said,
window-system isn't always appropriate. It answers the question "what
window system am I using right now?". The featurep query answers "what
window system is this copy of Emacs capable of using?". Sometimes, the
latter question is of greater interest.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 235 bytes --]
next prev parent reply other threads:[~2011-12-30 9:36 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-29 14:03 [PATCH 0/4] Support Win32 GUI in Cygwin Emacs Daniel Colascione
2011-12-29 14:03 ` [PATCH 2/4] Refactor window-system configuration Daniel Colascione
2011-12-29 22:21 ` Dan Nicolaescu
2011-12-29 22:29 ` Daniel Colascione
2011-12-29 22:43 ` Dan Nicolaescu
2011-12-29 22:48 ` Daniel Colascione
2011-12-29 23:05 ` Dan Nicolaescu
2011-12-29 23:08 ` Daniel Colascione
2011-12-30 8:54 ` Eli Zaretskii
2011-12-30 9:07 ` Daniel Colascione
2011-12-30 9:44 ` Eli Zaretskii
2011-12-30 0:53 ` Stefan Monnier
2011-12-30 8:21 ` Eli Zaretskii
2011-12-30 8:26 ` Daniel Colascione
2011-12-30 9:38 ` Eli Zaretskii
2011-12-30 9:45 ` Daniel Colascione
2011-12-30 11:15 ` Stefan Monnier
2011-12-30 8:19 ` Eli Zaretskii
2011-12-29 14:03 ` [PATCH 1/4] Compilation cleanups Daniel Colascione
2011-12-29 17:54 ` Paul Eggert
2011-12-31 14:50 ` Ken Brown
2011-12-31 20:29 ` Paul Eggert
2011-12-29 14:03 ` [PATCH 4/4] Fix emacsclient to work with cygw32 Daniel Colascione
2011-12-29 16:28 ` Juanma Barranquero
2011-12-29 16:36 ` Daniel Colascione
2011-12-29 16:43 ` Juanma Barranquero
2011-12-29 16:47 ` Daniel Colascione
2011-12-29 16:49 ` Juanma Barranquero
2011-12-29 17:39 ` Eli Zaretskii
2011-12-29 17:56 ` Daniel Colascione
2011-12-29 18:18 ` Eli Zaretskii
2011-12-29 18:53 ` Juanma Barranquero
2011-12-29 14:03 ` [PATCH 3/4] Implement cygw32 Daniel Colascione
2011-12-29 17:29 ` Eli Zaretskii
2011-12-29 17:53 ` Daniel Colascione
2011-12-29 18:17 ` Eli Zaretskii
2011-12-29 21:50 ` Daniel Colascione
2011-12-30 0:56 ` Jason Rumney
2011-12-30 9:23 ` Eli Zaretskii
2011-12-30 9:36 ` Daniel Colascione [this message]
2011-12-30 11:16 ` Eli Zaretskii
2011-12-30 9:49 ` Andreas Schwab
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=4EFD8603.3060402@dancol.org \
--to=dancol@dancol.org \
--cc=eliz@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 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).