From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!not-for-mail
From: CHENG Gao <chenggao@gmail.com>
Newsgroups: gmane.emacs.devel
Subject: Carbon port emacs-unicode-2 build problem under MacOSX
Date: Tue, 06 Nov 2007 20:02:20 +0800
Organization: cyberhut.org
Message-ID: <m21wb3vayb.fsf@news.cyberhut.org>
NNTP-Posting-Host: lo.gmane.org
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: ger.gmane.org 1194350591 7130 80.91.229.12 (6 Nov 2007 12:03:11 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 6 Nov 2007 12:03:11 +0000 (UTC)
To: emacs-devel@gnu.org
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 06 13:03:15 2007
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([199.232.76.165])
	by lo.gmane.org with esmtp (Exim 4.50)
	id 1IpN9G-000050-RK
	for ged-emacs-devel@m.gmane.org; Tue, 06 Nov 2007 13:03:15 +0100
Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43)
	id 1IpN96-0005m4-63
	for ged-emacs-devel@m.gmane.org; Tue, 06 Nov 2007 07:03:04 -0500
Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43)
	id 1IpN92-0005lx-6v
	for emacs-devel@gnu.org; Tue, 06 Nov 2007 07:03:00 -0500
Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43)
	id 1IpN90-0005lO-Vj
	for emacs-devel@gnu.org; Tue, 06 Nov 2007 07:02:59 -0500
Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.43) id 1IpN90-0005lL-SR
	for emacs-devel@gnu.org; Tue, 06 Nov 2007 07:02:58 -0500
Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org)
	by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32)
	(Exim 4.60) (envelope-from <ged-emacs-devel@m.gmane.org>)
	id 1IpN90-00030M-6d
	for emacs-devel@gnu.org; Tue, 06 Nov 2007 07:02:58 -0500
Original-Received: from list by ciao.gmane.org with local (Exim 4.43)
	id 1IpN8r-0000WG-0x
	for emacs-devel@gnu.org; Tue, 06 Nov 2007 12:02:49 +0000
Original-Received: from 222.94.199.221 ([222.94.199.221])
	by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <emacs-devel@gnu.org>; Tue, 06 Nov 2007 12:02:49 +0000
Original-Received: from chenggao by 222.94.199.221 with local (Gmexim 0.1 (Debian))
	id 1AlnuQ-0007hv-00
	for <emacs-devel@gnu.org>; Tue, 06 Nov 2007 12:02:49 +0000
X-Injected-Via-Gmane: http://gmane.org/
Original-Lines: 107
Original-X-Complaints-To: usenet@ger.gmane.org
X-Gmane-NNTP-Posting-Host: 222.94.199.221
User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.0 (darwin)
Cancel-Lock: sha1:oxKUWwy3tzvh/j7jz7/1F34MTOs=
X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4)
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/emacs-devel>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Xref: news.gmane.org gmane.emacs.devel:82653
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/82653>

My last successfully build was on May 26. Yesterday I gave it another
try and found something.

I reported twice before about failing owing to undefined symbols in
macterm.c. The problem is from new mac_set_unicode_keystroke_event
introduced by June 7 checkin (revision 1.47.2.56, Wed Jun 7 18:04:51
2006 UTC).

The code:
,----
| static void
| 	 	 mac_set_unicode_keystroke_event (code, buf)
| 	 	      UniChar code;
| 	 	      struct input_event *buf;
| 	 	 {
| 	 	   int charset_id, c1, c2;
| 	 	 
| 	 	   if (code < 0x80)
| 	 	     {
| 	 	       buf->kind = ASCII_KEYSTROKE_EVENT;
| 	 	       buf->code = code;
| 	 	     }
| 	 	   else if (code < 0x100)
| 	 	     {
| 	 	       if (code < 0xA0)
| 	 	         charset_id = CHARSET_8_BIT_CONTROL;
| 	 	       else
| 	 	         charset_id = charset_latin_iso8859_1;
| 	 	       buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT;
| 	 	       buf->code = MAKE_CHAR (charset_id, code, 0);
| 	 	     }
| 	 	   else
| 	 	     {
| 	 	       if (code < 0x2500)
| 	 	         charset_id = charset_mule_unicode_0100_24ff,
| 	 	           code -= 0x100;
| 	 	       else if (code < 0x33FF)
| 	 	         charset_id = charset_mule_unicode_2500_33ff,
| 	 	           code -= 0x2500;
| 	 	       else if (code >= 0xE000)
| 	 	         charset_id = charset_mule_unicode_e000_ffff,
| 	 	           code -= 0xE000;
| 	 	       c1 = (code / 96) + 32, c2 = (code % 96) + 32;
| 	 	       buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT;
| 	 	       buf->code = MAKE_CHAR (charset_id, c1, c2);
| 	 	     }
| 	 	 }
`----

CHARSET_8_BIT_CONTROL, charset_mule_unicode_0100_24ff,
charset_mule_2500_33ff, charset_mule_unicode_e000_ffff used here are
defined in any place.

I reverted this funciton to previous as:
,----
| static void
| mac_set_unicode_keystroke_event (code, buf)
|      UniChar code;
|      struct input_event *buf;
| {
|   int charset_id, c1, c2;
| 
|   if (code < 0x80)
|     buf->kind = ASCII_KEYSTROKE_EVENT;
|   else
|     buf->kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT;
|   buf->code = code;
| }
`----

Now macterm.c can be built.

Another error (for building latest cvs source) is "Undefined symbols:
_res_init_9". I googled and found a workaround, that's do

,----
| export LIBS=-lresolv
`----

before "make bootstrap".
(Original URL:
http://groups.google.com.ua/group/gnu.emacs.bug/msg/70a2759b8d6069e1 )

Thus I can build emacs-unicode-2 successfully.

Emacs running from terminal works ok. But Emacs.app (running from
Finder) is not usable. For every keystroke (keyboard input or mouse
click) I have to wait for several minutes. I think it's owing to my
brutal revert of mac_set_unicode_keystrok_event which makes
do_keystrokes dysfunction.
Another possibility is workaround of "export LIBS=-lresolv". I have no
idea. Or owing to merge of multi-tty code?

>From reading this group (gmane.emacs.devel) I know Carbon port is
treated as dead (really?). Even though I think I should report my
finding in case someone is willing to try to get it work again.

If Carbon port is treated as dead, and emacs-app (Cocoa port,
http://emacs-app.sf.net) works well, is it possible that emacs-app be
merged (as a branch in cvs or git repo) thus we MacOSX users can have an
evolving Emacs?

Sorry for disturbing everybody.

-- 
Homo sum, humani being nil a me alienum puto