Author: fperrad
Date: Fri Aug 15 07:04:45 2008
New Revision: 30251

Added:
   trunk/languages/lua/src/lib/_helpers.pir
      - copied unchanged from r30250, 
/branches/opengl4lua/languages/lua/src/lib/_helpers.pir
   trunk/languages/lua/src/lib/gl.lua
      - copied unchanged from r30250, 
/branches/opengl4lua/languages/lua/src/lib/gl.lua
   trunk/languages/lua/src/lib/gl_binding.pir
      - copied unchanged from r30250, 
/branches/opengl4lua/languages/lua/src/lib/gl_binding.pir
Removed:
   trunk/languages/lua/src/lib/gl.pir
Modified:
   trunk/MANIFEST
   trunk/MANIFEST.SKIP
   trunk/languages/lua/config/makefiles/root.in
   trunk/languages/lua/demo/triangle.lua
   trunk/languages/lua/src/lib/   (props changed)
   trunk/languages/lua/src/lib/luaaux.pir
   trunk/languages/lua/src/lib/luapackage.pir
   trunk/languages/lua/src/pmc/luatable.pmc
   trunk/languages/lua/t/gl.t

Log:
[Lua] merge branch opengl4lua 

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST      (original)
+++ trunk/MANIFEST      Fri Aug 15 07:04:45 2008
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Mon Aug 11 22:57:10 2008 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Fri Aug 15 13:35:39 2008 UT
 #
 # See tools/dev/install_files.pl for documentation on the
 # format of this file.
@@ -1624,11 +1624,13 @@
 languages/lua/src/build/translator.pl                       [lua]
 languages/lua/src/dumplex.tg                                [lua]
 languages/lua/src/grammar51.pir                             [lua]
+languages/lua/src/lib/_helpers.pir                          [lua]
 languages/lua/src/lib/alarm.pir                             [lua]
 languages/lua/src/lib/base64.pir                            [lua]
 languages/lua/src/lib/bc.pir                                [lua]
 languages/lua/src/lib/bitlib.pir                            [lua]
-languages/lua/src/lib/gl.pir                                [lua]
+languages/lua/src/lib/gl.lua                                [lua]
+languages/lua/src/lib/gl_binding.pir                        [lua]
 languages/lua/src/lib/glut.pir                              [lua]
 languages/lua/src/lib/lfs.pir                               [lua]
 languages/lua/src/lib/luaaux.pir                            [lua]
@@ -2008,6 +2010,7 @@
 languages/perl6/t/pmc/mutable.t                             [perl6]
 languages/perl6/t/pmc/mutablevar.t                          [perl6]
 languages/perl6/t/pmc/perl6multisub-basic.t                 [perl6]
+languages/perl6/t/pmc/perl6multisub-dispatch-arity.t        [perl6]
 languages/perl6/t/spectest_regression.data                  [perl6]
 languages/perl6/tools/autounfudge.pl                        [perl6]
 languages/perl6/tools/fudge_purity_inspector.pl             [perl6]

Modified: trunk/MANIFEST.SKIP
==============================================================================
--- trunk/MANIFEST.SKIP (original)
+++ trunk/MANIFEST.SKIP Fri Aug 15 07:04:45 2008
@@ -1,6 +1,6 @@
 # ex: set ro:
 # $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Sat Aug  9 17:29:40 2008 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Fri Aug 15 13:35:39 2008 UT
 #
 # This file should contain a transcript of the svn:ignore properties
 # of the directories in the Parrot subversion repository. (Needed for
@@ -868,6 +868,8 @@
 # generated from svn:ignore of 'languages/lua/src/lib/'
 ^languages/lua/src/lib/.*\.pbc$
 ^languages/lua/src/lib/.*\.pbc/
+^languages/lua/src/lib/gl\.pir$
+^languages/lua/src/lib/gl\.pir/
 ^languages/lua/src/lib/luabytecode_gen\.pir$
 ^languages/lua/src/lib/luabytecode_gen\.pir/
 ^languages/lua/src/lib/sha1\.pir$

Modified: trunk/languages/lua/config/makefiles/root.in
==============================================================================
--- trunk/languages/lua/config/makefiles/root.in        (original)
+++ trunk/languages/lua/config/makefiles/root.in        Fri Aug 15 07:04:45 2008
@@ -89,7 +89,9 @@
  src/lua51_gen.pir \
  src/PASTGrammar_gen.pir \
  src/POSTGrammar_gen.pir \
