From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Keitaro Miyazaki Newsgroups: gmane.emacs.bugs Subject: bug#7282: 23.2; [PATCH] Improve text composition by Input Methods on MacOSX. Date: Fri, 29 Oct 2010 00:31:09 +0900 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=20cf303bf930fdf18d0493af070f X-Trace: dough.gmane.org 1288280611 7130 80.91.229.12 (28 Oct 2010 15:43:31 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 28 Oct 2010 15:43:31 +0000 (UTC) Cc: 7282@debbugs.gnu.org To: YAMAMOTO Mitsuharu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 28 17:43:30 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PBUdU-0008Gj-Go for geb-bug-gnu-emacs@m.gmane.org; Thu, 28 Oct 2010 17:43:29 +0200 Original-Received: from localhost ([127.0.0.1]:60707 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PBUdT-0002aF-7l for geb-bug-gnu-emacs@m.gmane.org; Thu, 28 Oct 2010 11:43:27 -0400 Original-Received: from [140.186.70.92] (port=38854 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PBUdD-0002WW-CS for bug-gnu-emacs@gnu.org; Thu, 28 Oct 2010 11:43:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PBUd7-0000Dp-Bh for bug-gnu-emacs@gnu.org; Thu, 28 Oct 2010 11:43:11 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36588) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PBUd7-0000Dj-7j for bug-gnu-emacs@gnu.org; Thu, 28 Oct 2010 11:43:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1PBUOY-0001eq-2L; Thu, 28 Oct 2010 11:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Keitaro Miyazaki Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Oct 2010 15:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 7282 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 7282-submit@debbugs.gnu.org id=B7282.12882796266364 (code B ref 7282); Thu, 28 Oct 2010 15:28:01 +0000 Original-Received: (at 7282) by debbugs.gnu.org; 28 Oct 2010 15:27:06 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PBUNd-0001eb-VO for submit@debbugs.gnu.org; Thu, 28 Oct 2010 11:27:06 -0400 Original-Received: from mail-yx0-f172.google.com ([209.85.213.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PBUNY-0001eD-MR for 7282@debbugs.gnu.org; Thu, 28 Oct 2010 11:27:04 -0400 Original-Received: by yxp4 with SMTP id 4so1330966yxp.3 for <7282@debbugs.gnu.org>; Thu, 28 Oct 2010 08:31:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=wzEYbNpNvsQg+rY0/hJaT2V7WkulNRsnS5vsdg79KEA=; b=hRquJkE6MvDsBd2apbw7bliHSEg6W0l/Nwv8KGWz3b0jNWdv6nhQprBoybC39EDTZ8 FYn+fwWgZdJg3sX9Ty/AcBCqsh3w9RzJjgh/iLQisrtPz9X7wesD+iaXGiELglXzQBFr Az3vVLVzqBnf2bq/JTvPFV6Re7zCK3xvaOJP8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=M50+KJaRFze6/ust+C1fZfG3g4iOalXKmYkDEA68OAmEhe1p+c3ZU7JGl4D4eZcC73 ZfMK1pJ4/hKi7WhGLo/G+IfNTEF78987duGUAcruXKJ/bcBpPbTm2o7Nm0HCkvV2xke0 V9Hy6k7lnbOeRxqx5lH7Ho9AHKCYlSupRPJr0= Original-Received: by 10.42.197.72 with SMTP id ej8mr7498923icb.196.1288279869485; Thu, 28 Oct 2010 08:31:09 -0700 (PDT) Original-Received: by 10.231.188.226 with HTTP; Thu, 28 Oct 2010 08:31:09 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Thu, 28 Oct 2010 11:28:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:41196 Archived-At: --20cf303bf930fdf18d0493af070f Content-Type: text/plain; charset=ISO-8859-1 > I mentioned "non-BMP characters" in the previous reply. I understood that NSString counts numbers of UTF-16 units instead of numbers of characters, so NSString counts length of a non-BMP character as 2. Thanks for your detailed description. I fixed my patch to adjust the numbers in `selectedRange', so that emacs can recognize the range properly. Attached patch also includes the patch `im-cursor-position-fix.diff', so you don't need to apply it now. ...BTW, I tried your Mac port today, and it seems to be working fine for me. I hope it will be merged soon. --20cf303bf930fdf18d0493af070f Content-Type: application/octet-stream; name="highlight-on-active-clause-v2.diff" Content-Disposition: attachment; filename="highlight-on-active-clause-v2.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gftsi9hy0 ZGlmZiAtTnJwdSBlbWFjcy0yMy4yLm9yaWcvbGlzcC90ZXJtL25zLXdpbi5lbCBlbWFjcy0yMy4y L2xpc3AvdGVybS9ucy13aW4uZWwKLS0tIGVtYWNzLTIzLjIub3JpZy9saXNwL3Rlcm0vbnMtd2lu LmVsCTIwMTAtMDQtMDQgMDc6MjY6MDguMDAwMDAwMDAwICswOTAwCisrKyBlbWFjcy0yMy4yL2xp c3AvdGVybS9ucy13aW4uZWwJMjAxMC0xMC0yOCAyMzozMzoxMS4wMDAwMDAwMDAgKzA5MDAKQEAg LTU1MSwxMCArNTUxLDE5IEBAIFRoZSBwcm9wZXJ0aWVzIHJldHVybmVkIG1heSBpbmNsdWRlIGB0 b3AKICAgIkZhY2UgdXNlZCB0byBoaWdobGlnaHQgd29ya2luZyB0ZXh0IGR1cmluZyBjb21wb3Nl IHNlcXVlbmNlIGluc2VydC4iCiAgIDpncm91cCAnbnMpCiAKKyhkZWZmYWNlIG5zLWFjdGl2ZS1j bGF1c2UtZmFjZQorICAnKCh0IDppbmhlcml0IG5zLXdvcmtpbmctdGV4dC1mYWNlIDppbnZlcnNl LXZpZGVvIHQpKQorICAiRmFjZSB1c2VkIHRvIGhpZ2hsaWdodCBhY3RpdmUgY2xhdXNlIG9mIHdv cmtpbmcgdGV4dCBkdXJpbmcgY29tcG9zZSBzZXF1ZW5jZSBpbnNlcnQuIgorICA6Z3JvdXAgJ25z KQorCiAoZGVmdmFyIG5zLXdvcmtpbmctb3ZlcmxheSBuaWwKICAgIk92ZXJsYXkgdXNlZCB0byBo aWdobGlnaHQgd29ya2luZyB0ZXh0IGR1cmluZyBjb21wb3NlIHNlcXVlbmNlIGluc2VydC4KIFdo ZW4gdGV4dCBpcyBpbiB0aCBlY2hvIGFyZWEsIHRoaXMganVzdCBzdG9yZXMgdGhlIGxlbmd0aCBv ZiB0aGUgd29ya2luZyB0ZXh0LiIpCiAKKyhkZWZ2YXIgbnMtYWN0aXZlLWNsYXVzZS1vdmVybGF5 IG5pbAorICAiT3ZlcmxheSB1c2VkIHRvIGhpZ2hsaWdodCBhY3RpdmUgY2xhdXNlIG9mIHdvcmtp bmcgdGV4dCBkdXJpbmcgY29tcG9zZSBzZXF1ZW5jZSBpbnNlcnQuCitXaGVuIHRleHQgaXMgaW4g dGggZWNobyBhcmVhLCB0aGlzIGp1c3Qgc3RvcmVzIHRoZSBsZW5ndGggb2YgdGhlIHdvcmtpbmcg dGV4dC4iKQorCiAoZGVmdmFyIG5zLXdvcmtpbmctdGV4dCkJCTsgbnN0ZXJtLm0KIAogOzsgVGVz dCBpZiBpbiBlY2hvIGFyZWEsIGJhc2VkIG9uIG1hYy13aW4uZWwgMjAwNy8wOC8yNiB1bmljb2Rl LTIuCkBAIC01OTMsMTEgKzYwMiwyMCBAQCBUaGUgb3ZlcmxheSBpcyBhc3NpZ25lZCB0aGUgZmFj ZSBgbnMtd29yCiAgIDs7ICBhbmQgaWYgdGV4dCBpcyBib3VuZCB0byBhIGNvbW1hbmQsIGV4ZWN1 dGUgdGhhdCBpbnN0ZWFkIChCdWcjMTQ1MykKICAgKGludGVyYWN0aXZlKQogICAobnMtZGVsZXRl LXdvcmtpbmctdGV4dCkKLSAgKGxldCAoKHN0YXJ0IChwb2ludCkpKQorICAobGV0KiAoKHN0YXJ0 IChwb2ludCkpCisgICAgICAgICAoYWMtc3RhcnQgKCsgc3RhcnQgKGNhciBucy1yYW5nZS1vZi1h Y3RpdmUtY2xhdXNlKSkpCisgICAgICAgICAoYWMtZW5kICAgKCsgc3RhcnQgKGNkciBucy1yYW5n ZS1vZi1hY3RpdmUtY2xhdXNlKSkpKQogICAgIChpbnNlcnQgbnMtd29ya2luZy10ZXh0KQogICAg IChvdmVybGF5LXB1dCAoc2V0cSBucy13b3JraW5nLW92ZXJsYXkgKG1ha2Utb3ZlcmxheSBzdGFy dCAocG9pbnQpCiAJCQkJCQkJKGN1cnJlbnQtYnVmZmVyKSBuaWwgdCkpCi0JCSAnZmFjZSAnbnMt d29ya2luZy10ZXh0LWZhY2UpKSkKKwkJICdmYWNlICducy13b3JraW5nLXRleHQtZmFjZSkKKyAg ICAob3ZlcmxheS1wdXQgKHNldHEgbnMtYWN0aXZlLWNsYXVzZS1vdmVybGF5CisgICAgICAgICAg ICAgICAgICAgICAgIChtYWtlLW92ZXJsYXkgYWMtc3RhcnQKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhYy1lbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBuaWwgdCkpCisgICAgICAgICAgICAgICAgICdmYWNlICducy1hY3RpdmUtY2xhdXNlLWZh Y2UpCisgICAgKHdoZW4gKD0gYWMtc3RhcnQgYWMtZW5kKQorICAgICAgKGdvdG8tY2hhciBhYy1l bmQpKSkpCiAKIChkZWZ1biBucy1lY2hvLXdvcmtpbmctdGV4dCAoKQogICAiRWNobyBjb250ZW50 cyBvZiBgbnMtd29ya2luZy10ZXh0JyBpbiBtZXNzYWdlIGRpc3BsYXkgYXJlYS4KQEAgLTYyMiw3 ICs2NDAsOCBAQCBTZWUgYG5zLWluc2VydC13b3JraW5nLXRleHQnLiIKICAgICAod2l0aC1jdXJy ZW50LWJ1ZmZlciAob3ZlcmxheS1idWZmZXIgbnMtd29ya2luZy1vdmVybGF5KQogICAgICAgKGRl bGV0ZS1yZWdpb24gKG92ZXJsYXktc3RhcnQgbnMtd29ya2luZy1vdmVybGF5KQogICAgICAgICAg ICAgICAgICAgICAgKG92ZXJsYXktZW5kIG5zLXdvcmtpbmctb3ZlcmxheSkpCi0gICAgICAoZGVs ZXRlLW92ZXJsYXkgbnMtd29ya2luZy1vdmVybGF5KSkpCisgICAgICAoZGVsZXRlLW92ZXJsYXkg bnMtd29ya2luZy1vdmVybGF5KQorICAgICAgKGRlbGV0ZS1vdmVybGF5IG5zLWFjdGl2ZS1jbGF1 c2Utb3ZlcmxheSkpKQogICAgKChpbnRlZ2VycCBucy13b3JraW5nLW92ZXJsYXkpCiAgICAgKGxl dCAoKG1zZyAoY3VycmVudC1tZXNzYWdlKSkKICAgICAgICAgICBtZXNzYWdlLWxvZy1tYXgpCmRp ZmYgLU5ycHUgZW1hY3MtMjMuMi5vcmlnL3NyYy9uc3Rlcm0ubSBlbWFjcy0yMy4yL3NyYy9uc3Rl cm0ubQotLS0gZW1hY3MtMjMuMi5vcmlnL3NyYy9uc3Rlcm0ubQkyMDEwLTA0LTA0IDA3OjI2OjA0 LjAwMDAwMDAwMCArMDkwMAorKysgZW1hY3MtMjMuMi9zcmMvbnN0ZXJtLm0JMjAxMC0xMC0yOCAy MzozMjo1My4wMDAwMDAwMDAgKzA5MDAKQEAgLTEzOCw2ICsxMzgsNyBAQCBzdGF0aWMgdW5zaWdu ZWQgY29udmVydF9uc190b19YX2tleXN5bVtdCiAvKiBMaXNwIGNvbW11bmljYXRpb25zICovCiBM aXNwX09iamVjdCBuc19pbnB1dF9maWxlLCBuc19pbnB1dF9mb250LCBuc19pbnB1dF9mb250c2l6 ZSwgbnNfaW5wdXRfbGluZTsKIExpc3BfT2JqZWN0IG5zX2lucHV0X2NvbG9yLCBuc19pbnB1dF90 ZXh0LCBuc193b3JraW5nX3RleHQ7CitMaXNwX09iamVjdCBuc19yYW5nZV9vZl9hY3RpdmVfY2xh dXNlOwogTGlzcF9PYmplY3QgbnNfaW5wdXRfc3BpX25hbWUsIG5zX2lucHV0X3NwaV9hcmc7CiBM aXNwX09iamVjdCBWeF90b29sa2l0X3Njcm9sbF9iYXJzOwogc3RhdGljIExpc3BfT2JqZWN0IFFt b2RpZmllcl92YWx1ZTsKQEAgLTQ1NzUsNiArNDU3NiwyMSBAQCBuc190ZXJtX3NodXRkb3duIChp bnQgc2lnKQogICB3b3JraW5nVGV4dCA9IFtzdHIgY29weV07CiAgIG5zX3dvcmtpbmdfdGV4dCA9 IGJ1aWxkX3N0cmluZyAoW3dvcmtpbmdUZXh0IFVURjhTdHJpbmddKTsKIAorICAvKiBOU1N0cmlu ZyBzZWVtcyB0byBiZSBjb3VudGluZyBudW1iZXIgb2YgVVRGLTE2IGNvZGUgdW5pdHMgaW5zdGVh ZCBvZgorICAgICBudW1iZXIgb2YgY2hhcmFjdGVycyB3aGVuIGNhbGN1bGF0aW5nIGxlbmd0aCBv ZiBzdHJpbmdzLgorICAgICBUaGlzIGNhdXNlcyBOU1N0cmluZyB0byBjb3VudCBsZW5ndGggb2Yg YSBub24tQk1QIGNoYXJhY3RlciBhcyB0d28sCisgICAgIG5vdCBhcyBvbmUuCisgICAgIAorICAg ICBFbWFjcyBleHBlY3RzIHRoYXQgdGhlIGxlbmd0aCBvZiBhIG5vbi1CTVAgY2hhcmFjdGVyIGFz IG9uZSwgc28gd2UKKyAgICAgc2hvdWxkIGFkanVzdCBudW1iZXJzIGluIGBzZWxlY3RlZFJhbmdl JyBiZWZvcmUgcGFzc2luZyB0aGVtIHRvIGVtYWNzLAorICAgICBpbiBjYXNlIG9mIG5vbi1CTVAg Y2hhcmFjdGVycyBhcmUgY29udGFpbmVkIGluIHRoZSBtYXJrZWQgdGV4dC4gKi8KKyAgTlNTdHJp bmcgKnN0clRvTWluID0gW3N0ciBzdWJzdHJpbmdXaXRoUmFuZ2U6IE5TTWFrZVJhbmdlICgwLCBz ZWxSYW5nZS5sb2NhdGlvbildOworICBOU1N0cmluZyAqc3RyVG9NYXggPSBbc3RyIHN1YnN0cmlu Z1dpdGhSYW5nZTogTlNNYWtlUmFuZ2UgKDAsIE5TTWF4UmFuZ2UgKHNlbFJhbmdlKSldOworICAK KyAgLyogU2F2ZSB0aGUgc2VsZWN0ZWQgcmFuZ2UsIHdoaWNoIHdhcyByZWNhbGN1bGF0ZWQgYnkg ZW1hY3MuICovCisgIG5zX3JhbmdlX29mX2FjdGl2ZV9jbGF1c2UgPSBGY29ucyAoRmxlbmd0aCAo YnVpbGRfc3RyaW5nIChbc3RyVG9NaW4gVVRGOFN0cmluZ10pKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGbGVuZ3RoIChidWlsZF9zdHJpbmcgKFtzdHJUb01heCBVVEY4 U3RyaW5nXSkpKTsKKwogICBlbWFjc19ldmVudC0+a2luZCA9IE5TX1RFWFRfRVZFTlQ7CiAgIGVt YWNzX2V2ZW50LT5jb2RlID0gS0VZX05TX1BVVF9XT1JLSU5HX1RFWFQ7CiAgIEVWX1RSQUlMRVIg KChpZCluaWwpOwpAQCAtNjE2Nyw2ICs2MTgzLDEyIEBAIHN5bXNfb2ZfbnN0ZXJtICgpCiAgICAg ICAgICAgICAgICJTdHJpbmcgZm9yIHZpc3VhbGl6aW5nIHdvcmtpbmcgY29tcG9zaXRpb24gc2Vx dWVuY2UuIik7CiAgIG5zX3dvcmtpbmdfdGV4dCA9UW5pbDsKIAorICBERUZWQVJfTElTUCAoIm5z LXJhbmdlLW9mLWFjdGl2ZS1jbGF1c2UiLCAmbnNfcmFuZ2Vfb2ZfYWN0aXZlX2NsYXVzZSwKKyAg ICAgICAgICAgICAgIlJhbmdlIG9mIGFuIGFjdGl2ZSBjbGF1c2UgaW4gY29tcG9zaXRpb24gc2Vx dWVuY2UuIFwKK1RoZSB2YWx1ZSBpcyBhIGNvbnMgd2hpY2ggaG9sZHMgc3RhcnQgcG9pbnQgb2Yg YWN0aXZlIGNsYXVzZSBpbiB3b3JraW5nIFwKK3RleHQgYXMgY2FyLCBhbmQgZW5kIHBvaW50IGFz IGNkci4iKTsKKyAgbnNfcmFuZ2Vfb2ZfYWN0aXZlX2NsYXVzZSA9UW5pbDsKKwogICBERUZWQVJf TElTUCAoIm5zLWlucHV0LWZvbnQiLCAmbnNfaW5wdXRfZm9udCwKICAgICAgICAgICAgICAgIlRo ZSBmb250IHNwZWNpZmllZCBpbiB0aGUgbGFzdCBOUyBldmVudC4iKTsKICAgbnNfaW5wdXRfZm9u dCA9UW5pbDsK --20cf303bf930fdf18d0493af070f--