The latest release allows you use double brackets %pl[[ rather than call win_opt@ and related routines. This also applies to %bn.
The following sample illustrates the idea and also the one exceptional case (using a function to define the curve) where the new approach will not work.
MODULE plData
CONTAINS
DOUBLE PRECISION FUNCTION f(x)
DOUBLE PRECISION x
f = x*x
END FUNCTION
END MODULE plData
WINAPP
USE clrwin
USE plData
INTEGER,PARAMETER::N=11
i = winio@('OK')
i = winio@('%pl[[dx=0.1]&') ! Extra [ instead of calls to win_opt@
i = winio@('%pl[dy=0.2]&')
i = winio@('%pl[x_max=1.0]&')
i = winio@('%pl[y_max=1.0]&')
i = winio@('%pl[width=2]&')
i = winio@('%pl[smoothing=4]&')
i = winio@('%pl[colour=red]&')
i = winio@('%pl[etched]&')
call winop_fun@('%pl[function]',f)
i = winio@('%pl[gridlines]]&') ! Extra ] to end what were calls to win_opt@
i = winio@('%pl&',400,250,N,0.0d0,0.1d0)
i = winio@('%ff%nl%cn%tt[OK]')
END
[/img]