Changes between Initial Version and Version 3 of Ticket #522


Ignore:
Timestamp:
Feb 4, 2014 10:58:48 AM (7 months ago)
Author:
damato
Comment:

Replying to tboeckel:

Although you can open several read windows using MAILREAD and get a window number as return value the READCLOSE command takes no parameter and will always close the last opened read window. Any further read window cannot be closed afterwards via ARexx as there is only one global ActiveRexxRMData pointer.

The same limitation applies for all write windows opened via ARexx. All commands following i.e. MAILWRITE will implicitly reference the last opened write window. This is major restriction in case more than one write window was spawned via ARexx. Here we also have only a single global ActiveRexxWMData pointer.

I agree that the current solution is somewhat suboptimal. However, one can perfectly use YAM with multiple read/write windows by always switching between them via the following example pseudo-code sequence:

/* Open two read windows */
firstWindowNr = MAILREAD QUIET
secondWindowNr = MAILREAD QUIET

/* Print the body of the first read window */
MAILREAD QUIET WINDOW firstWindowNr
READPRINT 1

/* Print body of second read window */
MAILREAD QUIET WINDOW secondWindowNr
READPRINT 1

/* Close first read window */
MAILREAD QUIET WINDOW firstWindowNr
READCLOSE

/* Close second read window */
MAILREAD QUIET WINDOW secondWindowNr
READCLOSE

Of course, always having to switch via MAILREAD between the windows seems to be somewhat awkward. In addition, there is a limitation in case two parallel running ARexx scripts are running. However, there are potentially hundreds of situations where parallel scripts might do something wrong/incorrect. Nevertheless, I agree that we could do better here and thus scheduling this to "future" version seems to be appropriate to me so that we can discuss its priority later again and assign it to a future YAM version.

I will also change the ticket content to better match the purpose.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #522

    • Property Status changed from new to accepted
    • Property Component changed from undefined to ARexx interface
    • Property Summary changed from Possibility to open several read/write windows via ARexx to Add possibility to directly specify the window number in READINFO&Co
    • Property Priority changed from undecided to low
    • Property OS Platform changed from undefined to All
    • Property Version changed from nightly build to 2.5
    • Property Milestone changed from to YAM future release
    • Property Severity changed from major to minor
  • Ticket #522 – Description

    initial v3  
    11== Problem == 
    2 It seems that YAM can only open one only readwindow via ARexx MAILREAD 
     2There is currently a limitation in the READINFO/READPRINT/READCLOSE/READSAVE commands work with having multiple read windows open. The same applied to the write window routines. 
    33 
    44== Analysis == 
     5A user have to currently explicitly switch between windows via MAILREAD WINDOW X or via MAILWRITE WINDOW X in the write window case instead of directly specifying the window number/reference these commands should be performed on. 
    56 
    67== Enhancement recommendation == 
    7 It would be a helpfull feature if this couls be extended so that several readwindows can be opened via ARexx. 
     8To improve handling of multiple read/write windows via ARexx it would be good to have an additional WINDOW parameter for every Arexx command operating on a specific read/write window. This parameter could be an integer with the window number or a unique reference number (even better). 

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber

  • Christoph Pölzl(Reporter, Participant)