From: Lawrence Mitchell <wence@gmx.li>
To: git@vger.kernel.org
Cc: "Kevin Ryde" <user42@zip.com.au>,
"David Kågedal" <davidk@lysator.liu.se>,
"Jonathan Nieder" <jrnieder@gmail.com>,
"Alexandre Julliard" <julliard@winehq.org>
Subject: Re: [BUG?] git.el: M-x git-commit-file produces error if font lock is disabled
Date: Fri, 04 Feb 2011 11:40:18 +0000 [thread overview]
Message-ID: <pvhpbp2s58pp.fsf@gmx.li> (raw)
In-Reply-To: 20110204001016.GC16688@elie
Jonathan Nieder wrote:
> Hi,
> Kevin Ryde reports[1]:
[...] bug in git.el
> and suggests a patch[2]. Does it make sense?
font-lock-add-keywords isn't supported in the stable Xemacs
version (21.4). But really, we don't want to /add/ keywords, but
set up our own, so we should define a major mode appropriately
and use that in log-edit. Something like the patch below, I think.
>From 6333cd09f1a921757680f1376eeb0a6389d75449 Mon Sep 17 00:00:00 2001
From: Lawrence Mitchell <wence@gmx.li>
Date: Fri, 4 Feb 2011 10:59:18 +0000
Subject: [PATCH] git.el: Don't use font-lock-compile-keywords
If font-lock is disabled, font-lock-compile-keywords complains.
Really what we want to do is to replace log-edit's font-lock
definitions with our own, so define a major mode deriving from
log-edit and set up font-lock-defaults there. We then use the option
MODE argument to log-edit to set up the major mode of the commit
buffer appropriately.
Signed-Off-By: Lawrence Mitchell <wence@gmx.li>
---
contrib/emacs/git.el | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el
index 214930a..65c95d9 100644
--- a/contrib/emacs/git.el
+++ b/contrib/emacs/git.el
@@ -1310,6 +1310,13 @@ The FILES list must be sorted."
(when sign-off (git-append-sign-off committer-name committer-email)))
buffer))
+(define-derived-mode git-log-edit-mode log-edit-mode "Git-Log-Edit"
+ "Major mode for editing git log messages.
+
+Set up git-specific `font-lock-keywords' for `log-edit-mode'."
+ (set (make-local-variable 'font-lock-defaults)
+ '(git-log-edit-font-lock-keywords t t)))
+
(defun git-commit-file ()
"Commit the marked file(s), asking for a commit message."
(interactive)
@@ -1335,9 +1342,9 @@ The FILES list must be sorted."
(git-setup-log-buffer buffer (git-get-merge-heads) author-name author-email subject date))
(if (boundp 'log-edit-diff-function)
(log-edit 'git-do-commit nil '((log-edit-listfun . git-log-edit-files)
- (log-edit-diff-function . git-log-edit-diff)) buffer)
- (log-edit 'git-do-commit nil 'git-log-edit-files buffer))
- (setq font-lock-keywords (font-lock-compile-keywords git-log-edit-font-lock-keywords))
+ (log-edit-diff-function . git-log-edit-diff)) buffer 'git-log-edit-mode)
+ (log-edit 'git-do-commit nil 'git-log-edit-files buffer
+ 'git-log-edit-mode))
(setq paragraph-separate (concat (regexp-quote git-log-msg-separator) "$\\|Author: \\|Date: \\|Merge: \\|Signed-off-by: \\|\f\\|[ ]*$"))
(setq buffer-file-coding-system coding-system)
(re-search-forward (regexp-quote (concat git-log-msg-separator "\n")) nil t))))
--
1.7.4.rc2.18.gb20e9
prev parent reply other threads:[~2011-02-04 11:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-06 13:46 [PATCH] git.el: Avoid setting font lock keywords before entering log-edit mode Alexandre Julliard
2011-02-04 0:10 ` [BUG?] git.el: M-x git-commit-file produces error if font lock is disabled Jonathan Nieder
2011-02-04 11:40 ` Lawrence Mitchell [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pvhpbp2s58pp.fsf@gmx.li \
--to=wence@gmx.li \
--cc=davidk@lysator.liu.se \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=julliard@winehq.org \
--cc=user42@zip.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).