emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Carbon port emacs-unicode-2 build problem under MacOSX


From: CHENG Gao
Subject: Re: Carbon port emacs-unicode-2 build problem under MacOSX
Date: Thu, 08 Nov 2007 02:30:45 +0800
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.0 (darwin)

> 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; }
> `----

I did another test. I checked out Aug. 8 source (right before multi-tty
merge), and reverted mac_set_unicode_keystroke_event as described above.
It builds and works well.
So:
1. The culprit is multi-tty merge
It's reconfirmation to confirmed suspicion.

2. Function mac_set_unicode_keystroke_event should be reverted.

3. I am glad I upgraded my emacs-unicode-2 Carbon port from June 6
source to Aug. 28. 83 days after D-day brought me more peace.

-- 
Volo, non valeo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]