Strings are immutable, so String.set and String.copy are deprecated.
To the latter point, the changes to Pretty and Errormsg are only necessary for compilation in 4.06; behavior should be the same in previous versions.
As of OCaml 4.03:
Array.create is deprecated
String.uppercase deprecated; replace with uppercase_ascii
I have confirmed compilation in 4.03, 4.04, and 4.06.0+trunk (with other changes to fix the Num module movement problem, a different PR) on Darwin. I have run "make test", and the same tests fail before and after the changes (which really should be semantics-preserving).
As of OCaml 4.02:
To the latter point, the changes to Pretty and Errormsg are only necessary for compilation in 4.06; behavior should be the same in previous versions.
As of OCaml 4.03:
I have confirmed compilation in 4.03, 4.04, and 4.06.0+trunk (with other changes to fix the Num module movement problem, a different PR) on Darwin. I have run "make test", and the same tests fail before and after the changes (which really should be semantics-preserving).