Previous: , Up: Lua Reference   [Contents][Index]


6.3 Implementation Differences

This section documents disabled and overwritten functions from the standard Lua libraries.

print, io.write

Both functions are overwritten to print to standard error (instead of standard output), formatted as monotone progress message with the prefix "lua:" in front of every line.

The rationale behind this is to catch most of the informational messages from hooks which use these functions and present them via monotone’s user interface. This allows them to be logged just as other progress messages, and prevents unexpected out-of-band output in the Automation interface.

If you explicitly need to write to either stdout or stderr, please use io.stdout:write and io.stderr.write.

os.execute, io.popen

Both functions have been disabled for security reasons. You should use their replacements spawn and spawn_pipe.

The original versions do not apply any kind of shell character escaping, which might lead to serious problems f.e. when a merger is automatically invoked by such a function.

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status