Subject: [Emacs 28.0.50 Master] Error: (wrong-type-argument listp string-match)

From: Jacob Faibussowitsch <[email-masked]>
Date: Fri, 23 Jul 2021 13:43:33 -0400

Hello,

Full error message:

Directory-local variables error: (wrong-type-argument listp string-match)

How to reproduce:

$ emacs -Q

OR

$ git checkout master
$ make all

(The warning will appear when byte-compiling emacs internals in the second case)

What I think went wrong:

I am pretty sure this was introduced in https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ad5faa424a5d2f0d67265906d21f7af98220df26 <https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ad5faa424a5d2f0d67265906d21f7af98220df26>, in set-auto-mode--apply-alist() in lisp/files.el (+3198 $EMACS_DIR/lisp/files.el for the lazy). Specifically line 3224:

  +(while name
  +  (setq mode
  +     (if case-insensitive-p
  +            ;; Filesystem is case-insensitive.
  +            (let ((case-fold-search t))
> +              (assoc-default alist 'string-match)))

Every other assoc-default() in this routine has “name” as an argument except the above, i.e.

(assoc-default name alist ’string-match)

————————————————————————————————————— 

Version and config info:

In GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin20.5.0)
Repository revision: fcae435f598471a2911641412125c5ac4f73559f
Repository branch: master
System Description:  macOS 11.5

Configured using:
 'configure CC=clang CXX=clang++ 'CFLAGS=-O3 -march=native -flto=thin
 -flto-jobs=5 -std=gnu17 -Wno-unused-command-line-argument'
 'CXXFLAGS=-O3 -march=native -flto=thin -flto-jobs=5 -std=gnu++17
 -Wno-unused-command-line-argument' LDFLAGS=-mmacosx-version-min=11.4
 'LIBS=-lpng -ljpeg' --with-gnutls --without-x --with-xml2 --with-dbus
 --with-modules --with-json --without-ns --with-jpeg --with-tiff
 --with-gif --with-png --with-rsvg --with-libsystemd --with-cairo
 --with-zlib --with-libgmp --with-toolkit-scroll-bars
 --disable-gcc-warnings --with-native-compilation’

Configured features:
ACL GMP GNUTLS JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE
PDUMPER THREADS XIM ZLIB

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

Best regards,

Jacob Faibussowitsch
(Jacob Fai - booss - oh - vitch)