A long-range correction scheme for generalized-gradient-approximation exchange functionals