Browse Source

new fallback "getglobal".
modifications to generate an index (not automatically yet).

Roberto Ierusalimschy 29 years ago
parent
commit
b1c02c7f00
1 changed files with 20 additions and 8 deletions
  1. 20 8
      manual.tex

+ 20 - 8
manual.tex

@@ -1,4 +1,4 @@
-% $Id: $
+% $Id: manual.tex,v 1.2 1996/01/29 17:08:23 roberto Exp roberto $
 
 \documentstyle[A4,11pt,bnf]{article}
 
@@ -13,7 +13,7 @@
 \newcommand{\Def}[1]{{\em #1}\index{#1}}
 \newcommand{\Deffunc}[1]{\index{{\tt #1}}}
 
-
+%\makeindex
 
 \begin{document}
 
@@ -32,7 +32,7 @@ Waldemar Celes Filho
 Departamento de Inform\'atica --- PUC-Rio
 }
 
-\date{November, 1995}
+\date{\small \verb$Date: 1996/01/29 17:08:23 $}
 
 \maketitle
 
@@ -44,8 +44,6 @@ as a configuration language for any program that needs one.
 This document describes version 2.2 of the Lua programming language and the
 API that allows interaction between Lua programs and its host C program.
 It also presents some examples of using the main features of the system.
-
-{\em Lua manual: \verb$Date$, \verb$Revision$}
 \end{abstract}
 
 \vspace{4ex}
@@ -649,6 +647,12 @@ not present in a table.
 It receives as arguments the table and the index.
 Its return value is the final result of the indexing operation.
 The default function returns nil.
+\item[``getglobal'']\index{index getglobal}
+called when Lua tries to retrieve the value of a global variable
+which has a nil value (or which has not been initialized).
+It receives as argument the name of the variable.
+Its return value is the final result of the expression.
+The default function returns nil.
 \item[``gettable'']\index{gettable fallback}
 called when Lua tries to index a non table value.
 It receives as arguments the non table value and the index.
@@ -751,7 +755,8 @@ executes the ``file'' {\tt stdin}.
 
 \subsection{Converting Values between C and Lua} \label{valuesCLua}
 Because Lua has no static type system,
-all values passed between Lua and C have type \IndexVerb{lua\_Object},
+all values passed between Lua and C have type
+\verb'lua_Object'\Deffunc{lua_Object},
 which works like an abstract type in C that can hold any Lua value.
 
 Lua has automatic memory management, and garbage collection.
@@ -832,7 +837,8 @@ otherwise, the function returns 0 (the null pointer).
 The reverse process, that is, passing a specific C value to Lua,
 is done by using the following functions:
 \Deffunc{lua_pushnumber}\Deffunc{lua_pushstring}\Deffunc{lua_pushliteral}
-\Deffunc{lua_pushcfunction}\Deffunc{lua_pushusertag}\Deffunc{lua_pushuserdata}
+\Deffunc{lua_pushcfunction}\Deffunc{lua_pushusertag}
+\Deffunc{lua_pushuserdata}
 \begin{verbatim}
 void           lua_pushnumber           (double n);
 void           lua_pushstring           (char *s);
@@ -1040,7 +1046,8 @@ lua_Object     lua_getparam             (int number);
 \end{verbatim}
 where \verb'number' starts with 1 to get the first argument.
 When called with a number larger than the actual number of arguments,
-this function returns \IndexVerb{LUA\_NOOBJECT}.
+this function returns
+\verb'LUA_NOOBJECT'\Deffunc{LUA_NOOBJECT}.
 In this way, it is possible to write functions that work with
 a variable number of parameters.
 
@@ -1781,4 +1788,9 @@ Special care should be taken with macros like
 \verb'lua_getindexed' and \verb'lua_getfield'.
 \end{itemize}
 
+\newcommand{\indexentry}[2]{\item {#1} #2}
+\begin{theindex}
+\input{manual.idx}
+\end{theindex}
+
 \end{document}