On Wed, Feb 04, 2004 at 02:55:33PM +0000, Mikhael Goikhman wrote: > On 04 Feb 2004 15:03:49 +0100, Dominik Vogt wrote: > > > > On Wed, Feb 04, 2004 at 01:49:17PM +0000, Mikhael Goikhman wrote: > > > On 04 Feb 2004 09:42:57 +0100, Dominik Vogt wrote: > > > > > > > A bigger problem is that currently $[cond.rc] (should it be renamed?) > > > is always Match outside of functions, so TestRc (!Match) never works. > > > This is a bit problematic for dispatchers, they may want to have "else". > > > > Due to the several concurrent sources of input (user interaction, > > modules, X events and the Schedule queue), a lot of scripting does > > not work when done outside functions. FvwmIconMan has that > > problem in its button action syntax. Module input in general is > > problematic. The Repeat and "+" commands can be dangerous too, > > probably other commands that I missed too. But I don't know what > > we could possibly do about it. > > I suggested a solution to all these problems some time ago. > > Currently we have some globals (like last_return_code, last_added_item). > These should be local to every module pipe. This way all commands from > one FvwmConsole do not conflict with commands from another FvwmConsole. > > The initial start config commands, X event commands and Schedule commands > all should have their own allocation of this inter-command state data
Handling X events is easy since they never refer to each other. > and should never affect the state of each other and of module > pipes. But still, at the moment there is no way to reliably issue sequences of commands with Schedule. I've been thinking about some kind of inline function definition for a while, e.g. instead of destroyfunc foo addtofunc foo + i do this + i do that it might look like this: inline "do this" "do that" ... Fvwm would translate that automatically into an anonymous function and execute it. Passing arguments and quoting will be problematic, though. Ciao Dominik ^_^ ^_^ -- Visit the official FVWM web page at <URL:http://www.fvwm.org/>. To unsubscribe from the list, send "unsubscribe fvwm-workers" in the body of a message to [EMAIL PROTECTED] To report problems, send mail to [EMAIL PROTECTED]