path: root/README
diff options
authorPeter Stephenson <pws@users.sourceforge.net>2012-10-07 17:50:18 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2012-10-07 17:50:18 +0000
commit321471891e259c7b406f3cfaf1c076b28ae16a5f (patch)
tree19d797c373bd51fe49437a7eb58933fbf1c81c09 /README
parentfff9a871e469bf689f22ff47561e0de960d5d49b (diff)
30718: emulate command evaluations should apply sticky emulation
to autoloads, too
Diffstat (limited to 'README')
1 files changed, 32 insertions, 2 deletions
diff --git a/README b/README
index c5c18a90d..7542f8d35 100644
--- a/README
+++ b/README
@@ -30,8 +30,38 @@ Zsh is a shell with lots of features. For a list of some of these, see the
file FEATURES, and for the latest changes see NEWS. For more
details, see the documentation.
-Possible incompatibilities
+Incompatibilities between 5.0.0 and 5.0.1
+In 5.0.0, the new "sticky" emulation feature was applied to functions
+explicitly declared within an expression following `emulate ... -c', but
+did not apply to functions marked for autoload in that expression. This
+was not documented and experience suggests it was inconvenient, so in
+5.0.1 autoloads also have the sticky property.
+In other words,
+ emulate zsh -c 'func() { ... }'
+behaves the same way in 5.0.0 and 5.0.1, with the function func always being
+run in native zsh emulation regardless of the current option settings.
+ emulate zsh -c 'autoload -Uz func'
+behaves differently: in 5.0.0, func was loaded with the options in
+effect at the point where it was first run, and subsequently run with
+whatever options were in effect at that point; in 5.0.1, func is loaded
+with native zsh emulation options and run with those same options. This
+is now the recommended way of ensuring a function is loaded and run with
+a consistent set of options.
+Note that the `autoload -z' has never affected the options applied when
+the function is loaded or run, only the effect of the KSH_AUTOLOAD
+option at the point the function is loaded.
+Possible incompatibilities between 4.2 and 5.0
Here are some incompatibilities in the shell since the 4.2 series of
releases. It is hoped most users will not be adversely affected by these.