GNU bug report logs -
#74447
30.0.92; asm-comment-char cannot be set via dir-local variables
Previous Next
Reported by: Johann Klähn <johann <at> jklaehn.de>
Date: Wed, 20 Nov 2024 19:13:02 UTC
Severity: normal
Found in version 30.0.92
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
In `.dir-locals.el' setting `((asm-mode . ((asm-comment-char . 35))))'
does not have the desired effect. The comment char is still `;' instead
of `#'. The reason is that when the syntax table is adjusted according
to the comment char in the body of `asm-mode', the dir-local variables
haven't been loaded yet: `run-mode-hooks' (which would call
`hack-local-variables') is only invoked _after_ the `define-derived-mode'
body, i.e., too late.
I'm using the following workaround:
(defun asm-mode-set-comment-char-from-dir-local-variables ()
"Load `asm-comment-char' from dir-local variables.
This is a HACK, since in `asm-mode', `run-mode-hooks' (which would call
`hack-local-variables') is only invoked after the `define-derived-mode' body,
i.e., too late."
(let ((enable-local-variables :safe))
(hack-dir-local-variables)
(when-let* ((char (alist-get 'asm-comment-char dir-local-variables-alist)))
(setq-local asm-comment-char char))))
(add-hook 'asm-mode-set-comment-hook #'asm-mode-set-comment-char-from-dir-local-variables)
But maybe there is a more principled approach?
In GNU Emacs 30.0.92 (build 5, x86_64-pc-linux-gnu, GTK+ Version
3.24.43, cairo version 1.18.0) of 2024-11-19 built on toolbx
Repository revision: 331610aef0572eacb2846f817e979aa5e29170b7
Repository branch: emacs-30
System Description: Fedora Linux 41 (Workstation Edition)
Configured using:
'configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg
--with-tiff --with-xpm --with-gpm=no --with-modules --with-harfbuzz
--with-cairo --with-native-compilation --enable-link-time-optimization
--with-pgtk 'CFLAGS=-DMAIL_USE_LOCKF -O2 -fexceptions -g
-grecord-gcc-switches -pipe -Wp,-D_FORTIFY_SOURCE=2
-Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic
-fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
LDFLAGS=-Wl,-z,relro'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
Important settings:
value of $LC_MONETARY: en_AU.UTF-8
value of $LC_NUMERIC: en_AU.UTF-8
value of $LC_TIME: en_AU.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Assembler
This bug report was last modified 264 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.