José Valim
bae4c1c4c8
Merge pull request #1750 from elixir-lang/jv-protocols
...
Implement protocol consolidation
2013-10-10 03:45:30 -07:00
José Valim
f510d4c3df
Normalize all stacktrace under the same name and improve IEx errors
...
Kudos to @pragdave for suggesting some those improvements and
providing an initial implementation in pull request #1752 .
2013-10-08 20:47:21 +02:00
José Valim
3cf9774b92
Improve warn on invalid expressions
2013-10-07 20:16:54 +02:00
José Valim
436cdde499
Fix bug where nested defmodule was shadowing alias hygiene
2013-10-07 13:57:07 +02:00
José Valim
5cb06e9640
Allow a module to force its debug_info to be compiled
2013-10-07 10:16:02 +02:00
José Valim
4997bc1e10
Remove deprecated and unused code branches
2013-10-04 21:39:55 +02:00
José Valim
60b2928678
Ensure &() works on blocks with one expressoin, closes #1704
2013-09-29 21:53:04 +02:00
José Valim
ea5df228ed
String module now depends on Regex module
2013-09-29 13:39:45 +02:00
José Valim
4b317a75d8
Save typespecs attributes with proper line numbers, closes #1613
2013-09-29 13:15:33 +02:00
José Valim
d92b2e6831
Avoid calling Kernel:raise from erl
2013-09-25 11:34:37 +02:00
José Valim
f8c66c8516
Remove unecessary vars cache
2013-09-24 13:21:58 +02:00
José Valim
9839bfa4ad
Deprecate previous partial application syntax
2013-09-14 09:56:40 -03:00
José Valim
212acf437a
Provide better exceptions for invalid unquote args, closes #1680
2013-09-11 12:19:41 -03:00
José Valim
14272c98b4
Improve invalid match and guard errors, closes #1673
2013-09-11 11:21:10 -03:00
José Valim
c3bdfc9ba7
No need to mark typedoc as persisted if we are manually persisting it
2013-09-10 12:46:22 -03:00
José Valim
2f5afcaab9
Merge pull request #1637 from pminten/typedoc-rebased
...
Typedoc rebased
2013-09-10 08:01:18 -07:00
Aleksey Gureiev
8dbfcba237
added handling of multiple heredocs on the same line
2013-09-07 17:59:40 +03:00
José Valim
9f81ac89e5
Remove previously deprecated code
2013-09-03 15:37:02 -03:00
José Valim
4caa2e01f1
Move is_odd and is_even to Integer
2013-09-03 09:41:55 -03:00
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
Peter Minten
a5ea8a63bf
Use typedoc attribute to store typedocs.
...
This requires a bit of a workaround because `typedoc` is also used to store the
doc of the next type to be defined. We store typedocs in the docs table when
types are defined and later filter them out and put them into `typedoc`.
2013-08-22 16:30:24 +02:00
Peter Minten
1be3335f0b
Add a @typedoc attribute to document types
...
Also a new `Kernel.Typespec.beam_typedocs` function to get the typedoc
information.
2013-08-22 16:30:24 +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