From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.help Subject: Re: Font-Locking for Allout Mode Date: Fri, 09 Mar 2007 12:28:15 +0100 Message-ID: <87vehabqr4.fsf@escher.local.home> References: <87mz2o3jib.fsf@baldur.tsdh.de> <877itrn86x.fsf@baldur.tsdh.de> <87tzwvlmad.fsf@baldur.tsdh.de> <87k5xrl3xp.fsf@baldur.tsdh.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1173439750 18406 80.91.229.12 (9 Mar 2007 11:29:10 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 9 Mar 2007 11:29:10 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Mar 09 12:29:06 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HPdHV-0000Iy-2n for geh-help-gnu-emacs@m.gmane.org; Fri, 09 Mar 2007 12:29:05 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HPdHm-0004S9-QM for geh-help-gnu-emacs@m.gmane.org; Fri, 09 Mar 2007 06:29:22 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HPdHY-0004OL-SQ for help-gnu-emacs@gnu.org; Fri, 09 Mar 2007 06:29:08 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HPdHX-0004Mi-9Q for help-gnu-emacs@gnu.org; Fri, 09 Mar 2007 06:29:08 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HPdHX-0004Mf-5C for help-gnu-emacs@gnu.org; Fri, 09 Mar 2007 06:29:07 -0500 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1HPdHC-0007id-Vz for help-gnu-emacs@gnu.org; Fri, 09 Mar 2007 06:28:47 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1HPdGp-0007C1-C2 for help-gnu-emacs@gnu.org; Fri, 09 Mar 2007 12:28:23 +0100 Original-Received: from i577bc629.versanet.de ([87.123.198.41]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 09 Mar 2007 12:28:23 +0100 Original-Received: from Stephen.Berman by i577bc629.versanet.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 09 Mar 2007 12:28:23 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 66 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: i577bc629.versanet.de User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.93 (gnu/linux) X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4) 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:41824 Archived-At: On Fri, 09 Mar 2007 00:18:42 +0100 Tassilo Horn wrote: > Stephen Berman writes: > >> Try saving the following as `allout-test.txt'; I would be surprised, >> and mystified, if you still don't see the fontification. >> >> * test >> .. test >> test >> . , test >> test >> . . test >> . , test >> . . test >> test >> . , test >> . . test >> . , test >> >> * file local variables list >> Local variables: >> allout-layout: (+ :) >> mode: allout >> End: > > Wow, it works! And really, the "mode: allout" is required. But it still > doesn't work with emacs lisp files regardless of the presence of the > "mode: allout"... Our discussion convinced me that the code from the Emacs wiki wasn't playing well with Emacs lisp mode, so I fiddled with it and came up with a variant that works in Emacs lisp mode. Replace your th-allout-font-lock-keywords with the following: (defvar th-allout-font-lock-keywords '((eval . (list (concat "^\\(?:" allout-regexp "\\).+") 0 '(cond ((= (allout-depth) 1) '(1 . font-lock-function-name-face)) ((= (allout-depth) 2) '(2 . font-lock-variable-name-face)) ((= (allout-depth) 3) '(3 . font-lock-keyword-face)) ((= (allout-depth) 4) '(4 . font-lock-builtin-face)) ((= (allout-depth) 5) '(5 . font-lock-comment-face)) ((= (allout-depth) 6) '(6 . font-lock-constant-face)) ((= (allout-depth) 7) '(7 . font-lock-type-face)) ((= (allout-depth) 8) '(8 . font-lock-string-face)) (t font-lock-warning-face)) t nil))) "Additional expressions to highlight in Allout mode.") I still don't understand why the other version doesn't work with Emacs lisp mode while the above does. Another puzzling thing is that with the above, allout fontification works in Emacs lisp mode even without the file local variable "mode: allout"; however, in text mode that file local variable is still needed to get the allout fontification. So there are still some problems with the code, but we've made progress. :-) Steve Berman