Changed push_text from a macro to a function. This saves around 12Kb of binary size. And since make_shared_string() does a lot of work anyway, there will be very little actual change in speed. The only drawback is that strlen() is no longer constant-optimized in the fairly common push_text("str") case. But doing a checksum of the string is bound to take about a magnitude more time than strlen anyway. There is no noticeable change in the 'make benchmark' times, at least.