Under Community Review

Extending/Enhancing XPP frills processing

Frills processing has been a long time with us and it has been a very useful 'extension' to XPP.
However there are a lot of limitations in the current implementations.
If only we would have:

  1. Allow for multiple fg macros on the same line each triggering its own 'event'
  2. Add an action number to the fg macro (fg;1, fg;2, ...) allowing a direct detection of the action needed for a particular flag event
  3. Allow for the detection of the horizontal position in the current line of the fg macro
  4. Allow one to read the content of the current line
  5. Allow frills processing to jump to the next flag event instead of forcing us to open each line and check if a flag is set or not
    (believe me writing a routine that really runs through all possible streams, blocks and lines is kind of a dark art full of surprises)

I think that the switch in interface from having to run through all lines to an interface that can simply jump to the next (flag) event might be the more important one.
It would make things a lot simpler for the poor style writer and maybe who knows maybe quicker as well. Could be as simple as:

while ($X->get_next(!flag)) {
my $action = $X->get_var(!action);
doSidenote if ($action == 1):
doBox if ($action == 2)
...
}

Another thing that would make life of the poor style writer easier would be adding of an action number to the flag macro.
Or one can take this idea a little further and why not in stead of an action number simply have an action name. And the action would simply call that named xyPerl routine if one would call out the 'next' event.

The next revolutionary thing that creates a lot of new possibilities is to let go the idea of 1 flag = 1 line but allow for multiple (different action) flags on the same line as well as giving the possibility to detect the horizontal position of the flag in the current line. Having access to the horizontal position of the fg macro opens up a lot of new possibilities.

Another thing that would be useful is to have access to the content of the current line. One would not have to store things in the px;;0 register but could extract the information needed by examining the current line. (and yes the part of the line one needs would still have to marked some way or the other). This could be a nice solution in order to work around the limitation of a single px;;0 register/line.

Well that is pretty much it for the moment.
Feel free to add your own wishes or thoughts or remarks.
I will certainly do that myself if I can think of anything else that could be useful

Parents
  • Further to the flag+ID: multiple flags of the -same- ID should be allowed as well as multiple flags with different IDs.

    Totally agree with jump-to-next-flag. Trawling a page of very small, dense text is a real drain on composition time and system resources.

Comment
  • Further to the flag+ID: multiple flags of the -same- ID should be allowed as well as multiple flags with different IDs.

    Totally agree with jump-to-next-flag. Trawling a page of very small, dense text is a real drain on composition time and system resources.

Children
No Data