no more "lua_pushliteral".

This commit is contained in:
Roberto Ierusalimschy 1996-02-12 15:32:09 -03:00
parent 73be918285
commit afaa98a666
2 changed files with 7 additions and 13 deletions

7
lua.h
View File

@ -2,7 +2,7 @@
** LUA - Linguagem para Usuarios de Aplicacao
** Grupo de Tecnologia em Computacao Grafica
** TeCGraf - PUC-Rio
** $Id: lua.h,v 3.20 1995/10/31 16:41:53 roberto Exp roberto $
** $Id: lua.h,v 3.21 1995/11/13 15:36:52 roberto Exp roberto $
*/
@ -60,7 +60,6 @@ void *lua_getuserdata (lua_Object object);
void lua_pushnil (void);
void lua_pushnumber (float n);
void lua_pushstring (char *s);
void lua_pushliteral (char *s);
void lua_pushcfunction (lua_CFunction fn);
void lua_pushusertag (void *u, int tag);
void lua_pushobject (lua_Object object);
@ -98,7 +97,9 @@ lua_Object lua_createtable (void);
#define lua_isuserdata(_) (lua_type(_)>=LUA_T_USERDATA)
/* for lua 1.1 compatibility. Avoid using these macros */
/* for compatibility with old versions. Avoid using these macros */
#define lua_pushliteral(o) lua_pushstring(o)
#define lua_getindexed(o,n) (lua_pushobject(o), lua_pushnumber(n), lua_getsubscript())
#define lua_getfield(o,f) (lua_pushobject(o), lua_pushliteral(f), lua_getsubscript())

View File

@ -1,4 +1,4 @@
% $Id: manual.tex,v 1.8 1996/02/09 17:21:27 roberto Exp roberto $
% $Id: manual.tex,v 1.9 1996/02/09 19:02:30 roberto Exp roberto $
\documentstyle[A4,11pt,bnf]{article}
@ -32,7 +32,7 @@ Waldemar Celes Filho
Departamento de Inform\'atica --- PUC-Rio
}
\date{\small \verb$Date: 1996/02/09 17:21:27 $}
\date{\small \verb$Date: 1996/02/09 19:02:30 $}
\maketitle
@ -836,13 +836,12 @@ 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_pushnumber}\Deffunc{lua_pushstring}
\Deffunc{lua_pushcfunction}\Deffunc{lua_pushusertag}
\Deffunc{lua_pushuserdata}
\begin{verbatim}
void lua_pushnumber (double n);
void lua_pushstring (char *s);
void lua_pushliteral (char *s);
void lua_pushcfunction (lua_CFunction f);
void lua_pushusertag (void *u, int tag);
\end{verbatim}
@ -855,12 +854,6 @@ convert it to a correspondent \verb'lua_Object',
and leave the result on the top of the Lua stack,
where it can be assigned to a Lua variable,
passed as paramenter to a Lua function, etc (see below). \label{pushing}
\verb'lua_pushliteral' is like \verb'lua_pushstring',
but also puts the string in the Lua literal table and merges duplications.
This avoids the string to be garbage collected,
and therefore has a better overall performance.
As a rule, when the string to be pushed is a literal,
\verb'lua_pushliteral' should be used.
User data can have different tags,
whose semantics are defined by the host program.