Alexander Gubarev
a46b95b816
Fix IEx.h/1 macro spec introspection ( #15863 )
2026-09-07 08:26:05 +02:00
Alexander Gubarev
7223808989
Fix IEx incomplete codepoint autocomplete crash ( #15864 )
2026-09-07 08:25:50 +02:00
José Valim
3389f84059
Fix more warnings during test suite runs
2026-08-25 13:53:28 +02:00
Alexander Gubarev
138680489e
Fix IEx.Helpers.h print spec for default arg function ( #15692 )
2026-07-28 13:23:40 +02:00
Alexander Gubarev
a598106b23
Fix 'not in' as continuation operator in IEx ( #15678 )
2026-07-26 14:37:16 +02:00
Alexander Gubarev
4b4ac32b73
Remove stale :three_op operator from IEx.Evaluator ( #15677 )
2026-07-25 21:40:37 +02:00
Alexander Gubarev
8f63ee11b3
Fix IEx.configure_opts() typespec and add missing IEx.Server doc option ( #15661 )
2026-07-23 18:17:32 +02:00
Alexander Gubarev
92648c7eb2
Fix IEx.Helpers.process_info/1 heap and stack memory calculation ( #15628 )
2026-07-17 17:30:24 +02:00
Alexander Gubarev
dae2bcb4bd
Fix IEx.Helpers.r/1 fails reload modules defined in same file ( #15627 )
2026-07-17 16:22:34 +02:00
Alexander Gubarev
84f3ed66c9
Fix IEx.Helpers.i/1 doc example to actual shape ( #15617 )
2026-07-15 12:25:58 +02:00
Alexander Gubarev
7e9c89780c
Fix IEx completion crash on maps with non-atom keys ( #15612 )
2026-07-14 21:55:56 +02:00
Alexander Gubarev
2429df6a6a
Fix IEx missing evaluator continuation binary operator ** ( #15608 )
2026-07-14 13:00:14 +02:00
Alexander Gubarev
e578a71b79
Fix IEx.Info.info/1 spec and update docs ( #15600 )
2026-07-13 00:32:29 +02:00
Alexander Gubarev
ac8c3dd3ab
Fix IEx.__break__!/3 fallback clause arity ( #15595 )
2026-07-12 12:32:08 +02:00
José Valim
6adff3fcc2
Fix cursor completion after operators
...
Treat trailing operator keywords as completion fragments
when they follow another operator.
Assisted-by: Codex:GPT-5
Closes #15591 .
2026-07-11 16:52:00 +02:00
Jean Klingler
83e9b66e65
Add to_unsafe_atom/1 and soft-deprecate to_atom/1 ( #15494 )
2026-06-16 20:50:11 +09:00
Steffen Deusch
1cb62b731c
Add trace helper to ExUnit.Assertions ( #15432 )
2026-06-08 14:17:55 +02:00
José Valim
64d381bd05
Avoid warnings when editor is not set
2026-05-14 21:55:35 +02:00
Łukasz Samson
68c413f76c
Improve ambiguous import error message ( #15335 )
2026-05-06 12:22:34 +02:00
José Valim
8f40bf117a
Add "mix source MODULE" to print or open a given module/function location ( #15234 )
2026-04-04 21:11:25 +02:00
José Valim
6f2e24ca63
Add source/1 to IEx
2026-04-04 19:55:26 +02:00
Jean Klingler
10902df940
More cleanup of older OTP versions ( #15170 )
...
* More cleanup since we require OTP 27
* Remove mentions to OTP25- in docs
* Use same versions in Getting Started as in Mix guide
2026-03-10 19:49:17 +09:00
Jean Klingler
2c54f9a64a
More cleanup: remove compatibility code for OTP26- ( #15166 )
...
* Remove compatibility code for OTP26-
* Remove support for application/erlang+html docs v1
* Remove workaround for bug in older OTP versions
* Update OTP version checks
* Remove OTP25- skipping in tests
* More test cleanup
2026-03-10 16:12:36 +09:00
Jean Klingler
2817a70680
Remove mentions to OTP27+ versions from docs, comments and tests ( #15165 )
...
* Remove mentions of "since OTP27+"
* Remove test code for OTP26-
2026-03-10 15:39:03 +09:00
José Valim
64a5c1742f
Document why binary_part operation is safe
2026-03-08 23:46:17 +01:00
Daniel Kukula
2973af6c97
Filter modules during collection in IEx autocomplete ( #15143 )
...
Instead of collecting all modules as strings, sorting the full list, and
then linearly scanning for matching prefixes, filter modules during
collection and only sort the (much smaller) set of matches.
Benchmarked with 261 loaded modules, compared against the original code
(before the previous two optimizations) and the current code:
match_modules("Elixir.Enum"):
before PR: 333 µs, 13.6 KB heap
current: 91 µs, 1.6 KB heap
proposed: 30 µs, 0.5 KB heap (11x faster, 26x less heap)
match_modules("er"):
before PR: 345 µs, 13.8 KB heap
current: 97 µs, 2.9 KB heap
proposed: 39 µs, 0.4 KB heap (9x faster, 33x less heap)
2026-03-07 09:12:36 +01:00
Daniel Kukula
7d3863fcf6
Reduce memory usage in IEx autocomplete module listing ( #15140 )
...
Use :erlang.loaded/0 instead of :code.all_loaded/0 since we only need
module names, not file paths. The latter copies the full path for every
loaded module, which on production systems with many dependencies
caused significant memory spikes (measured 2.8MB -> 172KB on a real pod).
Also replace Enum.sort/1 |> Enum.dedup/1 with :lists.usort/1 and
avoid list allocations.
2026-03-06 19:20:41 +01:00
Michał Łępicki
6d5f43318c
Allow specifying SEED when running tests ( #15111 )
...
this is helpful when reproducing flaky test failures
2026-02-25 09:12:15 +01:00
José Valim
b05fec0c87
Use evaluation when compiling modules ( #15087 )
2026-02-19 18:11:28 +01:00
José Valim
85b1ad0764
Do not emit warnings during IEx parsing
...
Closes #15090 .
Unfortunately, I could not write a test for this as the error
only happens when using actual I/O devices. When using the mock
device we use in tests, the warning appears as expected.
2026-02-18 13:45:56 +01:00
José Valim
23633f7723
Use IEx.Broker.shell to find nodes instead of group leader, closes #15092
2026-02-18 12:15:22 +01:00
José Valim
ac44e723ba
Keep collecting buffer in IEx parser
2025-12-04 00:28:51 +01:00
José Valim
2ac361a4a4
Fix #iex:break as part of multi-line prompts, closes #14992
2025-12-04 00:07:26 +01:00
José Valim
504c680870
Fix IEx parser fetching on mix release
2025-10-16 08:46:24 +02:00
Zach Daniel
f310ed9d82
Make errors when piping expressions in IEx safer ( #14795 )
2025-09-28 16:18:09 +02:00
Jesse Stimpson
ff9608fc22
Improve docs on iex remote shell halt behaviour ( #14721 )
2025-08-22 15:31:51 +02:00
Jonatan Männchen
374f6e342a
Update ORT Scanner ( #14594 )
2025-07-31 15:46:09 +02:00
Eksperimental
352f2723a9
Use backticks around literals in documentation ( #14633 )
2025-07-10 09:36:20 +02:00
Jean Klingler
57c254f725
Increase test coverage of IEx ls helper, handle edge case and make windows consistent ( #14626 )
2025-07-05 17:49:19 +09:00
Łukasz Samson
3e373e8a59
Handle filesystem errors in iex helpers ( #14618 )
...
`File.cd` and `File.ls` can return any posix error code
2025-07-03 10:24:19 +02:00
José Valim
cf8689e498
Remove specs which are pass through and from private modules
2025-07-01 10:44:03 +02:00
Łukasz Samson
e3f7759fde
Replace keyword with concrete keyword lists in specs ( #14611 )
2025-06-30 17:24:28 +02:00
José Valim
a5d2aa88f3
Deal with undefined on :shell.whereis/0
2025-06-26 13:48:55 +02:00
José Valim
b188f4d33d
Do not send quoted expressions to Macro.dbg
2025-06-26 13:38:14 +02:00
José Valim
3482e4e740
Fix pry on Erlang/OTP 28
2025-06-26 13:32:51 +02:00
José Valim
09dcbf7566
Introduce deprecations scheduled for Elixir v1.20
2025-06-07 21:55:06 +02:00
José Valim
e87cc66041
Allow updated options to be returned from Inspect protocol ( #14554 )
2025-06-02 15:55:36 +02:00
José Valim
85e068e144
Do not read ~/.iex.exs in tests ( #14553 )
...
Closes #14514 .
2025-06-02 10:11:38 +02:00
José Valim
99145c7ed4
Add Mix.Task.Compiler.run/2
2025-05-27 08:45:22 +02:00
José Valim
a7703a9ee2
Use Keyword.get_lazy/3
2025-05-23 17:52:12 +02:00