Re: [PATCH v4 07/31] kconfig: add built-in function support

From: Ulf Magnusson
Date: Mon May 21 2018 - 23:55:52 EST


On Tue, May 22, 2018 at 5:11 AM, Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
> 2018-05-22 0:10 GMT+09:00 Ulf Magnusson <ulfalizer@xxxxxxxxx>:
>> On Mon, May 21, 2018 at 4:32 PM, Ulf Magnusson <ulfalizer@xxxxxxxxx> wrote:
>>> On Mon, May 21, 2018 at 4:23 PM, Ulf Magnusson <ulfalizer@xxxxxxxxx> wrote:
>>>> On Sun, May 20, 2018 at 4:50 PM, Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
>>>>> Will the following be equal:
>>>>>
>>>>> $(foo,abc,$(x),$(y))
>>>>> $(foo, abc, $(x), $(y))
>>>>>
>>>>> make is rather annoying as space is significant, but there seems no good reason
>>>>> for kconfig to inheritate this.
>>>>> So unless there are good arguments consider alloing the spaces.
>>>>> If the current implmentation already supports optional spaces then I just missed
>>>>> it whie reviewing.
>>>>>
>>>>> Sam
>>>>
>>>> +1 from me.
>>>>
>>>> I also find the rules for whitespace in Make confusing, and always
>>>> have to look them up when doing trickier stuff. Maybe they're the
>>>> result of people not considering whitespace initially, and stuff
>>>> getting tacked on later. GNU Make adds some alternate syntaxes with
>>>> quotes.
>>>>
>>>> I was going to mention shell, but it looks like you already did. :)
>>>>
>>>> If we go with Make-like syntax, maybe we could at least have a variant
>>>> with fewer whitespace gotchas.
>>>>
>>>> Cheers,
>>>> Ulf
>>>
>>> Maybe it'd be a pain to implement, but something like $(foo $(x) "two
>>> words" "interpolated $(stuff)") seems pretty nice, with three
>>> arguments there.
>>
>> Guess that might interact poorly with $(shell foo "bar baz") though.
>> Kinda nice to have a syntax that doesn't overlap with shell when
>> building shell commands.
>
>
> Right. I can easily imagine
> that would end up with more gotchas due to quoting and escaping.

Yeah, you're right. It's probably trying to fix something that isn't
broken. Make's syntax really isn't bad there, just slightly
non-obvious at first...

Think it's fine now. Better to commit to the syntax than trying to be
"helpful" by adding a bunch of random exceptions too. That probably
gives a bigger mess in the end...

Cheers,
Ulf