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

Reply via email to