posted by
ruthlilycat in
s2_for_dummies at 2006-10-26 15:03:
All the comments on my entries (and I haven't done anything to them) are getting this:
Error running style: Died in S2::run_code running EntryPage::print(): Undefined subroutine &S2::Builtin::LJ::userlite_as_string called at (eval 282)[/home/lj/src/s2/S2.pm:232] line 1723.
Kunzite? Programmers? Anyone?
camomiletea responds at 2006-10-26 10:28 with:
Should be fixed now. Some code was pushed, and some files weren't in place.
i
reply to
camomiletea at 2006-10-26 10:52 with:
actually, a critical backend function was removed and then restored.
camomiletea replies at about 2006-10-26 23:01 with:
Hmm, well, if this were to be pushed as a whole that wouldn't happen.
http://community.livejournal.com/changelog/3994804.html#cutid1 I think... It looks like one function was supposed to be replaced by another... and wasn't
the comment is later deleted and i cannot reply to it because it does not exist anymore.
my response would have been something like:
core1.s2:
function builtin ljuser() : string is added.
function builtin userlite_as_string(UserLite ul) : string's description is changed, noting that it shouldn't be used anymore and that the previous function should be used instead.
function builtin ljuser_by_string(string username) : string is removed. it was only ever used in expressive/mixit and (i think) was never put live and is thus safe to remove completely.
function UserLite::as_string() [fixed] : string is altered to use UserLite::ljuser().
S2.pm:
a UserLite constructor is created.
sub ljuser_by_string is renamed to sub UserLite__ljuser. it's s2 equivalent is UserLite::ljuser(). it patches through to LJ Perl's ljuser function.
sub userlite_as_string is completely removed from the codebase. core1.s2 references this function and many s2 layout layers call this function. any layer that calls this function in any way is going to die a horrible death.
that is what this problem was.