git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Lawrence Mitchell <wence@gmx.li>
Cc: "Alexandre Julliard" <julliard@winehq.org>,
	git@vger.kernel.org, "David Kågedal" <davidk@lysator.liu.se>,
	"Kevin Ryde" <user42@zip.com.au>
Subject: Re: [PATCH] git.el: Don't use font-lock-compile-keywords
Date: Sat, 2 Apr 2011 19:19:02 -0500	[thread overview]
Message-ID: <20110403001902.GA25671@elie> (raw)
In-Reply-To: <m3oc501rja.fsf@e4300lm.epcc.ed.ac.uk>

Hi,

Lawrence Mitchell wrote:

> 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
> optional MODE argument to log-edit to set up the major mode of the
> commit buffer appropriately.
>
> Signed-Off-By: Lawrence Mitchell <wence@gmx.li>
> ---
> I sent this before, in response to Johnathan's message of 4th Feb
> (http://thread.gmane.org/gmane.comp.version-control.git/36088/focus=166038),
> but it's possible it got lost in the noise.

Thanks.  This is way beyond my knowledge of emacs; I was just passing
on Kevin's report before.  Kevin, what do you think?  Is it a good
fix?

(For those reading between the lines: why, yes, if you would like to
be maintainer of the contrib/emacs directory, we would be happy to
have you.  When can you start? :))

> So here it is
> again.  The originally proposed patch from Debian is to use
> font-lock-add-keywords rather than font-lock-compile-keywords.
> However, it doesn't exist in XEmacs, if one is looking to
> maintain compatibility, I believe this patch is the right thing
> to do.
>
>  contrib/emacs/git.el |   13 ++++++++++---
>  1 files changed, 10 insertions(+), 3 deletions(-)

Leaving patch unsnipped for reviewers' sake.

Sorry for the slow response,
Jonathan

> 
> 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

  reply	other threads:[~2011-04-03  0:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-04 10:59 [PATCH] git.el: Don't use font-lock-compile-keywords Lawrence Mitchell
2011-04-03  0:19 ` Jonathan Nieder [this message]
2011-04-03 17:44   ` Alexandre Julliard
2011-04-03 19:25     ` Jonathan Nieder
2011-04-03 19:26     ` Junio C Hamano
2011-04-04 23:15   ` Kevin Ryde

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=20110403001902.GA25671@elie \
    --to=jrnieder@gmail.com \
    --cc=davidk@lysator.liu.se \
    --cc=git@vger.kernel.org \
    --cc=julliard@winehq.org \
    --cc=user42@zip.com.au \
    --cc=wence@gmx.li \
    /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).