Subject: 30.0.50; define-error in font-lock mode should be fontified
From: [email-masked]
To: [email-masked]
Date: Sun, 23 Jul 2023 19:22:47 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

In a buffer with emacs-lisp-mode active, 'define-error' is not fontified
by font-lock mode.  The keyword should be listed somewhere around line 360 in
emacs-lisp/lisp-mode.el.

Recipe:

- Start emacs
- Visit a file ending in .el
- Type: (define-error 'new-error "this is a new error")
- Wait for fontification to complete and notice it is not highlighted

In lisp-mode.el, there is a comment about constructs being updated
automatically from obarray, but I was not able to understand how this
happens, and thought maybe the comment is referring to symbols created
with those commands?

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.17.8) of 2023-07-15 built on archlinux
Repository revision: c5fa58cbc4a33a0a65494b9ab2e35d4f30ab849b
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Arch Linux

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
 --with-modules --without-libotf --without-m17n-flt --without-gconf
 --with-native-compilation=yes --with-xinput2 --with-x-toolkit=gtk3
 --without-xaw3d --with-sound=no --with-tree-sitter --without-gpm
 --without-compress-install
 '--program-transform-name=s/\([ec]tags\)/\1.emacs/'
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions
 -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
 -fstack-clash-protection -fcf-protection'
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP
X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $LANG: C.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Shell

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  which-function-mode: t
  shell-dirtrack-mode: t
  comint-fontify-input-mode: t
  server-mode: t
  global-auto-revert-mode: t
  windmove-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/nealsid/.emacs.d/elpa/transient-20230501.1034/transient hides /usr/share/emacs/30.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug make-mode descr-text dabbrev erts-mode
jka-compr apropos cc-langs grep mode-local re-builder mule-util
display-line-numbers ffap cus-edit cus-start wid-edit cl-print shortdoc
cl-indent inf-lisp help-fns radix-tree paredit magit-gitignore pcmpl-git
misearch multi-isearch vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
log-view vc bug-reference pcmpl-unix sh-script smie treesit executable
ert pp ewoc debug backtrace sqlite flymake-proc flymake project cl
compile noutline outline lisp-mnt thingatpt find-func vc-git
vc-dispatcher magit-extras face-remap magit-submodule magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode diff diff-mode easy-mmode
git-commit log-edit pcvs-util add-log magit-core magit-autorevert
magit-margin magit-transient magit-process with-editor magit-mode
transient edmacro kmacro magit-git magit-base magit-section format-spec
cursor-sensor crm dash compat compat-29 dired-aux mm-archive message
sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec epa derived
gnus-util text-property-search time-date mailabbrev gmm-utils mailheader
mm-decode mm-bodies mm-encode mail-utils which-func imenu files-x shell
pcomplete comint ansi-osc ansi-color ring deeper-blue-theme server
clarity-theme autorevert filenotify cus-load cc-mode cc-fonts cc-guess
cc-menus cc-cmds windmove cc-styles cc-align cc-engine cc-vars cc-defs
gnutls network-stream url-cache url-http url-auth mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny comp
comp-cstr warnings icons rx cl-extra help-mode epg rfc6068 epg-config
finder-inf ido color-theme-modern-autoloads dirtree-autoloads
elisp-autofmt-autoloads flycheck-autoloads ggtags-autoloads pcase
paredit-autoloads pkg-info-autoloads epl-autoloads tree-mode-autoloads
windata-autoloads info package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo gtk
x-toolkit xinput2 x multi-tty move-toolbar make-network-process
native-compile emacs)

Memory information:
((conses 16 2271743 440768) (symbols 48 42781 4)
 (strings 32 376192 15152) (string-bytes 1 13822104)
 (vectors 16 96038) (vector-slots 8 2449209 293184)
 (floats 8 233 9406) (intervals 56 236229 855) (buffers 984 70))