all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Adrian Robert <adrian.b.robert@gmail.com>
To: Ted Zlatanov <tzz@lifelogs.com>
Cc: "emacs-devel@gnu.org Development" <emacs-devel@gnu.org>
Subject: Re: Emacs on OS X development
Date: Tue, 31 Jul 2012 14:31:30 -0400	[thread overview]
Message-ID: <6046815D-AE04-410F-9917-AA29683213C3@gmail.com> (raw)
In-Reply-To: <87obn3zyw2.fsf@lifelogs.com>


On 2012/07/25, at 10:41, Ted Zlatanov wrote:

...
> OK, then: Mitsuharu-san, is there any way to have the NS port and your
> Mac port merged, preserving the desirable features of both?  For
> instance, if GCD is available, to use GCD, but otherwise fall back to NS
> behavior?  Are you interested in that level of integration today, or do
> you prefer to keep your Mac port separate and fully under your control?
> 
> (sideways cc sent to Adrian Robert, one of the NS port maintainers)


Here is how I see the current situation:

- Basic functionality on OS X:

  Some users continue to be adversely affected by bugs on the NS port, while the Mac port seems less buggy.

  -> advantage Mac port

  
- GNUstep functionality:

  The Mac port does not offer anything here, and I don't think relying on GNUstep to replicate multiple levels of evolving Apple APIs will ever bring it much closer.

  -> advantage NS port


- OS X platform integration:

  The Mac port currently sounds like it does this better, though ironically the NS port was originally resurrected partly because of similar deficiencies in the ancestor Carbon port.  However, most of this is "distribution"-level stuff (like Aquamacs) that would not survive a merge to mainline.

  -> advantage neither


- Developer participation:

  The NS port has a few people that fix bugs and make improvements, but some of them stay stuck outside of the tree (Aquamacs), and there is no high time-and-ability maintainer.  The Mac port has only one person, but doing a good job.  More might come in if the source code were made accessible and better tied to mainline.

  -> advantage neither


As far as a merge, one way would be to bring in the event-handling from the Mac port to the NS port.  When I looked at this it seemed practical, but would be a fairly intense effort, say 5 full-time days, probably an underestimate since a solution for GNUstep would need to be maintained.  Then there would also be the text rendering.  Since that is more modular, it might be possible to bring in Yamamoto's backend almost whole as a compile-time option.  I also don't think the current NS backend has that many deficiencies, but for whatever reason they've stayed there (text shaping, line spacing, font selection).

The second merge option would be to rework portions of the Mac port to more heavily utilize the Cocoa APIs, to the point it could be ifdef'd to run on GNUstep.  Yamamoto could provide the best assessment here, but my feeling when I looked at it was that it would not be easy.  Definitely more work than going the other way.


-Adrian




  parent reply	other threads:[~2012-07-31 18:31 UTC|newest]

