Ludovic Courtès (2017-01-19 12:51 +0100) wrote: > Alex Kost <alez...@gmail.com> skribis: > >> Ludovic Courtès (2017-01-15 23:11 +0100) wrote: >> [...] >>> I see. So maybe we should just add a rule for ‘match’ in >>> .dir-locals.el; any downside to that? >> >> I'm against it, as I think ".dir-locals.el" should contain only elisp >> stuff *specific* to a project. So I would rather do an opposite, i.e. I >> would remove 'lambda*', 'eval-when', 'call-with-prompt', >> 'call-with-input-string' and 'test-*' from the .dir-locals (all of these >> keywords are handled by Geiser but not by scheme-mode). > > Yeah. > >> But if you consider to add it, then also add 'when', 'unless', >> 'match-lambda', 'case-lambda', 'and-let*', 'with-output-to-string', >> 'with-input-from-string' 'call-with-output-string'. All these are not >> handled by scheme-mode (but handled by Geiser). > > I don’t know, do you think we should put these in a different file? How > would that work?
As I said, my opinion is that ".dir-locals.el" shouldn't contain any keyword that is not specific to Guix, so... > The problem is that people using indent-code.el typically have raw Emacs > with scheme-mode, but most likely without Geiser and Emacs-Guix. So we > need a mechanism that works in that case. ... I see 2 ways: - either using "guix environment emacs-guix" as Ricardo proposed initially, - or simply by adding the required indentation rules for all the missing keywords directly into "indent-code.el". I prefer the latter as it seems simple and clean. -- Alex