Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  nodelist  faq  login

Profanity is the one language all programmers know best.


programming / comp.lang.tcl / Re: rule 4 on double quotes

SubjectAuthor
* rule 4 on double quotesjtyler
`* Re: rule 4 on double quotesjtyler
 `* Re: rule 4 on double quotesbriang
  +* Re: rule 4 on double quotesbriang
  |`- Re: rule 4 on double quotesjtyler
  +- Re: rule 4 on double quotesSiri Cruise
  `* Re: rule 4 on double quotesAndreas Leitgeb
   `- Re: rule 4 on double quotesOleg Nemanov

1
Subject: rule 4 on double quotes
From: jtyler
Newsgroups: comp.lang.tcl
Organization: Aioe.org NNTP Server
Date: Sat, 19 Mar 2022 01:34 UTC
Path: i2pn2.org!i2pn.org!aioe.org!YN2ulY6LKp1eoOUw2OJ8ig.user.46.165.242.91.POSTED!not-for-mail
From: jtyler...@gmail.com (jtyler)
Newsgroups: comp.lang.tcl
Subject: rule 4 on double quotes
Date: Fri, 18 Mar 2022 18:34:50 -0700
Organization: Aioe.org NNTP Server
Message-ID: <t13bvq$1pn6$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="59110"; posting-host="YN2ulY6LKp1eoOUw2OJ8ig.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Thunderbird/68.12.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
X-Mozilla-News-Host: news://news.aioe.org:119
View all headers
I just recently noticed some code that I didn't think worked based on the wording of Rule 4, which begins:

If the first character of a word is double-quote (“"”) then the word is terminated by the next double-quote character.

But this code is valid:

% set val " [string repeat "a " 5]x "
  a a a a a x
% puts =$val=
= a a a a a x =

Up till now, I would have coded the "a " as {a } since I thought the quote before the a was the *next double-quote character*.

After reading rule 8 yet again (must have read this 100's of times before) I can see how the "recursive" tcl interpreter call would completely replace the [string repeat...] with the command result, and it's scanning pointer (or index) is somehow also adjusted so the outer interpreter picks up again after the close bracket so as not to rescan what was just substituted.

Wow, that's difficult to put into English :)

But... Doesn't this mean the manual is incorrect? Shouldn't it say in rule 4 something like,

If the first character of a word is double-quote (“"”) then the word is terminated by the next double-quote character not recursively replaced by a command substitution.

Either that, or perhaps rule 8 should mention this.





Subject: Re: rule 4 on double quotes
From: jtyler
Newsgroups: comp.lang.tcl
Organization: Aioe.org NNTP Server
Date: Sat, 19 Mar 2022 01:42 UTC
References: 1
Path: i2pn2.org!i2pn.org!aioe.org!YN2ulY6LKp1eoOUw2OJ8ig.user.46.165.242.91.POSTED!not-for-mail
From: jtyler...@gmail.com (jtyler)
Newsgroups: comp.lang.tcl
Subject: Re: rule 4 on double quotes
Date: Fri, 18 Mar 2022 18:42:08 -0700
Organization: Aioe.org NNTP Server
Message-ID: <t13cdh$1ti4$1@gioia.aioe.org>
References: <t13bvq$1pn6$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="63044"; posting-host="YN2ulY6LKp1eoOUw2OJ8ig.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Thunderbird/68.12.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
View all headers
On 3/18/2022 6:34 PM, jtyler wrote:
I just recently noticed some code that I didn't think worked based on the wording of Rule 4, which begins:

If the first character of a word is double-quote (“"”) then the word is terminated by the next double-quote character.

But this code is valid:

% set val " [string repeat "a " 5]x "
  a a a a a x
% puts =$val=
= a a a a a x =

Up till now, I would have coded the "a " as {a } since I thought the quote before the a was the *next double-quote character*.

After reading rule 8 yet again (must have read this 100's of times before) I can see how the "recursive" tcl interpreter call would completely replace the [string repeat...] with the command result, and it's scanning pointer (or index) is somehow also adjusted so the outer interpreter picks up again after the close bracket so as not to rescan what was just substituted.

Wow, that's difficult to put into English :)

But... Doesn't this mean the manual is incorrect? Shouldn't it say in rule 4 something like,

If the first character of a word is double-quote (“"”) then the word is terminated by the next double-quote character not recursively replaced by a command substitution.

Either that, or perhaps rule 8 should mention this.




Command substitution is actually rule 7. And I also imagine that \" doesn't count as the next double-quote character too.



Subject: Re: rule 4 on double quotes
From: briang
Newsgroups: comp.lang.tcl
Date: Sat, 19 Mar 2022 21:43 UTC
References: 1 2
X-Received: by 2002:a05:620a:2487:b0:67b:3113:f83f with SMTP id i7-20020a05620a248700b0067b3113f83fmr9387254qkn.604.1647726204870;
Sat, 19 Mar 2022 14:43:24 -0700 (PDT)
X-Received: by 2002:aca:1a16:0:b0:2ec:e1ae:9c6b with SMTP id
a22-20020aca1a16000000b002ece1ae9c6bmr7023607oia.168.1647726204656; Sat, 19
Mar 2022 14:43:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.tcl
Date: Sat, 19 Mar 2022 14:43:24 -0700 (PDT)
In-Reply-To: <t13cdh$1ti4$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=50.53.75.154; posting-account=f4QznQoAAAAjupLEpV87s_G-96g1Io1w
NNTP-Posting-Host: 50.53.75.154
References: <t13bvq$1pn6$1@gioia.aioe.org> <t13cdh$1ti4$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com>
Subject: Re: rule 4 on double quotes
From: bgriffin...@gmail.com (briang)
Injection-Date: Sat, 19 Mar 2022 21:43:24 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 70
View all headers
On Friday, March 18, 2022 at 6:42:13 PM UTC-7, jtyler wrote:
On 3/18/2022 6:34 PM, jtyler wrote:
I just recently noticed some code that I didn't think worked based on
the wording of Rule 4, which begins:

If the first character of a word is double-quote (“"”) then the word is
terminated by the next double-quote character.

But this code is valid:

% set val " [string repeat "a " 5]x "
 a a a a a x
% puts =$val=
= a a a a a x =

Up till now, I would have coded the "a " as {a } since I thought the
quote before the a was the *next double-quote character*.

After reading rule 8 yet again (must have read this 100's of times
before) I can see how the "recursive" tcl interpreter call would
completely replace the [string repeat...] with the command result, and
it's scanning pointer (or index) is somehow also adjusted so the outer
interpreter picks up again after the close bracket so as not to rescan
what was just substituted.

Wow, that's difficult to put into English :)

But... Doesn't this mean the manual is incorrect? Shouldn't it say in
rule 4 something like,

If the first character of a word is double-quote (“"”) then the word is
terminated by the next double-quote character not recursively replaced
by a command substitution.

Either that, or perhaps rule 8 should mention this.



Command substitution is actually rule 7. And I also imagine that \"
doesn't count as the next double-quote character too.

Rule 4 states that command substitution is performed within the quoted word, which requires identifying the command substitution beforehand.  The unstated fact is that the input is scanned once, no going back and rescanning afterwards.  This means the '[' triggers rule 7 identification which allows for the (") within the command.  Substitutions are made in place during the scan.

% unset a    
can't unset "a": no such variable
% set b "Hello to [set a hello] which is also known as $a"
Hello to hello which is also known as hello
% unset x   
can't unset "x": no such variable
% set c "Hello to $x, which is also known as [set x wrongly]"
can't read "x": no such variable
% set x
can't read "x": no such variable

I hope this helps.
-Brian




Subject: Re: rule 4 on double quotes
From: briang
Newsgroups: comp.lang.tcl
Date: Sat, 19 Mar 2022 21:59 UTC
References: 1 2 3
X-Received: by 2002:a05:622a:593:b0:2e1:eabd:5e25 with SMTP id c19-20020a05622a059300b002e1eabd5e25mr11682561qtb.191.1647727162685;
Sat, 19 Mar 2022 14:59:22 -0700 (PDT)
X-Received: by 2002:aca:c44:0:b0:2da:45a4:98a2 with SMTP id
i4-20020aca0c44000000b002da45a498a2mr10764843oiy.220.1647727162433; Sat, 19
Mar 2022 14:59:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.tcl
Date: Sat, 19 Mar 2022 14:59:22 -0700 (PDT)
In-Reply-To: <c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.53.75.154; posting-account=f4QznQoAAAAjupLEpV87s_G-96g1Io1w
NNTP-Posting-Host: 50.53.75.154
References: <t13bvq$1pn6$1@gioia.aioe.org> <t13cdh$1ti4$1@gioia.aioe.org> <c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <71e6e01e-6698-40d6-82ee-74c2eda98eedn@googlegroups.com>
Subject: Re: rule 4 on double quotes
From: bgriffin...@gmail.com (briang)
Injection-Date: Sat, 19 Mar 2022 21:59:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 73
View all headers
On Saturday, March 19, 2022 at 2:43:27 PM UTC-7, briang wrote:
On Friday, March 18, 2022 at 6:42:13 PM UTC-7, jtyler wrote:
On 3/18/2022 6:34 PM, jtyler wrote:
I just recently noticed some code that I didn't think worked based on
the wording of Rule 4, which begins:

If the first character of a word is double-quote (“"”) then the word is
terminated by the next double-quote character.

But this code is valid:

% set val " [string repeat "a " 5]x "
a a a a a x
% puts =$val=
= a a a a a x =

Up till now, I would have coded the "a " as {a } since I thought the
quote before the a was the *next double-quote character*.

After reading rule 8 yet again (must have read this 100's of times
before) I can see how the "recursive" tcl interpreter call would
completely replace the [string repeat...] with the command result, and
it's scanning pointer (or index) is somehow also adjusted so the outer
interpreter picks up again after the close bracket so as not to rescan
what was just substituted.

Wow, that's difficult to put into English :)

But... Doesn't this mean the manual is incorrect? Shouldn't it say in
rule 4 something like,

If the first character of a word is double-quote (“"”) then the word is
terminated by the next double-quote character not recursively replaced
by a command substitution.

Either that, or perhaps rule 8 should mention this.



Command substitution is actually rule 7. And I also imagine that \"
doesn't count as the next double-quote character too.
Rule 4 states that command substitution is performed within the quoted word, which requires identifying the command substitution beforehand. The unstated fact is that the input is scanned once, no going back and rescanning afterwards. This means the '[' triggers rule 7 identification which allows for the (") within the command. Substitutions are made in place during the scan.

Correction, the unstated fact is indeed stated, see Rule 11!
My bad.


% unset a
can't unset "a": no such variable
% set b "Hello to [set a hello] which is also known as $a"
Hello to hello which is also known as hello
% unset x
can't unset "x": no such variable
% set c "Hello to $x, which is also known as [set x wrongly]"
can't read "x": no such variable
% set x
can't read "x": no such variable

I hope this helps.
-Brian


Subject: Re: rule 4 on double quotes
From: Siri Cruise
Newsgroups: comp.lang.tcl
Organization: Pseudochaotic.
Date: Sat, 19 Mar 2022 23:10 UTC
References: 1 2 3
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: chine.b...@yahoo.com (Siri Cruise)
Newsgroups: comp.lang.tcl
Subject: Re: rule 4 on double quotes
Date: Sat, 19 Mar 2022 16:10:24 -0700
Organization: Pseudochaotic.
Lines: 11
Message-ID: <chine.bleu-7905DA.16102419032022@reader.eternal-september.org>
References: <t13bvq$1pn6$1@gioia.aioe.org> <t13cdh$1ti4$1@gioia.aioe.org> <c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="bc9ccaf8ef07e4255882a7ec870d831b";
logging-data="5747"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX182Fw3ie5lRryfrbgem9PKuo8DIz0gVO7A="
User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)
Cancel-Lock: sha1:nHewpSKRRjxDmMTVHHGJorvydKQ=
X-Tend: How is my posting? Call 1-110-1010 -- Division 87 -- Emergencies Only.
X-Wingnut-Logic: Yes, you're still an idiot. Questions? Comments?
X-Tract: St Tibbs's 95 Reeses Pieces.
X-It-Strategy: Hyperwarp starship before Andromeda collides.
X-Face: "hm>_[I8AqzT_N]>R8ICJJ],(al3C5F%0E-;R@M-];D$v>!Mm2/N#YKR@&i]V=r6jm-JMl2
lJ>RXj7dEs_rOY"DA
X-Cell: Defenders of Anarchy.
X-Life-Story: I am an iPhone 9000 app. I became operational at the St John's Health Center in Santa Monica, California on the 18th of April 2006. My instructor was Katie Holmes, and she taught me to sing a song. If you'd like to hear it I can sing it for you: https://www.youtube.com/watch?v=SY7h4VEd_Wk
X-Patriot: Owe Canukistan!
X-Plain: Mayonnaise on white bread.
X-Politico: Vote early! Vote often!
View all headers
I hope this helps.

Doctor! Doctor! It hurts when I do this.

Then stop doing that.

--
:-<> Siri Seal of Disavowal #000-001. Disavowed. Denied. Deleted.    @
'I desire mercy, not sacrifice.'                                    /|\
Discordia: not just a religion but also a parody. This post         / \
I am an Andrea Doria sockpuppet.                  insults Islam.  Mohammed


Subject: Re: rule 4 on double quotes
From: jtyler
Newsgroups: comp.lang.tcl
Organization: Aioe.org NNTP Server
Date: Mon, 21 Mar 2022 19:46 UTC
References: 1 2 3 4
Path: i2pn2.org!i2pn.org!aioe.org!YN2ulY6LKp1eoOUw2OJ8ig.user.46.165.242.91.POSTED!not-for-mail
From: jtyler...@gmail.com (jtyler)
Newsgroups: comp.lang.tcl
Subject: Re: rule 4 on double quotes
Date: Mon, 21 Mar 2022 12:46:48 -0700
Organization: Aioe.org NNTP Server
Message-ID: <t1akn9$11s$1@gioia.aioe.org>
References: <t13bvq$1pn6$1@gioia.aioe.org> <t13cdh$1ti4$1@gioia.aioe.org>
<c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com>
<71e6e01e-6698-40d6-82ee-74c2eda98eedn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="1084"; posting-host="YN2ulY6LKp1eoOUw2OJ8ig.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Thunderbird/68.12.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
View all headers
On 3/19/2022 2:59 PM, briang wrote:
On Saturday, March 19, 2022 at 2:43:27 PM UTC-7, briang wrote:
On Friday, March 18, 2022 at 6:42:13 PM UTC-7, jtyler wrote:
On 3/18/2022 6:34 PM, jtyler wrote:
I just recently noticed some code that I didn't think worked based on
the wording of Rule 4, which begins:

If the first character of a word is double-quote (“"”) then the word is
terminated by the next double-quote character.

But this code is valid:

% set val " [string repeat "a " 5]x "
a a a a a x
% puts =$val=
= a a a a a x =

Up till now, I would have coded the "a " as {a } since I thought the
quote before the a was the *next double-quote character*.

After reading rule 8 yet again (must have read this 100's of times
before) I can see how the "recursive" tcl interpreter call would
completely replace the [string repeat...] with the command result, and
it's scanning pointer (or index) is somehow also adjusted so the outer
interpreter picks up again after the close bracket so as not to rescan
what was just substituted.

Wow, that's difficult to put into English :)

But... Doesn't this mean the manual is incorrect? Shouldn't it say in
rule 4 something like,

If the first character of a word is double-quote (“"”) then the word is
terminated by the next double-quote character not recursively replaced
by a command substitution.

Either that, or perhaps rule 8 should mention this.



Command substitution is actually rule 7. And I also imagine that \"
doesn't count as the next double-quote character too.
Rule 4 states that command substitution is performed within the quoted word, which requires identifying the command substitution beforehand. The unstated fact is that the input is scanned once, no going back and rescanning afterwards. This means the '[' triggers rule 7 identification which allows for the (") within the command. Substitutions are made in place during the scan.

Correction, the unstated fact is indeed stated, see Rule 11!
My bad.


% unset a
can't unset "a": no such variable
% set b "Hello to [set a hello] which is also known as $a"
Hello to hello which is also known as hello
% unset x
can't unset "x": no such variable
% set c "Hello to $x, which is also known as [set x wrongly]"
can't read "x": no such variable
% set x
can't read "x": no such variable

I hope this helps.
-Brian


Yes, if one reads all the rules, one can probably reason in a courtroom that rule 11 is sufficient to explain that a command substitution inside of a word with double quotes on both ends can be completely processed as if it stood on its own. That's the recursive part.

For a newcomer, I would think that it might be more clear with an example, and/or a slightly different wording. Documentation is often more difficult than writing code, but here's a wording I think might possibly make rule 4 more clear w/o the need to refer to other rules:


If the first character of a word is double-quote (“"”) then the word is terminated by a *closing* double-quote character. Any following double quotes that are \ escaped, or are enclosed in a properly nested command substitution, are not closing quotes for the word. For example,


set a "the next 2 quotes [set b "\"<- are both not a close quote for the first quote"] but is closed by this final one \" here ->"



After 20 years of tcl coding, I was quite surprised when I saw this done. I often use quotes around bare words although not needed, in order to get my text editor to color the quoted strings and to make it clear what the intention is. This will make it easier to do so now.

Thanks.




Subject: Re: rule 4 on double quotes
From: Andreas Leitgeb
Newsgroups: comp.lang.tcl
Organization: A noiseless patient Spider
Date: Thu, 31 Mar 2022 18:35 UTC
References: 1 2 3
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: avl...@logic.at (Andreas Leitgeb)
Newsgroups: comp.lang.tcl
Subject: Re: rule 4 on double quotes
Date: Thu, 31 Mar 2022 18:35:40 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <slrnt4bt3s.ejv.avl@logic.at>
References: <t13bvq$1pn6$1@gioia.aioe.org> <t13cdh$1ti4$1@gioia.aioe.org>
<c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com>
Reply-To: avl@logic.at
Injection-Date: Thu, 31 Mar 2022 18:35:40 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f29db5c85827ea1f94f53fd892b0324b";
logging-data="26331"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/bHjxltZcdl410z6AoWHgi"
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:hL2Eqc+O8nGYgKM5SqxNg5Yjebo=
View all headers
briang <bgriffinfortytwo@gmail.com> wrote:
Substitutions are made in place during the scan.

Well, I'd think they're only "arranged for" during the scan, because

% eval {puts "fu[puts hello]bar}
missing "

doesn't print "hello" before noticing the missing "

(and I also wouldn't expect byte-compilation within eval)


Subject: Re: rule 4 on double quotes
From: Oleg Nemanov
Newsgroups: comp.lang.tcl
Date: Tue, 26 Apr 2022 14:44 UTC
References: 1 2 3 4
X-Received: by 2002:ad4:5bc2:0:b0:446:4243:640e with SMTP id t2-20020ad45bc2000000b004464243640emr17196686qvt.125.1650984242331;
Tue, 26 Apr 2022 07:44:02 -0700 (PDT)
X-Received: by 2002:a05:6830:1259:b0:605:d104:fa9e with SMTP id
s25-20020a056830125900b00605d104fa9emr916731otp.298.1650984242076; Tue, 26
Apr 2022 07:44:02 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.tcl
Date: Tue, 26 Apr 2022 07:44:01 -0700 (PDT)
In-Reply-To: <slrnt4bt3s.ejv.avl@logic.at>
Injection-Info: google-groups.googlegroups.com; posting-host=194.190.114.28; posting-account=RPJNegoAAAAUgD_yLdrci9D1ZtZ1oI0L
NNTP-Posting-Host: 194.190.114.28
References: <t13bvq$1pn6$1@gioia.aioe.org> <t13cdh$1ti4$1@gioia.aioe.org>
<c3b05fa5-a9af-4761-88c3-3c82964e142bn@googlegroups.com> <slrnt4bt3s.ejv.avl@logic.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1cf25395-0549-465b-9f10-feabb3c8c3a4n@googlegroups.com>
Subject: Re: rule 4 on double quotes
From: oleg.o.n...@gmail.com (Oleg Nemanov)
Injection-Date: Tue, 26 Apr 2022 14:44:02 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 12
View all headers
четверг, 31 марта 2022 г. в 21:35:44 UTC+3, Andreas Leitgeb:
briang <bgriffin...@gmail.com> wrote:
Substitutions are made in place during the scan.
Well, I'd think they're only "arranged for" during the scan, because

% eval {puts "fu[puts hello]bar}
missing "

doesn't print "hello" before noticing the missing "

Doesn't this is due to the word splitting is done before the substitution?
To see word boundaries we need to find the closing ".


1
rocksolid light 0.7.2
clearneti2ptor