-
TF's visual mode uses "scrolling regions" to allow the upper output region to scroll without affecting the lower input region. However, this interferes with the scrollback mechanisms of some terminals, including OSX Terminal.app. I am not aware of any workaround for TF 4 and Terminal.app.
TF 5.0, however, provides its own scrollback mechanism as part of its virtual window model...
2009-10-14 00:31:42 UTC in TinyFugue - MUD client
-
"/if (expr)" and "/while (expr)" are special in that macro body expansion is NOT done on the expressions before evaluating the expressions. /test is not special; when used in a macro, the command and its arguments DO go through macro body expansion, and the resulting expanded string is then given to /test, which evaluates the expression it contains.
So, if you have...
2009-09-02 00:51:12 UTC in TinyFugue - MUD client
-
%P variables are changed by regexp uses in called macros. E.g.
/def foo = /test regmatch(".*", "foo")%; /echo %P0%; /bar%; /echo %P0
/def bar = /test regmatch(".*", "bar")
/foo
prints:
foo
bar
Complication: macros that use /split depend on this behavior. So if you change the %P scoping, you'll have to do something to make /split still work, like make it a builtin.
2009-08-21 18:07:34 UTC in TinyFugue - MUD client
-
Re the %P variables: your expectation is certainly reasonable, and agrees with the documentation. Unfortunately, the implementation disagrees with the docs, and a straightforward fix to the implementation would be backwards incompatible with macros that use /split, which depends on this unexpected %P scoping. A workaround is to store the %P values elsewhere before calling anything that might...
2009-08-21 17:56:54 UTC in TinyFugue - MUD client
-
Assuming %sub is off, you can disable an entire multi-line command by prefixing the first line with a command that does nothing, like "/: " or "/true " or "/false ". But there's no way to disable blocks of code at any granularity other than lines or entire commands.
2009-04-26 04:32:26 UTC in TinyFugue - MUD client
-
There is no parallel execution of macro bodies in tf. Asynchronous events such as timers and triggers on received text are simply not noticed until the macro body is done running. The only way for a second macro to run during a macro is when it is synchronously invoked by the first macro. This can happen explicitly by calling the second macro, or by calling /trigger or /hook; or implicitly by...
2009-03-20 02:38:18 UTC in TinyFugue - MUD client
-
%{P0} contains just the matched part of the triggering line, not the whole line. But %{*} always contains the whole line, no matter what pattern you used for the trigger, so just use %{*} in your body:
/def -mglob -t'*tells you*' = /quote !speak %{*}
However, there is a security hole in this definition. If the line contains quotes or other shell metacharacters, the speaker can execute...
2009-03-17 18:50:02 UTC in TinyFugue - MUD client
-
The solution for this bug is the same as for bug 1798241. The poster's patch fixes the bug in 50b8, and the bug has been fixed for the next release.
2007-12-10 05:02:20 UTC in TinyFugue - MUD client
-
I have fixed this for the next release. The attached patch will also fix it in 50b8.
(Note: the setting of %oldslash is irrelevant to this issue.)
File Added: slash.patch.
2007-12-10 04:37:15 UTC in TinyFugue - MUD client
-
The poster's patch fixes the bug in 4.0 stable 1, and the bug was already fixed in 5.0.
2007-12-10 03:36:28 UTC in TinyFugue - MUD client