Skip to content

Commit acdc55b

Browse files
author
José Valim
committed
Get rid of the r helper since it causes conflicts related to modules dependencies
1 parent d2bfd10 commit acdc55b

File tree

2 files changed

+4
-27
lines changed

2 files changed

+4
-27
lines changed

lib/iex/lib/iex/helpers.ex

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ defmodule IEx.Helpers do
2222
* `ls/1` — lists the contents of the specified directory
2323
* `m/0` — prints loaded modules
2424
* `pwd/0` — prints the current working directory
25-
* `r/0` — recompile and reload all modules that were previously reloaded
2625
* `r/1` — recompiles and reloads the given module's source file
2726
* `s/1` — prints spec information
2827
* `t/1` — prints type information
@@ -278,14 +277,6 @@ defmodule IEx.Helpers do
278277
IEx.History.nth(n).result
279278
end
280279

281-
@doc """
282-
Reloads all modules that have already been reloaded with `r/1` at any point
283-
in the current IEx session.
284-
"""
285-
def r do
286-
List.flatten(Enum.map(iex_reloaded, &do_r(&1)))
287-
end
288-
289280
@doc """
290281
Recompiles and reloads the specified module's source file.
291282
@@ -306,11 +297,9 @@ defmodule IEx.Helpers do
306297
:nosource
307298

308299
String.ends_with?(source, ".erl") ->
309-
Process.put(:iex_reloaded, :ordsets.add_element(module, iex_reloaded))
310-
[ compile_erlang(source) |> elem(0) ]
300+
[compile_erlang(source) |> elem(0)]
311301

312302
true ->
313-
Process.put(:iex_reloaded, :ordsets.add_element(module, iex_reloaded))
314303
Enum.map(Code.load_file(source), fn {name, _} -> name end)
315304
end
316305
end
@@ -342,10 +331,6 @@ defmodule IEx.Helpers do
342331
end
343332
end
344333

345-
defp iex_reloaded do
346-
Process.get(:iex_reloaded) || :ordsets.new
347-
end
348-
349334
defp source(module) do
350335
source = module.module_info(:compile)[:source]
351336

lib/iex/test/iex/helpers_test.exs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -266,20 +266,13 @@ defmodule IEx.HelpersTest do
266266
cleanup_modules([Sample])
267267
end
268268

269-
test "r helper basic" do
270-
assert r == []
269+
test "r helper unavailable" do
271270
assert_raise UndefinedFunctionError, "undefined function: :non_existent_module.module_info/1", fn ->
272271
r :non_existent_module
273272
end
274-
275-
# There is no source file for the module defined in IEx
276-
assert ":ok\n** (Code.LoadError) could not load" <> _
277-
= capture_iex("{:module, Sample, _, {:run,0}} = #{String.strip test_module_code}; :ok\nr Sample")
278-
after
279-
cleanup_modules([Sample])
280273
end
281274
282-
test "r helper" do
275+
test "r helper elixir" do
283276
assert_raise UndefinedFunctionError, "undefined function: Sample.run/0", fn ->
284277
Sample.run
285278
end
@@ -296,8 +289,7 @@ defmodule IEx.HelpersTest do
296289
Sample.run
297290
end
298291
299-
assert [Sample] = r()
300-
end) =~ %r"^.*?sample\.ex:1: redefining module Sample\n.*?sample\.ex:1: redefining module Sample\n$"
292+
end) =~ %r"^.*?sample\.ex:1: redefining module Sample\n$"
301293
end
302294
after
303295
# Clean up old version produced by the r helper

0 commit comments

Comments
 (0)