Subject: bug#73359: 30.0.91; editorconfig does not work on xml files

From: Eli Zaretskii <[email-masked]>
Date: Thu, 19 Sep 2024 19:10:25 +0300

> From: Nguyễn Quốc Minh
>  <[email-masked]>
> Date: Thu, 19 Sep 2024 14:29:48 +0700
> 
> 1. start emacs with 'emacs -Q -mm'
> 2. enable editorconfig-mode with 'M-x editorconfig-mode'
> 3. open an xml file, e.g., pom.xml from a Java project.
> 4. observe the minibuffer:
> 
> For information about GNU Emacs and the GNU system, type C-h C-a.
> funcall-interactively: Text is read-only [10 times]
> Quit
> Editorconfig mode enabled
> Quit
> pom.xml has auto save data; consider M-x recover-this-file
> Using vacuous schema
> Unsupported element in ‘editorconfig-indentation-alist’: ((nxml-attribute-indent . 2) . 2)
> Directory-local variables error: (wrong-type-argument listp Unsupported element in
> ‘editorconfig-indentation-alist’: ((nxml-attribute-indent . 2) . 2))

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?

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?