Ludovic Courtès (2017-01-15 23:11 +0100) wrote: > Alex Kost <alez...@gmail.com> skribis: > >> Ludovic Courtès (2017-01-14 22:16 +0100) wrote: >> >>>> +(define (uglify-field-name name) >>>> + (match name >>>> + ('verbosity "verb") >>>> + (_ (let ((str (symbol->string name))) >>>> + (if (string-suffix? "?" str) >>>> + (substring str 0 (1- (string-length str))) >>>> + str))))) >>> >>> Not sure why but indent-code.el got ‘match’ indentation wrong, although >>> it works for me. Alex, any ideas? >> >> Because 'scheme-mode' does not provide indentation rules for 'match' >> (and many other keywords). Geiser indents 'match' properly for you. > > 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). 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). -- Alex