From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Emacs on OS X development Date: Mon, 30 Jul 2012 06:48:07 +0200 Message-ID: <878ve1lurc.fsf@wanadoo.es> References: <87r4s68rr4.fsf@lifelogs.com> <83A41E83-79C8-4490-966B-CD224041E840@gmail.com> <6BC9F752-C724-4C3D-B2B9-088597A57C3E@gmail.com> <878ve943r8.fsf@lifelogs.com> <87obn3zyw2.fsf@lifelogs.com> <87394aqjx3.fsf@lifelogs.com> <87d33ektbo.fsf@wanadoo.es> <837gtmgcb3.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1343623703 5412 80.91.229.3 (30 Jul 2012 04:48:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 30 Jul 2012 04:48:23 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 30 06:48:23 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Svhu2-0001X5-DG for ged-emacs-devel@m.gmane.org; Mon, 30 Jul 2012 06:48:22 +0200 Original-Received: from localhost ([::1]:45311 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Svhu1-0007RO-Jz for ged-emacs-devel@m.gmane.org; Mon, 30 Jul 2012 00:48:21 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Svhtz-0007RI-G2 for emacs-devel@gnu.org; Mon, 30 Jul 2012 00:48:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Svhty-0003oD-Hy for emacs-devel@gnu.org; Mon, 30 Jul 2012 00:48:19 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:52675) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Svhty-0003o9-B2 for emacs-devel@gnu.org; Mon, 30 Jul 2012 00:48:18 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Svhtx-0001Tz-4u for emacs-devel@gnu.org; Mon, 30 Jul 2012 06:48:17 +0200 Original-Received: from 37.red-81-32-92.dynamicip.rima-tde.net ([81.32.92.37]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 30 Jul 2012 06:48:17 +0200 Original-Received: from ofv by 37.red-81-32-92.dynamicip.rima-tde.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 30 Jul 2012 06:48:17 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 32 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 37.red-81-32-92.dynamicip.rima-tde.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) Cancel-Lock: sha1:5RXU1q19rmthfjBCt1Ci3JogJBs= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:151972 Archived-At: Eli Zaretskii writes: >> I'll suggest to use different branches for every port (including MS >> Windows). > > IMNSHO, this is a bad idea. Its only sure consequence will be > divergence and bitrot of code, at least for MS Windows, because none > of the people who care about that port have time to invest on merges. If platform-specific code is well isolated, almost all merges are conflict-less, automatic operations. [snip] > The real price to pay will be the bugs we miss on each separate > platform, which are only revealed on the other, due to a different > compiler/library/environment/memory arrangement/whatever. How many > times in the past bugs in the Emacs code were found on Windows (or > even in the MS-DOS port)? Segregate the ports, and you will lose all > that. In effect, the project will be split into several ones that > hardly ever communicate. I don't see how using a branch instead of #ifdef's with its associated platform-specific macro definitions makes any difference here. With the current setup hackers working on GNU/Linux are oblivious of bugs that manifest only on MS Windows and depend on reports from other hackers or users. If anything, using branches for ports would help to determine where the bug was introduced: on platform-specific code or in the shared code, as discriminating changes among those areas would be easy looking at the VCS history. [snip]