diff options
author | Gabriel Scherer <gabriel.scherer@gmail.com> | 2012-07-10 11:33:00 +0000 |
---|---|---|
committer | Gabriel Scherer <gabriel.scherer@gmail.com> | 2012-07-10 11:33:00 +0000 |
commit | 9c275a2e7ab393617319dadb74fcfd70bc66ede9 (patch) | |
tree | f56b45d03f86be6d08027efc300f4764afdc01e9 /otherlibs/win32unix/socket.c | |
parent | bc139ae14e8d772b73e039e8a236eff714b5b3f6 (diff) |
PR#5312: remove the Windows @responsefile feature, that conflicted
with '-w @...' command-line warning specifications [breaking change]
This change has relatively wide consequences as it modifies the windows
OCaml runtime: when the runtime computed the argument vector "argv"
passed to the program, it automatically expanded arguments of the form
@foo into the content of the filename "foo" (parsed as a sequence of
command-line arguments). This means that this "feature" was
automatically enabled for all user programs written in OCaml and
linking to the usual runtime.
This conflicted with the more recent feature of the OCaml *compiler*
(which is affected, as an OCaml program), that allows to pass warning
specifications of the form "-w @...", for example -w @ae. On windows,
it would try to replace it by the content of the file "ae", leading to
an error.
Given the warning specifications are widely used in OCaml programs
(causing silly Windows portability problems), and the @reponsefile is
anecdotical at best (at poll [1] on the Caml-list revealed no user
using this feature), it was decided to remove @responsefile
altogether.
[1] see mailing-list thread "[community poll for PR#5312] Do some
OCaml Windows users still use the @responsefile feature?"
This change affects all OCaml programs compiled under Windows. Users
previously relying on the @responsefile feature should now explicitely
expand Sys.argv themselves; use Arg.parse_argv to rerun Arg
command-line handlers on user-provided string arrays.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/win32unix/socket.c')
0 files changed, 0 insertions, 0 deletions