I just looked through expand.c and saw that expand_string_internal grew
a lot over the last 2 years. Currently it's 2359 lines long, expand.c is
5442 lines in total .... ;)
What do others think about refactoring it a bit? Some larger chunks
could be placed in subroutines, maybe all functionality should be
factored out into single subroutines, called via a mapping-tables
indexed by the expansion-type.
This would be mostly a cleanup job, but IMHO greatly improves the
readability.