José Valim
aeea9eef36
Do not match on empty block meta
2017-10-06 15:19:37 +02:00
José Valim
94e2eec4bd
Do not crash IEx on :init.stop
2017-08-01 21:10:29 +02:00
José Valim
f68a483f45
Ensure elixir_erl:debug_info/4 does not require elixir running ( #6401 )
2017-07-29 17:27:05 +02:00
José Valim
763dd4abca
Also store file sizes in manifest
...
The goal is to make compilation more robust to
flukes in the mtime measurement.
Closes #5815 .
2017-05-08 22:28:33 +02:00
José Valim
010007eff9
Use new extra_chunks option when possible
2017-05-08 15:26:43 +02:00
José Valim
865b7ef930
Deprecate parens as nil and support guards on funs with zero arity
...
Closes #5799
2017-02-21 13:06:43 +01:00
José Valim
c56f6c04c1
Fix how the generated annotation is handled in Elixir
2017-02-20 23:14:16 +01:00
José Valim
a722e6c18c
More module renaming and organizing
2017-02-19 21:20:43 +01:00
José Valim
adb0a0f095
Move erlang modules to new erl namespace
2017-02-19 20:20:59 +01:00
José Valim
e2db69cf69
Convert default argument handling to Elixir pass
2017-02-18 19:44:38 +01:00
José Valim
5ec804a6cc
Assert valid match and guard constructs on Elixir pass
2017-02-08 15:58:34 +01:00
Eksperimental
0990fcc205
Remove use of underscore before ordinal numbers in functions and variables ( #5414 )
2016-11-04 19:44:40 +01:00
Eksperimental
4a5b49fe6b
Properly spell UTF-8 ( #5373 )
2016-10-28 21:09:23 +02:00
Aleksei Magusev
cf1addd3d5
There is no :erlang.is_record/1 function
2016-10-21 00:58:39 +02:00
Aleksei Magusev
89020064b6
Consider is_process_alive/1 calls in returns_boolean/1 check
2016-09-28 13:19:26 +02:00
Aleksei Magusev
f2c92046d6
Consider is_record/1,2,3 calls in returns_boolean/1 check
2016-09-28 13:08:45 +02:00
Aleksei Magusev
b4ee2a3f8c
Consider is_map/1 calls in returns_boolean/1 check
2016-09-28 12:49:49 +02:00
José Valim
dadb493957
Update return boolean check for orelse/andalso
2016-09-28 10:30:48 +02:00
Andrea Leopardi
df644e34c7
Force defmodule to not be tail-call optimized ( #4958 )
2016-07-08 10:35:47 +02:00
José Valim
856db3b93a
Disable relative paths when loading mix.exs, closes #4465
2016-06-12 18:55:00 +02:00
eksperimental
e59a9f82fd
Use proper case for proper nouns and acronyms
...
Use proper case for proper nouns (e.g., Elixir, Rebar, Git, and others)
as well as acronyms (e.g., URL, HTTP, and others).
2016-06-06 15:17:59 +02:00
José Valim
65725fa771
Rename bundle/2 to describe/2
2016-05-30 12:19:21 +02:00
José Valim
42deb43fa1
Add @enforce_keys to defstruct, defexception and friends
2016-05-26 13:26:58 +02:00
eksperimental
c3d28f76f2
Replace 'char_list' and 'char list' with 'charlist'
2016-05-07 03:20:57 +07:00
eksperimental
685e87bdf0
Formmating: Add white space around vertical bar ( #4507 )
2016-04-25 00:55:49 +02:00
eksperimental
ba111fb9b3
Formatting: add white space after comma ( #4491 )
...
Standardizes the use of comma leaving a white space after it whenever applicable.
Note: It does not enforce this in quantifiers in regular expressions such as in: `x{1,3}`
2016-04-19 01:23:50 +02:00
José Valim
4ed1c201d7
Do not build structs if not necessary
2016-04-13 16:56:15 +02:00
José Valim
51180f5630
Properly change __ENV__.file when @file is set
...
Note that @file may be set from the :file meta as well.
2015-11-21 05:02:38 +08:00
José Valim
913ca994f3
Add generated annotations
2015-10-11 12:02:47 -05:00
José Valim
a585df60ed
Ensure File.touch and File.touch! properly work with universal time
...
Operations that change mtime should work with universal times.
Closes #3722 .
2015-09-11 23:45:47 +02:00
José Valim
2e322c15c9
Refactor extraction of meta location
2015-05-16 10:41:39 +02:00
eksperimental
f9bcdd5c1c
Add space after comma: Format consistently
2015-03-17 22:55:27 +07:00
José Valim
1c79f9eca4
Emit :file attribute on all nodes instead of a select few
2014-07-08 15:53:32 +02:00
José Valim
538b51c20a
Remove usage of :filelib functions
...
This is to work around a regression in 17.1 where many
:filelib functions were broken. More information read:
http://erlang.org/pipermail/erlang-bugs/2014-June/004465.html
2014-06-27 23:00:18 +02:00
José Valim
64f8541ee6
Make cond a special form so it does not leak vars on head
2014-06-25 01:46:56 +02:00
José Valim
bf8f5c4bb8
Add String.to_char_list and List.to_string
2014-05-17 13:59:17 +02:00
José Valim
fdf53787cf
Remove unecessary .hrl macros
2014-04-30 19:24:04 +02:00
James Fish
29e0fadec1
Fix compiler abstract code
...
Previously the source filename of a module was sometimes a binary, this
change ensures it is always an erlang string.
Previously dialyzer did not know not to auto import bifs as it does not
read the compile options from a beam. This change uses an attribute in
the abstract code rather than a compile option so that dialyzer does not
auto import bifs.
2014-04-27 13:49:35 +01:00
José Valim
56f15d9f4e
Do not add spaces after { and before }
...
This makes the source code consistent with the result
returned by inspect/2.
2014-04-21 19:06:35 +02:00
José Valim
6a725ab91f
Provide List.from_char_data! and String.from_char_data!
2014-02-23 11:04:24 +01:00
José Valim
655e54b551
Update Macro functions to support maps
2014-02-19 10:33:59 +01:00
José Valim
8e38540470
Support :into in for comprehensions
2014-02-17 14:24:17 +01:00
José Valim
ba88ee7c92
Improve binary handling to properly consider chars and bitstring with specifiers
...
Closes #1963
2014-01-10 22:25:08 +01:00
José Valim
dc63e25995
Simplify erlang translation var building
2013-12-30 14:33:14 +01:00
José Valim
f547ef82e2
Clean up literal handling and add elixir_bitstring
2013-12-29 15:41:39 +01:00
José Valim
c4419268b8
Move module compilation to rely on elixir_exp
2013-12-28 15:01:31 +01:00
José Valim
2655a318c2
Move some macros back to __op__ to work around bug in erl_eval
2013-11-22 15:42:12 +01:00
José Valim
5bd12f9cb9
Move lexical tracker to scope
2013-11-01 16:03:12 +01:00
José Valim
3cf9774b92
Improve warn on invalid expressions
2013-10-07 20:16:54 +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