Alex Kost <alez...@gmail.com> skribis: > 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).
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? 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. Thanks for your feedback! Ludo’.