diff --git a/src/common_options.jl b/src/common_options.jl index 9f33904fc2..9c23378fe9 100644 --- a/src/common_options.jl +++ b/src/common_options.jl @@ -1681,8 +1681,9 @@ function finish_PS_module(d::Dict, cmd, opt_extra::String, output::String, fname end end - if (isempty(fname_ext) && isempty(opt_extra)) # Return result as an GMTimage + if (fname_ext == "" && opt_extra == "") # Return result as an GMTimage P = showfig(d, output, fname_ext, "", K) + gmt("destroy") # Returning a PS screws the session elseif ((haskey(d, :show) && d[:show] != 0) || fname != "") showfig(d, output, fname_ext, opt_T, K, fname) end diff --git a/src/grdimage.jl b/src/grdimage.jl index 67ec494da1..4d0f012db6 100644 --- a/src/grdimage.jl +++ b/src/grdimage.jl @@ -93,19 +93,16 @@ function grdimage(cmd0::String="", arg1=[], arg2=[], arg3=[], arg4=[]; K=false, error("Cannot use the three R,G,B grids and a color table.") end - for sym in [:I :shade :intensity :intensfile] - if (haskey(d, sym)) - if (!isa(d[sym], GMTgrid)) # Uff, simple. Either a file name or a -A type modifier - cmd = cmd * " -I" * arg2str(d[sym]) - else - cmd, N = put_in_slot(cmd, d[sym], 'I', [arg1, arg2, arg3, arg4]) - if (N == 1) arg1 = d[sym] - elseif (N == 2) arg2 = d[sym] - elseif (N == 3) arg3 = d[sym] - elseif (N == 4) arg4 = d[sym] - end + if ((val = find_in_dict(d, [:I :shade :intensity :intensfile])[1]) !== nothing) + if (!isa(val, GMTgrid)) # Uff, simple. Either a file name or a -A type modifier + cmd *= " -I" * arg2str(val) + else + cmd, N = put_in_slot(cmd, val, 'I', [arg1, arg2, arg3, arg4]) + if (N == 1) arg1 = val + elseif (N == 2) arg2 = val + elseif (N == 3) arg3 = val + elseif (N == 4) arg4 = val end - break end end diff --git a/src/grdtrend.jl b/src/grdtrend.jl index d9d16c45b5..1633dc8ae7 100644 --- a/src/grdtrend.jl +++ b/src/grdtrend.jl @@ -47,7 +47,7 @@ function grdtrend(cmd0::String="", arg1=[], arg2=[]; kwargs...) if (occursin("-D", cmd) && occursin("-T", cmd)) @warn("Usage error, both difference and trend were required. Ignoring the trend request.") elseif (!occursin("-D", cmd) && !occursin("-T", cmd)) - cmd = cmd * " -T" # No -T -or -D provided so default to -T + cmd *= " -T" # No -T -or -D provided so default to -T end cmd, got_fname, arg1 = find_data(d, cmd0, cmd, 1, arg1) diff --git a/src/grdview.jl b/src/grdview.jl index 3890bc5de1..b02f81db6d 100644 --- a/src/grdview.jl +++ b/src/grdview.jl @@ -82,7 +82,7 @@ function grdview(cmd0::String="", arg1=[], arg2=[], arg3=[], arg4=[], arg5=[], a if ((val = find_in_dict(d, [:I :shade :intensity :intensfile])[1]) !== nothing) if (!isa(val, GMTgrid)) # Uff, simple. Either a file name or a -A type modifier - cmd = cmd * " -I" * arg2str(val) + cmd *= " -I" * arg2str(val) else cmd, N_used = put_in_slot(cmd, val, 'I', [arg1, arg2, arg3]) if (N_used == 1) arg1 = val @@ -94,7 +94,7 @@ function grdview(cmd0::String="", arg1=[], arg2=[], arg3=[], arg4=[], arg5=[], a if ((val = find_in_dict(d, [:G :drapefile])[1]) !== nothing) if (isa(val, String)) # Uff, simple. Either a file name or a -A type modifier - cmd = cmd * " -G" * val + cmd *= " -G" * val elseif (isa(val, GMTgrid)) # A single drape grid (arg1-3 may be used already) cmd, N_used = put_in_slot(cmd, val, 'G', [arg1, arg2, arg3, arg4]) if (N_used == 1) arg1 = val @@ -104,7 +104,7 @@ function grdview(cmd0::String="", arg1=[], arg2=[], arg3=[], arg4=[], arg5=[], a end elseif (isa(val, Tuple) && length(val) == 3) cmd, N_used = put_in_slot(cmd, val[1], 'G', [arg1, arg2, arg3, arg4, arg5, arg6]) - cmd = cmd * " -G -G" # Because the above only set one -G and we need 3 + cmd *= " -G -G" # Because the above only set one -G and we need 3 if (N_used == 1) arg1 = val[1]; arg2 = val[2]; arg3 = val[3] elseif (N_used == 2) arg2 = val[1]; arg3 = val[2]; arg4 = val[3] elseif (N_used == 3) arg3 = val[1]; arg4 = val[2]; arg5 = val[3] diff --git a/test/runtests.jl b/test/runtests.jl index b79ddf8979..7654ee381a 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -289,6 +289,7 @@ if (got_it) # Otherwise go straight to end gmt("destroy") grdview!("",G, J="X6i", JZ=5, I=45, Q="s", C="topo", R="-15/15/-15/15/-1/1", view="120/30", Vd=:cmd); grdview!(G, J="X6i", JZ=5, I=45, Q="s", C="topo", R="-15/15/-15/15/-1/1", view="120/30", Vd=:cmd); + grdview!(G, G=G, J="X6i", JZ=5, I=45, Q="s", C="topo", R="-15/15/-15/15/-1/1", view="120/30", Vd=:cmd); # GREENSPLINE #d = [0 6.44; 1820 8.61; 2542 5.24; 2889 5.73; 3460 3.81; 4586 4.05; 6020 2.95; 6841 2.57; 7232 3.37; 10903 3.84; 11098 2.86; 11922 1.22; 12530 1.09; 14065 2.36; 14937 2.24; 16244 2.05; 17632 2.23; 19002 0.42; 20860 0.87; 22471 1.26];