On further browsing the source, I think the problem is not bug in pclose
per se, 

pclose=: 3 : 0
try.
  wd 'psel ',PFormhwnd
  if. ifjwplot'' do.
    wpsave_j_ :: 0: PForm
  end.
  wd 'pclose'
  pd 'reset'
catch. end.
)

the wpsave_j_ will run effective run,
  wd 'psel ', PForm
since there are multiple window with the same name PForm, it may select
another window, 

pclose=: 3 : 0
try.
  wd 'psel ',PFormhwnd
  if. ifjwplot'' do.
    wpsave_j_ :: 0: PForm
    wd 'psel ',PForm        NB.  effectively
  end.
  wd 'pclose'
  pd 'reset'
catch. end.
)

A proper fix should provide another version wpsave that accept PFormhwnd as
right argument.

J701 plot implements its own wpsave and seems free of this bug.

Втр, 17 Май 2011, bill lam писал(а):
> Andrew,
> 
> I grep J602 plot source but cannot locate the wd 'psel plot'.
> I guess the problem is jwplot does not has its own PFormhwnd, you can
> put some smoutput just before that sentence to trace what has happened.
> 
> Втр, 17 Май 2011, Andrew Nikitin писал(а):
> > 
> > Ian,
> >  
> > As bill pointed out, the problem arises when you try to mix jzplot with 
> > jwplot.
> > jwplot is special and different from other instances of jzplot: on close it 
> > tries to
> > save its position and location in config file (wpsave_j_ verb). To do that, 
> > it performs wd 'psel plot'
> > AFTER wd 'psel ',PFormhwnd has already been performed in pclose_jzplot_. It 
> > selects first
> > (random?) 'plot' form on a screen which may or may not be the form of 
> > jwplot. Then when
> > wd 'pclose' comes, it closes whatever form was selected on previous step.
> > Immediate solution to this for me was to hack pclose_jzplot_ by moving wd 
> > 'psel ',PFormhwnd
> > right before wd 'pclose', where it properly belongs.
> > This did not help another problem: wpsave not saving coordinates of jwplot, 
> > but of some other jzplot
> > currently open (because it issues wd 'psel plot'). I "solved" that one by 
> > opening dummy jwplot first,
> > then jzplots i need.
> >  
> > BTW, I intentionally mix jwplot and jzplots because it is convenient to use 
> > unqualified plot and pd to fine
> > tune the display and then freeze the result in one of the appropriate 
> > jzplots. And when this leads to problems
> > like above, well, this is where the benefits of available source code kick 
> > in.
> > 
> >                                       
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> 
> -- 
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3

-- 
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to