Subject: bug#56957: [PATCH] Fix ignored-local-variable-values for non-primitive values

From: Kira Bruneau <[email-masked]>
Date: Wed, 03 Aug 2022 18:09:50 +0000

I noticed that structural comparison wasn't being done to ignore values in `ignored-local-variable-values', so it could only ever ignore primitive values.

From 6ae9a9ee9a177da9fbbc3e31faf0202fb846aebb Mon Sep 17 00:00:00 2001
From: Kira Bruneau <[email-masked]>
Date: Wed, 3 Aug 2022 13:47:47 -0400
Subject: [PATCH] Fix ignored-local-variable-values for non-primitive values

This was previously using seq-some + eq to compare against ignored
values, but now we use member to structurally compare values like we
do for `safe-local-variable-values'.
* lisp/files.el (hack-local-variables-filter): Fix
`ignored-local-variable-values' for non-primitive values.
---
 lisp/files.el | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/lisp/files.el b/lisp/files.el
index 5df1966193..215e7db7d8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3848,10 +3848,7 @@ DIR-NAME is the name of the associated directory.  Otherwise it is nil."
 	(cond ((memq var ignored-local-variables)
 	       ;; Ignore any variable in `ignored-local-variables'.
 	       nil)
-              ((seq-some (lambda (elem)
-                           (and (eq (car elem) var)
-                                (eq (cdr elem) val)))
-                         ignored-local-variable-values)
+              ((member elt ignored-local-variable-values)
                nil)
 	      ;; Obey `enable-local-eval'.
 	      ((eq var 'eval)
-- 
2.37.1