<div dir="ltr"><div dir="ltr">On Tue, Sep 17, 2024 at 1:55 AM <<a href="mailto:arnold@skeeve.com">arnold@skeeve.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I think it was only Plan 9. The change was motivated by the<br>
rc shell, which treated x=y anywhere on the command line (not just<br>
at the beginning of a command) as a variable assignment.<br></blockquote><div><br></div><div>I'm a little late to the thread, but this is not quite true.</div><div>rc's lexer and grammar treated = as a special </div><div>symbol - just like ( or | or & or ; - and so it couldn't</div><div>be used as a literal except when quoted.</div><div>That is, "foo x=y" was a syntax error, not an equivalent to "x=y foo".</div><div><br></div><div>One of the tidyings I did during covid lockdown was to rewrite</div><div>rc's parser not to use yacc anymore [1], specifically to make</div><div>it easy to allow "foo x=y". As I wrote in the commit message,</div><div>dd fans rejoice! (Also fans of -foo=bar flag syntax.)</div><div><br></div><div>Best,</div><div>Russ</div><div><br></div><div>[1] <a href="https://groups.google.com/g/plan9port-dev/c/AS8acHti7eo/m/0tZF7h7FBQAJ">https://groups.google.com/g/plan9port-dev/c/AS8acHti7eo/m/0tZF7h7FBQAJ</a></div><div><br></div></div></div>