GNU bug report logs -
#73359
30.0.91; editorconfig does not work on xml files
Previous Next
Reported by: Nguyễn Quốc Minh <nqminhuit <at> gmail.com>
Date: Thu, 19 Sep 2024 14:29:03 UTC
Severity: normal
Found in version 30.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Stefan, this element of editorconfig-indentation-alist:
>
> (nxml-mode nxml-child-indent (nxml-attribute-indent . 2))
>
> seems to violate the expected form of the elements, which is
> (MODE . SETTING). It was added as part of commit 8e143a2f300, whose
> log says "Sync with upstream", so I suppose this form of the element
> is supported by upstream, but not by Emacs? I guess we need to
> replace it with a function or something?
Yup. I pushed the patch below to `emacs-30` for it.
> Btw, can we clarify the doc string of editorconfig-indentation-alist,
> where it says "where SETTING should obey the same rules as
> `editorconfig-indent-size-vars'"? Because if one looks at the doc
> string of editorconfig-indent-size-vars, the "rules" are either
> trivial or unclear. If SETTING above should be one or more symbols
> ("list of variables that need to be set to SIZE") or a function that
> returns a list of (VAR . VAL) pairs, then why not say that in the doc
> string of editorconfig-indentation-alist?
I didn't want to do it because it's redundant with the docstring of
`editorconfig-indent-size-vars`, but see the patch where I tried to
address your request.
Stefan
diff --git a/lisp/editorconfig.el b/lisp/editorconfig.el
index 931781007d9..870f6d32162 100644
--- a/lisp/editorconfig.el
+++ b/lisp/editorconfig.el
@@ -211,7 +211,7 @@ editorconfig-indentation-alist
(mustache-mode mustache-basic-offset)
(nasm-mode nasm-basic-offset)
(nginx-mode nginx-indent-level)
- (nxml-mode nxml-child-indent (nxml-attribute-indent . 2))
+ (nxml-mode . editorconfig--get-indentation-nxml-mode)
(objc-mode c-basic-offset)
(octave-mode octave-block-offset)
(perl-mode perl-indent-level)
@@ -266,7 +266,9 @@ editorconfig-indentation-alist
`editorconfig-indent-size-vars'.
Each element should look like (MODE . SETTING) where SETTING
-should obey the same rules as `editorconfig-indent-size-vars'."
+should obey the same rules as `editorconfig-indent-size-vars',
+i.e. either a list of variable names or a function returning a list of (VAR . VAL)
+settings."
:type '(alist :key-type symbol
:value-type (choice function
(repeat
@@ -341,6 +343,11 @@ editorconfig--get-indentation-latex-mode
(LaTeX-indent-level . ,size)
(LaTeX-item-indent . ,(- size))))
+(defun editorconfig--get-indentation-nxml-mode (size)
+ "Vars to set `nxml-mode' indent size to SIZE."
+ `((nxml-child-indent . ,size)
+ (nxml-attribute-indent . ,(* 2 size))))
+
(defun editorconfig--get-indentation-lisp-mode (size)
"Set indent size to SIZE for Lisp mode(s)."
(when (cond ((null editorconfig-lisp-use-default-indent) t)
This bug report was last modified 299 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.