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