Do not alter match data in Fcapitalize etc.

Without this patch, (capitalize "x") can alter the match data,
which is not what users expect.  Problem found by running
morse-tests-unnato-region in a stripped-down Emacs.
Perhaps ‘load’ should also save and restore the match data?
That would be a simpler fix, though arguably incompatible.
* src/lread.c (save_match_data_load): New function.
* src/chartab.c (uniprop_table):
* src/doc.c (reread_doc_file):
* src/eval.c (Fautoload_do_load):
* src/fns.c (Frequire): Use it.
1 job for master in 90 minutes and 1 second (queued for 2 seconds)
Status Job ID Name Coverage
  Test
failed #2467
test-all

01:30:01

 
Name Stage Failure
failed
test-all Test The script exceeded the maximum execution time set for the job
make -C test check-expensive
make[1]: Entering directory '/builds/emacs/emacs/test'
rm -f ./*.tmp
make[2]: Entering directory '/builds/emacs/emacs/test'
make[3]: Entering directory '/builds/emacs/emacs/test'
ELC lisp/net/tramp-tests.elc
GEN lisp/net/tramp-tests.log
Pulling docker image gitlab/gitlab-runner-helper:x86_64-f100a208 ...
ERROR: Job failed: execution took longer than 1h30m0s seconds