From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Rodgers Newsgroups: gmane.emacs.help Subject: Re: setnu.el / setnu+.el Date: Wed, 21 Dec 2005 10:11:52 -0700 Message-ID: References: <87mzivyqgx.fsf@gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1135191216 21033 80.91.229.2 (21 Dec 2005 18:53:36 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 21 Dec 2005 18:53:36 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 21 19:53:34 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Ep92k-0004EF-FC for geh-help-gnu-emacs@m.gmane.org; Wed, 21 Dec 2005 19:50:30 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ep93h-0007ss-Rv for geh-help-gnu-emacs@m.gmane.org; Wed, 21 Dec 2005 13:51:29 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ep7dE-0005GG-1i for help-gnu-emacs@gnu.org; Wed, 21 Dec 2005 12:20:04 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ep7d9-00059V-VW for help-gnu-emacs@gnu.org; Wed, 21 Dec 2005 12:20:02 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ep7d8-00058S-Oy for help-gnu-emacs@gnu.org; Wed, 21 Dec 2005 12:19:59 -0500 Original-Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1Ep7gS-0007IR-TA for help-gnu-emacs@gnu.org; Wed, 21 Dec 2005 12:23:25 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Ep7WP-0007qo-1o for help-gnu-emacs@gnu.org; Wed, 21 Dec 2005 18:13:01 +0100 Original-Received: from 207.167.42.60 ([207.167.42.60]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 21 Dec 2005 18:13:01 +0100 Original-Received: from ihs_4664 by 207.167.42.60 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 21 Dec 2005 18:13:01 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: help-gnu-emacs@gnu.org Original-Lines: 54 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 207.167.42.60 User-Agent: Mozilla Thunderbird 0.9 (X11/20041105) X-Accept-Language: en-us, en In-Reply-To: X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:32138 Archived-At: Drew Adams wrote: > Is there a way to have line numbers > go unaffected by highlighting? > > Could you elaborate? Do you see highlighted line numbers? > > Yes, my line numbers have the same highlighting as > the adjacent code. > > I just checked in Emacs 22, and you're right. However, in Emacs 20, the line > numbers are not highlighted. I wrote setnu+.el, which is a only minor tweak > of setnu.el, but I don't know enough to help you here. I believe that this > is the code, in setnu.el, that is in question: > > (defun setnu-set-glyph-face (g face) > (put-text-property 0 (length g) 'face face g)) > > This code is intended to impose the given face (just bold, by default) on > the line-number overlay text. It does that correctly, but I guess it does > not also remove other text properties that might be on the same overlay > (imposed by font-locking). > > It appears that if the newline at the end of a line is fontified (matches a > regexp that imposes fontification), then the line-number overlay is > fontified in the same way. Each overlay has its before-string property set to the fontified string returned by setnu-set-glyph-face. That string is intended to be displayed before the overlay, which starts at the beginning of the line and ends after the newline (i.e. at the beginning of the next line). I don't know what change in Emacs 22 causes the before-string to inherit properties from the adjacent text, but according to the Overlay Properties node of the Emacs Lisp manual, all overlays take priority over text properties. So maybe it would work to set the overlay's face property in setnu-make-setnu-extent: (setnu-set-extent-property e 'face nil) ; or 'default > At first I thought it might be the new `font-lock-face' property that is > supplying the fontification, because that wouldn't be cancelled just by > adding a `face' property. So I tried adding this to the code above: > > (put-text-property 0 (length g) 'font-lock-face nil g) > > But that had no visible effect. I think that someone who knows either the > setnu.el code or the font-lock mechanisms or overlays better than I will > have to help you. Sorry. I don't know any better than you, but my guess is that the overlay needs to be modified, not it's before-string. -- Kevin Rodgers