Commit Graph
4412 Commits
Author SHA1 Message Date
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 LeopardiandJosé 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