From: Dave Peticolas <[email protected]>

---
 client/libsinan/args.py          |   11 ++++++++++-
 client/libsinan/shell_handler.py |    2 ++
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/client/libsinan/args.py b/client/libsinan/args.py
index b5ad8b5..8bcc2ee 100644
--- a/client/libsinan/args.py
+++ b/client/libsinan/args.py
@@ -11,6 +11,11 @@ def parse_key_value(key, value, args):
     parse_key_value(rest, value, args)
 
 
+def erl_args_callback(option, opt_str, value, parser):
+    parser.values.erl_args = list(parser.rargs)
+    del parser.rargs[:]
+
+
 def parse(argv, default_task, client_opts = {}, server_opts = {}):
     """Parse the argv vector and return an arg dict representing the arguments.
 
@@ -40,6 +45,10 @@ information about server arguments read the sinan 
documentation.
 
     parser = optparse.OptionParser(usage)
 
+    help = "all arguments after this option will be passed to erl"
+    parser.add_option("-e", "--erl-args", help=help, action="callback",
+                      callback=erl_args_callback, default=[])
+
     help = "the directory containing the directory containing the 'erl' binary"
     parser.add_option("-p", "--prefix", help=help)
 
@@ -47,7 +56,7 @@ information about server arguments read the sinan 
documentation.
 
     options, posargs = parser.parse_args(argv)
 
-    for opt in ('prefix', 'url'):
+    for opt in ('prefix', 'url', 'erl_args'):
         if getattr(options, opt, None):
             args['client_opts'][opt] = getattr(options, opt)
 
diff --git a/client/libsinan/shell_handler.py b/client/libsinan/shell_handler.py
index 34eaa38..cca9916 100644
--- a/client/libsinan/shell_handler.py
+++ b/client/libsinan/shell_handler.py
@@ -42,6 +42,8 @@ class ShellHandler(handler.Handler):
             if not prefix[-1] == '/':
                 prefix += '/'
 
+        args.extend(largs['client_opts'].get('erl_args', []))
+
         print "starting shell ..."
         os.execvp(prefix + "bin/erl", args)
 
-- 
1.5.6.5


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"erlware-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/erlware-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to