From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leo Newsgroups: gmane.emacs.bugs Subject: bug#10062: 24.0.91; completions-first-difference Date: Mon, 16 Jan 2012 17:18:54 +0800 Message-ID: References: <8739do764s.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: dough.gmane.org 1326705630 884 80.91.229.12 (16 Jan 2012 09:20:30 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 16 Jan 2012 09:20:30 +0000 (UTC) Cc: 10062@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 16 10:20:26 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Rmijp-0000YJ-54 for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Jan 2012 10:20:25 +0100 Original-Received: from localhost ([::1]:44965 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rmijo-00049K-LZ for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Jan 2012 04:20:24 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:51647) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rmijh-000497-2G for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 04:20:22 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rmija-0003qh-1E for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 04:20:16 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RmijZ-0003qd-R5 for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 04:20:09 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1RmikQ-00005t-Fw for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 04:21:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Leo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Jan 2012 09:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10062 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 10062-submit@debbugs.gnu.org id=B10062.132670560632755 (code B ref 10062); Mon, 16 Jan 2012 09:21:02 +0000 Original-Received: (at 10062) by debbugs.gnu.org; 16 Jan 2012 09:20:06 +0000 Original-Received: from localhost ([127.0.0.1]:59152 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RmijW-0008WG-CR for submit@debbugs.gnu.org; Mon, 16 Jan 2012 04:20:06 -0500 Original-Received: from mail-iy0-f172.google.com ([209.85.210.172]:65471) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1RmijT-0008W8-0n for 10062@debbugs.gnu.org; Mon, 16 Jan 2012 04:20:04 -0500 Original-Received: by iaae16 with SMTP id e16so7960482iaa.3 for <10062@debbugs.gnu.org>; Mon, 16 Jan 2012 01:19:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:face:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=2kf7ZXdzt/sPuB/JpT2EYi05XzIc3EZfmY7lPk8PZYo=; b=p8TU3IuBu/L2+Y0JBjqyP0pvxT3NxwttcJVn6ILL8rN5W+10RSQQ2QmeccxLClSKzw rgA3pez8wzRO8+Ax1zlGMDcEObV8okepmLQt1LAkiVHaitlx4xMH9fhfncjnSvEXI9U4 VqM+nay1W87d8NKqsOdbU4btRzioRMnvcYcNE= Original-Received: by 10.43.117.194 with SMTP id fn2mr9685321icc.53.1326705549247; Mon, 16 Jan 2012 01:19:09 -0800 (PST) Original-Received: from localhost ([119.255.41.67]) by mx.google.com with ESMTPS id he16sm63514125ibb.9.2012.01.16.01.19.04 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 16 Jan 2012 01:19:07 -0800 (PST) Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAGFBMVEUKDAg1NjRWV1V9fnyg op/DxcLk5uP8/voi63ReAAAACXBIWXMAAAWJAAAFiQFtaJ36AAAAB3RJTUUH1goZAgAz00bgXgAA AeVJREFUKM9lk0Fz2jAQhQXJD3CCO70CmcC1YMtcWyTZ14Bl69xats4N9r6/3zWQBlodNKNPu/s0 b1cCQFuZGpfVVh3vAvBJolIXRkapSuoRUtIdFyo1Y5xSdlAj7OtvD1XnXxmWRi+eWgcxyCed1lVV B1CrKyujMoi+eLA5kU1SsjoHlW+nQjTtFxk4MXgrOxvIqzoTZR8XgPaLl419zgsMaSGFPiUOZCIh thsx5Xy9NsK8Kwf/JoQgMxcVJ301HKkcSWaT0O7FY056J4U9xcYfnmVXG4801lW6lqwu2nKFZoHC HuzvaTVndZ+LaRQgZdthXw1cpynEkLEwyFHXk/aIxNQ6QeooJuzPMB+wn+D7JJNsiCcVA13/A3h/ xE9J+WidpAwoYNmRFwyvSRhNVtsdaAewzZZP5uw82QL9+tyNfocyP0McAzICUr5Mk9RdIjWasUNx aIIt6NK4ZtXIMdfMQt3nuMAyWbLI4DqZ4xPq/ag8jPond4XU/cLuOgw6XCFX/YCUfcDAMMH58fD4 G9kDchwfqVefkBwup2uZM+Q4WhJt5jN3AxXCsaS2yXEDuWgS8VOzW0gFjhEPmLyFMKBFaLb1HRwc DiaKwx0EeTMRYnYPQRW3PP4HApvlMv0PttX5v/D6Aws3IOSEwzmLAAAAAElFTkSuQmCC In-Reply-To: (Stefan Monnier's message of "Thu, 17 Nov 2011 20:47:34 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3.90 (Mac OS X 10.6.8) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 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: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:55781 Archived-At: --=-=-= Content-Type: text/plain On 2011-11-18 09:47 +0800, Stefan Monnier wrote: [snipped 7 lines] > Yup: the bug is not in the rear-stickiness but in the mere presence of > this face. I.e. the fix is to strip these faces when used for > completion (but of course keep them when used for *Completions* display). > > > Stefan On 2011-12-01 23:57 +0800, Stefan Monnier wrote: [snipped 8 lines] > I guess it could make sense to keep the face on the inserted text while > you're still cycling, but it should be removed afterwards. And since > the transition between "cycling" and "not cycling" is not explicit, > you'd then need/want to remove the face from something like > a pre-command-hook. > > > Stefan Hello Stefan, I have been using completion with completion-cycle-threshold set to 4 and I have been annoyed often enough that I think it is worthwhile to fix this bug because it often leaves my buffer weirdly fontified. For example in elisp, `defma' can complete to `defmacro' unfontified. --=-=-= Content-Type: image/png Content-Disposition: inline; filename=emacs-comp-bug.png Content-Transfer-Encoding: base64 Content-Description: emacs-comp-bug.png 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 kvq8BpeGu0atxoImj6aX5mXNj1pCWgFaV7VWtSW1w7RvaW/qKOuc1unXReka6GbqjulR69nplem9 0efW99Vv0V8zkDOIM+g3xBiaGOYZThuxGXkaNRmtGSsYnzYeNiE1sTEpM1kwFTYNM+0xg82MzQrM Zs35zEPMuyyAhZFFgcWcpYDlScs7VlgrS6tyqw/WUtbx1iM2NDauNs02G7batrm2M3aCdpF2g/YU 9i72TfabDroO+Q7zjhKOpx2fODE7+TvddsY52ztfdl4/pnes6NiSi5xLmsuL4wLHTx1/dIL5RNCJ u64Uru6uHW4YNwe3Zrc9dwv3Wvd1DyOPCo81Tx3PEs8vXppehV7L3mre+d4ffdR88n0++ar5Fvgu +2n4Ffut+Ov4l/l/DTAMqA7YDLQIvBJ4GOQQ1BZMFOwW3B1CHRIYMhzKHnoqdIIgQkgjzJ9UPll0 ci3MJOxyOBR+PPx2BC1yOByNFIw8G/kuSj2qPGor2j664xTVqZBTozHCMRkxH2P1Yxvi0HGecYPx XPHJ8e9Oa52uSYASPBIGE3kSUxOXkgySGpPxyYHJf5yRPJN/5keKQ0pPKltqUuriWYOzLWnkaWFp 0+dUzlWno9P908cyZDIuZhxkemU+zpLMKs7ay/bMfnxe6nzp+cMcn5yxXPncqgvYCyEXXuRp5DXm U+XH5i8WmBV0FnIWZhb+KHItelQsW1xdgi+JLJkvNS29fZH34oWLe2V+ZVPl2uVtFawVGRWblV6V z6o0q1qr2aqzqncu+V96WWNQ01nLX1tch62LqvtQb18/0qDY0HSZ+XLW5f0rIVfmG60bh5sUmpqa WZtzW+CWyJblqy5Xx6/pXrvdKtZa00bflnUdXI+8/vmG240X7Sbtgx2KHa03+W5W3KK5ldkJdcZ0 rnX5dc3fdro90W3cPdij0nPrjvidK71cveV36e7m9uH7UvsO78XeW+8n9K8M+A4sDroOzgw5Dj0f thoeu29y/+ED/QdDI1oj9x6qPex9pPyo+7Hi464n8k86R+VGb/0h98etMfmxzqcKT2+PK433TKhO 9D3TeDYwqTv54LnR8ydT5lMTL+xevJx2mZ5/6fXy06ugV19fR73enUmaxcxmzlHOFb9hfVP7Vuht 27z8/N13uu9GF2wWZhY9F7+8D3+/t5T6gexD8UeOj02fpD/1Lusvj38+9nnpC+HL7kran1R/VqwK rt78S/Ov0TXHtaWvYV8Pv2V/Z/p+5Yfsj8F1y/U3G8Ebu5uZW0xbjduK2yM7Djsfd6P3cHul+0L7 PQcmB7OHwYeHBPcw959nARTyhH18APh2BYkhnJDYYRwAPPmvmOKnBBKuQIgMglFI5MQBlIEryAEj EAlkAzXAMBwAzyF76yI6DsOJmcBm4syI2Ii2id/hp0jGSV+QLZBvU7JS6VBH0LTQfqIXY4hkHGCm YQlg7Wdn5ojknOQW50nnfcsvK5AuOCXMJeIhWi02Ib4jyS6lKK0joy2rKicmz6yAVfiq+EqpX/mK So5qhJqzupaGsCaDFpHWgfa6zqrust6C/muDCcMRo17j6yYNphfNss2TLCItg6y8rd1tXG2P2TnZ 2zlYOBo6aTkrHZN2ETrOdYLBldwN7bbt/pfHe89XXmPeAz4dvg1+Rf5nA8ID3YMsgtVChEMZCGjC 15NzYY/Cb0ZUR2ZEhUU7nJKMgWPGY6viCPGGp3lOHybMJHYlFSSHnjFJ4U8FqTNnu9IKzp1Oj8vI z7yXtXaeJoc9l/UCbR5JPpS/VbBauFj0sviPkiFkflwrqy+vrqisvFiVUx1/yaNGp5a3jqjua/1c w5PLt69cbixoSmmOaYm4GnktpjWmLfy61w2LdoUOtpuYm99uLXQ+7xq53d3d0lN1p6A36+6Zvph7 wf0uA/qDokOUQxvD8/fHHvSNtD6seJT22P+J9ijd6Kc/hsbqnp4d95swfSY1yfgcer6MeGfndOnL 6Ff2rxVm2GfxsztzX97Mvh2d7313baFu8cb7lQ8Jnzw+B6wkrP71rWUr9PDwp/1JARtQQM6FZ8Ed 5HSnDmVC87AG3IhiRVWhhdEDGE8sJfYR7jyRM7EEnhK/QfIn6ReyPxEPIKESoDagIdCW040xYBjV mWKYu1kO2NTZUzjucxFzGyE+MMi3JSAu6CAUJ1wp0iF6T2xQvFfimmSJVKy0k4ycLLnsR7l++VKF k4oGSuxK68pPVGpUo9RM1XnU9zReanZplWkn6vjpWuop6nMZ4A2+Gr4y6jduNMk1jTI7bq5rIWpJ a3lg9dn6hc2wbbtdtX22Q4yjj5OVs/oxQRdal8Pjn09Mud5za3TP94jz9PQy8ZbxYfGFfT/7Tfh3 BVQGpgT5B1uEyIWyECDC0skHYQ3hiREOkZJRJFFL0f2nymIiYs3jBOJB/KvTHQnZib5J+sliZ9hT GFMZzzKmUZ/Dp0PpmxmrmUtZr7PHzz/I6c29ceFKXlV+SUFpYVVRfXF9SVXphYsJZYHlzhWmlZpV stWCl1hqqGpJ6sjq2RoUL9tfCW6MbopoDmg5cdXymm6rSpvMddEb/O0cHaw3OW6Jdup2ed5O7C5A fKGm99Ldyr6KexX9VQM1g/VDTcM37z96sPKQ7pHqY4cnPqPBfxDGwp9Gj8dNJD1Lm8x9Xjc1Ok39 MuTV2AzlrPKc3ZvAt0nzxe9aFvoXZ5cEPjxbJvsyulrxlfV7wkb8Tvvf9scjkbQYEh2EgHLwFCKF TKACaBFWg2tQZKizaBw6H8OP6cd64ahx94nOEBvimfCrJI9Im8jyyJMpIimDqQKoA2lO0sbTnaXP Z6hlbGcaYp5kece6yrbNAThxiCdguLd5PvNO8nXwZwscFxQQ/CzUIOwiQi3yQDRWTEJsQbxIwlhi X7JDKkCaW/q1TKGsqRxa7o58uIKowqJimZKVMpFyn0qEqrDqvFqRurEGpNGtGaklo/VDu0snTldT D633UP+8gaUhteGUUanxMRNWkznTajN3cy7zBYsGS38rCatN63s26bZWdsx2C/bNDmGOSk7AacT5 /DEbF0aXueO1J/xcJVw33Prcz3mYe9J7znk1eAf6SPls+d71S/E3CiALmAgsDnIO5gh+H9IcGkqQ I2yd7AmLD1cLP4i4F5kUpRkNEI9JjFGNWY9tjLOJ24lvOO2aIJwIJy4m3U9uPJOe4pdqcFYgDZO2 cO5uemGGa6ZQ5nbWRHbH+aqcnNyEC6F5rvkWBeqFIkVMxdjitZLnpTcunitzK9etUKhUrNKqNr3k UONRG1QXVZ/YkHE590pOY2rTyWb3FjdkHaloHb+Ou6HRHtVx7eb7TpYu89sJ3Q09I3e+3pXsO9+P HcgdYhlufCA3MvDI7PHr0bAxvnHGZzbPp6dHZ/GL/n9VHtn/193S0Z6AlQfgoi5AxgYAGxkAcvwB 4EfuOBjwAFiSAWCrBKCRVgDVTQNInPZf+wcH0ELiybPgMhgBy8j+IQZZQCehQqgLmoEOYR7YEA6G C+BueB6FQ0mgHFHJqBbUFBpC4jJndDoSiX3AMCCxVzzmBuYjlh3rgM3HjuHIcOa4PNwrIh4iAtEA MSNxJPELJC5qJKEnOUeyRxpBukoWSPaFPJh8jSKcYoMyhnKfKoUaT11Ew03TQatPO0sXSU9J38pg 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 UX84AAAAAElFTkSuQmCC --=-=-= Content-Type: image/png Content-Disposition: attachment; filename=emacs-comp-correct.png Content-Transfer-Encoding: base64 Content-Description: emacs-comp-correct.png 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 kvq8BpeGu0atxoImj6aX5mXNj1pCWgFaV7VWtSW1w7RvaW/qKOuc1unXReka6GbqjulR69nplem9 0efW99Vv0V8zkDOIM+g3xBiaGOYZThuxGXkaNRmtGSsYnzYeNiE1sTEpM1kwFTYNM+0xg82MzQrM Zs35zEPMuyyAhZFFgcWcpYDlScs7VlgrS6tyqw/WUtbx1iM2NDauNs02G7batrm2M3aCdpF2g/YU 9i72TfabDroO+Q7zjhKOpx2fODE7+TvddsY52ztfdl4/pnes6NiSi5xLmsuL4wLHTx1/dIL5RNCJ u64Uru6uHW4YNwe3Zrc9dwv3Wvd1DyOPCo81Tx3PEs8vXppehV7L3mre+d4ffdR88n0++ar5Fvgu +2n4Ffut+Ov4l/l/DTAMqA7YDLQIvBJ4GOQQ1BZMFOwW3B1CHRIYMhzKHnoqdIIgQkgjzJ9UPll0 ci3MJOxyOBR+PPx2BC1yOByNFIw8G/kuSj2qPGor2j664xTVqZBTozHCMRkxH2P1Yxvi0HGecYPx XPHJ8e9Oa52uSYASPBIGE3kSUxOXkgySGpPxyYHJf5yRPJN/5keKQ0pPKltqUuriWYOzLWnkaWFp 0+dUzlWno9P908cyZDIuZhxkemU+zpLMKs7ay/bMfnxe6nzp+cMcn5yxXPncqgvYCyEXXuRp5DXm U+XH5i8WmBV0FnIWZhb+KHItelQsW1xdgi+JLJkvNS29fZH34oWLe2V+ZVPl2uVtFawVGRWblV6V z6o0q1qr2aqzqncu+V96WWNQ01nLX1tch62LqvtQb18/0qDY0HSZ+XLW5f0rIVfmG60bh5sUmpqa WZtzW+CWyJblqy5Xx6/pXrvdKtZa00bflnUdXI+8/vmG240X7Sbtgx2KHa03+W5W3KK5ldkJdcZ0 rnX5dc3fdro90W3cPdij0nPrjvidK71cveV36e7m9uH7UvsO78XeW+8n9K8M+A4sDroOzgw5Dj0f thoeu29y/+ED/QdDI1oj9x6qPex9pPyo+7Hi464n8k86R+VGb/0h98etMfmxzqcKT2+PK433TKhO 9D3TeDYwqTv54LnR8ydT5lMTL+xevJx2mZ5/6fXy06ugV19fR73enUmaxcxmzlHOFb9hfVP7Vuht 27z8/N13uu9GF2wWZhY9F7+8D3+/t5T6gexD8UeOj02fpD/1Lusvj38+9nnpC+HL7kran1R/VqwK rt78S/Ov0TXHtaWvYV8Pv2V/Z/p+5Yfsj8F1y/U3G8Ebu5uZW0xbjduK2yM7Djsfd6P3cHul+0L7 PQcmB7OHwYeHBPcw959nARTyhH18APh2BYkhnJDYYRwAPPmvmOKnBBKuQIgMglFI5MQBlIEryAEj EAlkAzXAMBwAzyF76yI6DsOJmcBm4syI2Ii2id/hp0jGSV+QLZBvU7JS6VBH0LTQfqIXY4hkHGCm YQlg7Wdn5ojknOQW50nnfcsvK5AuOCXMJeIhWi02Ib4jyS6lKK0joy2rKicmz6yAVfiq+EqpX/mK So5qhJqzupaGsCaDFpHWgfa6zqrust6C/muDCcMRo17j6yYNphfNss2TLCItg6y8rd1tXG2P2TnZ 2zlYOBo6aTkrHZN2ETrOdYLBldwN7bbt/pfHe89XXmPeAz4dvg1+Rf5nA8ID3YMsgtVChEMZCGjC 15NzYY/Cb0ZUR2ZEhUU7nJKMgWPGY6viCPGGp3lOHybMJHYlFSSHnjFJ4U8FqTNnu9IKzp1Oj8vI z7yXtXaeJoc9l/UCbR5JPpS/VbBauFj0sviPkiFkflwrqy+vrqisvFiVUx1/yaNGp5a3jqjua/1c w5PLt69cbixoSmmOaYm4GnktpjWmLfy61w2LdoUOtpuYm99uLXQ+7xq53d3d0lN1p6A36+6Zvph7 wf0uA/qDokOUQxvD8/fHHvSNtD6seJT22P+J9ijd6Kc/hsbqnp4d95swfSY1yfgcer6MeGfndOnL 6Ff2rxVm2GfxsztzX97Mvh2d7313baFu8cb7lQ8Jnzw+B6wkrP71rWUr9PDwp/1JARtQQM6FZ8Ed 5HSnDmVC87AG3IhiRVWhhdEDGE8sJfYR7jyRM7EEnhK/QfIn6ReyPxEPIKESoDagIdCW040xYBjV mWKYu1kO2NTZUzjucxFzGyE+MMi3JSAu6CAUJ1wp0iF6T2xQvFfimmSJVKy0k4ycLLnsR7l++VKF k4oGSuxK68pPVGpUo9RM1XnU9zReanZplWkn6vjpWuop6nMZ4A2+Gr4y6jduNMk1jTI7bq5rIWpJ a3lg9dn6hc2wbbtdtX22Q4yjj5OVs/oxQRdal8Pjn09Mud5za3TP94jz9PQy8ZbxYfGFfT/7Tfh3 BVQGpgT5B1uEyIWyECDC0skHYQ3hiREOkZJRJFFL0f2nymIiYs3jBOJB/KvTHQnZib5J+sliZ9hT GFMZzzKmUZ/Dp0PpmxmrmUtZr7PHzz/I6c29ceFKXlV+SUFpYVVRfXF9SVXphYsJZYHlzhWmlZpV stWCl1hqqGpJ6sjq2RoUL9tfCW6MbopoDmg5cdXymm6rSpvMddEb/O0cHaw3OW6Jdup2ed5O7C5A fKGm99Ldyr6KexX9VQM1g/VDTcM37z96sPKQ7pHqY4cnPqPBfxDGwp9Gj8dNJD1Lm8x9Xjc1Ok39 MuTV2AzlrPKc3ZvAt0nzxe9aFvoXZ5cEPjxbJvsyulrxlfV7wkb8Tvvf9scjkbQYEh2EgHLwFCKF TKACaBFWg2tQZKizaBw6H8OP6cd64ahx94nOEBvimfCrJI9Im8jyyJMpIimDqQKoA2lO0sbTnaXP Z6hlbGcaYp5kece6yrbNAThxiCdguLd5PvNO8nXwZwscFxQQ/CzUIOwiQi3yQDRWTEJsQbxIwlhi X7JDKkCaW/q1TKGsqRxa7o58uIKowqJimZKVMpFyn0qEqrDqvFqRurEGpNGtGaklo/VDu0snTldT D633UP+8gaUhteGUUanxMRNWkznTajN3cy7zBYsGS38rCatN63s26bZWdsx2C/bNDmGOSk7AacT5 /DEbF0aXueO1J/xcJVw33Prcz3mYe9J7znk1eAf6SPls+d71S/E3CiALmAgsDnIO5gh+H9IcGkqQ I2yd7AmLD1cLP4i4F5kUpRkNEI9JjFGNWY9tjLOJ24lvOO2aIJwIJy4m3U9uPJOe4pdqcFYgDZO2 cO5uemGGa6ZQ5nbWRHbH+aqcnNyEC6F5rvkWBeqFIkVMxdjitZLnpTcunitzK9etUKhUrNKqNr3k UONRG1QXVZ/YkHE590pOY2rTyWb3FjdkHaloHb+Ou6HRHtVx7eb7TpYu89sJ3Q09I3e+3pXsO9+P HcgdYhlufCA3MvDI7PHr0bAxvnHGZzbPp6dHZ/GL/n9VHtn/193S0Z6AlQfgoi5AxgYAGxkAcvwB 4EfuOBjwAFiSAWCrBKCRVgDVTQNInPZf+wcH0ELiybPgMhgBy8j+IQZZQCehQqgLmoEOYR7YEA6G C+BueB6FQ0mgHFHJqBbUFBpC4jJndDoSiX3AMCCxVzzmBuYjlh3rgM3HjuHIcOa4PNwrIh4iAtEA MSNxJPELJC5qJKEnOUeyRxpBukoWSPaFPJh8jSKcYoMyhnKfKoUaT11Ew03TQatPO0sXSU9J38pg zrDGWMCkwDTDnMQiyPKMNZFNgm2R/SKHNScZ5xOubG5LHnqet7wtfDH8xgLsAuuC40KtwhdEIkVP iBmLK0kIS3JIMUhTyVDIUsrRyrMqCCjKK5krx6rcVN1Ul9MI1qzXmtNh0nXSq9RfNBQ3Om08Zspt 5mWeY3HJstaqyrrW5o7tqr24Q4RjnzP+mJPL1ROQq7PbLQ8azwiv5z7Svjl+awHHA18H+4WiCOVh 4uF3I02iZk8RYnFxFaeFE64nSSW3p6ikTqYlpMtnbGb1nI/OlbjwIb+68Fgxc8nrixfL7Svpq2Yv NdeerQ+77Nvo1mx5VaWV7zpVO/omppP1tlNPZe/Tvo0BpiHN+z4jmY9an0yNgXG5Z1HPh6apXtnN ZM31vF1eYH1v/SH708jnjZWV1co12q8G3/y+J/04v16x0bLZutW0HbDDtTO8q7nbu6e4V7H3Y99k v3Z/58D0oPBg7pDvMOSw8+f6wYXc8QSCXNABppHdgwPShfyhXOgm9BqGYEHYEj4F18CP4R8oDpQx KgpVh5pAA7QE2hWdhx5Cb2JEMR6YMswklhxrgs3EPsaR4+xwlbhlImWiXKJlYiPiVjwzPosEkMSS bJBGkW6RJZITkRdS8FJ0UZpRLlElUDNS36AxQeLPM3RcdIP0PgzkDLcZvZlomUaY41lkWVZZm9l8 2fnYlziucAZxyXIdco/yVPIS+Az4Ofn3BGYE7wrVCWeJRIv6iDmKm0noSWpJaUhryejLWsg5y/sp xChmK9UpD6h8UKND1p1kzW6tdR1Z3VN6fQZEhg5Gjcb7pjZm9eafLXmsbK1TbLptt+1VHVIcR50Z j/m59JygcPV1G/Tg8EzwmvGR8j3j9yJAJrAimCakiMB8sjKcI6I2SiC6LUY5djBe5/StRMaksOSJ FNXUvjTbcxsZ1Vmm2Zs5ly4Y5a0X1BXZFO+VlpUJll+tFK/qvmRds1fX0RBxRanxoHnoanqr+XX6 G3Md5bdMO1dup/aw3Rm+m3jPfAA5NQyvP3j9cOBx02jBWNS4/sTWZPYU8YuE6c1XOTN6c0xvducX Fp687/pw+VPR59gV8T8vrPb/9XTt6tfEb3rfsd8f/shZt9uQ3aTbwm792B7bqd/V2/2wl7i3vR++ /+eB68HIocRhyU/7CyJ3SomgCUyCA0gIsoOSoWuI7YlgBdgHLoZH4G2UKMoNVYh6jIbRyugIdBt6 BblvCcK0YX5gVbFp2EkcLy4WN4nclJQSY4jjiLfwySQUJLWkysg5M4qcmbyfwp+SlnKYKoZamnqV 5jptFJ0mMrvfM/QyljHFMjuzKLEysm6xzbAPcVzjrOTK587gSeNN5zvPXyJwWbBL6LHwrMiaGFac S0JD0l0qQ/qmzHs5JnlrhQuKk8qMKm6qzWobGoaalVqbOg66PfrcBrlGwPiUyXezMPN1y1hrtE2e nZD9A0d/Z6pjfccJrgJuSx7NXud80v2qAhKC5IPHQr0J+2GVEdqRn6OLY4zi4PiHCVeTSs8QUqXP vj+Xm6GS+Tm7Msf2AmXeREFhkUuJ3EXucr5K7mr0pZHaqHrOhtErcU1izQtXy1ptr1PfeNlx7VZx V0l37h3Pu/R9N/sNBl4O+Q/vPch/KPRo6MmJ0f2x2nHLZ/jJsansadmXfa+lZgpmv7xRf5s//2FB dbHg/ZcPeh8vfdr77PilbeVwVe8v/7XEr+nfTn33/KG6TrM+vVGyqb85txWxtbHttH1nh30neefB Lryrvhu727n7bU98z28vb69nb3GfdF9u//h+2n7b/ssD6EAYmfEhB7kHNw6eHXw/pDuUP3Q8jDks P+w9fHNk/3AfmV8XsBCpNnL9iHDf+QHA5QOwn3d4uFt7eLiP3GmikG8g/UG/vlf83GuQO/cKJDYB 4H7m1tH3i/+U/gPP6oiwbOo6HwAAAAlwSFlzAAALEwAACxMBAJqcGAAABsVJREFUaAXtWXtsU1UY /+6rvV0fY8wuZQoDhjpxMB5uiQwYG+ElGHDBgAYwEkQwGDAL4kgICYZNxQUlRDNZiEYQCBEHZE6Z vCED54RhA5ts2QNXBhNI29v23vU+PLevtestbcH4CD1/3Mfve5zv/M73facPzGazgdLQ6/VKcAIb yAA+EEi8x8lAgsE4CQtTTzAYRkmcQILBOAkLU08wGEZJnECCwTgJC1NPMBhGSZxAgsE4CQtTTzAY RkmcABlJH8MwRZEkSYr4/x0s7GxSXMLJjBxFPADGlINj569ct7IwYBP84L4nWHtj5ZTtFe52CXct YrCH/9KzwN+6yXPxRRQLg6VHqivL31yg6LhnN1Od53IqykLBjl32A3nM0QLmaH5M+qHW/9Cb9dM5 594+HNcOR2dwy/F3MqB3x+trFRdBGTAwQXQvIHXvFukSzdL25NfatUmKvv59kEgt+QKObbaYlX9t UQwwYh/0aY/dsqrIaL+4Y8OVIHOGP/+es7VGoueSJpBgUEAk/b7LeamMZwGSV6gLN9DJsnupab29 2SyxPUCeYY+cYYUMau42DdHGHlnC8YMw0OPGHOitEsgl6jnv04jcG4ccjfsFR4PEm7DUhaqCEjrw M5GzhTv/AWc5JZEmLG01PX2ZyrN5knkTc/NZVdqfbnOFACYsZ48+OxMDXmj60GWuEniA9I30lDfU dCDSSA+pE8e8Cr9tPTZk30Iikk4oHiV7ChfmGwGuXzwRZCVeeNnRWgOjK+kM4DtqAPzru7bJVl/G D96ofr6CclRx1aWstxwGF1Aji2UutTnkiGJqRAGJghNcItMDxldIdYNwowqeLCeZPVynBWlJXdt4 LoPIrqQnLifu7OS+3+n2zu5uYw/OZi3N+LjddM5y3PK5G22Vd7haREspe7lCyixXDckC6x3UmqWm dczlKmFIOT2uhLCUsTV+P34jxTtheGkd1P/ocChKFcAoOWhIQwSyDScOB0zFtr6WZhj+tS53Mg4z Ka7N3mH3CC3cz3sgvVI3Y6a8ecOecBxY1Ne9mR6qw4bO0wzl+a4y3jRfk5PtO+IF2YiatiypcZ+V K6YnLIb2Uv72LfGZdDy/PtnjEV3UqtvW+r1u5xoqCaSr21GTJ2ad1ZlQ1IXq0Uul0P0nZlzTpaM0 W6yRzVk32ua0Cm2RvHnqZM52uoLrXUUZo6wYcL3OP3tM9yj+bFb5kFAHueqzyYmVOswbPKY3AfTI YvaWzIlls7O2DpOfOtHF8yALAXgJlZLgRqkR8iEJKRF64Dn5NEcK3mjsl9jjb3FWj1vZNku+oNHX BuQatUyfZ+B0vyvBjkQqmT7/cHfzDMDjT/lqUTsCBSw6WDDGxE+Drd1myDb4nd3v7g8ngo5B7ksQ cr5TCMA0/spVPeZjEGQckucRBm8CZeD6qZghinvZxDQVuxY8AeM+Vswx08jJu9QpBrDscjT+4j+p 9EAGb6Zs3T9IdT+hCBVc8q4IvgYAqhRZGmNrA8jVD42JPuQzyhJtLMpBetyk+XDYV8gEhUKRejqk TE9MjBk5kQehkUM0vqDJHx+yEo8wjgt73Y1yJ+8jbSbqH+hU+SPElq3xVnQIqPhCD6docPP+rHe0 yjVBRFmu7Ely9aErFoOmd97QTuLFgq4n956+BzDyuYkBjHpalQ7QWu609IqWQ07UE9FAhU1lqkdl QWux3WwWnL2C5Zyrdv2DfO6jh5Mo+JbqPicjduxnLp8KnFRY1moSmt21W9m790RrC3di03396wiT CToWOdu6ROsl9myZBAtVpqAyD6xowIO97jvIytdoB8ARX6MwCFc21LbxxqkLlvR7IKb8oKYb+Lo8 e12JoENNSo95vOD53yQNz5UaX2QO5jF1S/tsNOapbJ+lQv2hHuodsgzzKGCQosrfSFjLXAfH2E+X isn+Jog09IXaInRkV3FHJ9irZ7M32X7/SuWJT/pWkwrCuQJ7dTHH5pKzNqujrRY14/aez66nr50e HLkvyAg3LNJ/dQaDrxGMXVfbtH32rzsWTFwrF7LvezEvOe0SpcepsGxn74kihVGIvjBRhBgUYDcj si6gjbjCSljJjqbW4HRMZwI4e0WBxPSenqMwkx/yfi9mf/r4woru3JbtWv+G/w3fi698MufLi52p 44v8c3nuJJaUokAfktEpeJLuoehDTigdrlekT54AQ6IY6UPqSUY8Kn1IzTM451V21FfvBujz4/e7 R8/BAdaJ32YGEBKRwcQ/7gOYivTq61WBrof0InXGSC4ecdzHYIK1B86D6Of7A7t+RAwTVfywG52o 4odlMFHFD8vgX+euYOALpNO+AAAAAElFTkSuQmCC --=-=-= Content-Type: text/plain I propose the attached patch following your advice i.e. strip faces when used for completion. Could you take a look at it? Thanks. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=mb.diff Content-Description: mb.diff === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2012-01-05 09:46:05 +0000 +++ lisp/minibuffer.el 2012-01-16 09:05:45 +0000 @@ -1180,6 +1180,9 @@ of the differing parts is, by contrast, slightly highlighted." :group 'completion) +(defvar completion-hilit-commonality-p nil + "Internal variable. Bound to t in `minibuffer-completion-help'.") + (defun completion-hilit-commonality (completions prefix-len base-size) (when completions (let ((com-str-len (- prefix-len (or base-size 0)))) @@ -1195,17 +1198,18 @@ (car (setq elem (cons (copy-sequence (car elem)) (cdr elem)))) (setq elem (copy-sequence elem))))) - (put-text-property 0 - ;; If completion-boundaries returns incorrect - ;; values, all-completions may return strings - ;; that don't contain the prefix. - (min com-str-len (length str)) - 'font-lock-face 'completions-common-part - str) - (if (> (length str) com-str-len) - (put-text-property com-str-len (1+ com-str-len) - 'font-lock-face 'completions-first-difference - str))) + (when completion-hilit-commonality-p + (put-text-property 0 + ;; If completion-boundaries returns incorrect + ;; values, all-completions may return strings + ;; that don't contain the prefix. + (min com-str-len (length str)) + 'font-lock-face 'completions-common-part + str) + (if (> (length str) com-str-len) + (put-text-property com-str-len (1+ com-str-len) + 'font-lock-face 'completions-first-difference + str)))) elem) completions) base-size)))) @@ -1314,12 +1318,13 @@ (end (field-end)) (string (field-string)) (md (completion--field-metadata start)) - (completions (completion-all-completions - string - minibuffer-completion-table - minibuffer-completion-predicate - (- (point) (field-beginning)) - md))) + (completions (let ((completion-hilit-commonality-p t)) + (completion-all-completions + string + minibuffer-completion-table + minibuffer-completion-predicate + (- (point) (field-beginning)) + md)))) (message nil) (if (or (null completions) (and (not (consp (cdr completions))) @@ -2411,14 +2416,15 @@ (setq str (copy-sequence str)) (unless (string-match re str) (error "Internal error: %s does not match %s" re str)) - (let ((pos (or (match-beginning 1) (match-end 0)))) - (put-text-property 0 pos - 'font-lock-face 'completions-common-part - str) - (if (> (length str) pos) - (put-text-property pos (1+ pos) - 'font-lock-face 'completions-first-difference - str))) + (when completion-hilit-commonality-p + (let ((pos (or (match-beginning 1) (match-end 0)))) + (put-text-property 0 pos + 'font-lock-face 'completions-common-part + str) + (if (> (length str) pos) + (put-text-property pos (1+ pos) + 'font-lock-face 'completions-first-difference + str)))) str) completions)))) --=-=-= Content-Type: text/plain Another simpler fix is to replace 'font-lock-face with 'face which would then allow the major-mode to override the faces added by completion. Leo --=-=-=--