José Valim
19d402b7d5
Disable native compilation when on_load attributes is present
...
This is a work around an Erlang bug, see #845 for more information.
Closes #845 .
2013-02-17 12:22:08 -07:00
José Valim
5557e620ff
Backwards incompatible change on before_compile and after_compile
...
Both callbacks now receive the environment as
first argument instead of the module.
2013-02-16 19:57:14 -07:00
José Valim
fb82b0c679
Pick latest variable in between clauses instead of picking a random one
2013-02-14 09:43:54 -07:00
José Valim
28211b2714
Ensure aliases expansion also works for implicit aliases
2013-02-03 21:57:39 -07:00
José Valim
109c07e757
Improve aliases hygiene by using metadata
2013-02-03 15:12:38 -07:00
José Valim
3537bbbbf4
Refactor aliases handling
2013-02-03 13:07:20 -07:00
José Valim
cd51c80362
Tidy up and clean up quote API, closes #814
2013-02-03 12:14:18 -07:00
Yurii Rashkovskii
a1a576e9d1
Implement as_boolean/1 type
...
Closes #798
2013-02-03 10:40:35 -08:00
José Valim
f4aed8e873
Reduce vars footprint in case/receive clauses
2013-02-02 13:20:59 -07:00
José Valim
008ee62f8b
Take into account Erlang may pass line numbers as none
2013-02-02 09:00:43 -07:00
José Valim
7196543060
Improve how aliases for defmodule are generated
2013-01-30 16:43:29 -07:00
José Valim
3137bfc614
Move bootstrap code for IEx to IEx.CLI
2013-01-29 12:30:09 -07:00
José Valim
4d3d61e173
Deprecate :local.(args) syntax
2013-01-28 21:21:18 -07:00
José Valim
20942ee329
Better support for Unicode lists
2013-01-28 11:43:25 -07:00
José Valim
ba528f0f92
Add default timeout to elixir_code_server and unify all call points
2013-01-27 11:48:27 -07:00
José Valim
fef7ef7233
Ensure consistent use of stab operator in do/end, parens and fn/end, closes #780
2013-01-27 11:00:59 -07:00
Yurii Rashkovskii
2bfe0fe358
Implement integer -> size(integer) syntax shortcut for bitsyntax
...
Closes #795
2013-01-25 17:47:18 -08:00
José Valim
ded17471fa
Revert "Merge pull request #778 from alexrp/master"
...
There is still some discussion pending on this, see #791
This reverts commit f2d4d1e0b9 , reversing
changes made to c524bcdeb2 .
2013-01-24 13:43:34 -07:00
alexrp
a3df724bb8
Use system_services_timeout for elixir_code_server calls in elixir_compiler.
2013-01-23 10:14:48 +01:00
José Valim
abb1ae981a
Add hygienic imports to macros
2013-01-21 20:45:49 -07:00
José Valim
b3747a28e1
Raise an exception if var!(x) does not expand to a proper var
2013-01-21 19:59:37 -07: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
5bde00a9c7
Properly expand var! second argument
2013-01-21 18:50:40 -07:00
José Valim
9a62a43340
Aliases for defmodule also works for raw atoms
2013-01-21 18:40:10 -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
4633c6449d
Update LICENSE
2013-01-21 07:55:39 -07:00
José Valim
6109768376
Ensure we do not ditch modules with anonymous functions in them
2013-01-19 20:38:54 -07:00
José Valim
6740748b7a
Compile Path on bootstrap
2013-01-19 10:54:14 -07:00
José Valim
cb536a4740
Improve docs for the string module
2013-01-17 17:03:48 -07:00
José Valim
e2fde7699c
Do not generate lowercase clause if lowercase == codepoint
2013-01-13 23:58:37 +01:00
José Valim
f2c08ce14f
Fix unused variable warning
2013-01-13 20:56:19 +01:00
José Valim
449532e1fb
Fix identation, improve error messages
2013-01-12 23:43:07 +01:00
José Valim
17a2ce9766
Ensure requires are sorted on Code.eval
2013-01-11 23:29:44 +01:00
José Valim
4e651c8aae
Expand aliases inside quote
2013-01-11 09:55:38 +01:00
José Valim
eaa9714b3a
Improve hygiene for variables, related to #722
2013-01-10 14:29:45 +01:00
José Valim
bdc5f7ddd2
Also handle < and > inside interpolations
2013-01-10 14:29:45 +01:00
alexrp
531e64c66a
Add back /> as a deprecated operator.
...
This commit can simply be reverted when the operator is to be removed.
2013-01-08 01:12:15 +01:00
alexrp
c9908a23dd
The pipeline operator is now '|>'.
...
Fixes #718 .
2013-01-07 23:38:55 +01:00
José Valim
acbb6c0fee
Functions defined inside quote(location: :keep) retain the source stacktrace
2013-01-02 10:59:52 +01:00
José Valim
2eef987c50
Make a distinction between file and module body in stacktraces
2013-01-02 10:21:42 +01:00
José Valim
4644d7a607
Do not rely on the third arg of catch clauses
...
This is an undocumented Erlang feature and it
must not be part of Elixir public API.
2012-12-31 16:23:24 +01:00
José Valim
5f2d4eb472
Rename BOOTSTRAP to __BOOT__
2012-12-31 15:59:57 +01:00
José Valim
bf14e4b771
Discard spurious cons list from stacktrace
2012-12-31 15:14:58 +01:00
José Valim
b9313340b7
Keep \377 and 0377 as the octal syntax, closes #737
2012-12-31 13:46:56 +01:00
José Valim
2bd71f7604
Improve how exceptions are handled in general
...
* raise expects an explicit stacktrace in order to re-raise
* the Exception module now holds function for both stacktrace
manipulation and interface with erlang exceptions
* exceptions have their default functions with doc set to false
2012-12-31 13:33:30 +01:00
José Valim
2588bc8ec2
Underscored functions are allowed with passed via only
2012-12-31 11:51:44 +01:00
mururu
5711d74fd9
Support "\a"
2012-12-27 09:18:13 +09:00
José Valim
2267effae6
Merge pull request #731 from kimshrier/octal_and_hex_escapes_in_characters
...
add octal and hex escapes for characters
2012-12-24 10:55:20 -08:00
Yurii Rashkovskii
36c9e11064
Remove __info__/1 from __info__(:functions)
...
Closes #734
2012-12-24 12:51:09 +01:00