Scott Bradshaw
b5d883c8bb
Add support for epoch time (%s) to Calendar strftime ( #12380 )
2023-02-07 09:58:33 +01:00
José Valim
22b7686fa8
Raise on misplaced ... in typespecs, closes #12377
2023-02-06 11:28:58 +01:00
José Valim
5e710eaa8c
Do not add runtime deps for alias references in patterns and guards
2023-02-03 19:37:15 +01:00
José Valim
2f6f8964ce
Improve docs and coverage
2023-02-03 19:11:49 +01:00
José Valim
a7848bd432
mix format
2023-02-02 22:01:01 +01:00
José Valim
3b72a34389
Add a test for compilation to core
2023-02-02 21:50:59 +01:00
KiKoS0
bf4556470a
Support nested expressions in cursor_context/1 ( #12369 )
...
Closes #11876 .
2023-01-30 13:03:33 +01:00
José Valim
e48365242a
Prune load paths before compilation
...
Prior to this commit, Elixir would never prune load
paths before compiling the current project and dependencies.
This means that if you had two independent dependencies,
`abc` and `xyz`, and `abc` was compiled before `xyz`,
`abc` would still be in the load path as `xyz` was compiled.
This commit makes it so load paths are always pruned to the
current dependencies before the project is compiled. This makes
it so unlisted Erlang apps, Elixir apps, and umbrella siblings
are no longer available. This also comes with the benefit that
we can fully remove the application tracer and compiling
dependnecies for larger applications is faster as the load paths
no longer accumulate.
Closes #12367 .
Closes #12318 .
2023-01-29 12:18:50 +01:00
Andrea Leopardi and José Valim
7674bb09fd
Add Code.ensure_all_loaded(!)/1 ( #12363 )
...
Co-authored-by: José Valim <jose.valim@dashbit.co >
2023-01-24 13:15:35 +01:00
JP Ramassini
aa8e6d3feb
Add error message when piping into an expression ending in bracket-based access ( #12359 )
...
Closes #12351 .
2023-01-23 21:43:42 +01:00
Andrea leopardi
e36328c68a
Remove unnecessary module prefix in Macro
2023-01-23 17:12:53 +01:00
Andrea Leopardi
43fae44326
Format logic expressions in dbg/2 ( #12358 )
2023-01-23 17:07:50 +01:00
José Valim
d86916cae8
Improve error message for {foo: :bar} and <<foo: :bar>>
2023-01-19 00:09:40 +01:00
José Valim
61a7af6ed1
Trim down work required on boot time
2023-01-18 23:38:02 +01:00
José Valim
7b769a4ab0
Add Code.prepend_paths/1 and Code.append_paths/1
2023-01-18 15:11:19 +01:00
José Valim
a3a7b15768
Fix accidental variable match in errors from macro, closes #12340
2023-01-15 11:19:02 +01:00
José Valim
77e3293233
Properly handle Macro inputs and output types in expansion
...
Closes #12299
Closes #12324
2023-01-14 16:00:14 +01:00
Ed Flanagan
09d35db6c1
Add Map.intersect/2 and Map.intersect/3 ( #12336 )
2023-01-13 10:01:37 +01:00
Leandro Pereira
3edac7c6a3
system_test - link instead of copy to bypass macos 13 codesign ( #12327 )
...
Fix #12290
2023-01-10 20:46:33 +01:00
sabiwara
36a99359f4
Fix Macro.to_string/1 for large negative integers ( #12326 )
2023-01-10 10:50:34 +01:00
José Valim
6b7e99e50f
Support :lines in System.cmd/3 ( #12323 )
2023-01-09 10:59:03 +01:00
José Valim
79bebf971f
Use new Code.loaded?/1
2023-01-06 23:13:56 +01:00
Greg Mefford
f8540ab193
Add details about waiting information in --profile time compiler output ( #12310 )
2023-01-04 23:31:21 +01:00
José Valim
7b73407af8
Respect line breaks after =
...
Many editors use indentation for collapsing
so folks may want to use `var =` followed by
new line to collapse. This PR makes it possible
and aligns `=` with other operators.
2023-01-04 12:06:58 +01:00
Aaron Renner
a9e49ab9ed
Add URI.append_path/2 ( #12298 )
2022-12-21 22:56:16 +01:00
José Valim
d8578a5a5d
Escape maps when expanding __ENV__
2022-12-12 19:31:03 +01:00
José Valim
3186819506
Apply rearrange ops only inside parens, closes #12296
2022-12-10 19:27:26 +01:00
José Valim
11f4372848
Fix line references
2022-12-07 11:04:47 +01:00
José Valim
8018f2816e
mix format
2022-12-07 10:33:03 +01:00
Zacck
b513926ee8
Implement and raise Kernel.TypespecError ( #12291 )
2022-12-07 10:13:22 +01:00
sabiwara
4b5097ca6d
Add :on_undefined_variable compiler option ( #12279 )
2022-12-03 18:41:41 +01:00
José Valim
b8a4292475
Improve warning for pin
2022-11-29 10:54:47 +01:00
José Valim
d716c72f6f
More error handling adjustments
2022-11-28 16:36:37 +01:00
José Valim
b24869687b
Introduce mechanism to collect several errors in a module ( #12275 )
2022-11-28 15:40:30 +01:00
sabiwara
7ebfcc7de9
Fix formatter error on nested do without parenthesis ( #12274 )
2022-11-27 15:15:18 +01:00
sabiwara
3b41b84a3a
Macro.quoted_literal?/1 supports bitstring literals ( #12270 )
2022-11-25 11:27:17 +01:00
Thanabodee Charoenpiriyakij
feb9b6e331
Fix Calendar.strftime/2 format negative year incorrectly ( #12268 )
...
Closes #12266
2022-11-24 09:36:41 +01:00
José Valim
b3c65ca9ea
Do not crash for missing line info on type warnings
...
Closes #12263 .
2022-11-23 05:33:51 +01:00
José Valim
428242e64c
Do not warn on captured underscored vars from defmodule
...
Closes #12262
2022-11-23 05:19:47 +01:00
sabiwara
c6b7302f79
Fix invalid typespec: struct ( #12259 )
2022-11-22 16:39:45 +01:00
sabiwara
0f934e2bbb
Fix compiler crash on invalid local call typespec ( #12258 )
2022-11-22 08:02:04 +01:00
Marcus Kruse
df84311337
Fix wildcard edge case ( #12255 )
2022-11-20 11:05:57 +01:00
José Valim
bf708737d3
Handle false positive on List.to_charlist/1 formatting, closes #12248
2022-11-17 20:13:13 +01:00
José Valim
0e9cb57fcd
Keep expression when normalizing is_struct in blame
...
Closes #12243 .
2022-11-15 23:03:42 +01:00
José Valim
ea8e499996
Generate unique vars in defguard
2022-11-09 13:01:48 +01:00
José Valim
d9f2af697c
Include [if_undefined: :warn] on var metadata
2022-11-08 13:37:42 +01:00
José Valim
749349205d
Do not include module variables in prune_binding
2022-11-08 11:34:55 +01:00
José Valim
439a138089
Revert pruning of defmodule
2022-11-08 00:40:20 +01:00
José Valim
1fc747c75e
Add prune binding to module tracing event
2022-11-08 00:40:20 +01:00
José Valim
fbc459288d
Prune binding from env and on literals
2022-11-03 09:56:26 +01:00