Commit Graph
52 Commits
Author SHA1 Message Date
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