Subject: Re: bug#52297: 29.0.50; Error in c-force-redisplay timer

From: martin rudalics <[email-masked]>
Date: Wed, 9 Feb 2022 09:45:16 +0100

reopen 52297
quit

 > Eli or Martin, is this bug still showing itself?  If so, would it be
 > possible to give a more exact recipe to reproduce it (though I'm aware
 > the answer to this question is probably no).

With emacs -Q pulled from master and built today (2022-02-09) I load a
file containing the following text

(custom-set-variables
  '(ediff-split-window-function 'split-window-horizontally)
  '(ediff-window-setup-function 'ediff-setup-windows-plain)
  '(initial-frame-alist (quote ((fullscreen . maximized))))
  '(tool-bar-mode nil))

(switch-to-buffer
  (find-file-noselect "~/emacs-git/trunk/src/minibuf.c"))

(defun my-diffs-revision ()
   (interactive)
   (let* ((this-file-name (buffer-file-name))
	 (backend (vc-backend this-file-name))
	 backup)
     (cond
      (backend
       (vc-call state this-file-name)
       (vc-file-getprop this-file-name 'vc-latest-revision)
       (require 'ediff-vers)
       (with-current-buffer (find-file-noselect this-file-name)
	(ediff-vc-internal "" "")))
      ((setq backup (file-newest-backup this-file-name))
       (ediff-buffers
        (find-file-noselect backup) (current-buffer))))))

(global-set-key [(control shift meta a)] 'my-diffs-revision)

and type C-M-S-a (the file compared here is minibuffer.c of Emacs'
master).

With debugging turned on this gets me

Debugger entered--Lisp error: (error "Font-lock trying to use keywords before setting th...")
   signal(error ("Font-lock trying to use keywords before setting th..."))
   error("Font-lock trying to use keywords before setting th...")
   font-lock-compile-keywords(nil)
   font-lock-fontify-keywords-region(1 112 nil)
   font-lock-default-fontify-region(1523 1532 nil)
   c-font-lock-fontify-region(1523 1532)
   c-force-redisplay(1523 1532)
   apply(c-force-redisplay (1523 1532))
   timer-event-handler([t 25091 29205 916629 nil c-force-redisplay (1523 1532) nil 777000 nil])

martin