This reverts the parts of commit e509df69a5 that accidentally reverted a bunch of earlier commits. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
e509df69a5