Yitzchak Scott-Thoennes wrote:
I meant specifically v-string magic; as far as I know, no other magic
is considered part of the value and carried across an assignment (aka
sv_setsv*). I'll try to take a look for myself, but was hoping you
could answer off the top of your head what all actually uses the saved
original vstring representation.
Oh, of the top of my head, the only code I am aware of that uses the original
v-string representation out of magic v-strings is the version object code.
Being able to recover that information was a necessary precondition to making
version objects work efficiently. I now have a heuristic guess so I can usually
recover the original notation even with 5.6.0-5.8.0 (inclusive) before magic
v-strings were introduced.
Or, 3) do something so that copied vstrings lose their vstringity
when altered.
Oh, I could [easily] add set magic to the v-string mtable, but pp_assign (and
others) don't *call* SetMagic, so this fix isn't going to work. Better to patch
B::Deparse to make an effort to see whether the original string representation
is still valid (though I have this vague memory that code in toke.c is not part
of the public API, and hence is not available to use here).


John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Blvd
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 4 of 7 | next ›
Discussion Overview
groupperl5-porters @
postedJul 25, '07 at 8:11p
activeDec 23, '11 at 10:47p



site design / logo © 2019 Grokbase