Skip to content

Commit cb5bc66

Browse files
committed
Optimize show(io::IO, m::Module) implementation.
1 parent 030a0f9 commit cb5bc66

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

base/show.jl

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,22 @@ function show(io::IO, m::Module)
10961096
if is_root_module(m)
10971097
print(io, nameof(m))
10981098
else
1099-
print(io, join(fullname(m),"."))
1099+
print_fullname(io, m)
1100+
end
1101+
end
1102+
function print_fullname(io::IO, m::Module)
1103+
_print_fullname(io, parentmodule(m))
1104+
print(io, nameof(m))
1105+
end
1106+
function _print_fullname(io::IO, m::Module)
1107+
mp = parentmodule(m)
1108+
if m === Main || m === Base || m === Core || mp === m
1109+
print(io, nameof(m))
1110+
print(io, '.')
1111+
else
1112+
_print_fullname(io, mp)
1113+
print(io, nameof(m))
1114+
print(io, '.')
11001115
end
11011116
end
11021117

0 commit comments

Comments
 (0)