Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [114701] trunk/extensions/Scripting

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


tstarling at svn

Apr 3, 2012, 10:10 PM

Post #1 of 1 (50 views)
Permalink
SVN: [114701] trunk/extensions/Scripting

https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114701

Revision: 114701
Author: tstarling
Date: 2012-04-04 05:10:47 +0000 (Wed, 04 Apr 2012)
Log Message:
-----------
* Added missing message scripting-exception-common-toofewargs
* In importModule(), don't catch exceptions since that luasandbox bug is fixed now
* Use the chunkName parameter to loadString to get more informative error messages

Modified Paths:
--------------
trunk/extensions/Scripting/engines/LuaSandbox/Engine.php
trunk/extensions/Scripting/i18n/Messages.php

Modified: trunk/extensions/Scripting/engines/LuaSandbox/Engine.php
===================================================================
--- trunk/extensions/Scripting/engines/LuaSandbox/Engine.php 2012-04-04 04:00:20 UTC (rev 114700)
+++ trunk/extensions/Scripting/engines/LuaSandbox/Engine.php 2012-04-04 05:10:47 UTC (rev 114701)
@@ -62,20 +62,15 @@
}

function importModule() {
- // FIXME: luasandbox segfaults on exceptions
- try {
- $args = func_get_args();
- if( count( $args ) < 1 ) {
- // FIXME: LuaSandbox PHP extension should provide proper context
- throw new ScriptingException( 'toofewargs', 'common', null, null, array( 'mw.import' ) );
- }
-
- $module = $this->getModule( $args[0] );
- $module->initialize();
- return $module->mContents;
- } catch( ScriptingException $e ) {
- return null;
+ $args = func_get_args();
+ if( count( $args ) < 1 ) {
+ // FIXME: LuaSandbox PHP extension should provide proper context
+ throw new ScriptingException( 'toofewargs', 'common', null, null, array( 'mw.import' ) );
}
+
+ $module = $this->getModule( $args[0] );
+ $module->initialize();
+ return $module->mContents;
}
}

@@ -91,7 +86,10 @@
// FIXME: caching?

try {
- $this->mBody = $this->mEngine->mSandbox->loadString( $this->mCode );
+ $this->mBody = $this->mEngine->mSandbox->loadString(
+ $this->mCode,
+ // Prepending an "@" to the chunk name makes Lua think it is a file name
+ '@' . $this->getTitle()->getPrefixedDBkey() );
$output = $this->mBody->call();
} catch( LuaSandboxError $e ) {
throw new ScriptingException( 'error', 'luasandbox', null, null, array( $e->getMessage() ) );

Modified: trunk/extensions/Scripting/i18n/Messages.php
===================================================================
--- trunk/extensions/Scripting/i18n/Messages.php 2012-04-04 04:00:20 UTC (rev 114700)
+++ trunk/extensions/Scripting/i18n/Messages.php 2012-04-04 05:10:47 UTC (rev 114701)
@@ -15,4 +15,5 @@
'scripting-desc' => 'Framework for embedding scripting languages into MediaWiki pages',

'scripting-exception-luasandbox-error' => 'Lua error: $1',
+ 'scripting-exception-common-toofewargs' => 'Lua error: Too few arguments to function $1',
);


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS [at] lists
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.