José Valim
ef5916bb67
Refactor and normalize format
2022-10-27 23:29:09 +02:00
sabiwara
8feb6c223c
Use orelse in for guard ( #12217 )
2022-10-27 07:27:41 +02:00
José Valim
386113af86
Include snippets in more syntax errors
2022-10-25 12:52:20 +02:00
José Valim
8f57c0ed1b
Update notes on |
2022-10-25 10:36:40 +02:00
Marc-André Lafortune
f63e600c6c
Add precision to error message ( #12213 )
2022-10-25 10:29:28 +02:00
José Valim
d739957b3d
Expand left side of -> in rescue, closes #12209
2022-10-21 17:04:25 +02:00
José Valim
0a1a5991d9
Remove unecessary parens in nullary type funs
2022-10-14 13:55:23 +02:00
José Valim
e070d4fbf4
Use correct column in invalid alias terminator
2022-10-11 14:56:34 +02:00
José Valim
9fb3cf6030
Fix ambiguity in &INT with brackets
2022-10-08 10:52:37 +02:00
sabiwara
26d050e65b
Handle unused :uniq comprehensions ( #12116 )
2022-10-05 10:42:56 +02:00
José Valim
b7dd72f567
Improve error message for invalid % { syntax
2022-09-27 18:56:29 +02:00
José Valim
9aca91ce06
Improve error message for too many arguments in access
2022-09-27 17:51:23 +02:00
José Valim
29ed6925b3
Warn for nested calls without parens inside keywords
2022-09-24 16:50:07 +02:00
José Valim
3ee1e83eef
Remove parser ambiguity within stepped ranges
2022-09-10 00:32:13 +02:00
José Valim
755b25249b
Improve error message for unbound _
2022-09-09 22:26:35 +02:00
Michael Adkins
4dd730267a
Add commas to bare usage of "however" where appropriate ( #12119 )
2022-09-06 20:29:01 +02:00
José Valim
904072081a
Raise on missing struct for module conflict, closes #12113
2022-09-04 16:01:37 +02:00
sabiwara
239ae0877a
Handle syntax_colors in quoted_to_algebra and dbg ( #12106 )
2022-09-04 15:10:22 +02:00
Marc-André Lafortune
b5d40c6f99
Behaviour as runtime dependency ( #12103 )
2022-08-30 08:34:08 +02:00
José Valim
c94924a6c2
List compile-time deps for after_verify
2022-08-29 23:37:21 +02:00
José Valim
2a78d378cd
Add TODOs
2022-08-23 08:53:38 +02:00
José Valim
937cece227
Improve error message
2022-08-22 11:27:49 +02:00
José Valim
f97d8585e8
Deprecate ... as a valid function call identifier
2022-08-15 15:10:54 +02:00
Andreas Lappe
487c24d518
Fix typo ( #12068 )
2022-08-12 12:49:10 +02:00
sabiwara
7dc718b292
Replace inner AST for bitstring modifiers ( #12055 )
2022-08-06 09:28:07 +02:00
Łukasz Samson
7ebea3b246
Emit consistent position meta on fn capture traces ( #12033 )
2022-08-02 09:44:12 +02:00
Andrea Leopardi and José Valim
65829ef4e8
Add Process.alias/0,1 and Process.unalias/1 ( #12020 )
...
We can have these now that Elixir requires Erlang/OTP 24+.
Co-authored-by: José Valim <jose.valim@dashbit.co >
2022-07-28 09:53:37 +02:00
José Valim
76a683f41c
Add deprecations
2022-07-27 17:18:53 +02:00
sabiwara
c64606b765
Warn on missing parentheses in bitstring modifiers ( #11862 )
2022-07-27 13:28:24 +02:00
José Valim
239f8f9e3b
Require Erlang/OTP 24
2022-07-27 13:20:42 +02:00
José Valim
391a287709
Track all arities in imports inside quotes, closes #11651
2022-07-26 21:36:30 +02:00
sabiwara
c84c65710b
Improve error messages for dot syntax ( #12003 )
2022-07-26 12:20:20 +02:00
José Valim
b75c43876d
Update TODOs and deprecations
2022-07-25 16:41:23 +02:00
José Valim
8fc62b814e
Add TODO related to ...
2022-07-25 09:31:21 +02:00
José Valim
03514d70eb
Add @after_verify callback
...
@after_verify hooks are invoked right after the current module is verified for
undefined functions, deprecations, etc. A module is always verified after
it is compiled. In Mix projects, a module is also verified when any of its
runtime dependencies change. Therefore this is useful to perform verification
of the current module while avoiding compile-time dependencies.
Here are some sample use cases:
* Ecto can use this validate associations consistently and effectively
* Phoenix can use this to verify routes
* Surface can use this to verify component attributes
2022-07-20 16:34:15 +02:00
José Valim
fd5f3a1674
Share syntax colors between IEx and dbg ( #11992 )
2022-07-18 11:54:05 +02:00
José Valim
658bceee63
Track dbg callback inside Mix projects
2022-07-16 20:48:16 +02:00
José Valim
dd01320f22
Optimize variable loading in eval
2022-07-15 11:41:47 +02:00
José Valim
7913d5d02e
Lazily expand module attributes to avoid compile-time deps
...
Before this patch, this code would add a compile-time
dependency to Bar and Baz:
defmodule Foo do
@mods [Bar, Baz]
def example(arg) when arg in @mods, do: arg
end
That's because Bar and Baz were read in the module body,
even though ultimately they are only expanded and used
inside a function.
This patch postpones the expansion of aliases until they
are used. So if `@mods` is only used inside functions,
no compile-time deps are added.
Closes #11714 .
2022-07-14 16:36:43 +02:00
José Valim
ed82538f9a
Simplify passing of values to the checker
2022-07-12 12:55:48 +02:00
José Valim
5f0454d27d
Start checker processes lazily
2022-07-12 12:13:04 +02:00
José Valim
824f81010a
Automatically cascade generated: true on macro expansion, closes #11976
2022-07-11 16:40:26 +02:00
José Valim
6bb2eb317b
Treat requires from local macros as compile-time deps
2022-07-11 13:17:01 +02:00
José Valim
2a7d58c3f7
Register functions used in local macros as exports
...
Ideally we want to list them as requires but we don't have
the infrastructure to do so. So meanwhile, we list them
as exports, which is the same level used by require.
2022-07-11 09:09:54 +02:00
José Valim
03ffc663e7
Add autocompletion of binary modifiers in IEx
...
Macro.path/2 was added as a helper function for
traversing expressions and returning their context.
2022-07-09 17:06:04 +02:00
José Valim
cd74e72441
Do not emit already consolidated warnings during mix xref trace, closes #11899
2022-07-06 11:05:42 +02:00
José Valim
25002872b8
Keep file env consistently as an absolute path, closes #11964
2022-07-05 23:04:03 +02:00
sabiwara
04eda2e8f8
Fix bug in fn defaults ( #11963 )
...
Closes #11961 .
2022-07-05 16:02:01 +02:00
José Valim
410c468467
Remove outdated TODO
2022-06-19 23:00:10 +02:00
José Valim
41a698a1f3
Wrap more of the struct expansion stacktrace
2022-06-15 20:56:00 +02:00