more fixups to MailingList
[org.ibex.mail.git] / src / org / ibex / mail / target / Script.java
index b112b91..0d65268 100644 (file)
@@ -62,6 +62,7 @@ public class Script extends JS.Obj implements Target {
             Object ret = js.call(null, new JS[] { m });
             Log.debug(this, "configuration script returned " + ret);
             if (ret == null) throw new IOException("configuration script returned null");
+            while (ret instanceof JSReflection.Wrapper) ret = ((JSReflection.Wrapper)ret).unwrap();
             if (ret instanceof Target)      ((Target)ret).accept(m);
             //else if (ret instanceof Filter) ((Filter)ret).process(m);
             else throw new IOException("configuration script returned a " + ret.getClass().getName());
@@ -138,7 +139,7 @@ public class Script extends JS.Obj implements Target {
             final int nargs = args.length;
             String name = JSU.toString(name0);
             try {
-                if (name.equals("mail.list")) return MailingList.getMailingList(JS.toString(args[0])).acceptor;
+                if (name.equals("mail.list")) return JSReflection.wrap(MailingList.getMailingList(JSU.toString(args[0])));
                 if (name.equals("date")) { return new JSDate(args); }
                 if (name.equals("mail.send") || name.equals("send") || name.equals("mail.attempt") || name.equals("attempt")) {
                     boolean attempt = name.equals("mail.attempt") || name.equals("attempt");