From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.bugs Subject: bug#11068: 24.0.94; Face-remapped background does not extend to end of window Date: Sun, 25 Mar 2012 11:01:17 +0800 Message-ID: <87mx75z8n6.fsf@gnu.org> References: <1BE52A40-0403-433F-8164-DFDBD6771F80@gmail.com> <83ty1fvc28.fsf@gnu.org> <83obrmtbsy.fsf@gnu.org> <87ty1ekrqy.fsf@gnu.org> <83ehsit63e.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1332644590 17824 80.91.229.3 (25 Mar 2012 03:03:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 25 Mar 2012 03:03:10 +0000 (UTC) Cc: darthandrus@gmail.com, 11068@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Mar 25 05:03:09 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SBdjY-0008Ok-G6 for geb-bug-gnu-emacs@m.gmane.org; Sun, 25 Mar 2012 05:03:08 +0200 Original-Received: from localhost ([::1]:44154 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SBdjX-0002XD-O3 for geb-bug-gnu-emacs@m.gmane.org; Sat, 24 Mar 2012 23:03:07 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57643) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SBdjU-0002Wm-RH for bug-gnu-emacs@gnu.org; Sat, 24 Mar 2012 23:03:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SBdjT-0000P8-1X for bug-gnu-emacs@gnu.org; Sat, 24 Mar 2012 23:03:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:58718) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SBdjS-0000Od-UZ for bug-gnu-emacs@gnu.org; Sat, 24 Mar 2012 23:03:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SBeDS-00028Q-Ha for bug-gnu-emacs@gnu.org; Sat, 24 Mar 2012 23:34:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Mar 2012 03:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11068 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11068-submit@debbugs.gnu.org id=B11068.13326463928141 (code B ref 11068); Sun, 25 Mar 2012 03:34:02 +0000 Original-Received: (at 11068) by debbugs.gnu.org; 25 Mar 2012 03:33:12 +0000 Original-Received: from localhost ([127.0.0.1]:37317 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SBeCc-00027E-Ld for submit@debbugs.gnu.org; Sat, 24 Mar 2012 23:33:12 -0400 Original-Received: from fencepost.gnu.org ([208.118.235.10]:54656) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SBeC2-00026D-Su for 11068@debbugs.gnu.org; Sat, 24 Mar 2012 23:33:08 -0400 Original-Received: from bb121-6-68-206.singnet.com.sg ([121.6.68.206]:36259 helo=ulysses) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1SBdhx-00025B-S0; Sat, 24 Mar 2012 23:01:30 -0400 In-Reply-To: <83ehsit63e.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 24 Mar 2012 16:40:37 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) 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:58110 Archived-At: Eli Zaretskii writes: >> This looks a bit strange. Why is DEFAULT_FACE_ID handled specially >> here? > > In my testing, I didn't see the need to do it even for the default > face, because it->face_id is already set to the ID of the remapped > face. So it's just me being paranoiac. I'd just leave that bit out. Also, in this hunk @@ -18173,7 +18173,12 @@ it->len = 1; if (default_face_p) - it->face_id = DEFAULT_FACE_ID; + { + if (NILP (Vface_remapping_alist)) + it->face_id = DEFAULT_FACE_ID; + else + it->face_id = lookup_basic_face (it->f, DEFAULT_FACE_ID); + } else if (it->face_before_selective_p) it->face_id = it->saved_face_id; face = FACE_FROM_ID (it->f, it->face_id); You should call lookup_basic_face without the surrounding if statement, because lookup_basic_face returns its second arg immediately if face-remapping-alist is nil, making the extra check redundant. And here + if (row->reversed_p + || lookup_basic_face (it->f, DEFAULT_FACE_ID) != DEFAULT_FACE_ID) shouldn't you just compare default_face->id to DEFAULT_FACE_ID instead of making another lookup_basic_face call? With these changes, the patch seems pretty safe; even if something screws up, it will only affect how remapped faces extend to the end of the buffer, which was broken before anyway. So feel free to commit.