Commit Graph
518 Commits
Author SHA1 Message Date
José Valim 70432ca7f2 Remove deprecations 2013-04-20 19:22:13 -06:00
Yurii Rashkovskii 507fda525b Implement GenEvent.Behaviour 2013-04-16 10:26:42 -07:00
José Valim c125636535 Ensure the macro system respects imports hygiene, closes #875 2013-04-13 18:25:43 -07:00
José Valim 531bd8da0c Ensure hygiene also works with directl calls to Kernel.function 2013-04-13 17:19:19 -07:00
José Valim a4d8fc2893 Ensure hygiene applies to function and partial applications 2013-04-13 17:19:19 -07:00
José Valim f2e78d3d39 function(:is_atom, 1) is deprecated in favor of function(is_atom/1)
This is required so we can identity the proper function/arity
from quoting and properly hygienize function retrievals.
2013-04-13 17:19:19 -07:00
José Valim 5d1d3f23e9 Merge pull request #922 from bellthoven/fix_function_calls
Allow 'foo . (42)' calls
2013-04-12 18:44:29 -07:00
José Valim 4096b31cfe Ensure the proper scope is passed on args call, closes #949 2013-04-12 18:08:56 -07:00
José Valim d3238b8778 Merge pull request #870 from devinus/words-with-modifiers
Add support for %w and %W (words) sigils with return type modifiers
2013-04-11 22:45:50 -07:00
Yurii Rashkovskii 8d2034f07c Implement Record.import macro that allows using private macros on public records 2013-04-11 16:28:44 -07:00
Devin Torres b82b51a870 Add support for %w and %W (words) sigils with return type modifiers 2013-04-11 15:32:27 -05:00
Yurii Rashkovskii 26599e7812 Improve elixir application doctest coverage 2013-04-11 08:25:17 -07:00
José Valim 728d08c3bd Revert "Enum.split_while did not behave as advertised and provided the wrong API. Provide Enum.split_with instead"
This reverts commit 1ffda62f2e.
2013-04-11 08:08:01 -07:00
José Valim b9ef56df27 Merge pull request #859 from yrashk/insert-delete-element
Add insert_elem/3 and delete_elem/2 functions
2013-04-11 06:41:00 -07:00
José Valim 1ffda62f2e Enum.split_while did not behave as advertised and provided the wrong API. Provide Enum.split_with instead 2013-04-11 06:37:30 -07:00
Yurii Rashkovskii 0fad1883df Add insert_elem/3 and delete_elem/2 functions, deprecate setelem
in favour of set_elem

For Erlang versions prior to R16B, emulate corresponding BIFs
2013-04-11 05:11:23 -07:00
José Valim e412ce6b22 Can defined a nested module called Elixir, closes #858 2013-04-10 16:32:30 -07:00
José Valim e01f958b1a Allow match syntax on nested records, closes #871 2013-04-10 16:22:38 -07:00
José Valim ca0250a9d7 Refactor find_dispatch to loop data functions and macros lists just once 2013-04-10 15:47:37 -07:00
alexrp a34f38ee40 Only error on ambiguous imported function calls, not on the imports themselves. Fixes #788. 2013-04-11 00:18:09 +02:00
José Valim f8c0729f3b Split doctest structure from other kernel tests 2013-04-09 19:14:55 -07:00
Yurii Rashkovskii 7be936eb6d Convert Kernel to doctests 2013-04-09 18:54:13 -07:00
Gustavo Dutra 9016a18fa5 Allow multiple lines 'foo . ()' calls 2013-04-07 15:00:54 -03:00
Gustavo Dutra bd6f27a5d5 Allow 'foo . (42)' calls 2013-04-07 01:38:30 -03:00
José Valim f9e74f944e Add Macro.escape_quoted instead of Macro.escape with options 2013-04-06 15:13:32 -06:00
José Valim a963269244 Fix a bug on Module.to_binary(Elixir), closes #920 2013-04-06 14:35:14 -06:00
José Valim 4612877e78 Improvements to File.ls implementation 2013-04-06 08:49:33 -06:00
José Valim c0fbea8e9b Merge pull request #909 from devinus/unicode-split
Unicode split
2013-04-06 07:32:36 -07:00
José Valim c3e50546ec Merge pull request #899 from n1rvana/master
Added File.ls & File.ls!
2013-04-06 07:30:59 -07:00
José Valim b954d53585 Merge pull request #907 from devinus/fix-record-guard-for-tuples
Fix is_record tests to check tuple_size before accessing the first eleme...
2013-04-06 07:30:36 -07:00
Yurii Rashkovskii 25bc992e76 Update binary_to_ macros to use binary_to_ functions in R16B.
Also add support for float_to_binary/2
2013-03-29 14:01:32 -07:00
Devin Torres 196358525a Unicode split 2013-03-27 11:31:52 -05:00
José Valim f7cad1cffc Improve error messages 2013-03-27 09:54:00 -06:00
Devin Torres fee5c5d762 Fix is_record tests to check tuple_size before accessing the first element 2013-03-26 17:17:41 -05:00
Nirvana Platform 34da5f883b File.ls & ls! tests now cover non-existent directory situation 2013-03-24 12:30:10 -03:00
Nirvana Platform 1c2d41974c renamed to ls, added unit tests 2013-03-23 21:08:05 -03:00
José Valim 6024014482 Improve error message on unclosed interpolation/string, closes #794 2013-03-17 13:57:20 -06:00
José Valim 2c5fa31ed7 Ensure Macro.escape also respects nested quotes 2013-03-11 08:17:53 -06:00
José Valim ecb23a4b42 Allow dynamic dispatch names on defdelegate 2013-03-10 21:44:18 -06:00
José Valim ff825b89bc Support unquoting on Macro.escape 2013-03-10 21:26:35 -06:00
José Valim 2817b2ee90 Allow unquote in def*/2
This makes meta-programming in Elixir much easier and more friendly.
For example, here is how to convert a keywords argument into a bunch
of functions:

    Enum.each [foo: 1, bar: 2, baz: 3], fn { k, v } ->
      def unquote(k)(), do: unquote(v)
    end
2013-03-10 17:59:04 -06:00
José Valim affc44d020 unquote now applies to the closest quote 2013-03-10 17:23:02 -06:00
Yurii Rashkovskii 6093aa0384 defrecord should return body evaluation result
Closes #861
2013-02-28 07:38:56 -08:00
José Valim e1e3bff3fb Show a better error message in cases of possible deadlocks 2013-02-27 16:44:24 -07:00
José Valim 28ebdad467 Do not depend on terminal values for IO.ANSI tests 2013-02-26 20:08:31 -07:00
José Valim 98e488a52d Aliases defined inside macros should be carried over 2013-02-26 14:18:37 -07:00
José Valim 22da62600e Record rewriter should also optimize in-module calls 2013-02-25 09:55:41 -07:00
Yurii Rashkovskii 81aae93726 Binary.Inspect.Utils.escape/2 shouldn't escape a standalone hash (#)
Closes #852
2013-02-24 16:55:08 -08:00
Yurii Rashkovskii e7274fdb51 Better error reporting for invalid bit string comprehension generators 2013-02-24 15:30:22 -08:00
José Valim c10b5e7e4f Fix bug in Path.expand 2013-02-21 20:10:50 -07:00