Issue 1:
I get a weird REPL crash when pasting the following into a fresh session:

julia> struct Test{A,B} end
julia> Base.show(io::IO, ::Type{Test{A,B}}) where {A,B} = print(io, "fooTest{", A, ",", B, "}")
julia> Test{A,Int} where A

which crashes julia, with output:

Error showing value of type UnionAll:
ERROR: UndefVarError: A not defined
Stacktrace:
[1] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{SYSTEM: show(lasterr) caused an error
UndefVarError(:A)

Stacktrace:
[1] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{ERROR: UndefVarError: A not defined
Stacktrace:
[1] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{fatal: error thrown and no exception handler available.
UndefVarError(var=:A)
unknown function (ip: 0x7fc55f0bf438)
unknown function (ip: 0x7fc55f0903e3)
jl_throw at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_undefined_var_error at /usr/bin/../lib/libjulia.so.1 (unknown line)
show at ./REPL[2]:1
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
show_datatype at ./show.jl:526
show at ./show.jl:436
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
print at ./strings/io.jl:31
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
print at ./strings/io.jl:42
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
show_tuple_as_call at ./show.jl:1490
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
show_spec_linfo at ./stacktraces.jl:261
#show#9 at ./stacktraces.jl:272
unknown function (ip: 0x7fc541b1b753)
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
#show at ./none:0 [inlined]
#show_trace_entry#630 at ./errorshow.jl:471
unknown function (ip: 0x7fc541b1b08c)
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
#show_trace_entry at ./none:0
unknown function (ip: 0x7fc541b1adc8)
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
show_backtrace at ./errorshow.jl:574
#showerror#612 at ./errorshow.jl:79
unknown function (ip: 0x7fc541b182d7)
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
showerror at ./errorshow.jl:74 [inlined]
display_error at ./client.jl:99
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
display_error at ./client.jl:102
jl_fptr_trampoline at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_f__apply at /usr/bin/../lib/libjulia.so.1 (unknown line)
jl_f__apply_latest at /usr/bin/../lib/libjulia.so.1 (unknown line)
unknown function (ip: 0x7fc556752477)
jl_apply_generic at /usr/bin/../lib/libjulia.so.1 (unknown line)
true_main at /home/bruhns/math/persistence/julia/julia7/julia/ui/repl.c:89
at julia (unknown line)
__libc_start_main at /usr/bin/../lib/libc.so.6 (unknown line)
at julia (unknown line)

The above trace is on 1.0.1. The reproduction is relatively finnicky; the crash goes away when pasting with a newline in the last command, and appears when the last command is pasted without newline, and I hit enter manually. Regardless of the crash, I don't think dispatching to the new method is correct? Cf also discourse..

I tested on:

julia> versioninfo()
Julia Version 1.0.1
Commit 0d713926f8 (2018-09-29 19:05 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i5-5###U CPU @ 2.00GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.0 (ORCJIT, broadwell)

julia> versioninfo()
Julia Version 1.1.0-DEV.647
Commit c62ff7e8a9 (2018-11-09 15:47 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i5-5###U CPU @ 2.00GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, broadwell)

Issue 2:
I checked it with 1.0.0 and 1.1.0-DEV.334.

julia> struct Spam end

julia> Base.show(::IO, ::Type{Spam}) = error("nope")

julia> Spam
Error showing value of type DataType:
ERROR: nope
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{SYSTEM: show(lasterr) caused an error
ErrorException("nope")

Stacktrace:
[1] error(::String) at ./error.jl:33
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{ERROR: nope
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Type{fatal: error thrown and no exception handler available.
ErrorException("nope")
rec_backtrace at /home/takafumi/repos/watch/julia/src/stackwalk.c:94
record_backtrace at /home/takafumi/repos/watch/julia/src/task.c:249
jl_throw at /home/takafumi/repos/watch/julia/src/task.c:580
error at ./error.jl:33
show at ./REPL[2]:1
jl_fptr_trampoline at /home/takafumi/repos/watch/julia/src/gf.c:1843
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
show_datatype at ./show.jl:526
show at ./show.jl:436
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
print at ./strings/io.jl:31
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
print at ./strings/io.jl:42
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
show_tuple_as_call at ./show.jl:1490
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
show_spec_linfo at ./stacktraces.jl:261
#show#9 at ./stacktraces.jl:272
unknown function (ip: 0x7f99e80ea7c3)
#show at ./none:0 [inlined]
#show_trace_entry#630 at ./errorshow.jl:471
unknown function (ip: 0x7f99e80ea0ec)
#show_trace_entry at ./none:0
unknown function (ip: 0x7f99e80e9e28)
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
show_backtrace at ./errorshow.jl:574
#showerror#612 at ./errorshow.jl:79
unknown function (ip: 0x7f99e80e7357)
jl_fptr_trampoline at /home/takafumi/repos/watch/julia/src/gf.c:1843
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
showerror at ./errorshow.jl:74 [inlined]
display_error at ./client.jl:99
jl_fptr_trampoline at /home/takafumi/repos/watch/julia/src/gf.c:1843
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
display_error at ./client.jl:102
jl_fptr_trampoline at /home/takafumi/repos/watch/julia/src/gf.c:1843
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
jl_apply at /home/takafumi/repos/watch/julia/src/julia.h:1559 [inlined]
jl_f__apply at /home/takafumi/repos/watch/julia/src/builtins.c:556
jl_f__apply_latest at /home/takafumi/repos/watch/julia/src/builtins.c:594
#invokelatest#1 at ./essentials.jl:697 [inlined]
invokelatest at ./essentials.jl:696 [inlined]
_start at ./client.jl:423
jl_apply_generic at /home/takafumi/repos/watch/julia/src/gf.c:2198
jl_apply at /home/takafumi/repos/watch/julia/ui/../src/julia.h:1559 [inlined]
true_main at /home/takafumi/repos/watch/julia/ui/repl.c:112
main at /home/takafumi/repos/watch/julia/ui/repl.c:233
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
_start at ./julia (unknown line)