diff options
author | Juri Linkov <juri@linkov.net> | 2018-11-08 00:27:58 +0200 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2018-11-08 00:27:58 +0200 |
commit | fdbe4035ac7305c2f70274d2133c310c3480e23a (patch) | |
tree | 9a4ad0868de6ddc1281d14294663f645cba11156 | |
parent | 4254caa2d3bc2ebec6513fccce6a3d6303b068ef (diff) | |
download | emacs-fdbe4035ac7305c2f70274d2133c310c3480e23a.tar.gz |
* 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)
-rw-r--r-- | lisp/files-x.el | 10 |
1 files changed, 7 insertions, 3 deletions
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"))) |