AddCmd: _query/_set-Methoden korrigieren

Nachbearbeitung zum Clossure-Patchset.
* _query_commands() prueft nicht mehr, weil das beim Debuggen
  stoeren duerfte und unkritisch ist
* _set_commands() setzt jetzt auch tatsaechlich die neuen
  Kommandos in die added_cmds

Change-Id: Ia823ecc395729354828dd43b657b701f08ce0469
diff --git a/std/thing/commands.c b/std/thing/commands.c
index a1aa079..8683f72 100644
--- a/std/thing/commands.c
+++ b/std/thing/commands.c
@@ -633,7 +633,8 @@
 
 private void _check_importentry(string ind, mixed *fun, mixed *flag,
                                 mixed *rule, int|mixed id, mixed *cachedcl) {
-  // Check der Stringmethoden
+  // Check der Stringmethoden: Fehler werden abgefangen, um generelles
+  // Kopieren zu ermoeglichen. Es koennen aber Kommandomethoden verloren gehen.
   cachedcl = map(fun, function int|closure(string clfun) {
                         closure ret;
                         catch(ret=_check_stringmethod(
@@ -648,22 +649,17 @@
 
 private void _cleanup_exportcl(string ind, mixed *fun, mixed *flag,
                                mixed *rule, int|mixed id,
-                               mixed *cachedcl, mixed *fl) {
+                               mixed *cachedcl) {
   cachedcl = allocate(sizeof(fun));
-  foreach(string func: filter(fun, #'stringp))
-    catch(_check_stringmethod(func, 1, "Warnung QueryProp(P_COMMANDS): ");
-          publish);
 }
 
 static mapping _query_commands() {
   mapping ret;
   if(mappingp(added_cmds)) {
     ret = deep_copy(added_cmds);
-    // Hier kann man nicht mehr herausfinden, ob es ein extern_call() ist:
-    // Closures im Cache werden immer geloescht.
-    walk_mapping(ret, #'_cleanup_exportcl,
-                 functionlist(this_object(), RETURN_FUNCTION_NAME|
-                                             RETURN_FUNCTION_FLAGS));
+    // Closures im Cache werden immer geloescht, da sonst versehentlich
+    // doch exportiert werden koennte
+    walk_mapping(ret, #'_cleanup_exportcl);
   }
   return ret;
 }
@@ -675,7 +671,7 @@
       raise_error("SetProp(P_COMMANDS): corrupt commands-mapping.\n");
     mapping tmp = deep_copy(commands);
     walk_mapping(tmp, #'_check_importentry);
-    commands = tmp;
+    added_commands = tmp;
   }
   return _query_commands();
 }