[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/4] Implement cygw32
From: |
Daniel Colascione |
Subject: |
Re: [PATCH 3/4] Implement cygw32 |
Date: |
Fri, 30 Dec 2011 01:36:03 -0800 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0) Gecko/20111105 Thunderbird/8.0 |
On 12/30/11 1:23 AM, Eli Zaretskii wrote:
>> Date: Thu, 29 Dec 2011 13:50:32 -0800
>> From: Daniel Colascione <address@hidden>
>> CC: address@hidden
>>
>>>>>> - (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.
signature.asc
Description: OpenPGP digital signature
- Re: [PATCH 2/4] Refactor window-system configuration, (continued)
- [PATCH 3/4] Implement cygw32, Daniel Colascione, 2011/12/29
- Re: [PATCH 3/4] Implement cygw32, Eli Zaretskii, 2011/12/29
- Re: [PATCH 3/4] Implement cygw32, Daniel Colascione, 2011/12/29
- Re: [PATCH 3/4] Implement cygw32, Eli Zaretskii, 2011/12/29
- Re: [PATCH 3/4] Implement cygw32, Daniel Colascione, 2011/12/29
- Re: [PATCH 3/4] Implement cygw32, Jason Rumney, 2011/12/29
- Re: [PATCH 3/4] Implement cygw32, Eli Zaretskii, 2011/12/30
- Re: [PATCH 3/4] Implement cygw32,
Daniel Colascione <=
- Re: [PATCH 3/4] Implement cygw32, Eli Zaretskii, 2011/12/30
Re: [PATCH 3/4] Implement cygw32, Andreas Schwab, 2011/12/30