Hi Tom, On Tue, 19 Oct 2021 at 10:44, Tom Rini <tr...@konsulko.com> wrote: > > On Tue, Oct 19, 2021 at 10:39:55AM -0600, Simon Glass wrote: > > Hi Tom, > > > > On Tue, 19 Oct 2021 at 10:30, Tom Rini <tr...@konsulko.com> wrote: > > > > > > On Tue, Oct 19, 2021 at 10:24:25AM -0600, Simon Glass wrote: > > > > Hi Wolfgang, > > > > > > > > On Tue, 19 Oct 2021 at 10:20, Wolfgang Denk <w...@denx.de> wrote: > > > > > > > > > > Dear Simon, > > > > > > > > > > In message > > > > > <capnjgz1p6uerhdsgbzgmxfhgv7uhrfa1ufvohggd0-136ot...@mail.gmail.com> > > > > > you wrote: > > > > > > > > > > > > But how do we handle this? > > > > > > > > > > > > var+=fred > > > > > > > > > > > > Is this appending to var or assigning to var+ ? > > > > > > > > > > It is assigning to "var+". > > > > > > > > er... > > > > > > > > > > > > > > > > var++=fred > > > > > > > > > > > > is unambiguous but very confusing. I think it would be better to > > > > > > disallow + > > > > > > > > > > It's neither unambiguous nor confusing. It is assigning to "var++". > > > > > > > > What? Can you read that again? > > > > > > With the assumption that the append operator is "=+" and NOT "+=" then > > > yes, your examples are unambiguous because = is not allowed in variable > > > names, before and after. > > > > > > > > I think we should not change what is old and might be in use. > > > > > > > > > > It is much easier to change what is new and can be defined at will. > > > > > > > > > > If we define for example that "<name>=+<value>" appends, then we can > > > > > also define our own escape rules, for example: > > > > > > > > > > var=fred assigns > > > > > var=+fred appends "fred" > > > > > var=\+fred assignes the value "+fred" > > > > > var=++fred appends "+fred" > > > > > > > > I don't like that at all. It requires an escape for a common case and > > > > is very confusing. > > > > > > Wait saying we'll add "+SOMETHING" is a common case? > > > > Yes we have places where we add to env vars depending on CONFIG settings. > > Yes, but what requires escape is we want "var" to evaluate to or append > the string "+fred". Not append "fred" which is common. > > > > > Since people will be converting their out-of-tree scripts anyway, they > > > > can check for this sort of madness at the time. There should be no > > > > problem. > > > > > > I'm not sure I like saying the operator is "=+" rather than "+=" because > > > "=+" is a less commonly seen operator and tends to be an alternative > > > appends for special cases / side-effects / position in parsing. > > > > Me neither. I started hearing Voltaire's admonition ringing in my head > > a few emails back. > > > > The way I have this, is it fairly trivial to convert an existing > > script to a text file. I suspect it can be done automatically but I > > have not actually tried it. I'd really like to keep it simple. I also > > want to invoke the 'if you are not in mainline you don't exist' maxim > > at this point. > > I really want to see the non-trivially-constructed case where "+" is at > the end of a variable today. If we can support it in the middle, yes, I > can see how there might be example of that in use today.
OK it is supported in the middle at present. This produces no output for me: git grep +=include/configs/ I'll add some tests, deal with the comments from Marek and send v9. Regards, Simon