summaryrefslogtreecommitdiff
path: root/doc/emacs
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2021-09-22 11:03:30 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2021-09-25 20:25:02 +0200
commit8d0ee5e7a9d635a625f87fd8c6eed39a8a749131 (patch)
tree5cc3aa784cd522ed2ba313192084ec9c00ac81d4 /doc/emacs
parent32de11d8deff2c4df6d3f8a7b0de8d81980a91e4 (diff)
downloademacs-8d0ee5e7a9d635a625f87fd8c6eed39a8a749131.tar.gz
emacs-8d0ee5e7a9d635a625f87fd8c6eed39a8a749131.tar.bz2
emacs-8d0ee5e7a9d635a625f87fd8c6eed39a8a749131.zip
Constant-propagate variables bound outside loops
Previously, variables bound outside `while` loops were not substituted inside even in the absense of mutation. Add the necessary mutation checking inside loops to allow propagation of values and aliased variables. * lisp/emacs-lisp/byte-opt.el (byte-optimize--inhibit-outside-loop-constprop): New variable. (byte-optimize-form-code-walker): First traverse each loop without substitution to discover mutation, then without restrictions. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-loop): New. (bytecomp-tests--test-cases): Add test cases.
Diffstat (limited to 'doc/emacs')
0 files changed, 0 insertions, 0 deletions