Skip to content

Commit aa0dcb9

Browse files
committed
Fix prying functions with only literals, closes #13133
1 parent 01366ef commit aa0dcb9

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/iex/lib/iex/pry.ex

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ defmodule IEx.Pry do
519519
next_binding = binding(expr, binding)
520520
{min_line, max_line} = line_range(expr, line)
521521

522-
if force? or (min_line > line and min_line != :infinity) do
522+
if force? or min_line > line do
523523
pry_var = next_var(version)
524524
pry_binding = Map.to_list(binding)
525525
pry_opts = [line: min_line] ++ opts
@@ -545,7 +545,9 @@ defmodule IEx.Pry do
545545
end
546546

547547
defp line_range(ast, line) do
548-
{_, min_max} =
548+
# We want min_line to start from infinity because
549+
# if it starts from line it will always just return line.
550+
{_, {min, max}} =
549551
Macro.prewalk(ast, {:infinity, line}, fn
550552
{_, meta, _} = ast, {min_line, max_line} when is_list(meta) ->
551553
line = meta[:line]
@@ -560,7 +562,7 @@ defmodule IEx.Pry do
560562
{ast, acc}
561563
end)
562564

563-
min_max
565+
if min == :infinity, do: {line, max}, else: {min, max}
564566
end
565567

566568
defp binding(ast, binding) do

0 commit comments

Comments
 (0)