emacs erlang broken: Error during redisplay: (jit-lock-function 504) signaled (void-function case)

Bug #1957156 reported by Andreas Schultz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
erlang (Ubuntu)
New
Undecided
Unassigned

Bug Description

Opening an Erlang source in emacs with erlang-mode renders the file with incomplete syntax highlighting. At the same time a error message is logged in emacs:

  Error during redisplay: (jit-lock-function 504) signaled (void-function case)

A Lisp backtrace for this:

Debugger entered--Lisp error: (void-function case)
  (case (nth 3 state) (34 font-lock-string-face) (39 'default))
  (cond ((nth 3 state) (case (nth 3 state) (34 font-lock-string-face) (39 'default))) (t font-lock-comment-face))
  erlang-syntactic-face-function((1 938 nil 34 nil nil 0 nil 939 (938) nil))
  font-lock-fontify-syntactically-region(503 1016 nil)
  font-lock-default-fontify-region(503 1003 nil)
  font-lock-fontify-region(503 1003)
  #f(compiled-function (fun) #<bytecode 0x155ae4b55765>)(font-lock-fontify-region)
  run-hook-wrapped(#f(compiled-function (fun) #<bytecode 0x155ae4b55765>) font-lock-fontify-region)
  jit-lock--run-functions(503 1003)
  jit-lock-fontify-now(503 1003)
  jit-lock-function(503)
  window-end(#<window 9 on ggsn_gn.erl> t)
  linum-update-window(#<window 9 on ggsn_gn.erl>)
  mapc(linum-update-window (#<window 9 on ggsn_gn.erl>))
  linum-update(#<buffer ggsn_gn.erl>)
  linum-after-scroll(#<window 9 on ggsn_gn.erl> 1)
  set-window-buffer(#<window 9 on ggsn_gn.erl> #<buffer ggsn_gn.erl>)
  window--display-buffer(#<buffer ggsn_gn.erl> #<window 9 on ggsn_gn.erl> reuse ((inhibit-same-window)))
  display-buffer-same-window(#<buffer ggsn_gn.erl> ((inhibit-same-window)))
  display-buffer(#<buffer ggsn_gn.erl> (display-buffer-same-window (inhibit-same-window)))
  pop-to-buffer(#<buffer ggsn_gn.erl> (display-buffer-same-window (inhibit-same-window)) nil)
  pop-to-buffer-same-window(#<buffer ggsn_gn.erl>)
  find-file("ggsn_gn.er..." t)
  funcall-interactively(find-file "ggsn_gn.er..." t)
  call-interactively(find-file nil nil)
  command-execute(find-file)

The backtrace points to the erlang-syntactic-face-function in erlang.el. That function is added by a patch that is only present in the Debian and Ubuntu packages.

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: erlang-mode 1:24.1.5+dfsg-1ubuntu1
Uname: Linux 5.15.13-051513-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu75
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: XFCE
Date: Wed Jan 12 10:30:48 2022
Dependencies: emacsen-common 3.0.4
InstallationDate: Installed on 2017-09-26 (1568 days ago)
InstallationMedia: Ubuntu-Server 17.10 "Artful Aardvark" - Alpha amd64 (20170924)
PackageArchitecture: all
SourcePackage: erlang
UpgradeStatus: Upgraded to jammy on 2021-12-30 (12 days ago)

Revision history for this message
Andreas Schultz (aschultz) wrote :
Revision history for this message
Andreas Schultz (aschultz) wrote :

In case anyone cares (and I looks like the maintainer does not), backing out debian/patches/atomsfontlock.patch from the source package fixes the problem.

Erlang syntax highlighting works as expected after that.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.