Hello community,

here is the log from the commit of package lua51 for openSUSE:Factory checked 
in at 2012-01-07 15:58:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lua51 (Old)
 and      /work/SRC/openSUSE:Factory/.lua51.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lua51", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2010-08-26 16:28:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lua51.new/lua51.changes 2012-01-07 
15:58:05.000000000 +0100
@@ -0,0 +1,199 @@
+-------------------------------------------------------------------
+Wed Dec 21 13:48:10 UTC 2011 - pgaj...@suse.com
+
+- lua51 branched from lua package
+
+-------------------------------------------------------------------
+Tue Oct  4 11:44:08 UTC 2011 - u...@suse.com
+
+- cross-build fix: use %__cc macro
+
+-------------------------------------------------------------------
+Mon Jun 28 06:38:35 UTC 2010 - jeng...@medozas.de
+
+- use %_smp_mflags
+
+-------------------------------------------------------------------
+Mon Jun 14 15:55:32 CEST 2010 - pgaj...@suse.cz
+
+- removed -L/usr/lib from Libs: in etc/lua.pc [bnc#613497]
+- used upstream bugfix patch from http://www.lua.org/download.html
+
+-------------------------------------------------------------------
+Sat Apr 24 11:38:23 UTC 2010 - co...@novell.com
+
+- buildrequire pkg-config to fix provides
+
+-------------------------------------------------------------------
+Tue Mar 23 11:16:23 CET 2010 - pgaj...@suse.cz
+
+- modified LUA_PATH_DEFAULT [bnc#589441]: search modules under
+  /usr/%{_lib}/lua/%{major_version} too
+
+-------------------------------------------------------------------
+Sat Dec 12 18:28:44 CET 2009 - jeng...@medozas.de
+
+- add baselibs.conf as a source
+- package documentation as noarch
+
+-------------------------------------------------------------------
+Sun Dec  6 16:02:17 CET 2009 - jeng...@medozas.de
+
+- enable parallel building
+
+-------------------------------------------------------------------
+Tue Nov  3 19:09:29 UTC 2009 - co...@novell.com
+
+- updated patches to apply with fuzz=0
+
+-------------------------------------------------------------------
+Wed Sep 16 23:25:13 CEST 2009 - dmuel...@suse.de
+
+- add baselibs.conf
+
+-------------------------------------------------------------------
+Mon Jun  8 15:57:11 CEST 2009 - pgaj...@suse.cz
+
+- package owns /usr/{lib,share}/lua directories from now
+- emoved unneeded root.patch
+
+-------------------------------------------------------------------
+Thu Sep 11 16:00:41 CEST 2008 - pgaj...@suse.cz
+
+- updated to 5.1.4: bugfix release
+
+-------------------------------------------------------------------
+Wed Jun 11 10:56:51 ADT 2008 - jf...@funktronics.ca
+
+- Set LUA_ROOT to /usr and fix INSTALL_CMOD for lib64
+- Add RPM macros file
+- Allows for lua-<modulename> packages like python, perl, and ruby
+
+-------------------------------------------------------------------
+Fri Mar 28 07:57:37 CET 2008 - co...@suse.de
+
+- hint the solver about the package rename
+
+-------------------------------------------------------------------
+Wed Mar 26 21:29:35 CET 2008 - co...@suse.de
+
+- do not package/provide the shared lib twice / follow shared lib
+  policy
+
+-------------------------------------------------------------------
+Tue Feb 19 10:37:22 CET 2008 - pgaj...@suse.cz
+
+- created -doc package
+- updated to version 5.1.3, bug fix release. Fixed bugs:
+  * wrong error message in some concatenations
+  * too many variables in an assignment may cause a C stack 
+    overflow 
+  * an error in a module loaded through the '-l' option shows no 
+    traceback
+  * gsub may go wild when wrongly called without its third 
+    argument and with a large subject 
+  * table.remove removes last element of a table when given 
+    an out-of-bound index 
+  * lua_setfenv may crash if called over an invalid object
+  * stand-alone interpreter shows incorrect error message when 
+    the "message" is a coroutine.
+  * debug.sethook/gethook may overflow the thread's stack 
+
+-------------------------------------------------------------------
+Tue Jul 24 14:31:30 CEST 2007 - pgaj...@suse.cz
+
+- using /sbin/ldconfig in specfile
+- updated to version 5.1.2, fixes some bugs:
+  * count hook may be called without being set
+  * code generated for "-nil", "-true", and "-false" is wrong
+  * recursive coroutines may overflow C stack
+  * wrong error message in some concatenations
+  * very small numbers all collide in the hash function
+
+-------------------------------------------------------------------
+Mon Nov 27 17:42:31 CET 2006 - mrueck...@suse.de
+
+- package liblua.so as symlink.
+
+-------------------------------------------------------------------
+Thu Nov 16 21:29:32 CET 2006 - mrueck...@suse.de
+
+- the core package now uses update alternatives to allow installation
+  of 5.0.x and 5.1.x
+- devel packages will conflict now
+
+-------------------------------------------------------------------
+Tue Nov 14 21:29:31 CET 2006 - mrueck...@suse.de
+
+- ARGH dont copy and paste!:
+  lua-libs should not depend on lua. another run on (#217875)
+
+-------------------------------------------------------------------
+Tue Nov 14 11:42:44 CET 2006 - mrueck...@suse.de
+
+- really fix the file pattern (#217875)
+
+-------------------------------------------------------------------
+Thu Nov  9 15:08:50 CET 2006 - mrueck...@suse.de
+
+- splitted out lua-libs so we can install at least both libs
+  in parallel. (#217875)
+
+-------------------------------------------------------------------
+Thu Oct 19 22:44:09 CEST 2006 - dmuel...@suse.de
+
+- fix wrong prefix in lua.pc
+- link liblua with -lm to satisfy unresolved symbols
+
+-------------------------------------------------------------------
+Thu Oct 19 16:44:39 CEST 2006 - mjan...@suse.cz
+
+- include lua.pc
+
+-------------------------------------------------------------------
+Wed Oct 18 19:17:00 CEST 2006 - mjan...@suse.cz
+
+- update to 5.1.1
+  Language:
+  * new module system.
+  * new semantics for control variables of fors.
+  * new semantics for setn/getn.
+  * new syntax/semantics for varargs.
+  * new long strings and comments.
+  * new `mod' operator (`%')
+  * new length operator #t
+  * metatables for all types
+  API:
+  * new functions: lua_createtable, lua_get(set)field, lua_push(to)integer.
+  * user supplies memory allocator (lua_open becomes lua_newstate).
+  * luaopen_* functionst must be called through Lua.
+  Implementation:
+  * new configuration scheme via luaconf.h.
+  * incremental garbage collection.
+  * better handling of end-of-line in the lexer.
+  * fully reentrant parser (new Lua function `load')
+  * better support for 64-bit machines.
+  * native loadlib support for Mac OS X.
+  * standard distribution in only one library (lualib.a merged into lua.a)
+
+-------------------------------------------------------------------
+Wed Jan 25 21:38:05 CET 2006 - m...@suse.de
+
+- converted neededforbuild to BuildRequires
+
+-------------------------------------------------------------------
+Sat Jan 14 01:36:17 CET 2006 - sch...@suse.de
+
+- Don't strip binaries.
+- Fix shared library linking.
+
+-------------------------------------------------------------------
+Thu Sep  8 15:17:49 CEST 2005 - ani...@suse.cz
+
+- enable dynamic loading capability (#106845)
+
+-------------------------------------------------------------------
+Fri Apr 23 16:17:31 CEST 2004 - mci...@suse.cz
+
++++ 2 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.lua51.new/lua51.changes

Old:
----
  _aggregate

New:
----
  baselibs.conf
  lua51-5.1.4-libdir.diff
  lua51-5.1.4-module-path.diff
  lua51-5.1.4-shared.diff
  lua51-5.1.4-upstream-bugfix.diff
  lua51-5.1.4.tar.bz2
  lua51.changes
  lua51.spec
  macros.lua

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lua51.spec ++++++
#
# spec file for package lua51
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           lua51
Version:        5.1.4
Release:        17
%define major_version 5.1
License:        MIT License (or similar)
Group:          System/Libraries
AutoReqProv:    on
BuildRequires:  pkg-config readline-devel update-alternatives
PreReq:         update-alternatives
Summary:        Small Embeddable Language with Simple Procedural Syntax
Url:            http://www.lua.org
Source:         %{name}-%{version}.tar.bz2
Source1:        macros.lua
Source2:        baselibs.conf
Patch0:         %{name}-%{version}-shared.diff
Patch1:         %{name}-%{version}-module-path.diff
Patch2:         %{name}-%{version}-upstream-bugfix.diff
Patch3:         %{name}-%{version}-libdir.diff
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.

Lua combines simple procedural syntax (similar to Pascal) with powerful
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
has automatic memory management, making it ideal for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
of C functions, written in ANSI C, and the implementation goals are
simplicity, efficiency, portability, and low embedding cost.

%package devel
License:        MIT License (or similar)
Summary:        Development files for lua
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Conflicts:      lua50-devel
Conflicts:      lua-devel

%description devel
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.

This package contains files needed for embedding lua into your
application.

%package -n liblua5_1
License:        MIT License (or similar)
Summary:        Small Embeddable Language with Simple Procedural Syntax
Group:          System/Libraries
Provides:       %{name}-libs = 5.1.3
Obsoletes:      %{name}-libs <= 5.1.3

%description -n liblua5_1
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.

Lua combines simple procedural syntax (similar to Pascal) with powerful
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
has automatic memory management, making it ideal for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
of C functions, written in ANSI C, and the implementation goals are
simplicity, efficiency, portability, and low embedding cost.

%package doc
License:        MIT License (or similar)
Summary:        Small Embeddable Language with Simple Procedural Syntax
Group:          System/Libraries
%if 0%{?suse_version} >= 1120
BuildArch:      noarch
%endif

%description doc
Lua is a programming language originally designed for extending
applications, but also frequently used as a general-purpose,
stand-alone language.

Lua combines simple procedural syntax (similar to Pascal) with powerful
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
has automatic memory management, making it ideal for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
of C functions, written in ANSI C, and the implementation goals are
simplicity, efficiency, portability, and low embedding cost.

%prep
%setup -q -n lua-%{version}
%patch0 -b .shared
%patch1 -p1
%patch2
%patch3 -p1

%build
sed -i 's:LUA_ROOT2 "LIBDIR/lua/%{major_version}/":LUA_ROOT2 
\"%{_lib}/lua/%{major_version}/":' src/luaconf.h
make %{?_smp_mflags} -C src CC="%{__cc}" MYCFLAGS="$RPM_OPT_FLAGS -fPIC 
-DLUA_USE_LINUX" MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" 
V=%{major_version} all

%install
make install INSTALL_TOP="$RPM_BUILD_ROOT%{_prefix}" 
INSTALL_LIB="$RPM_BUILD_ROOT%{_libdir}" 
INSTALL_CMOD=$RPM_BUILD_ROOT%{_libdir}/lua/%{major_version} 
INSTALL_MAN="$RPM_BUILD_ROOT%{_mandir}/man1"
install -D -m644 etc/lua.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/lua.pc
for file in lua luac ; do
    mv "%{buildroot}%{_bindir}/${file}"        
"%{buildroot}%{_bindir}/${file}%{major_version}"
    mv "%{buildroot}%{_mandir}/man1/${file}.1" 
"%{buildroot}%{_mandir}/man1/${file}%{major_version}.1"
done
install -d -m 0755 $RPM_BUILD_ROOT%{_libdir}/lua/%{major_version}
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lua/%{major_version}
install -D %{SOURCE1} %buildroot/etc/rpm/macros.lua

%clean
rm -rf $RPM_BUILD_ROOT

%post
/usr/sbin/update-alternatives --install                                         
          \
            %{_bindir}/lua            lua       %{_bindir}/lua%{major_version}  
       10 \
    --slave %{_bindir}/luac           luac      %{_bindir}/luac%{major_version} 
          \
    --slave %{_mandir}/man1/lua.1.gz  lua.1.gz  
%{_mandir}/man1/lua%{major_version}.1.gz  \
    --slave %{_mandir}/man1/luac.1.gz luac.1.gz 
%{_mandir}/man1/luac%{major_version}.1.gz

%preun
if [ "$1" = 0 ] ; then
    /usr/sbin/update-alternatives --remove lua %{_bindir}/lua%{major_version}
fi

%post -n liblua5_1 -p /sbin/ldconfig

%postun -n liblua5_1 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc COPYRIGHT HISTORY README
%{_mandir}/man1/lua%{major_version}.1*
%{_mandir}/man1/luac%{major_version}.1*
%{_prefix}/bin/lua%{major_version}
%{_prefix}/bin/luac%{major_version}
%dir %{_libdir}/lua
%dir %{_libdir}/lua/%{major_version}
%dir %{_datadir}/lua
%dir %{_datadir}/lua/%{major_version}
/etc/rpm/macros.lua

%files -n liblua5_1
%defattr(-,root,root)
%{_libdir}/liblua.so.%{major_version}

%files devel
%defattr(-,root,root)
%{_includedir}/lauxlib.h
%{_includedir}/lua.h
%{_includedir}/lua.hpp
%{_includedir}/luaconf.h
%{_includedir}/lualib.h
%{_libdir}/pkgconfig/lua.pc
%{_libdir}/liblua.a
%{_libdir}/liblua.so

%files doc
%defattr(-,root,root)
%doc doc/*

%changelog
++++++ baselibs.conf ++++++
liblua5_1
++++++ lua51-5.1.4-libdir.diff ++++++
Index: lua-5.1.4/etc/lua.pc
===================================================================
--- lua-5.1.4.orig/etc/lua.pc
+++ lua-5.1.4/etc/lua.pc
@@ -25,7 +25,7 @@ Name: Lua
 Description: An Extensible Extension Language
 Version: ${R}
 Requires: 
-Libs: -L${libdir} -llua -lm
+Libs: -llua -lm
 Cflags: -I${includedir}
 
 # (end of lua.pc)
++++++ lua51-5.1.4-module-path.diff ++++++
diff -urNad trunk~/src/luaconf.h trunk/src/luaconf.h
--- trunk~/src/luaconf.h        2006-02-10 12:44:06.000000000 -0500
+++ trunk/src/luaconf.h 2006-02-17 21:32:55.000000000 -0500
@@ -83,13 +83,17 @@
 
 #else
 #define LUA_ROOT       "/usr/local/"
+#define LUA_ROOT2      "/usr/"
 #define LUA_LDIR       LUA_ROOT "share/lua/5.1/"
+#define LUA_LDIR2      LUA_ROOT2 "share/lua/5.1/"
 #define LUA_CDIR       LUA_ROOT "lib/lua/5.1/"
+#define LUA_CDIR2      LUA_ROOT2 "LIBDIR/lua/5.1/"
 #define LUA_PATH_DEFAULT  \
                "./?.lua;"  LUA_LDIR"?.lua;"  LUA_LDIR"?/init.lua;" \
-                           LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua"
+                           LUA_CDIR"?.lua;"  LUA_CDIR"?/init.lua;" \
+                           LUA_LDIR2"?.lua;"  LUA_LDIR2"?/init.lua"
 #define LUA_CPATH_DEFAULT \
-       "./?.so;"  LUA_CDIR"?.so;" LUA_CDIR"loadall.so"
+       "./?.so;" LUA_CDIR"?.so;" LUA_CDIR2"?.so;" LUA_CDIR"loadall.so"
 #endif
++++++ lua51-5.1.4-shared.diff ++++++
Index: etc/lua.pc
===================================================================
--- etc/lua.pc.orig
+++ etc/lua.pc
@@ -8,7 +8,7 @@ V= 5.1
 R= 5.1.4
 
 # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/'
-prefix= /usr/local
+prefix= /usr
 INSTALL_BIN= ${prefix}/bin
 INSTALL_INC= ${prefix}/include
 INSTALL_LIB= ${prefix}/lib
Index: src/luaconf.h
===================================================================
--- src/luaconf.h.orig
+++ src/luaconf.h
@@ -184,7 +184,7 @@
 
 #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \
       defined(__ELF__)
-#define LUAI_FUNC      __attribute__((visibility("hidden"))) extern
+#define LUAI_FUNC      extern
 #define LUAI_DATA      LUAI_FUNC
 
 #else
Index: src/Makefile
===================================================================
--- src/Makefile.orig
+++ src/Makefile
@@ -23,6 +23,7 @@ MYLIBS=
 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
 
 LUA_A= liblua.a
+LUA_SO=        liblua.so
 CORE_O=        lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o 
lmem.o \
        lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o  \
        lundump.o lvm.o lzio.o
@@ -36,7 +37,7 @@ LUAC_T=       luac
 LUAC_O=        luac.o print.o
 
 ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_SO) $(LUA_A) $(LUA_T) $(LUAC_T)
 ALL_A= $(LUA_A)
 
 default: $(PLAT)
@@ -47,15 +48,20 @@ o:  $(ALL_O)
 
 a:     $(ALL_A)
 
+# shared libraries (for Linux)
+$(LUA_SO): $(CORE_O) $(LIB_O)
+       $(CC) -o $(LUA_SO).$V -shared -Wl,-soname,$(LUA_SO).$V $(CORE_O) 
$(LIB_O) -lm -ldl
+       ln -fs $(LUA_SO).$(V) $(LUA_SO)
+
 $(LUA_A): $(CORE_O) $(LIB_O)
        $(AR) $@ $?
        $(RANLIB) $@
 
 $(LUA_T): $(LUA_O) $(LUA_A)
-       $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+       $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) -L. -llua $(LIBS)
 
 $(LUAC_T): $(LUAC_O) $(LUA_A)
-       $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+       $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) -L. -llua $(LIBS)
 
 clean:
        $(RM) $(ALL_T) $(ALL_O)
Index: Makefile
===================================================================
--- Makefile.orig
+++ Makefile
@@ -43,7 +43,7 @@ PLATS= aix ansi bsd freebsd generic linu
 # What to install.
 TO_BIN= lua luac
 TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so.$(V)
 TO_MAN= lua.1 luac.1
 
 # Lua version and release.
@@ -62,6 +62,7 @@ install: dummy
        cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) 
$(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
        cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
        cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+       ln -s liblua.so.$(V) $(INSTALL_LIB)/liblua.so
        cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
        cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
 
++++++ lua51-5.1.4-upstream-bugfix.diff ++++++
# patch-lua-5.1.4-2 created 2010-05-14T21:02:40-0300
# apply to a pristine copy of Lua 5.1.4 with:
#       wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
#       tar zxf lua-5.1.4.tar.gz
#       cd lua-5.1.4/src
#       wget http://www.lua.org/ftp/patch-lua-5.1.4-2
#       patch < patch-lua-5.1.4-2
# use curl -O -R if you don't have wget

--- src/lcode.c 2007/12/28 15:32:23     2.25.1.3
+++ src/lcode.c 2009/06/15 14:12:25     2.25.1.4
@@ -1,5 +1,5 @@
 /*
-** $Id: lcode.c,v 2.25.1.3 2007/12/28 15:32:23 roberto Exp $
+** $Id: lcode.c,v 2.25.1.4 2009/06/15 14:12:25 roberto Exp $
 ** Code generator for Lua
 ** See Copyright Notice in lua.h
 */
@@ -544,15 +544,18 @@
       pc = NO_JUMP;  /* always true; do nothing */
       break;
     }
-    case VFALSE: {
-      pc = luaK_jump(fs);  /* always jump */
-      break;
-    }
     case VJMP: {
       invertjump(fs, e);
       pc = e->u.s.info;
       break;
     }
+    case VFALSE: {
+      if (!hasjumps(e)) {
+        pc = luaK_jump(fs);  /* always jump */
+        break;
+      }
+      /* else go through */
+    }
     default: {
       pc = jumponcond(fs, e, 0);
       break;
@@ -572,14 +575,17 @@
       pc = NO_JUMP;  /* always false; do nothing */
       break;
     }
-    case VTRUE: {
-      pc = luaK_jump(fs);  /* always jump */
-      break;
-    }
     case VJMP: {
       pc = e->u.s.info;
       break;
     }
+    case VTRUE: {
+      if (!hasjumps(e)) {
+        pc = luaK_jump(fs);  /* always jump */
+        break;
+      }
+      /* else go through */
+    }
     default: {
       pc = jumponcond(fs, e, 1);
       break;
--- src/ldblib.c        2008/01/21 13:11:21     1.104.1.3
+++ src/ldblib.c        2009/08/04 18:50:18     1.104.1.4
@@ -1,5 +1,5 @@
 /*
-** $Id: ldblib.c,v 1.104.1.3 2008/01/21 13:11:21 roberto Exp $
+** $Id: ldblib.c,v 1.104.1.4 2009/08/04 18:50:18 roberto Exp $
 ** Interface from Lua to its debug API
 ** See Copyright Notice in lua.h
 */
@@ -45,6 +45,7 @@
 
 
 static int db_getfenv (lua_State *L) {
+  luaL_checkany(L, 1);
   lua_getfenv(L, 1);
   return 1;
 }
--- src/liolib.c        2008/01/18 17:47:43     2.73.1.3
+++ src/liolib.c        2010/05/14 15:33:51     2.73.1.4
@@ -1,5 +1,5 @@
 /*
-** $Id: liolib.c,v 2.73.1.3 2008/01/18 17:47:43 roberto Exp $
+** $Id: liolib.c,v 2.73.1.4 2010/05/14 15:33:51 roberto Exp $
 ** Standard I/O (and system) library
 ** See Copyright Notice in lua.h
 */
@@ -276,7 +276,10 @@
     lua_pushnumber(L, d);
     return 1;
   }
-  else return 0;  /* read fails */
+  else {
+    lua_pushnil(L);  /* "result" to be removed */
+    return 0;  /* read fails */
+  }
 }
 
 
--- src/llex.c  2007/12/27 13:02:25     2.20.1.1
+++ src/llex.c  2009/11/23 14:58:22     2.20.1.2
@@ -1,5 +1,5 @@
 /*
-** $Id: llex.c,v 2.20.1.1 2007/12/27 13:02:25 roberto Exp $
+** $Id: llex.c,v 2.20.1.2 2009/11/23 14:58:22 roberto Exp $
 ** Lexical Analyzer
 ** See Copyright Notice in lua.h
 */
@@ -118,8 +118,10 @@
   lua_State *L = ls->L;
   TString *ts = luaS_newlstr(L, str, l);
   TValue *o = luaH_setstr(L, ls->fs->h, ts);  /* entry for `str' */
-  if (ttisnil(o))
+  if (ttisnil(o)) {
     setbvalue(o, 1);  /* make sure `str' will not be collected */
+    luaC_checkGC(L);
+  }
   return ts;
 }
 
--- src/loadlib.c       2008/08/06 13:29:28     1.52.1.3
+++ src/loadlib.c       2009/09/09 13:17:16     1.52.1.4
@@ -1,5 +1,5 @@
 /*
-** $Id: loadlib.c,v 1.52.1.3 2008/08/06 13:29:28 roberto Exp $
+** $Id: loadlib.c,v 1.52.1.4 2009/09/09 13:17:16 roberto Exp $
 ** Dynamic library loader for Lua
 ** See Copyright Notice in lua.h
 **
@@ -639,7 +639,7 @@
   lua_pushvalue(L, -1);
   lua_replace(L, LUA_ENVIRONINDEX);
   /* create `loaders' table */
-  lua_createtable(L, 0, sizeof(loaders)/sizeof(loaders[0]) - 1);
+  lua_createtable(L, sizeof(loaders)/sizeof(loaders[0]) - 1, 0);
   /* fill it with pre-defined loaders */
   for (i=0; loaders[i] != NULL; i++) {
     lua_pushcfunction(L, loaders[i]);
--- src/lstrlib.c       2008/07/11 17:27:21     1.132.1.4
+++ src/lstrlib.c       2010/05/14 15:34:19     1.132.1.5
@@ -1,5 +1,5 @@
 /*
-** $Id: lstrlib.c,v 1.132.1.4 2008/07/11 17:27:21 roberto Exp $
+** $Id: lstrlib.c,v 1.132.1.5 2010/05/14 15:34:19 roberto Exp $
 ** Standard library for string operations and pattern-matching
 ** See Copyright Notice in lua.h
 */
@@ -754,6 +754,7 @@
 
 
 static int str_format (lua_State *L) {
+  int top = lua_gettop(L);
   int arg = 1;
   size_t sfl;
   const char *strfrmt = luaL_checklstring(L, arg, &sfl);
@@ -768,7 +769,8 @@
     else { /* format item */
       char form[MAX_FORMAT];  /* to store the format (`%...') */
       char buff[MAX_ITEM];  /* to store the formatted item */
-      arg++;
+      if (++arg > top)
+        luaL_argerror(L, arg, "no value");
       strfrmt = scanformat(L, strfrmt, form);
       switch (*strfrmt++) {
         case 'c': {
--- src/lvm.c   2007/12/28 15:32:23     2.63.1.3
+++ src/lvm.c   2009/07/01 21:10:33     2.63.1.4
@@ -1,5 +1,5 @@
 /*
-** $Id: lvm.c,v 2.63.1.3 2007/12/28 15:32:23 roberto Exp $
+** $Id: lvm.c,v 2.63.1.4 2009/07/01 21:10:33 roberto Exp $
 ** Lua virtual machine
 ** See Copyright Notice in lua.h
 */
@@ -133,6 +133,7 @@
 
 void luaV_settable (lua_State *L, const TValue *t, TValue *key, StkId val) {
   int loop;
+  TValue temp;
   for (loop = 0; loop < MAXTAGLOOP; loop++) {
     const TValue *tm;
     if (ttistable(t)) {  /* `t' is a table? */
@@ -152,7 +153,9 @@
       callTM(L, tm, t, key, val);
       return;
     }
-    t = tm;  /* else repeat with `tm' */ 
+    /* else repeat with `tm' */
+    setobj(L, &temp, tm);  /* avoid pointing inside table (may rehash) */
+    t = &temp;
   }
   luaG_runerror(L, "loop in settable");
 }

++++++ macros.lua ++++++
# RPM macros for Lua

# The major.minor version of Lua
%lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)

# compiled modules should go here
%lua_archdir %{_libdir}/lua/%{lua_version}

# pure Lua modules should go here
%lua_noarchdir %{_datadir}/lua/%{lua_version}
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to