We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3f30bf1 commit 9065839Copy full SHA for 9065839
lib/elixir/lib/exception.ex
@@ -419,8 +419,10 @@ defmodule Exception do
419
end
420
421
422
- def function_name_pattern do
423
- %r{
+ # have to use :re here because exceptions may be triggered before Regexp
+ # module is compiled.
424
+ @function_name_re :re.compile(
425
+ %S{
426
\A(
427
[\w]+[?!]?
428
| ->
@@ -449,15 +451,14 @@ defmodule Exception do
449
451
| &
450
452
| ~~~
453
| @
- )\z}x
- end
454
+ )\z}, [:extended] )
455
456
defp maybe_quote_name(fun) do
457
name = to_string(fun)
- if Regex.match?(function_name_pattern, name) do
458
- name
459
- else
460
- inspect name
+ {:ok, re} = @function_name_re
+ case :re.run(name, re) do
+ { :match, _} -> name
461
+ _ -> inspect name
462
463
464
0 commit comments