Commit Graph
15877 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
felipe stival 0a08b06f67 Add backticks to tuple in docs (#12379) 2023-02-05 23:47:20 +01:00
felipe stival b3cc3dd47c Accept {module, function} tuples in ExUnit setup (#12378) 2023-02-05 21:42:08 +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
Bram Verburg 4e4f150cd6 Fix elixir_erl:debug_info/4 returning core_v1 (#12376) 2023-02-02 21:47:19 +01:00
José Valim e1eecb8ca6 Move path loading and IEx booting to Elixir (#12375)
This gives us more control to cache paths
and over boot compared to relying on scripts.

This also makes it easier for someone to provide
alternatives to IEx.
2023-02-02 21:45:24 +01:00
José Valim bcf789f41e Do not share refs across receives 2023-02-01 21:24:45 +01:00
José Valim a33693e161 Also share the creation of references/aliases 2023-02-01 18:40:56 +01:00
José Valim 25080822b8 Enable selective receive optimizations in Task
This will work from Erlang/OTP 26.
2023-02-01 15:47:45 +01:00
Michał Łępicki e31aee546b Correct stop return type (#12373) 2023-02-01 09:58:47 +01:00
José Valim 52a0a8e221 Clarify stop is async 2023-02-01 00:09:45 +01:00
KiKoS0 bf4556470a Support nested expressions in cursor_context/1 (#12369)
Closes #11876.
2023-01-30 13:03:33 +01:00
José Valim b08834c0de Update CHANGELOG 2023-01-30 00:10:45 +01:00
José Valim acb0e3c728 Ensure ssl and inets are available on Mix.Utils 2023-01-29 19:15:53 +01:00
José Valim 96c6a541f5 Keep the compiler for erlang packages 2023-01-29 18:44:43 +01:00
José Valim 0721d1a01a Return the accumulator from app traversal 2023-01-29 18:37:03 +01:00
José Valim d4ef3ea9bb Improve version mismatch error message 2023-01-29 18:23:12 +01:00
Michał Łępicki f58826e594 Fix IEx.Broker.take_over/3 spec (#12371)
The return type changed in
https://github.com/elixir-lang/elixir/commit/44f88ef91c3202a3603b5f42a05862909907dae7#diff-3e0ede30fd7f00793f4a685a30d4dfc03dfd3c881e1f648d9299b03470ad5a42R134
2023-01-29 16:25:09 +01:00
José Valim 9f927fdb04 Embed application tracer into app loader 2023-01-29 14:01:42 +01:00
Andrea Leopardi b22d732d3f Improve docs for DynamicSupervisor.child_spec/1 (#12370) 2023-01-29 13:51:32 +01:00
José Valim 3798fcce03 Update docs and code comments 2023-01-29 13:11:25 +01:00
José Valim b45ce8ad85 Add a test for builtin apps restoration in Mix.install/2 2023-01-29 12:55:07 +01:00
José Valim 302da8c73f Merge private Mix.PublicKeys module into Mix.Local 2023-01-29 12:52:46 +01:00
José Valim 50960ca449 Restore builtin apps for Mix.install/2 2023-01-29 12:52:34 +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
José Valim bcb1f68a06 Monitor instead of linking on StringIO 2023-01-28 12:30:33 +01:00
José Valim 42af91d6ac Move capture logging inside the test process 2023-01-28 12:13:03 +01:00
José Valim d06e2d851b Optimize application tracer (#12368) 2023-01-28 00:25:23 +01:00
andrewmelis 49954d7184 Fix out-of-order arguments in IEx.Server.shell_loop (#12366) 2023-01-27 20:38:32 +01:00
José Valim 074d30958d mix format 2023-01-27 12:34:56 +01:00
José Valim 44f88ef91c Use IO prompt for better autocompletion experience
Unfortunately this has two implications:

  * The IEx counter always grows instead of being reset
  * pry(N) will now be styled as iex(N)

Closes #12365.
2023-01-27 12:25:11 +01:00
José Valim 158114e3fe Refactor prompt writing 2023-01-27 11:19:10 +01:00
José Valim 754ad427c1 Clarify :parser_options scope, closes #12364 2023-01-26 07:55:10 +01:00
José Valim d5882c4f17 Use :code.is_loaded/1 to avoid file system lookup 2023-01-24 14:41:27 +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
Andrea Leopardi 1c75810f42 Add type t:Registry.listener_message/0 (#12362)
I also added some docs for this feature.
2023-01-24 12:53:58 +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
Rich Morin 71070cda93 Fix some wording in the docs (#12357) 2023-01-21 20:38:21 +01:00
José Valim b222b2372d Add and use --purge-consolidation-path-if-stale 2023-01-20 23:15:47 +01:00
Simon Prévost a88938bd11 Let pid/1 parse a pid's inspection string (#12355) 2023-01-20 20:14:18 +01:00
sabiwara c0b9f74f27 Optimize for into map as Enum.map/2 (#12353) 2023-01-19 16:19:25 +01:00
sabiwara 44b5d3dcb7 Optimize for as Enum.map/2 when sensible (#12352) 2023-01-19 13:47:14 +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