On Wed, May 14, 2025 at 11:57:08AM -0400, Douglas McIlroy wrote:
> This program
> define(`A', x define('A',y)A z)
> A
> produces this answer
>
> y
Not as written, it doesn't. Because of your mismatched quoting (you
used ' unpaired to a leading `), your inner call to define is definin
This program
define(`A', x define('A',y)A z)
A
produces this answer
y
It appears that the inner definition stamps on the
outer definition in progress. I imagine that each
allocates and fills a string that it assigns as the
stored definition for A, The inner one, being
assigned later,