It appears that a configure script tries to unset all shell variables
that contain newlines in a subshell as part of the caching code. This
causes the subshell to exit early if any of the variables is readonly.
At a minimum, this breaks caching.
Here is a configure.ac file that demonstrates the issue:
AC_INIT(p, v)
readonly x='
'
AC_OUTPUT
Here is the result with Autoconf 2.69:
$ autoconf
$ ./configure
./configure: line 1699: x: readonly variable
configure: creating ./config.status
./configure: line 23: x: readonly variable
If you further compare using the --cache-file option with and without
the x variable being readonly, you'll find that the cache files differ.