From: Juri Linkov Date: Wed, 7 Nov 2018 22:27:58 +0000 (+0200) Subject: * lisp/files-x.el (modify-dir-local-variable): Use assoc-delete-all X-Git-Tag: emacs-27.0.90~4205 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fdbe4035ac7305c2f70274d2133c310c3480e23a;p=emacs.git * lisp/files-x.el (modify-dir-local-variable): Use assoc-delete-all instead of assq-delete-all for cases when mode is a subdirectory name. (dir-locals-to-string): Call pp-to-string and string-trim-right on values. (Bug#32817) --- diff --git a/lisp/files-x.el b/lisp/files-x.el index 9af399c87ba..5d87a4ed0c1 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el @@ -30,6 +30,8 @@ ;;; Code: +(eval-when-compile (require 'subr-x)) ; for string-trim-right + ;;; Commands to add/delete file-local/directory-local variables. @@ -484,7 +486,7 @@ from the MODE alist ignoring the input argument VALUE." (if (memq variable '(mode eval)) (cdr mode-assoc) (assq-delete-all variable (cdr mode-assoc)))))) - (assq-delete-all mode variables))) + (assoc-delete-all mode variables))) (setq variables (cons `(,mode . ((,variable . ,value))) variables)))) @@ -513,9 +515,11 @@ from the MODE alist ignoring the input argument VALUE." (car mode-variables) (format "(%s)" (mapconcat (lambda (variable-value) - (format "(%S . %S)" + (format "(%S . %s)" (car variable-value) - (cdr variable-value))) + (string-trim-right + (pp-to-string + (cdr variable-value))))) (cdr mode-variables) "\n")))) variables "\n")))