- $(LIBPATH)/luabytecode_gen.pir
+ $(LIBPATH)/luabytecode_gen.pir \
+ $(LIBPATH)/gl.pir \
+ $(LIBPATH)/sha1.pir
 
 GEN_PBC = \
  lua.pbc
@@ -98,11 +100,13 @@
  $(PMCDIR)/lua_group$(LOAD_EXT) \
  $(LIB_PBCS) \
  $(LIBPATH)/luaperl.pbc \
+ $(LIBPATH)/_helpers.pbc \
  $(LIBPATH)/alarm.pbc \
  $(LIBPATH)/base64.pbc \
  $(LIBPATH)/bc.pbc \
  $(LIBPATH)/bitlib.pbc \
  $(LIBPATH)/gl.pbc \
+ $(LIBPATH)/gl_binding.pbc \
  $(LIBPATH)/glut.pbc \
  $(LIBPATH)/lfs.pbc \
  $(LIBPATH)/md5.pbc \
@@ -186,6 +190,9 @@
 $(LIBPATH)/luabytecode.pbc: $(LIBPATH)/luabytecode.pir 
$(LIBPATH)/luabytecode_gen.pir
        -$(PARROT) --output=$(LIBPATH)/luabytecode.pbc 
$(LIBPATH)/luabytecode.pir
 
+$(LIBPATH)/_helpers.pbc: $(LIBPATH)/_helpers.pir
+       $(PARROT) --output=$(LIBPATH)/_helpers.pbc $(LIBPATH)/_helpers.pir
+
 $(LIBPATH)/alarm.pbc: $(LIBPATH)/alarm.pir
        -$(PARROT) --output=$(LIBPATH)/alarm.pbc $(LIBPATH)/alarm.pir
 
@@ -198,9 +205,15 @@
 $(LIBPATH)/bitlib.pbc: $(LIBPATH)/bitlib.pir
        -$(PARROT) --output=$(LIBPATH)/bitlib.pbc $(LIBPATH)/bitlib.pir
 
+$(LIBPATH)/gl.pir: $(LIBPATH)/gl.lua lua.pbc
+       -$(PARROT) luap.pir --target=pir $(LIBPATH)/gl.lua > $(LIBPATH)/gl.pir
+
 $(LIBPATH)/gl.pbc: $(LIBPATH)/gl.pir
        -$(PARROT) --output=$(LIBPATH)/gl.pbc $(LIBPATH)/gl.pir
 
+$(LIBPATH)/gl_binding.pbc: $(LIBPATH)/gl_binding.pir
+       -$(PARROT) --output=$(LIBPATH)/gl_binding.pbc $(LIBPATH)/gl_binding.pir
+
 $(LIBPATH)/glut.pbc: $(LIBPATH)/glut.pir
        -$(PARROT) --output=$(LIBPATH)/glut.pbc $(LIBPATH)/glut.pir
 

Modified: trunk/languages/lua/demo/triangle.lua
==============================================================================
--- trunk/languages/lua/demo/triangle.lua       (original)
+++ trunk/languages/lua/demo/triangle.lua       Fri Aug 15 07:04:45 2008
@@ -3,7 +3,7 @@
 
   triangle.lua - Initialize GLUT and render a simple OpenGL animation
 
-  $ ./parrot languages/lua/lua.pbc languages/lua/demo/triangle.lua
+  $ ./parrot --no-gc languages/lua/lua.pbc languages/lua/demo/triangle.lua
 
 ]]
 
@@ -29,13 +29,13 @@
     prev_time = now
     if rotating and dt ~= 0 then
         gl.Rotate(360*dt, 0, 1, 0)
-       glut.PostRedisplay()
+        glut.PostRedisplay()
     end
 end
 
 function Keyboard (key)
     if key == 27 or key == 81 or key == 113 then
-       glut.DestroyWindow(glut_window)
+        glut.DestroyWindow(glut_window)
     end
     rotating = not rotating
 end
@@ -50,4 +50,3 @@
 glut.KeyboardFunc('Keyboard')
 
 glut.MainLoop()
-

