Front page | perl.perl5.porters |
Postings from July 2011
GSOC Status Report, Week 7
Thread Next
From:
Brian Fraser
Date:
July 11, 2011 00:43
Subject:
GSOC Status Report, Week 7
Message ID:
CA+nL+nYESTYypwR+yNTg_xovbgHXyhqC1tPgcQnG=uwBtVyAUQ@mail.gmail.com
Hey people.
First order of business, here's the repo with the progress as of now:
https://github.com/Hugmeir/gsoc-pad-utf8-safety/commits/stashgv_clean
Feel free to dissect it to oblivion, but as I'm not finished rebasing,
please excuse the mess for a while longer.
rafl tried it a couple of days ago and a pair of bugs related to threaded
builds and assertions popped out, so I spent most of the weekend hunting
those. (doy & hobbs)++, since their combined explanation on unions basically
solved one of the issues for me. Also, huge thank you to rafl, mst, HellKat
and the Cyberkat.eu folk for setting me up with an awesome ssh that can
actually run all of the test suite in a single day (less than ten minutes
actually. It's beautiful and somehow keeps getting dirt in my eyes).
And now, some rough spots that need attention:
- I mentioned that I added new versions of functions with _(pvn|pv|sv)
versions; But what should I do about the original versions, which are now
little more than wrappers around the new functions? Leave them next to the
new ones? Macros somewhere? rafl suggested the macro way, which I prefer the
most, but with that I'm not sure where to sic sv_derived_from and sv_does.
- *ò =~s///r; gives a coercion failure, which isn't present in blead. I
can't quite follow pp_subst enough as to figure out a good fix; A bad one
(in light of my ignorance) would be to change two s = SvPV_force()s into s =
(isGV_with_GP() && (rpm->op_pmflags & PMf_NONDESTRUCT)) ? SvPV() :
SvPV_force(); Suggestions/explanations welcome as usual.
-
- Until yesterday, GvNAMEUTF8() was doing something like (HEK_UTF8() ||
HEK_WASUTF8()), as the double check was needed by most places that called
SvUTF8() on GVs (pp_concat, stringify, substr, SvPV, etc). However, that
double-check was occasionally breaking hv_(fetch|store|common|etc) calls for
globs with latin-1 in them, so I removed the HEK_WASUTF8 out of GvNAMEUTF8
and added it explicitly in SvUTF8(). Question is, is there any value to
adding a GvNAMEWASUTF8() macro, seeing how there's not much of anything that
would end up using it, rather than continue using HEK_WASUTF8(GvNAME_HEK())?
- Father C, your comments for pp_caller remain unimplemented, because I
don't quite understand what you are suggesting :( Would you mind clarifying
it a bit? Also, I had to disregard a part of your advice on pp_ref, as using
a SV can get it both UTF8 and nul clean, which is hopefully worth the extra
memory.
This week I'll finish rebasing and keep on adding tests; Once reviews start
coming in, I'll focus on those, but if there's any extra time I'll try to
get prototypes clean. Oh, and do the midterm evaluation, I guess.
Thread Next
-
GSOC Status Report, Week 7
by Brian Fraser