patch from David Jencks for feature request #316321
15 files changed