All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.