
Hi Tom,
On Tue, 19 Oct 2021 at 10:30, Tom Rini trini@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 wd@denx.de wrote:
Dear Simon,
In message CAPnjgZ1p6ueRhDsgBZGMXFhgv7UhRFA1UfvoHGGd0-136oTgvA@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.
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.
Regards, Simon