God knows what's modified

This commit is contained in:
2021-01-02 13:31:18 -05:00
parent c751678179
commit b03aada315
22 changed files with 1577 additions and 294 deletions

View File

@@ -1,16 +1,26 @@
// ClassDB - code to manipulate class databases.
////////////////////////////////////////////////////////////
//
// It would have been easier to write this in Lua, but since every
// lua module in the system depends on it, it's safer to have it
// preloaded before we even open any of the lua files.
//
// The source database is a lua table that maps filenames
// to file info. The source database is stored in the registry.
//
// In the source database, the keys are filenames, and the values
// are tables containing the following fields:
//
// name: filename as a string
// fingerprint: file modification, file length, as a string
// code: the entire contents of the source file as a string
// loadresult: a lua closure, or, an error message
// sequence: the position of the file in control.lst
//
//
////////////////////////////////////////////////////////////
#ifndef SOURCE_HPP
#define SOURCE_HPP
#include "luastack.hpp"
#include <string>
// Get a class from the class database.
int source_class(lua_State *L);
@@ -18,9 +28,18 @@ int source_class(lua_State *L);
// Update the source database from disk. No parameters, no return values.
int source_update(lua_State *L);
// Load the builtins into the global environment using lua_openlibs
int source_load_builtins(lua_State *L);
// Back up the pristine global environment to the registry.
int source_snapshot_builtins(lua_State *L);
// Rebuild the class database from the source database. No parameters, no return values.
int source_rebuild(lua_State *L);
// Run all 'autoinit' functions.
int source_autoinit(lua_State *L);
#endif // SOURCE_HPP