Skip to content

Commit 224da24

Browse files
committed
Fix underlines in cmd printing
Fixes #25589
1 parent e3bc48d commit 224da24

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

base/process.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ function show(io::IO, cmd::Cmd)
102102
print_dir = !isempty(cmd.dir)
103103
(print_env || print_dir) && print(io, "setenv(")
104104
print(io, '`')
105-
print(io, join(map(cmd.exec) do arg
106-
replace(sprint() do io
105+
join(io, map(cmd.exec) do arg
106+
replace(sprint(context=io) do io
107107
with_output_color(:underline, io) do io
108108
print_shell_word(io, arg, shell_special)
109109
end
110110
end, '`' => "\\`")
111-
end, ' '))
111+
end, ' ')
112112
print(io, '`')
113113
print_env && (print(io, ","); show(io, cmd.env))
114114
print_dir && (print(io, "; dir="); show(io, cmd.dir))

test/show.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1401,3 +1401,8 @@ end
14011401
@test replstr(Union{X28004,Vector}[X28004(Any[X28004(1)])]) ==
14021402
"1-element Array{Union{X28004, Array{T,1} where T},1}:\n X(Any[X(1)])"
14031403
end
1404+
1405+
# Issue 25589 - Underlines in cmd printing
1406+
replstrcolor(x) = sprint((io, x) -> show(IOContext(io, :limit => true, :color => true),
1407+
MIME("text/plain"), x), x)
1408+
@test occursin("\e[", replstrcolor(`curl abc`))

0 commit comments

Comments
 (0)