Subject: [bug#65922] [qt-team PATCH v2 1/4] gnu: qtbase: Do not capture Python (again).

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 17 Sep 2023 08:55:54 -0400

Hi Andreas,

Andreas Enge <[email-masked]> writes:

> Am Sat, Sep 16, 2023 at 10:51:22PM -0400 schrieb Maxim Cournoyer:
>> > This one looks good, except for indentation there, I think:
>> >> +             (substitute*
>> >> +                 (search-input-file
>> >> +                  outputs "lib/qt5/mkspecs/features/uikit/devices.py")
>> >> +               (((which "python3"))
>> >> +                "/usr/bin/env python3")))))))
>> It's actually valid -- I just doubled check :-)
>
> Hm, I thought that arguments to functions should be aligned, so that
> "(search-..." and "(((which" should start in the same column?
> And that we would indent by either 1 or 2 (according to arcane rules I
> never memorised)?

According to our indentation rules in .dir-locals.el:

--8<---------------cut here---------------start------------->8---
(put 'substitute* 'scheme-indent-function 1)
--8<---------------cut here---------------end--------------->8---

Which, following the Emacs documentation for scheme-indent-function then
lisp-indent-function (C-h f scheme-indent-function RET), says (where N
is the 1 argument):

--8<---------------cut here---------------start------------->8---
* an integer N, meaning indent the first N arguments specially
  (like ordinary function arguments), and then indent any further
  arguments like a body;
--8<---------------cut here---------------end--------------->8---

The indentation produced is because of that special rule.

-- 
Thanks,
Maxim