From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: How to add syntax-highlighting to a Help buffer? Date: Sat, 04 Jul 2015 17:09:03 +0200 Message-ID: <878uaw3qpc.fsf@nl106-137-147.student.uu.se> References: <87si94x1vk.fsf@web.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1436022662 4541 80.91.229.3 (4 Jul 2015 15:11:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 4 Jul 2015 15:11:02 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Jul 04 17:10:53 2015 Return-path: Envelope-to: geh-help-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 1ZBP5f-00072F-82 for geh-help-gnu-emacs@m.gmane.org; Sat, 04 Jul 2015 17:10:51 +0200 Original-Received: from localhost ([::1]:44589 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBP5e-0004Dl-JS for geh-help-gnu-emacs@m.gmane.org; Sat, 04 Jul 2015 11:10:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40792) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBP5L-0004Dg-7E for help-gnu-emacs@gnu.org; Sat, 04 Jul 2015 11:10:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZBP5H-0001hE-0J for help-gnu-emacs@gnu.org; Sat, 04 Jul 2015 11:10:31 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:52195) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBP5G-0001gr-PQ for help-gnu-emacs@gnu.org; Sat, 04 Jul 2015 11:10:26 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1ZBP5F-0006st-8G for help-gnu-emacs@gnu.org; Sat, 04 Jul 2015 17:10:25 +0200 Original-Received: from nl106-137-246.student.uu.se ([130.243.137.246]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 04 Jul 2015 17:10:25 +0200 Original-Received: from embe8573 by nl106-137-246.student.uu.se with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 04 Jul 2015 17:10:25 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Original-Lines: 56 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: nl106-137-246.student.uu.se Mail-Copies-To: never User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) Cancel-Lock: sha1:c3Vx2QvQ0CBFEUAMo5CoPr6OcU8= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:105427 Archived-At: Michael Heerdegen writes: > help-mode doesn't use font-lock. It directly attaches > face text properties to the buffer text. > If font-lock-mode fontifies such a buffer (it > doesn't as long as font-lock-keywords is nil even > when it is active), all face text properties get > ignored by the display engine. Yes, however that doesn't mean we can't use it the same way we are used to. See the below solution. One question is, why doesn't help-mode do this the customary way? > Note that there is a font-lock-face text property > existing as well. Yes - see line 17 in the source below, in the original file. It is set to nil. Here is is a dump that shows this works: http://user.it.uu.se/~embe8573/dumps/color-help.png Here is the source that does it: http://user.it.uu.se/~embe8573/conf/emacs-init/help-font-lock.el Here is the source that does it, only yanked: (defvar help-font-lock-keywords '( ("interactive" . 'font-lock-regexp-grouping-backslash) ("autoloaded" . font-lock-function-name-face) ("compiled" . font-lock-doc-face) ("Lisp" . font-lock-variable-name-face) ("function" . font-lock-builtin-face) )) (defun help-custom-font-lock () (interactive) (let ((font-lock-unfontify-region-function (lambda (start end) (remove-text-properties (point-min) (point-max) '(font-lock-face nil))))) (font-lock-unfontify-buffer) (set (make-local-variable 'font-lock-defaults) '(help-font-lock-keywords t)) (font-lock-fontify-buffer))) (add-hook 'help-mode-hook 'help-custom-font-lock) -- underground experts united http://user.it.uu.se/~embe8573