Change the script command to the stlye of 'layout' commands.
authorRui Guo <firemeteor.guo@gmail.com>
Wed, 3 Jun 2009 04:06:05 +0000 (3 12:06 +0800)
committerRui Guo <firemeteor.guo@gmail.com>
Wed, 3 Jun 2009 04:06:05 +0000 (3 12:06 +0800)
src/comm.c
src/process.c
src/script.c
src/script.h

index 45a0b4d..0762f76 100644 (file)
@@ -283,7 +283,7 @@ struct comm comms[RC_LAST + 1] =
   { "resize",          NEED_DISPLAY|ARGS_0|ARGS_ORMORE },
   { "screen",          ARGS_0|ARGS_ORMORE },
 #ifdef SCRIPT
-  { "scriptcall",      ARGS_1|ARGS_ORMORE },
+  { "script",          ARGS_2|ARGS_ORMORE },
 #endif
 #ifdef COPY_PASTE
   { "scrollback",      NEED_FORE|ARGS_1 },
@@ -300,9 +300,6 @@ struct comm comms[RC_LAST + 1] =
   { "slowpaste",       NEED_FORE|ARGS_01 },
   { "sorendition",      ARGS_012 },
   { "source",          ARGS_1 },
-#ifdef SCRIPT
-  { "sourcescript",    ARGS_1234 },
-#endif
   { "split",           NEED_DISPLAY|ARGS_01 },
   { "startup_message", ARGS_1 },
   { "stuff",           NEED_LAYER|ARGS_012 },
index cb615f4..8a87605 100644 (file)
@@ -3912,12 +3912,8 @@ int key;
       break;
 
 #ifdef SCRIPT
-    case RC_SCRIPTCALL:
-      LuaCall(args);
-      break;
-
-    case RC_SOURCESCRIPT:
-      ScriptSource(*argl, args);
+    case RC_SCRIPT:
+      ScriptCmd(argc, args);
       break;
 #endif
 
index 98d1cbb..156ca31 100644 (file)
@@ -103,6 +103,17 @@ ScriptSource(int argc, const char **argv)
     LMsg(1, "Could not source specified script %s", script);
 }
 
+void
+ScriptCmd(int argc, const char **argv)
+{
+  const char * sub = *argv;
+  argv++;argc--;
+  if (!strcmp(sub, "call"))
+    LuaCall(argv);
+  else if (!strcmp(sub, "source"))
+    ScriptSource(argc, argv);
+}
+
 /* Event notification handling */
 
 struct gevents {
@@ -143,7 +154,7 @@ get_object_event_queue(char *name, char *obj) {
 
     if (lo >= n || strcmp(name, event_table[lo].name))
       return 0;
-    else
+    else 
       return (struct event *)(obj + event_table[lo].offset);
 }
 
index 9234509..832838d 100644 (file)
@@ -47,6 +47,7 @@ struct binding
 
 void LoadBindings(void);
 void FinializeBindings(void);
+void ScriptCmd __P((int argc, const char **argv));
 
 struct listener {