Subject: bug#73215: 14.0.5; What about excluding .dir-locals.el from GNU ELPA tarballs

From: Lin Jian <[email-masked]>
Date: Fri, 13 Sep 2024 06:40:44 +0800

Dear AUCTeX maintainers,

Currently, the .dir-locals.el file is included in the GNU ELPA
tarball[1], which causes this compilation error[2] when doing AOT native
compilation for Emacs lisp packages in NixOS.

Error: wrong-type-argument ("/nix/store/<hash>-emacs-auctex-14.0.6/share/emacs/site-lisp/elpa/auctex-14.0.6/.dir-locals.el" proper-list-p (log-edit-font-lock-gnu-style . t))
  mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode -0xf42c55d2510e41>))
  debug-early-backtrace()
  debug-early(error (wrong-type-argument "/nix/store/<hash>-emacs-auctex-14.0.6/share/emacs/site-lisp/elpa/auctex-14.0.6/.dir-locals.el" proper-list-p (log-edit-font-lock-gnu-style . t)))
  signal(wrong-type-argument ("/nix/store/<hash>-emacs-auctex-14.0.6/share/emacs/site-lisp/elpa/auctex-14.0.6/.dir-locals.el" proper-list-p (log-edit-font-lock-gnu-style . t)))
  comp--native-compile("/nix/store/<hash>-emacs-auctex-14.0.6/share/emacs/site-lisp/elpa/auctex-14.0.6/.dir-locals.el")
  batch-native-compile()
  command-line-1(("--eval" "(setq large-file-warning-threshold nil)" "--eval" "(setq byte-compile-error-on-warn nil)" "-f" "batch-native-compile" "/nix/store/<hash>-emacs-auctex-14.0.6/share/emacs/site-lisp/elpa/auctex-14.0.6/.dir-locals.el"))
  command-line()
  normal-top-level()
Wrong type argument: "/nix/store/<hash>-emacs-auctex-14.0.6/share/emacs/site-lisp/elpa/auctex-14.0.6/.dir-locals.el", proper-list-p, (#<symbol log-edit-font-lock-gnu-style at 424> . #<symbol t at 455>)

We can workaround this by skipping native compilation for
.dir-locals.el.  However, I do not think .dir-locals.el has to be
included in the GNU ELPA tarball.  In addition, MELPA ignores[3] that
file by default.

Could you exclude .dir-locals.el from GNU ELPA tarball?  FYI,
:ignored-files[4] of GNU ELPA specification can be used to do this.

[1]: https://elpa.gnu.org/packages/auctex-14.0.6.tar
[2]: https://hydra.nixos.org/build/271252219/nixlog/1
[3]: https://github.com/melpa/melpa/blob/0c608bf895a3b5230b781662510e1326af17ea13/README.md?plain=1#L169-L170
[4]: https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/README?id=51936a29b693bfc5f4f92e365b485a7c547b2ac1#n175

Best wishes,
Lin Jian