Modified: trunk/languages/lua/src/lib/luaaux.pir
==============================================================================
--- trunk/languages/lua/src/lib/luaaux.pir      (original)
+++ trunk/languages/lua/src/lib/luaaux.pir      Fri Aug 15 07:04:45 2008
@@ -418,7 +418,9 @@
     if null val goto L1
     res = isa val, 'LuaBoolean'
   L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 
@@ -437,7 +439,9 @@
     if res goto L1
     res = isa val, 'LuaFunction'
 L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 
@@ -454,7 +458,9 @@
     if null val goto L1
     res = isa val, 'LuaNil'
   L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 
@@ -475,7 +481,9 @@
     $P0 = val.'tonumber'()
     res = isa $P0, 'LuaNumber'
 L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 
@@ -495,7 +503,9 @@
     if res goto L1
     res = isa val, 'LuaNumber'
 L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 
@@ -512,7 +522,9 @@
     if null val goto L1
     res = isa val, 'LuaTable'
   L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 
@@ -529,7 +541,9 @@
     if null val goto L1
     res = isa val, 'LuaUserdata'
   L1:
-    .return (res)
+    new $P0, 'LuaBoolean'
+    set $P0, res
+    .return ($P0)
 .end
 
 

Modified: trunk/languages/lua/src/lib/luapackage.pir
==============================================================================
--- trunk/languages/lua/src/lib/luapackage.pir  (original)
+++ trunk/languages/lua/src/lib/luapackage.pir  Fri Aug 15 07:04:45 2008
@@ -65,7 +65,7 @@
     inc $P2
     _loaders[$P2] = loader_PBCroot
 
-    setpath(_package, 'path', 'LUA_PATH', './?.lua')
+    setpath(_package, 'path', 'LUA_PATH', 
'./?.lua;languages/lua/src/lib/?.lua')
     setpath(_package, 'pbcpath', 'LUA_PBCPATH', 
'./?.pbc;./?.pir;languages/lua/src/lib/?.pbc')
 
     .local pmc _lua__REGISTRY

Modified: trunk/languages/lua/src/pmc/luatable.pmc
==============================================================================
--- trunk/languages/lua/src/pmc/luatable.pmc    (original)
+++ trunk/languages/lua/src/pmc/luatable.pmc    Fri Aug 15 07:04:45 2008
@@ -563,6 +563,22 @@
 
 /*
 
+=item C<void set_pmc_keyed_str(STRING *key, PMC *value)>
+
+Need by NameSpace.export_to().
+
+=cut
+
+*/
+    VTABLE void set_pmc_keyed_str(STRING *key, PMC *value) {
+        PMC * pmc_key = pmc_new(INTERP, dynpmc_LuaString);
+        VTABLE_set_string_native(INTERP, pmc_key, string_copy(INTERP, key));
+        value = VTABLE_clone(interp, value);
+        *lua_set(INTERP, PMC_hash(SELF), pmc_key) = value;
+    }
+
+/*
+
 =item C<INTVAL elements()>
 
 Returns the number of elements in the table.

Modified: trunk/languages/lua/t/gl.t
==============================================================================
--- trunk/languages/lua/t/gl.t  (original)
+++ trunk/languages/lua/t/gl.t  Fri Aug 15 07:04:45 2008
@@ -36,7 +36,7 @@
     plan skip_all => "OpenGL needed";
 }
 else {
-    plan tests => 1;
+    plan tests => 4;
 }
 
 language_output_is( 'lua', << 'CODE', << 'OUTPUT', 'require' );
@@ -47,6 +47,30 @@
 OpenGL
 OUTPUT
 
+language_output_like( 'lua', << 'CODE', << 'OUTPUT', 'bad type' );
+require 'gl'
+gl.Begin(nil)
+CODE
+/^[^:]+: [^:]+:\d+: incorrect argument to function 'gl.Begin'\nstack 
traceback:\n/
+OUTPUT
+
+language_output_like( 'lua', << 'CODE', << 'OUTPUT', 'bad value' );
+require 'gl'
+gl.Begin('BAD_VALUE')
+CODE
+/^[^:]+: [^:]+:\d+: incorrect string argument to function 'gl.Begin'\nstack 
traceback:\n/
+OUTPUT
+
+language_output_is( 'lua', << 'CODE', << 'OUTPUT', 'Begin/End' );
+require 'gl'
+gl.Begin('TRIANGLES')
+gl.End()
+print "OpenGL"
+CODE
+OpenGL
+OUTPUT
+
+
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4

Reply via email to