Commit Graph
61 Commits
Author SHA1 Message Date
José Valim 6a6ba9f50d Remove deprecated code 2014-08-02 22:35:57 +02:00
José Valim aeefd59b15 Add Logger 2014-07-30 19:46:26 +02:00
José Valim 6272b60d36 Ensure all elixir dependencies are started before hand, closes #2542 2014-07-16 12:48:46 +02:00
José Valim 999a535603 Manually call check_command before eval, closes #2449 2014-07-10 11:44:03 +02:00
José Valim 7fabf32d9e Do not crash if applications are already started 2014-07-04 12:13:53 +02:00
James Fish 39cd4a6594 Fix unmatched returns dialyzer warnings 2014-07-04 02:45:16 +01:00
José Valim aa01dd1fc1 Ensure derived protocols are defined with a file 2014-06-24 11:28:27 +02:00
José Valim 3ec0d20621 Only set encoding when there is noshell, closes #2432 2014-06-22 14:16:40 +02:00
José Valim 3bb8e17e9e Add iodata_to_binary and chardata_to_string to IO 2014-05-17 13:06:40 +02:00
José Valim c435dbe38d Convert #elixir_env to a struct too 2014-04-30 16:32:13 +02:00
James Fish 68d1bd9308 Fix stacktraces for :elixir.eval_forms/4
:erl_eval and :eval_bits can call :erlang.raise/3 with an incomplete
stacktrace, so extend the stacktrace when this occurs.

Mailing list thread:
https://groups.google.com/forum/#!topic/elixir-lang-core/cpSlgBjrRBQ
2014-04-29 17:57:39 +01:00
José Valim 56f15d9f4e Do not add spaces after { and before }
This makes the source code consistent with the result
returned by inspect/2.
2014-04-21 19:06:35 +02:00
José Valim ea9b686b28 Emit a warning if running on latin1 2014-04-21 12:15:27 +02:00
José Valim 6624f31472 Merge branch 'jv-char-data'
Conflicts:
	lib/eex/lib/eex/tokenizer.ex
	lib/elixir/lib/file.ex
	lib/elixir/lib/kernel.ex
	lib/elixir/lib/record/extractor.ex
	lib/elixir/lib/string.ex
	lib/ex_unit/lib/ex_unit/doc_test.ex
	lib/mix/lib/mix/archive.ex
	lib/mix/lib/mix/dep/fetcher.ex
	lib/mix/lib/mix/dep/umbrella.ex
2014-04-21 08:38:48 +02:00
José Valim 03189d05b3 Properly set standard_error to unicode 2014-04-10 19:54:34 +02:00
José Valim c37a244d66 Add Code.eval_file/2 2014-03-27 12:31:00 +01:00
José Valim 233a3ed4ec Change the Path module to work only with char_data and always return binaries 2014-02-22 19:33:37 +01:00
José Valim 83c93beaa6 Get rid of environment macro counter in favor of a global one 2013-12-30 11:45:23 +01:00
José Valim d4da5be4ee Remove more duplication in between expansion and translation 2013-12-29 16:40:11 +01:00
José Valim b03e2173a5 Rename translate_each to translate and temp_vars to match_vars 2013-12-29 16:08:58 +01:00
José Valim 0e627c9b09 Use expansion on function bodies 2013-12-29 10:54:10 +01:00
José Valim f8b019c7c8 Move to the new expansion on the front-end 2013-12-28 23:14:55 +01:00
José Valim c4419268b8 Move module compilation to rely on elixir_exp 2013-12-28 15:01:31 +01:00
José Valim ade26dedd8 Work on Elixir expressions rather than forms 2013-12-28 11:47:44 +01:00
José Valim 63fdbfb8cf Implement Module.eval_quoted in Elixir 2013-11-25 12:59:14 +01:00
José Valim f8380e9dcd Get rid of unused _@MODULE var 2013-11-22 22:41:30 +01:00
José Valim 174f031efd Eval should take into account other contexts 2013-10-30 16:15:19 +01:00
José Valim db47bd56b4 Add Path.relative_to_cwd and rely on it when generating stacktraces 2013-08-14 12:36:54 +02:00
José Valim cea31f69dc Review and deprecate list <-> binary conversion 2013-08-14 11:16:37 +02:00
José Valim a7ee38ae9e Detect windows symlinks on File.rm_rf 2013-08-11 11:43:47 +02:00
José Valim 99da29b430 Ensure eval callbacks gets a fresh vars dict 2013-07-10 16:04:36 +02:00
José Valim 4048e542d9 cp_r should pinpoint place of failure on errors 2013-06-18 19:52:06 +02:00
José Valim 2c98c0999d An Elixir module now translates to Elixir.Module instead of Elixir-Module 2013-05-23 14:36:56 +02:00
Alexei Sholik c634a5d232 Add :elixir.scope_for_eval/2 convenience function 2013-05-22 15:57:36 +03:00
José Valim 0e8bac7e9e IO.gets and IO.getb now return binaries when reading from stdio 2013-05-08 15:13:06 -06:00
José Valim 01cc9ed0ec Uncomment features related to unquote fragments 2013-04-12 18:14:34 -07:00
Yurii Rashkovskii a1a576e9d1 Implement as_boolean/1 type
Closes #798
2013-02-03 10:40:35 -08:00
José Valim f380d0c93f Export elixir:translate_forms/3 2013-01-21 19:50:07 -07:00
José Valim 9e37412b7b Provide an endpoint for translating elixir forms 2013-01-21 19:34:29 -07:00
José Valim 89cbe93bba The AST now allows metadata to be attached to each node
This means the second item in the AST is no longer an integer
(representing the line), but a keywords list. Code that relies
on the line information from AST or that manually generate AST
nodes need to be properly updated.
2013-01-21 15:42:03 -07:00
José Valim 17a2ce9766 Ensure requires are sorted on Code.eval 2013-01-11 23:29:44 +01:00
José Valim b32f6ef51f Keep variables in a single dictionary
This ensures we give the same treatment to quoted
and non-quoted variables.
2012-12-02 12:22:10 +01:00
José Valim a061528731 Ensure IEx runs only after Elixir's CLI process its options 2012-11-30 17:07:12 +01:00
José Valim b25d5f27d7 Ensure IEx boots fast and with Elixir available, closes #673 2012-11-28 23:19:00 +01:00
José Valim c3b58eef16 file needs to be a binary 2012-11-15 16:30:55 +01:00
José Valim 32764b3370 Copy all __ENV__ information on eval 2012-11-15 10:01:18 +01:00
José Valim 01f9518899 Keep user's given name when rebinding variables
The following code:

    counter = 1
    counter = 2

Is now rewritten internally to:

    counter   = 1
    counter@1 = 2

Which gives us a couple things:

1. Better debugging
2. We can now show warnings for rebound variables not used

Elixir also keeps `_@` prefix to store internal variables
(for example, `_@1`, `_@MODULE`, etc).

Closes #607.
2012-11-01 12:37:08 +01:00
José Valim f7490bd5af Provide faster, with docs and debug info first compilation 2012-10-30 10:01:09 +01:00
Yurii Rashkovskii 154e73b0d4 Add String.t() and char_list() types, discourage use of string() because it might lead to confusion.
Note, however, that dialyzer will often talk about string() anyway.

Addresses #588
2012-10-29 01:55:30 -07:00
José Valim 833a153b33 Avoid dispatching to locals from compiled structures 2012-10-29 00:45:32 +01:00