Home

News

International

Screen Shots

Documentation

Download

Build

License

Credits

Contact

SourceForge Project

Tintware Documentation : Tint Programming Language : Tint Tutorial : Rescanning

Rescanning

When a Tint expression is called with #( ) the results are evaluated again. This is called an active call -- the results of an expression are rescanned looking for more expressions to evaluate. Most of the time this is the desired behavior. In a few cases, though, the results of an expression should not be evaluated again. This is called a passive call and it is made using ##( ).

A passive call is necessary when define a procedure using the body of an existing procedure. In Tint Emacs, the procedure used to get the next character to be processed changes depending upon whether or not a keyboard macro is being defined or used or just normal keyboard input. #(proc,state.input,##(emacs.util.input)) is used to define the input procedure for normal keyboard input and #(proc,state.input,##(emacs.user.start-kbd-macro.input)) is used for when a keyboard macro is being defined.

A couple of primitives may return an argument active, whether or not the primitive is called active or passive. = and > are examples.