Subject: bug#32012: 27.0.50; jit-lock--run-functions broken

From: Eli Zaretskii <[email-masked]>
Date: Sat, 30 Jun 2018 13:57:51 +0300

> Cc: [email-masked]
> From: Andreas Röhler <[email-masked]>
> Date: Sat, 30 Jun 2018 08:54:49 +0200
> 
> On 30.06.2018 08:34, Eli Zaretskii wrote:
> >> From: Andreas Röhler <[email-masked]>
> >> Date: Fri, 29 Jun 2018 22:16:55 +0200
> >>
> >> Running into it from ert-tests which call ‘jit-lock-fontify-now’
> >>
> >> When reproduced from emacs -Q in scratch-buffer:
> >>
> >> Debugger entered--Lisp error: (wrong-number-of-arguments (2 . 2) 0)
> >>     jit-lock--run-functions()
> >>     eval((jit-lock--run-functions) nil)
> >>     elisp--eval-last-sexp(nil)
> >>     eval-last-sexp(nil)
> >>     funcall-interactively(eval-last-sexp nil)
> >>     call-interactively(eval-last-sexp nil nil)
> >>     command-execute(eval-last-sexp)
> > 
> > Why did you think you can call that function tis way?
> > 
> 
> Hmm, by looking at its signature
> 
> (defun jit-lock-fontify-now (&optional start end)
> 
> Why that shouldn't work?

That's not what the backtrace suggests.  It suggests that you invoked
jit-lock--run-functions via eval-last-sexp.

> Coming here because when using font-lock-fontify-buffer in ert-tests, 
> get a warning for interactive use only. Should use font-lock-ensure.
> But font-lock-ensure isn't known from ert.

I don't know what that means.  Which ert-tests are you talking about,
and how did you run them?  And what does that have to do with invoking
the function via eval-last-sexp?

> Maybe another bug?

I think any bug in jit-lock would have been reported long ago, since
that package is constantly used by the display engine since Emacs 21.