Thread overview: 135+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-12  4:06 Emacs on OS X development Lars Magne Ingebrigtsen
2011-09-12  7:23 ` Rasmus
2011-09-12  7:59   ` Glenn Morris
2011-09-13 16:37 ` Adrian Robert
2011-09-13 17:51   ` John Wiegley
2011-09-13 18:27     ` Glenn Morris
2011-09-13 18:43       ` John Wiegley
2011-09-13 18:56         ` Glenn Morris
2011-09-13 19:19           ` David Reitter
2011-09-14  1:13         ` Leo
2011-09-14  1:31           ` Stefan Monnier
2012-07-13  0:23             ` John Wiegley
2012-07-13  0:57               ` Paul Michael Reilly
2012-07-13  1:18                 ` chad
2012-07-13  1:07               ` chad
2012-07-13  3:12                 ` John Wiegley
2012-07-20 13:51                 ` Ted Zlatanov
2012-07-21  9:40                   ` Pavlo Martynenko
2012-07-21 14:02                     ` Michael Albinus
2012-07-24  6:39                       ` Pavlo Martynenko
2012-07-25 13:11                         ` Michael Albinus
2012-07-21 16:53                     ` chad
2012-07-24 13:04                       ` Pavlo Martynenko
2012-07-24 14:45                         ` Ted Zlatanov
2012-07-25  3:00                           ` John Wiegley
2012-07-25 14:41                             ` Ted Zlatanov
2012-07-26 22:58                               ` YAMAMOTO Mitsuharu
2012-07-29 17:58                                 ` Donald Curtis
2012-07-29 22:31                                 ` Ted Zlatanov
2012-07-30  0:04                                   ` Óscar Fuentes
2012-07-30  3:25                                     ` Eli Zaretskii
2012-07-30  4:48                                       ` Óscar Fuentes
2012-07-30  5:06                                         ` Eli Zaretskii
2012-07-30 22:40                                         ` Stefan Monnier
2012-07-30 23:01                                         ` Paul Eggert
2012-07-31  1:38                                           ` Óscar Fuentes
2012-07-31 13:50                                         ` Nix
2012-07-31 15:58                                     ` Ted Zlatanov
2012-08-02  5:16                                   ` YAMAMOTO Mitsuharu
2012-08-03 21:15                                     ` Dave Abrahams
2012-07-31 18:31                               ` Adrian Robert [this message]
2012-08-03 20:08                                 ` Ted Zlatanov
2012-08-03 20:28                                   ` Adrian Robert
2012-08-05 12:51                                     ` Jan Djärv
2012-12-21 17:20                                       ` Ted Zlatanov
2012-12-23 14:50                                         ` Jan Djärv
2012-12-24  0:23                                           ` YAMAMOTO Mitsuharu
2012-12-24 10:22                                             ` Jan Djärv
2012-07-25  7:17                         ` chad
2012-07-27 12:17                           ` Pavlo Martynenko
2012-07-22  9:31                     ` Stefan Monnier
2012-07-22 22:16                       ` Paul Michael Reilly
2012-07-23  7:26                         ` Ivan Andrus
2012-07-23  8:46                         ` Stefan Monnier
2012-07-23 13:52                           ` Paul Michael Reilly
2012-07-23 19:45                       ` John Wiegley
2012-07-23 20:11                         ` Eli Zaretskii
2012-07-23 23:12                           ` John Wiegley
2012-07-23 20:20                         ` Paul Eggert
2012-07-23 23:13                           ` John Wiegley
2012-07-23 20:46                         ` Jan Djärv
2012-07-23 21:17                           ` Paul Michael Reilly
2012-07-23 21:28                             ` Jan Djärv
2012-07-23 23:26                               ` Stefan Monnier
2012-07-24  6:25                                 ` Jan Djärv
2012-07-24  8:36                                   ` YAMAMOTO Mitsuharu
2012-07-25  7:27                                     ` Jan Djärv
2012-07-25  8:15                                       ` YAMAMOTO Mitsuharu
2012-07-24  9:01                                   ` Stefan Monnier
2012-07-25  7:38                                     ` Jan Djärv
2012-07-24 16:09                                   ` Eli Zaretskii
2012-07-25  7:43                                     ` Jan Djärv
2012-07-23 23:15                           ` John Wiegley
2012-07-23 23:40                             ` chad
2012-07-23 21:45                         ` chad
2012-07-23 23:00                           ` John Wiegley
2012-07-24  1:13                           ` Leo
2012-07-23 18:57                     ` Ted Zlatanov
2012-07-13  3:28               ` Le Wang
2012-07-13 10:02               ` Jan Djärv
2012-07-13 10:45                 ` Ivan Andrus
2012-07-14  8:39                   ` Jan Djärv
2012-07-13 12:09               ` Stefan Monnier
2012-07-13 14:00                 ` René Kyllingstad
2012-07-13 17:48                   ` John Wiegley
2012-07-13 18:16                     ` Jan Djärv
2012-07-13 19:07                       ` Glenn Morris
2012-07-13 19:54                       ` John Wiegley
2012-07-13 20:12                         ` Paul Michael Reilly
2012-07-13 20:32                           ` Ivan Andrus
2012-07-13 21:04                           ` John Wiegley
2012-07-13 21:44                             ` chad
2012-07-13 22:30                               ` John Wiegley
2012-07-14 10:35                               ` Sudish Joseph
2012-07-14  9:00                         ` Jan Djärv
2012-07-14 22:56                           ` John Wiegley
2012-07-15  0:54                             ` Chong Yidong
2012-07-15  2:45                               ` YAMAMOTO Mitsuharu
2012-07-15  3:40                               ` John Wiegley
2012-07-15 13:12                                 ` Paul Michael Reilly
2012-07-15 17:50                                   ` chad
2012-07-15 21:20                                     ` Donald Curtis
2012-07-15 21:34                                     ` Donald Curtis
2012-07-15 22:11                                       ` chad
2012-07-15 22:22                                       ` David Reitter
2012-07-18  0:16                                       ` YAMAMOTO Mitsuharu
2012-07-18  2:56                                         ` John Wiegley
2012-07-18  3:42                                           ` YAMAMOTO Mitsuharu
2012-07-18  8:21                                             ` Pavlo Martynenko
2012-07-18 20:43                                             ` Donald Curtis
2012-07-18 21:03                                               ` chad
2012-07-19  8:12                                               ` Jan Djärv
2012-07-18 17:19                                         ` Richard Stallman
2012-07-19 13:31                                           ` Pavlo Martynenko
2012-07-15 22:19                               ` David Reitter
2012-07-16  2:20                             ` Richard Stallman
2012-07-17 10:18                               ` Pavlo Martynenko
2012-07-17 12:14                                 ` William Stevenson
2012-07-15 21:52                         ` Stefan Monnier
2012-07-13 17:48                 ` John Wiegley
2011-09-14  2:21           ` chad
2011-09-14  3:00             ` Lars Magne Ingebrigtsen
2011-09-14 12:54           ` Jan D.
2011-09-13 19:51   ` Jan Djärv
2011-09-13 19:57     ` Adrian Robert
2011-09-13 20:33       ` Jan Djärv
2011-09-13 20:05   ` Richard Stallman
2011-09-13 21:47     ` John Wiegley
2011-09-14  1:59       ` Richard Stallman
2011-09-14  2:09         ` John Wiegley
2011-09-14 14:10           ` Richard Stallman
2011-09-14 14:30             ` Stephen Eilert
2011-09-14 18:06               ` Glenn Morris
2011-09-15  4:11               ` Richard Stallman
2012-07-13  1:14             ` Samuel Bronson

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=6046815D-AE04-410F-9917-AA29683213C3@gmail.com \
    --to=adrian.b.robert@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=tzz@lifelogs.com \
    /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.