From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
To: Adrian Robert <adrian.b.robert@gmail.com>
Cc: Emacs-Devel devel <emacs-devel@gnu.org>
Subject: Re: Changes 2009-07-15/16 in branch?
Date: Sat, 25 Jul 2009 10:15:34 +0900 [thread overview]
Message-ID: <wlab2tef61.wl%mituharu@math.s.chiba-u.ac.jp> (raw)
In-Reply-To: <AADBBD39-E480-478D-B720-097867734346@gmail.com>
>>>>> On Fri, 24 Jul 2009 10:34:55 -0400, Adrian Robert <adrian.b.robert@gmail.com> said:
> On Jul 23, 2009, at 8:46 AM, YAMAMOTO Mitsuharu wrote:
>> It's essential to make these changes in the release branch so users
>> may not use the incompatible formats by accident and introduce
>> compatibility problems when they are removed in some future version.
>> Upcoming version is the first one for the NS port. Effectiveness is
>> much lowered if such changes are deferred to the later versions.
>>
>> I've warned about such incompatibility issues that I think
>> indispensable for the first official release version, but the author
>> has not tried to address them (not just for this one!).
> There are others working on the port, but speaking for myself, my time
> has been limited and I've prioritized fixing bugs (as I've mentioned
> before). I've advocated for and assisted others with
> standardization / cleanup efforts.
They would hesitate to remove the code even if it breaks compatibility
unless you explicitly ask it.
>> Even if by any chance there's overlooked code as you say, it's only
>> in the NS-specific part and relatively minor compared with total
>> unstableness of the port itself. Removing incompatible features at
>> this timing is much more important unless the port is marked
>> experimental/hackers-only.
> Then let's mark it such, as there are many more features of this sort
> that should be removed by your criteria (some of which were
> unfortunately adopted by the Carbon port following Emacs.app in the
> Sourceforge days, but were never subjected to the same scrutiny):
> - modifier key customization (standard methods exist)
> - services integration (no counterpart on other platforms)
> - applescript integration (use DBUS instead)
> - font panel (unneeded, incompatible)
> - nonstandard antialiasing controls (standard methods exist)
> - nonstandard way of hiding/showing toolbar (unneeded, incompatible)
> - open/save panels (unneeded, incompatible)
> - about panel (unneeded)
Whether or not to mark experimental/hackers-only is up to the
maintainers, and I actually asked them about the status of the port
before removing the code.
http://lists.gnu.org/archive/html/emacs-devel/2009-07/msg00594.html
http://lists.gnu.org/archive/html/emacs-devel/2009-07/msg00630.html
And actually I considered whether I can remove some of the
incompatible features you listed above, say open/save panel. But it
is too drastic to do so without some replacement code. Addition of
such code is "too late" and regression-prone, so I restricted myself
to the features that just removal is sufficient.
>>> nsfont_draw(): Would setting the foreground instead of the
>>> background color to the bitmap constitute a corrected
>>> implementation?
>>
>> I don't know if I understand your intention correctly from the above
>> sentence. But if you believe you understand stippling correctly this
>> time, maybe you can make the change into the trunk.
> I gathered that you understood it better than I so I was wondering if
> there was some reason to just remove code when fixing it would have
> been as easy.
As I said above, I avoided adding replacement code.
>>> ns-set-background-alpha: The implementation you just removed was
>>> superior to that for (set-frame-parameter nil 'alpha ##): it does
>>> not alter the alpha of the titlebar, scrollbars, modeline, or text.
>>> This makes it usable, instead of a curiosity. It also provides
>>> access via an interactive function. The correct fix would be to
>>> improve the (set- frame-parameter) version, not remove this while no
>>> alternative exists for users.
>>
>> I knew their difference. I removed it because it belongs to "NS-only
>> implementation for features that are not inherently specific to NS."
>> (http://lists.gnu.org/archive/html/emacs-devel/2009-07/msg00594.html)
> "Inherently specific" is an ambiguous call, and I don't think it's a
> reasonable litmus test. But if the Cocoa APIs provide alpha
> capabilities beyond what is available on X11 and W32, it is inherent
> in some sense. The right thing would be to fix the frame-parameter
> implementation (at least on NS), but failing that the other option
> should be left in for users.
I think fundamental features such as alpha-component needs some
consensus among platforms about its specification. Of course,
platform-specific proof-of-concept code is sometimes useful to call
for discussion, but it doesn't fit with the official release version
as it is.
>> I think it's really bad for the "first-class" port to have such
>> features because they may be superseded in a platform-independent way
>> by some future versions and that introduces unnecessary
>> incompatibilities.
> It seems there are several problems listed in the email you cite that
> either do not impact or actually hurt users; why not work on these (on
> the trunk), or on fixing bugs?
As I already said, I suspect the port has fundamental design flaw (not
100% sure, so you can possibly refute it). And design and policy are
too different from mine.
What I would do with Cocoa can be found in my Carbon+AppKit port.
> As far as the superseded / platform independent argument, as I've said
> before, many features first appeared on X11 or GTK without
> counterparts on other platforms. This continues to happen now. It's
> a double-standard to police the NS port so stringently without
> considering implementing the counterparts.
I thought RMS is strongly against adding features to proprietary
platforms first. Of course, it is not applied to inherently
platform-specific features (such as Apple Event handling). Maybe if
you make the GNUstep port much more stable and usable enough as
"first-class" port, then you can add some features first to the
platform, but I'm not sure.
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
next prev parent reply other threads:[~2009-07-25 1:15 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-23 11:22 Changes 2009-07-15/16 in branch? Adrian Robert
2009-07-23 12:46 ` YAMAMOTO Mitsuharu
2009-07-23 15:30 ` Stefan Monnier
2009-07-24 0:23 ` YAMAMOTO Mitsuharu
2009-07-24 1:09 ` Stefan Monnier
2009-07-24 1:27 ` YAMAMOTO Mitsuharu
2009-07-24 1:37 ` Stefan Monnier
2009-07-24 2:20 ` YAMAMOTO Mitsuharu
2009-07-24 3:17 ` Stefan Monnier
2009-07-24 3:35 ` YAMAMOTO Mitsuharu
2009-07-24 3:44 ` Jason Rumney
2009-07-24 4:12 ` YAMAMOTO Mitsuharu
2009-07-25 2:13 ` YAMAMOTO Mitsuharu
2009-07-26 2:22 ` Richard Stallman
2009-07-26 2:35 ` YAMAMOTO Mitsuharu
2009-07-26 3:31 ` Miles Bader
2009-07-26 3:45 ` YAMAMOTO Mitsuharu
2009-07-27 2:44 ` Richard Stallman
2009-07-27 3:20 ` YAMAMOTO Mitsuharu
2009-07-27 17:41 ` Richard Stallman
2009-07-27 18:41 ` Clifford Wulfman
2009-07-28 4:37 ` Richard Stallman
2009-07-28 13:18 ` Clifford Wulfman
2009-07-28 17:14 ` Richard Stallman
2009-07-28 18:39 ` Alfred M. Szmidt
2009-07-28 20:31 ` Ian Eure
2009-08-01 3:21 ` Richard Stallman
2009-08-01 4:10 ` Ian Eure
2009-08-01 6:28 ` Stephen J. Turnbull
2009-08-02 4:44 ` Richard Stallman
2009-07-28 22:05 ` James Cloos
2009-07-29 20:13 ` Richard Stallman
2009-07-29 22:05 ` YAMAMOTO Mitsuharu
2009-07-30 7:53 ` YAMAMOTO Mitsuharu
2009-07-30 14:01 ` Chong Yidong
2009-07-31 1:56 ` YAMAMOTO Mitsuharu
2009-07-27 20:14 ` David De La Harpe Golden
2009-07-28 6:10 ` YAMAMOTO Mitsuharu
[not found] ` <EFBC3E4E-8739-4B16-8797-D9CA8BC290CD@gmail.com>
2009-07-28 20:33 ` David De La Harpe Golden
2009-07-28 0:53 ` YAMAMOTO Mitsuharu
2009-07-28 17:14 ` Richard Stallman
2009-07-24 19:25 ` Stefan Monnier
2009-07-29 0:22 ` YAMAMOTO Mitsuharu
2009-07-29 1:12 ` Chong Yidong
2009-07-29 1:18 ` YAMAMOTO Mitsuharu
2009-07-29 4:48 ` YAMAMOTO Mitsuharu
2009-07-29 1:29 ` YAMAMOTO Mitsuharu
2009-07-24 14:34 ` Adrian Robert
2009-07-25 1:15 ` YAMAMOTO Mitsuharu [this message]
2009-07-25 4:55 ` Richard Stallman
2009-07-25 16:59 ` Adrian Robert
2009-07-27 2:43 ` Richard Stallman
2009-07-27 3:22 ` Adrian Robert
[not found] ` <E1MW1sm-0000lL-4K@fencepost.gnu.org>
2009-07-29 14:08 ` Harald Hanche-Olsen
2009-07-29 17:18 ` Stefan Monnier
2009-07-30 7:35 ` David Kastrup
2009-07-30 13:31 ` Harald Hanche-Olsen
2009-07-28 18:25 ` Harald Hanche-Olsen
2009-07-29 2:34 ` Stephen J. Turnbull
2009-07-29 2:41 ` Lennart Borgman
2009-07-29 2:56 ` Harald Hanche-Olsen
2009-07-29 3:33 ` Stephen J. Turnbull
2009-07-29 20:14 ` Richard Stallman
2009-07-29 20:26 ` Chad Brown
2009-07-30 15:35 ` Richard Stallman
2009-07-30 16:37 ` Harald Hanche-Olsen
2009-07-29 20:31 ` Harald Hanche-Olsen
2009-07-30 15:35 ` Richard Stallman
2009-07-30 16:22 ` Harald Hanche-Olsen
2009-08-01 3:21 ` Richard Stallman
2009-08-01 7:45 ` CHENG Gao
2009-08-01 9:36 ` CHENG Gao
2009-08-02 4:43 ` Richard Stallman
2009-08-02 7:06 ` CHENG Gao
2009-08-03 16:17 ` Richard Stallman
2009-08-03 20:03 ` CHENG Gao
2009-07-29 14:12 ` Stefan Monnier
2009-07-27 0:35 ` YAMAMOTO Mitsuharu
2009-07-27 3:12 ` Adrian Robert
2009-07-29 3:23 ` Sean O'Rourke
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=wlab2tef61.wl%mituharu@math.s.chiba-u.ac.jp \
--to=mituharu@math.s.chiba-u.ac.jp \
--cc=adrian.b.robert@gmail.com \
--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 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.