diff options
author | Björn Gustavsson <[email protected]> | 2013-08-16 14:04:45 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-09-19 13:30:28 +0200 |
commit | de853c60333c6e95379b69ee81bd5fff1dca95de (patch) | |
tree | cfef551d9c84661b4e379d1602d5fd9702cabbc8 /bootstrap/lib/stdlib | |
parent | 8c4f1595473db1f01b2dd363b49d32d4b93b90b2 (diff) | |
download | otp-de853c60333c6e95379b69ee81bd5fff1dca95de.tar.gz otp-de853c60333c6e95379b69ee81bd5fff1dca95de.tar.bz2 otp-de853c60333c6e95379b69ee81bd5fff1dca95de.zip |
Teach erlc to handle UTF-8 file names
The 'erlc' program passes options to the 'erl' program using
the '-s' option. The '-s' option causes all options to be converted
to atoms, which implies that UTF-8 file names may not be given on
the command line.
We could solve just the UTF-8 problem by using '-run' and change
the erl_compile module to expect strings instead of atoms, but since
that is an incompatible change, we should take the opportunity to
make more incompatible changes while we are at it.
Specifically, when 'erlc' was first written, there was no way to pass
command line arguments starting with '-' to Erlang, so 'erlc' did all
parsing of arguments and translated options to atoms starting with a
'@' character (for example, -I was translated to @i). Since then,
the '-extra' option has been introduced which allows us to pass
anything to Erlang at the end of the command line.
Therefore, while at it, do the minimum of necessary command line
parsing in the 'erlc' program (e.g. the '-smp' option), passing the
command line essentially unchanged to 'erl' using the '-extra' option,
and rewrite the option parsing in Erlang.
Diffstat (limited to 'bootstrap/lib/stdlib')
-rw-r--r-- | bootstrap/lib/stdlib/ebin/erl_compile.beam | bin | 4880 -> 7312 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/bootstrap/lib/stdlib/ebin/erl_compile.beam b/bootstrap/lib/stdlib/ebin/erl_compile.beam Binary files differindex 1311018a7f..244bb5e290 100644 --- a/bootstrap/lib/stdlib/ebin/erl_compile.beam +++ b/bootstrap/lib/stdlib/ebin/erl_compile.beam |