* master c430f7e breaks diff-mode fontification
[not found] ` <20160623212913.536AF220129@vcs.savannah.gnu.org>
@ 2016-06-27 9:22 ` Stephen Berman
2016-06-27 15:01 ` Stephen Berman
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Berman @ 2016-06-27 9:22 UTC (permalink / raw)
To: emacs-devel; +Cc: Mark Oteiza
This change breaks diff-mode fontification:
> branch: master
> commit c430f7e23fc2c22f251ace4254e37dea1452dfc3
> Author: Mark Oteiza <mvoteiza@udel.edu>
> Commit: Mark Oteiza <mvoteiza@udel.edu>
>
> Remove some face aliases obsoleted in 22.1
To reproduce (after git pull and make bootstrap):
0. emacs -Q
1. C-x v L RET <path to emacs master git root> RET
2. In the *vc-change-log* buffer type `d' on one of the entries.
=> The diff displayed in the *vc-diff* buffer lack the expected faces on
the removed and added lines, and the *Messages* buffer contains these
messages:
Error during redisplay: (jit-lock-function 1) signaled (void-variable diff-hunk-header)
Error during redisplay: (jit-lock-function 501) signaled (void-variable diff-removed)
Error during redisplay: (jit-lock-function 1001) signaled (void-variable diff-hunk-header)
Error during redisplay: (jit-lock-function 1501) signaled (void-variable diff-context)
If prior to step 1 above I evaluate the file diff-mode.el from emacs-25
(i.e. the version before the above commit), then after 2 the *vc-diff*
buffer is fontified as expected and there no such error messages in *Messages*.
Steve Berman
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master c430f7e breaks diff-mode fontification
2016-06-27 9:22 ` master c430f7e breaks diff-mode fontification Stephen Berman
@ 2016-06-27 15:01 ` Stephen Berman
2016-06-27 20:58 ` Mark Oteiza
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Berman @ 2016-06-27 15:01 UTC (permalink / raw)
To: emacs-devel; +Cc: Mark Oteiza
On Mon, 27 Jun 2016 11:22:50 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
> This change breaks diff-mode fontification:
>
>> branch: master
>> commit c430f7e23fc2c22f251ace4254e37dea1452dfc3
>> Author: Mark Oteiza <mvoteiza@udel.edu>
>> Commit: Mark Oteiza <mvoteiza@udel.edu>
>>
>> Remove some face aliases obsoleted in 22.1
>
> To reproduce (after git pull and make bootstrap):
>
> 0. emacs -Q
> 1. C-x v L RET <path to emacs master git root> RET
> 2. In the *vc-change-log* buffer type `d' on one of the entries.
> => The diff displayed in the *vc-diff* buffer lack the expected faces on
> the removed and added lines, and the *Messages* buffer contains these
> messages:
> Error during redisplay: (jit-lock-function 1) signaled (void-variable
> diff-hunk-header)
> Error during redisplay: (jit-lock-function 501) signaled (void-variable diff-removed)
> Error during redisplay: (jit-lock-function 1001) signaled (void-variable
> diff-hunk-header)
> Error during redisplay: (jit-lock-function 1501) signaled (void-variable diff-context)
>
> If prior to step 1 above I evaluate the file diff-mode.el from emacs-25
> (i.e. the version before the above commit), then after 2 the *vc-diff*
> buffer is fontified as expected and there no such error messages in *Messages*.
The following patch fixes the breakage. (I haven't yet gone through the
other files changed by commit c430f7e to see if there are similar
problems.)
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 43ff9e0..58498cb 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -371,22 +371,22 @@ diff-use-changed-face
(defvar diff-font-lock-keywords
`((,(concat "\\(" diff-hunk-header-re-unified "\\)\\(.*\\)$")
- (1 diff-hunk-header) (6 diff-function))
+ (1 'diff-hunk-header) (6 'diff-function))
("^\\(\\*\\{15\\}\\)\\(.*\\)$" ;context
- (1 diff-hunk-header) (2 diff-function))
- ("^\\*\\*\\* .+ \\*\\*\\*\\*". diff-hunk-header) ;context
- (,diff-context-mid-hunk-header-re . diff-hunk-header) ;context
- ("^[0-9,]+[acd][0-9,]+$" . diff-hunk-header) ;normal
- ("^---$" . diff-hunk-header) ;normal
+ (1 'diff-hunk-header) (2 'diff-function))
+ ("^\\*\\*\\* .+ \\*\\*\\*\\*". 'diff-hunk-header) ;context
+ (,diff-context-mid-hunk-header-re . 'diff-hunk-header) ;context
+ ("^[0-9,]+[acd][0-9,]+$" . 'diff-hunk-header) ;normal
+ ("^---$" . 'diff-hunk-header) ;normal
;; For file headers, accept files with spaces, but be careful to rule
;; out false-positives when matching hunk headers.
("^\\(---\\|\\+\\+\\+\\|\\*\\*\\*\\) \\([^\t\n]+?\\)\\(?:\t.*\\| \\(\\*\\*\\*\\*\\|----\\)\\)?\n"
- (0 diff-header)
- (2 (if (not (match-end 3)) diff-file-header) prepend))
+ (0 'diff-header)
+ (2 (if (not (match-end 3)) 'diff-file-header) prepend))
("^\\([-<]\\)\\(.*\n\\)"
- (1 diff-indicator-removed-face) (2 diff-removed))
+ (1 diff-indicator-removed-face) (2 'diff-removed))
("^\\([+>]\\)\\(.*\n\\)"
- (1 diff-indicator-added-face) (2 diff-added))
+ (1 diff-indicator-added-face) (2 'diff-added))
("^\\(!\\)\\(.*\n\\)"
(1 (if diff-use-changed-face
diff-indicator-changed-face
@@ -399,20 +399,20 @@ diff-font-lock-keywords
diff-indicator-added-face
diff-indicator-removed-face)))))
(2 (if diff-use-changed-face
- diff-changed
+ 'diff-changed
;; Otherwise, use the same method as above.
(save-match-data
(let ((limit (save-excursion (diff-beginning-of-hunk))))
(if (save-excursion (re-search-backward diff-context-mid-hunk-header-re limit t))
- diff-added
- diff-removed))))))
+ 'diff-added
+ 'diff-removed))))))
("^\\(?:Index\\|revno\\): \\(.+\\).*\n"
- (0 diff-header) (1 diff-index prepend))
- ("^Only in .*\n" . diff-nonexistent)
+ (0 'diff-header) (1 'diff-index prepend))
+ ("^Only in .*\n" . 'diff-nonexistent)
("^\\(#\\)\\(.*\\)"
(1 font-lock-comment-delimiter-face)
(2 font-lock-comment-face))
- ("^[^-=+*!<>#].*\n" (0 diff-context))))
+ ("^[^-=+*!<>#].*\n" (0 'diff-context))))
(defconst diff-font-lock-defaults
'(diff-font-lock-keywords t nil nil nil (font-lock-multiline . nil)))
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: master c430f7e breaks diff-mode fontification
2016-06-27 15:01 ` Stephen Berman
@ 2016-06-27 20:58 ` Mark Oteiza
2016-06-27 21:32 ` Stephen Berman
0 siblings, 1 reply; 5+ messages in thread
From: Mark Oteiza @ 2016-06-27 20:58 UTC (permalink / raw)
To: Stephen Berman; +Cc: emacs-devel
On 27/06/16 at 05:01pm, Stephen Berman wrote:
> On Mon, 27 Jun 2016 11:22:50 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
>
> > This change breaks diff-mode fontification:
> >
> >> branch: master
> >> commit c430f7e23fc2c22f251ace4254e37dea1452dfc3
> >> Author: Mark Oteiza <mvoteiza@udel.edu>
> >> Commit: Mark Oteiza <mvoteiza@udel.edu>
> >>
> >> Remove some face aliases obsoleted in 22.1
> >
> > To reproduce (after git pull and make bootstrap):
> >
> > 0. emacs -Q
> > 1. C-x v L RET <path to emacs master git root> RET
> > 2. In the *vc-change-log* buffer type `d' on one of the entries.
> > => The diff displayed in the *vc-diff* buffer lack the expected faces on
> > the removed and added lines, and the *Messages* buffer contains these
> > messages:
> > Error during redisplay: (jit-lock-function 1) signaled (void-variable
> > diff-hunk-header)
> > Error during redisplay: (jit-lock-function 501) signaled (void-variable diff-removed)
> > Error during redisplay: (jit-lock-function 1001) signaled (void-variable
> > diff-hunk-header)
> > Error during redisplay: (jit-lock-function 1501) signaled (void-variable diff-context)
> >
> > If prior to step 1 above I evaluate the file diff-mode.el from emacs-25
> > (i.e. the version before the above commit), then after 2 the *vc-diff*
> > buffer is fontified as expected and there no such error messages in *Messages*.
>
> The following patch fixes the breakage. (I haven't yet gone through the
> other files changed by commit c430f7e to see if there are similar
> problems.)
Thanks, applied. It's clear to me now why this broke, so I'll have
a closer look as well.
> <snip>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master c430f7e breaks diff-mode fontification
2016-06-27 20:58 ` Mark Oteiza
@ 2016-06-27 21:32 ` Stephen Berman
2016-06-28 8:25 ` martin rudalics
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Berman @ 2016-06-27 21:32 UTC (permalink / raw)
To: Mark Oteiza; +Cc: emacs-devel
On Mon, 27 Jun 2016 16:58:28 -0400 Mark Oteiza <mvoteiza@udel.edu> wrote:
> On 27/06/16 at 05:01pm, Stephen Berman wrote:
>>
>> The following patch fixes the breakage. (I haven't yet gone through the
>> other files changed by commit c430f7e to see if there are similar
>> problems.)
>
> Thanks, applied. It's clear to me now why this broke, so I'll have
> a closer look as well.
Thanks.
Steve Berman
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master c430f7e breaks diff-mode fontification
2016-06-27 21:32 ` Stephen Berman
@ 2016-06-28 8:25 ` martin rudalics
0 siblings, 0 replies; 5+ messages in thread
From: martin rudalics @ 2016-06-28 8:25 UTC (permalink / raw)
To: Stephen Berman, Mark Oteiza; +Cc: emacs-devel
>> Thanks, applied. It's clear to me now why this broke, so I'll have
>> a closer look as well.
>
> Thanks.
And thanks to you for the fix.
martin
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-06-28 8:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20160623212912.4921.57688@vcs.savannah.gnu.org>
[not found] ` <20160623212913.536AF220129@vcs.savannah.gnu.org>
2016-06-27 9:22 ` master c430f7e breaks diff-mode fontification Stephen Berman
2016-06-27 15:01 ` Stephen Berman
2016-06-27 20:58 ` Mark Oteiza
2016-06-27 21:32 ` Stephen Berman
2016-06-28 8:25 ` martin rudalics
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
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.