From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Reitter Newsgroups: gmane.emacs.devel Subject: Re: mouse-face highlighting broken? Date: Wed, 6 May 2009 23:14:41 -0400 Message-ID: References: <87iqke6xx3.fsf@cyd.mit.edu> <357AADAB-5EEF-456A-9C7B-D851376EB118@gmail.com> <006401c9ce73$57448900$c2b22382@us.oracle.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v930.3) Content-Type: multipart/signed; boundary=Apple-Mail-15--781607193; micalg=sha1; protocol="application/pkcs7-signature" X-Trace: ger.gmane.org 1241666110 7659 80.91.229.12 (7 May 2009 03:15:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 7 May 2009 03:15:10 +0000 (UTC) Cc: Chong Yidong , Adrian Robert , Emacs-Devel devel To: Drew Adams Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 07 05:15:00 2009 Return-path: 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 1M1u4Z-0008Ap-0c for ged-emacs-devel@m.gmane.org; Thu, 07 May 2009 05:14:59 +0200 Original-Received: from localhost ([127.0.0.1]:55893 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M1u4Y-0006Ft-Bv for ged-emacs-devel@m.gmane.org; Wed, 06 May 2009 23:14:58 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M1u4S-0006Fm-W0 for emacs-devel@gnu.org; Wed, 06 May 2009 23:14:53 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M1u4N-0006Eo-Gs for emacs-devel@gnu.org; Wed, 06 May 2009 23:14:51 -0400 Original-Received: from [199.232.76.173] (port=50368 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M1u4N-0006El-BD for emacs-devel@gnu.org; Wed, 06 May 2009 23:14:47 -0400 Original-Received: from mail-qy0-f116.google.com ([209.85.221.116]:46843) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M1u4N-000168-1V for emacs-devel@gnu.org; Wed, 06 May 2009 23:14:47 -0400 Original-Received: by qyk14 with SMTP id 14so971155qyk.14 for ; Wed, 06 May 2009 20:14:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:cc:message-id:from:to :in-reply-to:content-type:mime-version:subject:date:references :x-mailer; bh=oCy6peiggA6geuEk6cc7z8VOqnKZH8nlyp80l+XeZiU=; b=qQT5mh7LODnmy4UJ3xUJadOn+tapY6mJG06ur/nsm0SiIcuvHgY2AmfbDAKjclXnJb FQ3ydiIPgcs7V81I/2SHVyI1SxLQRzDv55yGFmrO8EZN09S4HVwSDcfCFjRuzXTf5mVZ Kea3OAD0nI8qRu9I2wmWcJHSQP+2ueQxqNosI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=cc:message-id:from:to:in-reply-to:content-type:mime-version:subject :date:references:x-mailer; b=CJSBN6UyAINoff8l/gDuwwUFRSrIKpAwpNbk1GvtV1wOuOgQikSpCuypGZHYEdjPup /mg6lQAJ9zyFf5JbxHLgqZXRwp2kLDffsoImh35SjjrJn1/YPyMSGb9HDc7Qrpn/uEpE W8FfCSMj6z3JQpnKrjkEXK40gI7boQDpo19dI= Original-Received: by 10.229.84.78 with SMTP id i14mr1765042qcl.67.1241666085621; Wed, 06 May 2009 20:14:45 -0700 (PDT) Original-Received: from scarlett.local (pool-71-162-19-47.pitbpa.east.verizon.net [71.162.19.47]) by mx.google.com with ESMTPS id 2sm2601614qwi.23.2009.05.06.20.14.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 06 May 2009 20:14:44 -0700 (PDT) In-Reply-To: <006401c9ce73$57448900$c2b22382@us.oracle.com> X-Mailer: Apple Mail (2.930.3) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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:110741 Archived-At: --Apple-Mail-15--781607193 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit On May 6, 2009, at 1:51 PM, Drew Adams wrote: > > In the pretest on Windows, the space between is also mouse-faced. Thanks Drew for this piece of info. With that, I took a look at the relevant code in the NS port, and it turns out that ns_dumpglyphs_stretch() and ns_dumpglyphs_image() fail to use the mouse face instead of the first glyph face. The patch below addresses that. I suspect that ns_dumpglyphs_stretch() lacks support for stipple patterns, but I think we can skip over that for now. diff --git a/src/nsterm.m b/src/nsterm.m index 1b6478c..52b7a16 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2842,8 +2845,17 @@ ns_dumpglyphs_image (struct glyph_string *s, NSRect r) /* Draw BG: if we need larger area than image itself cleared, do that, otherwise, since we composite the image under NS (instead of mucking with its background color), we must clear just the image area. */ - [ns_lookup_indexed_color (NS_FACE_BACKGROUND - (FACE_FROM_ID (s->f, s->first_glyph->face_id)), s->f) set]; + if (s->hl == DRAW_MOUSE_FACE) + { + face = FACE_FROM_ID + (s->f, FRAME_NS_DISPLAY_INFO (s->f)->mouse_face_face_id); + if (!face) + face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); + } + else + face = FACE_FROM_ID (s->f, s->first_glyph->face_id); + + [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) set]; if (bg_height > s->slice.height || s->img->hmargin || s->img- >vmargin || s->img->mask || s->img->pixmap == 0 || s->width != s- >background_width) @@ -2914,6 +2926,7 @@ ns_dumpglyphs_stretch (struct glyph_string *s) { NSRect r[2]; int n, i; + struct face *face; if (!s->background_filled_p) { @@ -2954,9 +2967,21 @@ ns_dumpglyphs_stretch (struct glyph_string *s) } } + ns_focus (s->f, r, n); - [ns_lookup_indexed_color (NS_FACE_BACKGROUND - (FACE_FROM_ID (s->f, s->first_glyph->face_id)), s->f) set]; + + if (s->hl == DRAW_MOUSE_FACE) + { + face = FACE_FROM_ID + (s->f, FRAME_NS_DISPLAY_INFO (s->f)->mouse_face_face_id); + if (!face) + face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); + } + else + face = FACE_FROM_ID (s->f, s->first_glyph->face_id); + + [ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) set]; + NSRectFill (r[0]); NSRectFill (r[1]); ns_unfocus (s->f); --Apple-Mail-15--781607193 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIFxDCCAn0w ggHmoAMCAQICED6shx13jEDrq0eL8FRq5ykwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA4MTIwOTAyMDgwMVoXDTA5MTIwOTAyMDgw MVowYjEQMA4GA1UEBBMHUmVpdHRlcjEOMAwGA1UEKhMFRGF2aWQxFjAUBgNVBAMTDURhdmlkIFJl aXR0ZXIxJjAkBgkqhkiG9w0BCQEWF2RhdmlkLnJlaXR0ZXJAZ21haWwuY29tMIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDOdo6kAwlkBxUb8dj4saMbYg4SVng8CUePFn3cjjWrakBTbUVa4Z0n wlUxr7AitEeKhBy5nGhu96+jKUPrCwYNRCZ0l2ovvuGq4z1m1nZ5/c8WvFlVhieuxXMUfmb/O7D3 IojoX6iS8n5MNNU2IWNNT/AD3vOl6DKgOtOw4J9y+QIDAQABozQwMjAiBgNVHREEGzAZgRdkYXZp ZC5yZWl0dGVyQGdtYWlsLmNvbTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4GBAIjI8yEW wkiEfA9PMgpjnD6KyCXT0iZjHhW2PkR53yZZLUoTboHnKgsFwYp/gzzIL8J5cvZaRUyMUzXDufPP dRmxxCs2jXXLDD/8bvdvOuMzqgYoFA73fAfsC8S6qUL1PayZ90J8CZHNhDwqWqOA56T+DdKUegJT sqoHKh6OnypTMIIDPzCCAqigAwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3 dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEk MCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJz b25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoXDTEzMDcxNjIzNTk1OVow YjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAq BgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQDEpjxVc1X7TrnKmVoeaMB1BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU 5VAKMNcCY1osiRVwjt3J8CuFWqo/cVbLrzwLB+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTX p6a7n2XRxSpUhQ9IBH+nttE8YQRAHmQZcmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8C AQAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFs RnJlZW1haWxDQS5jcmwwCwYDVR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2 YXRlTGFiZWwyLTEzODANBgkqhkiG9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aU nX9MIbj4Nh+qLZ82L8D0HFAgk3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5 jowgT2Vfldr394fWxghOrvbqNOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCAo8wggKLAgEB MHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4x LDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhA+rIcdd4xA66tH i/BUaucpMAkGBSsOAwIaBQCgggFvMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN AQkFMQ8XDTA5MDUwNzAzMTQ0MVowIwYJKoZIhvcNAQkEMRYEFP7FLBsv9jXjYa9SUKURCX2pDxZK MIGFBgkrBgEEAYI3EAQxeDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3Vs dGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWlu ZyBDQQIQPqyHHXeMQOurR4vwVGrnKTCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpB MSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUg UGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQPqyHHXeMQOurR4vwVGrnKTANBgkqhkiG9w0B AQEFAASBgD+rn9GtksQqgHO/A1HRwFFZu5j9BVT0rCqAsnQmZ1LEK4o8Fugmrdjxs/VPjnK2n0+5 08otFsuIQDL+XffG9oFJnWsoh/azaIm1durVDxj40KD/w9yvOjxHJpOrnDo1H29mLgefzS9z1CSd aILuu+68XGSEzSoh2JWX1US/TiDDAAAAAAAA --Apple-Mail-15--781607193--