Commit Graph
516 Commits
Author SHA1 Message Date
José Valim 488344839a Allow any function identifier as a variable, closes #1649 2013-08-25 10:28:55 -03:00
José Valim f02f90fce0 Merge pull request #1648 from pminten/quote-improper-lists
Allow Macro.escape([1|2])
2013-08-25 03:45:37 -07:00
Peter Minten c73919993d Allow Macro.escape([1|2])
This fixes #1646
2013-08-25 09:35:08 +02:00
José Valim 4a0db2e974 Handle more types on bitsyntax. 2013-08-24 16:07:55 -03:00
José Valim 55aad68512 Splice nested binaries with default types and size 2013-08-24 15:55:24 -03:00
José Valim da50584060 Deprecate def/4 and friends in favor of def/2 with unquote and friends 2013-08-23 19:42:20 +02:00
José Valim a6cdc835a1 No need to wrap quote do: nil in a block 2013-08-23 11:22:11 +02:00
José Valim 0510512375 Deprecate to_binary in favor of to_string
We also rename Binary.Chars to String.Chars.

As Binary.Chars was the protocol used for interpolation,
it is semantically correct to have a protocol that works
on strings, instead of raw binaries.
2013-08-22 12:19:30 +02:00
José Valim 0e1aac32f5 import accept :functions and :macros as values in :only
This commit removes the previous ambiguous syntax:

    import :functions, Foo

In favor of:

    import Foo, only: :functions
2013-08-22 10:34:45 +02:00
José Valim 8b02a2a7a0 Convert external functions into quoted expressions 2013-08-20 23:52:00 +02:00
José Valim 3e1099830a Properly handle @file that comes from warnings 2013-08-20 11:39:29 +02:00
José Valim f84b4121ce Allow << _ :: utf8 >> <> binary in matches, closes #1619 2013-08-18 14:36:54 +02:00
José Valim ff2af55e1d Improve warning for ungrouped clauses 2013-08-18 10:05:36 +02:00
Stratos Voukelatos 42339679e0 Fixed comment typo in lib/elixir/src/elixir_translator.erl 2013-08-16 00:34:23 +03:00
José Valim a696b9cc11 Update Macro.to_string comments 2013-08-15 14:27:53 +02:00
José Valim 5ce8f34fe6 Add missing helpers file 2013-08-14 13:32:50 +02:00
José Valim ff9aba4350 Handle unsafe vars inside or/and 2013-08-14 13:24:12 +02: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 19ac199b06 Move from unicode to binary to String.from_char_list 2013-08-13 08:39:16 +02:00
José Valim b0317a8e18 Allow capture on anonymous function calls 2013-08-11 15:16:00 +02:00
José Valim cdef2e762f Merge pull request #1584 from vanstee/atom-system-limit-error
Return error when tokenizing oversized atom
2013-08-11 02:48:12 -07:00
José Valim a7ee38ae9e Detect windows symlinks on File.rm_rf 2013-08-11 11:43:47 +02:00
vanstee ad67e4935a Return error when tokenizing oversized atom
When "atomizing" an unsafe string, we need to make sure the atom length
is going to be less than the system limit (255). Any function calling
`unsafe_to_atom` checks for an error and returns it if present.
2013-08-10 17:10:47 -04:00
vanstee 5371101ad0 Include line number in atomization 2013-08-10 16:54:31 -04:00
vanstee d9cb9c99f0 Separate atomization from tokenization 2013-08-10 16:53:03 -04:00
José Valim e83dc3495e Pass Line and File as arguments to we don't read the table twice 2013-08-10 19:09:38 +02:00
José Valim de72fa2012 Merge pull request #1579 from pminten/add-location-of-overridden-def
Add location of overridden def in warning message
2013-08-10 06:42:38 -07:00
José Valim 55de57ced6 Ensure proper line on interpolations inside heredocs, closes #1581 2013-08-10 15:40:02 +02:00
Peter Minten 95bffca5f0 Use relative filename in redefined def warning
The absolute filename can be a bit long, which makes the warning
slightly harder to parse for humans.
2013-08-10 13:08:26 +02:00
Peter Minten 00d2ad0649 Add location of overridden def in error message
When a def is overridden, for example because there are multiple
clauses with the clauses of a different def are between them, it
is nice to know where the def that was overridden starts.

This should fix #1559.
2013-08-10 11:59:24 +02:00
José Valim 03d2260776 Fix warnings and update CHANGELOG 2013-08-07 12:51:31 +02:00
José Valim d8393f97ca Remove deprecated code 2013-08-06 17:21:40 +02:00
José Valim a8cee02558 Fix regression on do/end blocks, closes #1551 2013-08-06 15:44:52 +02:00
José Valim 69754fa6b5 Raise on &0 inside capture 2013-08-04 19:04:22 +02:00
José Valim 6d62983581 Capture now works with macros, closes #1534 2013-08-03 16:15:29 +02:00
José Valim 34b6e17a1b Fix shadowing warning in case with function, closes #1524 2013-08-02 13:04:03 +02:00
José Valim 31818d677e Stop checking for matches once we reach a fun 2013-08-02 10:35:52 +02:00
José Valim c6f9287ce7 Only raise on local macro conflicts if it was previously defined 2013-08-02 09:53:30 +02:00
José Valim a154a9e99a Allow &1.foo syntax inside capture 2013-07-31 16:03:52 +02:00
José Valim 46fae17b7e Allow &() as a general capture mechanism 2013-07-31 14:53:22 +02:00
José Valim 6a68ca5eef Deprecate function/1 and function/3 2013-07-31 12:58:07 +02:00
José Valim b5428adda6 Add &local/arity and &Remote.fun/arity 2013-07-31 12:58:07 +02:00
José Valim abb2ada8b1 Make & an unary operator 2013-07-29 14:08:33 +02:00
José Valim a013b39b8f Do not double escape strings inside interpolation, closes #1494 2013-07-25 14:34:13 +02:00
José Valim 3ebd7bbdb7 Allow defmacrocallback to be specified in Behaviour 2013-07-25 13:05:26 +02:00
José Valim 888155ee08 Do not re-use stacktraces on IEx, closes #1486
This commit also cleans up error normalization throughout Elixir.
2013-07-24 16:43:54 +02:00
José Valim 155398c445 Warn for unmatched docs 2013-07-23 23:37:36 +02:00
José Valim 424bbbaf74 Fix the build 2013-07-23 14:07:57 +02:00
José Valim fdb8e8d137 Improve inspect for functions 2013-07-23 13:11:03 +02:00