From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: compile.el underlining Date: Fri, 17 Jun 2005 10:58:38 -0400 Message-ID: Reply-To: rms@gnu.org NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1119020201 16293 80.91.229.2 (17 Jun 2005 14:56:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 17 Jun 2005 14:56:41 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jun 17 16:56:39 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DjIFt-0000EC-Ge for ged-emacs-devel@m.gmane.org; Fri, 17 Jun 2005 16:55:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DjILW-0006Ug-Nb for ged-emacs-devel@m.gmane.org; Fri, 17 Jun 2005 11:01:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DjIJj-0005Sm-Qo for emacs-devel@gnu.org; Fri, 17 Jun 2005 10:59:36 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DjIJh-0005Rm-W7 for emacs-devel@gnu.org; Fri, 17 Jun 2005 10:59:34 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DjIJh-0005RI-RR for emacs-devel@gnu.org; Fri, 17 Jun 2005 10:59:33 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DjIL6-0002YK-4r for emacs-devel@gnu.org; Fri, 17 Jun 2005 11:01:00 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1DjIIo-0001ri-0e; Fri, 17 Jun 2005 10:58:38 -0400 Original-To: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:39029 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:39029 Here's a patch to make compile.el underline the file names and line numbers and column numbers. Please try this and tell me what you think. There is surely a more elegant way to do this which does not involve making so many new faces; someone who knows better how to set up font-lock-keywords, might give that a try. *** compile.el 12 Jun 2005 06:10:07 -0400 1.362 --- compile.el 16 Jun 2005 22:04:13 -0400 *************** *** 493,517 **** ;; backward-compatibility alias (put 'compilation-info-face 'face-alias 'compilation-info) (defvar compilation-message-face nil "Face name to use for whole messages. Faces `compilation-error-face', `compilation-warning-face', `compilation-info-face', `compilation-line-face' and `compilation-column-face' get prepended to this, when applicable.") ! (defvar compilation-error-face 'font-lock-warning-face "Face name to use for file name in error messages.") ! (defvar compilation-warning-face 'compilation-warning "Face name to use for file name in warning messages.") ! (defvar compilation-info-face 'compilation-info "Face name to use for file name in informational messages.") ! (defvar compilation-line-face 'font-lock-variable-name-face "Face name to use for line number in message.") ! (defvar compilation-column-face 'font-lock-type-face "Face name to use for column number in message.") ;; same faces as dired uses --- 493,552 ---- ;; backward-compatibility alias (put 'compilation-info-face 'face-alias 'compilation-info) + (defface compilation-error-file-name + '((default :inherit font-lock-warning-face) + (((supports :underline t)) :underline t)) + "Face for displaying file names in compilation errors." + :group 'font-lock-highlighting-faces + :version "22.1") + + (defface compilation-warning-file-name + '((default :inherit font-lock-warning-face) + (((supports :underline t)) :underline t)) + "Face for displaying file names in compilation errors." + :group 'font-lock-highlighting-faces + :version "22.1") + + (defface compilation-info-file-name + '((default :inherit compilation-info) + (((supports :underline t)) :underline t)) + "Face for displaying file names in compilation errors." + :group 'font-lock-highlighting-faces + :version "22.1") + + (defface compilation-line-number + '((default :inherit font-lock-variable-name-face) + (((supports :underline t)) :underline t)) + "Face for displaying file names in compilation errors." + :group 'font-lock-highlighting-faces + :version "22.1") + + (defface compilation-column-number + '((default :inherit font-lock-type-face) + (((supports :underline t)) :underline t)) + "Face for displaying file names in compilation errors." + :group 'font-lock-highlighting-faces + :version "22.1") + (defvar compilation-message-face nil "Face name to use for whole messages. Faces `compilation-error-face', `compilation-warning-face', `compilation-info-face', `compilation-line-face' and `compilation-column-face' get prepended to this, when applicable.") ! (defvar compilation-error-face 'compilation-error-file-name "Face name to use for file name in error messages.") ! (defvar compilation-warning-face 'compilation-warning-file-name "Face name to use for file name in warning messages.") ! (defvar compilation-info-face 'compilation-info-file-name "Face name to use for file name in informational messages.") ! (defvar compilation-line-face 'compilation-line-number "Face name to use for line number in message.") ! (defvar compilation-column-face 'compilation-column-number "Face name to use for column number in message.") ;; same faces as dired uses *************** *** 1342,1349 **** (force-mode-line-update) (if (and opoint (< opoint omax)) (goto-char opoint)) ! (if compilation-finish-function ! (funcall compilation-finish-function (current-buffer) msg)) (let ((functions compilation-finish-functions)) (while functions (funcall (car functions) (current-buffer) msg) --- 1377,1385 ---- (force-mode-line-update) (if (and opoint (< opoint omax)) (goto-char opoint)) ! (with-no-warnings ! (if compilation-finish-function ! (funcall compilation-finish-function (current-buffer) msg))) (let ((functions compilation-finish-functions)) (while functions (funcall (car functions) (current-buffer) msg)