aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ic
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2013-08-16 14:04:45 +0200
committerBjörn Gustavsson <[email protected]>2013-09-19 13:30:28 +0200
commitde853c60333c6e95379b69ee81bd5fff1dca95de (patch)
treecfef551d9c84661b4e379d1602d5fd9702cabbc8 /lib/ic
parent8c4f1595473db1f01b2dd363b49d32d4b93b90b2 (diff)
downloadotp-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 'lib/ic')
0 files changed, 0 insertions, 0 deletions