diff --git a/lib/erlex.ex b/lib/erlex.ex index 937d4b3..c756cf7 100644 --- a/lib/erlex.ex +++ b/lib/erlex.ex @@ -547,7 +547,7 @@ defmodule ErlexVendored do end end - defp atomize(<>) when is_number(number) do + defp atomize(<>) when is_number(number) and number != 95 do to_string(number) end diff --git a/test/pretty_print_test.exs b/test/pretty_print_test.exs index 67b9d2a..c51972d 100644 --- a/test/pretty_print_test.exs +++ b/test/pretty_print_test.exs @@ -590,4 +590,11 @@ defmodule ErlexVendored.Test.PretyPrintTest do assert pretty_printed == "(<<114, 111, 108, 101, 115, 95, 117, 115, 101, 114, 115>>)" end + + test "keep underscore in pattern" do + input = "{'embed', __@3, __@4}" + pretty_printed = ErlexVendored.pretty_print_type(input) + + assert pretty_printed == "{:embed, _, _}" + end end